تخطط Fedora لاستبدال مدير حزم DNF بـ Microdnf

يعتزم مطورو Fedora Linux نقل التوزيع إلى مدير حزم Microdnf الجديد بدلاً من DNF المستخدم حاليًا. ستكون الخطوة الأولى نحو الترحيل هي التحديث الرئيسي لـ Microdnf المخطط لإصدار Fedora Linux 38، والذي سيكون قريبًا من وظائف DNF، بل ويتفوق عليه في بعض المناطق. يُشار إلى أن الإصدار الجديد من Microdnf سيدعم جميع إمكانيات DNF الأساسية، لكنه في الوقت نفسه سيحافظ على الأداء العالي والاكتناز.

الفرق الرئيسي بين Microdnf وDNF هو استخدام لغة C للتطوير، بدلاً من Python، مما يسمح لك بالتخلص من عدد كبير من التبعيات. تم تطوير Microdnf في الأصل كنسخة مجردة من DNF للاستخدام في حاويات Docker، والتي لا تتطلب تثبيت Python. يخطط مطورو Fedora الآن لجلب Microdnf إلى مستوى DNF وفي النهاية استبدال DNF بالكامل بـ Microdnf.

أساس Microdnf هو مكتبة libdnf5، التي تم تطويرها كجزء من مشروع DNF 5. الفكرة الرئيسية لـ DNF 5 هي إعادة كتابة عمليات إدارة الحزم الأساسية في C++ ونقلها إلى مكتبة منفصلة مع إنشاء غلاف حول هذا مكتبة لحفظ Python API.

سيستخدم الإصدار الجديد من Microdnf أيضًا عملية DNF Daemon في الخلفية، لتحل محل وظيفة PackageKit وتوفر واجهة لإدارة الحزم والتحديثات في البيئات الرسومية. على عكس PackageKit، سيوفر DNF Daemon الدعم لتنسيق RPM فقط.

من المقرر أن يتم تسليم Microdnf وlibdnf5 وDNF Daemon في المرحلة الأولى من التنفيذ بالتوازي مع مجموعة أدوات DNF التقليدية. بمجرد اكتمال المشروع، ستحل الحزمة الجديدة محل الحزم مثل dnf، وpython3-dnf، وpython3-hawkey، وlibdnf، وdnfdragora، وpython3-dnfdaemon.

من بين المجالات التي يتفوق فيها Microdnf على DNF: المزيد من المؤشرات المرئية لتقدم العمليات؛ تحسين تنفيذ جدول المعاملات؛ القدرة على عرض معلومات المعاملات المكتملة التي تنتجها البرامج النصية المضمنة في الحزم في التقارير؛ دعم استخدام حزم RPM المحلية للمعاملات؛ نظام إكمال الإدخال الأكثر تقدمًا لـ bash؛ دعم تشغيل أمر builddep دون تثبيت Python على النظام.

من بين عيوب تحويل التوزيع إلى Microdnf، هناك تغيير في بنية قواعد البيانات الداخلية ومعالجة قاعدة البيانات المنفصلة عن DNF، مما لن يسمح لـ Microdnf برؤية المعاملات مع الحزم التي يتم إجراؤها في DNF والعكس صحيح. بالإضافة إلى ذلك، لا تخطط شركة Microdnf للحفاظ على التوافق بنسبة 100% في DNF على مستوى الأوامر وخيارات سطر الأوامر. سيكون هناك أيضًا بعض التناقضات في السلوك. على سبيل المثال، لن يؤدي حذف الحزمة إلى إزالة التبعيات المرتبطة بها والتي لا تستخدمها الحزم الأخرى.

المصدر: opennet.ru

إضافة تعليق