yum-Befehl: Verwendung und Optionen, yum-utils und Repositorys prüfen

TestumgebungRHEL-FamilieAlmaLinux 9.8root-Konto
Paketbefehleyumyum-utilsrpmSpeicherort/usr/bin/yum

Der Befehl yum ist der Paketverwaltungsbefehl, mit dem man unter RHEL-basiertem Linux Pakete installiert, aktualisiert und entfernt. Als wir auf einem AlmaLinux-9-Server die Abfrage- und Update-Prüfbefehle sowie die yum-utils-Werkzeuge ausgeführt haben, lief yum als dasselbe Programm wie dnf, und auch die Ausgabe war dieselbe wie bei dnf.

Die Repository-Liste, die Release-Nummern der Pakete und die Installationszeiten in der Ausgabe unten sind Beispielwerte.

1️⃣ Grundlegende Verwendung des yum-Befehls: yum und dnf

Unter AlmaLinux 9 wird bei Eingabe von yum dnf ausgeführt. Der Grund ist, dass /usr/bin/yum ein Link auf dnf-3 ist.

ls -l /usr/bin/yum /usr/bin/dnf
lrwxrwxrwx 1 root root 5 Oct  5 10:12 /usr/bin/dnf -> dnf-3
lrwxrwxrwx 1 root root 5 Oct  5 10:12 /usr/bin/yum -> dnf-3

Beide Dateien waren Links auf dnf-3. Deshalb zeigt auch yum --version die dnf-Version an.

yum --version
4.14.0
  Installed: dnf-0:4.14.0-21.el9_8.alma.1.noarch at Mon Oct  5 10:12:30 2026
  Built    : AlmaLinux Packaging Team <packager@almalinux.org> at Fri May  1 09:30:00 2026

  Installed: rpm-0:4.16.1.3-23.el9.x86_64 at Mon Oct  5 10:12:08 2026
  Built    : AlmaLinux Packaging Team <packager@almalinux.org> at Thu Mar 12 08:15:20 2026

Die erste Zeile, 4.14.0, ist die dnf-Version; darunter folgen die Zeiten, zu denen die Pakete dnf und rpm installiert wurden. Die rpm-Version erscheint ebenfalls, weil yum die Pakete aus dem Repository am Ende mit rpm installiert.

Die Grundform des Befehls lautet yum, Optionen, Befehl und Paketname, in dieser Reihenfolge. Die erste Zeile von --help zeigt diese Form, darunter folgt die Liste der Befehle.

yum --help | head -n 12
usage: yum [options] COMMAND

List of Main Commands:

alias                     List or create command aliases
autoremove                remove all unneeded packages that were originally installed as dependencies
check                     check for problems in the packagedb
check-update              check for available package upgrades
clean                     remove cached data
deplist                   [deprecated, use repoquery --deplist] List package's dependencies and what packages provide them
distro-sync               synchronize installed packages to the latest available versions
downgrade                 Downgrade a package

Die häufig verwendeten Befehle sind in der Tabelle zusammengefasst.

BefehlWas es tut
list installedListe der installierten Pakete (mit Paketname nur dieses Paket)
list updatesListe der Pakete mit einer neueren Version im Repository
check-updatePrüfen, ob Updates vorhanden sind (Exit-Code 100, wenn ja)
infoVersion, Größe, Repository und Beschreibung eines Pakets
searchPakete in Name und Zusammenfassung suchen
installPaket installieren (einschließlich Abhängigkeiten)
removePaket entfernen (wie erase)
updateInstallierte Pakete auf eine neue Version bringen (wie upgrade)
autoremovePakete entfernen, die als Abhängigkeit installiert wurden und nicht mehr benötigt werden
makecacheRepository-Metadaten vorab herunterladen und den Cache erstellen
clean allDen gesamten heruntergeladenen Cache löschen
repolistListe der aktivierten Repositorys
deplistAbhängigkeiten und bereitstellende Pakete (repoquery --deplist wird empfohlen)
historyVerlauf der Installations- und Entfernungstransaktionen

2️⃣ Optionen des yum-Befehls: -y, -C, exclude, enablerepo

Optionen stehen zwischen yum und dem Befehl. -y beantwortet Rückfragen mit Ja und gehört daher in Skripte; wenn du update auf einem Produktivserver von Hand ausführst, ist es besser, -y wegzulassen, die Transaktionstabelle zu lesen und selbst zu antworten.

OptionKopierenBeschreibung
-C, --cacheonlyVerwendet nur den heruntergeladenen Cache, ohne sich mit den Repositorys zu verbinden.
-q, --quietBlendet Hinweise wie die Metadaten-Zeile aus und gibt nur das Ergebnis aus.
--showduplicatesGibt sowohl die installierte Version als auch die Repository-Versionen desselben Pakets aus.
--exclude=PKG, -x PKGNimmt dieses Paket aus diesem Befehl heraus (Muster wie kernel* möglich).
--enablerepo=REPOAktiviert ein deaktiviertes Repository nur für diesen Befehl.
--versionGibt die Versionen von yum (dnf) und rpm aus.
-h, --helpGibt die Hilfe aus.
OptionKopierenBeschreibung
-y, --assumeyesBeantwortet alle Rückfragen mit Ja.
-v, --verboseGibt den Ablauf ausführlich aus.
--disablerepo=REPODeaktiviert ein aktiviertes Repository nur für diesen Befehl.
--skip-brokenÜberspringt Pakete mit defekten Abhängigkeiten und macht mit dem Rest weiter.

-C gibt das Ergebnis nur aus dem heruntergeladenen Cache aus, ohne sich mit den Repositorys zu verbinden. In der ersten Zeile steht, wann der Cache zuletzt aktualisiert wurde, ab der zweiten Zeile folgt das Ergebnis.

yum -C list tree
Last metadata expiration check: 0:35:03 ago on Thu Oct 29 05:32:35 2026.
Installed Packages
tree.x86_64                         1.8.0-12.el9                         @baseos

Mit -q fällt die erste Zeile weg, und nur das Ergebnis erscheint.

yum -C -q list installed tree
Installed Packages
tree.x86_64                         1.8.0-12.el9                         @baseos

--showduplicates gibt die installierte Version und die Versionen im Repository nebeneinander aus.

yum -C --showduplicates list libavif
Last metadata expiration check: 0:38:15 ago on Thu Oct 29 05:32:35 2026.
Installed Packages
libavif.x86_64                      0.11.1-7.el9                       @epel
Available Packages
libavif.x86_64                      1.1.1-2.el9                        epel

0.11.1 unter Installed Packages und 1.1.1 unter Available Packages sind zwei Versionen desselben Pakets. Die Version im Repository ist höher, also steht für libavif ein Update an.

--exclude nimmt dieses Paket aus diesem Befehl heraus.

yum -C --exclude=libavif check-update libavif libdav1d
Last metadata expiration check: 0:35:10 ago on Thu Oct 29 05:32:35 2026.

libdav1d.x86_64                         1.5.4-2.el9                         epel

Es wurden zwei Pakete angegeben, aber libavif fiel heraus und nur libdav1d blieb übrig. Zusammen mit update wird alles außer diesem Paket aktualisiert.

3️⃣ Paketverwaltung mit yum und Reihenfolge der Updates

Auch wenn man die Optionen kennt, muss man zuerst sehen, was installiert ist und was neu erschienen ist, um zu entscheiden, welche Pakete aktualisiert werden. Deshalb beginnen wir mit den Befehlen, die installierte Pakete prüfen.

yum -C list installed tree
Installed Packages
tree.x86_64                         1.8.0-12.el9                         @baseos

@baseos in der letzten Spalte ist das Repository, aus dem das Paket installiert wurde. Mit rpm -q abgefragt, erscheint auch die Version in einer Zeile.

rpm -q tree htop libavif
tree-1.8.0-12.el9.x86_64
package htop is not installed
libavif-0.11.1-7.el9.x86_64

Bei einem nicht installierten Paket endet die Ausgabe mit einer einzigen Zeile not installed, und der Exit-Code ist 1.

Pakete mit einer neuen Version im Repository prüft man mit list updates.

yum -C list updates libavif libdav1d
Last metadata expiration check: 0:35:07 ago on Thu Oct 29 05:32:35 2026.
Available Upgrades
libavif.x86_64                          1.1.1-2.el9                         epel
libdav1d.x86_64                         1.5.4-2.el9                         epel

Unter Available Upgrades stehen die Pakete mit einer neuen Version. Ohne Paketname wird alles Installierte geprüft.

check-update meldet dieselbe Liste auch über den Exit-Code.

yum -C check-update libavif libdav1d; echo $?
Last metadata expiration check: 0:35:08 ago on Thu Oct 29 05:32:35 2026.

libavif.x86_64                          1.1.1-2.el9                         epel
libdav1d.x86_64                         1.5.4-2.el9                         epel
100

Die 100 in der letzten Zeile ist der Exit-Code. Bei vorhandenen Updates ist er 100, sonst 0, daher entscheiden Skripte anhand dieses Werts.

Updates laufen in der Reihenfolge makecache, update, autoremove.

yum makecache

makecache lädt die Repository-Metadaten vorab herunter. update lädt sie selbst herunter, daher kann man diesen Schritt auslassen.

yum update

update bringt alle installierten Pakete auf ihre neue Version und kümmert sich auch um die Abhängigkeiten.

yum update libavif

Mit einem Paketnamen wird nur dieses Paket aktualisiert.

yum autoremove

autoremove entfernt Pakete, die als Abhängigkeit mitinstalliert wurden und nicht mehr gebraucht werden. Es wird nach update ausgeführt.

yum update --exclude='kernel*'

Um ohne Kernel zu aktualisieren, gibt man --exclude ein kernel-Muster mit. Nach einem Kernel-Update muss der Server neu starten, um mit dem neuen Kernel zu laufen; ob ein Neustart nötig ist, prüft man mit needs-restarting aus yum-utils.

4️⃣ yum-utils-Werkzeuge: yumdownloader, repoquery, needs-restarting

Unter AlmaLinux 9 ist yum-utils eine Kompatibilitätsschicht, die dnf-plugins-core bereitstellt. Die Befehlsnamen sind dieselben wie zu Zeiten des alten YUM, ausgeführt werden aber dnf-Plugins.

yum -C info yum-utils
Last metadata expiration check: 0:38:12 ago on Thu Oct 29 05:32:35 2026.
Installed Packages
Name         : yum-utils
Version      : 4.3.0
Release      : 14.el9
Architecture : noarch
Size         : 23 k
Source       : dnf-plugins-core-4.3.0-14.el9.src.rpm
Repository   : @System
From repo    : baseos
Summary      : Yum-utils CLI compatibility layer
URL          : https://github.com/rpm-software-management/dnf-plugins-core
License      : GPLv2+
Description  : As a Yum-utils CLI compatibility layer, supplies in CLI shims for
             : debuginfo-install, repograph, package-cleanup, repoclosure, repomanage,
             : repoquery, reposync, repotrack, repodiff, builddep, config-manager, debug,
             : download and yum-groups-manager that use new implementations using DNF.

Source ist dnf-plugins-core und Summary ist Yum-utils CLI compatibility layer. Ist es nicht installiert, installiert man es mit [yum install yum-utils].

Die 17 Befehle, die dieses Paket installiert, zeigt rpm -ql.

rpm -ql yum-utils | grep bin/
/usr/bin/debuginfo-install
/usr/bin/find-repos-of-install
/usr/bin/needs-restarting
/usr/bin/package-cleanup
/usr/bin/repo-graph
/usr/bin/repoclosure
/usr/bin/repodiff
/usr/bin/repomanage
/usr/bin/repoquery
/usr/bin/reposync
/usr/bin/repotrack
/usr/bin/yum-builddep
/usr/bin/yum-config-manager
/usr/bin/yum-debug-dump
/usr/bin/yum-debug-restore
/usr/bin/yum-groups-manager
/usr/bin/yumdownloader
ls -l /usr/bin/yumdownloader /usr/bin/repoquery /usr/bin/needs-restarting /usr/bin/yum-config-manager
lrwxrwxrwx 1 root root 22 Mar  3  2026 /usr/bin/needs-restarting -> /usr/libexec/dnf-utils
lrwxrwxrwx 1 root root 22 Mar  3  2026 /usr/bin/repoquery -> /usr/libexec/dnf-utils
lrwxrwxrwx 1 root root 22 Mar  3  2026 /usr/bin/yum-config-manager -> /usr/libexec/dnf-utils
lrwxrwxrwx 1 root root 22 Mar  3  2026 /usr/bin/yumdownloader -> /usr/libexec/dnf-utils

Alle waren Links auf die eine Datei /usr/libexec/dnf-utils. Die häufig verwendeten Werkzeuge und ihre Aufgaben sind als Baum zusammengefasst.

yum-utilsEin Paket — alle 17 Befehle sind Links auf /usr/libexec/dnf-utils
yumdownloaderPaketdateien (.rpm) herunterladen · --urls gibt nur die Adressen aus
repoqueryDateiliste, Abhängigkeiten und umgekehrte Abhängigkeiten eines Pakets abfragen
needs-restartingPrüfen, ob nach einem Update ein Neustart nötig ist
package-cleanupDoppelte, verwaiste und fehlerhafte Pakete finden
yum-builddepPakete installieren, die zum Bauen eines Quell-RPMs nötig sind
yum-config-managerRepositorys aktivieren, deaktivieren und hinzufügen (ändert die Konfigurationsdateien)
repoclosure · repodiff · repomanage · repo-graphRepositorys prüfen, vergleichen, aufräumen und als Graph darstellen
reposync · repotrackRepositorys und Paketgruppen herunterladen
debuginfo-install · find-repos-of-install · yum-debug-dump · yum-debug-restore · yum-groups-managerDebug-Informationen · Herkunfts-Repository · Konfiguration sichern und wiederherstellen · Gruppenverwaltung

yumdownloader lädt Paketdateien nur herunter, ohne sie zu installieren. Mit --urls gibt es nur die Adressen aus, von denen es herunterladen würde.

yumdownloader --urls tree
Last metadata expiration check: 0:35:16 ago on Thu Oct 29 05:32:35 2026.
https://repo.almalinux.org/almalinux/9.8/BaseOS/x86_64/os/Packages/tree-1.8.0-12.el9.x86_64.rpm

Repository-Adresse und Dateiname stehen in einer Zeile. Mit dieser Adresse kann man Dateien vorab herunterladen, die man auf einen Server ohne Internetzugang bringt und dort installiert.

repoquery fragt die Dateien ab, die ein Paket installiert, sowie seine Abhängigkeiten.

repoquery -l tree
Last metadata expiration check: 0:35:17 ago on Thu Oct 29 05:32:35 2026.
/usr/bin/tree
/usr/lib/.build-id
/usr/lib/.build-id/e0
/usr/lib/.build-id/e0/e2ec3d46003583b56979e08d437395bd0d2a07
/usr/share/doc/tree
/usr/share/doc/tree/README
/usr/share/licenses/tree
/usr/share/licenses/tree/LICENSE
/usr/share/man/man1/tree.1.gz

-l ist die Dateiliste dieses Pakets. Sie enthält eine ausführbare Datei sowie Dokumentation, Lizenz und Handbuchseite.

repoquery --requires tree
Last metadata expiration check: 0:35:19 ago on Thu Oct 29 05:32:35 2026.
libc.so.6(GLIBC_2.34)(64bit)
rtld(GNU_HASH)

--requires zeigt die benötigten Bibliotheken. yum deplist gibt dasselbe samt bereitstellenden Paketen aus, ist in der Hilfe aber als deprecated markiert, daher nimmt man stattdessen repoquery --deplist.

yum -C repoquery --deplist tree
Last metadata expiration check: 0:38:17 ago on Thu Oct 29 05:32:35 2026.
package: tree-1.8.0-12.el9.x86_64
  dependency: libc.so.6(GLIBC_2.34)(64bit)
   provider: glibc-2.34-170.el9_8.x86_64
  dependency: rtld(GNU_HASH)
   provider: glibc-2.34-170.el9_8.i686
   provider: glibc-2.34-170.el9_8.x86_64

Die dependency-Zeilen zeigen, was benötigt wird, die provider-Zeilen die Pakete, die es bereitstellen.

Ob nach einem Update ein Neustart nötig ist, prüft man mit needs-restarting -r.

needs-restarting -r
No core libraries or services have been updated since boot-up.
Reboot should not be necessary.

Nach einem Update des Kernels oder einer zentralen Bibliothek lautet der Hinweis stattdessen, dass ein Neustart nötig ist, und der Befehl endet mit Exit-Code 1.

Ohne Optionen ausgeführt, gibt package-cleanup nur einen Hinweis aus, welche Prüfung man wählen soll.

package-cleanup
package-cleanup has to be executed with one of the options: --dupes, --leaves, --orphans, --problems or --cleandupes

5️⃣ yum-Repositorys prüfen: repolist und die Option enablerepo

Auch mit den Werkzeugen findet yum nichts, wenn das Paket in keinem Repository liegt. Deshalb prüft man zuerst, welche yum-Repositorys aktiviert sind.

yum repolist
repo id             repo name
appstream           AlmaLinux 9 - AppStream
baseos              AlmaLinux 9 - BaseOS
epel                Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
extras              AlmaLinux 9 - Extras

repolist gibt nur die Repositorys aus, die in ihrer Konfigurationsdatei enabled=1 haben. baseos und appstream sind die Standard-Repositorys der Distribution, epel ist ein separat hinzugefügtes Repository.

yum repolist --all | head -n 12
repo id                       repo name                                 status
appstream                     AlmaLinux 9 - AppStream                   enabled
appstream-debuginfo           AlmaLinux 9 - AppStream - Debug           disabled
appstream-source              AlmaLinux 9 - AppStream - Source          disabled
baseos                        AlmaLinux 9 - BaseOS                      enabled
baseos-debuginfo              AlmaLinux 9 - BaseOS - Debug              disabled
baseos-source                 AlmaLinux 9 - BaseOS - Source             disabled
crb                           AlmaLinux 9 - CRB                         disabled
crb-debuginfo                 AlmaLinux 9 - CRB - Debug                 disabled
crb-source                    AlmaLinux 9 - CRB - Source                disabled
epel                          Extra Packages for Enterprise Linux 9 - x enabled
epel-cisco-openh264           Extra Packages for Enterprise Linux 9 ope enabled

--all gibt auch die deaktivierten Repositorys samt status-Spalte aus. Pakete aus einem disabled-Repository wie crb lassen sich so nicht installieren.

Um ein deaktiviertes Repository nur für diesen Befehl zu aktivieren, gibt man --enablerepo an.

yum --enablerepo=crb repolist
repo id             repo name
appstream           AlmaLinux 9 - AppStream
baseos              AlmaLinux 9 - BaseOS
crb                 AlmaLinux 9 - CRB
epel                Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
extras              AlmaLinux 9 - Extras

crb steht jetzt in der Liste. Die Konfigurationsdatei bleibt unverändert, daher fällt es beim nächsten Befehl wieder heraus. Um ein Repository dauerhaft zu aktivieren, ändert man die Konfigurationsdatei mit yum-config-manager. Wie Repositorys an- und ausgehen, siehst du im Diagramm unten, wenn du die Befehlsknöpfe drückst.

🧭 Repositorys, in denen yum Pakete sucht
Erklär-Diagramm
🔍 Befehl
$ yum repolist--enablerepo=crb repolist--disablerepo=epel repolist
baseosAnNur diesmal anNur diesmal aus
appstreamAnNur diesmal anNur diesmal aus
extrasAnNur diesmal anNur diesmal aus
epelAnNur diesmal anNur diesmal aus
crbAusNur diesmal anNur diesmal aus
➜
yumRepositorys für die Paketsuche564
repolist gibt nur die Repositorys aus, die in ihrer Konfigurationsdatei enabled=1 haben. yum sucht Pakete nur in den Repositorys dieser Liste. Pakete aus einem deaktivierten Repository wie crb sind nicht zu sehen.
Mit --enablerepo=crb wird crb nur für diesen einen Befehl aktiviert und erscheint in der Liste. Die Konfigurationsdatei ändert sich nicht, daher fällt es beim nächsten Befehl wieder heraus.
Mit --disablerepo=epel fällt epel nur bei diesem einen Befehl heraus. Um ein Repository dauerhaft zu aktivieren oder zu deaktivieren, verwendet man yum-config-manager, das die Konfigurationsdatei ändert.

Ein neues Repository wie EPEL hinzuzufügen heißt nur, ein einziges Repository-Paket zu installieren.

yum install epel-release

Nach der Installation entsteht unter /etc/yum.repos.d/ die Datei epel.repo, und epel erscheint in repolist.

🔲 Simulator für den yum-Befehl

Im Simulator unten kannst du yum list, check-update, repolist und yum-utils-Befehle selbst eingeben und die Ausgabe ansehen. Die Repository-Liste enthält dieselben Beispielwerte wie der Artikel, und Installations-, Entfernungs- und Update-Befehle zeigen nur einen Hinweis.

Simulator für den yum-Befehlyum 4.14.0
[root@server work]#
Mit den Tasten ↑↓ holst du zuvor eingegebene Befehle zurück.

🔢 FAQ & empfohlene Inhalte

Nein. Die Eingabe von yum delete endet mit dem Fehler No such command: delete. Pakete entfernt man mit yum remove, und erase macht dasselbe.

Es ist derselbe Befehl. In dnf ist update ein anderer Name für upgrade, daher zeigt auch yum help update eine Hilfe, die mit usage: yum upgrade beginnt.

Mit -C laufen list und info aus dem heruntergeladenen Cache, ohne sich mit den Repositorys zu verbinden. Zum Installieren lädt man die .rpm-Datei auf einem anderen Server mit yumdownloader herunter, bringt sie auf den Server und übergibt den Dateipfad an install.

ℹ️ Affiliate-Hinweis
Die Inhalte dieser Website enthalten Affiliate-Links. Kauft ein Besucher über einen dieser Links ein Produkt oder eine Dienstleistung, erhält die Website vom Verkäufer eine Provision. Der Betrag, den der Käufer zahlt(bei Aktionsrabatten sinkt er ↓), steigt dadurch nicht. Angegebene Preise, Rabatte und Lagerbestände entsprechen dem Stand bei Erstellung und können abweichen; prüfe sie daher vor dem Kauf beim Verkäufer. Produkte werden nach eigenen Kriterien ausgewählt und bewertet, und Provisionen beeinflussen weder die Reihenfolge noch den Inhalt der Bewertungen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Beweisen Sie, dass Sie ein Mensch sind: 10   +   8   =