title: RPM Package Manager
text: # RPM Package Manager
  
  RPM Package Manager (Red Hat Package Manager), ou plus simplement RPM, est un système de gestion de paquets de logiciels utilisé sur certaines distributions GNU/Linux. Le système est composé d'un format ouvert et d'un logiciel libre de manipulation des fichiers de ce format. C'est le format utilisé par Linux Standard Base (LSB).
  
  ## Présentation
  
  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.
  
  ## Historique
  
  Ce logiciel libre a été créé à l'origine par Red Hat en 1995 et a par la suite été adopté par d'autres distributions Linux. L'acronyme « RPM » signifiait à l'origine « Redhat Package Manager », à la suite de l'adoption de l'outil par plusieurs distributions il fut renommé en « RPM Package Manager » qui est un acronyme récursif.
  
  Les distributions les plus connues utilisant le système de gestion de paquet RPM sont : Red Hat Enterprise Linux, Fedora, CentOS, Mandriva, openSUSE, SUSE Linux Enterprise, PCLinuxOS, MeeGo, Mageia.
  
  ## Commandes d'utilisation
  
  ### Installation et mise à jour de paquets
  
  * rpm -ivh nom_paquet_xxx.rpm
  
  ou alors
  
  * rpm -Uvh nom_paquet_xxx.rpm
  
  ### Interrogation
  
  * rpm -qpil nom_paquet_xxx.rpm
  * rpm -qil nom_paquet
  * rpm -qf /chemin_du_fichier
  
  ## Programmes de gestion de paquets logiciels RPM
  
  Plusieurs programmes permettent d'automatiser les résolutions de dépendance et le téléchargement des paquets logiciels RPM.
  
  ### APT
  
  apt-rpm est un portage d'APT par la distribution Linux Conectiva. Il est également utilisé avec les distributions Fedora Core, Yellow Dog et Ubuntu.
  
  ### SMART
  
  SMART est un logiciel de gestion paquets logiciels multi-distributions (il sait gérer .deb, .rpm et les paquets .tgz de Slackware) originellement développé pour la distribution Conectiva.
  
  ### URPMI
  
  URPMI ainsi que son interface graphique rpmdrake ont été développés pour la distribution Mandriva Linux.
  
  ### YUM
  
  YUM a été développé pour Yellow Dog.
  
  ### DNF
  
  Dandified Yum utilisé en tant que gestionnaire de paquet pour Fedora et les dernières versions de CentOS (et Red Hat).
  
  DNF a été développé à l’origine par openSUSE pour son gestionnaire de paquets Zypper.
  
  ## Format d'un paquet RPM
  
  Le format d'un paquet RPM est binaire et constitué de quatre parties:
  
  * Un premier en-tête (en anglais "lead") qui identifie le fichier comme étant au format RPM
  * La signature pour vérifier l'intégrité et l'authenticité
  * Un deuxième en-tête (en anglais "header") qui contient des méta-données incluant le nom du paquet, la version, l'architecture (notamment processeur), la liste des fichiers etc.
  * Un fichier d'archive qui est en général au format cpio, compressé.
  
  Pour extraire les fichiers d'un paquet rpm (SANS les installer), la commande est : rpm2cpio exemple_de_rpm.rpm | cpio -idmv
  
  