آموزش کامل مدیریت بستهها در Arch Linux با Pacman
یکی از مهمترین ویژگیهای Arch Linux، سادگی و انعطافپذیری آن در مدیریت نرمافزارهاست. برخلاف بعضی توزیعهای لینوکس که از ابزارهای گرافیکی مختلف برای نصب برنامهها استفاده میکنند، آرچ لینوکس بهصورت پیشفرض از یک مدیر بسته قدرتمند به نام Pacman بهره میبرد.
آخرین بهروزرسانی: ۲۰ آبان ۱۴۰۵ · نسخهٔ ۱ · ۸ بازدید
این مقاله مستندات رسمی Arch Linux نیست؛ برای موارد حساس به ArchWiki مراجعه کنید.
آموزش کامل Pacman در آرچ لینوکس؛ مدیریت و نصب بستهها
مقدمه
یکی از مهمترین ویژگیهای Arch Linux، سادگی و انعطافپذیری آن در مدیریت نرمافزارهاست. برخلاف بعضی توزیعهای لینوکس که از ابزارهای گرافیکی مختلف برای نصب برنامهها استفاده میکنند، آرچ لینوکس بهصورت پیشفرض از یک مدیر بسته قدرتمند به نام Pacman بهره میبرد.
Pacman ابزاری برای نصب، حذف، جستوجو و بهروزرسانی بستههای نرمافزاری است. این ابزار علاوه بر مدیریت برنامهها، وابستگیهای آنها را نیز بررسی میکند تا نرمافزارها به شکل صحیح روی سیستم نصب شوند.
در این مقاله از ARCHIHA، با دستورات اصلی Pacman و روش استفاده صحیح از آن آشنا میشویم.
۱. آشنایی با Pacman
نام Pacman از عبارت Package Manager گرفته شده است. این ابزار مدیر بسته رسمی Arch Linux است و از طریق مخازن رسمی، بستههای نرمافزاری را دریافت و نصب میکند.
برای اجرای بیشتر عملیات مدیریتی، به دسترسی مدیر سیستم نیاز دارید؛ بنابراین معمولاً دستورات Pacman را همراه با sudo اجرا میکنیم.
برای مشاهده نسخه نصبشده:
pacman --version
برای مشاهده راهنمای دستورات:
pacman --help
۲. بهروزرسانی سیستم
یکی از مهمترین کارهایی که کاربران Arch Linux باید بهصورت منظم انجام دهند، بهروزرسانی کامل سیستم است.
برای همگامسازی فهرست بستهها و ارتقای تمام بستههای نصبشده، از دستور زیر استفاده کنید:
sudo pacman -Syu
معنی بخشهای این دستور:
-S: همگامسازی با مخازن نرمافزاری-y: دریافت اطلاعات جدید مخازن-u: ارتقای بستههای نصبشده
نکته بسیار مهم: آرچ لینوکس از مدل انتشار غلتان (Rolling Release) استفاده میکند. به همین دلیل، بهروزرسانی ناقص سیستم پشتیبانی نمیشود.
برای مثال، اجرای دستور زیر و سپس نصب یک بسته بدون ارتقای کامل سیستم میتواند باعث ناسازگاری وابستگیها شود:
sudo pacman -Sy
sudo pacman -S package_name
بهجای آن، برای نصب یک بسته همراه با بهروزرسانی کامل سیستم، میتوانید از دستور زیر استفاده کنید:
sudo pacman -Syu package_name
در این حالت ابتدا سیستم بهروزرسانی میشود و سپس بسته موردنظر نصب خواهد شد.
۳. نصب نرمافزار با Pacman
برای نصب یک نرمافزار از مخازن رسمی، دستور زیر را اجرا کنید:
sudo pacman -S package_name
بهعنوان مثال، برای نصب مرورگر Firefox:
sudo pacman -S firefox
برای نصب چند بسته بهصورت همزمان:
sudo pacman -S firefox vlc git
Pacman قبل از نصب، بستهها و وابستگیهای موردنیاز را بررسی میکند و از شما برای ادامه عملیات تأیید میگیرد.
اگر بستهای از قبل نصب شده باشد، Pacman وضعیت آن را بررسی میکند و در صورت نیاز آن را دوباره نصب یا بهروزرسانی میکند.
۴. جستوجوی بستهها در مخازن
گاهی نام دقیق نرمافزاری را که قصد نصب آن را دارید نمیدانید. در این شرایط میتوانید از قابلیت جستوجوی Pacman استفاده کنید.
برای جستوجوی یک بسته:
pacman -Ss package_name
برای مثال:
pacman -Ss firefox
این دستور نام و توضیحات بستههای موجود در مخازن فعال را بررسی میکند.
برای مشاهده اطلاعات یک بسته:
pacman -Si firefox
این اطلاعات میتواند شامل نسخه، توضیحات، حجم دانلود، وابستگیها و مخزن ارائهدهنده بسته باشد.
۵. حذف نرمافزارها
برای حذف یک بسته از سیستم، دستور زیر را اجرا کنید:
sudo pacman -R package_name
اگر میخواهید بسته و وابستگیهایی را که دیگر موردنیاز هیچ بسته نصبشدهای نیستند حذف کنید، از دستور زیر استفاده کنید:
sudo pacman -Rs package_name
در صورت استفاده از گزینه -n نیز فایلهای پشتیبان تنظیمات با پسوند .pacsave ذخیره نمیشوند:
sudo pacman -Rns package_name
توجه: قبل از تأیید حذف، فهرست بستههایی را که Pacman قصد حذف آنها را دارد بررسی کنید. حذف برخی وابستگیها ممکن است روی برنامههای دیگر تأثیر بگذارد.
۶. مشاهده بستههای نصبشده
برای مشاهده تمام بستههایی که روی سیستم نصب شدهاند:
pacman -Q
برای بررسی نصب بودن یک بسته مشخص:
pacman -Q firefox
اگر بسته نصب شده باشد، نام و نسخه آن نمایش داده میشود.
برای مشاهده بستههایی که بهصورت مستقیم توسط کاربر نصب شدهاند:
pacman -Qe
برای مشاهده بستههایی که بهعنوان وابستگی نصب شدهاند:
pacman -Qd
این دستورات برای بررسی وضعیت نرمافزارهای نصبشده و مدیریت بهتر سیستم کاربرد دارند.
۷. مشاهده فایلهای متعلق به یک بسته
Pacman اطلاعات فایلهای نصبشده توسط هر بسته را نگهداری میکند.
برای مشاهده فایلهای متعلق به یک بسته:
pacman -Ql package_name
مثلاً:
pacman -Ql firefox
اگر بخواهید متوجه شوید یک فایل متعلق به کدام بسته است، از دستور زیر استفاده کنید:
pacman -Qo /usr/bin/firefox
این قابلیت هنگام عیبیابی سیستم و بررسی فایلهای نرمافزاری بسیار مفید است.
۸. مدیریت وابستگیهای اضافی
بعضی بستهها فقط برای اجرای نرمافزارهای دیگر نصب میشوند. ممکن است پس از حذف برنامه اصلی، این وابستگیها دیگر موردنیاز نباشند.
برای مشاهده وابستگیهای اضافی و بدون استفاده مستقیم:
pacman -Qdt
برای نمایش فقط نام این بستهها:
pacman -Qdtq
پیشنهاد میشود ابتدا فهرست بستههای نمایشدادهشده را بررسی کنید و سپس بستههای واقعاً غیرضروری را حذف کنید.
از حذف خودکار و بدون بررسی این بستهها خودداری کنید؛ ممکن است بستهای به دلیل وابستگیهای خاص یا استفاده دستی هنوز برای شما ضروری باشد.
۹. پاکسازی حافظه کش Pacman
Pacman فایل بستههای دانلودشده را در مسیر زیر نگهداری میکند:
/var/cache/pacman/pkg/
این فایلها میتوانند در طول زمان فضای قابلتوجهی از دیسک را اشغال کنند.
برای مدیریت بهتر حافظه کش، ابتدا بسته pacman-contrib را نصب کنید:
sudo pacman -S pacman-contrib
سپس برای پاکسازی نسخههای قدیمی بستهها و نگهداری سه نسخه اخیر هر بسته:
sudo paccache -r
برای نگهداری تنها یک نسخه قبلی از هر بسته:
sudo paccache -rk1
برای حذف نسخههای کششده بستههایی که دیگر نصب نیستند:
sudo paccache -ruk0
نکته: پاکسازی کامل حافظه کش همیشه توصیه نمیشود. نگهداری نسخههای قدیمی میتواند در مواقع نیاز به بازگشت به نسخه قبلی یا نصب مجدد بدون دانلود، مفید باشد.
۱۰. تفاوت گزینههای پرکاربرد Pacman
در جدول زیر، مهمترین گزینههایی که در این مقاله استفاده کردیم را مشاهده میکنید:
| گزینه | کاربرد |
|---|---|
| -S | نصب بسته از مخازن |
| -R | حذف بسته |
| -Q | بررسی بستههای نصبشده |
| -y | بهروزرسانی اطلاعات مخازن |
| -u | ارتقای بستههای نصبشده |
| -s | جستوجو یا مدیریت وابستگیها، بسته به عملیات |
| -i | نمایش اطلاعات بسته |
| -l | نمایش فایلهای بسته در عملیات Query |
| -c | پاکسازی حافظه کش در عملیات Sync |
توجه داشته باشید که معنی برخی گزینهها به نوع عملیات انتخابشده بستگی دارد؛ برای مثال -s در کنار -S برای جستوجو و در کنار -R برای حذف وابستگیهای غیرضروری استفاده میشود.
۱۱. خطاهای رایج در Pacman
خطای قفل بودن پایگاه داده
ممکن است هنگام نصب یا بهروزرسانی بستهها با خطای زیر روبهرو شوید:
error: failed to init transaction (unable to lock database)
این خطا معمولاً به دلیل اجرای همزمان چند عملیات Pacman یا باقی ماندن فایل قفل پس از قطع شدن یک عملیات ایجاد میشود.
ابتدا مطمئن شوید هیچ عملیات Pacman یا برنامه مدیریت بسته دیگری در حال اجرا نیست.
برای بررسی پردازشهای مرتبط:
pgrep -a pacman
اگر هیچ پردازشی در حال اجرا نیست و فایل قفل باقی مانده است، میتوانید آن را حذف کنید:
sudo rm /var/lib/pacman/db.lck
هشدار: در صورتی که Pacman هنوز در حال نصب یا بهروزرسانی بستههاست، فایل قفل را حذف نکنید.
خطای پیدا نشدن بسته
اگر با خطای زیر مواجه شدید:
error: target not found
دلایل احتمالی عبارتاند از:
- نام بسته را اشتباه وارد کردهاید.
- بسته در مخازن فعال سیستم وجود ندارد.
- اطلاعات مخازن قدیمی است.
- مخزن موردنیاز فعال نشده است.
ابتدا نام بسته را بررسی کنید و سپس در صورت نیاز سیستم را بهصورت کامل بهروزرسانی کنید:
sudo pacman -Syu
خطای امضای بسته یا کلیدهای GPG
گاهی Pacman به دلیل قدیمی بودن اطلاعات کلیدها یا مشکلات اعتبارسنجی امضا نمیتواند بسته را نصب کند.
در چنین شرایطی ابتدا باید وضعیت سیستم، تاریخ و ساعت، مخازن و بسته archlinux-keyring بررسی شود.
در صورت قدیمی بودن سیستم و کلیدها، راهکار مناسب را مطابق راهنمای رسمی ArchWiki دنبال کنید. غیرفعال کردن بررسی امضای بستهها راهحل امنی نیست.
۱۲. چند نکته مهم برای استفاده صحیح از Pacman
برای جلوگیری از بروز مشکلات در مدیریت بستهها، نکات زیر را رعایت کنید:
- سیستم را بهصورت منظم و کامل بهروزرسانی کنید.
- از اجرای بهروزرسانی ناقص با
pacman -Syخودداری کنید. - پیش از تأیید حذف بستهها، وابستگیهای آنها را بررسی کنید.
- فایلهای تنظیمات Pacman را بدون آگاهی تغییر ندهید.
- حافظه کش را با دقت پاکسازی کنید.
- بستهها را از مخازن معتبر دریافت کنید.
- هنگام بروز خطا، ابتدا علت آن را بررسی کنید و از اجرای دستورات مخرب و تصادفی خودداری کنید.
جمعبندی
Pacman یکی از ابزارهای اصلی و ضروری در Arch Linux است. با یادگیری چند دستور ساده میتوانید بیشتر عملیات موردنیاز برای مدیریت نرمافزارها را از طریق ترمینال انجام دهید.
در این مقاله با نصب، حذف، جستوجو، بهروزرسانی، بررسی وابستگیها و پاکسازی حافظه کش آشنا شدیم. تسلط بر این دستورات به شما کمک میکند کنترل بیشتری روی سیستم آرچ لینوکس خود داشته باشید و در زمان مواجهه با مشکلات نرمافزاری، سریعتر آنها را برطرف کنید.
منابع و مطالعه بیشتر
---
تهیهشده برای جامعه ARCHIHA
ARCHIHA یک جامعه مستقل برای یادگیری، گفتگو و بهاشتراکگذاری تجربههای دنیای لینوکس و فناوری است و وابستگی رسمی به پروژه Arch Linux ندارد.