Menu Fermer

Utiliser DNF/YUM sur Linux CentOS, Fedora, Redhat (REHL)

DNF (Dandified yum est l’outil principal pour obtenir, installer, supprimer, interroger et gérer les packages des logiciels pour les distributions Linux à base Redhat comme CentOS, Fedora, Red Hat Enterprise Linux (RHEL), Kali etc.
A partir de Fedora 22 et CentOS 8, DNF remplace YUM mais son utilisation est très proche.
Il permet de télécharger des paquets des paquets RPM depuis des dépôts en ligne, résoudre les dépendances pour installer des logiciels sur Linux.
Enfin avec DNF, vous pouvez faire une mise à jour et mise à niveau de votre Linux.
C’est donc l’équivalent d’APT mais pour les distributions Redhat.

Dans ce tutoriel, je vous montre comment utiliser DNF et YUM à travers plusieurs exemples.

Utiliser DNF/YUM sur Linux CentOS, Fedora, Redhat (REHL)

Utiliser YUM/DNF sur Linux

DNF remplace YUM mais les commandes sont identiques cat dans Fedora/CentOS, yum est un lien symbolique vers dnf.
Ainsi dans ces exemples, vous pouvez remplacer dnf par yum.

dnf list – Lister des paquets

Pour lister toutes les informations sur les paquets :

dnf list

ou

dnf list all

La liste se compose de trois colonnes avec le nom du paquet, la version et la source.

Lister toutes les informations des paquets avec yum list

Pour lister les informations sur un paquet spécifique avec un mot clé, par exemple zlib :

dnf list zlib
Lister toutes les informations des paquets avec yum list

Enfin pour répertorier tous les packages installés sur votre système, utilisez le mot-clé installed.
La colonne la plus à droite de la sortie répertorie le référentiel à partir duquel le package a été récupéré.

dnf list installed <mot clé>

Pour répertorier tous les packages de tous les référentiels activés disponibles pour l’installation, utilisez l’option available sous la forme suivante :

dnf list available <mot clé>
CommandeDescription
dnf listAfficher tous les paquetages disponibles et installés.
dnf list availableAfficher tous les paquetages disponibles dans le(s) dépôt(s) pouvant être installés.
dnf list updatesAfficher tous les paquetages dont des mises à jours sont disponibles dans le(s) dépôt(s).
dnf list installedAfficher tous les paquetages spécifiés par args. Si un argument ne correspond pas au nom d’un paquetage disponible, on suppose alors qu’il s’agit d’une expression générique du shell (avec des jokers) à développer et toutes les correspondances sont affichées.
dnf list extrasAfficher les paquetages installés sur le système qui ne sont disponibles dans aucun dépôt du fichier de configuration.
dnf list obsoletesAfficher les paquetages installés sur le système qui sont rendus obsolètes par des paquetages des dépôts du fichier de configuration.
dnf list recentAfficher les paquetages récemment ajoutés aux dépôts.
L’utilisation de la commande DNF list

dnf search – chercher des paquets

Vous pouvez ensuite chercher des paquets par des mots clés.
La syntaxe est la suivante :

dnf  search <mot a rechercher>

Par exemple pour chercher tous les paquets mozilla :

dnf search mozilla
Rechercher un paquet avec yum search

Il est possible de donner plusieurs mots clés, par exemple :

dnf search vim gvim emacs

dnf install – installer un paquet

L’outil peut télécharger puis installer un ou plusieurs paquets.
La syntaxe est alors la suite :

dnf install <nom des paquets>

Par exemple pour installer tftp :

dnf install tftp
yum install pour installer des packages

On peut spécifier plusieurs paquets et yum s’occupe de résoudre les dépendances.

Résolutions des dépendances par yum

Puis il vous propose d’installer les paquets et leurs dépendances.

yum installer les paquets et leurs dépendances

dnf remove – Supprimer un paquet

Pour retirer un paquet du système, on utilise l’option remove :

dnf remove tigervnc-server

dnf download – télécharger le RPM d’un paquet

Vous pouvez utiliser dnf ou yum pour récupérer le RPM d’un logiciel ou paquet.
Pour cela, on utilise l’option download.
Par exemple pour télécharger le paquet wget depuis les dépôts :

dnf download wget
dnf download - télécharger le RPM d'un paquet

dnf check-update & update – mettre à jour un paquet

Pour voir quels packages installés sur votre système ont des mises à jour disponibles, utilisez la commande suivante :

dnf check-update

Par exemple, ci-dessous le paquet ovh-rtm-metrics-toolkit.noarch peut être mis à jour.

yum check-update pour vérifier les mises à jour de paquets disponibles

Pour mettre à jour l’ensemble des paquets disponibles, utilisez la commande yum update comme ceci :

sudo dnf  update
Mettre à jour les paquets avec yum update

Répondez oui et yum/dnf télécharge les paquets depuis les dépôts puis les installe.

Mettre à jour les paquets avec yum update

Si aucune mise à jour n’est disponible la commande indique qu’il n’y a rien à faire.

Mettre à jour les paquets avec yum update

Mais il est aussi possible de mettre à jour un paquet spécifique en donnant son nom. On peut en spécifier plusieurs :

sudo dnf update <nom du paquet>

Par exemple pour mettre à jour mozilla :

sudo dnf update mozilla

Si les packages ont des mises à jour de sécurité disponibles, vous ne pouvez mettre à jour que ces packages vers leurs dernières versions.

sudo dnf update --security

Vous pouvez également mettre à jour les packages uniquement vers les versions contenant les dernières mises à jour de sécurité. Tapez comme

sudo dnf update-minimal --security

L’option upgrade est Identique à la commande update combinée avec l’option –obsoletes.
Cela force la suppression des packages obsolètes, tandis que yum update peut ou non le faire également. La suppression de packages obsolètes peut être risquée, car elle peut supprimer les packages que vous utilisez.

sudo dnf upgrade

dnf-automatic – mise à jour automatique de paquets

Pour mettre à jour régulièrement et automatiquement les paquets de votre Linux, vous pouvez utiliser dnf-automatic.
Ce dernier vérifie et télécharge automatiquement les mises à jour des packages.
Il créé les fichiers de configuration suivants :

  • /etc/dnf/dnf-cron.conf
  • /etc/dnf/dnf-cron-hourly.conf

Mettre à niveau la distribution Linux

Centos ne prévoit pas de mise à niveau de version.
Toutefois une procédure existe :

Sur la distribution Fedora, cela est possible de mettre à niveau la version.
Nettoyez tous les métadonnées et paquets en cache :

Il faut tout d’abord installer le greffon de DNF et mettre à jour votre version de Fedora actuelle.

dnf install dnf-plugin-system-upgrade
dnf upgrade && dnf clean all

Ensuite vous pouvez télécharger les paquets puis redémarrer la machine pour appliquer la mise à niveau.
Pour cela on ondique le numéro de version vers lequel on veut mettre à niveau, ici 35 :

# dnf system-upgrade download --releasever=35
# dnf system-upgrade reboot

Enfin on redémarre Linux.

Pour résoudre certains problèmes signalés lors d’un premier lancement, l’option –allowerasing peut permettre de les résoudre :

dnf system-upgrade download --releasever=34 --allowerasing

dnf clean

Pour nettoyer les dépôts locaux, vous pouvez utiliser la commande dnf clean.
L’utilisation la plus courante est la suivante pour nettoyer les paquets cachés du système :

dnf clean packages
CommandeDescription
dnf clean packagesSupprimer toutes les paquetages cachés du système. Les paquetages ne sont pas automatiquement effacés après leur téléchargement.
dnf clean headersSupprimer tous les fichiers en-têtes qu’utilise dnf pour résoudre les dépendances.
dnf clean metadataSupprimer tous les fichiers qu’utilise dnf pour déterminer la disponibilité distante des paquetages. L’utilisation de cette option fera qu’à la prochaine session, dnf téléchargera toutes les méta-données.
dnf clean cacheSupprimer le cache « sqlite » utilisé pour un accès plus rapide aux méta-données. L’utilisation de cette option fera qu’à la prochaine session, dnf recréera le cache si aucun cache « sqlite » n’est disponible.
dnf clean dbcacheSupprimer le cache « sqlite » utilisé pour un accès plus rapide aux méta-données. L’utilisation de cette option fera qu’à la prochaine session, dnf recréera le cache.
dnf clean allLancer dnf clean packages et dnf clean headers comme décrit précédemment.
Utiliser la commande dnf clean

Liste des commandes DNF/YUM

OptionsDescription
installnstaller la dernière version d’un paquetage ou groupe de paquetages en s’assurant que toutes les dépendances soient satisfaites. Si aucun paquetage ne correspond au(x) nom(s) de paquetage fourni(s), on considère qu’il s’agit d’une expression générique du shell (avec des jokers) et toutes les correspondances sont installées.
updateSi aucun nom de paquetage n’est fourni avec la commande, update mettra à jour tous les paquetages actuellement installés. Si on fournit un ou plusieurs noms de paquetage, dnf ne mettra à jour que les paquetages indiqués.
check-updateVérifier si votre machine a besoin d’une mise à jour, sans la faire. Renvoie un code de retour de 100 si des mises à jours sont disponibles. Renvoie également une liste des paquetages disponibles pour la mise à jour. Renvoie un code de retour 0 si aucune mise à jour n’est nécessaire.
upgradeIdentique à la commande update combinée avec l’option –obsoletes.
remove ou eraseSupprimer du système le(s) paquetage(s) indiqué(s), supprimer également tous les paquetages qui en dépendent.
listAfficher diverses informations sur les paquetages
provides ou whatprovidesChercher quel paquetage fournit telle fonctionnalité ou tel fichier. Utilisez simplement un nom particulier ou une expression générique shell (avec des jokers) pour afficher la liste des paquetages disponibles ou installés qui fournissent cette fonctionnalité ou ce fichier.
searchChercher des paquetages dont la description, le résumé, le nom de l’empaqueteur ou le nom du paquetage correspond ou contient la chaîne indiquée. Très pratique pour chercher un paquetage dont vous ne connaissez pas le nom mais avez quelques mots clé s’y rapportant.
infoAfficher la description et le résumé des paquetages disponibles
cleanEffacer diverses choses qui s’accumulent dans le répertoire cache de dnf au fil du temps.
shellEntrer dans l’interpréteur de commande de dnf. Si un nom de fichier est fourni en argument, le contenu de ce fichier est exécuté dans le mode « shell dnf »
resolvedepAfficher les paquetages qui fournissent la (les) dépendance(s) spécifiée(s). Il y a au moins un paquetage affiché par dépendance.
localinstallInstaller un ensemble de fichiers rpm locaux. Si c’est nécessaire, les dépôts actifs seront utilisés pour résoudre les dépendances.
localupdateMettre à jour le système avec les fichiers rpm locaux spécifiés. Seuls les fichiers rpm dont une précédente version est installée seront installés, les autres paquetages spécifiés seront ignorés. Si c’est nécessaire, les dépôts actifs seront utilisés pour résoudre les dépendances.
deplistAfficher une liste de toutes les dépendances et des paquetages qui fournissent ces dépendances pour les paquetages spécifiés.
repolistAfficher une liste de tous les dépôts configurés. Par défaut, affiche une liste de tous les dépôts actifs.
Liste des commandes dnf