DNF or Dandified YUM[8][9][10] is the next-generation version of the Yellowdog Updater Modified (yum), a package manager for .rpm-based Linux distributions. DNF was introduced in Fedora 18 in 2013;[11] it has been the default package manager since Fedora 22 in 2015,[12] Red Hat Enterprise Linux 8,[13] and OpenMandriva,[14] and is also an alternative package manager for Mageia.

Quick Facts Developer(s), Initial release ...
Dandified Yum
Developer(s)Red Hat
Initial release18 January 2012; 12 years ago (2012-01-18)[1]
Stable release
5.2.4.0,[2] 4.21.1[3] Edit this on Wikidata / 26 June 2024; 3 months ago (26 June 2024) 26 June 2024; 3 months ago (26 June 2024)
Repositoryhttps://github.com/rpm-software-management/dnf,[4] https://github.com/rpm-software-management/dnf5[5] Edit this on Wikidata
Written in
Operating systemLinux, IBM AIX
PlatformRPM
Available inEnglish
TypePackage management system
LicenseGPLv2+ & LGPLv2.1+ & New BSD License
Websiterpm-software-management.github.io
Close

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

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

DNF was originally written in Python, but as of 2016 efforts were under way to port it to C and move most functionality from Python code into the new libdnf library.[16] In 2018, the DNF team announced the decision to move libdnf from C to C++.[17][18] 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.[19]

Meanwhile, DNF5 is gearing up for an official launch in Fedora Linux 41. This versatile C++ package manager for RPM packages, modules, and comps groups uses libdnf and libsolv, supports Python 3, and is accessible in Fedora 38+.[20]

Adoption

DNF has been the default command-line package manager for Fedora since version 22, which was released in May 2015.[12] The libdnf library is used as a package backend in PackageKit,[19] which offers a graphical user interface (GUI). Later dnfdragora was developed for Fedora 27 as another alternative graphical front-end of DNF.[21][22] DNF has also been available as an alternate package manager for Mageia Linux since version 6 and may become the default sometime in the future.[23]

In Red Hat Enterprise Linux, and by extension, AlmaLinux and Rocky Linux, yum is an alias for dnf.[13]

Dependencies

libdnf

libsolv

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

librepo

  • a library providing C and Python (libcURL like) API for downloading Linux repository metadata and packages
  • C
  • LGPLv2.1+

libcomps

  • libcomps is an alternative for yum.comps library, written in pure C, and has bindings for Python
  • C
  • GPLv2+

References

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.