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 or Dandified YUM [7] [8] [9] 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; [10] it has been the default package manager since Fedora 22 in 2015, [11] Red Hat Enterprise Linux 8, [12] and OpenMandriva, [13] 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. [14] DNF uses libsolv, an external dependency resolver. [14]
DNF performs package management tasks on top of RPM, and supporting libraries.
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. [15] In 2018, the DNF team announced the decision to move libdnf from C to C++. [16] [17] 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. [18]
Since the launch of Fedora Linux 41, DNF5 is the new default packaging tool. This versatile C++ package manager for RPM packages uses libdnf and libsolv, and features new performance enhancements, updated terminal output and fully integrated modularity. [19]
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, [18] which offers a graphical user interface (GUI). Later dnfdragora was developed for Fedora 27 as another alternative graphical front-end of DNF. [20] [21] 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. [22]
In Red Hat Enterprise Linux, and by extension, AlmaLinux and Rocky Linux, yum is an alias for dnf. [12]
Mandriva Linux is a discontinued Linux distribution developed by Mandriva S.A.
The Yellowdog Updater Modified (YUM) is a free and open-source command-line package-management utility for computers running the Linux operating system using the RPM Package Manager. Though YUM has a command-line interface, several other tools provide graphical user interfaces to YUM functionality.
up2date, also known as the Red Hat Update Agent, is a tool used by older versions of Red Hat Enterprise Linux, CentOS and Fedora Core that downloads and installs new software and upgrades the operating system. It functions as a front-end to the RPM Package Manager and adds advanced features such as automatic dependency resolution. The file /etc/sysconfig/rhn/sources specifies where up2date will search for packages.
Rhythmbox is a free and open-source audio player software, tag editor and music organizer for digital audio files on Linux and Unix-like systems.
virt-manager is a desktop virtual machine monitor primarily developed by Red Hat.
Metalink is an extensible metadata file format that describes one or more computer files available for download. It specifies files appropriate for the user's language and operating system; facilitates file verification and recovery from data corruption; and lists alternate download sources.
Fedora Linux is a Linux distribution developed by the Fedora Project. It was originally developed in 2003 as a continuation of the Red Hat Linux project. It contains software distributed under various free and open-source licenses and aims to be on the leading edge of open-source technologies. It is now the upstream source for CentOS Stream and Red Hat Enterprise Linux.
PackageKit is a free and open-source suite of software applications designed to provide a consistent and high-level abstraction layer for a number of different package management systems. PackageKit was created by Richard Hughes in 2007, and first introduced into an operating system as a default application in May 2008 with the release of Fedora 9.
Cobbler is a Linux provisioning server that facilitates and automates the network-based system installation of multiple computer operating systems from a central point using services such as Dynamic Host Configuration Protocol, Trivial File Transfer Protocol, and Domain Name System. It can be configured for Preboot Execution Environment, reinstallations, and virtualized guests using Xen, Kernel-based Virtual Machine or VMware. Cobbler interacts with the koan
program for re-installation and virtualization support. koan
and Cobbler use libvirt to integrate with different virtualization software. Cobbler is able to manage complex network scenarios like bridging on a bonded Ethernet link.
RPM Package Manager (RPM) is a free and open-source package management system. The name RPM refers to the .rpm
file format and the package manager program itself. RPM was intended primarily for Linux distributions; the file format is the baseline package format of the Linux Standard Base.
The Haskell Platform is a set of software packages, tools, and libraries that create a common platform for using and developing applications in the programming language Haskell. With the Haskell Platform, Haskell follows the same principle as Python: "Batteries included". Since 2022, the Haskell Platform has been deprecated.
Fedora Linux is a popular Linux distribution developed by the Fedora Project. Fedora attempts to maintain a six-month release schedule, offering new versions in Spring and Fall, although some releases have experienced minor delays.
TagLib is a free library for reading and editing metadata embedded into audio files.
Dracut is a set of tools that provide enhanced functionality for automating the Linux boot process. The tool named dracut is used to create a Linux boot image (initramfs) by copying tools and files from an installed system and combining it with the Dracut framework, which is usually found in /usr/lib/dracut/modules.d.
Zstandard is a lossless data compression algorithm developed by Yann Collet at Facebook. Zstd is the corresponding reference implementation in C, released as open-source software on 31 August 2016.
Budgie is an independent, free and open-source desktop environment for Linux and other Unix-like operating systems that targets the desktop metaphor. Budgie is developed by the Buddies of Budgie organization, which is composed of a team of contributors from Linux distributions such as Fedora, Debian, and Arch Linux. Its design emphasizes simplicity, minimalism, and elegance, while providing the means to extend or customize the desktop in various ways. Unlike desktop environments like Cinnamon, Budgie does not have a reference platform, and all distributions that ship Budgie are recommended to set defaults that best fit their desired user experience. Budgie is also shipped as a edition of certain Linux distributions, such as Ubuntu Budgie.
qutebrowser is a QtWebEngine web browser for Linux, Windows, and macOS operating systems with Vim-style key bindings and a minimal GUI. It is keyboard-driven and is inspired by similar software such as Vimperator and dwb. It uses DuckDuckGo as the default search engine. qutebrowser is included in the native repositories of Linux distributions such as Fedora and Arch Linux. qutebrowser is developed by Florian Bruhin, for which he received a CH Open Source award in 2016.
Azure Linux, previously known as CBL-Mariner, is a free and open-source Linux distribution that Microsoft has developed. It is the base container OS for Microsoft Azure services and the graphical component of WSL 2.