DNF (software)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Dandified Yum
DNF, installing updates on Fedora 22
DNF, installing updates on Fedora 22
Stable release
2.7.5 / October 18, 2017; 8 months ago (2017-10-18)[1]
Repository Edit this at Wikidata
Written in C, Python
Operating system Linux
Available in English
Type Package management system
License GPL v2
Website rpm-software-management.github.io

DNF or Dandified YUM[2][3][4] is the next-generation version of the Yellowdog Updater, Modified (yum), a package manager for .rpm-based distributions. DNF was introduced in Fedora 18,[5] and it has been the default package manager for Fedora since version 22.[6]

Perceived deficiencies of yum which DNF is intended to address include poor performance, high memory usage, and the slowness of its iterative dependency resolution.[7] DNF uses libsolv, an external dependency resolver.[7]

DNF performs package management tasks on top of RPM, and supporting libraries.

DNF was originally written in Python, but efforts are under way to port it to C and move most functionality from Python code into the new libdnf library.[8] libdnf is already used by PackageKit, a Linux distribution-agnostic package system abstraction library, even though the library does not have most of DNF's features.[9]


DNF has been the default package manager for Fedora since version 22 which was released in May 2015.[6] The libdnf library is used as a package backend in PackageKit.[9] DNF is also available as an alternate package manager for Mageia Linux since version 6. It may become the default sometime in the future.[10]



  • High-level API for DNF and underlying libraries
  • C, license is LGPLv2+


  • A free package dependency solver using a satisfiability algorithm
  • For solving packages and reading repositories
  • C, New BSD License


  • A library providing C and Python (libcURL like) API for downloading Linux repository metadata and packages
  • C, license is LGPLv2+


  • Libcomps is alternative for yum.comps library. It is written in pure C as library and there are bindings for python2 and python3.
  • C, license is GPLv2+


  1. ^ "Releases · rpm-software-management/dnf · GitHub". GitHub DNF Repository. 2017-10-18. Retrieved 2017-10-28. 
  2. ^ "DNF". Fedora Project Wiki. Retrieved 21 May 2018. 
  3. ^ "What does DNF stand for". DNF User's FAQ. Retrieved 21 May 2018. 
  4. ^ "README.rst · rpm-software-management/dnf · GitHub". Github DNF Repository, commit 8174427421b995265c6297ebd64024ded099ecf0. Retrieved 21 May 2018. 
  5. ^ Byfield, Bruce. "Will DNF Replace Yum?". Linux Magazine. Retrieved 2015-05-28. 
  6. ^ a b Andrew (2015-05-26). "Fedora 22 Released, See What`s New [Workstation]". WebUpd8. Retrieved 2015-05-28. 
  7. ^ a b Edge, Jake (2014-01-15). "DNF and Yum in Fedora". LWN.net. Retrieved 2015-03-29. 
  8. ^ Šilhan, Jan (2016-02-24). "DNF into C initiative started". DNF blog. Retrieved 2017-07-05. 
  9. ^ a b Aleksandersen, Daniel (2017-07-05). "Use DNF rather than PackageKit on Fedora". Ctrl blog. Retrieved 2017-08-07. 
  10. ^ Larabel, Michael (2016-09-05). "Mageia To Offer DNF, But Will Keep Using URPMI By Default". Phoronix. Retrieved 2017-12-04. 

External links[edit]