Pacman مدیر بسته پیشفرض در توزیعهای مبتنی بر Arch است. در اینجا نحوه استفاده از آن برای مدیریت بسته های سیستم خود مانند یک حرفه ای آورده شده است.
Package Managers ستون فقرات یک سیستم لینوکس هستند. تنها به خاطر آنهاست که می توانید جدیدترین نرم افزار را روی دسکتاپ خود نصب کرده و از آن لذت ببرید. Pacman که ترکیبی از کلمات “package” و “manager” است، مدیر بسته پیشفرض در سیستمهای مبتنی بر Arch است.
اگرچه یادگیری Pacman در مقایسه با همتایان خود نسبتاً آسان است، اما کاربرانی که از خانوادههای توزیعکننده دیگر میآیند سازگاری با استدلالهای کوتاه و تک شخصیتی Pacman را خستهکننده میدانند. بنابراین بیایید نگاهی به Pacman، گزینه های مختلف آن، و نحوه استفاده از آن برای مدیریت بسته ها در آرچ لینوکس مانند یک حرفه ای بیندازیم.
راهنمای دستورات Pacman
مانند سایر دستورات لینوکس، Pacman از یک دستور دستوری اولیه با چند پرچم و آرگومان از پیش تعریف شده پیروی می کند:
sudo pacman -options pkgname
… که در آن گزینه ها پرچم هایی هستند که برای فراخوانی توابع مختلف استفاده می کنید و pkgname نام بسته(هایی) است که می خواهید روی آن کار کنید.
با استفاده از Pacman بسته ها را ارتقا دهید
هنگامی که لینوکس را نصب می کنید، اولین کاری که باید انجام دهید این است که بسته های نصب شده را به روز کنید. دستور Pacman زیر بستههای نصبشده را با مخازن همگامسازی میکند و در صورت موجود بودن بهروزرسانی، آنها را ارتقا میدهد:
sudo pacman -Syu
برای ارتقاء فقط یک بسته خاص، نام بسته را به عنوان آرگومان با پرچم -S مشخص کنید:
sudo pacman -S pkgname
برعکس، شما همچنین می توانید از ارتقاء یک بسته در آرچ لینوکس جلوگیری کنید. البته برای این کار باید فایل pacman.conf واقع در پوشه /etc را ویرایش کنید.
نصب پکیج جدید
برای افزودن برنامه های جدید به سیستم خود، باید بسته هایی را از مخازن رسمی Arch نصب کنید. پرچم -S با ارائه راهی آسان برای دانلود و نصب بسته ها به شما کمک می کند. سینتکس اصلی دستور به صورت زیر است:
sudo pacman -S pkgname
به عنوان مثال، برای نصب بسته root:
sudo pacman -S root
خروجی:
برای نصب چندین بسته با یک دستور، فهرستی از بستهها با فاصله از هم مشخص کنید:
sudo pacman -S pkgname1 pkgname2 pkgname3
آرچ لینوکس نیز مانند اوبونتو دارای چندین مخزن است که می توانید بسته های خود را از آنجا دریافت کنید. اگر بسته ای با همان نام در چندین مخزن موجود است، با مشخص کردن نام مخزن، کدامیک را که می خواهید انتخاب کنید.
sudo pacman -S repo/pkgname
برای نصب یک بسته از مخزن “community”:
sudo pacman -S community/pkgname
برای کسانی که میخواهند یک نسخه پشتیبان از بستههای خاصی برای استفاده بعدی نگه دارند، میتوانند بستهای را بدون نصب آن با استفاده از پرچم -Sw دانلود کنند:
sudo pacman -Sw pkgname
همچنین می توانید یک بسته را مستقیماً با استفاده از URL منبع بسته دانلود و نصب کنید. برای انجام این کار، از پرچم -U استفاده کنید و پیوند بایگانی را مشخص کنید:
sudo pacman -U https://example.com/pkgname.pkg.tar.zst
نصب یک بسته محلی با استفاده از آرشیو
در مواقعی که بستهای را در مخازن Arch پیدا نمیکنید، میتوانید tarball/archive آن را از اینترنت دانلود کرده و با استفاده از Pacman آن را به صورت دستی نصب کنید. پرچم -U به شما امکان میدهد با استفاده از آرشیو دانلود شده، بستهای را به صورت محلی نصب کنید:
sudo pacman -U /path/to/archive/pkgname.pkg.tar.zst
معمولاً Pacman بستههای نصب شده را با استفاده از دستور pacman -S pkgname پیگیری میکند و مرتباً بررسی میکند که آیا بهروزرسانی برای آنها در دسترس است یا خیر. اما اگر بستهای را با استفاده از تربال دانلود شده نصب میکنید، باید بهروزرسانیهای بسته را به صورت دستی بررسی کنید.
بنابراین توصیه می شود بسته ها را از مخازن رسمی دانلود کنید. تنها در صورتی که بسته در مخازن رسمی در دسترس نباشد، باید بسته را به صورت محلی با استفاده از آرشیو آن دانلود و نصب کنید.
اگر میخواهید بستهای را با نصب آن از کش بسته، دانگرید کنید، از فرمت دستور زیر استفاده کنید:
sudo pacman -U file://path/to/archive/pkgname.pkg.tar.zst
جستجوی بسته ای برای نصب
Pacman به شما اجازه می دهد تا بسته ها را در پایگاه داده محلی، پایگاه داده همگام سازی و پایگاه داده فایل با استفاده از پرچم های -Q، -S و -F جستجو کنید.
هنگامی که نام دقیق یک بسته را نمی دانید، می توانید آن را در پایگاه داده همگام سازی با استفاده از پرچم -Ss جستجو کنید.
sudo pacman -Ss query
مثلا:
برای جستجوی بسته ای که قبلاً روی سیستم شما نصب شده است، از پرچم -Qs استفاده کنید:
sudo pacman -Qs query
اگر میخواهید قبل از نصب یک بسته اطلاعات بیشتری کسب کنید، از پرچم -Si با دستور زیر استفاده کنید:
sudo pacman -Si pkgname
برای فهرست کردن بستههای یتیم، یعنی وابستگیهای نصبشده که توسط هیچ بستهای در سیستم مورد نیاز نیست:
sudo pacman -Qdt
میتوانید دستور بالا را با دستور pacman -Rns ترکیب کنید تا مقداری از فضای سیستم خود را به شرح زیر آزاد کنید:
sudo pacman -Rns $(pacman -Qdt)
حذف نصب یک بسته
هنگامی که می خواهید بسته ای را که با استفاده از Pacman نصب شده است حذف کنید، از گزینه -R استفاده کنید.
sudo pacman -R pkgname
خروجی:
دستور بالا فقط بسته مشخص شده را حذف می کند و وابستگی های آن را دست نخورده نگه می دارد. برای حذف وابستگی ها به همراه بسته، پرچم -s را به دستور اضافه کنید:
sudo pacman -Rs pkgname
اگر بسته ای که می خواهید حذف کنید به عنوان یک بسته دیگر عمل می کند، می توانید هر دو بسته را با استفاده از پرچم اضافی -c حذف کنید:
sudo pacman -Rsc pkgname
معمولاً Pacman فایل های پیکربندی مرتبط با یک بسته را نگه می دارد و هنگامی که بسته را حذف می کنید یک نسخه پشتیبان از آن فایل ها ایجاد می کند. برای لغو این رفتار پیشفرض و حذف بستهها بدون پشتیبانگیری از فایلهای پیکربندی، از پرچم -n با دستور remove استفاده کنید:
sudo pacman -Rns pkgname
با پاک کردن کش بسته، مقداری فضا آزاد کنید
وقتی بسته ای را با استفاده از Pacman نصب می کنید، فایل های دانلود شده را حذف نمی کند. در عوض، آنها را در کش بسته ذخیره می کند تا زمانی که توسط کاربر حذف شوند. این می تواند منجر به مشکلات ذخیره سازی کم شود زیرا این فایل های کش می توانند انباشته شده و بخش بزرگی از فضای ذخیره سازی سیستم شما را اشغال کنند.
برای رفع این مشکل، تمیز کردن منظم کش بسته مهم است.
paccache -r
میتوانید انتخاب کنید که فقط فایلهای کش بستههای نصبشده را حفظ کنید و بقیه را با استفاده از دستور زیر حذف کنید:
pacman -Sc
Pacman در مقابل APT در مقابل DNF: مقایسه
در مقایسه با سایر مدیران بستهها مانند APT یا DNF، Pacman میتواند برای کاربران جدید با توجه به پرچمهای پیچیده و غیرمعمولی که در دستورات استفاده میشود، پیچیده باشد. اما زیبایی Pacman نیز در همین است. می توانید بدون تایپ چند خط فرمان در ترمینال کارها را به سرعت انجام دهید.
بیایید دستورات به روز رسانی و ارتقاء بسته ها را با استفاده از APT و Pacman مقایسه کنیم. اگر یک توزیع مبتنی بر دبیان را اجرا می کنید، برای رسیدن به این هدف باید دو دستور را اجرا کنید:
sudo apt update
sudo apt upgrade
همچنین میتوانید دو دستور بالا را با استفاده از عملگر && به هم متصل کنید، اما در مقایسه با همتای Pacman خود، کمکم است:
sudo pacman -Syu
به طور کلی، دستورات APT و DNF خود توضیحی هستند و برای تازه واردان لینوکس به راحتی قابل درک هستند، در حالی که دستورات Pacman مختصر هستند و با چند ضربه کلید بیشتر انجام می شوند.
بالا رفتن! کاوش در مخزن کاربر Arch
همانطور که می دانید، Pacman فقط می تواند بسته ها را از مخازن رسمی Arch دریافت کند. اما سهم بزرگی از بستهها در مخزن کاربران Arch (AUR) قرار دارد. برای نصب بسته ها از AUR، به یک کمک کننده AUR مانند yay نیاز دارید.
AUR یک مخزن است که توسط کاربران برای کاربران ایجاد و نگهداری می شود. هر کسی میتواند بستههای خود را در قالب PKGBUILD به AUR اضافه کند، مشروط بر اینکه در وهله اول اطلاعات کافی از AUR داشته باشد.