RPM : Utiliser : Installer, Désinstaller, Interroger
Table des matières
Qu'est ce que RPM ? RPM (Redhat Package Manager) est un système de gestion de paquets de logiciels utilisé sur certaines distributions GNU/Linux.
RPM s'utilise en ligne de commande ou avec une interface graphique et permet d'installer, de désinstaller, de vérifier, d'interroger et de mettre à jour des paquets logiciels. Chaque paquet de logiciels se compose d'une archive de fichiers et d'informations relatives au paquet, tels que sa licence, sa version, sa description, ses dépendances, etc.
Pour installer des paquets RPM :
Il est aussi possible de mettre à jour un paquet avec RPM:
On peut aussi forcer l'installation d'un paquet récalcitrant :
Pou supprimer un paquet :
Si ce paquet est une dépendance, il ne sera pas dés-installable. Pour forcer sa désinstallation:
La commande la plus connue RPM semble être celle-ci :
Elle peut être suivie d'un pipe grep pour filtrer les résultats (Exemple pour savoir les paquets installés contenant le mot konsole) :
A noter : si on veut sélectionner uniquement les paquets installés manuellement (en excluant les dépendances), il faut passer par yum ou dnf :
Pour lister du plus récent au plus ancien paquet installé, utiliser :
S'il y en a beaucoup, ne pas hésiter à piper la commande less
Pour avoir un maximum d'informations sur un paquet installé, utiliser :
Pour afficher le changelog d'un paquet, saisir :
Exemple avec Konsole (la suite a été tronquée) :
Il peut être intéressant de lister tous les paquets et afficher quelques éléments.
Utiliser alors :
Remplacer paquet par -a si on souhaite tout afficher.
Exemple ci-dessous avec quelques attributs:
En enchaînant quelques commandes, je peux compter le nombre de paquets de type "noarch" installés sur mon système :
On peut aussi exporter la liste de tous les RPM installés ainsi :
Introduction
Qu'est ce que RPM ? RPM (Redhat Package Manager) est un système de gestion de paquets de logiciels utilisé sur certaines distributions GNU/Linux.
RPM s'utilise en ligne de commande ou avec une interface graphique et permet d'installer, de désinstaller, de vérifier, d'interroger et de mettre à jour des paquets logiciels. Chaque paquet de logiciels se compose d'une archive de fichiers et d'informations relatives au paquet, tels que sa licence, sa version, sa description, ses dépendances, etc.
Utiliser RPM
Installer des paquets
Pour installer des paquets RPM :
Code BASH :
rpm -ivh nom_paquet.rpm
Il est aussi possible de mettre à jour un paquet avec RPM:
Code BASH :
rpm -Uvh nom_paquet.rpm
On peut aussi forcer l'installation d'un paquet récalcitrant :
Code BASH :
rpm -ivh --nodeps --force paquet
Supprimer des paquets
Pou supprimer un paquet :
Code BASH :
rpm -e nom_paquet
Si ce paquet est une dépendance, il ne sera pas dés-installable. Pour forcer sa désinstallation:
Code BASH :
rpm -e --nodeps nom_paquet
Interroger les paquets
Lister tous les paquets
La commande la plus connue RPM semble être celle-ci :
Code BASH :
rpm -qa
Elle peut être suivie d'un pipe grep pour filtrer les résultats (Exemple pour savoir les paquets installés contenant le mot konsole) :
Code BASH :
rpm -qa | grep konsole konsole-4.10.2-1.mga3
A noter : si on veut sélectionner uniquement les paquets installés manuellement (en excluant les dépendances), il faut passer par yum ou dnf :
Code BASH :
dnf repoquery --userinstalled
Lister les paquets installés par date
Pour lister du plus récent au plus ancien paquet installé, utiliser :
Code BASH :
rpm -qa --last
S'il y en a beaucoup, ne pas hésiter à piper la commande less
Code BASH :
rpm -qa --last | less ipcalculator-0.41-1.mga3.noarch jeu. 09 mai 2013 13:36:57 CEST cpupower-3.8.12-1.mga3.x86_64 jeu. 09 mai 2013 12:55:47 CEST bind-utils-9.9.2.P2-2.mga3.x86_64 jeu. 09 mai 2013 12:55:46 CEST kernel-userspace-headers-3.8.12-1.mga3.x86_64 jeu. 09 mai 2013 12:55:44 CEST rpmdrake-5.49-1.mga3.noarch jeu. 09 mai 2013 12:55:40 CEST libldap2.4_2-2.4.33-6.mga3.i586 jeu. 09 mai 2013 12:55:38 CEST kernel-desktop-latest-3.8.12-1.mga3.x86_64 jeu. 09 mai 2013 12:55:38 CEST
Demander des détails sur un paquet installé
Pour avoir un maximum d'informations sur un paquet installé, utiliser :
Code BASH :
rpm -qi paquet
Code BASH :
rpm -qi konsole Name : konsole Epoch : 1 Version : 4.10.2 Release : 1.mga3 Architecture: x86_64 Install Date: dim. 21 avril 2013 22:38:31 CEST Group : Graphical desktop/KDE Size : 1361914 License : GPLv2 and LGPLv2 and GFDL Signature : RSA/SHA1, jeu. 04 avril 2013 16:50:13 CEST, Key ID b742fa8b80420f66 Source RPM : konsole-4.10.2-1.mga3.src.rpm Build Date : jeu. 04 avril 2013 16:49:15 CEST Build Host : ecosse.mageia.org Relocations : (not relocatable) Packager : neoclust <neoclust> Vendor : Mageia.Org URL : http://konsole.kde.org/ Summary : A terminal emulator similar to xterm for KDE Description : A terminal emulator, similar to xterm, for KDE.
Afficher le changelog
Pour afficher le changelog d'un paquet, saisir :
Code BASH :
rpm -q paquet --changelog
Exemple avec Konsole (la suite a été tronquée) :
Code BASH :
rpm -q konsole --changelog * mar. avril 02 2013 mikala <mikala> 1:4.10.2-1.mga3 + Revision: 407173 - Update tarball to KDE SC 4.10.2 * sam. mars 09 2013 lmenut <lmenut> 1:4.10.1-1.mga3 + Revision: 401908 - Update tarball to KDE SC 4.10.1
Utiliser le --queryformat
Il peut être intéressant de lister tous les paquets et afficher quelques éléments.
Utiliser alors :
Code BASH :
rpm --query --queryformat "CHAINE" paquet
Remplacer paquet par -a si on souhaite tout afficher.
Exemple ci-dessous avec quelques attributs:
Code BASH :
rpm --query --queryformat "%{NAME} %{VERSION} %{DISTRIBUTION} %{RELEASE} %{ARCH}\n" konsole konsole 4.10.2 Mageia 1.mga3 x86_64
En enchaînant quelques commandes, je peux compter le nombre de paquets de type "noarch" installés sur mon système :
Code BASH :
rpm --query --queryformat "%{ARCH}\n" -a | grep -c noarch 442
On peut aussi exporter la liste de tous les RPM installés ainsi :
Code BASH :
rpm -qa --queryformat "%{NAME}\n" > liste.txt