Fedora 39 soll auf DNF5 umgestellt werden, ohne Python-Komponenten

Ben Cotton, Fedora-Programmmanager bei Red Hat, gab seine Absicht bekannt, Fedora Linux standardmäßig auf den DNF5-Paketmanager zu migrieren. Fedora Linux 39 plant, die Pakete dnf, libdnf und dnf-cutomatic durch das DNF5-Toolkit und die neue libdnf5-Bibliothek zu ersetzen. Der Vorschlag wurde noch nicht vom FESCo (Fedora Engineering Steering Committee) geprüft, das für den technischen Teil der Entwicklung der Fedora-Distribution verantwortlich ist.

DNF ersetzte einst Yum, das vollständig in Python geschrieben war. In DNF wurden leistungsintensive Low-Level-Funktionen neu geschrieben und in die separaten C-Bibliotheken Hawkey, Librepo, libsolv und libcomps verschoben, das Framework und die High-Level-Komponenten blieben jedoch in Python. Das DNF5-Projekt zielt darauf ab, die vorhandenen Low-Level-Bibliotheken zu vereinheitlichen, die verbleibenden Python-Paketverwaltungskomponenten in C++ neu zu schreiben und die Grundfunktionalität in eine separate libdnf5-Bibliothek zu verschieben, indem eine Bindung um diese Bibliothek herum erstellt wird, um die Python-API zu bewahren.

Durch die Verwendung von C++ anstelle von Python werden viele Abhängigkeiten beseitigt, die Größe des Toolkits verringert und die Leistung verbessert. Eine höhere Leistung wird nicht nur durch die Kompilierung in Maschinencode erreicht, sondern auch durch eine verbesserte Implementierung der Transaktionstabelle, Optimierung des Ladens aus Repositorys und Umstrukturierung der Datenbank (Datenbanken mit Systemstatus und Betriebsverlauf werden getrennt). Das DNF5-Toolkit wurde von PackageKit entkoppelt, mit einem neuen Hintergrundprozess, DNF Daemon, der die PackageKit-Funktionalität ersetzt und eine Schnittstelle zum Verwalten von Paketen und Updates in grafischen Umgebungen bereitstellt.

Durch die Überarbeitung können auch einige Verbesserungen umgesetzt werden, die die Benutzerfreundlichkeit des Paketmanagers erhöhen. Beispielsweise implementiert das neue DNF eine visuellere Anzeige des Betriebsfortschritts; Unterstützung für die Verwendung lokaler RPM-Pakete für Transaktionen hinzugefügt; Möglichkeit hinzugefügt, in den Berichten über abgeschlossene Transaktionen Informationen anzuzeigen, die von in Paketen integrierten Skripten (Scriptlets) ausgegeben werden; schlug ein fortschrittlicheres Eingabevervollständigungssystem für Bash vor.

Source: opennet.ru

Kommentar hinzufügen