Club mandriva French


Forum Mandriva Qui utilise Mandriva ? Accueil
Installer Configurer multimedia Systeme internet tutoriels questions ? entreprises emulation jeux





Transformez un tar.gz
        en RPM personnel avec checkinstall
file:///media/hd/Frank/Maintenance%20Linux/Site%20Web/Linux/logo/AdobeReader.JPEG Format imprimable




CheckInstall est un logiciel pour les systèmes d’exploitation type Unix qui facilite l’installation et la désinstallation des logiciels compilés à partir des sources en utilisant le gestionnaire de paquets. Après la compilation du logiciel, checkinstall peut créer automatiquement un paquet RedHat/Mandriva compatible RPM qui peut être désinstallé proprement plus tard à partir du gestionnaire de paquets.

Mettons que vous téléchargiez un logiciel disponible à partir des sources (tar.gz), après s’être rendu dans le dossier de téléchargement, après avoir décompressé l’archive (clic droit de l’explorateur de fichier : extraire ou décompresser) puis être entré dans le dossier ainsi créé.

pour l'installer, vous feriez basiquement ceci :


tar -xzf mon_logiciel.tar.gz
cd /chemin/mon_logiciel
./configure --prefix=/usr
make
su
<mot de passe de root>
make install




Et hop ! le logiciel est installé !

Cette technique présente néanmoins 2 problèmes :
  • Le premier c'est que pour désinstaller le logiciel vous devrez passer par "make uninstall", ce qui suppose que les sources du logiciel soient toujours disponibles à ce moment précis, ce qui n'est pas forcément évident lorsque "l'install" c'est effectuée quelques mois avant.
  • Le second, c'est que vous altérez potentiellement votre base rpm en installant des logiciels non référencé dans votre base rpm.
Checkinstall, permet de résoudre ces 2 problèmes, pour désinstaller un logiciel se sera comme avec n'importe quel paquet de votre distribution :  
  • avec la console en tapant URPME (le nom du paquet).
  • avec le RPMdrake du Centre de Control Mandriva.

En créant un .rpm, checkinstall met à jour votre base de données rpm, donc le logiciel nouvellement installé est connu du gestionnaire de paquetages.
L'avantage consiste dans le fait que vous ne contournez pas le gestionnaire RPM en compilant à partir des sources.

mise à jour manuelle des packages RPM :  





Recherche de logiciels :





Installation

CheckInstall fait déjà parti, depuis longtemps, de l'ensemble des logiciels proposés par les distributions majeures et peut être installé avec le gestionnaire de paquet du système. Si ça n'est pas le cas, vous pouvez télécharger un fichier « tar-balls » ou un paquet pré-compilé convenant à diverses distributions, disponible sur le site web du projet.

Note :
checkinstall-1.6.2.16-1mdv2010.1 RPM for i586 disponible sur rpmfind.net
libcheckinstall est nécessaire et disponible sur rpmfind.net)



Installation à partir du site Web du projet CheckInstall :


Rendez vous sur la page de téléchargement de checkinstall



Pour les utilisateurs de Mandriva.
vous devez télécharger la version rpm...



 et l'installer en cliquant sur le bouton "Installer"


Installation à partir du CCM (Centre de Control Mandriva) :


Ouvrir le centre de control puis choisir "Installer et désinstaller des logiciels"



taper "checkinstall" dans la zone de saisie !



Cochez la case puis cliquez sur le bouton "Appliquer"


RPM-Build doit être installé


Pour pouvoir construire des RPM, vous devez avoir installé au préalable le paquetage rpm-build. (case cochée)




Créer les répertoires requis


Téléchargez un script "RPMSetup" à executer qui va créer les répertoires nécessaires à la construction de paquets

Cliquez sur "Enregistrer le fichier" puis sur le bouton "Ok"



Le fichier "Rpmsetup" s'enregistre dans le répertoire "Téléchargements", fenêtre que vous pouvez fermer !



Se déplacer dans le répertoire "Téléchargements"



Sur le fichier "Rpmsetup" faire un clique-droit de la souris, puis dans le menu contextuel, sélectionner "Propriété"



Rendre "Rpmsetup" exécutable, en sélectionnant l'onglet "Droits d'accès", puis en cochant la case "est exécutable"



Lancer le programme exécutable "Rpmsetup" :

soit faire un double-clique sur l'icône
ou
soit faire un clique droit sur l'icône, puis sélectionner "Ouvrir"



Rpmsetup a créé les répertoires et les fichiers qui vont bien dans votre répertoire personnel





Voilà maintenant vous êtes prêt pour construire des RPM personnels !



Qu'est-ce qui s'est passé avec RPMSetup


Pour comprendre ce que le script a exécuté, se déplacer dans le répertoire "Téléchargements", puis faire un clique-droit sur l'icône Rpmsetup, puis sélectionner "Ouvrir avec" puis "KWrite".



L'éditeur de texte KWrite ouvre Rpmsetup



Ces lignes d'instruction permettent la création de répertoire et ses sous-répertoires, ainsi que les fichiers cachés ! On peut maintenant sortir de KWrite (Fichier puis Quitter).

Nous allons ouvrir l'explorateur de fichier "Dolphin" en faisant un clique-droit de la souris sur le Bureau,
puis sélectionner "Ouvrir avec Dolphin"



Pour que ça soit plus visuel, nous allons ouvrir une fenêtre supplémentaire.
Cliquez sur "affichage" et sélectionner "Scinder".
ou
appuyer sur la touche de fonction "F3"



Sur la nouvelle fenêtre cliquez sur le répertoire "rpm", évidemment les sous répertoires sont bien créés.



pour ré-afficher une seule fenêtre dans votre explorateur de fichiers, appuyer sur la touche "F3".


A quoi sert cet arborescence ?


À noter !
  • ~/rpm/BUILD : dossier où se fait la compilation des sources.
  • ~/rpm/RPMS : contient les répertoires, un par architecture, qui contiendront les paquetages binaires générés.
  • ~/rpm/RPMS/i586 : le répertoire où seront stockés les paquetages binaires créés pour les processeurs i586.
  • ~/rpm/RPMS/x86_64 : le répertoire où seront stockés les paquetages binaires créés pour les processeurs X86_64.
  • ~/rpm/RPMS/noarch : le répertoire où seront stockés les paquetages binaires noarch (c'est-à-dire indépendants de l'architecture du processeur). générés. NdT : c'est souvent le cas des applications écrites dans des langages interprétés (php,perl,python,ruby...).
  • ~/rpm/SOURCES : contient les fichiers sources (par exemple monpaquetage.tar.bz2 ).
  • ~/rpm/SPECS: contient les fameux fichiers spec que nous devons écrire.
  • ~/rpm/SRPMS : RPM sources après la construction.
  • ~/rpm/tmp : dossier temporaire de travail pour RPM.



Rpmsetup a créé les fichiers .rpmmacros et .rpmrc

 

Pour pouvoir construire des paquetages pour Mandriva Linux, Rpmsetup a créer le fichier de configuration .rpmmacros dans votre répertoire personnel.

Le nom de ce fichier commence par un "." point. Tous les fichiers commençant par un point, sont des fichiers cachés. Ils sont donc invisibles dans votre répertoire personnel.

Pour pouvoir les voirs et accéder à ces fichiers, cliquez sur le menu "Affichage" et selectionnez "Afficher les fichiers cachés"



nous allons vérifier ceci en faisant défiler les répertoires et fichiers en utilisant l'ascensseur...



....jusqu'aux fichiers .rpmmacros et .rpmrc. Nous allons voir le contenu de ce fichier .rpmmacros.

Faire un clique droit, puis sélectionner "Ouvrir avec" et "KWrite".



Rpmsetup et a créé le contenu ci-dessous :



Vous pouvez, si vous le souhaitez, modifier le nom "John Doe" par le votre ainsi que l'adresse courriel.

Recommencer la même procédure avec le fichier .rpmrc.



Le RPM se trouve dans    ~/rpm/RPMS/$ARCH/    il n'y a plus qu'à l'installer avec le gestionnaire de paquetages drakrpm, ou urpmi, ou rpm


Résumé de l'utilisation de checkinstall :


L'installation de CheckInstall est très simple et se déroule en peu d'étapes pour une installation réussie. Après l'instruction incontournable make, vous tapez checkinstall, qui génère un paquet binaire approprié venant du programme compilé. Alors vous pouvez installer ce paquet avec votre gestionnaire de paquetage et il est aussi possible de désinstaller ce paquet proprement.

Désormais pour installer un logiciel à partir des sources, il suffira de taper :


tar -xzvf mon_logiciel.tar.gz
cd /chemin/mon_logiciel
./configure --prefix=/usr
make
su
<mot de passe de root>
checkinstall
Please choose the packaging method you want to use.
Slackware [S], RPM [R] or Debian [D]? R

*************************************
*** RPM package creation selected ***
*************************************
[...]



Conclusion :

CheckInstall est un outil remarquable qui facilite grandement l'administration d'un système Linux. Particulièrement si des programmes doivent être fréquemment compilés depuis leurs sources, CheckInstall vous donne la possibilité de les enlever proprement sans risque de rendre le système incohérent.

Par ailleurs, vous pouvez aussi installer ces paquets sur d'autres machines sans avoir à re-compiler le programme à chaque fois, évidemment en prenant en considération de possibles dépendances de paquet. Cependant, ceci n'est pas un gros problème pour les machines identiques.

Eh voilà !