بهترین package manager ی که با آن کار کرده‌ام conary است که مربوط به توزیع‌های برپایه‌ی rPath است. در این مطلب سعی می‌کنم آن را مورد بررسی قرار دهم و نقاط برتری و ضعف آن را مرور کنم.

اولین چیزی که توجه من را جلب کرد روند ساده‌ی به‌روز کردن بسته‌ها بود. برای مثال فرض کنید امروز نسخه‌ی جدید GNOME-DO آمده است و من مشتاقم آن را نصب کنم. فقط کافیست به شاخه‌ی مخزن شخصی‌ام بروم و چند دستور ساده اجرا کنم تا آخرین نسخه‌ی گنوم-دو را داشته باشم:

cvc co gnome-do:source=foresight.rpath.org@fl:2
cd gnome-do
vim gnome-do.recipe # تغییر نسخه‌ی نرم‌افزار
cvc cook gnome-do.recipe

پس از انجام مراحل بالا فایلی شبیه به gnome-do-0.8.3.1.ccs در آن شاخه ساخته می‌شود که برای نصب آن sudo conary update gnome-do-0.8.3.1.ccs را اجرا می‌کنم و تمام! من آخرین نسخه‌ی گنوم-دو را دارم. البته این یک مثال بود زیرا گنوم-دو به صورت پیش فرض در توزیعی که من استفاده می‌کنم (foresight) قرار داده شده است و به دلیل rolling release بودن آن با فاصله‌ی کمتر از ۱ روز در دسترس خواهد بود. من برای تقویم جلالی یک روش تولید (recipe) نوشته‌ام و در مخزن شخصی‌ام نیز قرار داده ام که پیشنهاد می‌کنم نگاهی به آن انداخته تا سادگی ساختن بسته در conary را بهتر درک کنید (روش‌های تولید در conary با استفاده از python نوشته می‌شوند).

مورد بعدی که می‌خواهم به آن اشاره کنم قابلیت roll back است که در هیچ کم‌تر package manager دیگری ندیده‌ام وجود دارد (به‌روز رسانی). roll back چیست و چگونه کار می‌کند؟ اگر در توزیع خود بسته‌ای را به‌روز کنید و سیستم دچار مشکل شود به شکلی که دیگر بالا نیاید چه می‌کنید؟ conary این مشکل را با روشی بسیار عالی حل کرده است و شبیه به نرم‌افزار‌های مدیریت کد همانند git یا svn کار می‌کند. برای بازگرداندن سیستم به قبل از ایجاد مشکل کافی است سیستم را در حالت recovery بوت کنم و دستور sudo conary rollback 1 را اجرا کنم که conary در پشتیبان‌هایی که ایجاد کرده‌است می‌گردد و سیستم را به ۱ مرحله قبل باز می‌گرداند. البته لازم نیست فقط در مواردی که به مشکل برخورد کردید از آن استفاده کنید. اگر همانند من به آزمایش کردن نرم‌افزار‌ها علاقه دارید اما سیستمی پایدار نیاز دارید می‌توانید از این قابلیت استفاده کنید به این شکل که بسته‌ای از نرم‌افزاری که می‌خواهید آن را آزمایش کنید بسازید و نصب کنید پس از انجام آزمایش‌ها با استفاده از roll back بسته را به آخرین نسخه‌ی پایدار برگردانید تا همیشه سیستم در وضعیت پایدار باشد.

مورد آخر آن که conary جزو package manager های ۲رگه است همانند توزیع‌هایی چون جنتو، آرچ و … می‌توان از آن به ۲شکل binary و source برای نصب بسته‌ها استفاده کرد.

همان طور که پیش‌تر اشاره کرده بودم، من از fedora استفاده می‌کردم و هنوز هم فکر می‌کنم جزو بهترین توزیع‌های موجود است اما در conary تنها قابلیتی که کمبود آن را احساس می‌کنم مربوط به پلاگین presto است که جزو پلاگین‌های پیش فرض yum در fedora بود. این پلاگین به گونه‌ای عمل می‌کند که پهنای باند مصرفی را به شکل محسوسی در به‌روز رسانی‌ها کم می‌کند.

مطالعه‌ی بیش‌تر: Introduction to Foresight Linux

به‌روز رسانی: فدورا نیز از نسخه‌ی ۱۲ این قابلیت را پشتیبانی می‌کند (که نمی‌دانستم).