![]() | |
![]() DNF5 running on Fedora 41 | |
Developer(s) | Red Hat |
---|---|
Initial release | 18 January 2012 [1] |
Stable release | |
Repository | https://github.com/rpm-software-management/dnf, [3] https://github.com/rpm-software-management/dnf5 [4] ![]() |
Written in | |
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 |
DNF (abbreviation for Dandified YUM) [7] [8] [9] is a package manager for Red Hat-based Linux distributions and derivatives. DNF was introduced in Fedora 18 in 2013 as a replacement for yum; [10] it has been the default package manager since Fedora 22 in 2015 [11] and Red Hat Enterprise Linux 8 [ when? ] [12] and is also an alternative package manager for Mageia. DNF performs package management tasks on top of RPM, and supporting libraries.
![]() | This section needs expansion. You can help by adding to it. (December 2024) |
Perceived deficiencies of yum (which DNF is intended to address) include poor performance, high memory usage, and the slowness of its iterative dependency resolution. [13] DNF uses libsolv, an external dependency resolver. [13]
DNF was originally written in Python, but as of 2016 [update] , efforts were under way to port it to C and move most functionality from Python code into the new libdnf library[ needs update ]. [14] In 2018, the DNF team announced the decision to move libdnf from C to C++. [15] [16] libdnf is already used by PackageKit, a Linux distribution-agnostic package system abstraction library, even though the library doesn't have most of DNF's features. [17]
Since the launch of Fedora Linux 41, DNF5 is the new default packaging tool. This release features new performance enhancements, updated terminal output, and fully integrated modularity. [18]
DNF has been the default command-line package manager for Fedora since version 22, which was released in May 2015. [11] The libdnf library is used as a package backend in PackageKit, [17] which offers a graphical user interface (GUI). Later, dnfdragora was developed for Fedora 27 as another alternative graphical front-end of DNF. [19] [20] 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. [21]
In Red Hat Enterprise Linux, and by extension, AlmaLinux and Rocky Linux, yum is an alias for dnf. [12]