Vous pouvez également utiliser la technologie
RPM en entrant une série de
commandes à l'invite du shell. Vous avez naturellement
à votre disposition toutes les fonctions de
Gnome-RPM, plus quelques-unes, telles
que la possibilité d'actualiser
des paquetages, comparable à la mise à niveau
(reportez-vous à la
la section intitulée Actualisation pour plus d'informations).
Pour plus de détails sur RPM,
consultez les chapitres correspondants dans le
Guide officiel de référence Red Hat Linux . Entrez man
rpm pour lire la page de manuel correspondante, ou
rpm --help pour lire le fichier d'aide
correspondant.
Les paquetages RPM portent généralement des noms
de fichier tels que foo-1.0-1.i386.rpm,
c'est-à-dire le nom (foo), la
version (1.0 ), l'édition
(1) et l'architecture
(i386) du paquetage. L'installation d'un
paquetage revient à entrer :
# rpm -ivh foo-1.0-1.i386.rpm
foo ####################################
#
|
RPM imprime le nom du paquetage
(qui n'est pas nécessairement le même que celui
du fichier), puis une succession de symboles dièse
à mesure que le paquetage est installé,
indiquant l'état d'avancement de l'installation.
En réalité, vous pouvez également
installer un paquetage avec l'option de mise à
jour. Pour plus de détails, voir la
la section intitulée Mise à jour.
Lors de l'installation, des erreurs peuvent se produire ;
le système affiche alors des messages indiquant que le
paquetage est déjà installé ou qu'il y a
des problèmes de
dépendance empêchant l'installation
du paquetage.
Pour plus de détails sur les types d'erreurs
éventuels, poursuivez la lecture.
Si le paquetage est déjà installé, le
système affiche :
# rpm -ivh foo-1.0-1.i386.rpm
foo package foo-1.0-1 is already installed
error: foo-1.0-1.i386.rpm cannot be installed
#
|
Si vous envisagez d'installer le paquetage malgré tout,
vous pouvez utiliser la commande
--replacepkgs dans la ligne de commande,
qui indique à RPM d'ignorer
l'erreur :
# rpm -ivh --replacepkgs foo-1.0-1.i386.rpm
foo ####################################
#
|
Si vous tentez d'installer un paquetage contenant un fichier
déjà installé par un autre paquetage,
le système affiche :
# rpm -ivh foo-1.0-1.i386.rpm
foo /usr/bin/foo conflicts with file from bar-1.0-1
error: foo-1.0-1.i386.rpm cannot be installed
#
|
Pour faire en sorte que RPM
ignore cette erreur, utilisez la commande
--replacefiles dans la ligne de
commande :
# rpm -ivh --replacefiles foo-1.0-1.i386.rpm
foo ####################################
#
|
Les paquetages RPM peuvent "dépendre"
d'autres paquetages, ce qui signifie qu'ils
requièrent l'installation d'autres paquetages pour
fonctionner correctement. Si vous essayez d'installer un
paquetage pour lequel il existe une telle dépendance
non résolue, vous verrez s'afficher :
# rpm -ivh bar-1.0-1.i386.rpm
failed dependencies: foo is needed by bar-1.0-1
#
|
Pour corriger l'erreur, installez le paquetage requis. Si
vous voulez néanmoins forcer l'installation (ce qui
est une mauvaise idée car le paquetage ne
fonctionnera probablement pas correctement), entrez
--nodeps dans la ligne de commande.
La désinstallation d'un paquetage est également
simple :
Notez que, lorsque vous désinstallez un paquetage, vous
devez utiliser le nom du paquetage
(foo), pas celui du paquetage original
("foo-1.0-1.i386.rpm ").
Une erreur de dépendance peut se produire lors de la
désinstallation d'un paquetage si un autre paquetage
installé dépend de celui que vous essayez de
supprimer. Par exemple :
# rpm -e foo
removing these packages would break dependencies:
foo is needed by bar-1.0-1
#
|
Pour que RPM ignore cette erreur et
désinstalle le paquetage malgré tout (ce qui est
également une mauvaise idée du fait que le
paquetage qui en dépend cessera probablement de
fonctionner correctement), utilisez la commande
--nodeps dans la ligne de commande.
La mise à jour d'un paquetage est une opération
similaire à l'installation.
# rpm -Uvh foo-2.0-1.i386.rpm
foo ####################################
#
|
Lorsque vous procédez à une mise à jour,
RPM désinstalle
automatiquement les anciennes versions du paquetage
foo.
Vous pouvez également utiliser la commande
upgrade pour installer des paquetages car
elle fonctionne bien même lorsqu'aucune version
antérieure du paquetage n'est installée.
Comme RPM effectue une mise
à jour "intelligente" des paquetages à
l'aide de fichiers de configuration, le message suivant peut
apparaître :
# rpm -Uvh foo-1.0-1.i386.rpm
foo package foo-2.0-1 (which is newer) is already installed
error: foo-1.0-1.i386.rpm cannot be installed
#
|
Pour que RPM "se mette
à niveau" malgré tout, utilisez
--oldpackage dans la ligne de
commande :
# rpm -Uvh --oldpackage foo-1.0-1.i386.rpm
foo ####################################
#
|
L'actualisation d'un paquetage est une opération
similaire à une mise à jour :
# rpm -Fvh foo-1.2-1.i386.rpm
foo ####################################
#
|
L'option d'actualisation de RPM
vérifie les versions de paquetages
spécifiées dans la ligne de commande par rapport
aux versions installées sur le système.
Lorsqu'une version plus récente d'un paquetage
déjà installé est traitée par
l'option d'actualisation de RPM, la
mise à niveau vers la version plus récente
intervient. Toutefois, l'option d'actualisation de
RPM n'installe pas un paquetage
s'il n'existe pas de paquetage du même nom
installé précédemment. Ceci
diffère de l'option de mise à jour de
RPM, vu que la mise à jour
installera effectivement les
paquetages, qu'une version antérieure soit
installée ou non.
L'interrogation de la base de données des paquetages
installés s'effectue à l'aide de la commande
rpm -q. Une utilisation simple est
rpm -q foo qui imprime le nom, la version
et l'édition du paquetage installé foo :
Au lieu de spécifier le nom du paquetage, vous pouvez
utiliser les options suivantes avec -q pour
spécifier quel(s) paquetage(s) vous voulez rechercher.
On les appelle options de spécification de
paquetage.
-a recherche tous les paquetages
actuellement installés.
-f
fichier
interroge le paquetage propriétaire de
fichier.
-p
paquetage
interroge le paquetage
paquetage.
Il y a plusieurs manières de spécifier les
informations à afficher sur les paquetages
recherchés. Les options suivantes sont utilisées
pour sélectionner le type d'informations
recherché. On les appelle options de
sélection d'informations.
-i affiche des informations sur le
paquetage telles que le nom, la description, la version,
la taille, la date de création, la date
d'installation, l'éditeur et d'autres
informations.
-l affiche la liste des fichiers
"appartenant" à ce paquetage.
-s affiche l'état de tous les
fichiers du paquetage.
-d affiche la liste des fichiers de
documentation (pages de manuel, pages d'information,
fichiers README, etc.).
-c affiche la liste des fichiers de
configuration. Il s'agit des fichiers que vous modifiez
après l'installation afin d'adapter le paquetage
à votre système
(sendmail.cf,
passwd,
inittab, etc).
Pour les options qui affichent des listes de fichiers, vous
pouvez ajouter -v à la ligne de
commande pour obtenir les listes dans un format ls
-l familier.
La vérification d'un paquetage permet de comparer les
informations sur les fichiers d'un paquetage installé
à celles du paquetage original. La vérification
compare, entre autres, la taille, la somme MD5, les
autorisations, le type, le propriétaire et le groupe de
chaque fichier.
La commande rpm -V vérifie un
paquetage. Vous pouvez utiliser n'importe laquelle des
options de sélection de paquetage
de la liste pour spécifier les paquetages que vous
souhaitez vérifier. Une utilisation simple est
rpm -V foo qui vérifie si tous les
fichiers du paquetage foo sont tels qu'ils étaient lors
de leur installation initiale. Par exemple :
Pour vérifier un paquetage contenant un fichier
particulier :
Pour vérifier TOUS les paquetages
installés :
Pour vérifier un paquetage installé par
rapport à un fichier de paquetage RPM :
rpm -Vp foo-1.0-1.i386.rpm
|
Ceci peut être utile si vous pensez que vos bases
de données RPM sont
corrompues.
Si la vérification est correcte, elle ne fournit aucun
résultat. S'il y a des discordances, elles sont
affichées. Le format du résultat est une
chaîne de 8 caractères, éventuellement
associée à la lettre "c" indiquant un
fichier de configuration, puis au nom de fichier. Chacun des
huit caractères indique le résultat d'une
comparaison entre un attribut du fichier et la valeur de cet
attribut enregistrée dans la base de données
RPM. Un simple "."
(point) signifie que le test a réussi. Les
caractères suivants indiquent l'échec de
certains tests :
5 -- Somme de contrôle MD5
S -- Taille de fichier
L -- Lien symbolique
T -- Date de
modification de fichier
D -- Périphérique
U -- Utilisateur
G -- Groupe
M -- Mode (inclut des
autorisations et un type de fichier)
Si vous voyez un résultat affiché, essayez de
déterminer s'il est préférable de
supprimer ou de réinstaller le paquetage, ou de
résoudre le problème autrement.