اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

DNF - نسل بعدی ابزار مدیریت Package برای توزیع های مبتنی بر RPM

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    DNF - نسل بعدی ابزار مدیریت Package برای توزیع های مبتنی بر RPM

    اخیرا خبری توجه بسیاری از کاربران، متخصصین و کارآموزان لینوکس را به خود جلب کرده، DNF (که این نام مخفف عبارت خاصی نیست) قرار است با ابزار مدیریت پکیج YUM در توضیع های مختلفِ viz. ،Fedora ،CentOS ،RedHat و غیره جایگزین شود.

    خبر بسیار عجیبی بود از آنجاییکه Package Manager یکی از بخش های اصلی پیوست شده به توزیع لینوکس می باشد که مسئول نصب و بروزرسانی و پاک کردن Package هاست.

    YUM (مخفف Yellowdog Updater,Modified) یک ابزار رایگان و Open-Source (کامندلاینی) است که تحت لایسنس عمومی GNU منتشر شده است و در درجه اول با زبان برنامه نویسی Python نوشته شده است. YUM برای مدیریت و بروزرسانی لینوکس RedHat در دانشگاه Duke توسعه داده شد، بعدها که بیشتر شناخته شد و به Package Manager برای لینوکسِ RedHat Enterprise و Fedora و CentOS و دیگر توزیع های بر اساس RPM تبدیل شد. معمولآ در میان متخصصین لینوکس با عنوان غیر رسمیِ "Your Package Manager" نام برده می شود.




    ایده جایگزینی YUM با DNF

    ایل کُزامپیلگ (Ale KozumPlik)، توسعه دهنده پروژه DNF و یکی از کارمندان RedHat است، او می گوید :

    اولین بار در سال 2009 در حالی که بر روی Anaconda که یک System Installer است کار می کرد، بینش عمیقی با کار با لینوکس پیدا کرد. او می خواست بر روی یک پروژه کاملآ متفاوت کار کند که به او اجازه دهد ابزار Packaging در Fedora را کاوش کند.

    او گفت از توضیح این که DNF مخفف چیزی نیست خسته شده بود، در واقع کل ماجرا این بود که DNF فقط یک نام بود برای یک Package Manager، همین و بس. از آنجا که باید طوری نامگذاری می شد که با YUM تفاوت داشته باشد پس DNF نامگذاری شد.


    نقاط ضعف YUM که منجر به پایه گزاری DNF شد :
    • ابزار YUM برای نصب یک پکیج ابتدا تمامی پکیج های پیش نیاز را نصب می کند (Dependency Resolution) و این یک کابوس تمام عیار است که در DNF این مشکل با استفاده از کتابخانه “libsilv” در SUSE و Python Wrapper همراه با C Hawkey حل شده است.
    • YUM هیچ گونه API داکیومنت شده ای ندارد.
    • افزودن قابلیت های جدید در آن مشکل است.
    • برای توسعه آن تنها باید از PYTHON استفاده کرد.
    • memory زیادی مصرف می کند و metadata synchronization در سطح بسیار پایینی صورت می گیرد – در واقع یک فرایند زمان بر است.



    ایل کُزامپیلگ می گوید که : "راهی جز تغییر مسیر از yum و توسعه ی dnf ندارم. YUM Package Maintainer آماده پیاده سازی این تغییرات نبود. YUM حدود 59000 خط کد (LOC) می باشد در حالی که DNF تعداد 29000 عدد کد دارد. (LOC مخفف Lines of Code می باشد)


    توسعه DNF :

    DNF اولین بار در Fedora 18 منتشر شد. Fedora 20 اولین توزیع لینوکس بود که استفاده از قابلیت DNF را در اختیار کاربران خود قرار داد.
    از چالش های تکنیکی که DNF در حال حاضر با آن روبروست اجرای همهً توابع YUM است. برای یک کاربر معمولی، DNF امکان نصب، دانلود، بروزرسانی ، Downgrade و حذف پکیج ها را فراهم می آورد. هر چند هنوز در مورد خصیصه هایی همچون نادیده گرفتن پکیج های معیوب در حین نصب، اشکال زدایی، خروجی های طولانی، قابلیت ذخیره سازی، خذف بسته در حین نصب و غیره پشتیبانی کمی دارد و یا اصلا پشتیبانی وجود ندارد.


    DNF و مقایسه سوابق آن :
    • اثری بر سوییچ های –skip-broken ندارد.
    • فرمان Update برابر Upgrade می باشد.
    • فرمان resolvedep غیر قابل دسترسی است.
    • گزینهً Skip_if_unavailable به صورت پیش فرض ON است.
    • پروسهً Dependency Resolving در خط فرمان قابل مشاهده نمی باشد.
    • قابلیت Undo History
    • Delta RPM
    • Bash Completion
    • Auto-remove و غیره



    ادغام DNF با Fedora و متعاقبا در غالب فضای بیزینسی، بارها و بارها توسط RHEL مورد درخواست شده است. آخرین ورژن موجود DNF 0.6.0 می باشد که در 12 آگوست سال 2014 وارد بازار شد.


    تست فرمان های DNF :

    نصب dnf در Fedora و متعاقبا در RHEL/CentOS با استفاده از دستور زیر انجام می گیرد
    کد:
    #yum install dnf

    Usage Synopsis
    کد:
    dnf [options] <command> [<argument>]

    نصب یک پکیج
    کد:
    # dnf install <name_of_package>

    حذف یک پکیج
    کد:
    # dnf remove <name_of_package>

    بروزرسانی و ارتقآ سیستم
    کد:
    # dnf update
    # dnf upgrade
    توجه : همانطور که پیشتر گفته شد فرمان های update و upgrade برابر می باشند. پس آیا این پکیج قرار است چیزی مانند Rolling Release را پیاده سازی کند؟ این سئوالی است که در آینده به آن می پردازیم.

    محل پیش فرض فایل پیکربندی DNF در مسیر /etc/dnf/dnf.conf قرار دارد.

    آینده پروژه DNF :
    هدف پروژه ایجاد بررسی و موشکافی بیشتر و همچنین داکیومنت کردن کامل پروژه می باشد. پروژه هنوز بسیار جوان است و برای کامل شدن آن نیاز به حمایت متخصصین دارد. هنوز تعداد زیادی از توابع باید منتقل شوند و این زمانبر است. DNF به صورت رسمی در Fedora 22 منتشر خواهد شد.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 02-08-2021, 06:57 PM.

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی
در حال انجام ...
X