====== La gestion de paquets via RPM ======
**Logo** de **RPM** : {{ :wiki:os:gnu_linux:fedora_linux:tutos:admin:rpm_logo.png?nolink&160 |}}
===== 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 opré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
Biensûr 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 =====
Ses **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 **commmande** :
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**).