Академический Документы
Профессиональный Документы
Культура Документы
Linux
Groupe Eyrolles 2007, ISBN : 978-2-212-12074-5
E Y R O L L E S
Administration
Les tar ball Les paquetages ( packages )rpm La commande en mode texte rpm . Les paquetages debian
Contenu
Sources et paquetages Les paquetages RedHat (RPM) Les paquetages Debian Mises jour et dpendances
Rfrences
Le manuel : rpm(8), dpkg(8), apt-get(8) Internet : http://rpmfind.net http://www.debian.org/distrib/packages
8-1
Sources et paquetages
Sources et paquetages
Installation dapplication partir des sources Tarball # tar xvzf logiciel.tar.gz # cd logiciel ; ./configure # make ; make install Patch # gunzip c patch.gz | patch p0 CVS Installation dapplication sous forme de paquetages Les paquetages RedHat (RPM) Les paquetages Debian
Introduction
Linstallation dune application sur un systme Linux peut tre accompli essentiellement de deux manires :
Soit partir des sources. Il faut donc compiler lapplication. Soit partir dun paquetage contenant les binaires de lapplication.
Remarque Pour la petite histoire, il faut mentionner que lon peut manipuler des paquetages contenant les sources et que la distribution Gentoo est entirement base sur linstallation de paquetages sources. Chaque mthode a ses avantages et ses inconvnients : Linstallation partir des sources permet de rcuprer la dernire version dun logiciel. La compilation permet galement dadapter le logiciel sa plateforme et ainsi de le rendre plus performant. Certaines options dutilisation ne sont permises que grce la recompilation. Enfin, certains logiciels nexistent pas sous forme de paquetages. Linstallation dune application sous forme de paquetage simplifie normment le travail de ladministrateur. Elle peut mme quelque fois se rsumez une simple commande ou lappui sur un bouton. Une application peut dpendre dautres logiciels. La manipulation de la version paquetage permet au moins la connaissance des paquetages requis et ventuellement, par un processus rcursif, linstallation de ces applications. En conclusion, lutilisation de paquetage est la solution logique pour installer une application, il faut la privilgier. Linstallation partir des sources sera rserve seulement pour la principale application fonctionnant sur son systme. Les avantages
8-2 Eyrolles/Tsoft Linux Administration
CVS, un systme complet de suivi de versions dun logiciel. Le patch, un fichier renfermant les diffrences avec la dernire version.
tarball
Le format traditionnel dune application obtenue partir dInternet, dun CD-ROM, ... est le tarball. Un fichier tarball est tout simplement un fichier tar compress. Ce fichier contient tous les composants de lapplication : les excutables, les bibliothques, les fichiers de configuration, la documentation, des fichiers de donnes, des exemples On trouve aussi sur larchive des fichiers qui permettent de raliser linstallation : README, copyright, Makefile, install.sh. Il faut dabord lire le fichier README qui contient des informations souvent essentielles. Il dcrit le logiciel et la marche suivre pour raliser linstallation. 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 dveloppeur suit ses propres conventions et les noms des fichiers et des procdures dinstallation varient dune personne une autre.
La commande make Cette commande est essentielle dans la production de logiciel. Elle se base sur un fichier, le Makefile, qui dcrit toutes les oprations effectuer pour crer une application. Ce sont essentiellement des compilations qui sont excutes par un makefile, mais tout ce qui concourt ldification dun logiciel peut tre utilis. Lintrt majeur de la commande make rside dans le fait quelle naccomplit, du makefile, que les oprations ncessaires en se basant sur les dates de dernire modification des fichiers. Dans lexemple qui suit, on utilise un fichier Makefile pour construire lapplication dcrite dans le chapitre concernant les bibliothques 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
8-3
Paquetage GNU
Un paquetage GNU est en fait un tarball. La procdure dinstallation suit toujours les mmes tapes : - rcupration du tarball - dcompression avec loutil gzip du GNU - restauration avec tar - dplacement dans le rpertoire principal cr ltape prcdente - activation du script shell configure - compilation de lapplication via la commande make - installation du logiciel via la commande make install Lexcution du script configure est ltape essentielle de lopration. Linstallateur la cr avec loutil GNU autoconf. Il gnre le fichier Makefile qui permet la compilation du produit avec, comme intrt majeur, de fabriquer un Makefile spcifique de la plate-forme. Il prend en compte les outils de dveloppement installs (ld, as, ar, m4, make, lex, yacc...), leur emplacement, les options de compilation lies larchitecture matrielle, lemplacement des fichiers et des commandes Le mme tarball peut tre utilis pour les diffrentes plates-formes UNIX existantes et pour les diffrentes distributions Linux. La portabilit UNIX, dans ce cas, nest pas un vain mot.
Syntaxe dutilisation dun script configure Un script configure peut tre activ avec des options qui prcisent notamment lemplacement des fichiers, ou bien le comportement du logiciel. Nous mentionnons quelques options dinstallation dApache. --help : affiche la liste de toutes les directives de configuration, et la liste des modules disponibles et leur tat dinclusion. --quiet : mode silencieux. --verbose : mode verbeux. --show-layout : affiche les emplacements utiliss. --prefix=/usr/httpd : spcifie la racine dinstallation, par dfaut /usr/local/apache. --enable-shared=max : Apache utilise ldition de liens dynamique, par dfaut, il utilise ldition de liens statique.
8-4
Module 8 : Linstallation dapplication Exemple : linstallation dApache On prend comme exemple linstallation dApache. Elle ncessite de disposer du compilateur c. On rcupre 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' Rsolution de apache.crihan.fr... complt. Connexion vers apache.crihan.fr[195.221.21.36]:80...connect. requte HTTP transmise, en attente de la rponse...200 OK Longueur: 2,435,809 [application/x-tar] 100%[=========================>] 2,435,809 62.92K/s ETA 00:00
On le dcompresse et on le dtare :
# tar xzf apache_1.3.29.tar.gz
On compile Apache :
# make
On linstalle :
# make install
La commande patch
La commande patch, cre par Larry Wall, le concepteur de PERL, effectue la mise jour de fichiers sources rpartis dans une arborescence de fichiers. La commande applique les modifications mmorises dans un fichier cr par la commande diff -c. Cette dernire gnre les modifications quil faut apporter un fichier pour obtenir la version modifie. Contrairement la commande diff e qui cre un script ed, loption c ou u gnre une diffrence contextuelle qui prend en compte les lignes qui entourent les lignes modifies. Dans certains cas, la commande choue et le prcise avec des balises qui encadrent les zones indcises. Les mises jour de sources sont disponibles sous forme de fichiers patch compresss. Exemple simple dutilisation 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
+ Salut ... $ diff -c f1.txt f2.txt > patch.txt $ patch -p0 f1.txt < patch.txt Ressemble une opration 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 raliste : Le systme du dveloppeur possde deux arborescences, old et a_jour. Le programmeur cre le fichier patch qui permet de passer de larborescence 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
Sur le systme cible, ladministrateur rcupre le fichier patch.gz et linstalle dans son rpertoire a_jour qui correspond en fait chez le dveloppeur au rpertoire old. Grce 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 systme CVS
CVS (Concurrent Version System) est un systme de gestion de version qui peut fonctionner en rseau. Ce logiciel est libre, sous licence GPL. Il est destin remplacer RCS, pour des cas complexes. Beaucoup de logiciels libres sont dvelopps sur Internet grce CVS. Ce produit est dabord destin aux dveloppeurs. Il peut tre utilis par toute personne qui rcupre la dernire version dun logiciel ou les dernires modifications dans le cas o lon dispose dj dune version antrieure.
On se dplace dans le rpertoire 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 tlcharge les dernires modifications (ou tout le logiciel, si cest la premire fois). La commande cvs checkout va automatiquement mettre jour les fichiers (de manire 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 rpertoire source .
Les paquetages
Les paquetages GNU apportent une solution la portabilit dune application UNIX, mais elle ne rsout en rien la gestion et la mise jour dun serveur Linux comportant des dizaines dapplications et des centaines dutilitaires, de documentation, de bibliothques partages La notion de paquetage ( package ) attendu alors doit tre plus volue. Un paquetage ne doit pas seulement contenir les fichiers dune application, mais doit reposer sur un format strict qui permet sa manipulation automatique par lintermdiaire dun ensemble de commandes. On veut notamment disposer des fonctionnalits suivantes :
Installer automatiquement une application. Connatre les paquetages installs. Avoir des informations gnrales sur un paquetage. Dsinstaller un paquetage.
Eyrolles/Tsoft Linux Administration 8-7
Module 8 : Linstallation dapplication Vrifier avant linstallation les dpendances dun paquetage. Avant, durant ou aprs linstallation, connatre les conflits associs linstallation dun paquetage. Vrifier la bonne installation dun paquetage, lintgrit de ses fichiers, lauthenticit du paquetage. Mettre jour un paquetage. Connatre les composants du paquetage. Cette liste nest pas exhaustive, elle ne fait que mettre en exergue quelques intrts marquants des paquetages. Panorama des solutions Chaque distribution Linux, dispose dun format de paquetage et de commandes permettant de grer linstallation et la dsinstallation de paquetages. Malheureusement, il nexiste pas de standard. Voici les principaux : Le systme de paquetage RedHat (RPM). Le systme de paquetage Debian. Le systme de paquetage Gentoo drivant des Portage BSD Le systme de paquetage Slackware (.tgz). Le systme RPM est le plus rpandu, il est utilis notamment par les distributions RedHat, Fedora, Mandrake, SuSE, Connectiva, YellowDog, PLD, Maindeinlinux, Les RPM et les paquetages Debian font chacun lobjet dun chapitre complet. Mise jour et dpendances A lusage, le problme majeur de lutilisation des paquetages est la rsolution des dpendances. Le systme Debian fut le premier le rsoudre avec son architecture APT. Actuellement, les systmes bass sur les RPM offrent des solutions comparables. Le chapitre Mise jour et dpendances traite de ce sujet.
Rfrences
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
Introduction
Le RPM (Red Hat Package Manager) est un systme qui permet de grer linstallation ou la dsinstallation dapplications fournies sous forme de paquetages (package). Ce systme, bien que cr par la socit Red Hat, est un logiciel ouvert sous licence GPL (cf. http://www.rpm.org). Un paquetage se prsente sous forme dun fichier au format RPM. Ce fichier a lextension .rpm . Il contient les fichiers installer, mais aussi des informations gnrales sur le paquetage, comme la version, la description, et le script dinstallation du paquetage. La gestion des paquetages est principalement ralise par la commande rpm. Les commandes KPackage, Glint et Gnome-RPM sont des interfaces graphique la commande rpm. Elles en simplifient lusage par la convivialit du mode graphique. Elles ne peuvent videmment tre excutes 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 gre 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.
8-9
Les cdrom dinstallation. Dans le cas de la distribution RedHat, ils sont sous le rpertoire 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 considr. Par exemple http://www.webmin.com dans le cas de lapplication Webmin. Le site http://rpmfind.net regroupe les paquetages disponibles pour les principales distributions. Parmi ce choix, il faut privilgier le site officiel de la distribution. Les paquetages y sont jour et les dpendances sont rsolues au sein des autres paquetages de la distribution.
Installer un paquetage
# cd /mnt/cdrom/RedHat/RPMS # le rpertoire o rside 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
Dsinstaller un paquetage
# rpm -e egcs-g77-1.1.2-12
Afficher les caractristiques 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
1999 /usr/man/man1/g77.1
Vrifier la signature dun fichier paquetage On peut vrifier, avec loption 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 lon a install GPG, on peut se prmunir contre les chevaux de Troie. Il faut dabord installer la cl publique associe au logiciel ou la distribution. Dans lexemple suivant, on installe la cl de la distribution Fedora, elle se trouve la racine du premier CDROM. On peut galement la tlcharger partir du site RedHat. Ensuite, grce loption --checksig, on vrifie la signature numrique 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
Rparer la base RPM Dans certains cas, on est oblig de tuer une tche rpm. Redmarrer le systme suffit le plus souvent rgler les problmes. On peut tre parfois amen rparer la base. Il faut supprimer les fichiers DBM et les reconstruire grce la commande rpm.
# rm f /var/lib/rpm/--db* Eyrolles/Tsoft Linux Administration 8-13
Certaines erreurs ne peuvent tre rpares de cette manire. Nous renvoyons le lecteur une recherche sur Internet pour trouver les astuces permettant de solutionner ses problmes. La sauvegarde rgulire de cette base est videmment la meilleure des prventions.
Rfrences
Man rpm(8), rpm2cpio(8), rpmbuild(8) Internet Le site officiel du logiciel RPM http://www.rpm.org Rpmfind.net, le principal site o lon trouve tout type de rpm http://rpmfind.net Howto RPM-HOWTO
8-14
Introduction
Les paquetages Debian sont, avec les RPM, les paquetages les plus utiliss par les systmes Linux. Outre Debian, dautres distributions comme Knoppix les utilisent. La facilit de mise jour en rseau grce la commande apt-get les a rendu populaires.
8-15
Module 8 : Linstallation dapplication apt-get Cest une commande haut-niveau en mode ligne de commande qui est une interface la commande dpkg. Lutilisateur prcise le logiciel installer et la commande le recherche toute seule partir de diffrentes sources configures au pralable. dselect Cette commande de gestion de paquetage fonctionne en mode texte plein cran. Elle est utilise lors de linstallation du systme Debian. Cest une interface la commande apt-get. Elle liste les paquetages installs et disponibles. Son utilisation est complexe. tasksel Cette commande en mode texte plein cran peut-tre utilise en complment ou en alternative dselect lors de linstallation du systme. Elle permet linstallation de grand groupes de logiciels (linterface X, KDE, lenvironnement C/C++, ). Son utilisation est lmentaire.
Les noms de codes Chaque distribution Debian (stable, testing, ) se voit attribuer un nom de code : potato , woody , sid Avec le temps, (aprs 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 dsigne toujours la distribution unstable courante. Actuellement la distribution stable a pour nom de code woody (Debian version 3). Lancienne 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 divise en plusieurs composants bass sur le type de licence :
Main Contient uniquement des logiciels libres, elle constitue la distribution officielle Debian.
8-16 Eyrolles/Tsoft Linux Administration
Lorganisation dune archive Debian Un site FTP ou un CD-ROM Debian est compos dune hirarchie de rpertoires qui reflte les diffrentes distributions et leurs sections. La racine est le rpertoire ./debian, le sous-rpertoire dists contient larborescence des distributions et le sous-rpertoire pool contient larborescence des paquetages. Dans le rpertoire dists, il y a un sous-rpertoire par distribution (stable, testing, ). Les archives comportent galement des rpertoires associs aux noms de codes, mais ce sont en fait des liens symboliques vers les diffrentes distributions. Chaque sections (main, contrib, ) est compos notamment des rpertoires suivant : ./binary-i386/ Contient les binaires spcifiques dune plate-forme. ./source/ Contient les sources. Un rpertoire binary* contient essentiellement le fichier Paquetage.gz qui dcrit les paquetages de la distribution ainsi que leur emplacement partir de la racine de larchive. Les fichiers paquetages eux, sont habituellement dans larborescence pool. Ce rpertoire contient un sous-rpertoire par distribution (main, ). Ces rpertoires contiennent un rpertoire par application. Ces rpertoires sont rpartis chacun dans un rpertoire qui reprend linitiale du nom du logiciel, par exemple nessus est dans le rpertoire. /n. Enfin le rpertoire 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 loutil de bas niveau des paquetages Debian. On lutilisera exceptionnellement pour installer un paquetage. On lui prfre apt-get. Cette dernire nest en fait quune interface de haut niveau et fait donc appel dpkg. On utilise principalement dpkg pour afficher des informations sur un paquetage (liste des fichiers, dpendances).
Exemples
Afficher laide en ligne (-h ou --help).
# dpkg h |more
8-17
8-18
Lenvironnement APT
Introduction Lenvironnement APT (Advanced Packaging Tool) offre ladministrateur une solution simple la gestion des paquetages. Linstallation dun paquetage est triviale : les dpendances et les conflits sont rsolues automatiquement. De mme, lemplacement du paquetage na pas tre prcis. Les commandes apt-get Cest la commande principale de gestion de paquetage. apt-cdrom Met jour la liste des paquetages disponibles stocks sur un cdrom. apt-cache Manipule le cache dAPT. 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
Exemples
Mettre jour les informations concernant les paquetages disponibles. Cette opration est un pralable aux actions suivantes (installation, mise jour, ). Elle doit tre accomplit rgulirement.
# apt-get update
Mettre jour le systme par rapport rapport la dernire release. Visualiser lemplacement dun paquetage.
# apt-get --print-uris install adduser
Supprimer un paquetage et ses fichiers de configuration. Les paquetages dpendants seront galement supprims.
# apt-get --purge remove adduser
Ajouter un cd-rom spcifique la liste des emplacements de paquetage (au lieu dutiliser le rseau).
8-20 Eyrolles/Tsoft Linux Administration
Supprime les lments prsents dans le cache (par exemple les fichiers paquetages rcemment installs).
# apt-get clean
Rfrences
Man apt-get(8), dselect(8), dpkg(8), apt-get-cache(8), apt-cdrom(8), dpkg-deb(8), deb(5), sources.list(5). Internet Rechercher des paquetages Debian : http://www.debian.org/distrib/packages APT-HOWTO : http://www.debian.org/doc/manuals/apt-howto/ Liste des mirroirs Debian : http://www.debian.org/mirror/mirrors_full Manuel expliquant lutilisation de la commande dselect : http://www.debian.org/doc/manuals/dselect-beginner/ Manuel expliquant comment crer un dpt Debian : http://www.debian.org/doc/manuals/repository-howto/repository-howto.html
8-21
Introduction
Linstallation dun paquetage choue si ce dernier ncessite la prsence dautres paquetages. Cest le grave problme de la gestion des dpendances. Dautre part, toujours lors de linstallation ou de la mise jour dun paquetage, il faut dabord rcuprer les fichiers paquetages avant de les installer. Dans un monde idal, ces diffrentes oprations, recherche des paquetages disponibles, tlchargement et installation du paquetage ainsi que des paquetages dpendants, devraient seffectuer de manire transparente. Le systme APT de la distribution Debian fut le premier rgler ces problmes. Maintenant, pour chaque distribution, il existe des systmes similaires. Lobjet du prsent chapitre est de vous les prsenter, principalement Urpmi, Yum et Apt4rpm. Loutil APT ayant dj t tudi.
Panorama des solutions Apt Outil de Debian, repose sur les paquetages Debian (.deb). Urpmi Yum Apt4rpm Up2date Emerge
Outil de Mandrake, repose sur le systme RPM. Outil de Yellowdogs, sapplique aux distributions base de RPM. Outil de Connectiva, cest une adaptation de APT aux RPM. Outil de RedHat destin aux versions commerciales. Outil de Gentoo, cest une adaptation du systme Portage de BSD. Les paquetages sont sous forme de source. Linstallation provoque leur compilation.
Urpmi
Loutil Urpmi de Mandrake est un logiciel libre (GPL) qui facilite linstallation et la configuration des paquetages RPM principalement en rsolvant les dpendances. Loutil
8-22 Eyrolles/Tsoft Linux Administration
Fichiers /etc/urpmi/urpmi.cfg Contient la description des dpts de paquetages. /var/li/urpli/list.* Liste des paquetages connus dUrpmi. Il y a une liste par dpt (medium dans le jargon Mandrake). Exemples
Rechercher le nom dun paquetage
# urpmq ksh Les paquetages suivants contiennent ksh : kdegraphics-kuickshow libkdegraphics0-kuickshow pdksh
Mettre jour lensemble des paquetages installs Attention : lopration peut tre longue !
# urpmi --auto --auto-select tout est dj install
8-23
Yum
Loutil Yum (Yellowdog Updater Modified) gre automatiquement les mises jour des logiciels des distributions Linux bases sur les RPM. Comme Apt ou Urpmi, il gre les dpendances des paquetages. Yum est un logiciel libre (GPL) cre par des dveloppeurs de la distribution Yellowgdog. Il est disponible en standard et prt lemploi dans la distribution Fedora. La commande principale est yum. Elle sert installer, dsinstaller, rechercher un paquetage, etc. A chaque fois que lon active, elle vrifie si sa base est jour. Si elle ne lest pas, le logiciel tlcharge la description des nouveaux paquetages disponibles
Rechercher un paquetage
# yum search ksh Gathering header information file(s) from server(s) Server: Fedora Core 1 - i386 - Base Server: Fedora Core 1 - i386 - Released Updates Finding updated packages Downloading needed headers Looking in available packages for a providing package Available package: zsh.i386 0:4.0.7-1.1 from base matches with Shell semblable ksh, mais avec des amliorations. Available package: pdksh.i386 0:5.2.14-23 from base matches with Clone du domaine public du shell Korn (ksh). Available package: pdksh.i386 0:5.2.14-23 from base matches with pdksh 3 results returned Looking in installed packages for a providing package No packages found # yum C search ksh # la recherche se fait partir du cache
Installer un paquetage
# yum install pdksh Gathering header information file(s) from server(s) Server: Fedora Core 1 - i386 - Base Server: Fedora Core 1 - i386 - Released Updates Finding updated packages Downloading needed headers Resolving dependencies Dependencies resolved I will do the following: [install: pdksh 5.2.14-23.i386] Is this ok [y/N]: y Getting pdksh-5.2.14-23.i386.rpm pdksh-5.2.14-23.i386.rpm 100% |===================| 180 kB 00:05 Running test transaction: Test transaction complete, Success! pdksh 100 % done 1/1 8-24 Eyrolles/Tsoft Linux Administration
Supprimer un paquetage
# yum remove pdksh ... Resolving dependencies Dependencies resolved I will do the following: [erase: pdksh 5.2.14-23.i386] Is this ok [y/N]: y Running test transaction: Test transaction complete, Success! Erasing: pdksh 1/1 Erased: pdksh 5.2.14-23.i386 Transaction(s) Complete
Nettoyer le cache
# yum clean ... Cleaning packages and old headers
8-25
Apt4rpm
Apt4rpm est une adaptation du logiciel APT de la distribution Debian, pour les distributions bass sur les RPM de RedHat. Ce logiciel libre a t dvelopp par lquipe de la distribution Connectiva.
SuSE Lexemple qui suit est adapt une distribution SuSE 9.0.
# more /etc/apt/sources.list rpm ftp://ftp.gwdg.de/pub/linux/suse/apt SuSE/9.0-i386 susepeople base update-prpm update kde gnome2 xfree86 mozilla suser-rbos usr-local-bin suser-kpietrz suser-tcousin suser-scorot suser-sbarnin suser-ollakka funktronics packman packman-i686 wine suse-projects kdeunstable security-prpm security rpm-src ftp://ftp.gwdg.de/pub/linux/suse/apt SuSE/9.0-i386 susepeople base update-prpm update kde gnome2 xfree86 mozilla suser-rbos usr-local-bin suser-kpietrz suser-tcousin suser-scorot suser-sbarnin suser-ollakka funktronics packman packman-i686 wine suse-projects kdeunstable security-prpm security
Exemples
Mettre jour la liste des paquetages disponibles
# apt-get update Get:1 http://ayo.freshrpms.net redhat/9/i386 release [1170B] Fetched 1170B in 0s (1568B/s) Get:1 http://ayo.freshrpms.net redhat/9/i386/os pkglist [1357kB] Get:2 http://ayo.freshrpms.net redhat/9/i386/os release [140B] 8-26 Eyrolles/Tsoft Linux Administration
Rechercher un paquetage
# apt-cache search ksh kdegames - K Desktop Environment - Games pdksh - A public domain clone of the Korn shell (ksh). tora - A GUI-based database development program. zsh - A shell similar to ksh, but with improvements. bash - The GNU Bourne Again shell (bash) version 2.05b. kdebase - K Desktop Environment - core files kdegraphics - K Desktop Environment - Graphics Applications postgresql-tcl - A Tcl client library for PostgreSQL.
Rfrences
Man Urpmi urpmi(8), urpme(8), urpmi.addmedia(8), urpmi.update(8), urpmi.removemedia(8), gurpmi(8), urpmf(8), urpmq(8), rpmdrake(8) Internet Urpmi Une introduction Urpmi : http://www.linux-mandrake.com/cooker/urpmi.html Le site officiel de Urpmi : http://www.urpmi.org/ Howto : http://myweb.tiscali.co.uk/eggnbacon/docs/urpmi-howto/index.html Man Yum Yum(8), yum-arch(8), yum.conf(5) Internet Yum Howto : http://www.phy.duke.edu/~rgb/General/yum_HOWTO/yum_HOWTO/ Tlchargement http://apt.freshrpms.net Man apt4rpm apt-cache(8), apt-get(8), apt.conf(5), sources.list(5)
8-28
Module 8 : Linstallation dapplication Internet apt4rpm Tlchargement : http://apt.freshrpms.net Howto : http://bazar.conectiva.com.br/~godoy/apt-howto/ Dpts libres pour Redhat et Fedora : http://apt-rpm.tuxfamily.org
8-29
Dure : 25 minutes.
Exercice n1
Affichez les paquetages installs, combien sont-ils ?
Exercice n2
Affichez les paquetages du CD-ROM dinstallation, combien sont-ils ?
Exercice n3
Affichez les informations du paquetage dont la commande bash fait partie.
Exercice n4
Installez le paquetage gnuchess . Affichez sa description au pralable !
Exercice n5
Dsinstaller le paquetage gnuchess.
Exercice n6
Installez le paquetage gnuchess en utilisant un outil de type APT (urpmi, yum ou apt-get).
8-30