Blog

RTFM ! - RPM (Red Hat Packet Manager)

Écrit le 17 05 2013 par Kévin MET _

Premier billet d'une série qui, je l'espère, sera longue. Elle s'intitule RTFM ! (avec un point d'exclamation). Je vais revenir rapidement et très subjectivement sur l'utilisation basique des outils que l'on utilise au quotidien lorsqu'on est admin système et réseaux. Ces billets seront donc assez courts et je parlerai des options que j'utilise souvent et qui me semblent les plus utiles. Pour commencer, nous allons parler de RPM

RPM est le gestionnaire de paquet bas niveau de Red Hat et de toutes les distributions en dérivant. On l'utilise donc pour installer ou désinstaller des paquets .rpm comme nous allons le voir dans ce tutoriel. On commence par le basique -i qui permet d'installer un paquet rpm. On peut également utiliser le wildcard * qui va permettre, entre autres, d'installer plusieurs paquets en même temps. Dans ce cas on peut l'utiliser en complément de l'option -v (pour verbose) qui va nous permettre d'obtenir le nom des paquets que l'on installe (ainsi qu'un tas d'autres infos).

Exemple de l'installation de plusieurs paquets simultanément :


# ls -lh
total 46M
-rw-r--r-- 1 nierdz nierdz 6.3M May 16 22:28 Percona-XtraDB-Cluster-client-5.5.30-23.7.4.406.rhel6.x86_64.rpm
-rw-r--r-- 1 nierdz nierdz  36M May 16 22:28 Percona-XtraDB-Cluster-debuginfo-5.5.30-23.7.4.406.rhel6.x86_64.rpm
-rw-r--r-- 1 nierdz nierdz 2.9M May 16 22:28 Percona-XtraDB-Cluster-devel-5.5.30-23.7.4.406.rhel6.x86_64.rpm
-rw-r--r-- 1 nierdz nierdz 1.2M May 16 22:28 Percona-XtraDB-Cluster-galera-2.5-1.150.rhel6.x86_64.rpm

# rpm -iv Percona-XtraDB-Cluster-*
...

Pour ceux qui utilisent beaucoup RPM la vraie star, c'est la combinaison -Uvh. L'option -U permet de faire une mise à jour mais elle permet également de faire une installation ce qui fait que l'option -i présente beaucoup moins d’intérêt (mais comme ça vous savez qu'elle existe). Quand vous utilisez -U les fichiers de configurations qui sont remplacés ont l'extension .rpmsave. L'option -h permet de connaitre l'avancement de l'installation avec des #

La désinstallation se fait avec -e. Voici deux options qui me semblent assez utiles :

  • --force qui force l'installation même en cas de conflit. Dans le cas par exemple ou un fichier proposé par un paquet écrase un fichier déjà installé par un autre paquet.
  • --nodeps qui permet d'installer le paquet même si il existe des problèmes de dépendances. Cela peut être utiles lorsque les dépendances ont été installées via compilation manuelle (même si il est beaucoup plus propre dans ce cas de faire appel à un dummy package)

Comme apt, RPM dispose d'une base de données répertoriant les paquets installés, non-installés, les dépendances, les fichiers installée, etc dans /var/lib/rpm. RPM permet de requeter cette base de données via plusieurs options. Pour faire une requête il faut ajouter l'option -q devant le paramètre. Voici une liste d'options qui à mon avis sont les plus utiles :

  • -i permet d'avoir des informations générales sur le paquet. Cette option peut être utilisé sur un paquet téléchargé ou un paquet installé via le gestionnaire de paquet.
  • -a liste tous les paquets installés sur le système.
  • -l liste les fichiers installés par le paquet.
  • --requires indique les dépendances du paquets.

Il existe un tas d'autres options et je vous invite à lire man rpm pour les découvrir toutes.

♥ Partage sur tes réseaux sociaux ♥
Kévin MET
Kévin MET

Auteur de ce blog et gérant de la société MNT-TECH, je publie sur ce blog lorsque le temps me le permet et lorsqu'un sujet qui me parait intéressant n'a pas encore été abordé en français. Toutes les informations techniques présentes sur cette page peuvent être réutilisées moyennant le fait de citer la source.