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 8.0

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/8.0/en/os/).
 i386/

Autrement, le répertoire de haut niveau, pour les releases un peu plus anciennes que la 8.0, 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/

La racine du répertoire i386 ressemble à ce qui suit:
 -rwxr-xr-x    1 root     root          248 Sep 10 21:19 autorun
 drwxr-xr-x    7 root     root         4096 Oct 25 10:43 dosutils
 -rwxr-xr-x    1 root     root         6194 Sep 10 21:19 EULA
 -rwxr-xr-x    1 root     root        18385 Sep 10 21:19 GPL
 drwxr-xr-x    3 root     root         4096 Oct 25 10:43 images
 drwxr-xr-x    2 root     root         4096 Oct 25 10:43 isolinux
 -rw-r--r--    1 root     root        28320 Oct 24 22:36 pkgorder.txt
 -rwxr-xr-x    1 root     root         5350 Sep 10 21:19 README
 -rwxr-xr-x    1 root     root        13342 Sep 10 21:19 README-Accessibility
 -rwxr-xr-x    1 root     root         5781 Sep 10 21:19 README.de
 -rwxr-xr-x    1 root     root         5956 Sep 10 21:19 README.es
 -rwxr-xr-x    1 root     root         6351 Sep 10 21:19 README.fr
 -rwxr-xr-x    1 root     root         5684 Sep 10 21:19 README.it
 -rwxr-xr-x    1 root     root         6836 Sep 10 21:19 README.ja
 -rwxr-xr-x    1 root     root         6566 Sep 10 21:19 README.ko
 -rwxr-xr-x    1 root     root         4965 Sep 10 21:19 README.zh_CN
 -rwxr-xr-x    1 root     root         5267 Sep 10 21:19 README.zh_TW
 drwxr-xr-x    4 root     root         4096 Oct 25 10:43 RedHat
 -rwxr-xr-x    1 root     root        37493 Sep 10 21:19 RELEASE-NOTES
 -rwxr-xr-x    1 root     root        47340 Sep 10 21:19 RELEASE-NOTES-de.html
 -rwxr-xr-x    1 root     root        44726 Sep 10 21:19 RELEASE-NOTES-es.html
 -rwxr-xr-x    1 root     root        47994 Sep 10 21:19 RELEASE-NOTES-fr.html
 -rwxr-xr-x    1 root     root        42160 Sep 10 21:19 RELEASE-NOTES.html
 -rwxr-xr-x    1 root     root        44680 Sep 10 21:19 RELEASE-NOTES-it.html
 -rwxr-xr-x    1 root     root        56720 Sep 10 21:19 RELEASE-NOTES-ja.html
 -rwxr-xr-x    1 root     root        50814 Sep 10 21:19 RELEASE-NOTES-ko.html
 -rwxr-xr-x    1 root     root        37770 Sep 10 21:19 RELEASE-NOTES-zh_CN.html
 -rwxr-xr-x    1 root     root        39122 Sep 10 21:19 RELEASE-NOTES-zh_TW.html
 -rwxr-xr-x    1 root     root         1910 Sep 10 21:19 RPM-GPG-KEY
 -rwxr-xr-x    1 root     root          338 Sep 10 21:56 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 est. Pour la release 8.0, trois images de disque de démarrage sont disponibles. La première image est appelée boot.img et est requise lorsque l'installation est réalisée directement à partir du CD-ROM. Si l'installation est réalisée depuis un disque NFS monté ou par FTP, l'image disque bootnet.img est nécessaire. L'installation via des adapteurs PCMCIA nécessite la disquette pcmcia.img. 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 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ù trouver 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

La structure de chacun de ces sous-répertoires est similaire à ce qui est décrit dans la section l'organisation de la Redhat 8.0. 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 7.x

Les deux distributions sont pratiquement similaires à ce niveau. Les seuls changements d'intérêt 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 la Redhat 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.5. 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 abondance 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.x 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 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 et 8.0. 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 8.0, la seule différence étant qu'il comporte davantage de répertoires en relation avec l'architecture.