Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a40aca298ee3cfc3

Jump to content

DNF (software)

From Wikipedia, the free encyclopedia
Dandified Yum
DeveloperFedora Project (Red Hat)
Release18 January 2012; 14 years ago (2012-01-18)[1]
Stable release
5.4.5.0[2] Edit this on Wikidata / 14 September 2026; 11 days ago (14 September 2026)
Written in
Operating systemLinux, IBM AIX
PlatformRPM
Available inEnglish
TypePackage management system
LicenseGPLv2+ & LGPLv2.1+ & New BSD License
Websiterpm-software-management.github.io Edit this on Wikidata
Repositoryhttps://github.com/rpm-software-management/dnf,[5] https://github.com/rpm-software-management/dnf5[6] Edit this on Wikidata

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 in 2019[12] and is also an alternative package manager for Mageia. DNF performs package management tasks on top of RPM, and supporting libraries.

Usage

[edit]

The DNF package manager works similarly to other package managers.[13] Its core usage works very similarly to the Apt Package Manager, such as install, remove, and upgrade.[14][13]

Usage for basic command is as follows:[13]

sudo dnf list

sudo dnf search <pattern>

sudo dnf info <package_name>

sudo dnf install <package_name>

sudo dnf remove <package_name>

sudo dnf upgrade

sudo dnf distro-sync

History

[edit]

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 (developed by openSUSE).[15]

Developed from 2011 onwards at Red Hat by developer Aleš Kozumplík, who had problems with the Anaconda installer and the YUM package manager. DNF got approved for Fedora 18 and was released for testing in January 2013. The project was supposed to be able to replace YUM with an alternative that would have a cleaner code base and use a different dependency-resolution architecture. DNF used the library `hawkey` to communicate with a dependency-resolution library called `libsolv`, which was first written for openSUSE.[16]

It was decided by the Fedora Engineering Steering Committee to use DNF as the new default package manager for Fedora 22 in 2014. In May 2015, a new release of Fedora (22) switched from YUM to DNF as their package-management tool. DNF continued to support many of the YUM commands without losing support for command-line usage, instead using the tools hawkey and libsolv for dependency resolution.[17][18]

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

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.[23]

Adoption

[edit]

DNF has been the default package manager for Fedora since Fedora 22, released in May 2015.[11] The libdnf library is used as a package backend in PackageKit, which provides a package-management API used by graphical software-management tools. dnfdragora was developed as a graphical front-end for DNF and was introduced in Fedora 27..[24][25] DNF has been available as an alternative package manager for Mageia Linux since Mageia 6.[26]

In Red Hat Enterprise Linux 8 and 9, and in distributions such as AlmaLinux and Rocky Linux based on them, yum is an alias for dnf.[12]

References

[edit]
  1. ↑ 0.6.4-1 for rpm-software-management/dnf dnf on GitHub
  2. ↑ "5.4.5.0". 14 September 2026. Retrieved 15 September 2026.
  3. 1 2 3 4 "The dnf Open Source Project on Open Hub: Languages Page". Open Hub. Retrieved 2 May 2024.
  4. 1 2 3 4 5 6 7 8 9 "The dnf5 Open Source Project on Open Hub: Languages Page". Open Hub. Retrieved 2 May 2024.
  5. ↑ "GitHub - rpm-software-management/dnf: Package manager based on libdnf and libsolv. Replaces YUM". GitHub. Retrieved 6 October 2016.
  6. ↑ "GitHub - rpm-software-management/dnf5: Next-generation RPM package management system". GitHub. Retrieved 11 March 2023.
  7. ↑ "DNF". Fedora Project Wiki. Archived from the original on 2018-10-14. Retrieved 2018-05-21.
  8. ↑ "What does DNF stand for". DNF User's FAQ. Archived from the original on 2018-10-14. Retrieved 2018-05-21.
  9. ↑ README.rst · rpm-software-management/dnf on GitHub
  10. ↑ Byfield, Bruce. "Will DNF Replace Yum?". Linux Magazine. Archived from the original on 2015-09-26. Retrieved 2015-05-28.
  11. 1 2 "Fedora 22 Released, See What's New [Workstation]". WebUpd8. 2015-05-26. Archived from the original on 2015-09-25. Retrieved 2015-05-28.
  12. 1 2 Matteson, Scott (2019-03-30). "What's new with Red Hat Enterprise Linux 8 and Red Hat Virtualization". TechRepublic. Archived from the original on 2019-09-24. Retrieved 2019-09-24.
  13. 1 2 3 "Dnf Package Manager - Documentation". docs.rockylinux.org. Retrieved 2025-11-24.
  14. ↑ Djere, Rex (2025-10-23). "The Histories, Similarities and Differences of the APT and DNF GNU/Linux Package Managers". Djere.com. Retrieved 2025-11-24.
  15. 1 2 Edge, Jake (2014-01-15). "DNF and Yum in Fedora". LWN.net. Archived from the original on 2015-09-30. Retrieved 2015-03-29.
  16. ↑ "Fedora and DNF". LWN.net. 2 July 2014. Retrieved 25 September 2026.
  17. ↑ "Fedora and DNF". LWN.net. 2 July 2014. Retrieved 25 September 2026.
  18. ↑ "Fedora 22 released and available now". Fedora Magazine. 26 May 2015. Retrieved 25 September 2026.
  19. ↑ Šilhan, Jan (2016-02-24). "DNF into C initiative started". DNF blog. Archived from the original on 2017-07-02. Retrieved 2017-07-05.
  20. ↑ Mach, Daniel; Mracek, Jaroslav (22 March 2018). "Announcing DNF 3 development". DNF: A Blog of The DNF Team. Archived from the original on September 18, 2018. Retrieved 8 August 2023.
  21. ↑ Edge, Jake (28 March 2018). "DNF 3: better performance and a move to C++". LWN.net. Archived from the original on October 14, 2018. Retrieved 8 August 2023.
  22. ↑ Aleksandersen, Daniel (2017-07-05). "Use DNF rather than PackageKit on Fedora". Ctrl blog. Archived from the original on 2017-08-07. Retrieved 2017-08-07.
  23. ↑ "Changes/ReplaceDnfWithDnf5". Archived from the original on 2023-11-12. Retrieved 2023-11-12.
  24. ↑ "Changes/Replace yumex-dnf with dnfdragora - Fedora Project Wiki". fedoraproject.org. Archived from the original on 2021-09-27. Retrieved 2021-09-27.
  25. ↑ "F27 Self Contained Change: Replace Yumex-DNF with dnfdragora - devel - Fedora Mailing-Lists". lists.fedoraproject.org. Archived from the original on 2021-09-27. Retrieved 2021-09-27.
  26. ↑ Larabel, Michael (2016-09-05). "Mageia To Offer DNF, But Will Keep Using URPMI By Default". Phoronix. Archived from the original on 2017-12-06. Retrieved 2017-12-04.
[edit]