Les .rpm sont des fichiers permettant d’installer des packages. Par package, on entend n’importe quel ensemble de fichiers (exécutables ou non) qui peuvent se greffer au système. Il peut s’agir de fichiers de configuration, d’une documentation, du noyau d’un système, ou de logiciels.
Le logiciel rpm est un gestionnaire de packages qui permet de consulter, supprimer, rechercher, etc. des packages. Lors de l’installation, il prend en argument un fichier .rpm et on peut donc effectuer l’installation comme suit :
[klaus@localhost rpmbuild]$ su Password: [root@localhost bin]# rpm -ivh domino-1-1.noarch.rpm Préparation... ########################################### [100%] 1:domino ########################################### [100%]
Vous remarquerez qu’il est nécessaire d’être le root pour installer un package, les options -ivh servent à préciser qu’il s’agit d’une installation, et domino-1-1.noarch.rpm est le nom du fichier .rpm contenant le package.
Le logiciel urpmi est une extension de rpm allant chercher sur Internet le package et l’installant automatiquement. urpmi est très pratique dans le sens où il gère les dépendances. Par exemple, si un logiciel A ne peut fonctionner que si le logiciel B est installé, et que vous exécutez urpmi A, urpmi va vous installer les deux packages A et B.
Ce mécanisme représente le niveau de confort le plus élevé que peut souhaiter un utilisateur : fini les ./configure, make, make install, et les messages d’erreur incompréhensibles qui nuisent au déploiement de vos logiciels. Il vous suffit de faire des rpms et l’utilisateur n’aura presque rien à faire pour installer vos packages.
rpmbuild est un logiciel permettant de générer des rpms. Les divers tutoriaux décrivant son utilisation n’étant pas simples, j’ai eu les plus grandes difficultés à le prendre en main, et j’ai perdu un temps considérable à chercher des éléments noyés dans des centaines de pages de documentation.
Afin d’éviter à d’autres de perdre autant de temps que j’en ai perdu, je me suis proposé de faire le tutoriel le plus simple possible, en expliquant les bases pas à pas à l’aide d’un exemple fort connu en programmation.
Nous allons ensemble créer un .rpm pour le programme helloWorld, qui sera écrit en C. Je suppose que vous êtes un minimum familier avec la programmation et que vous n’avez jamais créé de rpms.