Interroger et mettre à jour des paquets avec YUM sous Linux

Red Hat Enterprise LinuxBeginner
Pratiquer maintenant

Introduction

Dans cet atelier, vous allez acquérir les compétences essentielles pour gérer les paquets logiciels sur les systèmes Linux basés sur RHEL (Red Hat Enterprise Linux) en utilisant le gestionnaire de paquets YUM. Vous commencerez par inspecter les détails et les dépendances des paquets actuellement installés à l'aide des commandes yum list and yum deplist. Vous explorerez également les dépôts logiciels configurés sur votre système avec yum repolist afin de comprendre d'où proviennent vos logiciels et quelles options s'offrent à vous.

En vous appuyant sur ces bases, vous passerez ensuite à la maintenance et aux mises à jour du système. Vous apprendrez à utiliser yum check-update pour identifier les paquets disposant de versions plus récentes. Enfin, vous mettrez ces connaissances en pratique en apprenant à distinguer la mise à jour d'un paquet spécifique de la mise à jour complète du système, garantissant ainsi un environnement sécurisé et performant.

Inspecter un paquet installé avec 'yum list' et 'yum deplist'

Dans cette étape, vous allez apprendre à inspecter les paquets installés à l'aide de yum, le gestionnaire de paquets par défaut pour CentOS et les autres distributions Linux basées sur RHEL. Nous commencerons par examiner le paquet bash, qui fournit l'environnement shell que vous utilisez probablement. Ces commandes vous aident à comprendre ce qui est installé sur votre machine et de quels autres composants un paquet dépend pour fonctionner.

Tout d'abord, utilisons la commande yum list pour vérifier l'état d'un paquet spécifique. Cette commande permet de savoir si un paquet est installé et quelle version est présente sur votre système.

Pour vérifier les détails du paquet bash, exécutez la commande suivante dans votre terminal :

sudo yum list bash

Vous verrez une sortie similaire à celle-ci, confirmant que bash est installé. Le symbole @ dans la colonne du dépôt (par exemple, @anaconda ou @System) indique un paquet déjà installé.

Installed Packages
bash.x86_64    <version>    @anaconda

Ensuite, explorons le concept de dépendances. La plupart des paquets logiciels ne sont pas autonomes ; ils s'appuient sur d'autres paquets, tels que des bibliothèques ou des outils, pour fonctionner correctement. Ces paquets requis sont appelés dépendances. La commande yum deplist vous permet de voir la liste complète des dépendances pour un paquet donné.

Pour voir tous les paquets dont dépend le paquet bash, lancez cette commande :

sudo yum deplist bash

Le résultat listera chaque dépendance ainsi que le paquet qui la fournit. C'est un élément crucial pour comprendre comment yum résout et gère les installations logicielles.

package: bash.x86_64 <version>
  dependency: /bin/sh
   provider: bash.x86_64 <version>
  dependency: chkconfig
   provider: chkconfig.x86_64 <version>
  dependency: coreutils
   provider: coreutils.x86_64 <version>
  dependency: libc.so.6(GLIBC_2.15)(64bit)
   provider: glibc.x86_64 <version>
... (output truncated) ...

En utilisant yum list et yum deplist, vous obtenez une vision claire des paquets installés sur votre système et de leurs interactions mutuelles.

Explorer les dépôts et les paquets disponibles avec 'yum repolist'

Dans cette étape, vous apprendrez à explorer les sources de logiciels, appelées dépôts (repositories), que yum utilise pour trouver et installer des paquets. Vous apprendrez également à rechercher de nouveaux paquets disponibles pour l'installation.

Un dépôt de paquets est un emplacement de stockage centralisé où sont conservés les logiciels. Lorsque vous demandez à yum d'installer un paquet, il contacte les dépôts configurés, télécharge les fichiers nécessaires et les installe sur votre système.

Pour voir la liste des dépôts actuellement activés sur votre système, vous pouvez utiliser la commande yum repolist. C'est très utile pour vérifier quelles sources de logiciels sont actives.

Exécutez la commande suivante dans votre terminal :

sudo yum repolist

La sortie affichera une liste d'identifiants de dépôts, leurs noms et le nombre de paquets qu'ils contiennent. Cela ressemblera à ceci :

repo id                                                                                                                          repo name
rhui-rhel-9-for-x86_64-appstream-rhui-rpms                                                                                       Red Hat Enterprise Linux 9 for x86_64 - AppStream from RHUI (RPMs)
rhui-rhel-9-for-x86_64-baseos-rhui-rpms                                                                                          Red Hat Enterprise Linux 9 for x86_64 - BaseOS from RHUI (RPMs)

Maintenant que vous savez où yum cherche les paquets, cherchons quels paquets sont disponibles pour l'installation. La commande yum list available affiche tous les paquets des dépôts activés qui ne sont pas encore installés sur votre système.

Lancer yum list available seul produirait une liste extrêmement longue. Il est plus pratique de rechercher quelque chose de spécifique. Cherchons les paquets disponibles liés au noyau Linux (kernel). Vous pouvez utiliser un caractère générique (*) pour faire correspondre plusieurs noms de paquets.

Exécutez cette commande pour lister tous les paquets disponibles commençant par kernel :

sudo yum list available 'kernel*'

Les guillemets simples autour de kernel* sont importants pour empêcher le shell d'essayer d'interpréter lui-même le caractère générique. Le résultat affichera une liste de paquets liés au noyau, leurs versions et le dépôt dont ils proviennent.

Available Packages
kernel-devel.x86_64      <version>      updates
kernel-doc.noarch        <version>      updates
kernel-headers.x86_64    <version>      updates
... (output truncated) ...

Ces commandes sont essentielles pour la gestion logicielle, vous permettant de visualiser vos sources et de découvrir de nouveaux outils à installer.

Vérifier les mises à jour disponibles avec 'yum check-update'

Dans cette étape, vous apprendrez à vérifier les mises à jour logicielles disponibles pour les paquets installés sur votre système. Maintenir votre système à jour est une tâche critique pour la sécurité et la stabilité, car les mises à jour contiennent souvent des correctifs de vulnérabilités, des résolutions de bugs et de nouvelles fonctionnalités.

La commande yum check-update offre un moyen sûr de voir quels paquets installés disposent d'une version plus récente dans les dépôts. Il est important de noter que cette commande se contente de lister les mises à jour disponibles ; elle ne les télécharge ni ne les installe. Cela vous permet d'examiner les changements potentiels avant de les appliquer.

Pour vérifier toutes les mises à jour disponibles sur votre système, exécutez la commande suivante dans votre terminal :

sudo yum check-update

yum va alors se connecter à tous vos dépôts activés, rafraîchir son cache local d'informations sur les paquets et comparer les versions de vos paquets installés avec les dernières versions disponibles.

Si des mises à jour sont disponibles, vous verrez une liste similaire à l'exemple suivant. Chaque ligne indique le nom du paquet, la nouvelle version et le dépôt à partir duquel il sera mis à jour.

bind-libs.x86_64                 <version>      updates
bind-license.noarch              <version>      updates
curl.x86_64                      <version>      updates
glibc.x86_64                     <version>      updates
glibc-common.x86_64              <version>      updates
... (output truncated) ...

Si votre système est déjà parfaitement à jour, la commande se terminera sans lister de paquets. Cette commande fait partie intégrante de la maintenance de routine, vous donnant une image claire de l'état de votre système avant de procéder au processus de mise à jour réel dans les étapes suivantes.

Appliquer la mise à jour d'un seul paquet avec 'yum update '

Dans cette étape, vous allez appliquer la mise à jour d'un paquet spécifique. À l'étape précédente, vous avez utilisé yum check-update pour voir la liste globale. Bien qu'il soit courant de mettre à jour tout le système d'un coup, il arrive que l'on souhaite ne mettre à jour qu'un seul paquet. Cela offre un meilleur contrôle sur les modifications du système.

Choisissons un paquet dans la liste précédente pour le mettre à jour. Nous utiliserons curl comme exemple, un outil courant pour le transfert de données. Si curl ne figurait pas dans votre liste de mises à jour, vous pouvez choisir un autre paquet présent dans cette liste.

Avant de mettre à jour le paquet, nous devons rétrograder le paquet curl vers une version pour laquelle une mise à jour est disponible.

sudo yum downgrade -y curl

Pour mettre à jour uniquement le paquet curl, lancez la commande suivante :

sudo yum update curl

yum va maintenant résoudre les dépendances pour curl, déterminer ce qui doit être mis à jour et vous présenter un résumé de la transaction. Ce résumé indique quels paquets seront mis à jour et la taille totale du téléchargement.

Resolving Dependencies
--> Running transaction check
---> Package curl.x86_64 0:<old_version> will be updated
---> Package curl.x86_64 0:<new_version> will be an update
--> Processing Dependency: libcurl = <new_version> for package: curl-<new_version>.x86_64
--> Running transaction check
---> Package libcurl.x86_64 0:<old_version> will be updated
---> Package libcurl.x86_64 0:<new_version> will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package      Arch         Version              Repository                 Size
================================================================================
Updating:
 curl         x86_64       <new_version>        updates                    <size>
Updating for dependencies:
 libcurl      x86_64       <new_version>        updates                    <size>

Transaction Summary
================================================================================
Upgrade  1 Package (+1 Dependent package)

Total download size: <total_size>
Is this ok [y/d/N]:

Examinez les modifications. Si vous êtes prêt à continuer, tapez y et appuyez sur Entrée. yum téléchargera et installera alors les mises à jour.

Une fois le processus terminé, vous verrez un message "Complete!", confirmant que la mise à jour a réussi.

...
Running transaction
  Updating   : libcurl-<new_version>.x86_64                                 1/4
  Updating   : curl-<new_version>.x86_64                                    2/4
  Cleanup    : curl-<old_version>.x86_64                                    3/4
  Cleanup    : libcurl-<old_version>.x86_64                                 4/4
  Verifying  : curl-<new_version>.x86_64                                    1/4
  ...

Updated:
  curl.x86_64 <new_version>

Dependency Updated:
  libcurl.x86_64 <new_version>

Complete!

Vous avez réussi à mettre à jour un paquet spécifique et ses dépendances. Cette approche ciblée est utile pour appliquer des correctifs de sécurité précis ou des mises à jour de fonctionnalités sans effectuer une mise à niveau complète du système.

Effectuer une mise à jour complète du système avec 'yum update'

Dans cette étape, vous allez effectuer la tâche de gestion de paquets la plus courante et la plus importante : une mise à jour complète du système. Bien que la mise à jour de paquets individuels soit utile, la mise à jour régulière de tous les logiciels de votre système est cruciale pour maintenir la sécurité, la stabilité et bénéficier des dernières fonctionnalités.

La commande yum update, lorsqu'elle est exécutée sans spécifier de nom de paquet, vérifie tous les paquets installés par rapport aux versions disponibles dans vos dépôts activés et met à jour chaque paquet pour lequel une version plus récente est trouvée.

Attention : Ce processus peut télécharger une grande quantité de données et prendre un temps considérable, selon le nombre de mises à jour disponibles et la vitesse de votre connexion réseau.

Pour commencer la mise à jour complète du système, exécutez la commande suivante dans votre terminal :

sudo yum update

Comme pour la mise à jour d'un seul paquet, yum va d'abord résoudre toutes les dépendances, puis vous présenter un résumé de la transaction. Cette liste sera probablement beaucoup plus longue que la précédente, car elle inclut tous les paquets nécessitant une mise à jour.

Resolving Dependencies
--> Running transaction check
... (many packages listed) ...

Dependencies Resolved

================================================================================
 Package               Arch         Version              Repository        Size
================================================================================
Updating:
 bind-libs             x86_64       <version>            updates           <size>
 bind-license          noarch       <version>            updates           <size>
 glibc                 x86_64       <version>            updates           <size>
 glibc-common          x86_64       <version>            updates           <size>
 ... (many more packages) ...

Transaction Summary
================================================================================
Upgrade  <X> Packages

Total download size: <total_size>
Is this ok [y/d/N]:

Examinez attentivement la liste des paquets à mettre à jour. Lorsque vous êtes prêt, tapez n pour ignorer la mise à jour effective, car la mise à jour de tous les paquets prendrait trop de temps dans le cadre de cet exercice.

Félicitations ! Vous savez maintenant comment mettre à jour l'intégralité de votre système. C'est une compétence fondamentale pour la gestion de tout serveur ou station de travail Linux, garantissant qu'il reste sécurisé et fiable.

Résumé

Dans cet atelier, vous avez appris les bases de la gestion des paquets logiciels sur un système Linux basé sur RHEL à l'aide du gestionnaire de paquets YUM. Vous avez commencé par inspecter un paquet installé avec yum list pour vérifier son état et sa version, puis vous avez utilisé yum deplist pour examiner ses dépendances. Vous avez également exploré les sources logicielles configurées en listant tous les dépôts actifs avec la commande yum repolist.

L'atelier vous a ensuite guidé à travers le processus de mise à jour. Vous avez appris à vérifier les mises à jour disponibles sur l'ensemble du système sans les installer via yum check-update. Vous vous êtes exercé à appliquer une mise à jour spécifique à un seul paquet avec yum update <package>, et vous avez conclu en apprenant à effectuer une mise à jour complète du système avec la commande yum update pour appliquer tous les correctifs et mises à niveau logicielles disponibles, garantissant ainsi que le système reste à jour et sécurisé.