مدیریت بسته های نصب شده در Arch

همه میدونیم که pacman مدیر بسته های توزیع های مبتنی بر Arch مثل Manjaro و Parchlinux هست. محیط های گرافیکی مختلفی برای اون ساخته شده، ولی اگه یه موقعی توی ترمینال بودید و میخواستید سریع بسته های نصب شده‌تون رو ببینید، دستور زیر محیط جالبی رو فراهم میکنه که در اون لیستی از بسته های نصب شده با قابلیت جست و جوی سریع وجود داره.

$ pacman -Qq | fzf --preview 'pacman -Qil {}' --layout=reverse --bind 'enter:execute(pacman -Qil {} | less)'

خالی کردن هدفمند کش پکیج ها در pacman

در سیستم های مبتنی بر آرچ، مثل مانجارو، pacman مدیر بسته ها است. همون طور که میدونید در هر توزیع لینوکسی وقتی که آپدیت میکنیم بسته ها از اینترنت دانلود میشن و در یک فولدری که معمولا در دایرکتوری var/cache/ قرار داره نگهداری میشن. این کش خیلی خوبه، چون وقتی شما نیاز داشته باشید بسته ای رو که در ورژن جدید دچار اختلال شده downgrade کنید به ورژن قبلی راحت میتونید این کار رو بکنید.

اما به مرور زمان این بسته ها تعدادشون زیاد و زیادتر میشه و چندین گیگابایت فضای شما رو اشغال میکنن. من پیشنهاد میکنم دو نسخه از بسته هایی که الان نصب هستند در کش نگهداری بشن و قدیم تری ها از روی دیسک حذف بشن. یعنی مثلا اگر بسته های مربوط به ورژنهای ۵۵، ۵۴، ۵۳، ۵۲، ۵۱ فایرفاکس در کش وجود داشته باشن ورژن های ۵۵ و ۵۴ بمونن و بقیه پاک بشن.

ادامه مطلب

خطای target not found در pamac

بی هیچ دلیل واضحی امروز پکیج منیجر مانجارو یعنی pamac که رابط گرافیکی pacman هست، خطای زیر رو میداد:

Failed to prepare transaction: target not found

چندین بار با دستورات pacman مخازن رو بروز رسانی کردم. کشورهای مختلف رو امتحان کردم. ولی همچنان در نصب بسته ها این خطا رو میگرفتم. تا اینکه با جست و جوی بسیار، به دستور زیر رسیدم که باعث میشد یک رفرش اساسی! در pamac اتفاق بیفته و ماجرا ختم به خیر شد:

pamac update --force-refresh

آخرش هم نفهمیدیم چرا اینجوری شده بود!

چند تا نکته در مورد آپدیت بوسیله pacman در مانجارو

همونطور که میدونید مدیر بسته ها در مانجارو pacman هست. چند تا نکته در مورد آپدیت سیستم بوسیله pacman از ویکی مانجارو اینجا خلاصه میکنم که دم دست باشه.

۱- اول از همه باید مناسب ترین سرورهای مخازن رو پیدا کنیم. برای این کار با این دستور اول لیستی از همه ی مخازن تهیه میشه  و سپس شما میتونید دونه دونه زمان پاسخگویی اون سرور رو ببینید و انتخابش کنید تا وارد لیست مخازن سیستم شما بشه

sudo pacman-mirrors -i -c all

۲- و بعد از اینکه چند تا از سریعترین ها رو انتخاب کردین با این دستور اون ها رو به ترتیب سرعت لیست میکنه

sudo pacman-mirrors -g

۳- حالا لیست بسته ها رو از روی این مخازن جدید بروز رسانی میکنیم

sudo pacman -Syy

۴- بعد با این دستور دیتابیس بسته ها رو بهینه میکنیم

sudo pacman-optimize && sync

میشه از این دستور هم برای پیدا کردن میرورهای خوب و آپدیت دیتابیس ها در یک مرحله استفاده کرد:

sudo pacman-mirrors --fasttrack 10 && sudo pacman -Syy

۵- بعد با این دستور اقدام به بروز رسانی بسته ها میکنیم

sudo pacman -Su

البته وقتی در قدم اول لیستی از همه ی مخازن موجود تهیه میکنیم، این لیست میشه لیست پیشفرض ما. و هر وقت که ISP ما عوض شه یا به جای دیگه ای مسافرت کنیم، باید لیست رو از اول تهیه کنیم تا بازده بیشتری بتونیم داشته باشیم.

اما بعد از اینکه آپدیت سیستم تموم شد، کلی بسته دانلود میشه. بنابراین کلی حجم از فضای هارددیسک ما اشغال میشه. برای اینکه بتونیم بطور محافظه کارانه فقط آخرین دو نسخه ی دانلود شده از بسته ها رو در cache نگه داریم و مابقی رو پاک کنیم از این دستور میتونیم کمک بگیریم

sudo  paccache -rvk2

برای این میگم دو تا از آخرین بسته ها رو نگه داریم که ممکنه با آپگرید سیستم دچار مشکل بشیم و مجبور بشیم اون بسته ای رو که سالم بوده از حافظه cache دوباره نصب کنیم.




حاصل سر و کله زدن های من با لینوکس