Das FESCo-Komitee (Fedora Engineering Steering Committee), das fĂŒr den technischen Teil der Entwicklung der Fedora Linux-Distribution verantwortlich ist, hat die standardmĂ€Ăige Verwendung des Paketmanagers DNF5 in der Herbstversion von Fedora 41 genehmigt. Die Pakete dnf, libdnf und dnf-cutomatic werden in Fedora 41 durch das DNF5-Toolset und die neue Bibliothek libdnf5 ersetzt, und der symbolische Link /usr/bin/dnf wird auf die ausfĂŒhrbare Datei dnf5 verweisen.
Obwohl die vollstĂ€ndige ParitĂ€t in der FunktionalitĂ€t mit dem alten Toolset noch nicht erreicht ist, sind die Entwickler der Meinung, dass die Distribution fĂŒr die Migration bereit ist und fehlende Funktionen spĂ€ter implementiert werden können. Beispielsweise ist die Funktion, die mit der Verwaltung der Transaktionshistorie verbunden ist, die der Befehl âdnf historyâ nutzt, derzeit nicht verfĂŒgbar. Die Integration der UnterstĂŒtzung fĂŒr den Hintergrundprozess dnf5daemon in den GNOME Software-Anwendungsmanager ist ebenfalls noch nicht abgeschlossen. Der Mechanismus zum Aktualisieren des gesamten Systems auf die nĂ€chste Version (Befehl system-upgrade) erfordert zusĂ€tzliche Tests.
Einst kam DNF anstelle des Paketmanagers Yum, der vollstĂ€ndig in Python geschrieben war, in die Distribution. In DNF wurden die leistungsintensiven Low-Level-Funktionen umgeschrieben und in separate C-Bibliotheken wie hawkey, librepo, libsolv und libcomps ausgelagert, wĂ€hrend das GerĂŒst und die High-Level-Komponenten in Python blieben. Das DNF5-Projekt zielt darauf ab, die vorhandenen Low-Level-Bibliotheken zu vereinheitlichen, die in Python verbliebenen Paketverwaltungs-Komponenten in C++ neu zu schreiben und die grundlegende FunktionalitĂ€t in eine separate Bibliothek libdnf5 auszulagern, um rund um diese Bibliothek ein Bindeglied zur Erhaltung der Python-API zu schaffen.
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
