Qu'est-ce que le format de fichier RPM ?
Les fichiers avec l'extension .rpm sont des fichiers de paquets utilisés sur les systèmes d'exploitation basés sur Linux. À l'origine, le format .rpm a été développé par Red Hat pour sa propre distribution Linux, mais il est aujourd'hui largement utilisé par Fedora, RHEL, CentOS, openSUSE, Mageia et de nombreuses autres distributions.
Un fichier .rpm est un paquet logiciel qui contient tout le nécessaire pour installer une application spécifique sur un système Linux compatible. RPM signifiait à l'origine « Red Hat Package Manager » ; le projet est désormais maintenu par la communauté open-source sur RPM.org et l'outil en ligne de commande s'appelle simplement rpm. Le format a été conçu pour rendre l'installation et la distribution des applications Linux simples, afin que l'utilisateur final n'ait pas à gérer les fichiers individuels requis pour l'installation.
En interne, un .rpm possède une structure binaire composée d'une section d'amorce (lead), d'un en-tête de signature GPG, d'un en-tête de métadonnées étiquetées et d'une charge utile .cpio compressée contenant les fichiers réels. Les paquets modernes compressent cette charge utile avec XZ/LZMA ; gzip, bzip2 et Zstd sont également pris en charge. Les paquets sont installés via dnf (Fedora/RHEL) ou zypper (openSUSE), qui résolvent automatiquement les dépendances. Une variante .src.rpm contient le code source et les instructions de compilation au lieu des binaires prêts à l'emploi. Sur Windows ou macOS, des outils comme 7-Zip peuvent extraire le contenu des .rpm pour inspection, bien que les scripts d'installation ne puissent pas s'exécuter en dehors d'un système Linux natif basé sur RPM. L'équivalent le plus proche sur les systèmes basés sur Debian est le format .deb.
Sécurité et sûreté
RISQUE : MEDIUMLes paquets RPM exécutent des scripts d'installation/désinstallation en tant que root, donc un .rpm malveillant peut compromettre totalement un système. Installez uniquement des RPM provenant d'éditeurs/dépôts de confiance, et vérifiez d'abord la signature GPG : rpm --checksig package.rpm (et importez la clé de l'éditeur). Les distributions avertissent avant d'installer des paquets non signés. Sur Windows/macOS, un .rpm ne peut pas s'exécuter, donc l'inspecter y est sans danger. Évitez les sites aléatoires de type « rpm to exe » ou « rpm opener » - ils sont trompeurs (les RPM ne fonctionnent pas sur Windows) et regroupent souvent des logiciels publicitaires.
Détails du format
en brefProgrammes qui ouvrent les fichiers RPM
rpm2cpio package.rpm | cpio -idmv pour extraire les fichiers du paquet sur macOS à des fins d'inspection. sudo alien -i package.rpm convertit et installe en tant que .deb. À utiliser avec précaution - le .deb natif est préférable. sudo dnf install ./package.rpm - installe le paquet et résout automatiquement les dépendances. Préférable à l'utilisation de rpm brut. sudo zypper install ./package.rpm - installe avec résolution de dépendances sur les systèmes SUSE. sudo rpm -ivh package.rpm pour installer, rpm -qlp pour lister les fichiers, rpm --checksig pour vérifier. Ne résout pas automatiquement les dépendances. Détails techniques
spécifications approfondies| Type MIME | application/x-rpm (également accepté : application/x-redhat-package-manager) |
| Signature magique du fichier | ED AB EE DB à l'offset 0 - la signature d'amorce RPM « edabeedb » |
| Structure interne | Section d'amorce → en-tête de signature GPG → en-tête de métadonnées étiquetées → charge utile cpio compressée |
| Compression de la charge utile | XZ/LZMA (par défaut moderne sur Fedora/RHEL), gzip, bzip2 ou Zstd ; sélectionnable par compilation de paquet |
| Ordre des octets de l'en-tête | Big-endian ; chaque entrée d'étiquette stocke un type de 4 octets, un compte de 4 octets et un décalage dans le stockage de données |
| Signature du paquet | Signature GPG intégrée dans l'en-tête de signature ; vérifiée avec `rpm --checksig` |
| Métadonnées de dépendance | Balises Requires, Provides, Conflicts et Obsoletes stockées dans l'en-tête principal pour la résolution automatique |
| Scripts d'installation | Scripts de pré- et post-installation (%pre/%post) et de pré- et post-désinstallation (%preun/%postun) intégrés dans le paquet |
| Intégrité par fichier | Empreintes SHA-256 par fichier stockées dans l'en-tête (MD5 sur les anciens paquets) ; vérifiées après l'installation |
| Version du format de paquet | v4 (actuelle, chaîne d'outils RPM 4.x) ; format RPM v6 en cours de développement sur RPM.org |
| Gestionnaires de paquets associés | `dnf` (Fedora, RHEL, CentOS Stream), `zypper` (openSUSE/SUSE), `rpm` (commande de bas niveau) |
| Variante de paquet source | `.src.rpm` (SRPM) contient l'archive source tarball et la recette de construction `.spec` au lieu des binaires compilés |
| Plateformes d'installation supportées | Distributions Linux basées sur RPM : Red Hat, Fedora, RHEL, CentOS, openSUSE, Rocky Linux, AlmaLinux, Mageia |
| Taille de fichier typique | De quelques dizaines de Ko (petits utilitaires) à plusieurs centaines de Mo (grosses applications, chaînes d'outils de développement ou micrologiciels) |
| Relocalisation | Les paquets peuvent être marqués comme relocalisables, permettant l'installation vers un chemin de préfixe défini par l'utilisateur |
| Publié | 1997 (RPM, with Red Hat Linux 5.0; rpm-software-management is the current upstream) |
| Dernière version | RPM v4 package format (RPM 4.20.x, 2024); RPM v6 format in development |
| Standard ouvert | Oui · libre de droits |
| Spécification | rpm-software-management.github.io |
Conversions RPM
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers RPM.
Foire aux questions
Comment installer un fichier .rpm sur Linux ?
sudo dnf install ./file.rpm ; sur openSUSE : sudo zypper install ./file.rpm. Ces commandes résolvent automatiquement les dépendances. L'outil de bas niveau sudo rpm -ivh file.rpm fonctionne également mais ne récupérera pas les dépendances manquantes.Comment ouvrir un fichier .rpm sur Windows ?
Comment installer un .rpm sur Ubuntu/Debian ?
sudo alien -i file.rpm, mais il est plus sûr de chercher un .deb natif, un Flatpak ou une AppImage du même programme.Quelle est la différence entre RPM et DEB ?
Comment voir ce qu'il y a dans un .rpm sans l'installer ?
rpm -qlp file.rpm liste ses fichiers et rpm -qip file.rpm affiche ses informations ; ou lancez rpm2cpio file.rpm | cpio -idmv pour les extraire. Sur Windows, ouvrez-le avec 7-Zip.Pourquoi ai-je des « dépendances échouées » lors de l'installation d'un RPM ?
dnf install ./file.rpm (ou zypper) au lieu de rpm brut, afin que le gestionnaire de paquets télécharge les dépendances depuis vos dépôts.