As I was exploring about Fedora 22 (I'm currently using fedora 20), I came to learn that Yum has been replaced by DNF. Basically what I want to know is the difference between those two Fedora package managers and the reason for this change.
Compared to Yum, DNF offers:
- Better dependency management
- Support Extensions other than Python
- Documented API
- Lower memory usage
- Less automatic synchronization of metadata with repositories, a process that users often complain "happens too often and takes too much time."
Differences in the command line behavior is documented extensively in the DNF docs, at Changes in DNF CLI compared to Yum. That also includes a mapping and brief explanation of differences in common plugins and utilities.
As for "why", I recommend this article from DNF developers. In quick summary:
- the Yum API was organically grown, rather than designed and documented
- the Yum dep solver was an exercise in cleverness, and sometimes painted itself into corners. New one is a SAT solver and more mathematically correct.
- code base considered unwieldy and hard to refactor without breaking things