20 commandes RPM pour la gestion des paquets Linux
RPM (Red Hat Package Manager) est un utilitaire de gestion de paquets open source par défaut largement utilisé pour les systèmes basés sur Red Hat tels que CentOS Fedora, Rocky et Alma Linux.
L’outil de gestion de paquets rpm permet aux administrateurs système et aux utilisateurs d’installer, de mettre à jour, de désinstaller, d’interroger, de vérifier et de gérer des paquets logiciels sur les systèmes d’exploitation Unix/Linux, qui anciennement appelés fichiers .rpm, contiennent des programmes logiciels compilés et des bibliothèques requises par les paquets.
Cet article fournit 20 exemples utiles de commandes RPM qui pourraient vous être utiles. À l’aide de ces commandes RPM, vous pouvez gérer l’installation, la mise à jour et la suppression de packages sur vos systèmes Linux.
Faits sur les RPM
Voici quelques faits sur RPM (Red Hat Package Manager) :
- RPM est disponible gratuitement et publié sous la licence publique générale (GPL).
- RPM gère une base de données de tous les paquets installés, stockant ces informations dans le répertoire
/var/lib/rpm. - RPM est la méthode principale d’installation de paquets sur les systèmes Linux. Si les paquets ont été installés à l’aide du code source, RPM ne les gère pas.
- RPM fonctionne avec des fichiers
.rpm, contenant des informations essentielles sur le paquet telles que son identité, sa source, ses dépendances, les détails de sa version, etc.
Modes de base pour la commande RPM
Voici les principaux modes de la commande RPM :
- Install – La commande
rpm -iinstalle un nouveau paquet sur le système. - Mise à niveau : la commande
rpm -Umet à niveau un package existant vers une version plus récente. - Supprimer – La commande
rpm -edésinstalle ou supprime un paquet du système. - Requête : la commande
rpm -qinterroge la base de données RPM pour obtenir des informations sur les packages installés. - Verify : la commande
rpm -Vvérifie l’intégrité des fichiers de package installés. - Rafraîchir – La commande
rpm -Fmet à jour ou installe un paquet uniquement s’il est déjà installé. - Reconstruire la base de données : la commande
rpm --rebuilddbreconstruit la base de données RPM, résolvant ainsi les problèmes de corruption de la base de données. - Importer la clé GPG – La commande
rpm --importimporte une clé GPG utilisée pour la vérification de la signature du package. - Query All – La commande
rpm -qarépertorie tous les packages installés sur le système. - Fichiers de requête – La commande
rpm -qlrépertorie tous les fichiers installés par un package spécifique. - Documentation de requête : la commande
rpm -qdrépertorie les fichiers de documentation fournis par un package. - Interroger les dépendances : la commande
rpm -qRrépertorie les dépendances d’exécution d’un package. - query provides – La commande
rpm -q --providesrépertorie les capacités fournies par un package. - query requires – La commande
rpm -q --requiresrépertorie les dépendances requises par un package.
Où trouver des packages RPM
Vous pouvez trouver des packages RPM à plusieurs endroits, en fonction de votre distribution Linux. Voici des emplacements courants où vous pouvez trouver et télécharger tous les packages RPM.
- http://rpmfind.net
- http://www.redhat.com
- https://pkgs.org/
- http://rpm.pbone.net/
N’oubliez pas que vous devez être un utilisateur root lors de l’installation de paquets sous Linux, avec les privilèges root, vous pouvez gérer les commandes rpm avec leurs options appropriées.
1. Comment vérifier la signature du paquet RPM
Vérifiez toujours la signature PGP des paquets avant de les installer sur vos systèmes Linux et assurez-vous que leur intégrité et leur origine sont correctes.
Utilisez la commande suivante avec l’option --checksig (check signature) pour vérifier la signature d’un paquet appelé hardinfo.
rpm --checksig hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm
hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm: digests OK2. Comment installer le package RPM
Pour installer un progiciel RPM, utilisez la commande suivante avec l’option -ivh, qui installera le progiciel rpm appelé hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm sur un système Linux.
rpm -ivh hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:hardinfo-2.0.11-1 ################################# [100%]
Décomposons les composants de la commande ci-dessus :
-i: installer un paquet-v: verbeux pour un affichage plus agréable-h: affiche les marques dièses (#) pour indiquer la progression de l’installation.
3. Comment vérifier les dépendances du package RPM avant l’installation
Supposons que vous souhaitiez effectuer une vérification des dépendances avant d’installer ou de mettre à niveau un package. Par exemple, utilisez la commande suivante pour vérifier les dépendances du paquet hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm.
La commande interroge et affiche les dépendances d’exécution requises par le package « hardinfo », ce qui permet d’identifier et de s’assurer que toutes les dépendances nécessaires sont respectées avant l’installation du package.
rpm -qpR hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm
libX11.so.6()(64bit)
libatk-1.0.so.0()(64bit)
libc.so.6()(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.33)(64bit)
libc.so.6(GLIBC_2.34)(64bit)
libc.so.6(GLIBC_2.38)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
libcairo-gobject.so.2()(64bit)
libcairo.so.2()(64bit)
...
Décomposons les composants de la commande ci-dessus :
-q: Interroger un paquet.-p: Liste des fonctionnalités fournies par ce paquet.-R: Liste des capacités dont dépend ce paquet.
4. Comment installer le package RPM sans dépendances
Pour installer un paquet RPM sans dépendances, vous pouvez utiliser l’option --nodeps, qui installera de force un paquet RPM sans vérifier ni résoudre les dépendances.
rpm -ivh --nodeps hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm
La commande ci-dessus installe de force le paquet rpm en ignorant les erreurs de dépendances, mais si ces fichiers de dépendance sont manquants, le programme ne fonctionnera pas du tout tant que vous ne les aurez pas installés.
5. Comment vérifier le package RPM installé
Pour vérifier un paquet rpm installé, vous pouvez utiliser l’option -q, qui interrogera et affichera des informations sur la version installée du paquet.
rpm -q hardinfo
hardinfo-2.0.11-1.x86_646. Comment trouver où les fichiers RPM sont installés
Pour afficher tous les fichiers d’un paquet rpm installé, utilisez la commande -ql (liste de requêtes) avec rpm.
rpm -ql hardinfo
/usr/bin/hardinfo2
/usr/lib/.build-id
/usr/lib/.build-id/3a
/usr/lib/.build-id/53
/usr/lib/.build-id/7c
/usr/lib/.build-id/ba
/usr/lib/.build-id/e0
/usr/lib64/hardinfo2
/usr/lib64/hardinfo2/modules
/usr/lib64/hardinfo2/modules/benchmark.so
/usr/lib64/hardinfo2/modules/computer.so
/usr/lib64/hardinfo2/modules/devices.so
/usr/lib64/hardinfo2/modules/network.so
...
7. Comment répertorier les packages RPM récemment installés
Utilisez la commande rpm suivante avec l’option -qa (query all), vous listerez tous les packages rpm récemment installés.
rpm -qa --last
hardinfo-2.0.11-1.x86_64 Mon 04 Mar 2024 01:32:14 PM IST
pipewire-pulseaudio-1.0.3-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST
pipewire-jack-audio-connection-kit-1.0.3-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST
pipewire-alsa-1.0.3-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST
libsoup-devel-2.74.3-3.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST
json-glib-devel-1.8.0-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST
gtk3-devel-3.24.41-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST
xdg-desktop-portal-gtk-1.15.1-1.fc39.x86_64 Mon 04 Mar 2024 01:32:01 PM IST
xdg-desktop-portal-1.18.2-1.fc39.x86_64 Mon 04 Mar 2024 01:32:01 PM IST
libcanberra-gtk3-0.30-32.fc39.x86_64 Mon 04 Mar 2024 01:32:01 PM IST
gtk3-3.24.41-1.fc39.x86_64 Mon 04 Mar 2024 01:32:01 PM IST
...
8. Comment répertorier tous les packages RPM installés
Tapez la commande suivante pour afficher tous les noms des paquets installés sur votre système Linux.
rpm -qa
fonts-filesystem-2.0.5-12.fc39.noarch
libreport-filesystem-2.17.11-3.fc39.noarch
hunspell-filesystem-1.7.2-5.fc39.x86_64
abattis-cantarell-vf-fonts-0.301-10.fc39.noarch
fedora-gpg-keys-39-1.noarch
fedora-repos-39-1.noarch
setup-2.14.4-1.fc39.noarch
filesystem-3.18-6.fc39.x86_64
basesystem-11-18.fc39.noarch
default-fonts-core-sans-4.0-9.fc39.noarch
langpacks-fonts-en-4.0-9.fc39.noarch
...
9. Comment mettre à niveau un package RPM
Si nous voulons mettre à niveau n’importe quel paquet RPM, l’option « -U » (mise à niveau) sera utilisée. L’un des principaux avantages de l’utilisation de cette option est qu’elle ne mettra pas seulement à niveau la dernière version de n’importe quel paquet, mais qu’elle maintiendra également la sauvegarde de l’ancien paquet de sorte que si le nouveau paquet mis à niveau ne fonctionne pas, le paquet précédemment installé peut être utilisé à nouveau.
rpm -Uvh hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm
10. Comment supprimer un paquet RPM
Pour désinstaller un paquet RPM, par exemple, nous utilisons le nom du paquet hardinfo, et non le nom du paquet d’origine hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm. L’option -e (effacer) est utilisée pour supprimer le paquet.
rpm -evv hardinfo
11. Comment supprimer un paquet RPM sans dépendances
L’option --nodeps (ne pas vérifier les dépendances) supprime de force le paquet rpm du système. Mais gardez à l’esprit que la suppression d’un paquet particulier peut interrompre d’autres applications fonctionnelles.
rpm -ev --nodeps hardinfo
12. Comment trouver le package RPM d’un fichier spécifique
Supposons que vous ayez une liste de fichiers et que vous souhaitiez savoir quel paquet appartient à ces fichiers. Par exemple, la commande suivante avec l’option -qf (fichier de requête) vous montrera un fichier /usr/bin/htpasswd qui appartient au package httpd-tools-2.4.58-1.fc39.x86_64.
rpm -qf /usr/bin/htpasswd
httpd-tools-2.4.58-1.fc39.x86_64
13. Comment interroger les informations du package RPM installé
Supposons que vous ayez installé un paquet rpm et que vous souhaitiez connaître les informations sur le paquet. L’option -qi suivante (query info) imprimera les informations disponibles du paquet installé.
rpm -qi hardinfo
Name : hardinfo
Version : 2.0.11
Release : 1
Architecture: x86_64
Install Date: Mon 04 Mar 2024 01:32:14 PM IST
Group : unknown
Size : 5174404
License : GPL2+
Signature : (none)
Source RPM : hardinfo-2.0.11-1.src.rpm
Build Date : Sat 02 Mar 2024 06:37:42 AM IST
Build Host : fedora.bigbear.dk
Relocations : /usr
Vendor : Humanity
URL : https://www.hardinfo2.org
Summary : hardinfo2 built using CMake
Description :
Hardinfo2 is a small application that displays information about your hardware and operating system. It has online benchmarking to check your machine performance against other machines.
14. Obtenez les informations du package RPM avant l’installation
Vous avez téléchargé un paquet sur Internet et vous souhaitez connaître les informations d’un paquet avant de l’installer. Par exemple, l’option suivante -qip (query info package) imprimera les informations d’un paquet sqlbuddy.
rpm -qip sqlbuddy
Name : sqlbuddy Relocations: (not relocatable)
Version : 1.3.3 Vendor: (none)
Release : 1 Build Date: Wed 02 Nov 2011 11:01:21 PM BDT
Install Date: (not installed) Build Host: rpm.bar.baz
Group : Applications/Internet Source RPM: sqlbuddy-1.3.3-1.src.rpm
Size : 1155804 License: MIT
Signature : (none)
Packager : Erik M Jacobs
URL : http://www.sqlbuddy.com/
Summary : SQL Buddy â Web based MySQL administration
Description : SQLBuddy is a PHP script that allows for web-based MySQL administration.
15. Comment interroger la documentation du package RPM installé
Pour obtenir la liste de la documentation disponible d’un paquet installé, utilisez la commande suivante avec l’option -qdf (fichier de document de requête) pour afficher les pages de manuel liées au paquet vmstat.
rpm -qdf /usr/bin/vmstat
/usr/share/doc/procps-ng/AUTHORS
/usr/share/doc/procps-ng/FAQ
/usr/share/doc/procps-ng/NEWS
/usr/share/doc/procps-ng/README.md
/usr/share/doc/procps-ng/bugs.md
/usr/share/man/man1/free.1.gz
/usr/share/man/man1/pgrep.1.gz
...
16. Comment vérifier un package RPM
La vérification d’un paquet compare les informations des fichiers installés du paquet à la base de données rpm. L’option -Vp (verify package) est utilisée pour vérifier un package.
rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm
S.5....T. c /etc/httpd/conf.d/sqlbuddy.conf
17. Comment vérifier tous les packages RPM
Tapez la commande suivante pour vérifier tous les packages rpm installés.
rpm -Va
S.5....T. c /etc/rc.d/rc.local
.......T. c /etc/dnsmasq.conf
.......T. /etc/ld.so.conf.d/kernel-2.6.32-279.5.2.el6.i686.conf
S.5....T. c /etc/yum.conf
S.5....T. c /etc/yum.repos.d/epel.repo18. Comment importer une clé GPG RPM
Pour vérifier les packages RHEL/CentOS/Fedora, vous devez importer la clé GPG. Pour ce faire, exécutez la commande suivante. Il importera la clé GPG de CentOS 8.
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-8
19. Comment répertorier toutes les clés GPG RPM importées
Pour imprimer toutes les clés GPG importées dans votre système, utilisez la commande suivante.
rpm -qa gpg-pubkey*
gpg-pubkey-0608b895-4bd22942
gpg-pubkey-7fac5991-4615767f
gpg-pubkey-0f2672c8-4cd950ee
gpg-pubkey-c105b9de-4e0fd3a3
gpg-pubkey-00f97f56-467e318a
gpg-pubkey-6b8d79e6-3f49313d
gpg-pubkey-849c449f-4cb9df3020. Comment reconstruire une base de données RPM corrompue
Parfois, la base de données rpm est corrompue et arrête toutes les fonctionnalités de rpm et d’autres applications sur le système. Donc, à ce stade, nous devons reconstruire la base de données rpm et la restaurer à l’aide de la commande suivante.
cd /var/lib
rm __db*
rpm --rebuilddb
rpmdb_verify Packages
En conclusion, les commandes rpm présentées fournissent un guide complet pour gérer efficacement les packages logiciels sur les distributions Linux basées sur RHEL.