Fedora plans to replace DNF package manager with Microdnf

The developers of Fedora Linux intend to migrate the distribution to the new Microdnf package manager instead of the currently used DNF. The first step on the path to migration will be a major update to Microdnf planned for Fedora Linux 38, which will come close in functionality to DNF, and even surpass it in some areas. It is noted that the new version of Microdnf will support all the main features of DNF, but at the same time retain high performance and compactness.

The key difference between Microdnf and DNF is the use of C instead of Python for development, which allows you to get rid of a large number of dependencies. Microdnf was originally developed as a stripped down version of DNF for use in Docker containers that did not require Python to be installed. Now the Fedora developers plan to bring Microdnf to the level of DNF and eventually completely replace DNF with Microdnf.

The basis of Microdnf is the libdnf5 library, developed as part of the DNF 5 project. The main idea of ​​DNF 5 is to rewrite the basic package management operations in C ++ and move them into a separate library with the creation of a binding around this library to save the Python API.

The new version of Microdnf will also use the DNF Daemon background process, replacing the functionality of PackageKit and providing an interface for managing packages and updates in graphical environments. Unlike PackageKit, DNF Daemon will only support the RPM format.

Microdnf, libdnf5, and DNF Daemon are planned to ship alongside the traditional DNF toolkit in the first phase of deployment. Once the project is complete, the new bundle will replace packages such as dnf, python3-dnf, python3-hawkey, libdnf, dnfdragora, and python3-dnfdaemon.

Of the areas in which Microdnf is superior to DNF, it is noted: a more visual indication of the progress of operations; improved implementation of the transaction table; the ability to display information in reports on completed transactions that is issued by scripts built into packages (scriptlets); support for using local RPM packages for transactions; more advanced input completion system for bash; support for running the builddep command without installing Python on the system.

Among the disadvantages of switching the distribution kit to Microdnf is the change in the structure of internal databases and the processing of the database separate from DNF, which will not allow you to see transactions with packages performed in DNF in Microdnf and vice versa. In addition, Microdnf does not plan to maintain 100% compatibility in DNF at the level of commands and command line options. There will also be some behavioral differences. For example, deleting a package will not remove its associated dependencies that are not used by other packages.

Source: opennet.ru

Add a comment