====== 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_paquetpour un **paquet** non installé : rpm -qp nom_du_paquet Pour avoir une ''description'' d'un **paquet** installé : rpm -qi nom_du_paquetpour un **paquet** non installé : rpm -qpi nom_du_paquet Pour savoir se que ''requiert'' un **paquet** : rpm -qR nom_du_paquetpour un **paquet** non installé : rpm -qpR nom_du_paquet Pour avoir la ''liste'' des **fichiers** installés par le **paquet** : rpm -ql nom_du_paquetpour un **paquet** non installé : rpm -qpl nom_du_paquet Pour connaitre les **fichiers** de ''documentation'' du **paquet** : rpm -qd nom_du_paquetpour un **paquet** non installé : rpm -qpd nom_du_paquet Liste des **fichiers** de ''configuration'' du **paquet** : rpm -qc nom_du_paquetpour un **paquet** non installé : rpm -qpc nom_du_paquet Biensûr on peut combiner les ''options'' de **commande** **RPM** : rpm -qilp nom_du_paquetl' ''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_paquetl' ''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_paquetqui 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**).