Prochaine révision | Révision précédente |
wiki:systemes_d_exploitation:gnu_linux:fedora_linux:tutos:admin:rpm [2025/03/23 14:52] – créée Thibault Seguin | wiki:systemes_d_exploitation:gnu_linux:fedora_linux:tutos:admin:rpm [Date inconnue] (Version actuelle) – supprimée - modification externe (Date inconnue) 127.0.0.1 |
---|
====== La gestion de paquets via RPM ====== | |
**Logo** de **RPM** : {{ :wiki:systemes_d_exploitation:gnu_linux:fedora_linux:tutoriels_sur_fedora_linux:tutos_fedora_linux_sur_l_admnistration_systeme: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é : | |
<code user>rpm -q nom_du_paquet</code>pour un **paquet** non installé : | |
<code user>rpm -qp nom_du_paquet</code> | |
| |
Pour avoir une ''description'' d'un **paquet** installé : | |
<code user>rpm -qi nom_du_paquet</code>pour un **paquet** non installé : | |
<code user>rpm -qpi nom_du_paquet</code> | |
| |
Pour savoir se que ''requiert'' un **paquet** : | |
<code user>rpm -qR nom_du_paquet</code>pour un **paquet** non installé : | |
<code user>rpm -qpR nom_du_paquet</code> | |
| |
Pour avoir la ''liste'' des **fichiers** installés par le **paquet** : | |
<code user>rpm -ql nom_du_paquet</code>pour un **paquet** non installé : | |
<code user>rpm -qpl nom_du_paquet</code> | |
| |
Pour connaitre les **fichiers** de ''documentation'' du **paquet** : | |
<code user>rpm -qd nom_du_paquet</code>pour un **paquet** non installé : | |
<code user>rpm -qpd nom_du_paquet</code> | |
| |
Liste des **fichiers** de ''configuration'' du **paquet** : | |
<code user>rpm -qc nom_du_paquet</code>pour un **paquet** non installé : | |
<code user>rpm -qpc nom_du_paquet</code> | |
| |
Biensûr on peut combiner les ''options'' de **commande** **RPM** : | |
<code user>rpm -qilp nom_du_paquet</code>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** : | |
<code user>sudo rpm -i nom_du_paquet</code>''-i'' veut dire ''install''. Mais pour ''installer'' un **paquet** on utilise plutôt la **commmande** : | |
<code user>sudo rpm -ivh nom_du_paquet</code>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** : | |
<code user>sudo rpm -Uvh nom_du_paquet</code>''-U'' signifie ''upgrade'' donc **mettre à jour**. | |
| |
Pour ''supprimer'' un **paquet** : | |
<code user>sudo rpm -e nom_du_paquet</code>''-e'' signifie ''erase''. Vous pouvez également ''forcer'' la désinstallation d'un **paquet** : | |
<code user>sudo rpm -e --force nom_du_paquet</code>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**). | |