2. Anatomie du site FTP de Red Hat

Dans l'esprit de la communauté Linux, RedHat Software a rendu disponible ses distributions Linux pour plusieurs plateformes sur son site FTP. Elles sont toutes disponibles à partir de la racine du répertoire de distribution (pub/redhat/linux/). Jetez donc un œil sur l'arbre de la distribution.

2.1. Organisation des répertoires de la RedHat 9

La dernière distribution est, à l'heure où j'écris ces lignes, disponible uniquement pour la plateforme i386. Le répertoire de haut niveau apparaît un peu sans consistence, étant donnée la présence d'une seule architecture (pub/redhat/linux/9/en/os/).

 
        i386/
      

Autrement, le répertoire de haut niveau, pour les releases un peu plus anciennes que la 9, contient les distributions des différentes plateformes. Par exemple, le répertoire correspondant à la release 7.1 de RedHat Linux est structuré de cette façon:

 
        alpha/   i386/   ia64/   ppc/   s390x/
      

Pour une distribution RedHat 9, la racine du répertoire i386 ressemble à ce qui suit:

 
	-rwxr-xr-x    2 root     root          248 Mar 14  2003 autorun
	drwxr-xr-x    7 root     root         4096 Mar 14  2003 dosutils
	-rw-r--r--    3 root     root         6192 Mar 14  2003 EULA
	-rw-r--r--    3 root     root        18385 Mar 14  2003 GPL
	drwxr-xr-x    3 root     root         2048 Mar 14  2003 images
	drwxr-xr-x    2 root     root         2048 Mar 14  2003 isolinux
	-rw-r--r--    3 root     root         6127 Mar 14  2003 README
	-rw-r--r--    2 root     root        13052 Mar 14  2003 README-Accessibility
	-rw-r--r--    2 root     root         6686 Mar 14  2003 README.de
	-rw-r--r--    2 root     root         6990 Mar 14  2003 README.es
	-rw-r--r--    2 root     root         6492 Mar 14  2003 README.fr
	-rw-r--r--    2 root     root         6805 Mar 14  2003 README.it
	-rw-r--r--    2 root     root         7995 Mar 14  2003 README.ja
	-rw-r--r--    2 root     root         7312 Mar 14  2003 README.ko
	-rw-r--r--    2 root     root         5070 Mar 14  2003 README.pt
	-rw-r--r--    2 root     root         6613 Mar 14  2003 README.pt_BR
	-rw-r--r--    2 root     root         5879 Mar 14  2003 README.zh_CN
	-rw-r--r--    2 root     root         5892 Mar 14  2003 README.zh_TW
	drwxr-xr-x    4 root     root         2048 Mar 14  2003 RedHat
	-rw-r--r--    2 root     root        25824 Mar 14  2003 RELEASE-NOTES
	-rw-r--r--    2 root     root        29902 Mar 14  2003 RELEASE-NOTES-de.html
	-rw-r--r--    2 root     root        30409 Mar 14  2003 RELEASE-NOTES-es.html
	-rw-r--r--    2 root     root        32354 Mar 14  2003 RELEASE-NOTES-fr.html
	-rw-r--r--    2 root     root        30064 Mar 14  2003 RELEASE-NOTES.html
	-rw-r--r--    2 root     root        29925 Mar 14  2003 RELEASE-NOTES-it.html
	-rw-r--r--    2 root     root        34666 Mar 14  2003 RELEASE-NOTES-ja.html
	-rw-r--r--    2 root     root        33520 Mar 14  2003 RELEASE-NOTES-ko.html
	-rw-r--r--    2 root     root        29496 Mar 14  2003 RELEASE-NOTES-pt_BR.html
	-rw-r--r--    2 root     root        22747 Mar 14  2003 RELEASE-NOTES-pt.html
	-rw-r--r--    2 root     root        25217 Mar 14  2003 RELEASE-NOTES-zh_CN.html
	-rw-r--r--    2 root     root        26645 Mar 14  2003 RELEASE-NOTES-zh_TW.html
	-rw-r--r--    3 root     root         1910 Mar 14  2003 RPM-GPG-KEY
	-r--r--r--    1 root     root         1823 Mar 14  2003 TRANS.TBL
      

Le répertoire SRPMS contient les paquets RPMS en forme source.

Le répertoire images contient les images des disquettes de démarrage et de pilotes pouvant être copiés sur une disquette si besoin. Pour la release 9, il n'existe qu'une seule image de disque de démarrage. Cette image de démarrage est appelée boot.img. Un deuxième disque de pilotes est nécessaire en plus de la première si l'installation n'est pas exécutée à partir d'un CD-ROM ou d'un disque dur. Un fichier boot.iso a maintenant été ajouté pour démarrer une machine à partir du lecteur de CD-ROM et pour lancer une installation réseau plus facilement (c'est-à-dire sans s'embêter avec tout un tas de disquettes). Voir la section installation et les références pour plus de détails et consulter le fichier README dans le répertoire pour une explication plus détaillée des différents fichiers.

Le répertoire isolinux contient les fichiers nécessaires pour démarrer sur le CD (et pour reconstruire des CDs amorçables qui fonctionnent de la même façon). Ce processus a été modifié pour passer d'une émulation de disquette à pas d'émulation du tout. Ceci aide à éviter les contraintes d'espace et les problèmes de compatibilité.

Le répertoire dosutils contient différents programmes pour certains autres systèmes d'exploitation, qui sont parfois utiles pour le bon déroulement du processus d'installation. Un fichier README d'explications est aussi inclus dans ce cas.

La liste est complétée par un grand nombre de fichiers et le répertoire RedHat. Ce dernier est le sujet des sections suivantes alors que les précédents ont un contenu compréhensible en lisant seulement leur nom (sauf peut-être celui du EULA, ou End User License Agreement).

2.2. Le répertoire "RedHat", le cœur de la distribution

La plus importante partie de l'arbre du répertoire a sa racine dans le répertoire RedHat :

 
        drwxr-xr-x    2 root     root        53248 Jun 14 03:15 RPMS
        drwxr-xr-x    2 root     root          4096 Jun 14 04:15 base
      

Le répertoire RPMS contient la grosse partie de la distribution RedHat consistant en un ensemble de fichiers RPM (Redhat Package Manager). Un paquet RPM contient typiquement des exécutables binaires, avec les fichiers de configuration et la documentation. Voir la section les paquets RPM pour plus d'informations.

Le répertoire base contient différents fichiers nécessaires lors de l'installation, comme le fichier comps.xml, qui définit les composants (groupes de paquets) utilisés durant la phase « Choisissez les paquets à installer ». Voir la section le fichier comps pour plus d'informations sur ce fichier et pour savoir l'utiliser.

Deux autres fichiers importants dans le répertoire base sont hdlist et hdlist2 contenant la plupart des champs d'entêtes de tous les RPMs dans le répertoire RPMS. Ceci veut dire que toutes les interdépendances parmi les paquets RPM peuvent être déterminées simplement en lisant ces fichiers sans avoir à lire tous les RPM, ce qui est très appréciable spécialement lors des installations par FTP. Une autre utilisation de ces fichiers est la correspondance des noms de paquets avec ceux des fichiers (par exemple perl vers perl-5.004-6.i386.rpm). Ceci veut dire que si vous voulez inclure des mises à jour de RedHat (voir section inclure les mises à jour) ou ajouter vos propres paquets dans le répertoire RPMS, vous aurez besoin de mettre à jour hdlist et hdlist2. Ceci est décrit plus tard dans reconstruire l'installateur. En dehors de ces fichiers, on trouve les images à partir desquelles l'environnement d'installation est lancé (c'est-à-dire le noyau, l'interpréteur python, anaconda, etc.).

2.3. Le répertoire "updates"

Le répertoire /pub/redhat/linux/updates dispose des mises à jour de toutes les releases de la distribution RedHat depuis la version 3.0.3. C'est l'endroit où vous trouverez les paquets qui ont été mis à jour pour une raison ou une autre. Vous devez tout particulièrement faire attention aux mises à jour de sécurité. Elles sont affichées sur la page des erreurs de RedHat dès qu'une correction est disponible. Les fichiers les plus importants trouvés dans le répertoire updates sont :

 
        drwxrwsr-x    3 root      root          4096 Jul 13 10:13 5.2
        drwxrwsr-x    3 root      root          4096 Jul 13 10:13 6.0
        drwxrwsr-x    3 root      root          4096 Jul 13 10:13 6.1
        drwxrwsr-x    4 root      root          4096 Jul 13 10:14 6.2
        drwxrwsr-x    4 root      root          4096 Jul 13 10:14 7.0
        drwxrwsr-x    4 root      root          4096 Jul 13 10:14 7.1
        drwxrwsr-x    4 root      root          4096 Jul 13 10:13 7.2
        drwxrwsr-x    3 root      root          4096 Jul 13 10:14 7.3
        drwxrwsr-x    3 root      root          4096 Jul 13 10:14 8.0
        drwxrwsr-x    3 root      root          4096 Jul 13 10:14 9
      

La structure de chacun de ces sous-répertoires est similaire à ce qui est décrit dans la section l'organisation de la Redhat 9. Donc, pour chaque version, vous trouverez dans le sous-répertoire en/os/ une série de sous-répertoires représentant les nombreuses architectures ainsi que les sous-répertoires noarch et SRPMS, pour les paquets qui fonctionnent respectivement sur toutes les architectures ou sont sous forme de source.

 
        drwxrwsr-x    2 root      root          4096 Sep 23 05:28 SRPMS
        drwxrwsr-x    2 root      root          4096 Aug 28 18:25 athlon
        drwxrwsr-x    2 root      root          8192 Sep 23 05:28 i386
        drwxrwsr-x    2 root      root          4096 Jul 13 10:14 i486
        drwxrwsr-x    2 root      root          4096 Aug 28 18:26 i586
        drwxrwsr-x    2 root      root          4096 Aug 28 18:26 i686
        drwxrwsr-x    2 root      root          4096 Jul 13 10:14 noarch
      

2.4. Différences avec l'arbre 8.0

La disposition de la distribution 8.0 est pratiquement identique à celle que nous venons de décrire. Les seules différences majeures, à cet égard, se trouvent dans le répertoire images .

Le répertoire images contient les images de disquettes de démarrage et de pilotes, pouvant être copiées sur une disquette si nécessaire. La première image de démarrage est appelée boot.img et est nécessaire lorsque l'installation est exécutée directement depuis le CD-ROM. Si une installation via un disque monté par NFS ou via FTP est envisagée, l'image disque bootnet.img est nécessaire. Les installations par l'adaptateur PCMCIA nécessitent la disquette pcmcia.img. Voir la section installation et les références qui s'y trouvent pour plus de détails. Consultez le fichier README de ce répertoire pour une explication plus détaillée sur les différents fichiers.

2.5. Différences avec l'arbre 7.x

Les deux distributions sont pratiquement similaires à ce niveau. Les seuls changements intéressants pour nous (et faciles à remarquer avec une petite inspection de l'arbre principal de la distribution) sont représentés par un répertoire isolinux manquant et quelques modifications sur le répertoire RedHat/base. Le premier changement est dû à la façon dont les CDs d'installation sont rendus amorçables dans les releases précédant la 8.0 (l'« émulation disquette » a été changée en « pas d'émulation » pour la release 8.0), alors que le second est un effet de la migration du format du fichier comps en XML pour les Redhat suivant la 8.0 (ce qui explique pourquoi il a été renommé comps.xml). Le fichier Redhat/base/comps est, en fait, un simple fichier texte avec une syntaxe peu flexible dans les releases RedHat 7.3 et précédentes.

2.6. Différences avec l'arbre 6.x

Pour la release 6.2 (pub/redhat/linux/6.2/en/os/), la dernière des six séries, l'organisation est la suivante (celle des précédentes releases est à peu près similaire, mais pas complètement) :

        alpha/   i386/   sparc/
      

Quant à elle, la racine du répertoire i386 ressemble à ceci :

        -rw-r--r--    1 root     root        18385 Sep  7  1999 COPYING
        -rw-r--r--    1 root     root         3400 Mar  8  2000 README
        -rw-r--r--    1 root     root        16300 Mar  8  2000 RELEASE-NOTES
        -rw-r--r--    1 root     root         1908 Sep 25  1999 RPM-GPG-KEY
        drwxr-xr-x    1 root     root          512 Sep 27 15:22 RedHat
        drwxr-xr-x    1 root     root        17408 Sep 27 15:22 SRPMS
        -rwxr-xr-x    1 root     root          538 Sep 26  1999 autorun
        -rwxr--r--    1 root     root         2048 Mar  9  2000 boot.cat
        drwxr-xr-x    1 root     root          512 Sep 27 15:22 doc
        drwxr-xr-x    1 root     root          512 Sep 27 15:22 dosutils
        drwxr-xr-x    1 root     root          512 Sep 27 15:22 images
        drwxr-xr-x    1 root     root          512 Sep 27 15:22 misc
      

Dans les paragraphes suivants, je listerai seulement les différences entre les nouvelles releases ; ce qui n'est pas explicitement mentionné est resté (ou est supposé être resté) inchangé.

Le répertoire doc contient une foule d'informations. Plus important, le manuel d'installation RedHat peut être trouvé au format HTML dans le répertoire ou sur le site web de RedHat (Guide d'installation RedHat 6.2). Ensuite, il y a le guide de référence et le guide de démarrage (« Getting started »). La documentation pour les releases 7.x/8.0/9 est sur un CD séparé (dans un arbre différent, sur le site ftp).

Le répertoire images contient les images de disquettes de démarrage qui peuvent être copiées sur une disquette si nécessaire, comme pour les 9, 8.0 et 7.3. Voir la section installation et ses références pour les détails. Le répertoire misc contient sources et exécutables d'un certain nombre de programmes nécessaires pour l'installation.

La plus importante partie de l'arbre du répertoire est (encore) située à la racine du répertoire RedHat :

        drwxr-xr-x   2 root     root    28672   Oct 26 09:01   RPMS
        drwxr-xr-x   2 root     root     4096   Oct 26 09:01   base
        -rw-r--r--   1 root     root        0   Jan 19  1999   i386
        drwxr-xr-x   6 root     root     4096   Oct 26 09:01   instimage
      

Le répertoire RPMS devrait déjà être connu de vous. Voir la section les paquets RPM pour plus d'informations. Le répertoire base conserve différents fichiers nécessaires lors de l'installation, comme pour les releases 7.3, 8.0 et 9. Les seules différences visibles sont représentées par un fichier hdlist et un fichier manquant stage2.img dont les fonctionnalités devront être assurées par les fichiers inclus dans le répertoire instimage. Il contient, en fait, un vrai système de fichiers avec un certain nombre de programmes et de bibliothèques partagées durant la procédure d'installation.

Le répertoire updates est vraiment similaire à celui décrit pour la release 9, la seule différence étant qu'il comporte davantage de répertoires en relation avec l'architecture.