DNF (software) explained

Dandified Yum
Screenshot Size:250px
Developer:Red Hat
Programming Language:
  • dnf4:
  • dnf5:
Operating System:Linux, IBM AIX
Platform:RPM
Language:English
Genre:Package management system
License:GPLv2+ & LGPLv2.1+ & New BSD License

DNF or Dandified YUM[1] [2] 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;[3] it has been the default package manager since Fedora 22 in 2015,[4] Red Hat Enterprise Linux 8,[5] and OpenMandriva,[6] and is also an alternative package manager for Mageia.

Perceived deficiencies of yum (which DNF is intended to address) include poor performance, high memory usage, and the slowness of its iterative dependency resolution.[7] 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 efforts were under way to port it to C and move most functionality from Python code into the new libdnf library.[8] In 2018, the DNF team announced the decision to move libdnf from C to C++.[9] [10] 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.[11]

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+.[12]

Adoption

DNF has been the default command-line package manager for Fedora since version 22, which was released in May 2015. The libdnf library is used as a package backend in PackageKit, which offers a graphical user interface (GUI). Later dnfdragora was developed for Fedora 27 as another alternative graphical front-end of DNF.[13] [14] 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.[15]

In Red Hat Enterprise Linux, and by extension, AlmaLinux and Rocky Linux, yum is an alias for dnf.[5]

Dependencies

libdnf

libsolv

librepo

libcomps

Notes and References

  1. Web site: DNF . 2018-05-21 . Fedora Project Wiki . 2018-10-14 . https://web.archive.org/web/20181014204047/https://fedoraproject.org/wiki/DNF . live .
  2. Web site: What does DNF stand for . 2018-05-21 . DNF User's FAQ . 2018-10-14 . https://web.archive.org/web/20181014204116/https://dnf.readthedocs.io/en/latest/user_faq.html#what-does-dnf-stand-for . live .
  3. Web site: Byfield . Bruce . Will DNF Replace Yum? . 2015-05-28 . . 2015-09-26 . https://web.archive.org/web/20150926071643/http://www.linux-magazine.com/Online/Features/Will-DNF-Replace-Yum . live .
  4. Web site: 2015-05-26 . Fedora 22 Released, See What's New [Workstation] ]. 2015-05-28 . WebUpd8 . 2015-09-25 . https://web.archive.org/web/20150925093141/http://www.webupd8.org/2015/05/fedora-22-released-see-whats-new.html . live .
  5. News: Matteson . Scott . 2019-03-30 . What's new with Red Hat Enterprise Linux 8 and Red Hat Virtualization . TechRepublic . 2019-09-24 . 2019-09-24 . https://web.archive.org/web/20190924185646/https://www.techrepublic.com/article/whats-new-with-red-hat-enterprise-linux-8-and-red-hat-virtualization/ . live .
  6. Web site: 2018-03-07 . Switching to RPMv4 . 2022-04-15 . OpenMandriva . 2022-06-26 . https://web.archive.org/web/20220626232852/https://www.openmandriva.org/en/news/article/switching-to-rpmv4 . live .
  7. Web site: Edge . Jake . 2014-01-15 . DNF and Yum in Fedora . 2015-03-29 . . 2015-09-30 . https://web.archive.org/web/20150930225233/https://lwn.net/Articles/580223/ . live .
  8. Web site: Å ilhan . Jan . 2016-02-24 . DNF into C initiative started . dead . https://web.archive.org/web/20170702103537/http://dnf.baseurl.org/2016/02/24/dnf-into-c-initiative-started/ . 2017-07-02 . 2017-07-05 . DNF blog.
  9. Web site: Mach . Daniel . Mracek . Jaroslav . . Announcing DNF 3 development . DNF: A Blog of The DNF Team . . September 18, 2018 . https://web.archive.org/web/20180918123929/https://rpm-software-management.github.io/announcement/2018/03/22/dnf-3-announcement/ . live .
  10. Web site: Edge . Jake . . DNF 3: better performance and a move to C++ . . . October 14, 2018 . https://web.archive.org/web/20181014204126/https://lwn.net/Articles/750238/ . live .
  11. Web site: Aleksandersen . Daniel . 2017-07-05 . Use DNF rather than PackageKit on Fedora . 2017-08-07 . Ctrl blog . 2017-08-07 . https://web.archive.org/web/20170807192837/https://ctrl.blog/entry/packagekit-dnf . live .
  12. Web site: Changes/ReplaceDnfWithDnf5 . 2023-11-12 . 2023-11-12 . https://web.archive.org/web/20231112164657/https://fedoraproject.org/wiki/Changes/ReplaceDnfWithDnf5 . live .
  13. Web site: Changes/Replace yumex-dnf with dnfdragora - Fedora Project Wiki . 2021-09-27 . fedoraproject.org . 2021-09-27 . https://web.archive.org/web/20210927075456/https://fedoraproject.org/wiki/Changes/Replace_yumex-dnf_with_dnfdragora . live .
  14. Web site: F27 Self Contained Change: Replace Yumex-DNF with dnfdragora - devel - Fedora Mailing-Lists . 2021-09-27 . lists.fedoraproject.org . en . 2021-09-27 . https://web.archive.org/web/20210927075842/https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UK3RBRADUMUOONCEQSGWA5GY625N6YQG/ . live .
  15. Web site: Larabel . Michael . Michael Larabel . 2016-09-05 . Mageia To Offer DNF, But Will Keep Using URPMI By Default . 2017-12-04 . . 2017-12-06 . https://web.archive.org/web/20171206005751/https://www.phoronix.com/scan.php?page=news_item&px=Megia-6-To-Have-DNF-Yum . live .