Annexe A. RPM

Le système de gestion des paquets RPM Package Manager (RPM) est un système qui exécute sur Red Hat Enterprise Linux ainsi que sur d'autres systémes Linux ou UNIX. Red Hat et le Projet Fedora encouragent d'autres vendeurs à utiliser RPM pour leurs produits. RPM est distribué sous les termes et conditions de la licence GPL (GNU General Public License).
Le RPM Package Manager fonctionne uniquement avec les paquets créés sous le format RPM. RPM est fourni dans le paquet rpm pré-installé. Pour l'utilisateur final, RPM facilite la mise à jour des systèmes. L'installation, la désinstallation et la mise à niveau des paquets RPM est rendue possible grâce à quelques commandes. RPM maintient une base de données des paquets installés et leurs fichiers. Ainsi, vous pouvez faire des requêtes et des contrôles puissants à travers votre système. Il existe plusieurs applications, comme Yum ou PackageKit, qui peuvent faciliter davantage le travail avec les paquets au format RPM.

Avertissement

Pour la plupart des tâches de gestion de paquets, le gestionnaire de paquets Yum offre égale et souvent une meilleure fonctionnalité et c'est un meilleur outil que RPM. Yum est également en mesure d'effectuer et d'assurer le suivi de résolutions de dépendances systèmes plus compliquées. Yum maintient l'intégrité du système et oblige un contrôle d'intégrité de système si des paquets sont installés ou supprimés par une autre application, comme RPM à la place de Yum. Pour ces raisons, il est fortement recommandé d'utiliser Yum à la place de RPM, lorsque c'est possible, afin d'effectuer des tâches de gestion des paquets. Voir Chapitre 8, Yum.
Si vous préférez une interface graphique, vous pouvez utiliser l'application GUI PackageKit, qui utilise Yum en arrière plan, pour gérer les paquets du système.
Lors des mises à niveau, RPM gère les fichiers de configuration avec soin, de façon à ne jamais perdre vos personnalisation, ce qui est une chose difficile à réaliser avec les fichiers .tar.gz habituels.
Pour les développeurs, RPM permet au code source du logiciel d'être présent dans les paquets sources et binaires pour les utilisateurs finaux. Ce processus est très simple et dérive d'un seul fichier et de correctifs optionnels que vous créez. Cette délimitation claire entre les sources intactes et vos correctifs ainsi que les instructions de création facilitent la maintenance du paquet quand de nouvelles versions du logiciel sont disponibles.

Note

Comme RPM peut apporter des modifications au système lui-même, effectuer des opérations comme l'installation, la mise à niveau, le déclassement, ou désinstaller des paquets binaires sur tout le système nécessite le niveau de privilège root dans la plupart des cas.

A.1. Objectifs de la conception RPM

Pour comprendre comment utiliser RPM, il est bon de comprendre le but de l'utilisation de RPM:
Upgradability
Avec RPM, vous pouvez mettre à jour différents composants de votre système sans besoin de réinstallation complète. Quand vous obtenez une nouvelle version du système d'exploitation basé sur RPM, tels que Red Hat Enterprise Linux, vous n'avez pas besoin de réinstaller une nouvelle copie du système d'exploitation sur votre machine (ce que vous devrez peut-être effectuer avec des systèmes d'exploitation basés sur d'autres systèmes de packaging). RPM permet des mises à jour intelligentes, entièrement automatisées, sur place, dans votre système. De plus, les paquets, les fichiers de configuration des paquets sont conservés à travers les mises à jour, ce qui vous permet de conserver vos personnalisations. Il n'y a aucun fichier de mise à niveau spécial nécessaire pour mettre à jour un paquet parce qu'un même fichier RPM est utilisé à la fois pour installer et mettre à niveau le paquet sur votre système.
Powerful Querying
RPM est conçu pour fournir des options de recherche puissantes. Vous pouvez effectuer des recherches de paquets ou même simplement des fichiers sur votre copie de la base de données. Vous pouvez également facilement trouver à quel paquet appartient un fichier et d'où le paquet vient. Les fichiers contenus par un paquet RPM sont dans une archive compressée, avec un en-tête binaire personnalisé contenant des informations utiles sur l'emballage et son contenu, vous permettant de chercher des paquets un par un, rapidement et facilement.
System Verification
Une autre fonctionnalité puissante de RPM est sa capacité de vérifier les paquets. RPM vous permet de vérifier que les fichiers installés sur le système sont les mêmes que ceux qui sont fournis par un paquet donné. Si une incohérence est détectée, RPM vous informe, et vous pouvez réinstaller le paquet si nécessaire. Les fichiers de configuration que vous avez modifiés sont préservés lors de la réinstallation.
Pristine Sources
Un objectif de conception crucial consistait à permettre l'utilisation de sources intactes de logiciels, distribuées par les auteurs d'origine du logiciel. Avec RPM, vous avez les sources intactes, ainsi que tous les correctifs qui ont été utilisés, en plus des instructions de build. Il s'agit d'un avantage important pour plusieurs raisons. Par exemple, si une nouvelle version de programme est lancée, vous n'avez pas forcément besoin de tout recommencer du début pour le compiler. Vous pouvez regarder le correctif pour voir ce que vous pourriez faire. Tous les défauts compilés et toutes les modifications qui ont été faites pour que le logiciel puisse compiler correctement sont bien visibles avec cette technique.
Le but de conserver les sources pristines ne peut sembler important qu'aux développeurs, mais cela amène à de meilleurs résultats de qualité de logiciels pour les utilisateurs finaux.