نحوه استفاده از dpkg، apt، aptitude، synaptic و tasksel در دبیان
دبیان ابزارهای متعددی برای مدیریت بستههای نرمافزاری ارائه میدهد که هر کدام هدف خاصی در اکوسیستم مدیریت بسته دارند. درک زمان و نحوه استفاده از هر ابزار به شما کمک میکند سیستم خود را به طور مؤثر نگهداری کنید.
درک سلسله مراتب مدیریت بسته
در دبیان، مدیریت بسته در لایههای مختلفی کار میکند و هر ابزار نقش متفاوتی دارد:
- dpkg ابزار اصلی است که برای نصب، حذف و بررسی مستقیم فایلهای بسته .deb استفاده میشود، اما بستهها را دانلود نمیکند یا وابستگیها را مدیریت نمیکند.
- apt و aptitude روی dpkg کار میکنند و بستهها را از مخازن آنلاین بازیابی کرده و به طور خودکار وابستگیها را مدیریت میکنند که نصب را بسیار آسانتر میکنند.
- Synaptic یک رابط گرافیکی (ابزار بصری “شبیه فروشگاه برنامه”) است که به شما امکان میدهد قابلیتهای apt را بدون استفاده از خط فرمان به کار ببرید.
- tasksel گروههایی از نرمافزارهای مرتبط (به نام tasks) را نصب میکند، مانند “وب سرور” یا “محیط دسکتاپ”، که شما را از دردسر نصب تک تک بستهها نجات میدهد.
از آنجایی که این ابزارها در سطوح مختلفی کار میکنند، مکمل یکدیگر هستند نه جایگزین، و موقعیتهایی پیش میآید که یک ابزار مناسبتر از دیگری است.
کار با dpkg
dpkg ابزار سطح پایین برای کار مستقیم با فایلهای .deb است که از قبل در سیستم شما وجود دارند. این ابزار بستهها را از اینترنت دانلود نمیکند و وابستگیهای مورد نیاز را به طور خودکار نصب نمیکند.
بنابراین اگر یک بسته به نرمافزار دیگری برای کار کردن نیاز دارد، باید آن وابستگیها را خودتان نصب کنید یا به apt سوئیچ کنید تا آن وابستگیها را به طور خودکار نصب کند.
برای نصب یک فایل بسته که از قبل دانلود کردهاید، برای مثال اگر فایل google-chrome-stable_current_amd64.deb را دارید، میتوانید آن را با استفاده از دستور زیر نصب کنید:
اگر تمام وابستگیهای مورد نیاز از قبل موجود باشند، نصب با موفقیت انجام میشود. با این حال، اگر برخی بستهها مفقود باشند، ممکن است پیغام خطایی مانند زیر را ببینید:
در این حالت، میتوانید وابستگیهای مفقود را با اجرای دستور زیر برطرف کنید، که به apt دستور میدهد به طور خودکار هر وابستگی مورد نیاز برای تکمیل نصب را دانلود و نصب کند.
برای حذف یک بسته نصب شده:
برای فهرست کردن تمام بستههای نصب شده در سیستم شما:
برای بررسی اینکه یک بسته خاص نصب شده است یا خیر:
از آنجایی که dpkg وابستگیها را به طور خودکار مدیریت نمیکند، ممکن است با خطاهایی درباره بستههای مفقود مواجه شوید. در چنین مواردی، ابزارهای سطح بالاتر مانند apt ضروری میشوند.
مقدمهای بر سیستم مدیریت بسته دبیان
دبیان به عنوان یکی از پایدارترین و قابل اعتمادترین توزیعهای لینوکس، سیستم مدیریت بسته بسیار پیشرفتهای را ارائه میدهد. درک عمیق این سیستم نه تنها به مدیریت بهتر سیستم کمک میکند، بلکه در حل مشکلات و عیبیابی نیز بسیار کارآمد خواهد بود.
چرا مدیریت بسته مهم است؟
مدیریت بسته قلب تپنده هر سیستم عامل مبتنی بر لینوکس است. در دبیان، این سیستم به شما امکان میدهد:
- نرمافزارها را به راحتی نصب و حذف کنید
- بهروزرسانیهای امنیتی را دریافت نمایید
- وابستگیهای نرمافزاری را به طور خودکار مدیریت کنید
- سیستمی پایدار و ایمن داشته باشید
- از یکپارچگی سیستم اطمینان حاصل کنید
سلسله مراتب ابزارهای مدیریت بسته
سیستم مدیریت بسته دبیان به صورت لایهای طراحی شده است. هر ابزار در سطح خاصی عمل میکند و درک این سلسله مراتب برای استفاده مؤثر ضروری است.
| ابزار | سطح | کاربرد اصلی | مدیریت وابستگی | رابط کاربری |
|---|---|---|---|---|
| dpkg | پایینترین سطح | مدیریت مستقیم بستههای .deb | خیر | خط فرمان |
| apt | سطح میانی | مدیریت روزمره بستهها | بله | خط فرمان |
| aptitude | سطح پیشرفته | حل تعارض وابستگیها | بله (پیشرفته) | خط فرمان و متنی |
| synaptic | سطح کاربری | مدیریت گرافیکی بستهها | بله | گرافیکی |
| tasksel | سطح وظیفه | نصب گروههای نرمافزاری | بله | متنی و گرافیکی |
کار با dpkg: ابزار پایهای مدیریت بسته
dpkg هسته اصلی سیستم مدیریت بسته دبیان است. این ابزار مستقیماً با فایلهای .deb کار میکند اما قابلیت مدیریت وابستگیها را ندارد.
نصب بسته با dpkg
برای نصب یک بسته محلی با استفاده از dpkg:
sudo dpkg -i package-name.deb
# نصب با گزینههای پیشرفته
sudo dpkg –install –force-all package-name.deb
مدیریت بستههای نصب شده
sudo dpkg -r package-name
# حذف کامل بسته شامل فایلهای پیکربندی
sudo dpkg -P package-name
# لیست تمام بستههای نصب شده
dpkg -l
# جستجوی بسته خاص
dpkg -l | grep package-name
# مشاهده اطلاعات یک بسته
dpkg -s package-name
# لیست فایلهای متعلق به یک بسته
dpkg -L package-name
عیبیابی با dpkg
dpkg –get-selections
# بازسازی پایگاه داده بستهها
sudo dpkg –configure -a
# رفع مشکلات وابستگی
sudo apt-get install -f
استفاده از apt: ابزار استاندارد مدیریت بسته
apt (Advanced Package Tool) ابزار اصلی و توصیه شده برای مدیریت بسته در دبیان است. این ابزار به طور خودکار وابستگیها را مدیریت میکند و از مخازن آنلاین بستهها را دریافت مینماید.
بهروزرسانی سیستم
sudo apt update
# بهروزرسانی بستههای نصب شده
sudo apt upgrade
# بهروزرسانی کامل سیستم (شامل ارتقای نسخه)
sudo apt full-upgrade
نصب و حذف بستهها
sudo apt install package-name
# نصب چندین بسته به طور همزمان
sudo apt install package1 package2 package3
# حذف بسته (نگهداری پیکربندی)
sudo apt remove package-name
# حذف کامل بسته
sudo apt purge package-name
# حذف بستههای غیرضروری
sudo apt autoremove
جستجو و اطلاعرسانی
apt search keyword
# نمایش اطلاعات بسته
apt show package-name
# لیست بستههای قابل ارتقا
apt list –upgradeable
# لیست تمام بستههای موجود
apt list
مدیریت مخازن
sudo apt clean
# پاکسازی کش جزئی
sudo apt autoclean
# ویرایش مخازن (با احتیاط)
sudo apt edit-sources
sudo apt update را اجرا کنید تا از آخرین نسخهها مطلع شوید.
aptitude: ابزار هوشمند مدیریت بسته
aptitude یک ابزار پیشرفتهتر است که قابلیتهای بیشتری نسبت به apt ارائه میدهد، به ویژه در مدیریت وابستگیهای پیچیده.
استفاده از رابط متنی aptitude
sudo aptitude
# استفاده از خط فرمان شبیه apt
sudo aptitude update
sudo aptitude install package-name
sudo aptitude remove package-name
قابلیتهای پیشرفته aptitude
aptitude search “~dweb server”
# نمایش بستههای نصب شده دستی
aptitude search “~i!~M”
# حل خودکار مشکلات
sudo aptitude safe-upgrade
# ارتقای تهاجمی (با احتیاط)
sudo aptitude full-upgrade
Synaptic: مدیر بسته گرافیکی
برای کاربرانی که محیط گرافیکی را ترجیح میدهند، Synaptic یک رابط کاربری قدرتمند ارائه میدهد.
نصب و راهاندازی Synaptic
sudo apt install synaptic
# راهاندازی
sudo synaptic
ویژگیهای کلیدی Synaptic
- مرور دستهبندی شده بستهها
- جستجوی پیشرفته
- مشاهده اطلاعات کامل بستهها
- مدیریت مخازن گرافیکی
- تاریخچه عملیات
tasksel: نصب گروههای نرمافزاری
tasksel برای نصب گروههای منطقی از بستهها طراحی شده است.
sudo tasksel
# نمایش وظایف موجود
tasksel –list-tasks
# نصب یک وظیفه خاص
sudo tasksel install task-name
مدیریت مخازن پیشرفته
ساختار فایل sources.list
cat /etc/apt/sources.list
# ساختار یک خط مخزن
deb http://ftp.debian.org/debian bookworm main contrib non-free
deb-src http://ftp.debian.org/debian bookworm main contrib non-free
افزودن مخازن شخصی
sudo add-apt-repository ppa:repository-name
# افزودن مخزن دستی
echo “deb http://example.com/debian stable main” | sudo tee -a /etc/apt/sources.list
امنیت در مدیریت بسته
امضای GPG مخازن
sudo apt-key add keyfile.asc
# بهروزرسانی کلیدها
sudo apt update
بررسی یکپارچگی بستهها
apt-get –print-uris download package-name
# اعتبارسنجی بستههای نصب شده
debsums -c
عیبیابی و حل مشکلات متداول
مشکلات وابستگی
sudo apt –fix-broken install
sudo dpkg –configure -a
sudo apt autoremove
مشکلات مخزن
sudo apt clean
sudo rm -rf /var/lib/apt/lists/*
sudo apt update
اسکریپتنویسی برای مدیریت بسته
اسکریپت بهروزرسانی خودکار
# اسکریپت بهروزرسانی خودکار سیستم
echo “Starting system update…”
sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y
echo “System update completed!”
مانیتورینگ بستهها
# مانیتور بستههای قابل ارتقا
upgrades=$(apt list –upgradeable 2>/dev/null | wc -l)
echo “Packages available for upgrade: $((upgrades-1))”
نتیجهگیری
مدیریت بسته در دبیان یک سیستم قدرتمند و انعطافپذیر است که با درک صحیح از سلسله مراتب ابزارهای مختلف، میتوانید سیستم خود را به طور مؤثر مدیریت کنید. هر ابزار جایگاه خاص خود را دارد و استفاده صحیح از هر یک میتواند در موقعیتهای مختلف مفید واقع شود.
استفاده از apt برای مدیریت روزمره بسته
در حالی که dpkg مستقیماً با فایلهای .deb کار میکند، apt ابزاری است که بیشتر اوقات از آن استفاده خواهید کرد زیرا به طور خودکار بستهها را از مخازن آنلاین دبیان دانلود کرده و هر وابستگی که نیاز دارند را نصب میکند، که apt را به ابزار ترجیحی برای نصب، حذف و بهروزرسانی روزمره نرمافزار تبدیل میکند.
ابزار apt برای عملیات نصب و حذف به دسترسی superuser نیاز دارد، بنابراین باید از sudo استفاده کنید یا این دستورات را به عنوان root اجرا کنید.
قبل از نصب هر نرمافزاری، ایده خوبی است که فهرست بستههای خود را بهروز کنید تا سیستم شما از آخرین نسخههای موجود مطلع شود:
برای نصب یک بسته و تمام وابستگیهای مورد نیاز آن، استفاده کنید:
برای حذف یک بسته در حالی که فایلهای پیکربندی آن باقی میمانند:
اگر میخواهید فایلهای پیکربندی را نیز حذف کنید (حذف تمیزتر)، استفاده کنید:
برای ارتقای تمام بستههای نصب شده به آخرین نسخههای آنها:
اگر از نام دقیق بسته مطمئن نیستید، میتوانید با کلیدواژه جستجو کنید، که فهرستی از بستههای مطابق همراه با توضیحات کوتاه نمایش میدهد.
apt فایلهای بسته دانلود شده را در سیستم شما نگه میدارد در صورتی که دوباره مورد نیاز باشند. با گذشت زمان، این کش میتواند بزرگ شود و برای آزاد کردن فضای دیسک، اجرا کنید:
مدیریت بستهها با ابزار aptitude
در حالی که apt معمولاً برای اکثر مدیریتهای روزمره بسته کافی است، اما aptitude ویژگیهای اضافی ارائه میدهد و اغلب میتواند موقعیتهای پیچیده وابستگی را مدیریت کند. در برخی موارد، که apt در حل تضادهای بسته یا ارتقا مشکل دارد، aptitude میتواند راهحلهای بهتری پیشنهاد دهد.
میتوانید aptitude را از خط فرمان بسیار شبیه به apt استفاده کنید:
با این حال، یکی از مزایای کلیدی aptitude این است که همچنین شامل یک رابط متنی تعاملی است که میتوانید با دستور زیر آن را باز کنید:

رابط متنی aptitude

مرور سازمانیافته بسته با aptitude
مزیت دیگر این است که aptitude پیگیری میکند که کدام بستهها به صورت دستی نصب شدهاند و کدام به طور خودکار به عنوان وابستگی نصب شدهاند. به همین دلیل، اغلب در تصمیمگیری اینکه کدام بستهها برای حذف ایمن هستند هنگام حذف نرمافزار بهتر عمل میکند، که به شما کمک میکند از حذف accidental چیزی مهم جلوگیری کنید.
استفاده از Synaptic برای مدیریت بسته گرافیکی
اگر ترجیح میدهید با یک رابط گرافیکی به جای خط فرمان کار کنید، Synaptic یک مدیر بسته کامل ارائه میدهد که روی apt ساخته شده است.
برای نصب Synaptic، اجرا کنید:
پس از نصب، میتوانید آن را از منوی برنامههای خود راهاندازی کنید، یا با اجرای:
Synaptic Package Manager
وقتی Synaptic باز میشود، دستههای بسته را در سمت چپ و فهرستی از بستهها را در سمت راست خواهید دید. Selecting a package will display details in the lower panel, including what the package does, which version is available, and what other packages it depends on.
خواندن اطلاعات بسته از طریق Synaptic
برای نصب یک بسته، روی آن راست-کلیک کنید و “Mark for Installation” را انتخاب کنید، که به طور خودکار any required dependencies را انتخاب میکند. پس از علامتگذاری تمام بستههای مورد نظرتان، روی “Apply” کلیک کنید تا نصب آغاز شود.
نصب بستهها با استفاده از Synaptic
از آنجایی که Synaptic بازخورد بصری درباره تضادهای بسته و تغییرات وابستگی قبل از نصب anything ارائه میدهد، به کاربران اجازه میدهد به وضوح effects of their actions را ببینند.
نصب گروههای بسته با tasksel
برخلاف ابزارهایی که روی بستههای فردی تمرکز میکنند، tasksel entire sets of related software at once نصب میکند، که به نام tasks, نامیده میشوند، و هر task شامل تمام بستههای مورد نیاز برای انجام یک نقش خاص در سیستم شما میشود، such as a web server, desktop environment, or mail server.
برای راهاندازی منوی تعاملی انتخاب task، اجرا کنید:
This will open a menu where you can browse available tasks and use the arrow keys to move around and the spacebar to select or deselect a task.

استفاده از منوی تعاملی Tasksel
اگر میخواهید tasks available را بدون باز کردن منو مشاهده کنید، استفاده کنید:

مشاهده وظایف موجود
برای نصب یک task خاص مستقیماً از خط فرمان، اجرا کنید:
در حالی که tasksel به طور less frequently during normal daily package management استفاده میشود، during system setup or when you want to install a full software environment in one step بسیار مفید است.