در بین توزیعهای گنو/لینوکس، مدیربستههای متفاوتی وجود داره که از بین اونها میتونیم به YUM، APT، ZYPPER، PACMAN و …. اشاره کرد که هرکدام از اینها، در بین کاربرها بسیار محبوب هستند. براساس تجربهی شخصی خودم در استفاده از تعدادی از این مدیربستهها، یام (yum) رو از همه بیشتر دوست دارم. کار با یام در عین قدرت فراوانی که داره، بسیار ساده و لذت بخش هست. اما بنابه دلایلی، توسعهدهندهان پروژه فدورا تصمیم به استفاده از یک مدیربستهی جدید در نسخههای آتی گرفتهاند.
DNF از یام فورک شده و در واقع مثل فرزند اون عمل میکنه. این مدیر بسته از کتابخانهی libsolv که در توزیع اوپن سوزی برای مدیر بستهی محبوبشون Zypper استفاده شده استفاده می کنه و توسعهدهندههای DNF قرار هست تجربهای بسیار بسیار نزدیک و مشابه با YUM را در اختیار کاربران قرار دهند. اگه قرار هست طبق برنامهریزیها در فدورای ۲۲، با این مدیربسته کار کنیم، پس بد نیست که کمی باهاش آشنا شیم.
اما چرا DNF؟ وقتی این پرسش به ذهنتون بیاد و به دنبال پاسخ اون توی فضای مجازی بگردید، با پاسخ های قانع کنندهای تحت عنوانهای عملکرد بهتر، سرعت بیشتر و … خواهید رسید. البته، اینها برای یک کاربر فدورا کاملا قانع کننده هستند چرا که بسیاری از این کاربرها، بعد از سالها استفاده از این توزیع حالا دیگه از تصمیمهای توسعهدهندههای این پروژه بسیار مطمئن هستند و به راحتی بهشون اعتماد میکنند. اماوقتی کمی به این مسئله فکر کنیم، پاسخ ها کم کم خودشون رو نشون میدن.
همونطور که میدونیم، گنوم نرمافزاری تحت عنوان GNOME Software را در حال توسعه داره. این نکته رو هم باید قبول کنیم که یام با تمامی قدرتهای فراوانش هیچ وقت نتوانست یک API خوب برای GUI ها فراهم کنه. از اونجا که بسیاری از توسعه دهندههای گنوم و فدورا مشترک هستند، این مسئله کاملا درسته که توسعهدهندههای فدورا تصمیم بگیرن تا مدیر بستهای را طراحی کنند که دارای یک API شفافتری نسبت به یام باشه.
البته بعد از گفتن این موضوع شاید در ذهن بعضی افراد این پرسش به وجود بیاد که خب، چرا بجای استفاده از یک مدیر بستهی جدید، API یام را سر و سامان نمیدهند؟ در پاسخ به این پرسش باید گفت که، تنها داشتن یک API خوب و ساده برای استفاده کافی نیست. یام با پایتون نوشته شده و برقراری ارتباط به وسیلهی اون با سایر زبانها به غیر از پایتون کمی دشوار هست. اما نکتهی دیگری که قرار هست در DNF بهبود پیدا کنه، آسانسازی اتصال به زبانهای دیگر هست که در پی اون، متعلقاتی که بخواد با DNF کار کنه، لازم نیست حتما با پایتون نوشته بشه.
نکتهای که بسیاری از کاربران بیان کردند، این پرسش هست که چرا بجای ساخت یک مدیربستهی جدید، از مدیر بستههای موجود مثل zypp و یا zif که از ابتدا طراحی شده بود تا جایگزین یام بشود استفاده نمی کنند؟ پاسخ این پرسش بسیار ساده هست، توسعهدهندههای فدورا (و صد البته ردهت) همواره ترجیح میدن بجای استفاده از ساختهی دیگران، خودشون اون رو بسازند. که این موضوع شامل DNF هم میشه.
از این دلایل که بگذریم، می رسیم به استفاده از DNF!
استفاده از DNF به هیچ وجه ترسناک نیست، چرا که قرار نیست دستورات اون تفاوتی با YUM دوست داشتنی داشته باشه. دستورات نصب کردن برنامه، پاک کردن برنامه، بروزرسانی و … کاملا همون دستورات یام هستند و تنها کاری که در استفاده در DNF باید انجام داد، جایگزین کردن dnf با yum خواهد بود.
وقتی به لیست دستوراتی که برای DNF آماده شده نگاه میکنیم، متوجه میشویم در حال حاظر بعضی از دستورات به صورت تمام و کمال آماده نشدند اما مطمئنا به زودی اون دستورات رو هم در DNF خواهیم دید.
سخن آخر:
به شخصه، یکی از دلایل عمده علاقهام به فدورا، یام دوست داشتنی هست. دلایل زیادی هم برای این علاقه دارم. یام قدرتمنده، کار باهاش بسیار سادست، طراحیش بسیار شکیل و قابل لمس هست، وقتی زیاد از خط فرمان استفاده کنید، سرعت کار باهاش واستون لذت بخش ِ، به همین دلیل یکی دیگر از دلیل هام سهولت نوشتن YUM در ترمینال هست. در هرصورت، توسعه دهنده ها بعد ازتقریبا ۲۰ نسخه استفاده از یام، حالا به فکر تغییر اون افتادند. امیدوارم استفاده از DNF، مانند آناکندای جدید شبیه گذشتن از یک بازی چند مرحلهای، همراه با غول آخر نباشه .