La commande RPM est utilisée pour installer, désinstaller, mettre à niveau, interroger, répertorier et vérifier les packages RPM sur votre système Linux .
RPM signifie R ed Chapeau P forfait M gestionnaire.
Avec le privilège root, vous pouvez utiliser la commande rpm avec les options appropriées pour gérer les packages logiciels RPM.
Dans cet article, passons en revue 15 exemples pratiques de commande rpm.
Prenons un rpm de Mysql Client et parcourons tous nos exemples.
1. Installation d'un package RPM à l'aide de rpm -ivh
Le nom de fichier RPM contient le nom du package, la version, la version et le nom de l'architecture.
Par exemple, dans le fichier MySQL-client-3.23.57-1.i386.rpm :
- MySQL-client – Nom du package
- 3.23.57 – Version
- 1 – Libération
- i386 – Architecture
Lorsque vous installez un RPM, il vérifie si votre système convient au logiciel contenu dans le package RPM, détermine où installer les fichiers situés dans le package rpm, les installe sur votre système et ajoute ce logiciel à sa base de données de paquets RPM installés.
La commande rpm suivante installe le package client Mysql.
# rpm -ivh MySQL-client-3.23.57-1.i386.rpm Preparing... ########################################### [100%] 1:MySQL-client ########################################### [100%]
Commande et options rpm
- -i :installe un paquet
- -v :verbeux
- -h :imprime des marques de hachage au fur et à mesure que l'archive du paquet est décompressée.
Vous pouvez également utiliser dpkg sur Debian, pkgadd sur Solaris, depot sur HP-UX pour installer des packages.
2. Interrogez tous les packages RPM à l'aide de rpm -qa
Vous pouvez utiliser la commande rpm pour interroger tous les packages installés sur votre système.
# rpm -qa cdrecord-2.01-10.7.el5 bluez-libs-3.7-1.1 setarch-2.0-1.1 . .
- -q opération de requête
- -a interroge tous les packages installés
Pour identifier si un package rpm particulier est installé sur votre système, combinez la commande rpm et grep comme indiqué ci-dessous. La commande suivante vérifie si le package cdrecord est installé sur votre système.
# rpm -qa | grep 'cdrecord'
3. Interroger un package RPM particulier à l'aide de rpm -q
L'exemple ci-dessus répertorie tous les packages actuellement installés. Après l'installation d'un package pour vérifier l'installation, vous pouvez interroger un package particulier et vérifier comme indiqué ci-dessous.
# rpm -q MySQL-client MySQL-client-3.23.57-1 # rpm -q MySQL package MySQL is not installed
Remarque :Pour interroger un package, vous devez spécifier le nom exact du package. Si le nom du package est incorrect, la commande rpm signalera que le package n'est pas installé.
4. Interroger les packages RPM dans différents formats à l'aide de rpm –queryformat
La commande Rpm fournit une option –queryformat, qui vous permet de donner les noms des balises d'en-tête, pour lister les packages. Placez la balise d'en-tête avec {}.
# rpm -qa --queryformat '%{name}-%{version}-%{release} %{size}\n' cdrecord-2.01-10.7 12324 bluez-libs-3.7-1.1 5634 setarch-2.0-1.1 235563 . . #
5. À quel package RPM appartient un fichier ? – Utilisez rpm -qf
Disons que vous avez une liste de fichiers et que vous voudriez savoir quel paquet possède tous ces fichiers. La commande rpm a des options pour y parvenir.
L'exemple suivant montre que le fichier /usr/bin/mysqlaccess fait partie du rpm MySQL-client-3.23.57-1.
# rpm -qf /usr/bin/mysqlaccess MySQL-client-3.23.57-1
- -f :nom du fichier
6. Localisez la documentation d'un package qui possède un fichier à l'aide de rpm -qdf
Utilisez ce qui suit pour connaître la liste des documentations, pour un package qui possède un fichier. La commande suivante donne l'emplacement de toutes les pages de manuel liées au package mysql.
# rpm -qdf /usr/bin/mysqlaccess /usr/share/man/man1/mysql.1.gz /usr/share/man/man1/mysqlaccess.1.gz /usr/share/man/man1/mysqladmin.1.gz /usr/share/man/man1/mysqldump.1.gz /usr/share/man/man1/mysqlshow.1.gz
- -d :fait référence à la documentation.
7. Informations sur le package RPM installé à l'aide de rpm -qi
La commande rpm fournit de nombreuses informations sur un paquet installé en utilisant rpm -qi comme indiqué ci-dessous :
# rpm -qi MySQL-client Name : MySQL-client Relocations: (not relocatable) Version : 3.23.57 Vendor: MySQL AB Release : 1 Build Date: Mon 09 Jun 2003 11:08:28 PM CEST Install Date: Mon 06 Feb 2010 03:19:16 AM PST Build Host: build.mysql.com Group : Applications/Databases Source RPM: MySQL-3.23.57-1.src.rpm Size : 5305109 License: GPL / LGPL Signature : (none) Packager : Lenz Grimmer URL : http://www.mysql.com/ Summary : MySQL - Client Description : This package contains the standard MySQL clients.
Si vous souhaitez installer un fichier RPM, mais que vous souhaitez en savoir plus avant de l'installer, vous pouvez procéder comme suit :
# rpm -qip MySQL-client-3.23.57-1.i386.rpm Name : MySQL-client Relocations: (not relocatable) Version : 3.23.57 Vendor: MySQL AB Release : 1 Build Date: Mon 09 Jun 2003 11:08:28 PM CEST Install Date: (not installed) Build Host: build.mysql.com Group : Applications/Databases Source RPM: MySQL-3.23.57-1.src.rpm Size : 5305109 License: GPL / LGPL Signature : (none) Packager : Lenz Grimmer URL : http://www.mysql.com/ Summary : MySQL - Client Description : This package contains the standard MySQL clients.
- -i :afficher les informations sur un rpm
- -p :spécifiez un nom de package
8. Répertorier tous les fichiers d'un package à l'aide de rpm -qlp
Pour répertorier le contenu d'un package RPM, utilisez la commande suivante, qui répertoriera les fichiers sans les extraire dans le dossier du répertoire local.
$ rpm -qlp ovpc-2.1.10.rpm /usr/bin/mysqlaccess /usr/bin/mysqldata /usr/bin/mysqlperm . . /usr/bin/mysqladmin
- q :interroge le fichier rpm
- l :liste les fichiers du package
- p :indiquez le nom du package
Vous pouvez également extraire des fichiers du package RPM en utilisant rpm2cpio comme nous l'avons vu précédemment.
9. Répertorier les packages de dépendance à l'aide de rpm -qRP
Pour afficher la liste des packages dont dépend ce package,
# rpm -qRp MySQL-client-3.23.57-1.i386.rpm /bin/sh /usr/bin/perl
10. Découvrez l'état des fichiers dans un package à l'aide de rpm -qsp
La commande suivante consiste à rechercher l'état (installé, remplacé ou normal) de tous les fichiers d'un package RPM.
# rpm -qsp MySQL-client-3.23.57-1.i386.rpm normal /usr/bin/msql2mysql normal /usr/bin/mysql normal /usr/bin/mysql_find_rows normal /usr/bin/mysqlaccess normal /usr/bin/mysqladmin normal /usr/bin/mysqlbinlog normal /usr/bin/mysqlcheck normal /usr/bin/mysqldump normal /usr/bin/mysqlimport normal /usr/bin/mysqlshow normal /usr/share/man/man1/mysql.1.gz normal /usr/share/man/man1/mysqlaccess.1.gz normal /usr/share/man/man1/mysqladmin.1.gz normal /usr/share/man/man1/mysqldump.1.gz normal /usr/share/man/man1/mysqlshow.1.gz
11. Vérifier un package RPM particulier à l'aide de rpm -Vp
La vérification d'un package compare les informations sur les fichiers installés dans le package avec les informations sur les fichiers extraites des métadonnées du package stockées dans la base de données rpm. Dans la commande suivante, -V est pour la vérification et l'option -p est utilisée pour spécifier un nom de package à vérifier.
# rpm -Vp MySQL-client-3.23.57-1.i386.rpm S.5....T c /usr/bin/msql2mysql S.5....T c /usr/bin/mysql S.5....T c /usr/bin/mysql_find_rows S.5....T c /usr/bin/mysqlaccess
Le caractère dans la sortie ci-dessus signifie ce qui suit :
- La taille du fichier S diffère
- Le mode M diffère (inclut les autorisations et le type de fichier)
- La somme de 5 MD5 diffère
- D Non-concordance des numéros majeurs/mineurs de l'appareil
- L incompatibilité de chemin readlink(2)
- U La propriété de l'utilisateur diffère
- La propriété du groupe G diffère
- T mHeure diffère
12. Vérifier un fichier propriétaire du paquet à l'aide de rpm -Vf
La commande suivante vérifie le package qui possède le nom de fichier donné.
# rpm -Vf /usr/bin/mysqlaccess S.5....T c /usr/bin/mysql #
13. Mise à niveau d'un package RPM à l'aide de rpm -Uvh
La mise à niveau d'un package est similaire à l'installation d'un package, mais RPM désinstalle automatiquement les versions existantes du package avant d'installer le nouveau. Si une ancienne version du package n'est pas trouvée, l'option de mise à niveau l'installera quand même.
# rpm -Uvh MySQL-client-3.23.57-1.i386.rpm Preparing... ########################################### [100%] 1:MySQL-client ###########################################
14. Désinstallation d'un package RPM à l'aide de rpm -e
Pour supprimer un package rpm installé en utilisant -e comme indiqué ci-dessous. Après la désinstallation, vous pouvez interroger à l'aide de rpm -qa et vérifier la désinstallation.
# rpm -ev MySQL-client
15. Vérification de tous les packages RPM à l'aide de rpm -Va
La commande suivante vérifie tous les packages installés.
# rpm -Va S.5....T c /etc/issue S.5....T c /etc/issue.net S.5....T c /var/service/imap/ssl/seed S.5....T c /home/httpd/html/horde/ingo/config/backends.php . . S.5....T c /home/httpd/html/horde/ingo/config/prefs.php S.5....T c /etc/printcap