= DNF

'''

[IMPORTANT]
======

This page was automatically converted from https://fedoraproject.org/wiki/DNF

It is probably

* Badly formatted
* Missing graphics and tables that do not convert well from mediawiki
* Out-of-date
* In need of other love

Pull requests accepted at https://pagure.io/fedora-docs/quick-docs

Once you've fixed this page, remove this notice, and update
`_topic_map.yml`.

Once the document is live, go to the original wiki page and replace its text
with the following macro:

....
{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}}
....

======

'''


*DNF* is a software package manager that installs, updates, and removes
link:package[packages] on RPM-based Linux distributions. It
automatically computes dependencies and determines the actions required
to install packages. DNF also makes it easier to maintain groups of
machines, eliminating the need to manually update each one using rpm.
Introduced in Fedora 18, it has been the default package manager since
Fedora 22.

DNF or Dandified yum is the next generation version of yum. It roughly
maintains CLI compatibility with yum and defines a strict API for
extensions and plugins. Plugins can modify or extend features of DNF or
provide additional CLI commands on top of those mentioned below. If you
know the name of such a command (including commands mentioned bellow),
you may find/install the package which provides it using the appropriate
virtual provide in the form of dnf-command() where is the name of the
command; e.g. dnf-command(repoquery) for a repoquery command (the same
applies to specifying dependencies of packages that require a particular
command).

[[features]]
Features
~~~~~~~~

* Support for multiple repositories
* Simple configuration
* Dependency calculation based on modern depsolving technology
* Faster and less memory-intensive operation
* RPM-consistent behavior
* Package group support, including multiple-repository groups
* Simple interface
* Documented, solid Python API
* DNF runs in both Python 2 and Python 3
* C bindings for lower level libraries:
** hawkey for package querying and depsolving. PackageKit is already
making use of hawkey
** librepo for repo operations. PackageKit is already making use of
librepo
** libcomps for comps operations

[[available-commands]]
Available commands
~~~~~~~~~~~~~~~~~~

autoremove

check-update

clean

distro-sync

downgrade

group

help

history

info

install

list

makecache

mark

provides

reinstall

remove

repolist

repository-packages

search

updateinfo

upgrade

upgrade-to

[[installation]]
Installation
~~~~~~~~~~~~

DNF comes with Fedora since version 18, but DNF can installed by using
the yum Command:

....
# yum install dnf
....

As of Fedora 22, yum has been replaced with DNF and doesn't need to be
install.

[[usage]]
Usage
~~~~~

In the basic methods, DNF can be used almost exactly as yum to search,
install or remove packages:

....
# dnf search audacity 
....

....
# dnf install audacity 
....

....
# dnf remove audacity 
....

[[automatic-updates]]
Automatic Updates
^^^^^^^^^^^^^^^^^

The DNF-Automatic RPM package as a DNF component provides a service for
automatic download and installation of updates. It can automatically
monitor and report via email availability of updates, or send a log
about downloaded packages and installed updates. See AutoUpdates section
or http://dnf.readthedocs.org/en/latest/automatic.html[DNF-Automatic]
page.

[[system-upgrades]]
System Upgrades
^^^^^^^^^^^^^^^

Fedora Products can be upgraded with DNF system upgrade plugin or
directly with DNF. See Upgrade section.

[[language-support-using-dnf]]
Language Support Using Dnf
^^^^^^^^^^^^^^^^^^^^^^^^^^

DNF can be used to install or remove Language Support. A detailed
description with a list of available languages can be found on
https://fedoraproject.org/wiki/I18N/Language_Support_Using_Dnf[Language
Support Using Dnf] page.

[[documentation]]
Documentation
~~~~~~~~~~~~~

\1. http://dnf.readthedocs.org/[Documentation Index]

\2. http://dnf.readthedocs.org/en/latest/command_ref.html[Command
Reference]

\3. http://dnf.baseurl.org/[DNF blog]

\4. https://github.com/rpm-software-management/dnf/wiki[DNF wiki]

\5. Changes/DNF-2.0

Category:Documentation Category:Software_Management[Category:Software
Management]
'''

See a typo, something missing or out of date, or anything else which can be
improved? Edit this document at https://pagure.io/fedora-docs/quick-docs.
