In Fedora 39 ist der Übergang zu DNF5 geplant, das von Komponenten in Python befreit ist.

Ben Cotton, der bei Red Hat als Fedora Program Manager tätig ist, hat angekündigt, dass Fedora Linux standardmäßig auf den Paketmanager DNF5 umgestellt werden soll. In Fedora Linux 39 ist geplant, die Pakete dnf, libdnf und dnf-cutomatic durch das DNF5-Toolset und die neue Bibliothek libdnf5 zu ersetzen. Der Vorschlag wurde bisher noch nicht vom FESCo (Fedora Engineering Steering Committee) behandelt, das für den technischen Teil der Entwicklung des Fedora-Distributions verantwortlich ist.

DNF kam seinerzeit als Nachfolger von Yum, das vollständig in Python geschrieben war. In DNF wurden leistungsintensive Low-Level-Funktionen neu implementiert und in separate C-Bibliotheken (hawkey, librepo, libsolv und libcomps) ausgelagert, während das Gerüst und die hochrangigen Komponenten weiterhin in Python blieben. Das Projekt DNF5 zielt darauf ab, die bestehenden Low-Level-Bibliotheken zu vereinheitlichen, die verbleibenden auf Python basierenden Paketverwaltungskomponenten in C++ neu zu schreiben und die grundlegende Funktionalität in einer separaten Bibliothek libdnf5 auszulagern, einschließlich einer Schnittstelle zur Beibehaltung der Python-API.

Die Verwendung von C++ anstelle von Python ermöglicht es, eine große Anzahl von Abhängigkeiten abzubauen, die Größe der Toolsets zu verringern und die Leistung zu steigern. Eine höhere Leistung wird nicht nur durch die Kompilierung in Maschinencode erreicht, sondern auch durch eine verbesserte Implementierung der Transaktionstabelle, Optimierungen beim Laden aus Repositories und die Umstrukturierung der Datenbank (Trennung der Datenbanken für Systemzustände und Transaktionshistorie). Das DNF5-Toolset ist von der Bindung an 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 bietet.

Die Überarbeitung wird auch die Möglichkeit bieten, einige Verbesserungen zur Erhöhung der Benutzerfreundlichkeit des Paketmanagers umzusetzen. Beispielsweise bietet das neue DNF eine visuellere Fortschrittsanzeige für durchgeführte Operationen; es wurde Unterstützung für die Verwendung lokaler RPM-Pakete bei Transaktionen hinzugefügt; die Möglichkeit, in Berichten über durchgeführte Transaktionen Informationen von in Paketen eingebetteten Skripten (scriplets) anzuzeigen; und es wurde ein fortschrittlicheres System zur Auto-Vervollständigung von Eingaben für bash vorgeschlagen.

Quelle: opennet.ru

60GB SSD 8Gb DDR4