In der Fedora 41-Ausgabe wird vorgeschlagen, das Standard-Distribution auf den Paketmanager DNF5 umzustellen. UrsprĂŒnglich war geplant, den Wechsel zu DNF5 in der Fedora 39-Ausgabe vorzunehmen, doch die Migration wurde aufgrund mangelnder Bereitschaft der Werkzeuge verschoben. Obwohl die vollstĂ€ndige ParitĂ€t in der FunktionalitĂ€t mit dem alten Werkzeug noch nicht erreicht ist, sind die Entwickler der Meinung, dass das Distribution bereit fĂŒr die Migration ist und fehlende Funktionen spĂ€ter implementiert werden können. Der Vorschlag wurde bislang nicht vom FESCo-Ausschuss (Fedora Engineering Steering Committee), der fĂŒr die technische Entwicklung des Fedora-Distribution verantwortlich ist, geprĂŒft. Im Falle der Annahme des Vorschlags werden die Pakete dnf, libdnf und dnf-cutomatic durch das DNF5-Tool und die neue Bibliothek libdnf5 ersetzt, und der symbolische Link /usr/bin/dnf wird auf die ausfĂŒhrbare Datei dnf5 zeigen.
DNF ersetzte einst den Paketmanager Yum im Distribution, der komplett in Python geschrieben war. In DNF wurden leistungsintensive Low-Level-Funktionen neu geschrieben und in separate C-Bibliotheken wie hawkey, librepo, libsolv und libcomps ausgelagert, wÀhrend der Rahmen und die High-Level-Komponenten in Python verblieben. Das DNF5-Projekt zielt darauf ab, die bestehenden Low-Level-Bibliotheken zu vereinheitlichen, die verbleibenden in Python geschriebenen Paketverwaltungs-Komponenten in C++ neu zu implementieren und die Grundfunktionen in eine separate Bibliothek libdnf5 auszulagern, um rund um diese Bibliothek eine Bindung zu schaffen und die Python-API zu erhalten.
Die Verwendung der Programmiersprache C++ anstelle von Python ermöglichte es, eine groĂe Anzahl von AbhĂ€ngigkeiten zu beseitigen, die GröĂe des Werkzeugs zu reduzieren und die Leistung zu steigern. Die höhere Leistung wird nicht nur durch die Kompilierung in Maschinencode erreicht, sondern auch durch eine verbesserte Implementierung der Transaktionstabelle, die Optimierung des Ladens aus Repositories und die Restrukturierung der Datenbank (Systemzustands- und Operationsverlauf-Datenbanken wurden getrennt). Das DNF5-Werkzeug ist von der AbhĂ€ngigkeit zu PackageKit befreit, stattdessen wird ein neuer Hintergrundprozess DNF Daemon verwendet, der die FunktionalitĂ€t von PackageKit ersetzt und eine Schnittstelle fĂŒr die Verwaltung von Paketen und Updates in grafischen Umgebungen bereitstellt.
Die Ăberarbeitung ermöglichte auch die Umsetzung einiger Verbesserungen, die den Umgang mit dem Paketmanager erleichtern. So bietet der neue DNF eine anschaulichere Fortschrittsanzeige fĂŒr die DurchfĂŒhrung von Operationen; die UnterstĂŒtzung der Verwendung lokaler RPM-Pakete fĂŒr Transaktionen wurde hinzugefĂŒgt; die Möglichkeit, in Berichten ĂŒber durchgefĂŒhrte Transaktionen Informationen, die von in die Pakete eingebetteten Skripten (scriplets) ausgegeben werden, anzuzeigen, wurde eingefĂŒhrt; ein fortschrittlicheres System zur automatischen VervollstĂ€ndigung bei der Eingabe fĂŒr bash wurde vorgeschlagen.
Quelle: opennet.ru
