در سیستم های مبتنی بر آرچ، مثل مانجارو، pacman مدیر بسته ها است. همون طور که میدونید در هر توزیع لینوکسی وقتی که آپدیت میکنیم بسته ها از اینترنت دانلود میشن و در یک فولدری که معمولا در دایرکتوری var/cache/ قرار داره نگهداری میشن. این کش خیلی خوبه، چون وقتی شما نیاز داشته باشید بسته ای رو که در ورژن جدید دچار اختلال شده downgrade کنید به ورژن قبلی راحت میتونید این کار رو بکنید.
اما به مرور زمان این بسته ها تعدادشون زیاد و زیادتر میشه و چندین گیگابایت فضای شما رو اشغال میکنن. من پیشنهاد میکنم دو نسخه از بسته هایی که الان نصب هستند در کش نگهداری بشن و قدیم تری ها از روی دیسک حذف بشن. یعنی مثلا اگر بسته های مربوط به ورژنهای ۵۵، ۵۴، ۵۳، ۵۲، ۵۱ فایرفاکس در کش وجود داشته باشن ورژن های ۵۵ و ۵۴ بمونن و بقیه پاک بشن.
برای این کار دستور زیر رو اجرا میکنیم:
sudo paccache -rk 2
در پاسخ میبینید که سیستم بهتون میگه چند بسته حذف شد و چند مگابایت فضا آزاد شد.
در قدم بعد میتونیم بسته هایی که الان در حال حاضر نصب نیستن رو هم از کش پاک کنیم. مثلا شما یه چیزی نصب کردید که بعدا پاکش کردید. حالا دیگه لزومی نداره بسته مربوطه توی کش مونده باشه!
sudo paccache -ruk 0
من ۸ گیگابایت کش داشتم که الان ۱.۳ شده.
حالا میتونیم این کار رو به خود پکمن بسپاریم و بهش بگیم که هر وقت آپدیت کردی یا چیزی نصب کردی یا پاک کردی، واسه من این تمیز کاری رو انجام بده. برای این کار فایل زیر رو با این محتویات میسازیم
1- sudo mkdir /etc/pacman.d/hooks
2- sudo nano /etc/pacman.d/hooks/clean_package_cache.hook
با این محتویات:
[Trigger]
Operation = Upgrade
Operation = Install
Operation = Remove
Type = Package
Target = *
[Action]
Description = Cleaning pacman cache...
When = PostTransaction
Exec = /usr/bin/paccache -rk 2
حاصل سر و کله زدن های من با لینوکس