DNF (software)
DNF or Dandified YUM 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; it has been the default package manager since Fedora 22 in 2015, Red Hat Enterprise Linux 8, and OpenMandriva, and is also an alternative package manager for Mageia.
DNF running on Fedora 26 | |
Developer(s) | Red Hat |
---|---|
Initial release | 18 January 2012 |
Stable release | 4.18.2 & 5.1.11 / 8 December 2023 & 12 January 2024 |
Repository | |
Written in | C, C++, Python |
Operating system | Linux, IBM AIX |
Platform | RPM |
Available in | English |
Type | Package management system |
License | GPLv2+ & LGPLv2.1+ & New BSD License |
Website | rpm-software-management |
Perceived deficiencies of yum (which DNF is intended to address) include poor performance, high memory usage, and the slowness of its iterative dependency resolution. DNF uses libsolv, an external dependency resolver.
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. In 2018, the DNF team announced the decision to move libdnf from C to C++. 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.
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+.