Linux Administration J E AN-FR ANÇOI S B O U C HAU DY G I LLE S G O U B ET E Y

Linux Administration J E AN-FR ANÇOI S B O U C HAU DY G I LLE S G O U B ET E Y R O L L E S Best f o © Groupe Eyrolles 2007, ISBN : 978-2-212-12074-5 © Eyrolles/Tsoft – Linux Administration 8-1 8 Module 8 : L’installation d’application Objectifs Après la lecture de ce module, le lecteur sait installer une application à partir de ses sources. Il sait aussi installer une application sous forme de paquetage. Enfin, il connaît les solutions lui permettant une résolution automatique des problèmes liés à la dépendance des paquetages. Contenu Sources et paquetages Les paquetages RedHat (RPM) Les paquetages Debian Mises à jour et dépendances Références Le manuel : rpm(8), dpkg(8), apt-get(8) Internet : http://rpmfind.net http://www.debian.org/distrib/packages • Les tar ball • Les paquetages (« packages »)rpm • La commande en mode texte rpm . • Les paquetages debian Module 8 : L’installation d’application © Eyrolles/Tsoft – Linux Administration 8-2 Sources et paquetages Module 13 : Les paquetages - 13.2 TSOFT - Linux Administration Sources et paquetages „ Installation d’application à partir des sources z Tarball # tar xvzf logiciel.tar.gz # cd logiciel ; ./configure # make ; make install z Patch # gunzip –c patch.gz | patch –p0 z CVS „ Installation d’application sous forme de paquetages z Les paquetages RedHat (RPM) z Les paquetages Debian Introduction L’installation d’une application sur un système Linux peut être accompli essentiellement de deux manières : • Soit à partir des sources. Il faut donc compiler l’application. • Soit à partir d’un paquetage contenant les binaires de l’application. Remarque Pour la petite histoire, il faut mentionner que l’on peut manipuler des paquetages contenant les sources et que la distribution Gentoo est entièrement basée sur l’installation de paquetages sources. Chaque méthode a ses avantages et ses inconvénients : L’installation à partir des sources permet de récupérer la dernière version d’un logiciel. La compilation permet également d’adapter le logiciel à sa plateforme et ainsi de le rendre plus performant. Certaines options d’utilisation ne sont permises que grâce à la recompilation. Enfin, certains logiciels n’existent pas sous forme de paquetages. L’installation d’une application sous forme de paquetage simplifie énormément le travail de l’administrateur. Elle peut même quelque fois se résumez à une simple commande ou à l’appui sur un bouton. Une application peut dépendre d’autres logiciels. La manipulation de la version paquetage permet au moins la connaissance des paquetages requis et éventuellement, par un processus récursif, l’installation de ces applications. En conclusion, l’utilisation de paquetage est la solution logique pour installer une application, il faut la privilégier. L’installation à partir des sources sera réservée seulement pour la principale application fonctionnant sur son système. Les avantages Module 8 : L’installation d’application © Eyrolles/Tsoft – Linux Administration 8-3 liées à la compilation pouvant éventuellement l’emporter dans ce cas sur l’utilisation de paquetages. L’installation à partir des sources Une application source se présente le plus souvent sous forme d’un fichier tar compressé ou tarball. Un des fichiers se nomme README et donne les instructions à suivre pour réaliser l’installation. Les paquetages GNU sont en fait des tarball construit toujours avec les mêmes techniques. Une des principales motivations d’installer une application à partir des sources est de posséder la version la plus récente du logiciel. Le téléchargement et la compilation du logiciel sont des processus lents et complexes. Il est possible de ne télécharger que les différences par rapport à la version précédentes. Deux systèmes sont principalement utilisés : • CVS, un système complet de suivi de versions d’un logiciel. • Le patch, un fichier renfermant les différences avec la dernière version. tarball Le format traditionnel d’une application obtenue à partir d’Internet, d’un CD-ROM, ... est le tarball. Un fichier tarball est tout simplement un fichier tar compressé. Ce fichier contient tous les composants de l’application : les exécutables, les bibliothèques, les fichiers de configuration, la documentation, des fichiers de données, des exemples … On trouve aussi sur l’archive des fichiers qui permettent de réaliser l’installation : README, copyright, Makefile, install.sh. Il faut d’abord lire le fichier README qui contient des informations souvent essentielles. Il décrit le logiciel et la marche à suivre pour réaliser l’installation. Elle utilise habituellement deux outils : le shell et make. Le fichier install.sh est un script shell et le fichier Makefile est un fichier make. Malheureusement, chaque développeur suit ses propres conventions et les noms des fichiers et des procédures d’installation varient d’une personne à une autre. La commande make Cette commande est essentielle dans la production de logiciel. Elle se base sur un fichier, le Makefile, qui décrit toutes les opérations à effectuer pour créer une application. Ce sont essentiellement des compilations qui sont exécutées par un makefile, mais tout ce qui concourt à l’édification d’un logiciel peut être utilisé. L’intérêt majeur de la commande make réside dans le fait qu’elle n’accomplit, du makefile, que les opérations nécessaires en se basant sur les dates de dernière modification des fichiers. Dans l’exemple qui suit, on utilise un fichier Makefile pour construire l’application décrite dans le chapitre concernant les bibliothèques dynamiques : $ more Makefile # Makefile a.out : main.o libz.so gcc main.o libz.so libz.so : add.o mult.o gcc -shared -o libz.so add.o mult.o main.o : main.c Module 8 : L’installation d’application © Eyrolles/Tsoft – Linux Administration 8-4 gcc -c main.c add.o : add.c gcc -c add.c mult.o : mult.c gcc -c mult.c $ make gcc -c add.c gcc -c mult.c gcc -shared -o libz.so add.o mult.o gcc main.o libz.so $ make make: `a.out' est à jour. $ Paquetage GNU Un paquetage GNU est en fait un tarball. La procédure d’installation suit toujours les mêmes étapes : - récupération du tarball - décompression avec l’outil gzip du GNU - restauration avec tar - déplacement dans le répertoire principal créé à l’étape précédente - activation du script shell configure - compilation de l’application via la commande make - installation du logiciel via la commande make install L’exécution du script configure est l’étape essentielle de l’opération. L’installateur l’a créé avec l’outil GNU autoconf. Il génère le fichier Makefile qui permet la compilation du produit avec, comme intérêt majeur, de fabriquer un Makefile spécifique de la plate-forme. Il prend en compte les outils de développement installés (ld, as, ar, m4, make, lex, yacc...), leur emplacement, les options de compilation liées à l’architecture matérielle, l’emplacement des fichiers et des commandes… Le même tarball peut être utilisé pour les différentes plates-formes UNIX existantes et pour les différentes distributions Linux. La portabilité UNIX, dans ce cas, n’est pas un vain mot. Syntaxe d’utilisation d’un script configure Un script configure peut être activé avec des options qui précisent notamment l’emplacement des fichiers, ou bien le comportement du logiciel. Nous mentionnons quelques options d’installation d’Apache. --help : affiche la liste de toutes les directives de configuration, et la liste des modules disponibles et leur état d’inclusion. --quiet : mode silencieux. --verbose : mode verbeux. --show-layout : affiche les emplacements utilisés. --prefix=/usr/httpd : spécifie la racine d’installation, par défaut /usr/local/apache. --enable-shared=max : Apache utilise l’édition de liens dynamique, par défaut, il utilise l’édition de liens statique. Module 8 : L’installation d’application © Eyrolles/Tsoft – Linux Administration 8-5 Exemple : l’installation d’Apache On prend comme exemple l’installation d’Apache. Elle nécessite de disposer du compilateur c. On récupère Apache. # wget 'http://apache.crihan.fr/dist/httpd/apache_1.3.29.tar.gz' --16:10:56-- http://apache.crihan.fr/dist/httpd/apache_1.3.29.tar.gz => `apache_1.3.29.tar.gz.1' Résolution de apache.crihan.fr... complété. Connexion vers apache.crihan.fr[195.221.21.36]:80...connecté. requête HTTP transmise, en attente de la réponse...200 OK Longueur: 2,435,809 [application/x-tar] 100%[=========================>] 2,435,809 62.92K/s ETA 00:00 16:11:34 (62.92 KB/s) - « apache_1.3.29.tar.gz.1 » sauvegardé [2435809/2435809] On le décompresse et on le « détare » : # tar xzf apache_1.3.29.tar.gz On active le script configure : # cd apache_1.3.29 # ./configure Configuring for Apache, Version 1.3.29 + Warning: Configuring Apache with default settings. + This is probably not what you really want. ... On compile Apache : # make On l’installe : # make install On teste son fonctionnement : # /usr/local/apache/bin/apachectl start # ps -e |grep httpd La commande patch La commande patch, créée par Larry Wall, le concepteur de PERL, effectue la mise à jour de fichiers sources répartis dans une arborescence de fichiers. La commande applique les modifications mémorisées dans un fichier créé par la commande diff -c. Cette dernière génère les modifications qu’il faut apporter à un fichier pour obtenir la version modifiée. Contrairement à la commande diff –e qui crée un script ed, l’option –c ou –u génère une différence contextuelle qui prend en compte les lignes qui entourent les lignes modifiées. Dans certains cas, la commande échoue et le précise avec des balises qui encadrent les zones indécises. Les mises à jour de sources sont disponibles sous forme de fichiers patch compressés. Exemple simple d’utilisation de la commande patch : $ cal > f1.txt $ cp f1.txt f2.txt $ echo "Salut ..." >> f2.txt $ diff -c f1.txt f2.txt *** f1.txt Fri Oct 12 14:36:31 2001 --- f2.txt Fri Oct 12 14:39:42 2001 *************** Module 8 : L’installation d’application © Eyrolles/Tsoft – Linux Administration 8-6 *** 6,8 **** --- uploads/s3/ module-8-goubet-pdf.pdf

  • 14
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager