</>

لینوکس‌پارسی

مرجع فارسی آموزش لینوکس

Gentoo • Arch • Debian • Ubuntu • Kali • Parrot
پرش به محتوای اصلی

Command Palette

Search for a command to run...

مدیریت بسته با pacman

آشنایی کامل با pacman، مدیر بستهٔ رسمی Arch Linux: نصب، حذف، به‌روزرسانی، جستجو و نگهداری بسته‌ها.

مقدماتی۹ دقیقه مطالعهآخرین بروزرسانی: ۹ تیر ۱۴۰۵ویرایش در گیت‌هاب

pacman مدیر بستهٔ رسمی Arch Linux است؛ ابزاری سریع، سبک و قدرتمند که بسته‌های باینری را از مخازن رسمی نصب می‌کند. در این آموزش، تمام قابلیت‌های pacman را از پایه تا پیشرفته مرور می‌کنیم.

pacman چیست؟#

pacman مخفف package manager است و توسط Judd Vinet (همان بنیان‌گذار Arch) نوشته شده است. این ابزار ویژگی‌های زیر را ارائه می‌دهد:

  • نصب، حذف و به‌روزرسانی بسته‌ها
  • مدیریت وابستگی‌ها به‌صورت خودکار
  • جستجوی بسته‌ها در مخازن
  • نگهداری پایگاه دادهٔ بسته‌های نصب‌شده
  • پشتیبانی از امضای دیجیتال

مخازن رسمی Arch#

pacman از چندین مخزن رسمی استفاده می‌کند:

مخزنتوضیحمخاطب
coreبسته‌های ضروری برای سیستم پایههمه
extraبسته‌های کاربردی بدون نیاز به AURهمه
multilibبسته‌های ۳۲ بیتی برای سیستم‌های ۶۴ بیتیگیمرها، Wine
testingبسته‌های در حال آزمایشآزمایش‌گران
core-testing, extra-testingبسته‌های در حال آزمایش برای core/extraآزمایش‌گران

پیکربندی مخازن در فایل /etc/pacman.conf قرار دارد.

ساختار دستور pacman#

pacman با گزینه‌های اصلی (capital) و فرعی (lowercase) کار می‌کند:

pacman <operation> [options] [targets]
 
عملیات اصلی:
  -S, --sync        همگام‌سازی/نصب از مخزن
  -R, --remove      حذف بسته
  -Q, --query       جستجو در بسته‌های نصب‌شده
  -U, --upgrade     نصب بستهٔ محلی
  -D, --database    مدیریت پایگاه داده
  -F, --files       جستجو در فایل‌های بسته

نصب بسته‌ها#

نصب ساده#

# نصب یک بسته
sudo pacman -S firefox
 
# نصب چند بسته
sudo pacman -S firefox thunderbird vlc

نصب گروه بسته#

بعضی بسته‌ها در گروه قرار دارند (مثلاً base-devel, gnome):

# نصب گروه کامل
sudo pacman -S gnome
 
# انتخاب تعاملی بسته‌های گروه
sudo pacman -S base-devel

نصب فقط اگر نصب نشده#

# جلوگیری از نصب مجدد بسته‌های نصب‌شده
sudo pacman -S --needed base-devel

به‌روزرسانی سیستم#

به‌روزرسانی کامل#

# همگام‌سازی مخازن + ارتقای همهٔ بسته‌ها
sudo pacman -Syu

هرگز -Sy و -S را با هم قاطی نکنید

دستور pacman -Sy package (بدون u) می‌تواند وابستگی‌ها را بشکند، چون مخزن را به‌روز می‌کند اما بسته‌های دیگر را ارتقا نمی‌دهد. همیشه از -Syu استفاده کنید.

به‌روزرسانی فقط یک بسته#

# نصب/ارتقای یک بسته به‌همراه به‌روزرسانی مخزن
sudo pacman -Sy firefox

بررسی بسته‌های قابل به‌روزرسانی#

# بدون اجرای به‌روزرسانی، فقط نمایش
checkupdates

جستجوی بسته‌ها#

جستجو در مخازن#

# جستجو با نام یا توضیح
pacman -Ss editor
 
# جستجو با regex
pacman -Ss "^vim"
 
# جستجو در یک مخزن خاص
pacman -Ss "^gnome" --repo extra

نمایش اطلاعات بسته#

# اطلاعات بسته در مخزن
pacman -Si firefox
 
# اطلاعات بستهٔ نصب‌شده
pacman -Qi firefox
 
# فایل‌های یک بسته
pacman -Ql firefox
 
# فایل‌های یک بسته در مخزن
pacman -Fl firefox

یافتن بسته صاحب یک فایل#

# بسته‌ای که فایل نصب‌شده را دارد
pacman -Qo /usr/bin/firefox
 
# بسته‌ای که فایل در مخزن دارد (نیازی به نصب بودن ندارد)
pacman -Fo /usr/bin/firefox

حذف بسته‌ها#

حذف ساده#

sudo pacman -R firefox

حذف به‌همراه وابستگی‌های بدون استفاده#

# حذف بسته + وابستگی‌های بدون نیاز
sudo pacman -Rs firefox

حذف به‌همراه فایل‌های پیکربندی#

# حذف بسته + وابستگی‌ها + فایل‌های پیکربندی
sudo pacman -Rns firefox

همیشه -Rns استفاده کنید

pacman -Rns کامل‌ترین حالت حذف است: بسته، وابستگی‌های بدون استفاده، و فایل‌های پیکربندی کاربر را پاک می‌کند. این کار از انباشت بسته‌های بی‌مصرف جلوگیری می‌کند.

جستجو در بسته‌های نصب‌شده#

# فهرست همهٔ بسته‌های نصب‌شده
pacman -Q
 
# فقط بسته‌های نصب‌شده به‌صورت دستی (نه به‌عنوان وابستگی)
pacman -Qe
 
# بسته‌های یتیم (نصب‌شده به‌عنوان وابستگی، اما دیگر لازم نیستند)
pacman -Qdt
 
# جستجو در بسته‌های نصب‌شده
pacman -Qs firefox

پاکسازی کش#

pacman تمام بسته‌های دانلودشده را در /var/cache/pacman/pkg/ نگه می‌دارد. این کار به شما اجازه می‌دهد به نسخه‌های قبلی برگردید، اما دیسک را پر می‌کند.

# پاکسازی همهٔ بسته‌ها به‌جز ۳ نسخهٔ اخیر
sudo paccache -r
 
# نگه‌داشتن فقط نسخهٔ نصب‌شده
sudo paccache -ruk0
 
# پاکسازی کامل کش
sudo pacman -Scc

هرگز کش را کاملاً پاک نکنید

پاک کردن کامل کش با pacman -Scc توصیه نمی‌شود، چون در صورت خرابی به‌روزرسانی، نمی‌توانید به نسخهٔ قبلی برگردید. از paccache -r استفاده کنید تا چند نسخهٔ اخیر نگه داشته شود.

اطلاعات پایگاه داده#

# بررسی یکپارچگی پایگاه داده
sudo pacman -Dk
 
# بررسی همهٔ بسته‌ها
sudo pacman -Qk
 
# علامت‌گذاری بسته به‌عنوان نصب‌شده به‌صورت دستی
sudo pacman -D --asexplicit firefox
 
# علامت‌گذاری به‌عنوان وابستگی
sudo pacman -D --asdeps firefox

بسته‌های یتیم#

بسته‌های یتیم بسته‌هایی هستند که به‌عنوان وابستگی نصب شده‌اند اما بستهٔ وابسته دیگر وجود ندارد:

# فهرست بسته‌های یتیم
pacman -Qdt
 
# حذف همهٔ بسته‌های یتیم
sudo pacman -Rns $(pacman -Qdtq)

نگهداری منظم

هر چند وقت یک‌بار دستور حذف بسته‌های یتیم را اجرا کنید تا سیستم خود را تمیز نگه دارید. همچنین می‌توانید اسکریپتی در crontab قرار دهید تا این کار به‌طور خودکار انجام شود.

پیکربندی pacman#

فایل اصلی پیکربندی /etc/pacman.conf است:

[options]
HoldPkg = pacman glibc
Architecture = auto
CheckSpace
Color
VerbosePkgLists
ParallelDownloads = 5
 
[core]
Include = /etc/pacman.d/mirrorlist
 
[extra]
Include = /etc/pacman.d/mirrorlist
 
[multilib]
Include = /etc/pacman.d/mirrorlist

فعال‌سازی multilib#

اگر بسته‌های ۳۲ بیتی (مثلاً برای Steam یا Wine) نیاز دارید، خطوط [multilib] را از حالت کامنت خارج کنید:

sudo nano /etc/pacman.conf
[multilib]
Include = /etc/pacman.d/mirrorlist

سپس مخازن را به‌روز کنید:

sudo pacman -Syu

فعال‌سازی رنگ و خروجی زیبا#

Color
VerbosePkgLists
ParallelDownloads = 5

آینه‌های (Mirrors) سریع#

سرعت دانلود به آینهٔ انتخاب‌شده بستگی دارد. از ابزار reflector برای یافتن سریع‌ترین آینه‌ها استفاده کنید:

# نصب
sudo pacman -S reflector
 
# انتخاب ۲۰ آینهٔ سریع ایران و اروپا
sudo reflector \
    --latest 50 \
    --protocol https \
    --sort rate \
    --save /etc/pacman.d/mirrorlist

به‌روزرسانی خودکار آینه‌ها

می‌توانید سرویس reflector.timer را فعال کنید تا هفتگی آینه‌ها را به‌روز کند:

sudo systemctl enable --now reflector.timer

مدیریت کلیدهای امضا#

pacman بسته‌ها را با کلیدهای GPG تأیید می‌کند. اگر خطای کلید می‌گیرید:

# راه‌اندازی مجدد کلیدها
sudo pacman-key --init
sudo pacman-key --populate archlinux
 
# به‌روزرسانی کلیدها
sudo pacman -Sy archlinux-keyring

معادل‌های pacman در توزیع‌های دیگر#

کارکردpacmanapt (Debian)dnf (Fedora)
نصبpacman -Sapt installdnf install
حذفpacman -Rnsapt removednf remove
به‌روزرسانیpacman -Syuapt update && apt upgradednf upgrade
جستجوpacman -Ssapt searchdnf search
اطلاعاتpacman -Siapt showdnf info

خلاصه#

در این آموزش، pacman را به‌طور کامل آموختید:

  • نصب، حذف و به‌روزرسانی بسته‌ها
  • جستجو در مخازن و بسته‌های نصب‌شده
  • پاکسازی کش و حذف بسته‌های یتیم
  • پیکربندی /etc/pacman.conf
  • مدیریت آینه‌ها و کلیدها

برای نرم‌افزارهایی که در مخازن رسمی نیستند، در آموزش بعدی با AUR و yay آشنا می‌شوید.

پرسش‌های رایج#

آیا pacman از PPA پشتیبانی می‌کند؟#

خیر، PPA مختص Ubuntu است. در Arch معادل آن AUR است که در آموزش بعدی آن را پوشش می‌دهیم.

چرا pacman از apt کندتر/سریع‌تر است؟#

pacman معمولاً سریع‌تر است چون پایگاه دادهٔ سبک‌تری دارد و بسته‌ها را به‌صورت فشرده دانلود می‌کند. سرعت واقعی به آینه‌ٔ انتخاب‌شده بستگی دارد.

اگر به‌روزرسانی بسته‌ای را بشکند چه کنم؟#

اولین راه: بررسی Arch News برای وصله‌های دستی. دوم: برگرداندن به نسخهٔ قبلی از کش:

sudo pacman -U /var/cache/pacman/pkg/package-1.2.3-1-x86_64.pkg.tar.zst
اشتراک‌گذاری:

این صفحه در تاریخ ۹ تیر ۱۴۰۵ به‌روزرسانی شده است.