مدیر بسته ابزاری است که نصب، بهروزرسانی و حذف نرمافزارها را در لینوکس مدیریت میکند. انتخاب آن معمولاً سلیقهای نیست؛ هر توزیع مدیر بسته اصلی خودش را دارد. در اوبونتو و دبیان از APT، در Fedora و خانواده RHEL از DNF، در Arch Linux از pacman و در openSUSE از Zypper استفاده میشود. Flatpak نیز گزینهای مستقل از توزیع برای برنامههای دسکتاپ است.
جدول انتخاب سریع مدیر بسته
| مدیر بسته | مناسب برای | فرمت رایج | فرمان نصب |
|---|---|---|---|
| APT | Ubuntu، Debian و مشتقات | DEB | sudo apt install package |
| DNF | Fedora، RHEL، AlmaLinux و Rocky Linux | RPM | sudo dnf install package |
| pacman | Arch Linux و مشتقات | pkg.tar.zst | sudo pacman -S package |
| Zypper | openSUSE و SUSE Linux Enterprise | RPM | sudo zypper install package |
| Flatpak | برنامههای دسکتاپ مستقل از توزیع | Flatpak | flatpak install remote app-id |
مدیر بسته دقیقاً چه کاری انجام میدهد؟
مدیر بسته فقط یک فایل را کپی نمیکند. این ابزار مخازن را میشناسد، وابستگیها را حل میکند، صحت و امضای بسته را بررسی میکند و فهرستی از فایلهای نصبشده نگه میدارد. به همین دلیل نصب نرمافزار از مخزن رسمی توزیع معمولاً امنتر و قابل نگهداریتر از دانلود فایلهای تصادفی از وب است.
1. APT؛ انتخاب اصلی اوبونتو و دبیان
APT برای کاربران تازهکار ساده و خواناست و در سرورهای Ubuntu و Debian بسیار رایج است.
sudo apt update
sudo apt install nginx
apt search nginx
apt policy nginx
sudo apt remove nginx
sudo apt upgrade
apt update فقط فهرست بستهها را تازه میکند؛ برای نصب بهروزرسانیها باید بعد از آن apt upgrade اجرا شود. در اسکریپتهای پایدار و سناریوهای قدیمی ممکن است apt-get را ببینید، اما برای استفاده تعاملی، خروجی apt خواناتر است.
2. DNF؛ مدیر بسته Fedora و خانواده RHEL
DNF ابزار استاندارد در Fedora و توزیعهای جدید خانواده Enterprise Linux است. برای نصب، جستوجو و مشاهده اطلاعات بسته از این فرمانها استفاده کنید:
sudo dnf install nginx
dnf search nginx
dnf info nginx
sudo dnf upgrade
sudo dnf remove nginx
در راهنماهای بسیار قدیمی CentOS ممکن است فرمان yum دیده شود. در توزیعهای جدید، DNF انتخاب اصلی است و در برخی سیستمها نام yum فقط برای سازگاری باقی مانده است.
3. pacman؛ سریع و مینیمال برای Arch Linux
pacman مدیر بسته اصلی Arch Linux است. پایگاه داده بستهها و خود سیستم معمولاً با هم بهروزرسانی میشوند:
sudo pacman -Syu
sudo pacman -S nginx
pacman -Ss nginx
pacman -Si nginx
sudo pacman -R package-name
در Arch از «بهروزرسانی بخشی» سیستم پرهیز کنید؛ الگوی توصیهشده این است که پایگاه داده و همه بستهها با pacman -Syu همگام شوند. AUR بخشی از مخازن رسمی pacman نیست و بستههای آن باید پیش از ساخت بررسی شوند.
4. Zypper؛ ابزار قدرتمند openSUSE و SUSE
Zypper رابط خط فرمان مدیریت بسته در openSUSE و SUSE Linux Enterprise است و کار با مخازن و الگوهای نصب را نیز پوشش میدهد.
sudo zypper refresh
sudo zypper install nginx
zypper search nginx
zypper info nginx
sudo zypper update
sudo zypper remove nginx
قبل از نصب، خروجی refresh را بررسی کنید تا خطای امضا یا مخزن نادیده نماند.
5. Flatpak؛ برنامه دسکتاپ مستقل از توزیع
مثال flathub به تعریف قبلی این remote معتبر نیاز دارد؛ قبل از نصب، ناشر برنامه و دسترسیهای sandbox را بررسی کنید. Flatpak جایگزین کامل مدیر بسته سیستمعامل نیست. کاربرد اصلی آن نصب برنامههای دسکتاپ همراه با runtime و محیط sandbox است. نام برنامهها معمولاً یک شناسه مانند org.gimp.GIMP است.
flatpak remotes
flatpak search gimp
flatpak install flathub org.gimp.GIMP
flatpak update
flatpak uninstall org.gimp.GIMP
Flatpak برای سرویسهای پایه سرور، کرنل، کتابخانههای سیستمی یا وبسرور مناسب نیست؛ این موارد باید با مدیر بسته بومی توزیع مدیریت شوند.
تفاوت مدیر بسته بومی با Flatpak، Snap و AppImage
- مدیر بسته بومی: بهترین گزینه برای اجزای سیستم، سرویسهای سرور و کتابخانهها.
- Flatpak: مناسب برنامههای دسکتاپ و اجرای نسبتاً ایزوله در توزیعهای مختلف.
- Snap: قالب بسته مستقل از توزیع با بهروزرسانی خودکار که در اوبونتو بهصورت پیشفرض پشتیبانی میشود.
- AppImage: معمولاً یک فایل اجرایی قابل حمل است و مثل مدیر بسته سیستم، وابستگیها و بهروزرسانی کل سیستم را مدیریت نمیکند.
پیش از اجرای مثالها
نام nginx در مثالها صرفاً نمونه است؛ روی وبسرور فعال، فرمان remove را اجرا نکنید. نصب سرویس ممکن است آن را شروع کند و حذف بسته ممکن است وابستگیها یا پیکربندی خدمت را تحت تأثیر بگذارد. ابتدا خلاصه تراکنش را بخوانید و روی سرور عملیاتی، پنجره نگهداری و بکاپ داشته باشید. در openSUSE Tumbleweed روش ارتقای rolling release را از مستندات همان نسخه دنبال کنید؛ zypper update جایگزین عمومی همه سناریوهای ارتقا نیست.
نکات امنیتی مهم
- مخازن رسمی توزیع یا سازنده معتبر را در اولویت قرار دهید.
- پیش از افزودن مخزن شخص ثالث، نسخه توزیع، کلید امضا و سابقه نگهداری آن را بررسی کنید.
- فرمان نصب ناشناس با ترکیب
curlو اجرای مستقیم shell را بدون مطالعه اسکریپت اجرا نکنید. - برای سرور تولیدی، قبل از ارتقای گسترده نسخه پشتیبان و برنامه بازگشت داشته باشید.
- بستههای بلااستفاده را فقط پس از بررسی وابستگیها حذف کنید.
سؤالات متداول
بهترین مدیر بسته لینوکس کدام است؟
بهترین گزینه همان مدیر بسته رسمی توزیع شماست. مقایسه سرعت یا تعداد فرمانها اهمیت کمتری از سازگاری با مخازن و چرخه بهروزرسانی توزیع دارد.
آیا میتوان APT را روی Fedora یا DNF را روی Ubuntu استفاده کرد؟
ممکن است بستهای با این نامها نصب شود، اما برای مدیریت اصلی سیستم انتخاب استانداردی نیست. هر توزیع پایگاه داده، قالب بسته و مخازن مخصوص خود را دارد.
آیا Flatpak برای سرور مناسب است؟
در بیشتر سناریوهای سرور خیر. Flatpak برای اپلیکیشنهای دسکتاپ طراحی شده و سرویسهای سرور بهتر است از مخازن رسمی سیستم یا روش رسمی سازنده نصب شوند.
جمعبندی
برای شروع، مدیر بسته بومی توزیع را یاد بگیرید: APT در Ubuntu/Debian، DNF در Fedora و خانواده RHEL، pacman در Arch و Zypper در openSUSE. اگر به یک برنامه دسکتاپ مستقل از نسخه توزیع نیاز دارید، Flatpak گزینه مکمل مناسبی است.
منابع رسمی
- مستندات Ubuntu Server
- مستندات Fedora
- راهنمای pacman در ArchWiki
- راهنمای رسمی Zypper
- مستندات رسمی Flatpak