Developer(s) | Red Hat |
---|---|
Initial release | 18 January 2012 [1] |
Stable release | |
Repository | https://github.com/rpm-software-management/dnf, [4] https://github.com/rpm-software-management/dnf5 [5] |
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 [8] [9] [10] 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; [11] it has been the default package manager since Fedora 22 in 2015, [12] Red Hat Enterprise Linux 8, [13] and OpenMandriva, [14] 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. [15] DNF uses libsolv, an external dependency resolver. [15]
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. [16] In 2018, the DNF team announced the decision to move libdnf from C to C++. [17] [18] 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. [19]
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+. [20]
DNF has been the default command-line package manager for Fedora since version 22, which was released in May 2015. [12] The libdnf library is used as a package backend in PackageKit, [19] which offers a graphical user interface (GUI). Later dnfdragora was developed for Fedora 27 as another alternative graphical front-end of DNF. [21] [22] 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. [23]
In Red Hat Enterprise Linux, and by extension, AlmaLinux and Rocky Linux, yum is an alias for dnf. [13]
Mandriva Linux is a discontinued Linux distribution developed by Mandriva S.A.
Red Hat Linux was a widely used commercial open-source Linux distribution created by Red Hat until its discontinuation in 2004.
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.
Dependency hell is a colloquial term for the frustration of some software users who have installed software packages which have dependencies on specific versions of other software packages.
Technical variations of Linux distributions include support for different hardware devices and systems or software package configurations. Organizational differences may be motivated by historical reasons. Other criteria include security, including how quickly security upgrades are available; ease of package management; and number of packages available.
virt-manager is a desktop virtual machine monitor primarily developed by Red Hat.
A software repository, or repo for short, is a storage location for software packages. Often a table of contents is also stored, along with metadata. A software repository is typically managed by source or version control, or repository managers. Package managers allow automatically installing and updating repositories, sometimes called "packages".
Fedora Linux is a Linux distribution developed by the Fedora Project. It was originally developed in 2003 as a continuation of the Red Hat Enterprise 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.
Liberation is the collective name of four TrueType font families: Liberation Sans, Liberation Sans Narrow, Liberation Serif, and Liberation Mono. These fonts are metrically compatible with the most popular fonts on the Microsoft Windows operating system and the Microsoft Office software package, for which Liberation is intended as a free substitute. The fonts are default in LibreOffice.
rpmdrake is a graphical interface to urpmi, which permits the installation of software packages. It is provided as part of Mandriva Linux, Mageia and ROSA for package installation.
PackageKit is a free and open-source suite of software applications designed to provide a consistent and high-level front end 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.
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.
WeeChat is a free and open-source Internet Relay Chat client that is designed to be light and fast. It is released under the terms of the GNU GPL-3.0-or-later and has been developed since 2003.
KVIrc is a graphical IRC client for Linux, Unix, Mac OS and Windows. The name is an acronym of K Visual IRC in which the K stands for a dependency to KDE, which became optional from version 2.0.0. The software is based on the Qt framework and its code is released under a modified GNU General Public License.
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 May and November, 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.
OpenMandriva Lx is a general-purpose Linux distribution maintained by the OpenMandriva Association for x86 (32/64-bit) and ARM computers. It is a community-supported continuation of Mandriva Linux, which was active from 1998 until 2011. OpenMandriva is offered in a stable release edition, and a rolling release edition named Rome. It uses the RPM Package Manager and uses KDE Plasma as its default desktop environment.