DNF (software)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Dandified Yum
DNF logo.png
DNF running on Fedora 26
DNF running on Fedora 26
Developer(s) Red Hat
Stable release
3.2.0 / 7 August 2018; 39 days ago (2018-08-07)[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]

Adoption[edit]

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]

Dependencies[edit]

libdnf[edit]

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

libsolv[edit]

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

librepo[edit]

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

libcomps[edit]

  • 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+

References[edit]

  1. ^ "Releases · rpm-software-management/dnf · GitHub". GitHub DNF Repository. 2018-08-07. Retrieved 2018-08-07. 
  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]