Fedora 41 approves the transition to the DNF5 package manager

The FESCo (Fedora Engineering Steering Committee), responsible for the technical aspects of the Fedora Linux distribution, has approved the default use of the DNF5 package manager in the upcoming Fedora 41 release. The dnf, libdnf, and dnf-cutomatic packages will be replaced in Fedora 41 by the DNF5 toolkit and a new libdnf5 library, while the symbolic link /usr/bin/dnf will begin to point to the dnf5 executable.

Although full parity in functionality with the old toolkit has not yet been achieved, developers believe that the distribution is ready for migration, and missing features can be implemented later. For instance, the functionality related to transaction history management, which underlies the 'dnf history' command, is currently unavailable. Additionally, work on integrating support for the background process dnf5daemon into the GNOME Software application manager is still unfinished. Further testing is needed for the system-wide upgrade mechanism to the next release (the system-upgrade command).

DNF replaced the Yum package manager in the distribution, which was entirely written in Python. In DNF, performance-critical low-level functions were rewritten and moved to separate C libraries, such as hawkey, librepo, libsolv, and libcomps, while the framework and high-level components remained in Python. The DNF5 project aims to unify the existing low-level libraries, rewrite the remaining Python package management components in C++, and move the core functionality to a separate libdnf5 library, creating wrappers around this library to maintain the Python API.

Using C++ instead of Python has eliminated a large number of dependencies, reduced the size of the tooling, and increased performance. Higher performance is achieved not only through compilation to machine code but also due to an improved implementation of the transaction table, optimized repository loading, and restructuring of the database (separating the system state databases and operation history). The DNF5 tooling is independent of PackageKit, which has been replaced by a new background process called DNF Daemon, taking over PackageKit's functionality and providing an interface for managing packages and updates in graphical environments.

The overhaul has also made it possible to implement some improvements that enhance the usability of the package manager. For instance, the new DNF features a more visual indication of operation progress; it adds support for local RPM packages in transactions; it allows reports on completed transactions to display information provided by scripts embedded in the packages (scriplets); and it proposes an advanced input auto-completion system for bash.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster