mirror of
https://pagure.io/fedora-docs/quick-docs.git
synced 2024-11-24 21:35:17 +00:00
96 lines
3.3 KiB
Text
96 lines
3.3 KiB
Text
= DNF and its APT command equivalents on Fedora
|
|
Michal Ambroz; Christopher Engelhard ; The Fedora Docs team
|
|
:revnumber: F37
|
|
:revdate: 2023-02-03
|
|
:category: Administration
|
|
:tags: How-to, DNF
|
|
|
|
// Optional free form useful additional information as comment
|
|
|
|
|
|
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
|
|
|
|
.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 xref:dnf-system-upgrade.adoc[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 xref:dnf.adoc[here].
|
|
|
|
== Why is APT in the Fedora repositories?
|
|
|
|
WARNING: APT *can not* be used to install packages on Fedora, you *have to use DNF* instead.
|
|
|
|
The `apt` command on Fedora used to -- until https://fedoraproject.org/wiki/Changes/Move_apt_package_from_RPM_to_DPKG_backend[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.
|
|
|