EN

مدیریت بسته‌ها در لینوکس

راهنمای کامل نصب، حذف و به‌روزرسانی نرم‌افزارها

۱۵ خرداد ۱۴۰۲  |  زمان مطالعه: ۲۵ دقیقه

مدیریت بسته‌ها (Package Management) یکی از مهم‌ترین مهارت‌ها در لینوکس است. بسته‌ها شامل نرم‌افزارها، کتابخانه‌ها و ابزارهای مختلف هستند که با استفاده از مدیر بسته می‌توانید آنها را نصب، حذف، به‌روزرسانی و جستجو کنید. این مقاله به صورت گام‌به‌گام و با زبانی ساده، شما را با مفاهیم و ابزارهای مدیریت بسته در توزیع‌های مختلف لینوکس آشنا می‌کند.

پیش‌نیاز: آشنایی با محیط ترمینال و دستورات پایه کافی است. تمام مفاهیم از صفر توضیح داده می‌شوند.

۱. بسته و مدیر بسته چیست؟

بسته (Package) یک فایل آرشیو شده شامل فایل‌های اجرایی، کتابخانه‌ها، فایل‌های پیکربندی و مستندات یک نرم‌افزار است. مدیر بسته (Package Manager) ابزاری است که این بسته‌ها را مدیریت می‌کند؛ وابستگی‌ها را بررسی می‌کند، فایل‌ها را در مسیرهای صحیح قرار می‌دهد و نصب/حذف را آسان می‌سازد.

در لینوکس، دو خانواده اصلی مدیر بسته وجود دارد:

  • Debian-based: از بسته‌های .deb و ابزار apt استفاده می‌کنند (مانند Ubuntu، Debian، Linux Mint).
  • Red Hat-based: از بسته‌های .rpm و ابزارهای yum یا dnf استفاده می‌کنند (مانند Fedora، RHEL، CentOS).
  • Arch-based: از بسته‌های .pkg.tar.xz و ابزار pacman استفاده می‌کنند (مانند Arch Linux، Manjaro).

علاوه بر این، ابزارهای مدرن‌تری مانند Snap، Flatpak و AppImage نیز وجود دارند که نصب نرم‌افزار را مستقل از توزیع ممکن می‌کنند.

۲. مدیریت بسته با APT (Debian/Ubuntu)

APT (Advanced Package Tool) محبوب‌ترین مدیر بسته در توزیع‌های مبتنی بر دبیان است. با APT می‌توانید به راحتی نرم‌افزارها را از مخازن رسمی نصب کنید.

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

قبل از هر کاری، لیست بسته‌های موجود در مخازن را به‌روز کنید:

sudo apt update

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

برای به‌روزرسانی همه بسته‌های نصب شده به جدیدترین نسخه:

sudo apt upgrade

برای به‌روزرسانی کامل سیستم (شامل هسته و وابستگی‌ها):

sudo apt full-upgrade

نصب یک بسته جدید

sudo apt install package_name

مثلاً برای نصب ویرایشگر Vim:

sudo apt install vim

حذف یک بسته

sudo apt remove package_name

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

sudo apt purge package_name

جستجوی بسته

apt search keyword

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

apt show package_name
نکته: دستورات apt برای کاربران سطح بالا طراحی شده‌اند. اگر به ابزارهای سطح پایین‌تر نیاز دارید، از apt-get و apt-cache استفاده کنید.

۳. مدیریت بسته با DNF و YUM (Fedora/RHEL)

DNF (Dandified YUM) نسخه جدیدتر YUM است و در توزیع‌های مبتنی بر Red Hat استفاده می‌شود. دستورات DNF مشابه APT هستند.

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

در DNF، نیازی به به‌روزرسانی جداگانه لیست نیست، اما برای همگام‌سازی مخازن:

sudo dnf makecache

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

sudo dnf upgrade

نصب یک بسته جدید

sudo dnf install package_name

حذف یک بسته

sudo dnf remove package_name

جستجو و اطلاعات بسته

dnf search keyword
dnf info package_name

گروه‌های نرم‌افزاری

در DNF می‌توانید گروه‌های نرم‌افزاری را نصب کنید (مثلاً گروه "Development Tools"):

sudo dnf groupinstall "Development Tools"
تفاوت YUM و DNF: DNF سریع‌تر، سبک‌تر و با وابستگی‌های بهتر طراحی شده است. اگر از توزیع‌های قدیمی‌تر استفاده می‌کنید، ممکن است YUM همچنان موجود باشد.

۴. مدیریت بسته با Pacman (Arch Linux)

Pacman مدیر بسته سریع و قدرتمند Arch Linux است. دستورات آن کمی متفاوت است اما بسیار کارآمد.

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

sudo pacman -Syu

این دستور مخازن را همگام‌سازی کرده و همه بسته‌ها را به‌روز می‌کند.

نصب یک بسته جدید

sudo pacman -S package_name

حذف یک بسته

sudo pacman -R package_name

برای حذف بسته به همراه وابستگی‌های غیرضروری:

sudo pacman -Rs package_name

جستجوی بسته

pacman -Ss keyword

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

pacman -Qi package_name

۵. ابزارهای مدرن: Snap، Flatpak و AppImage

این ابزارها نرم‌افزارها را به صورت مستقل از توزیع ارائه می‌دهند و وابستگی‌ها را همراه خود دارند.

Snap

Snap توسط Canonical (سازنده Ubuntu) توسعه داده شده است. نصب با Snap:

sudo snap install package_name

Flatpak

Flatpak یک پلتفرم مستقل برای توزیع نرم‌افزار است که در بسیاری از توزیع‌ها پشتیبانی می‌شود.

flatpak install flathub package_name

AppImage

AppImage یک فایل اجرایی واحد است که بدون نیاز به نصب اجرا می‌شود. فقط کافی است آن را دانلود کرده و مجوز اجرا دهید:

chmod +x appimage-file.AppImage
./appimage-file.AppImage

۶. مخازن نرم‌افزاری

مخزن (Repository) مجموعه‌ای از بسته‌های نرم‌افزاری است که مدیر بسته از آنها استفاده می‌کند. افزودن مخازن جدید به شما امکان نصب نرم‌افزارهای بیشتری را می‌دهد.

در Debian/Ubuntu، مخازن در فایل /etc/apt/sources.list تعریف می‌شوند. برای افزودن یک مخزن جدید:

sudo add-apt-repository ppa:repository-name
sudo apt update

۷. مدیریت بسته‌های منفرد با dpkg و rpm

گاهی نیاز دارید یک بسته .deb یا .rpm را مستقیماً نصب کنید (بدون مخزن).

dpkg (برای بسته‌های .deb)

sudo dpkg -i package.deb

اگر با خطای وابستگی مواجه شدید، از apt برای رفع آن استفاده کنید:

sudo apt install -f

rpm (برای بسته‌های .rpm)

sudo rpm -ivh package.rpm
هشدار: نصب مستقیم بسته‌های .deb یا .rpm ممکن است وابستگی‌ها را برطرف نکند. بهتر است تا حد امکان از مدیر بسته اصلی توزیع خود استفاده کنید.

۸. مثال‌های کاربردی

مثال ۱: نصب یک مجموعه کامل از ابزارهای توسعه

# Debian/Ubuntu
sudo apt install build-essential git curl wget vim

# Fedora/RHEL
sudo dnf install @development-tools git curl wget vim

# Arch
sudo pacman -S base-devel git curl wget vim

مثال ۲: پیدا کردن و نصب یک کتابخانه خاص

# جستجوی کتابخانه libxml2
apt search libxml2
# نصب
sudo apt install libxml2-dev

مثال ۳: حذف بسته‌های استفاده نشده (تمیزکاری)

# Debian/Ubuntu - حذف بسته‌های غیرضروری
sudo apt autoremove

# Fedora/RHEL
sudo dnf autoremove

# Arch
sudo pacman -Rns $(pacman -Qdtq)

۹. مقایسه دستورات مدیر بسته

عملیاتAPT (Debian)DNF (Fedora)Pacman (Arch)
نصب بستهapt installdnf installpacman -S
حذف بستهapt removednf removepacman -R
به‌روزرسانیapt update && apt upgradednf upgradepacman -Syu
جستجوapt searchdnf searchpacman -Ss
اطلاعات بستهapt showdnf infopacman -Qi
حذف وابستگی‌های غیرضروریapt autoremovednf autoremovepacman -Rns $(pacman -Qdtq)

جمع‌بندی و گام‌های بعدی

در این مقاله با مفاهیم و ابزارهای مدیریت بسته‌ها در لینوکس آشنا شدید. حالا می‌توانید به راحتی نرم‌افزارهای مورد نیاز خود را نصب، حذف و به‌روزرسانی کنید. برای پیشرفت بیشتر:

  • با مخازن مختلف و نحوه افزودن آنها آشنا شوید.
  • ابزارهای Snap و Flatpak را برای نصب نرم‌افزارهای جدید امتحان کنید.
  • با دستورات پیشرفته‌تر مانند aptitude یا yumex (نسخه گرافیکی) کار کنید.
  • کتاب «The Linux Command Line» (ترجمه فارسی در کتابخانه لینوکس) را برای یادگیری عمیق‌تر بخوانید.
یادتان باشد: مدیریت بسته‌ها یکی از ستون‌های اصلی لینوکس است. با تمرین و تکرار، به راحتی بر آن مسلط خواهید شد.