DNF and its APT command equivalents on Fedora

Michal Ambroz, Christopher Engelhard, The Fedora Docs team අනුවාදය F37 Last review: 2023-02-03

APT is the package manager/dependency solver for the Debian ecosystem, i.e. it manages .deb packages installed by the DPKG program. Fedora software is based on .rpm packages, and thus uses DNF, the package manager/dependency solver for the RPM program, instead. This document gives a brief overview of the most common APT commands one might find in tutorials and their DNF equivalents.

APT vs. DNF commands

වගුව 1. Apt vs DNF commands
APT command DNF command notes

apt install

apt-get install

dnf install

Of course, actual package names may vary. For example, libc6-dev on Debian maps to glibc-devel in the Fedora universe.

apt install --only-upgrade package

dnf update package

Updates only already installed package and its dependencies. The apt install works for both install and upgrade single package if already installed.

apt update

apt-get update

dnf check-update

This command is rarely needed, as dnf updates its package cache automatically when it is stale. A cache update can be forced by appending --refresh to other commands, e.g. dnf upgrade --refresh.

apt upgrade

apt-get upgrade

dnf upgrade

Note that while apt update does something different, dnf update and dnf upgrade are synonyms. You can also use the shorter dnf up.

apt full-upgrade

apt-get dist-upgrade

dnf distro-sync or

dnf system-upgrade (see note)

While distro-sync is the most direct functional equivalent, dnf system-upgrade should be used to upgrade from one release to another, e.g. from Fedora Linux 34 to 35. This is a multi-step process as described here.

apt remove

apt-get remove

dnf remove

apt purge

apt-get purge

---

Fedora packages don’t treat configuration files in the same way as Debian packages, so there is no direct equivalent.

apt autoremove

apt-get autoremove

dnf autoremove

Note that this can occasionally remove packages that you might actually want. Use dnf mark to flag packages to keep.

apt search

apt-cache search

dnf search

dnf repoquery is useful for advanced searches.

With the exceptions of the distribution upgrade working differently, and DNF updating the cache automatically, the commands are very similar. More info on DNF can be found here.

Why is APT in the Fedora repositories?

APT can not be used to install packages on Fedora, you have to use DNF instead.

The apt command on Fedora used to — until Fedora 32 — actually be APT-RPM, which basically mapped normal apt commands so that they worked with Fedora’s RPM package management system.

However, APT-RPM is unmaintained, broken, and insecure, and so was dropped in favour of shipping the actual Debian APT software. Since APT exclusively deals with .deb packages, the apt command can no longer be used to manage Fedora packages. Its purpose is now purely as a tool for people building packages for Debian-based distributions on a Fedora system.