RPM : Utiliser : Installer, Désinstaller, Interroger

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


Les commutateurs v et h permettent d'afficher des détails (v) et une barre de progression lors de l'installation (h)

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

Utiliser cette commande avec précaution !!!


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



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
Cette page a été vue 34583 fois