RPM Package Manager
# 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

