JEAN-FRANÇOIS BOUCHAUDY GILLES GOUBET. Linux. Administration



Documents pareils
Chapitre 10 : Logiciels

Mon premier rpm. 7 juin Avant de commencer RPM URPMI RPMBUILD... 2

TP n 2 : Installation et administration du serveur ProFTP. Partie 1 : Fonctionnement du protocole FTP (pas plus de 15min)

Guide d installation de SugarCRM Open Source version 4.5.1

Aide-Mémoire unix. 9 février 2009

sshgate Patrick Guiran Chef de projet support

Projet Administration Réseaux

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

C.M. 1 & 2 : Prise en main de Linux

1 Configuration des Fichiers Hosts, Hostname, Resolv.conf

Guide Installation Serveur Extensive Testing

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

Introduction...3. Objectif...3. Manipulations...3. La Sauvegarde...4. Les différents types...4. Planification...4. Les outils...5

TD séance n 2c Mise à jour des Systèmes

Guide Installation Serveur Extensive Testing

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Architecture de la plateforme SBC

Notes pour l'installation d'une version de Eprints sur une machine CentOS4.2 Stéphanie Lanthier Le jeudi 17 février 2006

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Installation d ORACLE 10g sous Debian Etch

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

HOW-TO Install Oracle 11gR2 on OL5U7

TP LINUX : LINUX-SAMBA SERVEUR DE FICHIERS POUR UTILISATEURS WINDOWS

Package Contents. System Requirements. Before You Begin

Pharmed. gestion de pharmacie hospitalière. Installation / déploiement

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

VMware ESX : Installation. Hervé Chaudret RSI - Délégation Centre Poitou-Charentes

Déploiement de SAS Foundation

Atelier Migration. Mohamadi ZONGO Formateur assistant Kassim ASSIROU Atelier Migration.

Installer un domaine DNS

Personnes ressources Tice. Académie de Rouen

Installation d'un Contrôleur Principal de Domaine SAMBA 4

Accès aux ressources informatiques de l ENSEEIHT à distance

Installation d'un serveur FTP géré par une base de données MySQL

Documentation d'installation Plateforme femme actuelle

Vanilla : Virtual Box

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

IceWarp serveur sur Linux : Guide d'installation

WEB page builder and server for SCADA applications usable from a WEB navigator

Automatisation de l administration système

Once the installation is complete, you can delete the temporary Zip files..

MANUEL UTILISATEUR KIWI BACKUP V 3

Utiliser un proxy sous linux

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups Auteur : Charles-Alban BENEZECH

Premiers pas en Linux

Debian en milieu professionnel. This document is under the GNU Free Documentation License.

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

Support de cours. Administrer Linux avec Webmin. 2003, Sébastien Namèche - 1

Unix/Linux I. 1 ere année DUT. Université marne la vallée

VTP. LAN Switching and Wireless Chapitre 4

Installation Oracle 10g : Installation sur Solaris 10 x86

Installation d'un TSE (Terminal Serveur Edition)

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

LINUX - ADMINISTRATION PROGRAMME DE FORMATION


Sendmail milter/greylisting

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

Guide d'installation de la base de données ORACLE 10g ( ) pour linux FEDORA CORE 4.

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)

Mise en oeuvre TSM 6.1

MANUEL D INSTALLATION D UN PROXY

Titre: Version: Dernière modification: Auteur: Statut: Licence:

Introduction à Linux (pour le HPC) «Linux 101» Présentation :

Votre premier projet Android

Déploiement OOo en environnement Windows Terminal Server

Guide d'installation rapide TFM-560X YO.13

Tutoriel compte-rendu Mission 1

Imprimantes et partage réseau sous Samba avec authentification Active Directory

Instructions Mozilla Thunderbird Page 1

Contents Windows

Statistiques réseau et système avec CACTI

Oracle Database SQL Developer Guide D'Installation Release 4.0 E

Petit guide pour l installation de CVW sous Linux

Atelier individuel. Linux 101. Frédérick Lefebvre & Maxime Boissonneault frederick.lefebvre@calculquebec.ca U. Laval - Janv. 2014

INFO-F-404 : Techniques avancées de systèmes d exploitation

[ GLPI et OCS pour Gentoo 2006] ArtisanMicro. Alexandre BALMES

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Supervision système et réseau avec Zabbix. Anne Facq Centre de Recherche Paul Pascal 17 avril 2008

Bon ben voilà c est fait!

Procédure d installation d AMESim 4.3.0

PUPPET. Romain Bélorgey IR3 Ingénieurs 2000

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

INSTALLATION DEBIAN. Installation par le réseau

Préparation d un serveur Apache pour Zend Framework

ArcGis Server 10 (sur VM CentOS bits) DOCUMENT D INSTALLATION

Installation de Vmware serveur Windows

0.1 Mail & News : Thunderbird

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...

INSTALLATION DE WINDOWS 2000 SERVER POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1

SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2

Projet Semestre2-1SISR

Sécurité Informatique. Description. Prérequis. Un petit test avant de commencer s embourber

Problématique. Techniques générales. Déploiement Windows. Déploiement Linux. Déploiement Mac OS X. Applications Windows. Applications Linux

Environnement Informatique EMSE Linux

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public

Installation de VirtualPOPC-1 sur Ubuntu Server LTS 64bits

Transcription:

est f o E Y R O L L E S JEAN-FRANÇOIS BOUCHAUDY GILLES GOUBET Linux Administration

Les tar ball Les paquetages («packages»)rpm La commande en mode texte rpm. 8 Les paquetages debian Module 8 : L installation d application Objectifs Contenu Références 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. Sources et paquetages Les paquetages RedHat (RPM) Les paquetages Debian Mises à jour et dépendances Le manuel : rpm(8), dpkg(8), apt-get(8) Internet : http://rpmfind.net http://www.debian.org/distrib/packages Eyrolles/Tsoft Linux Administration 8-1

Sources et paquetages Sources et paquetages Installation d application à partir des sources Tarball # tar xvzf logiciel.tar.gz # cd logiciel ;./configure # make ; make install Patch # gunzip c patch.gz patch p0 CVS Installation d application sous forme de paquetages Les paquetages RedHat (RPM) Les paquetages Debian TSOFT - Linux Administration Module 13 : Les paquetages - 13.2 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 8-2 Eyrolles/Tsoft Linux Administration

liées à la compilation pouvant éventuellement l emporter dans ce cas sur l utilisation de paquetages. L installation à partir des sources tarball 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. 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 Eyrolles/Tsoft Linux Administration 8-3

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. 8-4 Eyrolles/Tsoft Linux Administration

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 *************** Eyrolles/Tsoft Linux Administration 8-5

*** 6,8 **** --- 6,9 ---- 21 22 23 24 25 26 27 28 29 30 31 + Salut... $ diff -c f1.txt f2.txt > patch.txt $ patch -p0 f1.txt < patch.txt Ressemble à une opération new-style context diff. terminé $ cat f1.txt octobre 2001 S M Tu W Th F S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Salut... $ Voici un exemple plus réaliste : Le système du développeur possède deux arborescences, old et a_jour. Le programmeur crée le fichier patch qui permet de passer de l arborescence old à a_jour. $ cd old $ find.../patch.gz./main.c./libz./libz/mult.c./libz/add.c $ find../a_jour../a_jour../a_jour/main.c../a_jour/libz../a_jour/libz/mult.c../a_jour/libz/add.c $ diff -u -r.../a_jour diff -u -r./libz/add.c../a_jour/libz/add.c ---./libz/add.c 2004-02-18 17:08:27.897275488 +0100 +++../a_jour/libz/add.c 2004-02-18 16:41:33.649678424 +0100 @@ -1,3 +1,4 @@ +/* ==== add.c === */ int add(int x, int y ) { return x+y; } diff -u -r./main.c../a_jour/main.c ---./main.c 2004-02-18 17:08:18.814656256 +0100 +++../a_jour/main.c 2004-02-18 16:41:13.269776640 +0100 @@ -1,3 +1,4 @@ +/* === main.c ==== */ main() { int a=3,b=4,c; c = add(a,b); Only in.: patch.gz $ diff -u -r.../a_jour gzip > patch.gz 8-6 Eyrolles/Tsoft Linux Administration

Sur le système cible, l administrateur récupère le fichier patch.gz et l installe dans son répertoire a_jour qui correspond en fait chez le développeur au répertoire old. Grâce à la commande patch il installe la mise à jour des sources. $ gunzip -c patch.gz patch -p0 patching file./libz/add.c patching file./main.c $ Le système CVS CVS (Concurrent Version System) est un système de gestion de version qui peut fonctionner en réseau. Ce logiciel est libre, sous licence GPL. Il est destiné à remplacer RCS, pour des cas complexes. Beaucoup de logiciels libres sont développés sur Internet grâce à CVS. Ce produit est d abord destiné aux développeurs. Il peut être utilisé par toute personne qui récupère la dernière version d un logiciel ou les dernières modifications dans le cas où l on dispose déjà d une version antérieure. Exemple : récupération de Samba Après avoir récupéré le logiciel CVS, il faut créer la variable d environnement CVSROOT qui donne l adresse du serveur CVS, le compte sous lequel on se connecte et le répertoire où se trouvent les fichiers CVS. $ CVSROOT=":pserver:cvs@cvs.samba.org:/cvsroot" $ export CVSROOT On se déplace dans le répertoire qui est destiné à recevoir les sources de Samba, et on se connecte au serveur en donnant le mot de passe «cvs». $ cd /usr/samba_src $ cvs login password : cvs On télécharge les dernières modifications (ou tout le logiciel, si c est la première fois). La commande cvs checkout va automatiquement mettre à jour les fichiers (de manière similaire à la commande patch). $ cvs -z3 checkout samba Enfin, il ne reste plus qu à compiler Samba comme un paquetage GNU. Le script configure se trouve dans le répertoire «source». Les paquetages Les paquetages GNU apportent une solution à la portabilité d une application UNIX, mais elle ne résout en rien la gestion et la mise à jour d un serveur Linux comportant des dizaines d applications et des centaines d utilitaires, de documentation, de bibliothèques partagées La notion de paquetage («package») attendu alors doit être plus évoluée. Un paquetage ne doit pas seulement contenir les fichiers d une application, mais doit reposer sur un format strict qui permet sa manipulation automatique par l intermédiaire d un ensemble de commandes. On veut notamment disposer des fonctionnalités suivantes : Installer automatiquement une application. Connaître les paquetages installés. Avoir des informations générales sur un paquetage. Désinstaller un paquetage. Eyrolles/Tsoft Linux Administration 8-7

Vérifier avant l installation les dépendances d un paquetage. Avant, durant ou après l installation, connaître les conflits associés à l installation d un paquetage. Vérifier la bonne installation d un paquetage, l intégrité de ses fichiers, l authenticité du paquetage. Mettre à jour un paquetage. Connaître les composants du paquetage. Cette liste n est pas exhaustive, elle ne fait que mettre en exergue quelques intérêts marquants des paquetages. Panorama des solutions Chaque distribution Linux, dispose d un format de paquetage et de commandes permettant de gérer l installation et la désinstallation de paquetages. Malheureusement, il n existe pas de standard. Voici les principaux : Le système de paquetage RedHat (RPM). Le système de paquetage Debian. Le système de paquetage Gentoo dérivant des Portage BSD Le système de paquetage Slackware (.tgz). Le système RPM est le plus répandu, il est utilisé notamment par les distributions RedHat, Fedora, Mandrake, SuSE, Connectiva, YellowDog, PLD, Maindeinlinux, Les RPM et les paquetages Debian font chacun l objet d un chapitre complet. Mise à jour et dépendances A l usage, le problème majeur de l utilisation des paquetages est la résolution des dépendances. Le système Debian fut le premier à le résoudre avec son architecture APT. Actuellement, les systèmes basés sur les RPM offrent des solutions comparables. Le chapitre «Mise à jour et dépendances» traite de ce sujet. Références Man tar(1), make(1), gzip(1), autoconf(1), make(1), wget(1), patch(1), diff(1),cvs(1), cvs(5), ci(1), co(1), Info info make, Livre Programmer avec les outils GNU, par M. Loukides & A. Oram Ce livre traite notamment du compilateur gcc, de make, de RCS, 8-8 Eyrolles/Tsoft Linux Administration

Les paquetages RedHat (RPM) La commande rpm Module 8 : L installation d application La La mise en en œuvre de de rpm Installer un paquetage # rpm -i le_paquetage.rpm Retirer un paquetage # rpm -e le_paquetage Afficher les paquetages installés # rpm -qa Afficher les caractéristiques d un paquetage # rpm -qpi le_paquetage.rpm Afficher les composants d un paquetage # rpm -qpl le_paquetage.rpm TSOFT - Linux Administration Module 13 : Les paquetages - 13.3 Introduction Le RPM (Red Hat Package Manager) est un système qui permet de gérer l installation ou la désinstallation d applications fournies sous forme de paquetages (package). Ce système, bien que créé par la société Red Hat, est un logiciel ouvert sous licence GPL (cf. http://www.rpm.org). Un paquetage se présente sous forme d un fichier au format RPM. Ce fichier a l extension «.rpm». Il contient les fichiers à installer, mais aussi des informations générales sur le paquetage, comme la version, la description, et le script d installation du paquetage. La gestion des paquetages est principalement réalisée par la commande rpm. Les commandes KPackage, Glint et Gnome-RPM sont des interfaces graphique à la commande rpm. Elles en simplifient l usage par la convivialité du mode graphique. Elles ne peuvent évidemment être exécutées que dans un environnement X (cf. Module 13 : X-Window). La commande rpm2cpio convertit un fichier au format rpm en un fichier au format cpio. La commande rpm La commande rpm gère les paquetages au format rpm. Syntaxe rpm -option_principale [ options_secondaires] [le_paquetage] Options Le tableau qui suit donne la liste essentielle des options «option_principale» de la commande rpm, hormis celles de construction de paquetage. Eyrolles/Tsoft Linux Administration 8-9

Option Description -i Installe un paquetage. -U Mise à jour d un paquetage. -e Désinstalle un paquetage. -q Affiche des informations sur un paquetage. L option complémentaire «- p» permet de préciser le nom d un paquetage non installé. Le nom doit alors être fourni sous la forme d une URL pour FTP. -V Vérifie un paquetage. --version --help --checking Affiche la version. Affiche les options de la commande rpm. Vérifie la signature d un paquetage. Où trouvez les paquetages? Avant d installer un paquetage, il faut récupérer le fichier.rpm correspondant. Où trouver ce fichier? Voici les principaux lieux (dépôts) où l on peut trouver un paquetage : Les cdrom d installation. Dans le cas de la distribution RedHat, ils sont sous le répertoire RedHat/RPMS de chaque cdrom. Le site officiel de la distribution. Dans le cas de la distribution RedHat, le site http://www.redhat.com. Le site officiel du logiciel considéré. Par exemple http://www.webmin.com dans le cas de l application Webmin. Le site http://rpmfind.net regroupe les paquetages disponibles pour les principales distributions. Parmi ce choix, il faut privilégier le site officiel de la distribution. Les paquetages y sont à jour et les dépendances sont résolues au sein des autres paquetages de la distribution. Ce qu il faut savoir faire Récupérer un paquetage La commande wget permet de récupérer un fichier en utilisant le protocole ftp ou httpd. On donne en argument l URL du fichier à télécharger. # wget 'http://heanet.dl.sourceforge.net/sourceforge/webadmin /webmin-1.130-1.noarch.rpm' Installer un paquetage # cd /mnt/cdrom/redhat/rpms # le répertoire où réside les paquetages # ls *77* compat-egcs-g77-5.2-1.0.3a.1.i386.rpm make-3.77-6.i386.rpm egcs-g77-1.1.2-12.i386.rpm # rpm -i egcs-g77-1.1.2-12.i386.rpm Installer un paquetage en visualisant la progression de l'installation. # rpm -ivh webmin-1.130-1.noarch.rpm warning: webmin-1.130-1.noarch.rpm: V3 DSA signature: NOKEY, key ID 11f63c51 Preparing... ########################################### [100%] 8-10 Eyrolles/Tsoft Linux Administration

1:webmin ########################################### [100%] Webmin install complete. You can now login to http://carapuce.pokemon:10000/ as root with your root password. Mettre un jour un paquetage ou l installer si il ne l était pas # rpm -Uvh egcs-g77*.rpm Est-ce qu un paquetage est installé? # rpm -qa grep egcs-g77 egcs-g77-1.1.2-12 Désinstaller un paquetage # rpm -e egcs-g77-1.1.2-12 Visualiser les caractéristiques d un paquetage déjà installé # rpm -qi egcs-g77 Name : egcs-g77 Relocations: (not relocateable) Version : 1.1.2 Vendor: Red Hat Software Release : 12 Build Date: dim 21 mar 1999 22:41:39 CET Install date: sam 16 oct 1999 12:37:34 CEST Build Host: porky.devel.redhat.com Group : Development/Languages Source RPM: egcs-1.1.2-12.src.rpm Size : 4742626 License: GPL Packager : Red Hat Software http://developer.redhat.com/bugzilla/ URL : http://egcs.cygnus.com/ Summary : Fortran 77 support for the gcc compiler. Description : The egcs-g77 package provides support for compiling Fortran 77 programs with the GNU gcc compiler. You should install egcs-g77 if you are going to do Fortran development and you would like to use the gcc compiler. You will also need to install the gcc package. Visualiser les caractéristiques d un paquetage non encore installé # rpm -qpi egcs-g77*.rpm Connaître le paquetage d origine d un fichier # rpm -qf /usr/sbin/pwconv shadow-utils-980403-12 Connaître la liste des fichiers, composants d un paquetage # rpm -qpl egcs-g77*.rpm /usr/bin/f77 /usr/bin/g77 /usr/info/g77.info.gz /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/f771 /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/g2c.h /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/libg2c.a /usr/man/man1/f77.1 /usr/man/man1/g77.1 Pour aller plus loin Connaître la liste des paquetages installés # rpm -qa more yp-tools-2.2-1 Eyrolles/Tsoft Linux Administration 8-11

ypbind-3.3-20 zlib-1.1.3-5 zlib-devel-1.1.3-5 XFree86-SVGA-3.3.3.1-49 XFree86-VGA16-3.3.3.1-49 XFree86-Mach32-3.3.3.1-49 XFree86-Mach64-3.3.3.1-49 XFree86-AGX-3.3.3.1-49 egcs-g77-1.1.2-12 Installer un paquetage stocké sur une autre machine (via FTP) # rpm -i ftp://venus/rpms/le_package.rpm Forcer l installation si le paquetage est déjà installé ou dépend d autres paquetages # rpm -ivh --nodeps --force egcs-g77*.rpm Connaître les dépendances d un paquetage (-R ou --requires) # rpm -qr egcs-g77 egcs = 1.1.2 /sbin/install-info /bin/sh ld-linux.so.2 libc.so.6 libc.so.6(glibc_2.0) libc.so.6(glibc_2.1) Connaître les versions d un paquetage, du gestionnaire rpm # file egcs-g77*.rpm egcs-g77-1.1.2-12.i386.rpm: RPM v3 bin egcs-g77-1.1.2-12 # rpm --version RPM version 3.0 Afficher les scripts qui seront déclenchés automatiquement # rpm -q --scripts pdksh postinstall script (through /bin/sh): if [! -f /etc/shells ]; then echo "/bin/ksh" > /etc/shells else if! grep '^/bin/ksh$' /etc/shells > /dev/null; then echo "/bin/ksh" >> /etc/shells fi fi postuninstall script (through /bin/sh): if [! -f /bin/ksh ]; then grep -v /bin/ksh /etc/shells > /etc/shells.new mv /etc/shells.new /etc/shells fi Afficher les caractéristiques des fichiers : chemin, taille, date de modification et signature md5 # rpm -q -l --dump -p egcs-g77*.rpm /usr/bin/f77 3 922052494 0120777 root root 0 0 0 g77 /usr/bin/g77 68640 922052491 815e6c0fbd6de5459ecfc697fb203ae9 0100755 root oot 0 0 0 X /usr/info/g77.info.gz 265867 922052444 8-12 Eyrolles/Tsoft Linux Administration

c2bbbe856c529e09d52be1e7c9aac694 100644 root root 0 1 0 X /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/f771 1881484 922052491 cc0e0f0993ef948a34eaf946058d05f2 0100755 root root 0 0 0 X /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/g2c.h 5614 922052489 26ccd6b28810977b3b0a5b53c1527965 0100644 root root 0 0 0 X /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/libg2c.a 2511742 922052489 9f78549164e2e0aa0b16edc6811f006f 0100644 root root 0 0 0 X /usr/man/man1/f77.1 5 922052494 0120777 root root 0 1 0 g77.1 /usr/man/man1/g77.1 9271 922052439 c73cdd2b562212d0e720526ac277070d 0100644 root root 0 1 0 X Vérifier un paquetage (cf. l'option --dump ci-dessus) # rpm -V egcs-g77 # ls -l /usr/man/man1/f77.1g -rw-r--r-- 1 root root 9271 Mar 21 1999 /usr/man/man1/g77.1 # chmod g+w /usr/man/man1/g77.1 # rpm -V egcs-g77.m... /usr/man/man1/g77.1 Afficher la liste des fichiers de documentation d un paquetage # rpm -q -d egcs-g77 /usr/info/g77.info.gz /usr/man/man1/f77.1 /usr/man/man1/g77.1 Vérifier l ensemble des paquetages installés # rpm Va Vérifier la signature d un fichier paquetage On peut vérifier, avec l option checksig, si un fichier paquetage a été modifié. La commande rpm recalcule la somme MD5 et la compare avec celle incluse dans le paquetage. # rpm --checksig --nopgp egcs-g77*.rpm egcs-g77-1.1.2-12.i386.rpm: size md5 OK Si l on a installé GPG, on peut se prémunir contre les chevaux de Troie. Il faut d abord installer la clé publique associée au logiciel ou à la distribution. Dans l exemple suivant, on installe la clé de la distribution Fedora, elle se trouve à la racine du premier CD- ROM. On peut également la télécharger à partir du site RedHat. Ensuite, grâce à l option --checksig, on vérifie la signature numérique du fichier RPM. # rpm --import RPM-GPG-KEY-fedora # rpm --checksig cpio-2.5-5.i386.rpm cpio-2.5-5.i386.rpm: (sha1) dsa sha1 md5 gpg OK La base de données des RPM La commande rpm gère une base de données où elle conserve les informations concernant les paquetages installés. Cette base est répartie dans un ensemble de fichiers présents dans le répertoire /var/lib/rpm. Il est important de sauvegarder cette base. En effet, si elle est altérée, l ajout ou le retrait de logiciels n est plus possible. Réparer la base RPM Dans certains cas, on est obligé de tuer une tâche rpm. Redémarrer le système suffit le plus souvent à régler les problèmes. On peut être parfois amené à réparer la base. Il faut supprimer les fichiers DBM et les reconstruire grâce à la commande rpm. # rm f /var/lib/rpm/--db* Eyrolles/Tsoft Linux Administration 8-13

Références # rpm vv -rebuilddb Certaines erreurs ne peuvent être réparées de cette manière. Nous renvoyons le lecteur à une recherche sur Internet pour trouver les astuces permettant de solutionner ses problèmes. La sauvegarde régulière de cette base est évidemment la meilleure des préventions. Man rpm(8), rpm2cpio(8), rpmbuild(8) Internet Le site officiel du logiciel RPM http://www.rpm.org Rpmfind.net, le principal site où l on trouve tout type de rpm http://rpmfind.net Howto RPM-HOWTO 8-14 Eyrolles/Tsoft Linux Administration

Les paquetages debian Les paquetages Debian La commande dpkg Liste de paquetages installés # dpkg -l Lister les fichiers d un paquetage # dpkg L adduser La commande apt-get Mettre à jour la liste des paquetages disponibles # apt-get update Installer un paquetage # apt-get install adduser Rechercher un paquetage # apt-cache search chess TSOFT - Linux Administration Module 13 : Les paquetages - 13.4 Introduction Les paquetages Debian sont, avec les RPM, les paquetages les plus utilisés par les systèmes Linux. Outre Debian, d autres distributions comme Knoppix les utilisent. La facilité de mise à jour en réseau grâce à la commande apt-get les a rendu populaires. Les paquetages debian Un paquetage Debian est un fichier qui contient les fichiers d une application et les données nécessaires à son installation. Il y a deux types de paquetages : les paquetages sources et les paquetages binaires. Ces derniers sont directement installables. Ils ont l extension «.deb». Les paquetages sources sont composés de plusieurs fichiers dont les fichiers de contrôle qui possèdent l extension «.dsc». Le nom d un paquetage suit une logique rigoureuse. L exemple suivant ethtool-1.8-2.deb désigne la deuxième version (2) du paquetage (.deb) de la version 1.8 du logiciel ethtool. Les commandes de gestions de paquetage dpkg C est la commande de gestion de paquetage de bas-niveau en mode ligne de commande. Elle est similaire à la commande rpm. Elle permet l installation d un paquetage, sa désinstallation, Eyrolles/Tsoft Linux Administration 8-15

apt-get C est une commande haut-niveau en mode ligne de commande qui est une interface à la commande dpkg. L utilisateur précise le logiciel à installer et la commande le recherche toute seule à partir de différentes sources configurées au préalable. dselect Cette commande de gestion de paquetage fonctionne en mode texte plein écran. Elle est utilisée lors de l installation du système Debian. C est une interface à la commande apt-get. Elle liste les paquetages installés et disponibles. Son utilisation est complexe. tasksel Cette commande en mode texte plein écran peut-être utilisée en complément ou en alternative à dselect lors de l installation du système. Elle permet l installation de grand groupes de logiciels (l interface X, KDE, l environnement C/C++, ). Son utilisation est élémentaire. Les distributions Debian Les différentes distributions Les distributions Debian se répartissent en fonction de la stabilité des logiciels : Stable Les logiciels de la distribution Stable sont tout à fait testés. S ils sont modifiés, c est principalement pour corriger des problèmes liés à la sécurité. Frozen La distribution antérieurement en état «testing» est «gelée» (frozen). Plus aucun ajout n est effectué. Après une nouvelle phase de tests, elle deviendra la nouvelle distribution «stable». Testing Les logiciels en état testing fonctionnent mais sont toujours en phase de test. Aucun effort particulier lié à la sécurité n est effectué. Unstable Les logiciels en état unstable correspondent aux versions les plus récentes. Après la correction des principaux bugs, ils peuvent passer dans la zone «Testing». Les noms de codes Chaque distribution Debian (stable, testing, ) se voit attribuer un nom de code : «potato», «woody», «sid» Avec le temps, (après moult correctifs) une distribution évolue de unstable en testing et enfin en stable. Durant ces évolutions, son nom de code est conservé. Il y a une exception, le nom sid désigne toujours la distribution unstable courante. Actuellement la distribution stable a pour nom de code «woody» (Debian version 3). L ancienne version, Debian version 2.2, avait pour nom de code «potato». La prochaine version, actuellement en état «testing», a pour nom de code «sarge». La version en état «unstable» a pour nom de code «sid». Les distributions et les licences Chaque distribution Debian (stable, testing, ) est divisée en plusieurs composants basés sur le type de licence : Main Contient uniquement des logiciels libres, elle constitue la distribution officielle Debian. 8-16 Eyrolles/Tsoft Linux Administration

Contrib Les logiciels sont libres mais dépendent des paquetages qui ne le sont pas. Non-Free Les logiciels sont soit payant soit possédant des licences très restrictives. Non-US/Main Contient uniquement des logiciels libres mais qui ne peuvent être téléchargés à partir des Etats-Unis comme par exemple des logiciels cryptographiques. Non-US/Non-Free Contient des logiciels soit payant soit possédant des licences très restrictives. Ces logiciels ne peuvent être téléchargé à partir des Etats-Unis. L organisation d une archive Debian Un site FTP ou un CD-ROM Debian est composé d une hiérarchie de répertoires qui reflète les différentes distributions et leurs sections. La racine est le répertoire./debian, le sous-répertoire dists contient l arborescence des distributions et le sous-répertoire pool contient l arborescence des paquetages. Dans le répertoire dists, il y a un sous-répertoire par distribution (stable, testing, ). Les archives comportent également des répertoires associés aux noms de codes, mais ce sont en fait des liens symboliques vers les différentes distributions. Chaque sections (main, contrib, ) est composé notamment des répertoires suivant :./binary-i386/ Contient les binaires spécifiques d une plate-forme../source/ Contient les sources. Un répertoire binary* contient essentiellement le fichier Paquetage.gz qui décrit les paquetages de la distribution ainsi que leur emplacement à partir de la racine de l archive. Les fichiers paquetages eux, sont habituellement dans l arborescence pool. Ce répertoire contient un sous-répertoire par distribution (main, ). Ces répertoires contiennent un répertoire par application. Ces répertoires sont répartis chacun dans un répertoire qui reprend l initiale du nom du logiciel, par exemple nessus est dans le répertoire. /n. Enfin le répertoire associé à une application contient les fichiers paquetages (.deb). Exemples de chemin :./debian/dists/stable/main/binary-i386/packages./debian/pool/main/a/adduser/adduser*.deb La commande dpkg La commande dpkg est l outil de bas niveau des paquetages Debian. On l utilisera exceptionnellement pour installer un paquetage. On lui préfère apt-get. Cette dernière n est en fait qu une interface de haut niveau et fait donc appel à dpkg. On utilise principalement dpkg pour afficher des informations sur un paquetage (liste des fichiers, dépendances ). Exemples Afficher l aide en ligne (-h ou --help). # dpkg h more Installer un paquetage (-i ou--install). # dpkg i adduser-3.11-1.deb Eyrolles/Tsoft Linux Administration 8-17

Supprimer un paquetage (-r ou --remove). # dpkg r adduser Lister les paquetages installés (-l ou --list). # dpkg l more # dpkg l \* more # dpkg -l head Desired=Unknown/Install/Remove/Purge/Hold Status=Not/Installed/Config-files/Unpacked/Failed-config/Halfinstalled / Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) / Name Version Description +++-==============-==============- ======================================= ii adduser 3.47 Add and remove users and groups ii afio 2.4.7-3 Archive file manipulation program. ii apt 0.5.4 Advanced front-end for dpkg ii apt-utils 0.5.4 APT utility programs ii at 3.1.8-11 Delayed job execution and batch processing # Est-ce q un paquetage particulier est installé? # dpkg l grep adduser # dpkg l *user Visualiser les caractéristiques d un paquetage (-s ou --status). # dpkg -s adduser Package: adduser Status: install ok installed Priority: important Section: base Installed-Size: 408 Maintainer: Roland Bauerschmidt <rb@debian.org> Version: 3.47 Depends: perl-base (>= 5.6.0), passwd (>= 961025), debconf Suggests: liblocale-gettext-perl, perl-modules Conffiles: /etc/deluser.conf bf73b4e76066381cd3caf80369ce1d0e Description: Add and remove users and groups This package includes the adduser and deluser commands for creating and removing users.. o Adduser can create new users and groups and add existing users to existing groups. o Deluser can remove users and groups and remove users from a given group.. Adding users with adduser is much easier than adding them by hand. Adduser will choose appropriate UID and GID values, create a home directory, copy skeletal user configuration, allow you to set an initial password and the GECOS field.. Deluser can optionally remove and backup the user's home directory and mail spool or all files on the system owned by him.. 8-18 Eyrolles/Tsoft Linux Administration

Optionally a custom script can be executed after each of the commands. Lister les fichiers composants un paquetage (-L ou listfiles). # dpkg -L adduser head /. /etc /etc/deluser.conf /usr /usr/sbin /usr/sbin/adduser /usr/sbin/deluser /usr/share /usr/share/doc /usr/share/doc/adduser Rechercher l appartenance d un fichier à un paquetage (-S ou --search). # dpkg -S /usr/sbin/deluser adduser: /usr/sbin/deluser Lister les paquetages partiellement installés (-C ou --audit). # dpkg -C Visualiser les caractéristiques d un paquetage non-installé (-I --info). # dpkg-deb I adduser*.deb Visualiser les fichiers composants un paquetage non-installé (-c ou --contents). # dpkg-deb c adduser*.deb Afficher les informations concernant la licence d un paquetage non-installé. # dpkg-deb --licence adduser*.deb L environnement APT Introduction L environnement APT (Advanced Packaging Tool) offre à l administrateur une solution simple à la gestion des paquetages. L installation d un paquetage est triviale : les dépendances et les conflits sont résolues automatiquement. De même, l emplacement du paquetage n a pas être précisé. Les commandes apt-get C est la commande principale de gestion de paquetage. apt-cdrom Met à jour la liste des paquetages disponibles stockés sur un cdrom. apt-cache Manipule le cache d APT. dselect Commande de haut-niveau interface à apt-get. Malheureusement assez complexe. Le fichier sources.list Le fichier /etc/apt/sources.list contient les emplacements où sont recherché les paquetages à installer. Chaque ligne a la forme suivante : (deb deb-src ) <URL> <distribution> {<composant>} <URL> ::= protocole://<hote>/<chemin> <protocole> ::= cdrom file http ftp rsync nfs <distribution> ::= stable testing unstable frozen <composant> ::= main contrib non-free non-us/main non-us/contrib Eyrolles/Tsoft Linux Administration 8-19