In Fedora 41 ist der Wechsel zu dem Paketmanager DNF5 geplant

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

60GB SSD 8Gb DDR4