Préparation LPI: RPM et YUM

Ce laboratoire permet de se familiariser avec la gestion des paquets sous Linux en utilisant les outils RPM et YUM. Vous apprendrez à installer, mettre à jour, interroger et supprimer des paquets, ainsi qu'à gérer les dépendances et extraire le contenu d'un paquet RPM.

D'après le document Préparation LPI: RPM et YUM

Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Préparation LPI: RPM et YUM

Document source

Préparation LPI: RPM et YUM

Linux Package Management using RPM and YUM · PDF · 41 pages · 2008

Afficher l'aperçu du document

Consulter le document original →

Ce laboratoire permet de se familiariser avec la gestion des paquets sous Linux en utilisant les outils RPM et YUM. Vous apprendrez à installer, mettre à jour, interroger et supprimer des paquets, ainsi qu'à gérer les dépendances et extraire le contenu d'un paquet RPM. Pour réaliser ce TP, un système Linux avec RPM et YUM installés est nécessaire, ainsi qu'un accès à des dépôts de paquets ou à des fichiers RPM.

Objectifs

  • Installer, réinstaller, mettre à jour et supprimer des paquets avec rpm et yum.
  • Obtenir des informations sur les paquets RPM : version, état, dépendances, intégrité, signature.
  • Déterminer les fichiers fournis par un paquet et identifier le paquet d'origine d'un fichier.
  • Extraire le contenu d'un paquet RPM sans l'installer.
  • Utiliser les options principales de rpm et yum pour gérer les paquets.

Prérequis et installation

  • Un système Linux avec RPM (Red Hat Package Manager) installé.
  • YUM (Yellowdog Updater Modified) installé et configuré avec des dépôts actifs.
  • Connaissances de base de la ligne de commande Linux.
  • Accès à internet ou à des dépôts locaux pour récupérer des paquets.

Gestion des paquets avec RPM

RPM est un gestionnaire de paquets permettant d'installer, mettre à jour, désinstaller, interroger et vérifier des paquets au format .rpm. Les paquets sont nommés selon la syntaxe :

nom-paquet-x.y.z-i.arch.rpm

où x.y.z est la version, i le numéro de build ou release, et arch l'architecture (i386, x86_64, noarch, etc.).

Installation d'un paquet RPM :

# rpm -ivh foo-1.0-1.i386.rpm

L'option -i installe le paquet, -v active le mode verbeux, et -h affiche une barre de progression.

En cas de dépendances manquantes, RPM affiche un message d'erreur indiquant les paquets requis. Il faut alors récupérer ces paquets et les installer également.

Interrogation d'un paquet :

# rpm -q nom-paquet
# rpm -qi nom-paquet
# rpm -ql nom-paquet
# rpm -qf /chemin/vers/fichier
  • -q recherche un paquet installé.
  • -qi affiche des informations détaillées sur le paquet.
  • -ql liste les fichiers fournis par le paquet.
  • -qf indique à quel paquet appartient un fichier donné.

Exemple :

[franck@localhost ~]$ rpm -q lyx
lyx-1.5.4-1.fc8

[franck@localhost ~]$ rpm -qi lyx
Name        : lyx
Version     : 1.5.4
Release     : 1.fc8
Summary     : WYSIWYM (What You See Is What You Mean) document processor
...

Désinstallation d'un paquet :

# rpm -e nom-paquet

Attention, il faut fournir le nom du paquet, pas le nom du fichier RPM.

Mise à jour d'un paquet :

# rpm -Uvh nom-paquet.rpm

L'option -U installe ou met à jour un paquet.

Vérification de l'intégrité d'un paquet :

# rpm -V nom-paquet

Cette commande compare les fichiers installés avec les informations de la base RPM pour détecter d'éventuelles modifications.

Extraction du contenu d'un paquet RPM avec rpm2cpio

La commande rpm2cpio permet de convertir un paquet RPM en archive cpio, qui peut ensuite être extraite pour accéder aux fichiers sans installation.

Procédure :

# mkdir arkeia
# rpm2cpio arkeia-6.0.22-1.i386.rpm > arkeia/arkeia-6.0.22-1.i386.rpm.cpio
# cd arkeia
# cpio -i -d < arkeia-6.0.22-1.i386.rpm.cpio
# ls -l

Vous obtenez alors l'arborescence des fichiers contenus dans le paquet.

Gestion des paquets avec YUM

YUM est un gestionnaire de paquets RPM qui facilite la recherche, l'installation, la mise à jour et la suppression de paquets en gérant automatiquement les dépendances. Il utilise des dépôts définis dans le répertoire /etc/yum.repos.d/.

Liste des dépôts :

Les dépôts obligatoires sont généralement base et updates. Des dépôts supplémentaires comme livna, rpmforge, etc., peuvent être ajoutés.

Exemple de fichier de dépôt :

[rpmforge]
name = Fedora Core $releasever - RPMforge.net - dag
mirrorlist = http://apt.sw.be/fedora/3/en/mirrors-rpmforge
enabled = 1
gpgcheck = 1

Commandes YUM principales :

  • yum list [nom-paquet] : liste les paquets installés et disponibles.
  • yum search mot-clef : recherche un paquet à partir d'un mot-clé.
  • yum info nom-paquet : affiche les informations détaillées d'un paquet.
  • yum install nom-paquet : installe un paquet et ses dépendances.
  • yum update nom-paquet : met à jour un paquet.
  • yum remove nom-paquet : supprime un paquet.
  • yum provides nom-fichier : recherche le paquet fournissant un fichier donné.
  • yum clean : nettoie le cache des paquets téléchargés.

Exemple d'installation :

# yum install iozone

YUM résout automatiquement les dépendances, télécharge et installe les paquets nécessaires.

Exemple de mise à jour :

# yum update lyx

Exemple de suppression :

# yum remove iozone

Installation locale avec gestion des dépendances :

Si vous récupérez un paquet RPM manuellement et que son installation avec rpm -ivh échoue à cause de dépendances, utilisez :

# yum localinstall nom-fichier.rpm

Cette commande installe le paquet local tout en résolvant et installant les dépendances nécessaires depuis les dépôts configurés.

Procédure détaillée

Étape 1 : Installation d'un paquet RPM avec rpm

Téléchargez un paquet RPM compatible avec votre distribution et architecture. Par exemple :

# rpm -ivh foo-1.0-1.i386.rpm

Si des dépendances sont manquantes, notez-les et récupérez les paquets correspondants, puis réexécutez la commande en incluant tous les paquets nécessaires.

Un résultat correct affiche une barre de progression complète et aucun message d'erreur.

Étape 2 : Interroger un paquet installé

Pour vérifier qu'un paquet est bien installé et obtenir ses informations :

# rpm -q foo
# rpm -qi foo
# rpm -ql foo
# rpm -qf /chemin/vers/fichier

Les commandes doivent retourner les informations attendues sans erreur.

Étape 3 : Désinstaller un paquet

Pour supprimer un paquet :

# rpm -e foo

La commande doit s'exécuter sans erreur et le paquet ne doit plus apparaître dans la liste des paquets installés.

Étape 4 : Extraire le contenu d'un paquet RPM sans l'installer

Créez un répertoire de travail :

# mkdir travail
# rpm2cpio foo-1.0-1.i386.rpm > travail/foo.cpio
# cd travail
# cpio -i -d < foo.cpio
# ls -l

Vous devez voir les fichiers extraits dans l'arborescence.

Étape 5 : Utiliser YUM pour gérer les paquets

Listez les paquets installés et disponibles :

# yum list
# yum list lyx

Recherchez un paquet par mot-clé :

# yum search lyx

Installez un paquet avec résolution automatique des dépendances :

# yum install iozone

Mettez à jour un paquet :

# yum update lyx

Supprimez un paquet :

# yum remove iozone

Installez un paquet RPM local en gérant les dépendances :

# yum localinstall hplip-3.10.2_rhel-5.0.x86_64.rpm

Étape 6 : Recherche d'un paquet contenant un fichier

Pour savoir quel paquet fournit un fichier :

# yum provides libgfortran.so.1

La commande doit retourner le ou les paquets correspondants.

Étape 7 : Récupérer un paquet sans l'installer

Pour télécharger un paquet depuis un dépôt sans l'installer :

# yumdownloader lyx

Le fichier RPM est alors disponible dans le répertoire courant.

Résultats attendus

  • Installation réussie d'un paquet RPM avec rpm -ivh sans erreur.
  • Affichage correct des informations d'un paquet avec rpm -qi et liste des fichiers avec rpm -ql.
  • Extraction complète des fichiers d'un paquet RPM avec rpm2cpio et cpio.
  • Résolution automatique des dépendances lors d'une installation ou mise à jour avec YUM.
  • Suppression effective d'un paquet avec YUM ou RPM.
  • Recherche efficace de paquets par nom, mot-clé ou fichier fourni.
  • Téléchargement d'un paquet RPM avec yumdownloader sans installation.

Pièges courants

  • Confondre le nom du paquet et le nom du fichier RPM lors de la désinstallation avec rpm -e. Il faut toujours utiliser le nom du paquet, pas le nom du fichier.
  • Installer un paquet RPM avec rpm -ivh sans gérer les dépendances, ce qui provoque des erreurs. Préférez yum localinstall pour gérer automatiquement les dépendances.
  • Ne pas vérifier que le paquet téléchargé correspond bien à la version et à l'architecture de la distribution.
  • Oublier de reconstruire la base RPM avec rpm --rebuilddb en cas de corruption de la base de données.
  • Utiliser des options incompatibles ou mal comprises, par exemple --force ou --nodeps, qui peuvent endommager le système si mal utilisées.
  • Ne pas nettoyer le cache YUM régulièrement avec yum clean, ce qui peut entraîner des problèmes d'espace disque ou de paquets obsolètes.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions