
HOWTO Graver un CD RedHat

Luigi Bitonti

             <uknadors (chez) yahoo (point) com>

Morten Kjeldgaard

             <mok (chez) imsb (point) au (point) dk>

Peter von der Ah

             <pahe+rhcd (chez) daimi (point) au (point) dk>

   _Guillaume Lelarge - _Traduction franaise

   _Guillaume Hatt - _Relecture de la version franaise
   Premire version de la 2.0 de ce HOWTO

   Copyright  2002 Luigi Bitonti

   Copyright  2000 Morten Kjeldgaard et Peter von der Ah
   _Historique des versions_
   Version v2.0 2002-10-28 Revu par : lb

   Ce document dcrit comment crer vos propres CDs  partir des
   diffrentes releases de la distribution RedHat Linux (jusqu' la 8.0
   et en l'incluant), quivalent  ceux disponibles commercialement
   auprs de RedHat. La structure de la distribution est dcrite, ainsi
   que la procdure ncessaire pour inclure des RPMs mis  jour dans
   cette distribution. Quelques conseils et exemples sur la faon de
   personnaliser l'installation par dfaut sont aussi prsents. Des
   scripts automatisant autant que possible la (re)gnration des images
   CD sont aussi inclus. Les prrequis sont une bonne connexion rseau et
   un graveur de CD (une connaissance des scripts shells peut aussi tre
   utile).
     _________________________________________________________________

   _Table des matires_
   1. Introduction

        1.1. Avertissement et License

   2. Anatomie du site FTP de Red Hat

        2.1. Organisation des rpertoires de la Redhat 8.0
        2.2. Le rpertoire "RedHat" -- le coeur de la distribution
        2.3. Le rpertoire "updates"
        2.4. Diffrences avec l'arbre 7.x
        2.5. Diffrences avec l'arbre 6.x

   3. Paquets RPM

        3.1. Comparer deux versions d'un paquet RPM

   4. Obtenir votre copie locale de la distribution

        4.1. Utiliser wget et bash
        4.2. Utiliser mirror

   5. Inclure les mises  jour

        5.1. Corriger les modes de protection des fichiers
        5.2. Remplacer les RPMs mis  jour
        5.3. Reconstruire l'installateur

   6. Graver les CD(s)

        6.1. Tester l'image ou les images
        6.2. Graver le(s) disque(s)

   7. Le fichier comps

        7.1. Format du fichier comps pour RedHat versions < 6.1
        7.2. Format du fichier comps pour RedHat version 6.1
        7.3. Format du fichier comps dans RedHat version 6.2
        7.4. Format d'un fichier comps dans la RedHat version 7.3
        7.5. Format du fichier comps  partir de RedHat version 8.0

   8. Installer  partir du CD

        8.1. Dmarrer d'un CD amorable

   9. Autres distributions Linux
   10. Ce document...

        10.1. Documents en rapport
        10.2. Remerciements

   11. Adaptation franaise

        11.1. Traduction
        11.2. Relecture

1. Introduction

   Il doit exister de nombreuses raisons pour crer vos propres CDs.
   Peut-tre tes-vous avare et voulez-vous sauver le cot d'une
   distribution Red Hat. Ou peut-tre voulez-vous inclure dans vos CDs la
   dernire distribution de toutes les mises  jour actuelles. Ceci est
   trs pertinent car aprs chaque release majeure de la distribution
   RedHat, il existe des tonnes de mises  jour, plusieurs ayant rapport
   avec la scurit. Jetez juste un regard sur la page des erreurs. Ou
   peut-tre voulez-vous personnaliser l'installation par dfaut en
   ajoutant quelques paquets absents de l'arbre par dfaut et
   dslectionner l'installation de quelques paquets qui autrement
   seraient inclus dans la configuration par dfaut.

   Voici ce qui vous sera appris dans les sections suivantes (je
   l'espre). J'utiliserai l'architecture i386 et les releases 7.3 et 8.0
   de la distribution dans les exemples. Les notes concernant les
   releases prcdentes (<6.1) ont t incluses lors d'une prcdente
   version de ce document et ont t ajoutes par les auteurs originaux.
   Les notes en relation avec la release 6.2 sont bases sur des tests
   que je n'ai pas termins (et je ne sais pas si je le ferai un jour) et
   sur quelques documents que vous trouverez dans la section documents en
   rapport. La procdure donne dans les sections suivantes pour RedHat
   7.3 et 8.0 peut fonctionner sur toutes les plateformes supportes par
   RedHat (Alpha, PPC, etc...), pour toutes les releases 7.x (et
   peut-tre les 8.x dans un futur pas si lointain), mais je l'ai
   seulement teste sur la plateforme i386 avec RedHat Linux 7.3 et 8.0
   (je serais intress par plus d'informations).

   Note

   Les oprations dcrites ont des implications lgales, ce qui veut dire
   que vous ne pouvez pas redistribuer les CDs en tant que RedHat Linux
   si vous les avez modifis de faon non conforme  la politique de
   RedHat. Pour les rendre lgalement redistribuables, vous devez d'abord
   appliquer les lignes de conduites indiques sur le site web de RedHat.

   Note

   Rappelez-vous toujours de mettre en place les variables dans rhcd.conf
   et d'_exporter_ la variable d'environnement _RHCDPATH_ avant de lancer
   les scripts que vous trouverez tout au long du reste de ce document et
   en relation avec les releases suprieures ou gales  la 6.2 de la
   RedHat Linux. Un fichier rhcd.conf d'exemple, qui devrait tre bien
   comment, est donn avec les scripts.
     _________________________________________________________________

1.1. Avertissement et License

   Ce document est distribu dans l'espoir qu'il sera utile, mais SANS
   AUCUNE GARANTIE; sans mme la garantie implicite de qualit loyale et
   marchande ou d'exactitude pour un usage particulier.

   Ni l'auteur ni les distributeurs, ou tout autre contributeur de ce
   document ne sont de quelque faon que ce soit responsables pour les
   dommages physiques, financiers, morals ou de tout autre type,
   occasionns en suivant les suggestions de ce texte.
     _________________________________________________________________

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
   rpertoire de distribution (pub/redhat/linux/). Jetez donc un oeil sur
   l'arbre de la distribution.
     _________________________________________________________________

2.1. Organisation des rpertoires de la Redhat 8.0

   La dernire distribution est,  l'heure o j'cris ces lignes,
   disponible uniquement pour la plateforme i386. Le rpertoire de haut
   niveau apparat un peu sans consistence, tant donne la prsence
   d'une seule architecture (pub/redhat/linux/8.0/en/os/).

        i386/

   Autrement, le rpertoire de haut niveau, pour les releases un peu plus
   anciennes que la 8.0, contient les distributions des diffrentes
   plateformes. Par exemple, le rpertoire correspondant  la release 7.1
   de RedHat Linux est structur de cette faon:

        alpha/   i386/   ia64/   ppc/   s390x/

   La racine du rpertoire 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-Accessib
ility
        -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-d
e.html
        -rwxr-xr-x    1 root     root        44726 Sep 10 21:19 RELEASE-NOTES-e
s.html
        -rwxr-xr-x    1 root     root        47994 Sep 10 21:19 RELEASE-NOTES-f
r.html
        -rwxr-xr-x    1 root     root        42160 Sep 10 21:19 RELEASE-NOTES.h
tml
        -rwxr-xr-x    1 root     root        44680 Sep 10 21:19 RELEASE-NOTES-i
t.html
        -rwxr-xr-x    1 root     root        56720 Sep 10 21:19 RELEASE-NOTES-j
a.html
        -rwxr-xr-x    1 root     root        50814 Sep 10 21:19 RELEASE-NOTES-k
o.html
        -rwxr-xr-x    1 root     root        37770 Sep 10 21:19 RELEASE-NOTES-z
h_CN.html
        -rwxr-xr-x    1 root     root        39122 Sep 10 21:19 RELEASE-NOTES-z
h_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 rpertoire SRPMS contient les paquets RPMS en forme source.

   Le rpertoire images contient les images des disquettes de dmarrage
   et de pilotes pouvant tre copis sur une disquette si besoin est.
   Pour la release 8.0, trois images de disque de dmarrage sont
   disponibles. La premire image est appele boot.img et est requise
   lorsque l'installation est ralise directement  partir du CD-ROM. Si
   l'installation est ralise depuis un disque NFS mont ou par FTP,
   l'image disque bootnet.img est ncessaire. L'installation via des
   adapteurs PCMCIA ncessite la disquette pcmcia.img. Voir la section
   installation et les rfrences pour plus de dtails et consulter le
   fichier README dans le rpertoire pour une explication plus dtaille
   des diffrents fichiers.

   Le rpertoire isolinux contient les fichiers ncessaires pour dmarrer
   sur le CD (et pour reconstruire des CDs amorables qui fonctionnent de
   la mme faon). 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 problmes de compatibilit.

   Le rpertoire dosutils contient diffrents programmes pour certains
   autres systmes d'exploitation, qui sont parfois utiles pour le bon
   droulement du processus d'installation. Un fichier README
   d'explications est aussi inclus dans ce cas.

   La liste est complte par un grand nombre de fichiers et le
   rpertoire RedHat. Ce dernier est le sujet des sections suivantes
   alors que les prcdents ont un contenu comprhensible en lisant
   seulement leur nom (sauf peut-tre celui du EULA, ou End User License
   Agreement).
     _________________________________________________________________

2.2. Le rpertoire "RedHat" -- le coeur de la distribution

   La plus importante partie de l'arbre du rpertoire a sa racine dans le
   rpertoire 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 rpertoire 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 excutables binaires, avec les
   fichiers de configuration et la documentation. Voir la section les
   paquets RPM pour plus d'informations.

   Le rpertoire base contient diffrents fichiers ncessaires lors de
   l'installation, comme le fichier comps.xml, qui dfinit les
   _composants_ (groupes de paquets) utiliss 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 rpertoire base sont hdlist et
   hdlist2 contenant la plupart des champs d'enttes de tous les RPMs
   dans le rpertoire RPMS. Ceci veut dire que toutes les
   interdpendances parmi les paquets RPM peuvent tre dtermines
   simplement en lisant ces fichiers sans avoir  lire tous les RPM, ce
   qui est trs apprciable spcialement 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 rpertoire RPMS, vous aurez besoin de mettre 
   jour hdlist et hdlist2. Ceci est dcrit 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'interprteur python, anaconda, etc...).
     _________________________________________________________________

2.3. Le rpertoire "updates"

   Le rpertoire /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 particulirement faire attention
   aux mises  jour de scurit. Elles sont affiches sur la page des
   erreurs de RedHat ds qu'une correction est disponible. Les fichiers
   les plus importants trouvs dans le rpertoire 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-rpertoires est similaire  ce qui
   est dcrit dans la section l'organisation de la Redhat 8.0. Donc, pour
   chaque version, vous trouverez dans le sous-rpertoire en/os/ une
   srie de sous-rpertoires reprsentant les nombreuses architectures
   ainsi que les sous-rpertoires 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. Diffrences avec l'arbre 7.x

   Les deux distributions sont pratiquement similaires  ce niveau. Les
   seuls changements d'intrt pour nous (et faciles  remarquer avec une
   petite inspection de l'arbre principal de la distribution) sont
   reprsents par un rpertoire isolinux manquant et quelques
   modifications sur le rpertoire RedHat/base. Le premier changement est
   d  la faon dont les CDs d'installation sont rendus amorables dans
   les releases prcdant la 8.0 (l'<< mulation disquette >> a t
   change 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 prcdentes.
     _________________________________________________________________

2.5. Diffrences avec l'arbre 6.x

   Pour la release 6.2 (pub/redhat/linux/6.2/en/os/), la dernire des six
   sries, l'organisation est la suivante (celle des prcdentes releases
   est  peu prs similaire, mais pas compltement):

        alpha/   i386/   sparc/

   Quant  elle, la racine du rpertoire 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 diffrences
   entre les nouvelles releases; ce qui n'est pas explicitement mentionn
   est rest (ou est suppos tre rest) inchang.

   Le rpertoire doc contient une abondance d'informations. Plus
   important, le manuel d'installation RedHat peut tre trouv au format
   HTML dans le rpertoire ou sur le site web de RedHat ( Guide
   d'installation RedHat 6.2). Ensuite, il y a le guide de rfrence et
   le guide de dmarrage (getting started). La documentation pour les
   releases 7.x/8.x est sur un CD spar (dans un arbre diffrent, sur le
   site ftp).

   Le rpertoire images contient les images de disquettes de dmarrage
   qui peuvent tre copies sur une disquette si ncessaire, comme pour
   les 8.0 et 7.3. Voir la section installation et ses rfrences pour
   les dtails. Le rpertoire misc contient sources et excutables d'un
   certain nombre de programmes ncessaires pour l'installation.

   La plus importante partie de l'arbre du rpertoire est (encore) situe
    la racine du rpertoire 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 rpertoire RPMS devrait dj tre connu de vous. Voir la section
   les paquets RPM pour plus d'informations. Le rpertoire base conserve
   diffrents fichiers ncessaires lors de l'installation, comme pour les
   releases 7.3 et 8.0. Les seules diffrences visibles sont reprsentes
   par un fichier hdlist et un fichier manquant stage2.img dont les
   fonctionnalits devront tre assures par les fichiers inclus dans le
   rpertoire instimage. Il contient, en fait, un vrai systme de
   fichiers avec un certain nombre de programmes et de bibliothques
   partages durant la procdure d'installation.

   Le rpertoire updates est vraiment similaire  celui dcrit pour la
   release 8.0, la seule diffrence tant qu'il comporte davantage de
   rpertoires en relation avec l'architecture.
     _________________________________________________________________

3. Paquets RPM

   La majeure partie de la distribution RedHat consiste en un ensemble de
   fichiers RPM (Redhat Package Manager). Un paquet RPM contient en
   gnral des excutables binaires, avec les fichiers de configuration
   et la documentation. Le programme rpm est le gestionnaire de paquets
   de RedHat, qui peut tre utilis pour installer, rechercher, vrifier,
   effacer et construire les paquets au format RPM. Rpm gre
   convenablement une base de donnes de tous les paquets installs, ce
   qui rend l'information sur les logiciels installs disponible  tout
   moment.

   Les fichiers binaires RPM inclus dans la distribution ont t
   construits sur un systme utilisant lui-mme la distribution. C'est
   important, parce que la plupart des programmes dans les paquets
   dpendent des bibliothques partages. A partir de RedHat 5.0, la
   nouvelle version 3 de la bibliothque C standard de GNU (qui est
   compatible 64 bits) a t utilise. Cette version de la bibliothque
   est communment appele _glibc_ ou sous Linux: _libc 6_. Tous les
   excutables de cette distribution ont t lis avec cette
   bibliothque. Si vous tentez d'installer les fichiers binaires d'une
   distribution diffrente, il y a beaucoup de chances que cela ne
   fonctionne pas, sauf si vous installez le paquet libc5 pour la
   compatibilit descendante. Il existe aussi des incompatibilits entre
   les nombreuses versions du RedHat Package Manager lui-mme qui feront
   rater l'installation de quelques paquets mme sur les machines o ils
   sont supposs fonctionner.

   Les noms des paquets RPM contiennent le suffixe _.arch.rpm_, o _arch_
   est l'architecture, ayant habituellement la valeur _i386_ pour les
   binaires de la plateforme Intel. Les paquets que vous installez
   doivent correspondre aux versions des bibliothques partages
   disponibles sur la machine. Le programme rpm est habituellement assez
   bon pour s'assurer que c'est bien le cas. Nanmoins, il existe des
   moyens de le vrifier, et vous devez tre sr de savoir ce que vous
   faites si vous forcez l'installation de paquets de cette faon.
   Nanmoins, en utilisant le disque de dmarrage de l'installation
   RedHat, il est assur que l'ensemble correct des paquets RPM est
   install sur la machine.

   Si vous dcouvrez un paquet RPM qui n'a pas t install sur votre
   systme durant le processus d'installation, ne dsesprez pas. A tout
   moment, vous pouvez (en tant que root) installer des paquets RPM, par
   exemple:
      # rpm --install  WindowMaker-0.18-1b.i386.rpm

   Vous pouvez mme installer directement d'Internet, si vous connaissez
   l'URL du paquet RPM:
      # rpm --install ftp://rufus.w3.org/redhat-contrib/noarch/mirror-2.9-2.noa
rch.rpm

   Si vous voulez mettre  jour un paquet RPM (ou l'installer s'il n'est
   pas prsent sur la machine), utilisez la commande:
      # rpm --update  WindowMaker-0.18-1b.i386.rpm

   Si vous voulez mettre  jour un paquet RPM et seulement si une version
   prcdente est dj installe, utilisez la commande:
      # rpm --freshen  WindowMaker-0.18-1b.i386.rpm

   Une autre version des paquets RPM contient les sources originaux
   utiliss pour construire les binaires. Ces paquets ont le suffixe
   _.src.rpm_ et sont situs dans le rpertoire SRPMS. Ces paquets
   composent les deux derniers CDs et une partie du troisime sur cinq,
   qui font la release 8.0 (ou la 7.3). Pour la 6.2 (et les prcdentes
   versions, pas trop anciennes), les choses changent un peu puisqu'il
   n'existe qu'un seul CD d'installation qui ne comporte pas les paquets
   SRPMS, que vous pouvez graver sur un disque diffrent si vous le
   voulez.

   Pour obtenir plus d'informations sur le gestionnaire de paquet RedHat,
   je vous suggre de lire les pages man et le livre bien dtaill
   Maximum rpm.

   Dans la prochaine section, j'introduirai un programme C qui sera
   utilis dans des scripts varis tout au long du reste du howto. Il
   indique entre deux versions du mme paquet RPM, celui qui est le plus
   rcent. Ce programme est bas sur le code utilis dans le gestionnaire
   de paquets RedHat (release 4.1) et est utilis quand l'option
   _--freshen_ est ajoute.
     _________________________________________________________________

3.1. Comparer deux versions d'un paquet RPM

   Le code C inclus dans les trois fichiers Makefile, rvc.h, rvc.c a t
   extrait du gestionnaire de paquets RedHat et (lgrement) modifi pour
   combler vos besoins. Ils forment un programme C simple qui, avec deux
   versions A et B d'un paquet retourne 1, 0 ou -1 si A est
   respectivement plus rcent, gal ou plus ancien que B et d'autres
   valeurs en cas d'erreur (vous pouvez lire les commentaires du code
   pour des informations plus dtailles). Pour compiler le programme
   (vous avez besoin du programme make et du compilateur C gcc). Copier
   le fichier dans le mme rpertoire et envoyer la commande:
        $ make

   Ce programme est ncessaire pour pratiquement tous les scripts
   utiliss dans les sections suivantes et met en place la variable _RVC_
   dans le fichier rhcd.conf.

   Vous pouvez trouver une copie des sources et de la version prcompile
   dans l'archive rhcd-sripts.tar.gz situe dans le rpertoire rpmvc.
     _________________________________________________________________

4. Obtenir votre copie locale de la distribution

   Vous avez besoin d'une copie de la distribution sur un disque o vous
   pouvez crire, et accessible  partir de l'ordinateur possdant le
   graveur. Si vous incorporez les dernires mises  jour, le rpertoire
   doit (aussi) tre accessible  partir d'une machine Linux, soit 
   partir d'un disque local, soit  partir d'un disque mont NFS d'une
   autre machine, soit  partir d'un disque JAZ. Vous pouvez copier la
   distribution  partir des CDs de RedHat (recommand), ou vous pouvez
   l'obtenir via FTP. Si vous choisissez d'utiliser FTP, il existe deux
   moyens de le faire. Vous pouvez utiliser un script shell bas sur
   _wget_, script prsent dans la section suivante, ou utiliser le paquet
   _mirror_ comme suggr par les versions prcdentes et jusqu' la 1.34
   incluse de ce howto (rapport dans la section utiliser mirror).
     _________________________________________________________________

4.1. Utiliser wget et bash

   Ce n'est pas la plus simple des mthodes, mme si elle est la plus
   prcise. Je l'apprcie parce qu'elle permet de comparer les versions
   RPM des fichiers et non plus leur date/heure ou nom (comme les paquets
   standards de miroirs) et qu'elle vrifie les signatures des mises 
   jour  chaque fois qu'elle en tlcharge quelques unes, si ceci est
   bien configur avec la variable _CHECKSIG_ dans le fichier rhcd.conf.

   Crez un rpertoire qui contiendra les fichiers d'installation et
   entrez  l'intrieur (_cd_); lancez ensuite la commande (qui
   tlchargera environ 3Go de donnes sur votre disque dur pour la
   RedHat 7.3 et 8.0):


        $ wget -r -c -t0 -l0 --retr-symlinks -nH --cut-dirs=9 \
            ftp://ftp.mirror.ac.uk/sites/ftp.redhat.com/pub/redhat/linux/update
s/7.3/en/os/i386

   Vous voudrez probablement changer le miroir FTP de tlchargement et,
   en consquence, le paramtre pass  l'option _--cut-dirs_. C'est en
   fait utilis conjointement avec _-nH_ pour viter la re-cration de la
   hirarchie des rpertoires du site FTP. Pour plus d'informations sur
   l'utilisation correcte de cette option, jetez un oeil sur la
   documentation wget et les pages man.

   Si vous voulez exclure un ou plusieurs rpertoires des
   tlchargements, vous pouvez utiliser l'option _-X liste_, o _liste_
   reprsente une liste de rpertoires spars par des virgules. Par
   exemple, pour exclure le rpertoire SRPMS des prcdents
   tlchargements, vous pouvez utiliser:

        $ wget -r -c -t0 -l0 --retr-symlinks -nH --cut-dirs=9 \
            -X /sites/ftp.redhat.com/pub/redhat/linux/updates/7.3/en/os/i386/SR
PMS \
            ftp://ftp.mirror.ac.uk/sites/ftp.redhat.com/pub/redhat/linux/update
s/7.3/en/os/i386

   Cela peut tre utile si vous considrez la taille du rpertoire SRPMS
   (environ 1.2Go); en tout cas, je le trouve utile.

   Si vous voulez vrifier les signatures GPG pour vous assurer de
   l'authenticit des paquets (ce que je recommende), vous devez
   installer le paquet _gnupg_ et importer la cl publique
   _security@redhat.com_ que vous trouverez dans le rpertoire racine des
   CDs (RPM-GPG-KEY) ou sur le site web RedHat. La cl est importe en
   lanant la commande: _gpg --import <filename> _pour les releases
   jusqu' la 7.3 (en l'incluant), ce qui a t remplac par _rpm
   --import <filename> _pour la release 8.0 (pour plus d'informations sur
   ceci, jetez un oeil sur les sites web de GNU Privacy Guard et de RPM
   (Redhat Package Manager)).

   Si vous voulez vrifier les paquets RPM, vous pouvez le faire en
   utilisant la commande suivante (je suppose que vous la lancez  partir
   du rpertoire o vous avez ralis les tlchargements):

   Pour les releases jusqu' la 7.3 (comprise):

        $ find . -name "*.rpm" -exec rpm -K --nopgp {} \; |grep "NOT *OK"

   Pour la release 8.0 (ainsi que pour les futures releases, je suppose):

        $ find . -name "*.rpm" -exec rpm -K {} \; |grep "NOT *OK"

   Si vous ne voulez pas vous << ennuyer >> avec toutes ces tapes,
   j'espre que vous voudrez au moins vrifier l'intgrit des fichiers
   tlchargs (ce qui ne veut pas dire que personne ne les a modifis),
    l'aide des signatures md5. Ceci est fait avec:

   Pour les releases jusqu' la 7.3 (comprise):

        $ find . -name "*.rpm" -exec rpm -K --nopgp --nogpg {} \; |grep "NOT *O
K"

   Pour la release 8.0 (ainsi que pour les futures releases, je suppose):

        $ find . -name "*.rpm" -exec rpm -K --nosignature {} \; |grep "NOT *OK"

   Le contenu d'une distribution RedHat ne change pas entre les releases,
   donc vous avez seulement besoin de tlcharger ces paquets _UNE FOIS_.
   Tous les changements de la distribution sont dans le rpertoire
   updates. Donc, si vous voulez conserver un miroir  jour de la
   distribution RedHat, vous avez seulement besoin de conserver le
   rpertoire updates. Ceci se fait en utilisant le script updateDist.sh.
   Avant d'utiliser le script, vous devez configurer le fichier rhcd.conf
   et exporter la variable _RHCDPATH_ pointant vers le rpertoire o se
   trouve le fichier.

        $ export RHCDPATH=/home/luigi/tmp/rhcd-scripts
        $ sh updateDist.sh

   Ce script va tlcharger les nouvelles mises  jour en excluant les
   sous- rpertoires contenus dans la variable _EXCLUDELIST_, en
   dplaant les anciens (c'est--dire ceux remplacs par les nouvelles
   versions) dans le rpertoire reprsent par la variable _OLDDIR_ et
   vrifier leur signature qui dpend de la valeur des deux variables
   _CHECKSIG_ et _USEGPG_. En cas d'erreurs lors du processus de
   vrification des signatures, le script va dplacer les paquets en
   question dans _OLDDIR_ en leur ajoutant l'extension
   << .UPDcheckfail >> et va sortir sans dplacer les anciennes mises 
   jour dans _OLDDIR_.
     _________________________________________________________________

4.2. Utiliser mirror

   Mirror est un script perl sophistiqu comparant le contenu d'un
   rpertoire d'un site distant avec un rpertoire local. Il utilisera
   FTP pour rcuprer les fichiers qui sont sur le site distant mais pas
   sur le site local, et supprimera sur le site local les fichiers qui ne
   sont pas sur le site distant. Le programme mirror est configur avec
   un fichier. Le RPM du paquet est disponible  partir de rufus.w3.org.
   Crez votre copie locale mirror.redhat du fichier de configuration de
   mirror, et ditez les champs correspondant au haut du fichier. Aprs
   la section par dfaut, dfinissez ces paquets:


        package=updates
          site=ftp.mirror.ac.uk
          exclude_patt=(SRPMS/)
          remote_dir=/sites/ftp.redhat.com/pub/redhat/linux/updates/7.3/en/os/i
386
          local_dir=/home/luigi/tmp/redhat-cd/redhat-7.3-updates

        package=dist
          site=ftp.mirror.ac.uk
          exclude_patt=(SRPMS/)
          remote_dir=/sites/ftp.redhat.com/pub/redhat/linux/7.3/en/os/i386
          local_dir=/home/luigi/tmp/redhat-cd/redhat-7.3

   La commande suivante va copier l'arbre RedHat en entier sur votre
   disque local. _**Pensez**_, avant de faire cela, que vous allez
   tlcharger  peu prs 1,5Go de donnes (si vous avez exclu le
   rpertoire SRPMS)!


        $ mirror -pdist mirror.redhat

   Ceci va crer le miroir du site FTP de RedHat sur votre disque local.
   Le contenu de la distribution RedHat ne change pas entre les releases,
   donc vous avez seulement besoin de tlcharger ces paquets _UNE FOIS_.
   Tout changement dans la distribution se trouve dans le rpertoire
   updates. Donc, si vous voulez que votre miroir reste  jour, vous avez
   seulement besoin d'actualiser le rpertoire updates. Cela se fait avec
   la commande suivante:


        $ mirror -pupdates mirror.redhat

   Vous pouvez la lancer rgulirement, disons une fois par semaine, avec
   un script cron. La distribution RedHat est disponible sur un grand
   nombre de serveurs FTP tout autour du monde, mis  jour
   quotidiennement  partir du site matre ftp.redhat.com. Vous devriez
   choisir un site FTP proche de vous, en consultant la liste des sites
   miroirs RedHat.

   Note

   Je n'ai pas personnellement test cette procdure. C'tait la seule
   procdure propose sur les anciennes versions de ce howto (jusqu' la
   version 1.34, concernant RedHat <6.1). Nanmoins, je pense qu'elle a
   t bien plus teste que mes scripts, donc vous pouvez certainement
   l'utiliser.
     _________________________________________________________________

5. Inclure les mises  jour

   Il y a trois tapes, les deux premires tant (pratiquement)
   identiques pour toutes les releases, alors que la dernire change un
   peu en raison des modifications de l'installateur anaconda:

    i. Corriger les modes de protection de fichier
   ii. Remplacer les RPMs mis  jour
   iii. Reconstruire l'installateur

   Pour incorporer les mises  jour, vous avez besoin d'avoir les droits
   d'accs au rpertoire de la distribution  partir de la machine Linux,
   avec une version fonctionnelle de rpm installe, alors que _pour
   reconstruire l'installateur anaconda, vous avez besoin d'utiliser une
   release de RedHat Linux gale  celle pour laquelle vous avez
   reconstruit l'installateur (sinon la procdure chouera) _. Si vous
   maintenez un miroir du rpertoire updates, vous pouvez  tout moment
   produire un CD incluant les dernires mises  jours en rptant ces
   tapes.
     _________________________________________________________________

5.1. Corriger les modes de protection des fichiers

   Durant le processus d'installation des releases jusqu' la 6.2
   (comprise), quelques programmes sont lancs directement du CD.
   Malheureusement, le programme FTP ne prserve pas toujours les modes
   de protection des fichiers et des rpertoires qui sont copis. Donc,
   il est ncessaire de s'assurer que la permission d'excuter est donne
   aux programmes, scripts shells et bibliothques partages, avant que
   le rpertoire ne soit grav sur le CD. Ceci est fait en lanant le
   script updatePerm.sh sur votre copie locale de la distribution. C'est
   rellement ncessaire pour les versions 6.2 et prcdentes, la seule
   partie utile  la procdure des releases 7.3/8.0 est la mise  jour
   des permissions des rpertoires, mme si le reste ne posera pas de
   problme et que tout restera cohrent. C'est pratiquement identique au
   script updatePerm inclus dans la prcdente version de ce howto, seuls
   quelques petits changements ont t raliss. Avant d'utiliser ce
   script, vous devez configurer le fichier rhcd.conf et exporter la
   variable _RHCDPATH_ pointant vers le rpertoire o se trouve le
   fichier.

        $ export RHCDPATH=/home/luigi/tmp/rhcd-scripts
        $ sh updatePerm.sh
     _________________________________________________________________

5.2. Remplacer les RPMs mis  jour

   Le script updateCD.sh copie tous les nouveaux fichiers du rpertoire
   update vers le rpertoire RPMS (et SRPMS). Le script utilise le
   programme rvc qui a t prsent dans la section comparer les versions
   des RPM pour dterminer quels paquets dans le rpertoire update sont
   les plus rcents. Les anciens paquets sont dplacs dans le rpertoire
   _${OLDDIR}_. Si la variable _CHECKSIG_ est mise sur << yes >>, tous
   les paquets dans l'arbre principal verront leur signature vrifie. Si
   la vrification de signature d'un paquet choue (le genre de
   vrification est configur par l'usage de la variable _USEGPG_,
   assigne dans le fichier rhcd.conf), celui-ci est dplac dans le
   rpertoire _OLDDIR_ avec une extension ajoute, << CDcheckfail >>.

   Avant d'utiliser ce script, vous devez configurer le fichier de
   configuration rhcd.conf et exporter une variable _RHCDPATH_ pointant
   vers le rpertoire o se trouve ce fichier.

        $ export RHCDPATH=/home/luigi/tmp/rhcd-scripts
        $ sh updateCD.sh

   Note

   Aprs avoir incorpor les mises  jour dans le rpertoire principal
   RedHat/RPMS, votre copie de la distribution n'est plus un miroir du
   site de la distribution RedHat. Nanmoins, il est plus  jour! Donc,
   si vous essayez de faire le miroir de la distribution en utilisant
   mirror, les anciennes versions des RPMs qui ont t mis  jour seront
   tlcharges une fois de plus, et les mises  jour supprimes. La
   procdure base sur bash/wget ne souffre pas de ce problme, mais
   laissera l'arbre principal dans un tat incohrent. Les anciens et les
   nouveaux paquets seront dans ce cas mlangs, mais vous pouvez les
   trouver et les supprimer en intgrant le binaire rvc dans un script
   shell simple (que je laisserai comme exercice pour le lecteur...).
     _________________________________________________________________

5.3. Reconstruire l'installateur

   Les choses ont bien chang dans cette section avec l'arrive de
   l'installateur anaconda (release 6.1) et l'augmentation considrable
   en taille (et... en nombre de CDs) que les distributions 7.x/8.0 ont
   connue. Jusqu' la release 6.2, la seule tape composant cette section
   tait reprsente par la gnration d'un nouveau fichier hdlist. Avec
   la release 6.2, cela reste vrai seulement jusqu' un certain point, en
   raison des changements dans l'installateur anaconda, dans le logiciel
   _rpm_ lui-mme ( partir des versions 3.x, jusqu'au 4.x) et de la
   migration des paquets mis  jour vers cette nouvelle version (les
   mises  jour pour la release 6.2 sont en fait packages avec les deux
   releases majeures du logiciel rpm). Nous considrerons les trois
   procdures diffrentes en essayant de couvrir toutes les releases.
     _________________________________________________________________

5.3.1. RedHat =< 6.1

5.3.1.1. Regnrer le fichier hdlist

   Lors de l'installation  partir du CD, le programme d'installation sur
   le CD dpend du fichier RedHat/base/hdlist qui dcrit quels sont les
   paquets RPM disponibles sur le CD. Le fichier hdlist peut tre gnr
   par le programme misc/src/install/genhdlist. Ce programme doit tre
   lanc avec le chemin absolu vers la racine de la distribution comme
   seul argument. Voici le script updateHdlist qui appelle ce programme
   ( partir de la version 1.34 de ce howto):

            #!/bin/bash

            RHVERSION=6.1
            ARCH=i386

            echo generating hdlist...
            RHROOT=/home/luigi/tmp/redhat-${RHVERSION}
            GENHDDIR=${RHROOT}/${ARCH}/misc/src/anaconda/utils

            chmod u+x ${GENHDDIR}/genhdlist
            chmod 644 ${RHROOT}/${ARCH}/RedHat/base/hdlist
            ${GENHDDIR}/genhdlist ${RHROOT}/${ARCH} || echo "*** GENHDLIST FAIL
ED ***"

            exit 0

   Note _Importante note pour la RedHat < 6.1_


   L'installation de la RedHat 6.1 est compltement diffrente de celle
   des versions prcdentes, et RedHat a introduit _anaconda_. Le
   programme genhdlist est maintenant localis  un autre endroit, donc
   dans le script ci-dessus, nous utilisons
              GENHDDIR=${RHROOT}/${ARCH}/misc/src/anaconda/utils

   alors que pour les releases jusqu' la 6.0 (comprise), cette ligne
   doit tre
              GENHDDIR=${RHROOT}/${ARCH}/misc/src/install

   Dans certains cas, genhdlist choue lors de son excution, parce que
   l'excutable n'est pas li statiquement. Dans un tel cas, vous pouvez
   ajouter une nouvelle ligne ${RHROOT}/${ARCH}/RedHat/instimage/usr/lib
   dans /etc/ld.so.conf et lancer ldconfig -v.

   Une autre solution est de recompiler genhdlist. La modification
   suivante au script updateHdlist a fonctionn sous RedHat 5.2:
            #!/bin/bash

            RHVERSION=6.1
            ARCH=i386

            RHROOT=/misc/redhat/redhat-${RHVERSION}
            GENHDDIR=${RHROOT}/${ARCH}/misc/src/anaconda/utils

            echo Compiling genhdlist...
            sed -e 's/FD_t/int/' \
                -e 's/fdOpen/open/' \
                -e 's/fdClose/close/' \
                -e 's/fdFileno//' < ${GENHDDIR}/genhdlist.c > /tmp/genhdlist.c
            cc -o /tmp/genhdlist -I/usr/include/rpm /tmp/genhdlist.c -lrpm -lz

            echo generating hdlist...
            chmod 644 ${RHROOT}/${ARCH}/RedHat/base/hdlist
            /tmp/genhdlist ${RHROOT}/${ARCH} || echo "*** GENHDLIST FAILED ***"

            exit 0

   Dans cette version du script, une copie du source C de genhdlist.c est
   envoye  sed  travers un pipe pour crer une copie dans /tmp qui
   compilera sous RedHat 5.2. Cette version de genhdlist est alors
   utilise pour crer le fichier hdlist.

   Note _Importante note pour la RedHat 5.2_


   Tel qu'il est distribu avec la RedHat versions 5.2 et prcdentes,
   genhdlist PLANTE si les fichiers dans le rpertoire RedHat/RPMS ne
   sont _pas_ des fichiers RPM! Il cause des problmes parce que dans la
   distribution 5.2, il existe un couple de fichiers non-RPM nomms ls-lR
   et ls-lR.gz situs dans RedHat/RPMS. Donc, vous devez supprimer tous
   les fichiers non-RPM du rpertoire. Sinon, vous pouvez appliquer le
   correctif genhdlist.c.diff au fichier misc/src/install/genhdlist.c et
   faire un _make_. Ce correctif fait que genhdlist ignore tout fichier
   non-RPM.
     _________________________________________________________________

5.3.1.2. Crer l'image iso du CD

   Vous aurez besoin de crer un fichier image qui sera crit sur le CD.
   Ce fichier fera 500Mo ou plus donc trouvez une partition avec assez
   d'espace disque libre. Vous pouvez avoir besoin d'tre root pour
   utiliser mount et cdrecord. Ici, vous prparerez l'image iso du CD
   amorable  graver. Il n'est pas strictement ncessaire de crer un CD
   amorable parce que vous pouvez utiliser une disquette de dmarrage 
   la place, mais c'est vraiment une fonctionnalit sympathique (et elle
   rend votre disque plus similaire au disque gnral). Voici les
   commandes que j'utilise pour raliser cette tche:
            $ mkdir /images-destination-dir
            $ mkisofs  -r  -J  -T  -v  -V "Red Hat 6.1 (Hedwig)" \
                -c boot.cat  -b images/boot.img \
                -o /images-destination-dir/i386-disc.iso .

   C'est ncessaire pour graver le disque (amorable) et c'est excut 
   partir du rpertoire haut niveau de la distribution. Le rpertoire
   /images-destination-dir est le contenant de l'image iso que vous
   gnrez, et il doit exister (ncessairement) avant le lancement de la
   procdure. Dans la table suivante, vous pouvez lire une brve
   explication des nombreuses options et de leurs motivations (la plupart
   ont t extraites de la page man de mkisofs).

   _Tableau 1. Options et paramtres de mkisofs_
   -r   Extensions Rock Ridge avec les valeurs utiles pour les
   permissions
   -J   Extensions Joliet pour utiliser le CD avec quelques diffrents
   systmes d'exploitation
   -T   Gnre un fichier TRANS.TBL dans chaque rpertoire pour faire
   correspondre les noms de fichiers mme sur des systmes qui ne
   supportent pas des extensions Rock Ridge
   -v   Soit verbeux

   -V <volid>
     Spcifie l'ID du volume (nom du volume ou label)  crire dans le
   bloc matre.

   -c <boot catalog>
     Spcifie le chemin et le nom du fichier du catalogue de dmarrage 
   utiliser lors de la cration du CD amorable "El Torito". Le nom du
   fichier doit tre relatif au chemin source spcifi  mkisofs.

   -b <eltorito boot image>
     Spcifie le chemin et le nom du fichier de l'image de dmarrage 
   utiliser lors de la cration du CD amorable "El Torito". Le chemin
   doit tre relatif au chemin source spcifi  mkisofs et doit indiquer
   une image de disquette (ce qui explique pourquoi nous utilisons une
   des images de disquette trouve sur le CD original). Vous pouvez
   vouloir le changer avec l'image pcmcia.img pour installer en utilisant
   des priphriques pcmcia comme des cartes rseau ou des lecteurs
   CDROMs.

   -o <filename>
     Nom du fichier contenant l'image iso gnr
   .   Ceci est le rpertoire racine de notre image iso (nous sommes en
   train de travailler  partir du rpertoire racine de chaque CD, donc
   un point est suffisant).

   Vous trouverez des dtails sur la faon de graver une image sur un
   mdia dans graver le CD. Les tapes mkisofs et cdrecord peuvent tre
   excutes en utilisant une application graphique comme X-CD-Roast qui
   doit dj supporter la cration de CDs amorables (je ne l'ai jamais
   fait, donc ne vous attendez pas  ce que je vous donne une
   explication).
     _________________________________________________________________

5.3.2. RedHat 6.2

   Apparemment, il existe un problme lorsque vient le moment de graver
   un CD  mettre  jour. L'introduction de la version 4 du gestionnaire
   de paquets RedHat (RPM) fait que la procdure de mise  jour de
   l'installateur anaconda choue. Donc les procdures listes
   fonctionneront seulement si les paquets mis  jour sont construits en
   utilisant une version du logiciel RPM qui est antrieure ou gale  la
   3.0.5 (donc, basiquement, 3.0.4 ou 3.0.5).

   Si vous utilisez les paquets originels de RedHat, il faut viter
   d'utiliser les mises  jour sorties aprs le 28 mars 2001 (ce qui est
   un peu inutile, selon moi) ou alors vous devez reconstruire les
   paquets en utilisant l'ancien format rpm. Les dtails sur la procdure
   et les outils qui l'implmentent peuvent tre trouvs dans le document
   rpmhack. Je n'ai pas personnellement test cette procdure, mais elle
   semble fonctionner d'aprs les listes de diffusion anaconda-devel et
   kickstart (vous pouvez les trouver sur la section des listes de
   diffusion du site web de RedHat.

   Si vous dcidez de rester sur les anciens paquets originels et de
   complter la mise  jour (en utilisant les paquets rpm 4.0.2 aprs que
   l'installation est finie), il existe deux faons de le faire, en
   fonction du type de mise  jour que vous souhaitez faire. Si certaines
   des mises  jour dpendent directement du processus d'installation
   (c'est--dire le noyau, python, kudzu), vous devrez utiliser la
   procdure de reconstruction de l'installateur explique dans le
   document Construire un CDROM Red Hat Linux 6.2, sinon vous pouvez
   toujours utiliser l'ancienne procdure (celle pour les releases
   prcdentes jusqu' la 6.1 comprise, explique dans la section
   prcdente). Les deux dernires tapes, qui sont la cration de
   l'image iso et la gravure du media, sont dcrites respectivement dans
   crer des images iso et graver le CD.
     _________________________________________________________________

5.3.3. RedHat 8.0 et 7.3

   Une fois encore, beaucoup de choses ont t changes avec la release
   des sries 7.x de la distribution. Il y a maintenant plus d'oprations
    raliser pour obtenir une srie de CDs frais et mis  jour. En
   ralit, le CD a cess d'tre unique avec la release 7.0 et maintenant
   l'arbre doit tre divis pour tenir sur le mdia. Ceci est fait en
   utilisant le script splitdistro, qui est crit en python comme
   beaucoup d'lments de l'installateur anaconda. Pour terminer cette
   partie, vous _devez_ utiliser une machine Linux RedHat 7.3 ou 8.0 avec
   le paquet _anaconda-runtime_ install (il aura probablement la version
   7.3.7 ou 8.0.4), en fonction de la release que vous voulez
   reconstruire. La procdure est compose de sept tapes, qui sont
   places ensemble dans un script shell dans la dernire section:

    i. Regnrer les fichiers hdlist et hdlist2
   ii. Mettre  jour le fichier _comps.xml_
   iii. Reconstruire l'installateur
   iv. Diviser la distribution en plusieurs parties de la taille d'un CD
    v. Regnrer (encore) les fichiers hdlist et hdlist2
   vi. Gnrer les images iso
   vii. Ajouter et vrifier les signatures md5 dans les images iso

   Toutes les tapes sont regroupes dans un seul script prsent dans la
   dernire section.
     _________________________________________________________________

5.3.3.1. Oprations prliminaires sur l'arbre principal

   Quelques uns des scripts inclus dans le paquet anaconda-runtime ont
   besoin de l'arbre principal qui doit tre dplac dans un
   sous-rpertoire nomm comme l'architecture que nous allons construire
   (donc i386/ pour moi). Nous dplacerons tout vers un tel rpertoire
   avant de lancer la procdure et de modifier l'invocation des scripts
   qui n'ont pas besoin de cette modification.

   Pour la RedHat 8.0:
            $ chmod  -R  u+w  /absolute-path-to-toplevel-dir
            $ mkdir  -p  /absolute-path-to-toplevel-dir/i386
            $ cd /absolute-path-to-toplevel-dir
            $ /bin/mv  *  i386

   Vous devez changer << /chemin-absolu-vers-le-rpertoire-haut-niveau >>
   avec le _chemin absolu_ du rpertoire o la racine de votre copie
   locale de la distribution est place (peut-tre quelque part sur un
   disque dur). Vous obtiendrez une erreur,  partir de l'excution de la
   dernire commande, parce que le rpertoire i386/ ne peut tre dplac
   sous lui-mme, mais vous n'avez pas besoin de vous en soucier.

   Pour redhat 7.3:
            $ chmod  -R  u+w  /absolute-path-to-toplevel-dir
            $ mkdir  -p  /absolute-path-to-toplevel-dir/i386
            $ cd /absolute-path-to-toplevel-dir
            $ for i in `ls` ; do [ $i != "SRPMS" -a $i != i386 ] && /bin/mv $i
i386 ; done

   Vous ne devriez recevoir aucun message d'erreur cette fois, aprs la
   dernire commande (avec un peu d'espoir).
     _________________________________________________________________

5.3.3.2. Regnrer les fichiers hdlist et hdlist2

   Ceci est fait au moyen des deux commandes suivantes avec l'aide du
   programme genhdlist.
            $ /usr/lib/anaconda-runtime/genhdlist  /absolute-path-to-toplevel-d
ir/i386
            $ chmod  644 /absolute-path-to-toplevel-dir/i386/RedHat/base/hdlist
{,2}

   Une fois encore, << /chemin-absolu-repertoire-haut-niveau >> est le
   _chemin absolu_ de ce rpertoire o la racine de votre copie locale de
   la distribution est place. La seconde commande est ncessaire pour
   vous assurer que les permissions sont correctes pour ce fichier. Vous
   devez dj avoir une ide de ce que sont ces fichiers si vous avez lu
   le rpertoire RedHat.
     _________________________________________________________________

5.3.3.3. Mettre  jour le fichier _comps.xml_

   Dans RedHat Linux 8.0, le format du fichier comps a compltement
   chang et il est maintenant bas sur XML. Il apporte beaucoup plus de
   flexibilit et de facilit de personnalisation comme vous pouvez le
   lire dans le fichier comps. Si vous avez modifi ou si vous souhaitez
   modifier la liste des paquets installs, vous avez besoin de terminer
   cette tape. Cela implique en retour d'avoir install le paquet
   comps-8.0.tar.gz qui contient le fichier matre comps trouv sur le
   site web de RedHat et le paquet rpm comps-extras. Suivez alors ces
   tapes (seulement pour Redhat 8.0):
            $ cd /some-dir-of-your-choice
            $ tar xzvf /path-to-comps-8.0.tar.gz/comps-8.0.tar.gz
            $ cd comps
            $ make
            $ cat comps-milan.xml |sed 's!</comps>!!g' >comps-tmp.xml
            $ /usr/share/comps-extras/getfullcomps.py  comps.xml \
                 /absolute-path-to-toplevel-dir i386 >> comps-tmp.xml
            $ echo '</comps>' >> comps-tmp.xml
            $ cp comps-tmp.xml /absolute-path-to-toplevel-dir/i386/RedHat/base/
comps.xml

   Avec << /chemin-absolu-repertoire-haut-niveau >>, vous devez prendre
   soin d'assigner les noms valides vers << /rpertoire-de-votre-choix >>
   et << /chemin-vers-comps-8.0.tar.gz >>. Le reste des commandes peut
   simplement etre copi.

   Avant de lancer la commande _make_, vous devez modifier le fichier
   comps-milan.xml.in en utilisant votre diteur de texte favori et en
   suivant les lignes de conduite et les suggestions trouves dans le
   fichier comps et dans la section anaconda comps du site web RedHat.

   Le script prsent dans la dernire section excutera toutes les
   tapes ncessaires aprs la commande _make_, en utilisant la variable
   _COMPSFILE_ pour trouver le fichier comps-milan.xml (il n'a pas besoin
   d'avoir ce nom, j'utilise juste le nom original, mais vous pouvez le
   changer si vous le voulez).

   Si vous utilisez RedHat 7.3, le fichier comps (avez-vous not la
   diffrence de nom...) est un fichier textuel avec une syntaxe
   compltement diffrente dcrite avec plus de dtails dans le fichier
   comps. Dans ce cas, les seules oprations ncessaires modifient le
   fichier pour coller  vos besoins et copier le fichier
   RedHat/base/comps dans l'arbre principal crasant l'original.
     _________________________________________________________________

5.3.3.4. Reconstruire l'installateur

   Ceci reconstruira l'installateur anaconda dans votre copie locale de
   la distribution en utilisant les paquets mis  jour.
            $ /usr/lib/anaconda-runtime/buildinstall  \
                --pkgorder /absolute-path-to-toplevel-dir/pkgorder.txt  \
                --comp dist-8.0 --version 8.0  --release "Redhat 8.0 (Psyche)"
\
                /absolute-path-to-toplevel-dir/i386

   O, une fois encore,
   << /chemin-absolu-vers-le-rpertoire-haut-niveau >> est le rpertoire
   o la racine de votre copie locale de la distribution est place.

   Pour la Redhat 7.3, la procdure est pratiquement la mme:
            $ /usr/lib/anaconda-runtime/buildinstall  \
                --pkgorder /absolute-path-to-toplevel-dir/pkgorder.txt  \
                --comp dist-7.3 --version 7.3 /absolute-path-to-toplevel-dir/i3
86

   L'absence de l'option (obligatoire pour la 8.0) _--release_ est la
   seule diffrence notable.
     _________________________________________________________________

5.3.3.5. Diviser la distribution

   Ceci crera cinq rpertoires, chacun correspondant  un CD diffrent
   et placera dedans des liens physiques vers les fichiers rels contenus
   dans votre copie locale de la distribution.

   Note

   Ceci ne fonctionnera pas du tout pour la RedHat 7.3 si vous n'utilisez
   pas la version modifie du script splitdistro rapport dans le
   prochain paragraphe. Pour RedHat 8.0, une version modifie de
   splitdistro est propose principalement parce que, mme si les
   problmes du script prcdent ont t corrigs, l'excution chouait
   toujours si il n'existait pas suffisament de paquets pour remplir tous
   les CDs (les quatre premiers compltement et le dernier juste
   partiellement).
            $ $/usr/lib/anaconda-runtime/splitdistro  \
              --fileorder /absolute-path-to-toplevel-dir/pkgorder.txt  --releas
e \
                "Redhat 8.0 (Psyche)"  /absolute-path-to-toplevel-dir  i386

   La seule chose que vous avez besoin de changer pour la 7.3 est la
   phrase passe  l'option _--release_ (qui doit tre << Redhat 7.3
   (Valhalla) >>).

   Pour la Redhat 7.3, la version utilise du script (python)
   splitdistro7.3 tait extraite du paquet _anaconda-runtime 7.3.7_ et
   modifie par moi. Vous pouvez le substituer  l'original (peut-tre
   aprs avoir copi ce dernier) nomm
   /usr/lib/anaconda-runtime/splitdistro.

   La seule modification (en dehors de quelques petites corrections) que
   le script a subie est un changement dans son comportement si le
   rpertoire SRPMS n'est pas trouv (il ne se termine pas, mais gnre
   les CDs sans les paquets source).

   Pour la Redhat 8.0, la version utilise du script (python)
   splitdistro8.0 a t extraite du paquet _anaconda-runtime 8.0.4_ et
   modifie une fois encore par moi pour obtenir certaines amliorations
   dont je ressentais le besoin. Vous devez y substituer le fichier
   original (peut-tre aprs avoir copi le dernier) nomm
   /usr/lib/anaconda-runtime/splitdistro. Nanmoins, l'original
   fonctionne bien, si vous voulez construire une distribution qui a tous
   les paquets _SRPMS_ (donc pour remplir tous les cinq CDs, sinon le
   script chouera).

   La seul modification apporte au script est un changement dans son
   comportement si le rpertoire SRPMS n'est pas trouv (il ne se termine
   pas en chouant, mais gnre les CDs sans les paquets source) ou s'il
   y a un CD qui n'a aucun paquet (au lieu d'chouer , le script gnre
   un rpertoire vide).
     _________________________________________________________________

5.3.3.6. Regnrer les fichiers hdlist et hdlist2

   Il est ncessaire de recrer les fichiers hdlist et hdlist2, en
   utilisant quelques unes des informations obtenues dans les tapes
   prcdentes. Il n'y a pas de diffrences entre 7.3 et 8.0 pour
   l'excution du programme. La commande  envoyer est la suivante:
             $ /usr/lib/anaconda-runtime/genhdlist  \
                 --fileorder /absolute-path-to-toplevel-dir/pkgorder.txt  --wit
hnumbers \
                 /absolute-path-to-toplevel-dir/i386-disc[1-3]

   Comme vous pouvez le voir, il y a deux nouvelles options passes au
   programme, si vous vous rappellez le premier lancement. Le premier,
   _--fileorder_, indique  genhdlist d'utiliser le fichier pkgorder.txt
   que nous avons gnr lors de la seconde tape (reconstruire
   l'installateur). Ce fichier garde les informations sur la division des
   paquets sur les diffrents CDs, et est utilis par l'installateur pour
   dterminer dans quel ordre les paquets doivent tre installs. De
   manire simple, si vous ne l'utilisez pas, vous finirez probablement
   en changeant les diffrents CDs plusieurs fois durant l'installation.
   L'option _--withnumbers_ est ncessaire pour associer un numro de CD
    chaque paquet (comme vous le voyez, une expression rgulire
   indiquant les trois premires images iso est utilise).
     _________________________________________________________________

5.3.3.7. Gnrer les images iso

   Ici, vous prparez les cinq images iso  graver sur les CDs actuels.
   Il y a deux commandes diffrentes  utiliser pour le premier disque et
   pour le reste. Ceci est d au besoin d'obtenir un premier CD qui soit
   amorable. Ceci n'est pas strictement ncessaire parce que vous pouvez
   utiliser une disquette de dmarrage  la place, mais il s'agit d'une
   fonctionnalit intressante (et elle rend le comportement de vos
   disques plus similaire aux originaux). Il existe des commandes que
   j'utilise pour terminer la tche:

              $ mkdir /images-destination-dir
              $ mkisofs  -r  -J  -T  -v  -V "Red Hat 8.0 (Psyche) disc 1" \
                  -c isolinux/boot.cat  -b isolinux/isolinux.bin -no-emul-boot
\
                  -boot-load-size 4 -boot-info-table -o /images-destination-dir
/i386-disc1.iso .

   Cela est ncessaire pour graver le premier disque (amorable) pour la
   RedHat 8.0 (sans mulation de disquette) et c'est excut  partir du
   rpertoire haut-niveau de la distribution. Le rpertoire
   /repertoire-destination-images est le contenant pour les cinq images
   iso que vous avez gnres, et il doit exister avant de lancer la
   procdure.

              $ mkdir /images-destination-dir
              $ mkisofs  -r  -J  -T  -v  -V "Red Hat 7.3 (Valhalla) disc 1" \
                  -c boot.cat  -b dosutils/autoboot/boot.img \
                  -o /images-destination-dir/i386-disc1.iso .

   Il est ncessaire de graver le premier disque (amorable) sur la 7.3
   et de l'excuter  partir du rpertoire haut-niveau de la distribution
   (cette fois avec une mulation de disquette).

   Le reste des images peut tre crit au moyen d'une boucle << for >>
              $  for i in `echo 2 3 4 5` ; do mkisofs  -r  -J  -T  -v  \
                   -V "Red Hat 8.0 (Psyche) disc ${i}"  \
                   -o /images-destination-dir/i386-disc${i}.iso . ; done

   La boucle prsente va prparer les quatre dernires images en leur
   donnant les bons numros. Comme vous pouvez le voir, il y a deux
   options manquantes  partir du premier lancement, et, comme vous
   pouvez le deviner, elles sont ncessaires uniquement pour crer un CD
   amorable. Dans crer des images iso, vous pouvez lire une brve
   explication sur les diffrentes options et leur significations (la
   plupart ont t extraites des pages man).
     _________________________________________________________________

5.3.3.8. Implanter et vrifier les signatures md5 dans les images iso

   C'est une tape optionnelle mais elle permet l'utilisation de l'option
   << checkmedia >> pour vrifier les signatures des CDs avant de les
   installer, et donc de garantir leur correction.

   Les commandes suivantes permettent d'injecter ou de vrifier une
   signature md5 sur une image iso:
            $ /usr/lib/anaconda/implantisomd5 iso-image
            $ /usr/lib/anaconda/checkisomd5 iso-image

   Aprs avoir fini toutes ces tapes, nous aurons les cinq images CD 
   graver. Considrant que taper tout ceci prend du temps, dans la
   prochaine section sera prsent un script qui ralisera toutes les
   oprations listes en une seule fois (n'oubliez pas de configurer les
   paramtres proprement).
     _________________________________________________________________

5.3.3.9. Runir toutes les tapes

   Le script updateBuild.sh excutera toutes les tapes ncessaires pour
   reconstruire les CDs de distribution pour la RedHat 7.3 ou 8.0 en un
   seul lancement (ralis en tant que root). Avant d'utiliser ce script,
   vous devez configurer le fichier rhcd.conf aprs l'exportation d'une
   variable _RHCDPATH_ pointant vers le rpertoire o se trouve ce
   fichier. Si vous voulez inclure le fichier _comps.xml_ modifi (ou
   _comps_) dans vos CDs comme expliqu dans le fichier comps, vous devrez
   le copier  l'emplacement dfini au moyen de la variable _COMPSFILE_
   maintenant (avant d'excuter le script). N'oubliez pas d'ajouter le
   script modifi splitdistro dans le rpertoire
   /usr/lib/anaconda-runtime si vous en avez besoin.

            # export RHCDPATH=/home/luigi/tmp/rhcd-scripts
            # sh updateBuild.sh
     _________________________________________________________________

6. Graver les CD(s)

   Cette tape est compose d'une partie optionnelle et d'une partie
   obligatoire. Rappellez-vous que vous avez, probablement, besoin d'tre
   << root >> sur votre machine pour lancer cdrecord.
     _________________________________________________________________

6.1. Tester l'image ou les images

   Si vous tes paranoaque, vous pouvez tester votre nouvelle image
   disque en la montant. Si vous oubliez de corriger les permissions des
   fichiers ou de mettre en place les extensions rock ridge, alors
   l'erreur sera vidente comme les noms de fichier et la structure des
   rpertoires seront errons. Le test (optionnel) peut tre ralis en
   tapant la commande suivante:


        # mount -t iso9660 -o ro,loop=/dev/loop0 iso-image /mnt/cdrom

   O << iso-image >> est le nom que vous avez donn  l'image iso 
   monter (qui doit tre seule pour les releases suprieures ou gales 
   la 6.2). Quand vous avez termin, n'oubliez pas de la dmonter.

        # umount /mnt/cdrom
     _________________________________________________________________

6.2. Graver le(s) disque(s)

   Assurez-vous que vous avez mis en place les bons paramtres pour votre
   priphrique. Par exemple, cette commande est pour un graveur 4x, ce
   qui est assez lent. De plus, il est vrifi que le graveur CD est ici
   sur le bus SCSI numro 0, avec l'ID 0, LUN 0 (vous pouvez obtenir ces
   valeurs en lanant un _cdrecord -scanbus_ et assignez-les au paramtre
   _-dev=_).

        # cdrecord -v speed=4 dev=0,0,0 /images-destination-dir/disc1.img
     _________________________________________________________________

7. Le fichier comps

   Le fichier comps dfinit comment les paquets seront assembls durant
   l'installation. Dans la distribution RedHat, ceci est fait selon la
   fonctionnalit qu'ils procurent, par exemple:

     * Support Imprimantes
     * Systme X Window
     * GNOME
     * KDE
     * Outils Mail/WWW/News
     * ...
     * Dveloppement du Noyau
     * Documentation Supplmentaire

   Quelquefois durant le processus d'installation, l'utilisateur se
   trouve face  une fentre appele "Composants  installer".
   Quelques-uns des composants ont t prslectionns, d'autres non. Le
   dernier point sur la liste des composants est appel "Tout". Sur la
   fentre, il existe aussi une option qui permet  l'utilisateur de
   personnaliser trs prcisment la liste des paquets qui seront
   installs. Personnaliser l'installation  la main, ou slectionner
   "Tout" dans la liste des composants est le seul moyen d'avoir vos
   propres paquets installs, sauf si vous modifiez le fichier
   RedHat/base/comps.
     _________________________________________________________________

7.1. Format du fichier comps pour RedHat versions < 6.1

   Le fichier comps commence avec un entte dcrivant la version du
   format comps, suivie d'une ligne vide.
        0.1
        <empty line>

   Aprs ceci, les composants sont lists, spars par des lignes vides:
        <composant 1>
        <ligne vide>
        <composant 2>
        <ligne vide>
        ....
        <composant n>
        <ligne vide>
        EOF

   Chaque composant a la dfinition suivante:
        (0|1) (--hide)? <name>
        <RPM 1>
        <RPM 2>
        ...
        <RPM n>
        end

   Avant le nom de chaque composant est plac un 0 ou un 1. Une valeur de
   1  cet endroit veut dire que le composant est choisi par dfaut, et
   un 0 veut dire le contraire. L'option _--hide_ veut dire que vous ne
   pouvez pas voir l'entre, sauf si vous choisissez l'installation << en
   mode expert >>. Le premier composant est appel << Base >>, et il est
   spcial, dans le sens o il _doit_ tre prsent et qu'il n'apparait
   pas dans le dialogue (vous ne pouvez pas dslectionner l'installation
   de la base, ce qui est sens). Suit une liste de paquets RPM
   appartenant  ce composant. Notez qu'il s'agit du nom du paquet stock
   _dans le fichier rpm_, et _non pas_ d'une partie du nom du fichier du
   paquet (bien qu'il doive tre identique par convention).

   En ajoutant vos paquets au fichier comps, vous pouvez personnaliser
   votre propre distribution, et vous assurer que vos paquets seront
   installs par dfaut. Une chose  laquelle vous devez porter attention
   est l'interdpendance entre vos paquets, mais ici c'est  vous de
   jouer :-) Un mot pour vous prvenir: faites attention de ne pas
   ajouter ou supprimer les espaces blancs supplmentaires dans le
   fichier. Examinez le fichier comps existant (faites une copie de
   l'original) pour voir comment il est fait (ou vrifiez
   i386/misc/src/install/pkgs.c si vous voulez voir comment le fichier
   est analys).
     _________________________________________________________________

7.2. Format du fichier comps pour RedHat version 6.1

   Avec RedHat version 6.1, le format du fichier comps a chang. Le
   dcodage s'effectue dans ${RHROOT}/${ARCH}/misc/src/anaconda/comps.py.
   Je n'ai pas encore analys ce script python et les rgles suivantes
   ont t obtenues seulement en lisant le fichier comps et en testant
   quelques configurations.

   Dans la release 6.1, la dfinition du _composant_ est tendue pour
   inclure quelques lments optionnels supplmentaires avant les
   _<RPM>_. Ces lements sont:
          <RPM-dpendant-de-architecture 1>
          ...
          <RPM-dpendant-de-architecture n>
          <composant-requis 1>
          ...
          <composant-requis n>
          <RPM-composant-dpendant 1>
          ...
          <RPM-composant-dpendant n>

   Un <RPM-dpendant-de-architecture> dfinit une dpendance entre un
   paquet et une architecture spcifique et a la dfinition suivante:
          (!)?arch: <RPM>

   Donc il peut, par exemple, se prsenter, dans le monde rel, comme:
          !alpha: kernelcfg

   ce qui veut dire: si l'architecture n'est pas alpha alors il faut
   installer le paquet _kernelcfg_.

   Ou comme:
          i386: mkbootdisk

   Ce qui veut dire: si l'architecture est i386 alors il faut installer
   le paquet _mkbootdisk_

   Un <composant-requis> renforce la dpendance avec un autre composant
   et il est dfini comme:
          @ <component>

   Donc, par exemple, si  l'intrieur de la dfinition d'un composant,
   vous trouvez la ligne suivante:
          @ Station Rseau

   cela veut dire que le composant lui-mme a besoin de l'installation
   d'un autre composant nomm _Station Rseau_.

   Un <RPM-composant-dpendant> est utilis pour slectionner
   l'installation de quelques paquets additionnels pour un composant,
   tant donn la prsence d'un autre composant. Sa dfinition est la
   suivante:
          ? <composant> {
            <RPM 1>
            ...
            <RPM n>
          }

   Donc si, par exemple, dans la dfinition d'un composant, il vous
   arrive de lire les lignes suivantes:
        ? KDE {
          kpppload
        }

   alors si le composant _KDE_ est install, le paquet _kpppload_ sera
   install avec les paquets inclus dans le composant o la dfinition se
   trouve.
     _________________________________________________________________

7.3. Format du fichier comps dans RedHat version 6.2

   Avec RedHat version 6.2, le format du fichier comps a apparemment un
   peu chang. Le dcodage se fait aussi dans
   ${RHROOT}/${ARCH}/misc/src/anaconda/comps.py. Encore une fois, je n'ai
   pas analys ce script python et les rgles suivantes ont t obtenues
   seulement en lisant le fichier et en testant quelques configurations.

   Dans la release 6.2, la dfinition du composant est tendue pour
   inclure deux lments optionnels supplmentaires:
        <RPM-dpendant-language 1>
        ...
        <RPM-dpendant-language n>
        <composant-dpendant-architecture 1>
        ...
        <composant-dpendant-architecture n>

   Un _<RPM-dpendant-language>_ est ncessaire pour spcifier
   l'installation d'un paquet au cas o une langue spcifique a t
   slectionne. C'est dfini ainsi:
        (lang <language>): <RPM>

   Par exemple, la ligne suivante
        (lang ja_JP)): locale-ja

   veut dire: si la langue japonaise est slectionne, alors il faut
   installer le paquet _locale-ja_ avec les autres paquets installs pour
   ce composant.

   Un _<composant-dpendant-architecture>_ tend le concept du
   _<RPM-dpendant-architecture>_, introduit lors de la release 6.1, au
   composant entier, comme vous pouvez le comprendre  la lecture de sa
   dfinition:
        (!)?arch: <component>
     _________________________________________________________________

7.4. Format d'un fichier comps dans la RedHat version 7.3

   Avec la RedHat version 7.3, le format du fichier comps a gagn en
   syntaxe. Le dcodage prend place (encore) dans le script comps.py, que
   vous pouvez maintenant trouver dans le rpertoire /usr/lib/anaconda/
   si vous avez install le paquet _anaconda_. Les dpendances sur une
   langue ou sur une architecture pour un composant ou un paquet peuvent
   maintenant tre lies avec l'oprateur _and_. Par exemple:
        (arch !s390 and arch !s390x and arch !ia64): readline2.2.1

   ce qui veut dire que si l'architecture n'est ni s390, ni s390x, ni
   ia64, alors il faut installer le paquet readline2.2.1. Ceci peut tre
   fait avec des composants au lieu des paquets, et avec des langues  la
   place des architectures. Tout ceci est dfinitivement plus qu'assez
   pour les simples exemples de personnalisation de l'installation par
   dfaut qui seront prsents dans la prochaine section.
     _________________________________________________________________

7.4.1. Personnaliser l'installation par dfaut de la RedHat version 7.3

   L'exemple que nous allons parcourir dans cette section implique des
   modifications dans le fichier _comps_ pour changer les valeurs par
   dfaut qui concernent l'installation des paquets. Je prfre
   habituellement, particulirement dans certaines situations, une
   installation par dfaut incluant seulement les paquets de base, avec
   quelques lgres modifications pour certains d'entre eux. Dans le
   premier des exemples prsents, nous construirons une installation par
   dfaut qui ajoute _libsafe_ au composant << Base >>, dont la plupart
   des paquets, qui sont gnralement installs par dfaut, sont
   dselectionns, dans le but de construire une installation minimale.
   Dans le second des exemples, nous modifierons quelques-uns des
   composants pour construire une autre installation minimale qui remplit
   nos besoins (cette fois, pratiquement parfaitement; ce sont, en fait,
   mes besoins, les vtres peuvent varier). Si vous voulez inclure un
   fichier _comps_ modifi dans vos CDs, vous devez le copier dans
   l'arbre principal juste avant de lancer reconstruire l'installateur
   7.3 ou 8.0.
     _________________________________________________________________

7.4.1.1. Ajouter des RPMS et dslectionner les composants par dfaut

   Pour personnaliser votre installation de cette faon, vous devez
   diter le fichier comps avec votre diteur de texte favori (faites
   attention  ne pas laisser d'espaces ou de tabulations dans ce
   fichier) et le dplacer dans le rpertoire Redhat/base en crasant
   l'original.

   Dans le premier fichier comps inclus, le paquet _libsafe_ tait ajout
   dans le composant << Base system >> et presque tous les composants
   taient dslectionns pour obtenir une installation par dfaut
   comportant seulement 200 paquets (je sais qu'ils sont encore trop
   nombreux).
     _________________________________________________________________

7.4.1.2. Modifier quelques-uns des composants standards

   Nous construisons le deuxime fichier comps ci-joint  partir de
   l'tape prcdente, pour rduire un peu plus l'installation par dfaut
   (cette fois, il n'y aura plus que 154 paquets dans l'installation par
   dfaut). Quelques-uns des groupes ont t divis pour donner 
   l'installation plus de granularit. Toutes les modifications que vous
   faites doivent prendre en compte les interdpendances entre paquets et
   les applications utilises durant les phases d'installation (vous ne
   pouvez pas supprimer _kudzu_, par exemple, du composant _Base_, mme
   si vous pouvez le faire aprs installation). Il doit tre dit que des
   rsultats similaires peuvent tre obtenus en utilisant _kickstart_.
   Pour plus d'informations  ce propos, vous pouvez lire le Guide de
   Personnalisation de RedHat Linux.
     _________________________________________________________________

7.5. Format du fichier comps  partir de RedHat version 8.0

   Avec la RedHat version 8.0, le format du fichier comps a t
   compltement chang et on utilise maintenant un fichier XML, nomm
   comps.xml. Les dtails sur la syntaxe du fichier peuvent tre trouvs
   dans la section anaconda comps du site web de RedHat.
     _________________________________________________________________

7.5.1. Personnaliser l'installation par dfaut de la RedHat version 8.0

   Nous reproduirons maintenant les exemples prsents pour la release
   7.3 en prenant en compte les modifications soumises aux diffrents
   groupes. Le groupe le plus important (le groupe << Base >>, divis ici
   en deux groupes nomms << Base >> et << Core >>) doit reprsenter
   l'installation minimale.
     _________________________________________________________________

7.5.1.1. Notre premier exemple revisit...

   Cette fois, pour personnaliser votre installation, vous devez diter
   le fichier comps-milan.xml.in avec votre diteur de texte favori. Le
   fichier peut tre trouv dans l'archive comps-8.0.tar.gz sur le site
   web de RedHat. Pour ajouter les informations de paquets au fichier que
   vous venez de crer, vous avez besoin d'avoir install le paquet rpm
   comps-extras. Les commandes  lancer pour terminer les oprations sont
   listes dans mettre  jour comps.xml et dans la documentation. Aprs
   avoir cr le fichier, vous devez le copier dans le rpertoire
   Redhat/base en crasant l'original. Si vous utilisez le script
   updateBuild.sh, vous devez seulement copier comps-milan.xml (aprs
   avoir modifi comps-milan.xml.in qui se trouve dans le paquet tar/gzip
   comps-8.0.tar.gz et lanc la commande _make_),  l'emplacement que
   vous avez dj configur dans la variable _COMPSFILE_ (dans
   rhcd.conf).

   Dans le premier fichier comps ci-joint, le paquet _libsafe_ a t
   ajout au groupe (composant) << Base >> et pratiquement tous les
   groupes (composants) ont t dselectionns, sauf << Base >> et
   << Core >>, pour avoir une installation par dfaut de seulement 220
   paquets environ (probablement trop nombreux, encore une fois).
     _________________________________________________________________

7.5.1.2. Notre deuxime exemple revisit...

   Nous construisons le deuxime fichier comps ci-joint sur la prcdente
   configuration et rduisons un peu plus l'installation par dfaut
   (cette fois, il restera seulement 158 paquets de l'installation par
   dfaut). Encore une fois, des rsultats similaires peuvent tre
   obtenus en utilisant _kickstart_, pour plus d'informations  ce
   propos, vous pouvez lire le Guide de Personnalisation de la RedHat
   Linux. Dans cet exemple, je n'ai pas dslectionn compltement
   l'installation du groupe, parce qu'il y a trop de paquets que
   j'utilise, donc j'ai juste dslectionn l'installation par dfaut
   pour ces paquets en les rendant optionnels. Comme vous pouvez le voir,
   mme le paquet redhat-logos dans le groupe << Base >> a t rendu
   optionnel. En considrant que les paquets prsents dans ce groupe
   doivent reprsenter la _plus petite installation possible_, vous ne
   voudrez probablement pas le faire (de plus, mes CDs fonctionnent mme
   ainsi; il doit exister quelques problmes que je n'ai pas encore
   dtects). La dernire modification visible a t faite au groupe
   << dialup >>, qui sera install mme s'il est dslectionn, parce que
   le groupe << core >> en dpend (ce qui est indiqu dans la dfinition
   du groupe lui-mme).
     _________________________________________________________________

8. Installer  partir du CD

   Lors de l'installation  partir du nouveau CD, vous pourriez avoir
   tout d'abord besoin de crer une disquette d'installation amorable.
   _IMPORTANT: utilisez une NOUVELLE disquette, tout juste formate
   MS-DOS!_. Utiliser une vieille disquette peut provoquer des problmes
   tranges lors de l'installation! Sur un systme Linux, vous pouvez
   crer la disquette en utilisant la commande dd:

      $ dd if=/mnt/cdrom/images/boot.img of=/dev/fd0 bs=1440k

   Sur un systme tournant sous DOS ou Windows-9x, vous avez besoin
   d'utiliser le programme rawrite.exe, disponible sur le CD dans le
   rpertoire dosutils. Sur une machine sous Windows-9x/Me/NT/2k, vous
   pouvez utiliser rawritewin.exe situ dans le rpertoire
   dosutils/rawritewin.

   Arrtez la machine sur laquelle vous voulez l'installer (ou faire une
   mise  jour du systme), insrez la disquette de dmarrage et votre CD
   tout juste grav, et laissez la machine dmarrer  partir de la
   disquette. Pour plus d'informations sur le processus d'installation,
   voir les documents et le Installation-HOWTO ou le Bootdisk-HOWTO.
     _________________________________________________________________

8.1. Dmarrer d'un CD amorable

   La plupart des machines modernes sont capables de dmarrer  partir
   d'un CD,  condition qu'il soit rendu amorable avec la procdure
   indique dans la section crer des images iso. Souvent, nanmoins,
   vous avez besoin de changer le paramtrage du BIOS pour permettre le
   dmarrage  partir du lecteur de CD. Voir la documentation de votre
   carte-mre pour savoir comment le faire.
     _________________________________________________________________

9. Autres distributions Linux

   Les informations prsentes dans les prcdentes versions de ce howto
   (=<1.34), et reportes dans ce prsent document, s'appliquant aux
   releases jusqu' la 6.1 de RedHat Linux comprise, sont supposes
   s'appliquer  toutes les distributions clones de RedHat, telle que la
   distributionMandrake. Malgr tout, la procdure est reporte comme non
   teste (comme vous pouvez le lire dans le howto lui-mme).

   Des considrations similaires s'appliquent  la distribution LinuxPPC
   pour Apple PowerMacs. Pour crer une distribution pour la plateforme
   PowerMac, vous avez besoin d'utiliser mkhybrid au lieu de mkisofs et
   ce doit tre la seule diffrence.

   Les informations apportes pour les nouvelles releases de RedHat
   (>6.1) ne doivent pas fonctionner avec Mandrake, qui a maintenant un
   installateur vraiment diffrent de celui de RedHat. Je ne sais
   vraiment pas si quelques autres clones de RedHat peuvent avoir leur
   distribution CDs mise  jour de cette faon, mais je serais heureux
   que vous me le disiez.
     _________________________________________________________________

10. Ce document...

   Le source SGML de la plus rcente version de ce document peut tre
   trouve  partir d'ici.
     _________________________________________________________________

10.1. Documents en rapport

10.1.1. Documentation en rapport  la version actuelle

   Les documents suivantes ont t utiles pour la cration de ce howto:

   Le mini-HOWTO (non officiel) sur l'installateur personnalis pour la
   RedHat 7, par Tony Nugent, que vous pouvez trouver sur
   www.linuxworks.com.au

   Miguel Freitas a crit le mini-HOWTO CDs RedHat7, que vous pouvez lire
   sur ce site web.

   Ron Yorston a crit le document rpmhack, intressant pour la release
   6.2 de Redhat Linux.

   Quelqu'un (je n'ai pas trouv son nom) a crit le document Construire
   un CDROM Red Hat Linux 6.2, utile pour la release 6.2.
     _________________________________________________________________

10.1.2. Documentation en rapport  l'dition prcdente

   Avec le sens des bonnes choses dans la vie, Jussi Torhonen de Finland
   <jussi.torhonen@tietosavo.fi> nous dit comment crer un CD-ROM RedHat
   Linux 5.2 amorable fait--la-maison.

   A partir du LDP, voir le CD-writing HOWTO.
     _________________________________________________________________

10.2. Remerciements

   A part ceux mentionns ci-dessus, je remercie les personnes suivantes
   pour les informations de valeur, les retours d'informations,
   discussions et autres:
     _________________________________________________________________

10.2.1. Remerciement pour la version actuelle

     * Morten Kjeldgaard, <mok@imsb.au.dk>
     * Peter von der Ah, <pahe+rhcd@daimi.au.dk>
     * Jacinta Conneely
     * Filippo Carcaci
     * Riccardo Casula <riccardo.casula@inrete.it>
     * Guillaume Lelarge <gleu@wanadoo.fr>
     _________________________________________________________________

10.2.2. Remerciements pour les versions prcdentes

     * Lars Christensen <larsch@cs.auc.dk>
     * Thomas Duffy <tbd@cs.brown.edu>
     * Dawn Endico <dawn@math.wayne.edu>
     * Seva <seva@null.cc.uic.edu>
     * Michael Thomas Cope <mcope@orion.ac.hmc.edu>
     * Charles J. Fisher <charles_fisher@bigfoot.com>
     * Eric Thomas <eric.thomas@ericsson.com>
     * Gordon Yuen <gdccyuen@yahoo.com>
     * Dave Morse <morse@nichimen.com>
     _________________________________________________________________

11. Adaptation franaise

11.1. Traduction

   La traduction franaise de ce document a t ralise par Guillaume
   Lelarge <gleu@wanadoo.fr>.
     _________________________________________________________________

11.2. Relecture

   La relecture de ce document a t ralise par Guillaume Hatt
   <ghatt@netcourrier.com>.
