====== La gestion de paquets via RPM ======
**Logo** de **RPM** : {{ :wiki:os:gnu_linux:tutos:admin:rpm_logo.png?nolink&200 |}}
===== Présentation de RPM =====
**RPM** (**//RPM Package Manager//**) est le gestionnaire de paquets de ''bas niveau'' de nombreuses distributions Linux tel que **Fedora Linux**, **Red Hat Enterprise Linux**, **AlmaLinux**, **Mageia**, **openSUSE** et j'en passe, qui a été créé à l'origine pour **Red Hat Linux** par la société **Red Hat** en 1995, RPM n'est donc pas prévu pour gérer les dépendances logiciels, les paquets RPM (au format de fichier ''.rpm'') sont les briques de bases des distributions citées. RPM est un gestionnaire de paquets très complet qui comporte une base de données et un journal de toutes les opérations effectuées via RPM ou des gestionnaires de paquets de ''haut niveau'' tel que **DNF** qui lui gère les dépendances.
===== Interrogation des paquets RPM =====
Pour avoir la ''version'' d'un logiciel RPM installé :
rpm -q nom_du_paquet
pour un paquet non installé :
rpm -qp nom_du_paquet
Pour avoir une ''description'' d'un paquet installé :
rpm -qi nom_du_paquet
pour un paquet non installé :
rpm -qpi nom_du_paquet
Pour savoir se que ''requiert'' un paquet :
rpm -qR nom_du_paquet
pour un paquet non installé :
rpm -qpR nom_du_paquet
Pour avoir la ''liste'' des fichiers installés par le paquet :
rpm -ql nom_du_paquet
pour un paquet non installé :
rpm -qpl nom_du_paquet
Pour connaitre les fichiers de ''documentation'' du paquet :
rpm -qd nom_du_paquet
pour un paquet non installé :
rpm -qpd nom_du_paquet
Liste des fichiers de ''configuration'' du paquet :
rpm -qc nom_du_paquet
pour un paquet non installé :
rpm -qpc nom_du_paquet
Biensur on peut combiner les ''options'' de commande RPM :
rpm -qilp nom_du_paquet
l'option de commande ''-q'' interroge le paquet, ''-i'' décrit le paquet, ''-l'' liste les fichiers du paquet et ''-p'' interroge un paquet non installé.
===== Installation, suppression de paquets RPM =====
Ces commandes sont à exécuter en mode //administrateur//, dans mes exemples avec la commande nommé **sudo** qui permet de s'affranchir du compte **root**.
La commande de base pour ''installer'' un paquet RPM :
sudo rpm -i nom_du_paquet
''-i'' veut dire ''install''. Mais pour ''installer'' un paquet on utilise plutôt la commande :
sudo rpm -ivh nom_du_paquet
l'option ''-i'' pour ''installe'', ''-v'' pour ''verbose'' (qui décrit le processus d'installation), ''-h'' pour avoir une ''barre de progression''.
Pour mettre à jour un paquet RPM :
sudo rpm -Uvh nom_du_paquet
''-U'' signifie ''upgrade'' donc mettre à jour.
Pour ''supprimer'' un paquet :
sudo rpm -e nom_du_paquet
''-e'' signifie ''erase''. Vous pouvez également ''forcer'' la désinstallation d'un paquet :
sudo rpm -e --force nom_du_paquet
qui est utile par exemple si une dépendance logicielle empêche la ''désinstallation'', il y a aussi l'option nommé ''--nodeps'' qui permet d'éviter d'éventuelle problème lié aux dépendances (''--nodeps'' ne vérifie pas les dépendances liées à un paquet).