0% ont trouvé ce document utile (0 vote)
226 vues9 pages

Gestion des packages RPM sur Linux

Cet article décrit les principales fonctionnalités de RPM, l'outil de gestion de packages pour systèmes Linux/Unix. RPM permet d'installer, supprimer, mettre à jour des packages simplement, et de vérifier et interroger le système de packages.

Transféré par

Ismail bilakan
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
226 vues9 pages

Gestion des packages RPM sur Linux

Cet article décrit les principales fonctionnalités de RPM, l'outil de gestion de packages pour systèmes Linux/Unix. RPM permet d'installer, supprimer, mettre à jour des packages simplement, et de vérifier et interroger le système de packages.

Transféré par

Ismail bilakan
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Gestion des packages avec RPM

RPM (Red Hat Package Manager) est un outil de gestion de packages pour


système Linux et Unix. Red Hat Software encourage les différents distributeurs à
jeter un coup d'oeil à RPM et à l'utiliser dans leurs propres produits. RPM est
distribuable sous les termes de la licence GPL.

Pour un utilisateur, RPM permet de maintenir le plus simplement du monde son


système : l'installation, la suppression ou la mise à jour d'un package s'effectuent à
l'aide d'une simple ligne de commande. RPM maintient une base de données des
packages installés et de leurs fichiers, ce qui vous permet d'interroger et de vérifier
facilement votre système. Durant les mises à jour, RPM conserve vos fichiers de
configuration ce qui est impossible avec des fichiers .[Link].

Pour les programmeurs, RPM permet de créer des packages sources et binaires
qu'ils pourront distribuer auprès des autres utilisateurs. Le procédé utilisé est d'une
grande simplicité et s'effectue grâce à un fichier unique. Ce fichier est composé des
sources du package et des mises à jour optionnelles que vous aurez créé. La
maintenance du package est simplifiée, lorsque de nouvelles versions du logiciel
apparaissent.

8.1 Objectifs de RPM

Avant de chercher à utiliser RPM, il est préférable de savoir à quoi il peut servir.

Mise à jour : vous pouvez avec RPM effectuer une mise à jour des différents
composants de votre système sans avoir à tout réinstaller. Lorsque vous avez à
votre disposition une nouvelle version d'un système d'exploitation basée sur RPM
(ex : Red Hat Linux), vous n'avez pas besoin de réinstaller votre machine (comme
vous le feriez pour d'autres systèmes). RPM effectue une mise à jour automatisée et
intelligente de votre système. Vos fichiers de configuration seront conservés lors de
la procédure de mise à jour.

Interrogation : RPM possède des fonctions d'interrogation très poussées. Vous


pouvez effectuer des recherches, grâce à la base de données, sur des packages ou
sur un simple fichier. Ainsi, vous pouvez facilement savoir à quel package
appartient tel ou tel fichier et donc savoir d'où il vient. Les fichiers contenus dans
un package RPM se trouvent dans une archive compressée, avec un en-tête binaire
contenant des informations sur le package et son contenu. Vous pouvez ainsi
interroger rapidement et individuellement les packages.

Vérification du système : RPM possède aussi des fonctions de vérification des


packages. Si vous pensez avoir effacé un fichier contenu dans un package, il vous
suffit de vérifier ce package et toute anomalie vous sera rapportée. Si nécessaire,
vous pouvez alors réinstaller le package, sans que vos fichiers de configuration
soient supprimés.

Sources premières : un des objectifs est de permettre l'utilisation des sources
premières, telles qu'elles sont distribuées par les auteurs du logiciel. Avec RPM,
vous aurez à votre disposition les sources premières, les mises à jour (patch) utilisés
et les instructions nécessaires à la compilation. C'est un grand avantage, et pour
plusieurs raisons. Par exemple, vous pouvez facilement évoluer vers une nouvelle
version de package. Il vous suffit de jeter un simple coup d'oeil aux mises à jour
(patch) pour savoir ce qu'il vous suffit de faire.

Tout ceci est d'une grande importance pour les programmeurs, mais au final les
utilisateurs en seront aussi très satisfaits. Nous tenons à remercier nos amis de la
distribution BOGUS qui sont à l'origine de ce concept.

8.2 Utilisation de RPM

 8.2.1 Installation
o Package déjà installé
o Fichiers en conflit
o Dépendances
 8.2.2 Suppression
 8.2.3 Mise à jour
 8.2.4 Interrogation
 8.2.5 Vérification

RPM possède cinq fonctions différentes (sans compter la création de package) :


installation, suppression, mise à jour, interrogation et vérification. Voici une
présentation de ces cinq fonctions. Pour plus d'informations et pour une description
des options, utilisez la commande rpm --help ou consultez les pages du man (ainsi
que l'ouvrage consacré à RPM).

8.2.1 Installation

Les packages RPM ont généralement des noms du type [Link], (foo)


est le nom du package, (1.0) la version, (1) le numéro de mise à jour, et (i386)
l'architecture. Pour installer un package, utilisez simplement la commande :
$ rpm -ivh [Link]
foo ####################################
Comme vous pouvez le constater, RPM affiche le nom du package (qui ne
correspond pas forcément au nom du fichier, qui aurait pu être [Link]) et une
succession de caractères # qui représentent une jauge de progression.

L'installation de package est très simple, mais vous pouvez tout de même
rencontrer quelques erreurs :

Package déjà installé

Si le package est déjà installé, vous verrez apparaître :


$ rpm -ivh [Link]
foo package foo-1.0-1 is already installed
error : [Link] cannot be installed

Si vous voulez vraiment installer ce package, utilisez l'option --replacepkgs qui


permet d'ignorer l'erreur.

Fichiers en conflit

SI vous tentez d'installer un package qui contient un fichier déjà installé sur le
système, vous verrez apparaître :
$ rpm -ivh [Link]
foo /usr/bin/foo conflicts with file from bar-1.0-1
error : [Link] cannot be installed

Pour ignorer l'erreur, utilisez l'option --replacefiles.

Dépendances

Des packages RPM peuvent dépendre d'autres packages, ce qui signifie qu'ils
doivent au préalable être installés pour que tout fonctionne correctement. Si vous
tentez d'installer un package dépendant d'un autre package, vous verrez apparaître :
$ rpm -ivh [Link]
failed dependencies :
foo is needed by bar-1.0-1

Pour éviter ce problème, vous devez d'abord installer les packages requis. Vous
pouvez tout de même forcer l'installation (mais le package risque fort de ne pas
fonctionner) en utilisant l'option --nodeps.

8.2.2 Suppression

La suppression d'un package est aussi simple que son installation :


$ rpm -e foo

Note : nous utilisons ici le nom foo, qui n'est pas le nom original du package
(ici [Link]).

Lors d'une suppression , vous pouvez rencontrer des problèmes de dépendances


dans le cas où le package que vous tentez de supprimer est requis par d'autres
packages. Vous verrez apparaître :
$ rpm -e foo
removing these packages would break dependencies :
foo is needed by bar-1.0-1

Vous pouvez tout de même forcer la suppression (mais les packages dépendants
risquent fort de ne pas fonctionner) en utilisant l'option --nodeps.

8.2.3 Mise à jour

La mise à jour d'un package est aussi simple que son installation :
$ rpm -Uvh [Link]
foo ####################################

Vous ne vous en apercevrez pas, mais RPM supprime automatiquement les


anciennes versions du package foo. Vous pouvez toujours utiliser l'option -U pour
installer les packages, puisqu'elle fonctionne même si le système ne possède pas
d'ancienne version du package.

RPM effectue une mise à jour intelligente du package avec une sauvegarde des
fichiers de configuration, vous verrez apparaître un message du type :
saving /etc/[Link] as /etc/[Link]

Cela signifie que les modifications que vous avez apportées au fichier de
configuration risquent de ne plus être compatibles avec le nouveau fichier de
configuration du package, RPM effectue donc une sauvegarde du fichier d'origine
et installe le nouveau. Observez les différences entre les deux fichiers, afin que le
système puisse continuer à fonctionner correctement.

Une mise à jour combine en fait les fonctions d'installation et de suppression de


package, vous pouvez donc rencontrer une des erreurs décrites plus haut, plus une.
Si RPM pense que vous êtes en train d'effectuer une mise à jour vers une version
plus ancienne, vous verrez apparaître :
$ rpm -Uvh [Link]
foo package foo-2.0-1 (which is newer) is already installed
error : [Link] cannot be installed
Pour ignorer cette erreur et donc pour forcer la mise à jour, utilisez l'option --
oldpackage.

8.2.4 Interrogation

Pour interroger la base de données sur les packages installés, utilisez la


commande rpm -q. Utilisez simplement rpm -q foo pour afficher le nom, la version
et le numéro de mise à jour du package foo :
$ rpm -q foo
rpm-2.0-1

Vous pouvez remplacer le nom du package par une des ces options (Package
Specification Options) :

* -a interroge tous les packages installés

* -f <file> interroge tous les packages qui contiennent le fichier <file>

* -p <packagefile> interroge le package <packagefile>

Il existe plusieurs façons de spécifier les informations à afficher lors de


l'interrogation des packages. Vous pouvez utiliser les options suivantes
(Information Selection Options) :

* -i affiche un certain nombre d'informations sur le package (nom, description,


numéro de mise à jour, taille, date de création, date d'installation, fournisseur, ...)

* -l affiche la liste de fichiers contenus dans le package

* -s affiche l'état de tous les fichiers du package (état : normal ou absent)

* -d affiche une liste des fichiers de documentation (pages du man, pages info,
README, ...)

* -c affiche une liste des fichiers de configuration. Ces fichiers sont ceux que vous
modifierez après l'installation pour les adapter à votre système ([Link],
passwd, inittab, ...)

Pour les options qui affichent une liste de fichiers, vous pouvez ajouter -v pour un
affichage avec un format similaire à celui de la commande ls -l.

8.2.5 Vérification

La vérification permet de comparer des informations relatives aux fichiers installés


sur le système avec celles du package d'origine. Entre autres, la vérification se fait
sur la taille, sur la somme MD5, sur les permissions, sur le type, sur le propriétaire
et sur le groupe de chaque fichier.

rpm -V vérifie un package. Vous pouvez aussi combiner d'autres options décrites
plus haut (Package Selection Options). La commande rpm -V foo vérifie que tous
les fichiers du package foosont tels qu'ils étaient lors de l'installation d'origine.
Exemples :

* Pour vérifier qu'un package contient un fichier particulier :


rpm -Vf /bin/vi

* Pour vérifier tous les packages installés :


rpm -Va

* Pour vérifier un package installé par rapport au package RPM :


rpm -Vp [Link]

* Ceci peut être utile si vous pensez que votre base de données est corrompue.

Si la vérification s'est correctement déroulée, vous ne verrez rien apparaître. Si la


vérification met à jour des différences, une chaîne de huit caractères apparaît. Le
caractère c suivi du nom du fichier indique qu'il s'agit d'un fichier de configuration.
Chacun des huit caractères représente une comparaison, si un point (.) apparaît cela
signifie que la comparaison n'a pas échoué. Voici les caractères utilisés lorsque la
comparaison a échoué :

5 Somme MD5
S Taille du fichier
L Lien symbolique
T Date de modification du fichier
D Périphérique
U Utilisateur
G Groupe
M Mode (permissions et type de fichier)

Suivant le résultat, c'est à vous de déterminer la marche à suivre (supprimer le


package, le réinstaller, corriger le problème, ...).

8.3 Impressionner vos amis avec RPM

RPM est un utilitaire très utile pour maintenir le système, ainsi que pour détecter et
corriger des problèmes. Le meilleur moyen de vous le faire comprendre, est de
vous présenter un certain nombre d'exemples.
* Vous avez effacé par accident des fichiers, mais vous ne savez pas lesquels. Si
vous voulez vérifier l'intégralité du système et voir ce qui y manque, tapez :
rpm -Va

* Si des fichiers sont absents ou corrompus, vous devrez probablement réinstaller le


package (ou le supprimer puis le réinstaller).

* Vous rencontrez un fichier, mais vous ne savez pas à quel package il appartient.
Pour le savoir, utilisez la commande :
rpm -qf /usr/X11R6/bin/xjewel

* Le résultat de la commande sera :


xjewel-1.6-1

* Les deux exemples précédents peuvent être combinés. Considérons que vous avez
des problèmes avec /usr/bin/paste. Vous voulez vérifier le package qui possède ce
programme, mais vous ne savez pas quel est ce package. Utilisez la commande
suivante pour effectuer la vérification de ce package :
rpm -Vf /usr/bin/paste

* Si vous utilisez un programme pour lequel vous souhaitez obtenir plus


d'informations, exécutez la commande suivante pour savoir quels sont les fichiers
de documentations associés :
rpm -qdf /usr/bin/ispell

* Le résultat de la commande sera :


/usr/man/man4/ispell.4
/usr/man/man4/english.4
/usr/man/man1/unsq.1
/usr/man/man1/tryaffix.1
/usr/man/man1/sq.1
/usr/man/man1/munchlist.1
/usr/man/man1/ispell.1
/usr/man/man1/findaffix.1
/usr/man/man1/buildhash.1
/usr/info/[Link]
/usr/doc/ispell-3.1.18-1/README

* Vous avez trouvé un nouveau package RPM, mais vous ne savez pas à quoi il
correspond. Pour obtenir des informations utilisez la commande :
rpm -qip [Link]
* Le résultat de la commande sera :
Name : koules
Distribution : Red Hat Linux Colgate
Version : 1.2
Vendor : Red Hat Software
Release : 2
Build Date : Mon Sep 02 11 :59 :12 1996
Install date : (none)
Build Host : [Link]
Group : Games
Source RPM : [Link]
Size : 614939
Summary : SVGAlib action game ; multiplayer, network, sound
Description :
This arcade-style game is novel in conception and excellent in execution.
No shooting, no blood, no guts, no gore. The play is simple, but you still
must
develop skill to play. This version uses SVGAlib to run on graphics
console.

* Vous voulez maintenant connaître les fichiers installés par ce package. Utilisez la
commande suivante :
rpm -qlp [Link]

* Le résultat de la commande sera :


/usr/man/man6/koules.6
/usr/lib/games/kouleslib/[Link]
/usr/lib/games/kouleslib/[Link]
/usr/lib/games/kouleslib/[Link]
/usr/lib/games/kouleslib/[Link]
/usr/lib/games/kouleslib/[Link]
/usr/lib/games/kouleslib/[Link]
/usr/lib/games/kouleslib/[Link]
/usr/lib/games/kouleslib
/usr/games/koules

Ce ne sont que des exemples, vous trouverez bien d'autres applications de RPM sur
votre propre système.

8.4 Autres ressources RPM

Pour plus d'informations sur RPM, consultez la page du man, l'écran d'aide (rpm --
help), et les documents disponibles via :

[Link]

Un ouvrage consacré à RPM, intitulé Maximum RPM, est aussi disponible. Vous
pouvez vous le procurer chez Red Hat Software ou chez votre libraire. Il contient
de nombreuses informations sur RPM, qui feront le bonheur de tous les
programmeurs et utilisateurs. Une version en ligne de cet ouvrage est disponible
via [Link]

Il existe aussi une mailing-list consacrée à RPM : rpm-list@[Link]. Cette liste


est archivée sur [Link] Pour vous
inscrire, envoyez un courrier électronique (email) à rpm-list-
request@[Link] avec le mot suscribe comme sujet.

Vous aimerez peut-être aussi