yum-commando: gebruik en opties, yum-utils en repositories controleren

TestomgevingRHEL-familieAlmaLinux 9.8root-account
Pakketcommando'syumyum-utilsrpmLocatie/usr/bin/yum

Het commando yum is het pakketbeheercommando waarmee je op RHEL-gebaseerde Linux pakketten installeert, bijwerkt en verwijdert. Toen we op een AlmaLinux 9-server de opvraag- en updatecontrolecommando's en de yum-utils-tools uitvoerden, draaide yum als hetzelfde programma als dnf en was ook de uitvoer gelijk aan die van dnf.

De repositorylijst, de releasenummers van de pakketten en de installatietijden in de uitvoer hieronder zijn voorbeeldwaarden.

1️⃣ Basisgebruik van het yum-commando: yum en dnf

Op AlmaLinux 9 start het typen van yum dnf. Dat komt doordat /usr/bin/yum een link naar dnf-3 is.

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 bestanden waren links naar dnf-3. Daarom toont ook yum --version de versie van dnf.

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

De eerste regel, 4.14.0, is de versie van dnf; daaronder volgen de tijden waarop de pakketten dnf en rpm zijn geïnstalleerd. De rpm-versie verschijnt ook, omdat yum de pakketten uit de repository uiteindelijk installeert met rpm.

De basisvorm van het commando is yum, opties, commando en pakketnaam, in die volgorde. De eerste regel van --help toont deze vorm, daaronder volgt de lijst met commando's.

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

De veelgebruikte commando's staan in de tabel.

CommandoTaak
list installedLijst van geïnstalleerde pakketten (met een pakketnaam alleen dat pakket)
list updatesLijst van pakketten met een nieuwere versie in de repository
check-updateControleren of er updates zijn (afsluitcode 100 als die er zijn)
infoVersie, grootte, repository en beschrijving van één pakket
searchPakketten zoeken op naam en samenvatting
installPakket installeren (inclusief afhankelijkheden)
removePakket verwijderen (hetzelfde als erase)
updateGeïnstalleerde pakketten naar een nieuwe versie brengen (hetzelfde als upgrade)
autoremovePakketten verwijderen die als afhankelijkheid zijn geïnstalleerd en niet meer nodig zijn
makecacheRepositorymetadata vooraf downloaden en de cache aanmaken
clean allDe hele gedownloade cache wissen
repolistLijst van ingeschakelde repositories
deplistAfhankelijkheden en leverende pakketten (repoquery --deplist wordt aanbevolen)
historyGeschiedenis van installatie- en verwijdertransacties

2️⃣ Opties van het yum-commando: -y, -C, exclude, enablerepo

Opties staan tussen yum en het commando. -y beantwoordt vragen met ja en hoort dus in scripts; als je update met de hand op een productieserver uitvoert, kun je -y beter weglaten, de transactietabel lezen en zelf antwoorden.

OptieKopiërenUitleg
-C, --cacheonlyGebruikt alleen de gedownloade cache zonder verbinding met de repositories.
-q, --quietVerbergt meldingen zoals de metadataregel en toont alleen het resultaat.
--showduplicatesToont zowel de geïnstalleerde versie als de versies in de repository van hetzelfde pakket.
--exclude=PKG, -x PKGHaalt dat pakket uit deze opdracht (patronen zoals kernel* kunnen ook).
--enablerepo=REPOSchakelt een uitgeschakelde repository alleen voor deze opdracht in.
--versionToont de versies van yum (dnf) en rpm.
-h, --helpToont de help.
OptieKopiërenUitleg
-y, --assumeyesBeantwoordt alle vragen met ja.
-v, --verboseToont uitgebreid wat er gebeurt.
--disablerepo=REPOSchakelt een ingeschakelde repository alleen voor deze opdracht uit.
--skip-brokenSlaat pakketten met kapotte afhankelijkheden over en gaat verder met de rest.

-C toont het resultaat alleen uit de gedownloade cache, zonder verbinding met de repositories. De eerste regel vermeldt wanneer de cache voor het laatst is ververst, vanaf de tweede regel volgt het resultaat.

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

Met -q valt de eerste regel weg en verschijnt alleen het resultaat.

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

--showduplicates toont de geïnstalleerde versie en de versies in de repository naast elkaar.

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 onder Installed Packages en 1.1.1 onder Available Packages zijn twee versies van hetzelfde pakket. De versie in de repository is hoger, dus libavif komt in aanmerking voor een update.

--exclude haalt dat pakket uit deze opdracht.

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

Er werden twee pakketten opgegeven, maar libavif viel weg en alleen libdav1d bleef over. Samen met update wordt alles bijgewerkt behalve dat pakket.

3️⃣ Pakketbeheer met yum en de volgorde van updates

Ook als je de opties kent, moet je eerst zien wat er geïnstalleerd is en wat er nieuw is om te bepalen welke pakketten je bijwerkt. Daarom beginnen we met de commando's die geïnstalleerde pakketten controleren.

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

@baseos in de laatste kolom is de repository waaruit het pakket is geïnstalleerd. Met rpm -q opgevraagd verschijnt ook de versie op één regel.

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

Bij een pakket dat niet geïnstalleerd is, eindigt de uitvoer met één regel not installed, en de afsluitcode is 1.

Pakketten met een nieuwe versie in de repository controleer je met 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

Onder Available Upgrades staan de pakketten met een nieuwe versie. Zonder pakketnaam wordt alles wat geïnstalleerd is gecontroleerd.

check-update meldt dezelfde lijst ook via de afsluitcode.

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

De 100 op de laatste regel is de afsluitcode. Bij updates is die 100 en anders 0, dus scripts beslissen op basis van deze waarde.

Updates gaan in de volgorde makecache, update, autoremove.

yum makecache

makecache downloadt de repositorymetadata vooraf. update downloadt ze zelf, dus je kunt deze stap overslaan.

yum update

update brengt alle geïnstalleerde pakketten naar hun nieuwe versie en regelt ook de afhankelijkheden.

yum update libavif

Met een pakketnaam wordt alleen dat pakket bijgewerkt.

yum autoremove

autoremove verwijdert pakketten die als afhankelijkheid zijn meegeïnstalleerd en niet meer nodig zijn. Voer het uit na update.

yum update --exclude='kernel*'

Om zonder de kernel bij te werken, geef je --exclude een kernel-patroon mee. Na een kernelupdate moet de server opnieuw opstarten om op de nieuwe kernel te draaien; of een herstart nodig is, controleer je met needs-restarting uit yum-utils.

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

Op AlmaLinux 9 is yum-utils een compatibiliteitslaag die dnf-plugins-core levert. De commandonamen zijn dezelfde als in de tijd van het oude YUM, maar wat er draait zijn dnf-plug-ins.

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 is dnf-plugins-core en Summary is Yum-utils CLI compatibility layer. Is het niet geïnstalleerd, installeer het dan met [yum install yum-utils].

De 17 commando's die dit pakket installeert, toont 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

Allemaal waren het links naar één bestand, /usr/libexec/dnf-utils. De veelgebruikte tools en wat ze doen staan in een boom.

yum-utilsEén pakket — alle 17 commando's zijn links naar /usr/libexec/dnf-utils
yumdownloaderPakketbestanden (.rpm) downloaden · --urls toont alleen de adressen
repoqueryBestandslijst, afhankelijkheden en omgekeerde afhankelijkheden van een pakket opvragen
needs-restartingControleren of na een update een herstart nodig is
package-cleanupDubbele, verweesde en probleempakketten vinden
yum-builddepPakketten installeren die nodig zijn om een bron-RPM te bouwen
yum-config-managerRepositories in- en uitschakelen en toevoegen (wijzigt de configuratiebestanden)
repoclosure · repodiff · repomanage · repo-graphRepositories controleren, vergelijken, opschonen en als grafiek tonen
reposync · repotrackRepositories en pakketgroepen downloaden
debuginfo-install · find-repos-of-install · yum-debug-dump · yum-debug-restore · yum-groups-managerDebuginformatie · bronrepository · configuratie dumpen en herstellen · groepsbeheer

yumdownloader downloadt pakketbestanden alleen, zonder ze te installeren. Met --urls toont het alleen de adressen waarvan het zou downloaden.

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

Het repositoryadres en de bestandsnaam staan op één regel. Met dit adres kun je bestanden vooraf downloaden die je naar een server zonder internettoegang brengt en daar installeert.

repoquery vraagt de bestanden op die een pakket installeert, en de afhankelijkheden.

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 is de bestandslijst van dat pakket. Er zit één uitvoerbaar bestand in, plus documentatie, licentie en handleiding.

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 toont de benodigde bibliotheken. yum deplist toont hetzelfde plus de leverende pakketten, maar de help markeert het als deprecated, dus gebruik je in plaats daarvan 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

De dependency-regels zijn wat nodig is, en de provider-regels zijn de pakketten die het leveren.

Of na een update een herstart nodig is, controleer je met needs-restarting -r.

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

Na een update van de kernel of een kernbibliotheek verandert de melding in een melding dat een herstart nodig is, en eindigt het met afsluitcode 1.

Zonder opties uitgevoerd toont package-cleanup alleen een melding om te kiezen welke controle je wilt uitvoeren.

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

5️⃣ yum-repositories controleren: repolist en de optie enablerepo

Ook met de tools vindt yum niets als het pakket in geen enkele repository staat. Daarom kijk je eerst welke yum-repositories ingeschakeld zijn.

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 toont alleen de repositories met enabled=1 in hun configuratiebestand. baseos en appstream zijn de standaardrepositories van de distributie, en epel is een apart toegevoegde 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 toont ook de uitgeschakelde repositories, samen met een status-kolom. Pakketten uit een disabled repository zoals crb zijn zo niet te installeren.

Om een uitgeschakelde repository alleen voor deze opdracht in te schakelen, voeg je --enablerepo toe.

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 staat nu in de lijst. Het configuratiebestand blijft hetzelfde, dus bij de volgende opdracht valt het weer weg. Om een repository blijvend ingeschakeld te houden, wijzig je het configuratiebestand met yum-config-manager. Hoe repositories aan- en uitgaan, zie je in het diagram hieronder door op de commandoknoppen te drukken.

🧭 Repositories waarin yum pakketten zoekt
Uitlegdiagram
🔍 Commando
$ yum repolist--enablerepo=crb repolist--disablerepo=epel repolist
baseosAanAlleen nu aanAlleen nu uit
appstreamAanAlleen nu aanAlleen nu uit
extrasAanAlleen nu aanAlleen nu uit
epelAanAlleen nu aanAlleen nu uit
crbUitAlleen nu aanAlleen nu uit
➜
yumRepositories waarin pakketten worden gezocht564
repolist toont alleen de repositories met enabled=1 in hun configuratiebestand. yum zoekt pakketten alleen in de repositories van deze lijst. Pakketten uit een uitgeschakelde repository zoals crb zijn niet zichtbaar.
Met --enablerepo=crb wordt crb alleen voor deze ene opdracht ingeschakeld en komt het in de lijst. Het configuratiebestand verandert niet, dus bij de volgende opdracht valt het weer weg.
Met --disablerepo=epel valt epel alleen bij deze ene opdracht weg. Om een repository blijvend in of uit te schakelen, gebruik je yum-config-manager, dat het configuratiebestand wijzigt.

Een nieuwe repository zoals EPEL toevoegen komt neer op het installeren van één repositorypakket.

yum install epel-release

Na de installatie ontstaat onder /etc/yum.repos.d/ het bestand epel.repo, en verschijnt epel in repolist.

🔲 Simulator voor het yum-commando

In de simulator hieronder kun je yum list, check-update, repolist en yum-utils-commando's zelf typen en de uitvoer bekijken. De repositorylijst gebruikt dezelfde voorbeeldwaarden als het artikel, en installatie-, verwijder- en updatecommando's tonen alleen een melding.

Simulator voor het yum-commandoyum 4.14.0
[root@server work]#
Met de toetsen ↑↓ haal je eerder ingetypte commando's terug.

🔢 FAQ & aanbevolen content

Nee. Het typen van yum delete eindigt met de fout No such command: delete. Een pakket verwijder je met yum remove, en erase doet hetzelfde.

Het is hetzelfde commando. In dnf is update een andere naam voor upgrade, dus ook yum help update toont een help die begint met usage: yum upgrade.

Met -C draaien list en info vanuit de gedownloade cache, zonder verbinding met de repositories. Om een pakket te installeren download je het .rpm-bestand met yumdownloader op een andere server, breng je het over en geef je het bestandspad aan install.

ℹ️ Affiliatemelding
De content van deze site bevat affiliatelinks. Koopt een bezoeker via een van deze links een product of dienst, dan ontvangt deze site een commissie van de verkoper. Het bedrag dat de koper betaalt (bij acties gaat het omlaag ↓) wordt daardoor niet hoger. De vermelde prijzen, kortingen en voorraad gelden op het moment van schrijven en kunnen afwijken; controleer ze daarom vóór je aankoop bij de verkoper. Producten worden gekozen en beoordeeld volgens onze eigen criteria, en commissies hebben geen invloed op de volgorde of de inhoud van de beoordelingen.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Laat zien dat je geen machine bent: 10   +   7   =