Jump to content

DNF (software)

From Wikipedia, the free encyclopedia
Dandified Yum
Developer(s)Red Hat
Initial release18 January 2012; 12 years ago (2012-01-18)[1]
Stable release
5.2.8.0[2] Edit this on Wikidata / 2 December 2024; 17 days ago (2 December 2024)
Repositoryhttps://github.com/rpm-software-management/dnf,[3] https://github.com/rpm-software-management/dnf5[4] 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

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.

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.[13] DNF uses libsolv, an external dependency resolver.[13]

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[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 does not 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]

Adoption

[edit]

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]

References

[edit]
  1. ^ 0.6.4-1 for rpm-software-management/dnf dnf on GitHub
  2. ^ "5.2.8.0". 2 December 2024. Retrieved 3 December 2024.
  3. ^ "GitHub - rpm-software-management/dnf: Package manager based on libdnf and libsolv. Replaces YUM". GitHub. Retrieved 6 October 2016.
  4. ^ "GitHub - rpm-software-management/dnf5: Next-generation RPM package management system". GitHub. Retrieved 11 March 2023.
  5. ^ a b c d "The dnf Open Source Project on Open Hub: Languages Page". Open Hub. Retrieved 2 May 2024.
  6. ^ a b c d e f g h i "The dnf5 Open Source Project on Open Hub: Languages Page". Open Hub. Retrieved 2 May 2024.
  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. ^ a b "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. ^ a b 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. ^ a b Edge, Jake (2014-01-15). "DNF and Yum in Fedora". LWN.net. Archived from the original on 2015-09-30. Retrieved 2015-03-29.
  14. ^ Šilhan, Jan (2016-02-24). "DNF into C initiative started". DNF blog. Archived from the original on 2017-07-02. Retrieved 2017-07-05.
  15. ^ 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.
  16. ^ 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.
  17. ^ a b 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.
  18. ^ "Changes/ReplaceDnfWithDnf5". Archived from the original on 2023-11-12. Retrieved 2023-11-12.
  19. ^ "Changes/Replace yumex-dnf with dnfdragora - Fedora Project Wiki". fedoraproject.org. Archived from the original on 2021-09-27. Retrieved 2021-09-27.
  20. ^ "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.
  21. ^ 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]