Without further delays, Fedora 41 will be the version in which the transition to DNF5 is made 

DNF5

DNF5 is intended to improve software package management to improve performance

Since the development of Fedora 39 considered the use of DNF5 as default, but for various reasons this change has been delayed and now in an effort to improve user experience and optimize system performance, the Fedora developers have released the news of a significant change in its dnf package manager and recently the FESCo (Fedora Engineering Steering Committee) has approved the default use of the DNF5 package manager in the upcoming fall release of Fedora 41.

This proposal blooking to change current DNF package manager to DNF5, with the aim of offering a series of improvements and benefits to Fedora users. This change is intended to change not only the /usr/bin/dnf symbolic link that points to dnf-3, but also to implement all the work that has been done in the development of DNF, which represents a significant improvement in package management in Fedora.

It is mentioned that in Fedora 41 dnf, libdnf and dnf-cutomatic packages will be replaced by DNF5 and a new library libdnf5. Additionally, the /usr/bin/dnf symbolic link will point to the dnf5 executable file.

Although Full parity in functionality has not yet been achieved With old tools, developers consider the distribution ready for migration and missing features can be implemented later.

For example, the transaction history management functionality behind the “dnf History” command is not yet available. Work is also underway on integrating support for the dnf5daemon background process into the GNOME software application manager. Additional testing is needed for the system upgrade mechanism to the next version (system upgrade command).

Initially, DNF replaced Yum, which was written entirely in Python. With DNF, low-level functions were rewritten in separate C libraries such as librepo, libcomps, and others, while the framework and high-level components remained in Python.

However, the project DNF5 seeks deeper unification by rewriting the remaining package management components in C++ and moving the core functionality to a separate library called libdnf5, with a Python API encapsulated by a wrapper around this library.

La Adoption of C++ over Python allowed us to reduce dependencies, optimize performance through compilation into machine code and improve the internal structure of the system. DNF5 is decoupled from PackageKit in favor of DNF Daemon, a new background process that replaces PackageKit functionality and provides a more efficient interface for managing packages and updates, especially in graphical environments.

In addition, it is mentioned that work is underway on implementing plugins for dnf5 to match the feature set from the dnf-plugins-core package. Planned plugins include the install debug information plugin and the reposync plugin. DNF5 currently implements a core set of features for module management, following the removal of support for modularity in Fedora 39.

DNF5 has also introduced improvements to the usability of the package manager, such as a clearer visual indication of the progress of operations, support for the use of local RPM packages, the ability to display completed transaction information, and an improved entry completion system for bash. These improvements contribute to a more efficient and friendly experience for Fedora users.

Finally, it is mentioned that to ensure a smooth transition, the upgrade path for existing dnf users is being carefully prepared. Once dnf5 is available, it will replace the dnf package starting with Fedora 41. Additionally, backward compatibility will be provided via a /usr/bin/yum symlink and the new dnf5 plugin, and a new daemonized service is being developed called dnf5daemon, using the D-Bus interface, as an alternative to using PackageKit. Integration with the GNOME UI is in progress.

If you are interested in knowing more about it, you can check the details in the following link


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.