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.

Document source
Linux Package Management using RPM and YUM · PDF · 41 pages · 2008
Afficher l'aperçu du document
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
-qrecherche un paquet installé.-qiaffiche des informations détaillées sur le paquet.-qlliste les fichiers fournis par le paquet.-qfindique à 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 -ivhsans erreur. - Affichage correct des informations d'un paquet avec
rpm -qiet liste des fichiers avecrpm -ql. - Extraction complète des fichiers d'un paquet RPM avec
rpm2cpioetcpio. - 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
yumdownloadersans 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 -ivhsans gérer les dépendances, ce qui provoque des erreurs. Préférezyum localinstallpour 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 --rebuilddben cas de corruption de la base de données. - Utiliser des options incompatibles ou mal comprises, par exemple
--forceou--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.
Commentaires
Aucun commentaire pour le moment. Posez la première question.