Commande yum : utilisation et options, yum-utils et vérification des dépôts

Environnement de testFamille RHELAlmaLinux 9.8Compte root
Commandes de paquetsyumyum-utilsrpmEmplacement/usr/bin/yum

La commande yum est la commande de gestion des paquets qui installe, met à jour et supprime les paquets sur les Linux de la famille RHEL. En exécutant les commandes de consultation et de vérification des mises à jour ainsi que les outils yum-utils sur un serveur AlmaLinux 9, nous avons constaté que yum s'exécutait comme le même programme que dnf et que sa sortie était identique à celle de dnf.

La liste des dépôts, les numéros de release des paquets et les heures d'installation dans la sortie ci-dessous sont des valeurs d'exemple.

1️⃣ Utilisation de base de la commande yum : yum et dnf

Sous AlmaLinux 9, taper yum lance dnf. En effet, /usr/bin/yum est un lien qui pointe vers dnf-3.

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

Les deux fichiers étaient des liens qui pointent vers dnf-3. C'est pourquoi yum --version affiche la version de 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

La première ligne, 4.14.0, est la version de dnf, suivie des heures d'installation des paquets dnf et rpm. La version de rpm apparaît aussi, car yum installe finalement les paquets reçus du dépôt avec rpm.

La forme de base de la commande est yum, options, commande et nom du paquet, dans cet ordre. La première ligne de --help montre cette forme, suivie de la liste des commandes.

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

Les commandes les plus utilisées sont réunies dans le tableau.

CommandeRôle
list installedListe des paquets installés (avec un nom de paquet, seulement ce paquet)
list updatesListe des paquets qui ont une version plus récente dans le dépôt
check-updateVérifier s'il y a des mises à jour (code de sortie 100 s'il y en a)
infoVersion, taille, dépôt et description d'un paquet
searchRechercher des paquets par nom et résumé
installInstaller un paquet (dépendances comprises)
removeSupprimer un paquet (comme erase)
updatePasser les paquets installés à une nouvelle version (comme upgrade)
autoremoveSupprimer les paquets installés comme dépendances et devenus inutiles
makecacheTélécharger à l'avance les métadonnées du dépôt et créer le cache
clean allSupprimer tout le cache téléchargé
repolistListe des dépôts activés
deplistDépendances et paquets qui les fournissent (repoquery --deplist est recommandé)
historyHistorique des transactions d'installation et de suppression

2️⃣ Options de la commande yum : -y, -C, exclude, enablerepo

Les options se placent entre yum et la commande. -y répond oui aux questions, il sert donc dans les scripts ; quand vous lancez update à la main sur un serveur de production, mieux vaut ne pas mettre -y, lire le tableau de la transaction et répondre vous-même.

OptionCopierDescription
-C, --cacheonlyUtilise uniquement le cache téléchargé sans se connecter aux dépôts.
-q, --quietMasque les messages comme la ligne des métadonnées et n'affiche que le résultat.
--showduplicatesAffiche à la fois la version installée et les versions du dépôt pour un même paquet.
--exclude=PKG, -x PKGRetire ce paquet de cette commande (des motifs comme kernel* sont possibles).
--enablerepo=REPOActive un dépôt désactivé pour cette commande uniquement.
--versionAffiche les versions de yum (dnf) et de rpm.
-h, --helpAffiche l'aide.
OptionCopierDescription
-y, --assumeyesRépond oui à toutes les questions.
-v, --verboseAffiche le détail des opérations.
--disablerepo=REPODésactive un dépôt activé pour cette commande uniquement.
--skip-brokenIgnore les paquets aux dépendances cassées et poursuit avec le reste.

-C affiche le résultat uniquement à partir du cache téléchargé, sans se connecter aux dépôts. La première ligne indique la dernière mise à jour du cache, et le résultat commence à la deuxième ligne.

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

Avec -q, la première ligne disparaît et seul le résultat s'affiche.

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

--showduplicates affiche côte à côte la version installée et les versions présentes dans le dépôt.

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 sous Installed Packages et 1.1.1 sous Available Packages sont deux versions du même paquet. La version du dépôt est plus élevée, donc libavif doit être mis à jour.

--exclude retire ce paquet de cette commande.

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

Deux paquets ont été indiqués, mais libavif a été retiré et seul libdav1d est resté. Ajouté à update, il met tout à jour sauf ce paquet.

3️⃣ Gestion des paquets avec yum et ordre des mises à jour

Même en connaissant les options, il faut d'abord voir ce qui est installé et ce qui est sorti de nouveau pour décider quels paquets mettre à jour. On commence donc par les commandes qui vérifient les paquets installés.

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

@baseos dans la dernière colonne est le dépôt d'où le paquet a été installé. Avec rpm -q, la version s'affiche aussi sur une seule ligne.

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

Pour un paquet non installé, la sortie se termine par une seule ligne not installed, et le code de sortie est 1.

Les paquets dont une nouvelle version est sortie dans le dépôt se vérifient avec 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

Sous Available Upgrades se trouvent les paquets qui ont une nouvelle version. Sans nom de paquet, tout ce qui est installé est vérifié.

check-update signale aussi la même liste par son code de sortie.

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

Le 100 de la dernière ligne est le code de sortie. Il vaut 100 s'il y a des mises à jour et 0 sinon, donc les scripts décident d'après cette valeur.

La mise à jour suit l'ordre makecache, update, autoremove.

yum makecache

makecache télécharge à l'avance les métadonnées du dépôt. update les télécharge de lui-même, vous pouvez donc sauter cette étape.

yum update

update passe tous les paquets installés à leur nouvelle version et gère aussi les dépendances.

yum update libavif

Avec un nom de paquet, seul ce paquet est mis à jour.

yum autoremove

autoremove supprime les paquets installés en même temps comme dépendances et devenus inutiles. Lancez-le après update.

yum update --exclude='kernel*'

Pour mettre à jour sans le noyau, ajoutez un motif kernel à --exclude. Après une mise à jour du noyau, il faut redémarrer pour fonctionner sur le nouveau noyau ; pour savoir si un redémarrage est nécessaire, utilisez needs-restarting de yum-utils.

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

Sous AlmaLinux 9, yum-utils est une couche de compatibilité fournie par dnf-plugins-core. Les noms des commandes sont ceux de l'époque de l'ancien YUM, mais ce qui s'exécute, ce sont des plugins dnf.

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 est dnf-plugins-core et Summary est Yum-utils CLI compatibility layer. S'il n'est pas installé, installez-le avec [yum install yum-utils].

Les 17 commandes installées par ce paquet s'affichent avec 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

Toutes étaient des liens vers un seul fichier, /usr/libexec/dnf-utils. Les outils les plus utilisés et leur rôle sont regroupés dans un arbre.

yum-utilsUn paquet — les 17 commandes sont toutes des liens vers /usr/libexec/dnf-utils
yumdownloaderTéléchargement des fichiers de paquet (.rpm) · --urls n'affiche que les adresses
repoqueryConsultation de la liste des fichiers, des dépendances et des dépendances inverses d'un paquet
needs-restartingVérifier si un redémarrage est nécessaire après une mise à jour
package-cleanupTrouver les paquets en double, orphelins et à problème
yum-builddepInstaller les paquets nécessaires pour construire un RPM source
yum-config-managerActiver, désactiver et ajouter des dépôts (modifie les fichiers de configuration)
repoclosure · repodiff · repomanage · repo-graphVérifier, comparer, nettoyer et représenter les dépôts en graphe
reposync · repotrackTélécharger des dépôts et des groupes de paquets
debuginfo-install · find-repos-of-install · yum-debug-dump · yum-debug-restore · yum-groups-managerInformations de débogage · dépôt d'origine · sauvegarde et restauration de la configuration · gestion des groupes

yumdownloader télécharge seulement les fichiers de paquet sans les installer. Avec --urls, il n'affiche que les adresses de téléchargement.

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

L'adresse du dépôt et le nom du fichier tiennent sur une ligne. Avec cette adresse, vous pouvez télécharger à l'avance les fichiers à installer sur un serveur sans accès à Internet.

repoquery consulte les fichiers qu'installe un paquet et ses dépendances.

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 est la liste des fichiers de ce paquet. Elle contient un exécutable, plus la documentation, la licence et le manuel.

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 affiche les bibliothèques nécessaires. yum deplist affiche la même chose avec en plus les paquets qui les fournissent, mais son aide le marque comme deprecated, on utilise donc repoquery --deplist à la place.

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

Les lignes dependency indiquent ce qui est nécessaire, et les lignes provider les paquets qui le fournissent.

Pour savoir si un redémarrage est nécessaire après une mise à jour, utilisez needs-restarting -r.

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

Après une mise à jour du noyau ou d'une bibliothèque essentielle, le message indique qu'un redémarrage est nécessaire, et la commande se termine avec le code de sortie 1.

Lancé sans option, package-cleanup affiche seulement un message demandant de choisir la vérification à faire.

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

5️⃣ Vérifier les dépôts yum : repolist et l'option enablerepo

Même avec les outils, yum ne trouve rien si le paquet n'est dans aucun dépôt. On vérifie donc d'abord quels dépôts yum sont activés.

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 n'affiche que les dépôts dont le fichier de configuration contient enabled=1. baseos et appstream sont les dépôts de base de la distribution, et epel est un dépôt ajouté à part.

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 affiche aussi les dépôts désactivés, avec une colonne status. Les paquets d'un dépôt disabled comme crb ne peuvent pas être installés tels quels.

Pour activer un dépôt désactivé pour cette commande uniquement, ajoutez --enablerepo.

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 apparaît maintenant dans la liste. Le fichier de configuration ne change pas, il disparaît donc de nouveau à la commande suivante. Pour garder un dépôt activé, modifiez le fichier de configuration avec yum-config-manager. Vous pouvez voir les dépôts s'activer et se désactiver en appuyant sur les boutons de commande du diagramme ci-dessous.

🧭 Dépôts où yum cherche les paquets
Schéma explicatif
🔍 Commande
$ yum repolist--enablerepo=crb repolist--disablerepo=epel repolist
baseosActivéActivé cette foisDésactivé cette fois
appstreamActivéActivé cette foisDésactivé cette fois
extrasActivéActivé cette foisDésactivé cette fois
epelActivéActivé cette foisDésactivé cette fois
crbDésactivéActivé cette foisDésactivé cette fois
➜
yumDépôts où sont cherchés les paquets564
repolist n'affiche que les dépôts dont le fichier de configuration contient enabled=1. yum ne cherche les paquets que dans les dépôts de cette liste. Les paquets d'un dépôt désactivé comme crb ne sont pas visibles.
Avec --enablerepo=crb, crb est activé pour cette seule commande et entre dans la liste. Le fichier de configuration ne change pas, il disparaît donc de nouveau à la commande suivante.
Avec --disablerepo=epel, epel est retiré pour cette seule commande. Pour activer ou désactiver un dépôt durablement, utilisez yum-config-manager, qui modifie le fichier de configuration.

Ajouter un nouveau dépôt comme EPEL revient à installer un seul paquet de dépôt.

yum install epel-release

Une fois installé, un fichier epel.repo est créé sous /etc/yum.repos.d/, et epel apparaît dans repolist.

🔲 Simulateur de la commande yum

Dans le simulateur ci-dessous, vous pouvez saisir vous-même yum list, check-update, repolist et les commandes yum-utils et voir la sortie. La liste des dépôts reprend les valeurs d'exemple de l'article, et les commandes d'installation, de suppression et de mise à jour n'affichent qu'un message.

Simulateur de la commande yumyum 4.14.0
[root@server work]#
Les touches ↑↓ rappellent les commandes saisies auparavant.

🔢 FAQ & contenus recommandés

Non. Taper yum delete se termine par l'erreur No such command: delete. Pour supprimer un paquet, on utilise yum remove, et erase fait la même chose.

C'est la même commande. Dans dnf, update est un autre nom de upgrade, donc même yum help update affiche une aide qui commence par usage: yum upgrade.

Avec -C, list et info s'exécutent à partir du cache téléchargé, sans se connecter aux dépôts. Pour installer un paquet, on télécharge le fichier .rpm avec yumdownloader sur un autre serveur, on le copie sur le serveur et on passe le chemin du fichier à install.

ℹ️ Mention d'affiliation
Le contenu de ce site contient des liens d'affiliation. Lorsqu'un visiteur achète un produit ou un service via l'un de ces liens, le site perçoit une commission du vendeur. Le montant payé par l'acheteur(il baisse lors des promotions ↓), lui, n'augmente pas. Les prix, remises et stocks indiqués correspondent à la date de rédaction et peuvent différer ; vérifiez-les donc auprès du vendeur avant d'acheter. Les produits sont choisis et évalués selon nos propres critères, et les commissions n'influencent ni l'ordre de présentation ni le contenu des évaluations.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Prouvez que vous êtes humain : 8   +   9   =