معرفی 8 مدیر بسته (Package Manager) برای لینوکس
توزیع های مختلف دارای مدیران بسته (Package Manager) متفاوتی هستند زیرا یک مدیر بسته خاص یک بسته خاص را مدیریت میکند. یک مدیر بسته با یک توزیع خاص سازگار است. برای مدیریت مناسب یک سیستم، کاربر باید بهترین مدیر بسته را برای یک توزیع شناسایی کند. در این مطلب چند نمونه از بهترین مدیران بسته برای هر توزیع را ارائه خواهم کرد.
Package Manager چیست؟
برای دانلود، نصب، حذف و ارتقاء بستهها میتوان از نرمافزاری استفاده کرد که مدیریت بستهها را آسانتر میکند. مدیران بسته بیشتر فرآیند مدیریت را ساده و به مدیریت کارآمد سیستم کمک میکنند. تمام وابستگیها (dependencies) و متادیتا (metadata) را فهرست میکند که به کاربر کمک مینماید تا از گم شدن اطلاعات جلوگیری کند.
نکات کلیدی برای انتخاب مدیر بسته
هنگام انتخاب مدیر بسته، باید نکات کلیدی را در نظر بگیرید. مدیر بسته انتخابی باید این نکات را داشته باشد در غیر این صورت به درستی از آن استفاده نخواهد شد. در زیر برخی از نکات کلیدی را هنگام انتخاب مدیر بسته نشان داده ام:
- برای پشتیبانی از نصب بسته، وابستگیها را بررسی و حل کنید.
- تمام اجزای سیستم را بررسی کنید.
- از آنجایی که کاربر عادت دارد بستهها را به صورت رایگان دانلود و نصب کند، باید یک ابزار رایگان باشد.
- باید متادیتای هر بسته که شامل نسخه و توضیحات است فهرست و ذخیره شود.
- یک ابزار خودکار سازماندهی شده که دستورات لینوکس را با هم انجام میدهد.
- از آنجایی که نصب دستی زمان زیادی را صرف میکند، ابزار باید در زمان مدیریت بسته صرفه جویی کند.
چگونه تصمیم بگیریم که کدام مدیر بسته بهترین است
توزیعهای مختلف دارای پکیج منیجرهای مختلف هستند. شما فقط میتوانید از یک مدیر بسته در یک توزیع استفاده کنید. بنابراین اینکه کدام مدیر بسته بهتر است به توزیع بستگی دارد زیرا نمیتوان یک مدیر بسته DNF را برای توزیع مبتنی بر دبیان انتخاب کرد. برای یک توزیع خاص، چندین مدیر بسته وجود دارد. بنابراین در بین این مدیران بسته، باید نکات کلیدی را مشاهده کنید که مدیر بسته را بهترین خواهد کرد. در زیر نکات کلیدی را نشان داده ام:
- سرعت: مدیریت بستهای را انتخاب کنید که نتایج سریعتری از جمله نصب و بهروزرسانی فایلهای بزرگ را نشان میدهد.
- کاربر پسند: مدیر بسته باید یک حالت تعاملی داشته باشد که به فرد کمک میکند تغییرات را بررسی و تایید کند و در عین حال تغییرات قابل توجهی ایجاد میکند و یک رابط کاربر پسند که به فرد کمک مینماید به روز رسانی نصب را بداند.
- استفاده آسان: سینتکس ساده دستورات که به افراد مبتدی کمک میکند تا آنها را به خاطر بسپارد.
- ویژگیها: برای مدیریت موثر نرم افزار باید دارای ویژگیهای مختلف و پیشرفته باشد.
- توسعه یکپارچه: گردش کار باید برای توسعه دهندگان آسان باشد.
معرفی هشت مدیر بسته توزیعهای مختلف در لینوکس
اینکه کدام مدیر بسته بهتر است به توزیع و به ترجیح کاربران بستگی دارد. در ادامه من برخی از بهترین مدیران بسته در توزیعهای مختلف را طبق نظر خود معرفی و پیشنهاد میکنم:
Advanced Packaging Tool (APT)
Apt برای نصب، حذف و ارتقای بستهها در توزیع لینوکس مبتنی بر دبیان استفاده میشود. Apt یک مدیریت بسته است که به کاربر کمک میکند تا سیستم را یکپارچه مدیریت کند، در واقع فرانتاند مدیریت بسته dpkg است با پسوند فایل .deb است. Apt وابستگیها را به طور خودکار resolve میکند. برخی از ویژگیهای کلیدی مدیریت بسته که در زیر نشان داده شده است:
ویژگیهای کلیدی
- کاربر پسد: Apt یک رابط کاربر پسند ارائه میدهد که شامل نوار پیشرفت و حالت تعاملی است. استفاده از آن برای مبتدی آسان است.
- ویژگی پین کردن: Apt قابلیت پین کردن را دارد که به کاربر کمک میکند نسخههای مختلف بستهها را از مخازن مختلف نصب کنید. همچنین زمانی که بیش از دو بسته از وابستگیهای یکسان استفاده میکنند، از ارتقا جلوگیری مینماید.
- پشتیبانی از فلگ (پرچم): Apt پرچمهای اضافی مانند -y یا -yes و -s یا -simulate -y را ارائه میکند.
نقاط ضعف
- افزودن یک مخزن اضافی می تواند پیچیدگی را برای مدیر بسته Apt ایجاد کند.
- بدون تطبیق پذیری (versatility) برای کامند.
Yellowdog Updater Modifier (YUM)
مدیر بسته YUM در توزیع لینوکس مبتنی بر RedHat استفاده میشود که میتوانید با نصب، حذف و به روز رسانی بستهها، نرم افزار را مدیریت کنید. yum مدیر بسته پیش فرض در RedHat و در واقع فرانتاند برای مدیر بسته RPM است. برخی از ویژگیهای کلیدی مدیریت بسته که در زیر نشان داده شده است:
ویژگیهای کلیدی
- در حین نصب، وضوح وابستگی را ارائه میدهد.
- سینتکس ساده
- مدیریت بستههای سطح بالا
- پشتیبانی از افزونهای که عملکرد را افزایش میدهد.
نقاط ضعف
- استفاده بیش از حد از حافظه
- API به طور کامل داکیومنت نشده است.
Dandified YUM (DNF)
مدیر بسته Dnf در توزیع لینوکس مبتنی بر RedHat و مشتقات آن استفاده شده و جانشین yum که همچنین مدیر بسته RedHat است. بنابراین Dnf مدیر بسته بهتری برای توزیع RedHat است. روی بستههای rpm که پسوند rpm. دارند کار میکند. بررسی ویژگیهای کلیدی این پکیج منیجر، آن را به بهترین مدیر بسته تبدیل میکند.
ویژگیهای کلیدی
- هنگام همگام سازی (synchronizing) متادیتا از حافظه کمتری استفاده میکند.
- از API کاملا مستند استفاده کنید.
- طراحی ماژولار دارد.
- شبکه کارآمد
- بهبود الگوریتم حل کننده وابستگی (dependency solver)
- پلاگینهای یکپارچه تر با کرنل
- گزارش خودکار باگ
نقاط ضعف
- جامعه حمایتی کوچک
Synaptic
مدیر بسته های گرافیکی Synaptic همان ویژگیهایی را ارائه میدهد که apt-get و apt در توزیعهای لینوکس مبتنی بر دبیان مانند Ubuntu، Linux Mint و Debian استفاده میشود. سیناپتیک در بالای apt یا apt-get کار میکند. کاربرانی که با رابط گرافیکی راحت هستند معمولا از مدیر بسته Synaptic استفاده میکنند.
ویژگیهای کلیدی
- رابط کاربر پسند
- از آنجایی که سبک وزن است به همین دلیل سرعت بالایی را ارائه میدهد.
- ارتقای هوشمند را انجام دهید
- ارائه عملکرد فیلتر
- قابلیت پین کردن در دسترس است
نقاط ضعف
- مدیر بسته پیش فرض نیست. اگر کسی به آن نیاز دارد، باید آن را روی دبیان نصب کند.
- عدم وجود امکانات پیشرفته
Pacman Package Manager
Pacman مدیر بستهای است که در توزیع Arch-Linux و مشتقات آن استفاده میشود. برای مدیریت سیستم با نصب، حذف و ارتقای بستهها استفاده میشود. این پکیج منیجر در واقع فرانتاند برای هیچ مدیر بسته بکاندی نیست.
ویژگیهای کلیدی
- سرعت بالا: یک پکیج منیجر سبک وزن است که به طور کامل به زبان C نوشته شده به همین دلیل، سریع ترین مدیر بسته است و سرعت بالایی را در دانلود و ارتقای بزرگترین بستهها ارائه میدهد.
- در دسترس بودن بسته: به همین دلیل دارای مدل انتشار چرخشی (rolling release) است، بسته ها به روزتر هستند.
- سفارشی سازی: هنگامی که یک بسته نصب میشود، pacman امکاناتی را در اختیار کاربر قرار میدهد تا آن را مطابق با اولویت خود سفارشی کند.
نقاط ضعف
- هیچ مدیر بستهای با رابط کاربری گرافیکی به طور رسمی پشتیبانی نمیشود.
Zypp
Zypp مدیر بسته توزیعهای لینوکس SUSE و مشتقات آن است. مدیر بسته دیگر YaST است. ابزار خط فرمان مدیر بسته Zypper است. این مدیر بسته در واقع فرانتاندی است که از RPM به عنوان بکاند استفاده میکند.
ویژگیهای کلیدی
- سینتکس ساده دستوری آن را برای مبتدیان دوست دارد
- مدیر بسته با ویژگیهای غنی
- سرعت بالا و سفارشی سازی
- پشتیبانی از قابلیت بازگشت
نقاط ضعف
- مخزن بسته بسیار کوچک است
Portage
مدیر بسته Portage معمولا برای توزیع جنتو استفاده میشود و این توزیع به دلیل انعطاف پذیری Portage از توزیع متا استفاده میکند. Partage مدیر بستهای source-based است که از پسوند فایل .ebuild استفاده مینماید. نصب را با بسته بندی موازی، انعطاف پذیری و قابلیت پیکربندی فراهم میکند.
ویژگیهای کلیدی
- مسائل مربوط به تعارض وابستگی را با نصب کتابخانهها و کامپوننتهای لازم حل کنید.
- سیستم تفکیک وابستگی قوی
- سفارشی سازی سطح بالا
- سیستم را به طور مداوم بدون ارتقای نسخهها به روز کنید.
نقاط ضعف
- مدیریت نرم افزار برای یک مبتدی دشوار است.
- کاربر پسند نیست.
Snap
اسنپ یک مدیریت بسته است که در توزیعهای مختلف لینوکس استفاده میشود. از ابزار snapd برای مدیریت بستههای اسنپ استفاده میکند. این فرمت بسته خاص خود را دارد که امکان استفاده از آن را در هر توزیع لینوکس فراهم میکند.
ویژگیهای کلیدی
- استحکام: به روز رسانی خودکار که آن را به روز نگه میدارد.
- قابلیت اطمینان: از آنجایی که از rollback پشتیبانی میکند، اگر یک به روز رسانی بسته با شکست مواجه شود، به آخرین به روز رسانی برمیگردد.
- ماژولار: قابل استفاده مجدد و سازگار در سراسر توزیع
- نسخههای چندگانه: چندین نسخه از بسته قابل نصب است.
نقاط ضعف
- اندازه بزرگتر که از فضای دیسک بزرگ استفاده میکند.
- عدم سفارشی سازی
خرید سرور مجازی در پنج موقعیت جغرافیایی ایران، ترکیه، هلند، آلمان و آمریکا با قابلیت تحویل آنی در پارسدو فراهم است.
مقایسه مدیران بسته در لینوکس
در ادامه رابط کاربری گرافیکی و پشتیبانی نصب را برای مدیران بستههای مختلف نشان دادیم:
GUI enabled | Install from URL support | Binary /Source | Package Name |
---|---|---|---|
Yes | No | Binary | APT |
Yes | Yes | Binary | DNF |
Yes | Yes | Binary | YUM |
Yes | No | Graphical frontend for binary | Synaptic |
No | Yes | Binary | Pacman |
No | No | Source | Portage |
Yes | Yes | Binary | ZYPP |
No | No | Binary | Snap |
عملکرد بهینه مدیران بسته
در زیر برخی از عملکردها را نشان دادیم که توسط مدیر بسته خاص بهتر انجام میشوند:
- قابلیت سفارشی سازی: Portage
- کاربرپسندی: DNF، YUM، Synaptic
- ویژگی غنی: Zypp، DNF
- سرعت بالا: Pacman، Portage
- استحکام: snap، pacma، Portage
جمعبندی
من سعی کردم در این مطلب بهترین مدیر بسته را معرفی کنم. بر اساس عملکردی مانند سرعت، در دسترس بودن ویژگیها و تجربه کاربر، بهترین مدیر بسته در لینوکس مرتب شده است. اما اینکه کدام یک باید در یک توزیع خاص استفاده شود به ترجیح کاربر بستگی دارد.