DNF (software)
DNF or Dandified YUM[4][5][6] 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;[7] it has been the default package manager since Fedora 22 in 2015,[8] Red Hat Enterprise Linux 8,[9] and OpenMandriva,[10] and is also an alternative package manager for Mageia.
Developer(s) | Red Hat |
---|---|
Initial release | 18 January 2012[1] |
Stable release | |
Repository | |
Written in | C, C++, Python |
Operating system | Linux, IBM AIX |
Platform | RPM |
Available in | English |
Type | Package management system |
License | GPLv2 |
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.[11] DNF uses libsolv, an external dependency resolver.[11]
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.[12] In 2018, the DNF team announced the decision to move libdnf from C to C++.[13][14] 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.[15]
Adoption
DNF has been the default command-line package manager for Fedora since version 22, which was released in May 2015.[8] The libdnf library is used as a package backend in PackageKit,[15] which offers a graphical user interface (GUI). Later dnfdragora was developed for Fedora 27 as another alternative graphical front-end of DNF.[16][17] 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.[18]
It is also the default package manager for Red Hat Enterprise Linux, and by extension, AlmaLinux and Rocky Linux.
Dependencies
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+
References
- 0.6.4-1 for rpm-software-management/dnf dnf on GitHub
- Tags · rpm-software-management/dnf on GitHub
- Tags · rpm-software-management/dnf5 on GitHub
- "DNF". Fedora Project Wiki. Retrieved 2018-05-21.
- "What does DNF stand for". DNF User's FAQ. Retrieved 2018-05-21.
- README.rst · rpm-software-management/dnf on GitHub
- Byfield, Bruce. "Will DNF Replace Yum?". Linux Magazine. Retrieved 2015-05-28.
- "Fedora 22 Released, See What's New [Workstation]". WebUpd8. 2015-05-26. Retrieved 2015-05-28.
- Matteson, Scott (2019-03-30). "What's new with Red Hat Enterprise Linux 8 and Red Hat Virtualization". TechRepublic. Retrieved 2019-09-24.
- "Switching to RPMv4". OpenMandriva. 2018-03-07. Retrieved 2022-04-15.
- Edge, Jake (2014-01-15). "DNF and Yum in Fedora". LWN.net. Retrieved 2015-03-29.
- Šilhan, Jan (2016-02-24). "DNF into C initiative started". DNF blog. Archived from the original on 2017-07-02. Retrieved 2017-07-05.
- Mach, Daniel; Mracek, Jaroslav (22 March 2018). "Announcing DNF 3 development". DNF: A Blog of The DNF Team. Retrieved 8 August 2023.
- Edge, Jake (28 March 2018). "DNF 3: better performance and a move to C++". LWN.net. Retrieved 8 August 2023.
- Aleksandersen, Daniel (2017-07-05). "Use DNF rather than PackageKit on Fedora". Ctrl blog. Retrieved 2017-08-07.
- "Changes/Replace yumex-dnf with dnfdragora - Fedora Project Wiki". fedoraproject.org. Retrieved 2021-09-27.
- "F27 Self Contained Change: Replace Yumex-DNF with dnfdragora - devel - Fedora Mailing-Lists". lists.fedoraproject.org. Retrieved 2021-09-27.
- Larabel, Michael (2016-09-05). "Mageia To Offer DNF, But Will Keep Using URPMI By Default". Phoronix. Retrieved 2017-12-04.