This should start from Fedora22 ...
DNF from Yum, using
Focus on the performance of the C language Library Hawkey dependency analysis, greatly enhance the efficiency of package management and reduce memory consumption, according to the original rhythm should be Fedora 22 to achieve this alternative, with the release of DNF 1.0, this moment finally arrived.
Such radical updates are unavoidable, mainly because Yum cannot "Python 3 as Default", while DNF supports Python 2 and Python3. (The Python 3 branch has been actively developed for five years since its release in 2008, and has matured and stabilized, while the Python 2 branch, which is still in maintenance, does not add new features, only bugs and security fixes, and its earliest version was released in 2000.) At the same time, the DNF Python API and Yum are completely different, and all known incompatibilities in these two projects are also recorded.
In Fedora Core only DNF and Yum project were officially declared dead.
Yum can still be downloaded, and can also invoke packages, as well as the Python API as usual. Only the Yum executable file is renamed to Yum-deprecated, and the command line Yum called is redirected to DNF. This allows you to maintain both Yum and DNF on a single system.
The reason for starting the DNF project is the three traps for Yum:
L Undocumented API
L Broken Dependency Solving algorithm
L inability to refactor internal functions.
The last mentioned problem is the lack of file links. The Yum plug-in can use any method in the Yum code, which can cause the Yum utility to crash suddenly due to minor changes.
The DNF goal is to avoid yum execution errors. All exposed APIs are properly logged from the outset, and the test contains almost every new commit. This project employs agile development, which provides a number of user-priority functionality implementations.
DNF is also now trying to push yum migration to DNF and improve the user experience. To achieve easy migration, the DNF migration plug-in has been imported into package, group, and transaction metadata, from Yum to the new Fedora Package Manager.