Fedora Linux developers intend to Translate distribution to a new batch manager microdnf instead of the current DNF. The first step towards migration will be planned in the Fedora Linux 38 release, a significant Microdnf update, which will be approximated by functionality to DNF, and in some areas it will even exceed it. It is noted that the new version of Microdnf will support all the main features of the DNF, but at the same time will retain high performance and compactness.
Microdnf’s key difference from DNF is to use to develop a C language, instead of Python, which allows you to get rid of a large number of dependencies. Initially, Microdnf developed as a trimmed DNF version for use in Docker containers that does not require Python. Now the Fedora developers are planning to bring Microdnf to the DNF level and completely replace DNF with time.
Microdnf.
The basis of Microdnf is the library libdnf5 , developing within the DNF 5 project. The main idea of DNF 5 in the rewriting of basic package management operations in the C ++ language and their removal to a separate library with the creation around this strapping library to save the Python API.
The new version of Microdnf will also use the DNF Daemon background process, replacing the PackageKit functionality and the providing interface to manage packages and updates in graphic environments. Unlike PackageKit in DNF Daemon will provide support only RPM format.
Microdnf, Libdnf5 and DNF Daemon at the first stage of implementation plan to deliver in parallel with the traditional DNF tool. After bringing the project to complete readiness, a new bunch will replace such packages as DNF, Python3-DNF, Python3-Hawkey, Libdnf, Dnfdragora, and Python3-DnfDaemon.
from the areas in which Microdnf exceeds DNF, marks: a more visual indication of the progress of operations; Improved implementation of the transaction table; the ability to output in reports on the transactions of information issued to the scriptes embedded in the packages (SCRIPLES); support for using local RPM packets for transactions; A more advanced input auto pump system for Bash; Support for the execution of the BuildDep command without installing Python in the system.
Among the minuses of the distribution transition to Microdnf are mentioned a change in the structure of the internal database and separate from the DNF processing of the database, which will not allow to see in Microdnf transactions with packages performed in DNF and vice versa. In addition, Microdnf does not plan to save 100% compatibility in DNF at the command level and command line options. Some discrepancies in behavior will also be observed. For example, deleting a package will not lead to removal of associated dependencies that are not used in other packages.