<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [

<!-- Liens stables -->

<!ENTITY howto      "http://www.traduc.org/docs/howto/lecture/">
<!ENTITY guides     "http://www.traduc.org/docs/guides/lecture/">
<!ENTITY outils     "outils/RedHat-CD-HOWTO/">

<!-- Page de garde des projets -->

<!ENTITY traducorg  "http://www.traduc.org">
<!ENTITY ldp        "http://www.tldp.org/">

<!-- Code source du document -->

<!ENTITY source-vo  "http://www.tldp.org/HOWTO/RedHat-CD-HOWTO/RedHat-CD-HOWTO">
<!ENTITY source-vf  "ftp://ftp.traduc.org/pub/traduc.org/doc-vf/HOWTO/telechargement/sgml/">

]>

<article lang="fr">

<articleinfo>
  <title>
    Guide pratique de gravure d'un CD RedHat
  </title>
  <subtitle>
      Adaptation française du <emphasis>Burning a RedHat
      CD HOWTO</emphasis>
  </subtitle>

  <authorgroup>
    <author>
      <firstname>Luigi</firstname>
      <surname>Bitonti</surname>
      <authorblurb>
        <para>
          Auteur et mainteneur de la version actuelle.
        </para>
      </authorblurb>
      <email>uknadors CHEZ yahoo POINT com</email>
    </author> 

    <author>
      <firstname>Morten</firstname>
      <surname>Kjeldgaard</surname>
      <authorblurb>
        <para>
          Auteur de la version originale.
        </para>
      </authorblurb>
    </author> 

    <author>
      <firstname>Peter</firstname>
      <surname>von der Ahé</surname>
      <authorblurb>
        <para>
          Auteur de la version originale.
        </para>
      </authorblurb>
    </author> 
  </authorgroup>

  <othercredit role="traduction">
    <firstname>Guillaume</firstname>
    <surname>Lelarge</surname>
    <contrib>Vérification et traduction française</contrib>
    <email>gleu CHEZ wanadoo POINT fr</email>
  </othercredit>

  <othercredit role="relecture">
    <firstname>Guillaume</firstname>
    <surname>Hatt</surname>
    <contrib>Relecture de la version française</contrib>
    <email>ghatt CHEZ netcourrier POINT com</email>
  </othercredit>

  <othercredit role="relecture">
    <firstname>Jean-Philippe</firstname>
    <surname>Guérard</surname>
    <contrib>Relecture de la version française</contrib>
    <email>fevrier CHEZ tigreraye POINT org</email>
  </othercredit>

  <othercredit role="publication">
    <firstname>Jean-Philippe</firstname>
    <surname>Guérard</surname>
    <contrib>Préparation de la publication de la v.f.</contrib>
    <email>fevrier CHEZ tigreraye POINT org</email>
  </othercredit>

  <pubdate>2004-11-01</pubdate>
  <releaseinfo>Version&nbsp;: 2.1.fr.1.1</releaseinfo>

  <revhistory>
    <revision>
      <revnumber>2.1.fr.1.1</revnumber>
      <date>2004-11-01</date>
      <authorinitials>GL, GH, JPG</authorinitials>
    </revision>
    <revision>
      <revnumber>2.1.fr.1.0</revnumber>
      <date>2003-12-07</date>
      <authorinitials>GL, GH</authorinitials>
    </revision>
    <revision>
      <revnumber>2.1</revnumber>
      <date>2003-10-17</date>
      <authorinitials>LB</authorinitials>
      <revremark>
      
          Ajout de la Redhat&nbsp;9. Correction de quelques bogues mineurs. Merci à
          tous ceux qui ont envoyé des commentaires et des correctifs.
          (<emphasis>Added RedHat 9. Fixed some minor bugs. Thanks to all
          the people who have sent in comments and patches.</emphasis>)
	  
      </revremark>
    </revision>
    <revision>
      <revnumber>2.03.fr.1.0</revnumber>
      <date>2003-08-18</date>
      <authorinitials>GL, GH, JPG</authorinitials>
    </revision>
    <revision>
      <revnumber>2.03</revnumber>
      <date>2003-03-10</date>
      <authorinitials>LB</authorinitials>
      <revremark>
      
          Ajout de quelques commentaires et corrections pour le guide pratique.
          Les mises à jour anaconda sont maintenant incluses y compris
          les versions&nbsp;7.x et plus.
      
          (<emphasis>Added some comments and fixes to the howto.
          The anaconda updates are now included correctly even for versions
          >= 7.x.</emphasis>)
	  
      </revremark>
    </revision>
    <revision>
      <revnumber>2.02</revnumber>
      <date>2003-03-06</date>
      <authorinitials>LB</authorinitials>
      <revremark>

          La vérification de la signature fonctionne maintenant pour les
          paquets ciblés pour d'autres versions de la distribution
          RedHat que celle utilisée pour lancer les scripts. Correction
          d'un bogue dans la section de comparaison de version des
          scripts.

          (<emphasis>The signature checking now works for packages targeted
          to versions of RedHat different from the one used to run the scripts.
          Corrected a bug in the version comparison section of the
          scripts.</emphasis>)
	  
      </revremark>
    </revision>
    <revision>
      <revnumber>2.01</revnumber>
      <date>2002-12-04</date>
      <authorinitials>LB</authorinitials>
      <revremark>

          Deuxième édition de la nouvelle version de ce guide pratique.
          Tous les scripts ont été revus et nettoyés. Le script
          updateDist.sh vérifie maintenant que toutes les mises à jour
          ont été téléchargées avant de vérifier les signatures.

          (<emphasis>Second release of the new version of the howto.
          All the scripts were reviewed and cleaned. The updateDist.sh
          script now checks that all the updates were downloaded before checking
          the signatures.</emphasis>)
	  
      </revremark>
    </revision>
    <revision>
      <revnumber>2.0</revnumber>
      <date>2002-10-28</date>
      <authorinitials>LB</authorinitials>
      <revremark>
      
          Première édition de la version&nbsp;2 de ce guide pratique.
      
          (<emphasis>First release of the new version (2.00) of the
          HOWTO</emphasis>)
      </revremark>
    </revision>
  </revhistory> 

  <copyright>
    <year>2000</year>
    <holder>Morten Kjeldgaard</holder>
    <holder>Peter von der Ahé</holder>
  </copyright>

  <copyright>
    <year>2002</year>
    <year>2003</year>
    <holder>Luigi Bitonti</holder>
  </copyright>

  <copyright>
    <year>2003</year>
    <year>2004</year>
    <holder>Guillaume Lelarge</holder>
    <holder>Guillaume Hatt</holder>
    <holder>Jean-Philippe Guérard</holder>
  </copyright>

  <abstract><para>

      Ce document explique comment créer vos propres CD à partir des
      différentes versions de la distribution Linux RedHat (jusqu'à la
      version&nbsp;9), équivalents à ceux que RedHat commercialise. La
      structure de la distribution est décrite, ainsi que la procédure
      d'inclusion de paquets RPM mis à jour. Il donne quelques conseils
      et quelques exemples de personnalisation de l'installation par
      défaut. Ce document contient également des scripts automatisant
      autant que possible la (re)génération des images CD. Créer vos
      propres CD ne demandera qu'une bonne connexion réseau et un
      graveur de CD (une connaissance des scripts shells peut aussi être
      utile).

  </para></abstract>
  
</articleinfo> 

<sect1 id="introduction" xreflabel="introduction">

  <title>Introduction</title>

  <para>

    Il existe de nombreuses raisons de créer vos propres CD. Peut-être
    êtes-vous avare et voulez-vous économiser le prix d'une <ulink
    url="http://www.redhat.fr/">distribution Red Hat</ulink>. Ou
    peut-être souhaitez-vous graver des CD contenant la plus récente
    distribution et toutes les dernières mises à jour. C'est très
    pertinent car après chaque version majeure de la distribution
    RedHat, de nombreuses mises à jour sont publiées, dont un certain
    nombre relatives à la sécurité. Jetez juste un &oelig;il sur la
    <ulink url="https://www.redhat.com/security/archives.html">page
    d'errata</ulink>. Ou peut-être voulez-vous personnaliser
    l'installation par défaut en ajoutant quelques paquets absents et en
    en retirant certains autres.

  </para>
  <para>

    Voici ce que vous apprendrez dans les sections suivantes (je
    l'espère). Les exemples seront basés sur les versions&nbsp;7.3, 8.0 et 9
    de la distribution. Les notes relatives aux versions précédentes
    (&lt;6.1) proviennent d'une version précédente et ont été rassemblées
    par les auteurs originaux. Les notes relatives à la version&nbsp;6.2 sont
    basées sur des essais que je n'ai pas terminés (et je ne sais pas si
    je les terminerai) et sur quelques documents que vous trouverez dans
    la section <xref linkend="references"/>. La procédure donnée dans
    les sections suivantes pour Redhat&nbsp;7.3 et 8.0 peut fonctionner sur
    toutes les plates-formes compatibles avec cette distribution (Alpha,
    PPC et cætera), pour toutes les versions&nbsp;7.x (et peut-être les
    versions&nbsp;8.x et 9 dans un avenir pas si lointain) mais je l'ai
    seulement essayée sur la plate-forme i386 avec le Linux Redhat&nbsp;7.3,
    8.0 et 9 (je serais intéressé par plus d'informations).

  </para> 
    <note>
      <para>

        Les opérations décrites ont des implications légales, ce qui
        veut dire que vous ne pouvez pas redistribuer les CD en tant que
        RedHat Linux si vous les avez modifiés de façon non conforme à
        la politique de RedHat. Pour les rendre légalement
        redistribuables, vous devez d'abord appliquer les lignes de
        conduites indiquées sur le <ulink
        url="http://www.redhat.com/about/corporate/trademark/">site web
        de RedHat</ulink>.

      </para>
    </note>
   <note>
      <para>

      Rappelez-vous de toujours mettre en place les variables dans
      <filename>rhcd.conf</filename> et d'<emphasis>exporter</emphasis>
      la variable d'environnement <literal>RHCDPATH</literal> avant de
      lancer les scripts que vous trouverez tout au long du reste de ce
      document et en relation avec les versions supérieures ou égales à
      la 6.2 de la RedHat Linux. Un fichier <ulink
      url="&outils;rhcd-scripts/rhcd.conf">rhcd.conf</ulink> d'exemple,
      qui devrait être bien commenté, est donné avec les scripts.

      </para>
    </note>

  <sect2 id="avertissement" xreflabel="avertissement">
    <title>Avertissement et licence</title>
    <para>
    
      Ce document est distribué dans l'espoir qu'il sera utile, mais
      SANS AUCUNE GARANTIE&nbsp;; sans même la garantie implicite de
      qualité loyale et marchande ou d'exactitude pour un usage
      particulier.
    
    </para>
    <para>
    
      Ni l'auteur ni les distributeurs, ou tout autre contributeur de ce
      document, ne sont de quelque façon que ce soit responsables pour
      les dommages physiques, financiers, moraux ou de tout autre type,
      occasionnés en suivant les suggestions de ce texte.
      
    </para>
  </sect2>
</sect1>


<sect1 id="redhat-ftp-site" xreflabel="le site ftp Redhat">
  <title>Anatomie du site FTP de Red Hat</title>
  <para>

    Dans l'esprit de la communauté Linux, la société RedHat a rendu
    disponible ses distributions Linux pour plusieurs plates-formes sur
    son site FTP. Elles sont toutes disponibles à partir de la racine du
    répertoire de distribution (<ulink
    url="ftp://ftp.redhat.com/pub/redhat/linux/">pub/redhat/linux/</ulink>).
    Jetez donc un &oelig;il sur l'arborescence de la distribution.

  </para> 

  <sect2 id="arborescence-redhat" xreflabel="l'organisation de la Redhat&nbsp;9">

    <title>
    
        Organisation des répertoires de la distribution Redhat&nbsp;9
    
    </title>

    <para>
    
      La plus récente distribution n'est, à l'heure où j'écris ces
      lignes, disponible que pour la plate-forme i386. Le répertoire de
      premier niveau semble un peu inutile, étant donnée la présence
      d'une seule architecture (<ulink
      url="ftp://ftp.redhat.com/pub/redhat/linux/9/en/os/"
      >/pub/redhat/linux/9/en/os/</ulink>). 
      
    </para>

<screen>
i386/
</screen>

    <para>

      Le répertoire de premier niveau des versions un peu antérieures à
      la version&nbsp;9 contient les distributions destinées aux différentes
      plates-formes. Par exemple, le répertoire correspondant de la
      version&nbsp;7.1 du Linux RedHat est structuré comme ceci&nbsp;:

    </para>

<screen>
alpha/   i386/   ia64/   ppc/   s390x/
</screen>

    <para>

      Pour une distribution Redhat&nbsp;9, la racine du répertoire i386
      ressemble à ce qui suit&nbsp;:

    </para>

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

    <para>

      Le répertoire <filename class="directory">SRPMS</filename>
      contient les paquets RPMS en format source.

    </para>
    <para>

      Le répertoire <filename class="directory">images</filename>
      contient les images des disquettes de démarrage et de pilotes. Ces
      images peuvent être copiés sur une disquette si nécessaire. Pour
      la version&nbsp;9, il n'existe qu'une seule image de disque de
      démarrage. Cette image de démarrage est appelée
      <filename>boot.img</filename>. Si l'installation n'est pas
      exécutée depuis un CD-ROM ou un disque dur, il est nécessaire de
      préparer également une seconde disquette avec les pilotes. Un
      fichier <filename>boot.iso</filename> est maintenant également
      disponible. Il permet de démarrer une machine à partir du lecteur
      de CD-ROM afin de pouvoir plus facilement lancer une installation
      réseau (c'est-à-dire sans avoir besoin de manipuler une tonne de
      disquettes). Reportez-vous à la section <xref
      linkend="installation"/> et aux références qu'elle contient pour
      plus d'informations. Consultez le fichier
      <filename>README</filename> contenu dans ce répertoire pour
      obtenir une explication plus détaillée du rôle des différents
      fichiers.

    </para>
    <para>

      Le répertoire <filename class="directory">isolinux</filename>
      contient les fichiers nécessaires au démarrage depuis le CD (et
      pour reconstruire des CD de démarrage 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. Ce qui aide à éviter les
      contraintes d'espace et les problèmes de compatibilité.

    </para>
    <para>

      Le répertoire <filename class="directory">dosutils</filename>
      contient différents programmes pour certains autres systèmes
      d'exploitation, qui sont parfois utiles pour le bon déroulement du
      processus d'installation. Il contient aussi un fichier
      <filename>README</filename> explicatif.

    </para>
    <para>

      La liste est complétée par un grand nombre de fichiers et par le
      répertoire <filename class="directory">RedHat</filename>. Ce
      dernier est le sujet des sections qui suivent tandis que le
      contenu des précédents est clairement indiqué par leur nom (sauf
      peut-être le fichier <filename>EULA</filename> dont le nom est
      l'abréviation [en anglais] de <quote>Accord de licence avec
      l'utilisateur final</quote>). 

    </para>
  </sect2>

  <sect2 id="repertoire-redhat" xreflabel="le répertoire RedHat">

    <title>
        
        Le répertoire <quote>RedHat</quote>, le c&oelig;ur de la
        distribution
    
    </title>

    <para> 

      La majeure partie de l'arborescence de la distribution se situe
      dans le répertoire <filename
      class="directory">RedHat</filename>&nbsp;:

    </para>

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

    <para>
    
      Le répertoire <filename class="directory">RPMS</filename> contient
      la majeure partie de la distribution RedHat, sous la forme d'un
      ensemble de fichiers RPM (abréviation de <foreignphrase>Redhat
      Package Manager</foreignphrase>, c'est-à-dire <quote>gestionnaire
      de paquets RedHat</quote>). Un paquet RPM contient en général des
      exécutables binaires, accompagnés de leurs fichiers de
      configuration et de leur documentation. Référez-vous à la section
      <xref linkend="paquets-rpm"/> pour plus d'informations.
    
    </para>
    <para>

      Le répertoire <filename class="directory">base</filename> contient
      différents fichiers nécessaires lors de l'installation, comme le
      fichier <filename>comps.xml</filename>, qui définit les
      <emphasis>composants</emphasis> (groupes de paquets) utilisés
      durant la phase <quote>Sélection des groupes de
      paquetages<footnote>
      
        <para>
          
          <quote>Paquetages</quote> est le terme utilisé par RedHat pour
          parler des <quote>paquets</quote>, c'est-à-dire des formats
          d'archive utilisés pour distribuer des applications et
          incluant tout ce qui est nécessaire à l'installation, à la
          désinstallation et au fonctionnement de cette application.
          
        </para>
        
      </footnote></quote>. Reportez-vous à la section <xref
      linkend="fichiers-comps"/> pour plus d'informations sur ce fichier
      et son utilisation.

    </para>
    
    <para>

      Le répertoire <filename class="directory">base</filename> contient
      deux autres fichiers d'importance&nbsp;: <filename>hdlist</filename>
      et <filename>hdlist2</filename>. Ils contiennent la plupart des
      informations incluses dans les champs d'en-têtes de l'ensemble des
      paquets RPM du répertoire <filename
      class="directory">RPMS</filename>. Il est donc possible de
      déterminer les interdépendances entre paquets RPM par une simple
      lecture de ces fichiers, sans avoir à lire chacun des paquets RPM,
      ce qui est très appréciable notamment lors des installations par
      FTP. Ces fichiers permettent également de déterminer les fichiers
      correspondant à un paquet donné (par exemple
      <filename>perl</filename> renvoie vers le paquet
      <medialabel>perl-5.004-6.i386.rpm</medialabel>). Ce qui veut dire
      que si vous ajoutez vos propres paquets ou des mises à jour RedHat
      (reportez-vous à la section <xref
      linkend="inclusion-des-mises-a-jour"/>) dans le répertoire
      <filename class="directory">RPMS</filename>, vous aurez besoin de
      mettre à jour <filename>hdlist</filename> et
      <filename>hdlist2</filename>. La façon de réaliser cette mise à
      jour sera décrite dans <xref
      linkend="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, et cætera).

    </para>  
  </sect2>  

  <sect2 id="repertoire-updates" xreflabel="le répertoire update">

    <title>Le répertoire <quote>updates</quote></title>

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

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

    <para>
    
      La structure de chacun de ces sous-répertoires est similaire à ce
      qui est décrit dans la section <xref
      linkend="arborescence-redhat"/>. Donc, pour chaque version, vous
      trouverez dans le sous-répertoire <filename
      class="directory">en/os/</filename> une série de sous-répertoires
      représentant les nombreuses architectures ainsi que les
      sous-répertoires <filename class="directory">noarch</filename> et
      <filename class="directory">SRPMS</filename>, respectivement pour
      les paquets qui fonctionnent sur toutes les architectures et pour
      ceux qui sont sous forme de source.
      
    </para>

<screen>
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
</screen> 

  </sect2>

  <sect2>

  <title>Différences avec l'arborescence 8.0</title>

    <para>

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

    </para>
    <para>
    
      Le répertoire <filename class="directory">images</filename>
      contient les images de disquettes de démarrage et de pilotes,
      pouvant être copiées sur une disquette si nécessaire. La première
      image de démarrage est appelée <filename>boot.img</filename> et
      est nécessaire lorsque l'installation est exécutée directement
      depuis le CD-ROM. Si vous envisagez une installation via un disque
      monté par NFS ou par FTP, l'image disque
      <filename>bootnet.img</filename> sera nécessaire. Les
      installations via l'adaptateur PCMCIA nécessitent la disquette
      <filename>pcmcia.img</filename>. Reportez-vous à la section <xref
      linkend="installation"/> et aux références qui s'y trouvent pour
      plus d'informations. Consultez le fichier
      <filename>README</filename> contenu dans ce répertoire pour
      obtenir une explication plus détaillée du rôle des différents
      fichiers.
      
    </para>
  </sect2>

  <sect2>

  <title>Différences avec l'arborescence 7.x</title>

    <para>

      Les deux distributions sont pratiquement similaires sous cet
      aspect. Les seuls changements intéressants pour nous (et faciles à
      remarquer en regardant l'arborescence de la distribution) sont la
      disparition du répertoire <filename
      class="directory">isolinux</filename> et quelques modifications
      affectant le répertoire <filename
      class="directory">RedHat/base</filename>. Le premier changement
      est dû à la façon dont les CD d'installation sont rendus
      amorçables dans les versions antérieures à la 8.0 (le mode
      <quote>émulation disquette</quote> a été changé en mode <quote>pas
      d'émulation</quote> pour la version&nbsp;8.0), alors que le second est
      un effet du passage en XML du fichier <filename>comps</filename>
      pour les distributions Redhat postérieures à la 8.0 (ce qui
      explique pourquoi il a été renommé
      <filename>comps.xml</filename>). Dans les distributions Redhat&nbsp;7.3
      et précédentes, le fichier <filename>Redhat/base/comps</filename>
      est un simple fichier texte dont la syntaxe n'est pas très souple.

    </para>
  </sect2>

  <sect2>

  <title>Différences avec l'arborescence de la 6.x</title>

    <para>

      Pour la version&nbsp;6.2 (<ulink
      url="ftp://ftp.redhat.com/pub/redhat/linux/6.2/en/os/"/>), la
      dernière de la série des 6, l'organisation est la suivante (celle
      des précédentes versions est à peu près similaire, mais pas
      complètement)&nbsp;:

    </para>

<screen>
alpha/   i386/   sparc/
</screen>

    <para>

      La racine du répertoire i386, quant à elle, ressemble à
      ceci&nbsp;:

    </para>

<screen>
-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
</screen> 

    <para>

      Dans les paragraphes suivants, j'indiquerai uniquement les
      différences avec les versions plus récentes&nbsp;; ce qui ne sera
      pas explicitement mentionné ici est resté (ou est supposé être
      resté) inchangé.

    </para>
    <para>
    
      Le répertoire <filename class="directory">doc</filename> contient
      une foule d'informations. En premier lieu, ce répertoire contient
      le manuel d'installation RedHat au format HTML (qui est aussi
      disponible sur le site de RedHat&nbsp;: <ulink
      url="http://www.europe.redhat.com/documentation/rhl6.2/install-guide-fr/">Guide
      d'installation Redhat&nbsp;6.2</ulink>). Il contient également le Guide
      de référence et le Guide de démarrage (<foreignphrase>Getting
      started</foreignphrase>). La documentation des versions&nbsp;7.x, 8.0
      et 9 est distribuée sur un CD séparé (dans une arborescence
      différente sur le site ftp). 
    
    </para>
    <para>

      Le répertoire <filename class="directory">images</filename>
      contient les images de disquettes de démarrage. Si nécessaire, ces
      images peuvent être recopiées sur disquette, comme pour les
      distributions Redhat&nbsp;9, 8.0 et 7.3. Référez-vous à la section
      <xref linkend="installation"/> et aux références qu'elle contient
      pour plus d'information. Le répertoire <filename
      class="directory">misc</filename> contient les sources et les
      exécutables d'un certain nombre de programmes nécessaires à
      l'installation.

    </para>
    <para>  

      La plus importante partie de l'arborescence est (encore) située
      sous le répertoire <filename
      class="directory">RedHat</filename>&nbsp;:

    </para>

<screen>
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
</screen> 

    <para>
    
      Vous devez déjà connaître Le répertoire <filename
      class="directory">RPMS</filename>. Référez-vous à la section <xref
      linkend="paquets-rpm"/> pour plus d'informations. Le répertoire
      <filename class="directory">base</filename> contient les
      différents fichiers nécessaires à l'installation, comme pour les
      Redhat&nbsp;7.3, 8.0 et 9. Les seules différences visibles sont la
      présence d'un unique fichier <filename>hdlist</filename> et
      l'absence du fichier <filename>stage2.img</filename> dont les
      fonctionnalités devraient être assurées par les fichiers contenus
      dans le répertoire <filename
      class="directory">instimage</filename>. Ce répertoire contient, en
      fait, un vrai système de fichiers limité à l'essentiel et
      comportant les programmes et bibliothèques partagées nécessaires à
      l'installation.
    
    </para>
    
    <para>

      Le répertoire <filename class="directory">updates</filename> est
      en fait similaire à celui qui est décrit pour la version&nbsp;9, la
      seule différence étant qu'il comporte davantage de répertoires
      relatifs aux différentes architectures.

    </para>
  </sect2>
</sect1>


<sect1 id="paquets-rpm" xreflabel="les paquets RPM">

  <title>Paquets RPM</title>

  <para>

    La majeure partie de la distribution RedHat consiste en un ensemble
    de fichiers RPM ((abréviation de <foreignphrase>Redhat Package
    Manager</foreignphrase>, c'est-à-dire <quote>gestionnaire de paquets
    RedHat</quote>). Un paquet RPM contient en général des exécutables
    binaires, accompagnés de leurs fichiers de configuration et de leur
    documentation. Le programme <ulink
    url="http://www.rpm.org">rpm</ulink> est un puissant gestionnaire de
    paquets, qui peut être utilisé pour installer, interroger, vérifier,
    mettre à jour, effacer et construire des paquets au format RPM.
    <application>Rpm</application> est très pratique car il gère une
    base de données de tous les paquets installés, ce qui permet de
    savoir à tout moment ce qui est installé.

  </para>
  
  <para>

    Les fichiers binaires RPM inclus dans la distribution ont été
    construits sur un système utilisant lui-même la distribution. C'est
    important car la plupart des programmes des paquets dépendent de
    bibliothèques partagées. La nouvelle version&nbsp;3 de la bibliothèque C
    standard GNU (compatible 64&nbsp;bits) a été utilisée à partir de la
    distribution Redhat&nbsp;5.0. Cette version de la bibliothèque est
    communément appelée <emphasis>glibc</emphasis> ou, sous Linux,
    <emphasis>libc&nbsp;6</emphasis>. Tous les exécutables de cette
    distribution ont été liés à cette bibliothèque. Si vous tentez
    d'installer les fichiers binaires d'une distribution différente, il
    y a beaucoup de chances que cela ne fonctionne pas, sauf si vous
    installez le paquet libc5 pour obtenir une compatibilité
    descendante. Il existe aussi des incompatibilités entre les
    nombreuses versions du <application>RedHat Package
    Manager</application> lui-même qui empêcheront l'installation de
    certains paquets même sur les machines où ils sont supposés
    fonctionner.

  </para>
  <para>

    Les noms des paquets RPM contiennent le suffixe
    <filename>.<replaceable>archi</replaceable>.rpm</filename>, où
    <replaceable>archi</replaceable> est l'architecture. Celle-ci a
    habituellement pour valeur <literal>i386</literal> pour les
    binaires destinés à la plate-forme Intel. Les paquets que vous
    installez doivent correspondre aux versions des bibliothèques
    partagées installées sur la machine. Le programme <ulink
    url="http://www.rpm.org">rpm</ulink> est habituellement assez bon
    pour s'en assurer. Néanmoins, il existe des moyens de passer outre
    cette vérification. Si vous décidez de forcer l'installation d'un
    paquet de cette façon, soyez <emphasis>vraiment</emphasis> sûr de
    savoir ce que vous faites. Néanmoins, l'utilisation du disque de
    démarrage d'installation de RedHat vous garantie qu'un ensemble
    correct de paquets RPM sera installé sur la machine.

  </para>
  <para>

    Si vous découvrez un paquet RPM qui n'a pas été installé sur votre
    système durant le processus d'installation, ne désespérez pas. À
    tout moment, vous pourrez (sous le compte root) installer des
    paquets RPM. Par exemple&nbsp;:

  </para>

<screen>
# rpm --install WindowMaker-0.18-1b.i386.rpm
</screen>

  <para>

    Vous pouvez même installer un paquet RPM directement depuis
    Internet, si vous connaissez son URL&nbsp;:

  </para>

<screen>
# URL="ftp://rufus.w3.org/redhat-contrib/noarch/mirror-2.9-2.noarch.rpm"
# rpm --install "$URL"
</screen>

  <para>
  
    Si vous voulez mettre à jour un paquet RPM (ou l'installer s'il
    n'est pas présent sur la machine), utilisez la commande&nbsp;:

  </para>

<screen>
# rpm --update  WindowMaker-0.18-1b.i386.rpm
</screen> 

  <para>

      Si vous voulez mettre à jour un paquet RPM dont une version 
      précédente est déjà installée, utilisez la commande&nbsp;:

  </para>

<screen>
# rpm --freshen  WindowMaker-0.18-1b.i386.rpm
</screen> 

  <para>

    Il existe un autre type de paquets RPM qui contient les sources
    originales qui ont servi à construire les binaires. Ces paquets ont
    le suffixe <filename class="extension">.src.rpm</filename> et sont
    situés dans le répertoire <filename
    class="directory">SRPMS</filename>. La moitié du troisième CD et les
    deux derniers des cinq CD de la distribution Redhat&nbsp;8.0 (ou la 7.3)
    contiennent des paquets source. Pour la 9, ils sont sur trois CD
    séparés. Pour la 6.2 (et les précédentes 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 différent si vous le voulez.

  </para>

  <para>

    Pour obtenir plus d'informations sur le gestionnaire de paquet
    RedHat, je vous suggère de lire les pages de manuel et le très
    complet <ulink url="http://www.rpm.org/max-rpm/">Maximum
    rpm</ulink>. 

  </para>
  <para>

    Dans la prochaine section, je présenterai un programme C qui sera
    utilisé dans divers scripts tout au long du reste de ce guide
    pratique. Il indique, entre deux versions du même paquet RPM, celui
    qui est le plus récent. Ce programme est basé sur le code utilisé
    dans le gestionnaire de paquets RedHat (version&nbsp;4.1) et est utilisé
    quand l'option <option>--freshen</option> est ajoutée.

  </para>

  <sect2 id="comparer-versions-rpm" xreflabel="comparer les versions des RPM">

  <title>Comparer deux versions d'un paquet RPM</title>

    <para>

      Le code C des trois fichiers <ulink
      url="&outils;rhcd-scripts/rpmvc/Makefile">Makefile</ulink>, <ulink
      url="&outils;rhcd-scripts/rpmvc/rvc.h">rvc.h</ulink>, <ulink
      url="&outils;rhcd-scripts/rpmvc/rvc.c">rvc.c</ulink> a été extrait
      du code du gestionnaire de paquets RedHat et (légèrement) modifié
      pour répondre à nos 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 récent, égal ou plus ancien que B et
      d'autres valeurs en cas d'erreur (vous pouvez lire les
      commentaires du code pour plus d'informations). Pour compiler le
      programme, vous aurez besoin du programme
      <filename>make</filename> et du compilateur C
      <filename>gcc</filename>. Copiez les fichiers dans le même
      répertoire et lancez la commande&nbsp;:

    </para>

<screen>
$ make
</screen> 

    <para>

      Ce programme est nécessaire à pratiquement tous les scripts
      utilisés dans les sections suivantes. Pour que les scripts
      puissent le retrouver, vous devez définir la variable
      <literal>RVC</literal> dans le fichier <ulink
      url="&outils;rhcd-scripts/rhcd.conf">rhcd.conf</ulink>.

    </para>
    <para>

      Vous trouverez une copie des sources et de la version précompilée
      dans l'archive <ulink url="&outils;rhcd-scripts.tar.gz"
      >rhcd-scripts.tar.gz</ulink> située dans le répertoire <filename
      class="directory">rpmvc</filename>.

    </para>

    <note><para>

        Ce programme était utilisé de façon incorrecte par les scripts
        <emphasis>updateDist.sh (ver. &lt; 1.17)</emphasis> et
        <emphasis>updateCD.sh (ver. &lt; 1.12)</emphasis>. Je vous
        suggère fortement d'éviter les versions antérieures de ces
        scripts antérieures, même si ce problème n'est pas fréquent (du
        moins en apparence).

    </para></note>

  </sect2>
</sect1>


<sect1 id="mirroir-local" xreflabel="créer un miroir local">

  <title>Obtenir votre copie locale de la distribution</title>

  <para>

    Vous aurez besoin d'une copie de la distribution sur un disque où
    vous pouvez écrire et accessible à partir de l'ordinateur possédant
    le graveur (ouah&nbsp;!). Si vous souhaitez incorporer les dernières
    mises à jour, ce répertoire devra (aussi) être accessible à partir
    d'une machine Linux, soit à partir d'un disque local, soit à partir
    du disque distant monté via NFS, soit à partir d'un disque JAZ. Vous
    pouvez copier la distribution à partir des CD de RedHat (recommandé)
    ou vous pouvez l'obtenir par FTP. Si vous choisissez d'utiliser FTP,
    il existe deux moyens de le faire. Vous pouvez utiliser un script
    shell basé sur <emphasis>wget</emphasis>, script présenté dans la
    section suivante ou utiliser le paquet <emphasis>mirror</emphasis>
    comme suggéré jusqu'à la version&nbsp;1.34 de ce guide pratique
    (consultez la section <xref linkend="utiliser-mirror"/>). 

  </para>

  <sect2 id="utiliser-wget-bash" xreflabel="utiliser wget et bash">

    <title>Utiliser wget et bash</title>

    <para>      

      Ce n'est pas la plus simple des méthodes, même si elle est
      probablement la plus exacte. Je l'apprécie parce qu'elle permet de
      comparer les versions RPM des fichiers et non plus leur date et
      heure ou leur nom (comme les paquets classiques de synchronisation
      à distance) et qu'elle vérifie les signatures des mises à jour à
      chaque fois qu'elle en télécharge, si la variable
      <literal>CHECKSIG</literal> du fichier <ulink
      url="&outils;rhcd-scripts/rhcd.conf" >rhcd.conf</ulink> lui
      indique de le faire.

    </para>
    <para>
      
      Créez un répertoire qui contiendra les fichiers d'installation et
      placez-vous à l'intérieur, puis lancez la commande
      suivante, qui téléchargera environ 3&nbsp;Go de données sur votre
      disque dur&nbsp;:
      
    </para>

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

    <para>

      Vous voudrez probablement changer le miroir FTP de téléchargement
      et, en conséquence, le paramètre indiqué à l'option
      <option>--cut-dirs</option>. Ce paramètre est utilisé
      conjointement avec l'option <option>-nH</option> pour éviter la
      re-création de la hiérarchie des répertoires du site FTP. Pour
      plus d'informations sur l'utilisation correcte de cette option,
      jetez un &oelig;il sur la <ulink
      url="http://www.gnu.org/manual/wget-1.8.1/wget.html">documentation
      de wget</ulink> et les pages de manuel correspondantes.

    </para>
    <para>

      Si vous voulez exclure un ou plusieurs répertoires du
      téléchargement, vous pouvez utiliser l'option <option>-X
      <replaceable>liste</replaceable></option>, où
      <replaceable>liste</replaceable> représente une liste de
      répertoires séparés par des virgules. Par exemple, pour exclure le
      répertoire <filename>SRPMS</filename> du précédent
      téléchargement, vous pouvez utiliser&nbsp;:

    </para>

<screen>
$ 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/SRPMS \
   ftp://ftp.mirror.ac.uk/sites/ftp.redhat.com/pub/redhat/linux/updates/7.3/en/os/i386
</screen>

    <para>

      Cela peut être utile si vous prenez en compte la taille du
      répertoire <filename>SRPMS</filename> (environ 1,2&nbsp;Go)&nbsp;;
      en tout cas, je le trouve utile.

    </para>
    <para>

      Si vous voulez vérifier les signatures GPG pour vous assurer de
      l'authenticité des paquets (ce qui est quelque chose que je vous
      suggère), vous devrez installer le paquet
      <emphasis>gnupg</emphasis> (nécessaire uniquement pour la RedHat
      7.3) et importer la clé publique
      <emphasis>security@redhat.com</emphasis> que vous trouverez dans
      le répertoire racine des CD (<filename>RPM-GPG-KEY</filename>) ou
      sur le <ulink
      url="http://www.redhat.com/solutions/security/news/publickey.html#key"
      >site web RedHat</ulink>. La clé est importée en lançant la
      commande&nbsp;: <userinput>
      gpg&nbsp;--import&nbsp;<replaceable>nom_du_fichier</replaceable>
      </userinput> pour les versions jusqu'à la 7.3 incluse, ce qui a
      été remplacé par <userinput>
      rpm&nbsp;--import&nbsp;<replaceable>nom_du_fichier</replaceable>
      </userinput> pour les versions&nbsp;8.0 et 9 (pour plus d'informations
      sur ceci, jetez un &oelig;il aux sites web de <ulink
      url="http://www.gnupg.org/">GNU Privacy Guard</ulink> et de <ulink
      url="http://www.rpm.org/">RPM</ulink> &mdash; le Gestionnaire de
      paquets RedHat).

    </para>
    <para>

      Si vous voulez vérifier les paquets RPM, vous pouvez le faire en
      utilisant la commande suivante (que je suppose lancée depuis le
      répertoire où vous avez réalisé les téléchargements)&nbsp;:

    </para>
    <para>

      Pour les versions jusqu'à la 7.3 incluse&nbsp;:

    </para>

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

    <para>

      Pour les versions&nbsp;8.0 et 9 (ainsi que pour les versions futures,
      je suppose)&nbsp;:
      
    </para>
    
<screen>
$ find . -name "*.rpm" -exec rpm -K {} \; |grep "NOT *OK"
</screen>
      
      <para> 
      
        Si vous ne voulez pas vous <quote>ennuyer</quote> avec toutes
        ces étapes, j'espère que vous voudrez au moins vérifier
        l'intégrité des fichiers téléchargés (ce qui ne veut pas dire
        que personne ne les a modifiés), à l'aide des signatures md5.
        Ceci est fait avec&nbsp;:
    
      </para>
    
      <para>
  
        Pour les versions jusqu'à 7.3 (incluse)&nbsp;:

      </para>

<screen>
$ find . -name "*.rpm" -exec rpm -K --nopgp --nogpg {} \; |grep "NOT *OK"
</screen>

    <para>
    
      Pour les versions&nbsp;8.0 et 9 (ainsi que pour les versions à venir,
      je suppose)&nbsp;:

    </para>
    
<screen>
$ find . -name "*.rpm" -exec rpm -K --nosignature {} \; |grep "NOT *OK"
</screen>

    <para>

      Le contenu d'une distribution RedHat ne change pas entre les
      versions, donc vous aurez seulement besoin de télécharger ces
      paquets <emphasis>UNE FOIS</emphasis>. Toutes les modifications de
      la distribution sont contenues dans le répertoire <filename
      class="directory">updates</filename>. Donc, si vous voulez
      conserver un miroir à jour de la distribution RedHat, vous aurez
      seulement besoin de maintenir le répertoire <filename
      class="directory">updates</filename> à jour. Ceci se fait en
      utilisant le script <ulink
      url="&outils;rhcd-scripts/updateDist.sh"
      >updateDist.sh</ulink>. Avant d'utiliser ce script, vous devrez
      configurer le fichier <ulink
      url="&outils;rhcd-scripts/rhcd.conf"
      >rhcd.conf</ulink> et exporter la variable
      <literal>RHCDPATH</literal> pointant vers le répertoire où se
      trouve ce fichier.

    </para>

<screen>
$ export RHCDPATH=<replaceable>/home/luigi/tmp/</replaceable>rhcd-scripts
$ sh updateDist.sh
</screen>

    <para>

      Ce script va télécharger les nouvelles mises à jour en excluant
      les sous-répertoires indiqués dans la variable
      <literal>EXCLUDELIST</literal>, en déplaçant les plus anciennes
      (c'est-à-dire celles remplacées par de nouvelles versions) dans le
      répertoire indiqué par la variable <literal>OLDDIR</literal> après
      avoir réussi deux tests. Le premier test compare les fichiers
      <filename>.listing</filename> générés par
      <filename>wget</filename> avec le contenu des répertoires locaux
      pour s'assurer que tous les fichiers ont été téléchargés. Le
      second test vérifie les signatures des paquets en fonction des
      valeurs de deux variables <literal>CHECKSIG</literal> et
      <literal>USEGPG</literal> (positionnez-les à
      <quote><literal>yes</literal></quote> si vous souhaitez que cette
      opération soit réalisée). En cas d'échec du processus de
      vérification de signature, le script déplacera le mauvais paquet
      dans <literal>OLDDIR</literal> en lui affectant l'extension
      <quote><literal>.UPDcheckfail</literal></quote> et abandonnera sans déplacer les
      anciennes mises à jour dans <literal>OLDDIR</literal>. 

    </para>

  </sect2>

  <sect2 id="utiliser-mirror" xreflabel="utiliser mirror">

    <title>Utiliser mirror</title>

    <para>

      Mirror est un script perl sophistiqué comparant le contenu d'un
      répertoire d'un site distant avec un répertoire local. Il
      utilisera FTP pour récupérer 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 paramétré via un fichier de configuration. Le RPM du
      paquet est disponible à partir de <ulink
      url="http://rufus.w3.org/linux/RPM/mirror.html"
      >rufus.w3.org</ulink>. Créez une copie locale
      <filename>mirror.redhat</filename> du fichier de configuration de
      <application>mirror</application> et modifiez les champs
      appropriés en haut du fichier. Après la section des valeurs par
      défaut (<foreignphrase>default</foreignphrase>), définissez les
      paquets suivants&nbsp;:

    </para>

<programlisting>
package=updates
  site=ftp.mirror.ac.uk
  exclude_patt=(SRPMS/)
  remote_dir=/sites/ftp.redhat.com/pub/redhat/linux/updates/7.3/en/os/i386
  local_dir=<replaceable>/home/luigi/tmp/</replaceable>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=<replaceable>/home/luigi/tmp/</replaceable>redhat-cd/redhat-7.3
</programlisting>

    <para>

      La commande suivante va copier l'arborescence RedHat au complet
      sur votre disque local. <emphasis>**Pensez**</emphasis>, avant de
      faire cela, que vous allez télécharger à peu près 1,5&nbsp;Go de
      données (si vous avez exclu le répertoire <filename
      class="directory">SRPMS</filename>)&nbsp;!

    </para>

<screen>
$ mirror -pdist mirror.redhat 
</screen>

    <para>
 
      Ceci va créer une copie à l'identique du site FTP de RedHat sur
      votre disque local. Le contenu de la distribution RedHat ne change
      pas entre les versions, donc vous aurez seulement besoin de
      télécharger ces paquets <emphasis>une fois</emphasis>. Tout
      changement dans la distribution se trouvera dans le répertoire
      <filename class="directory">updates</filename>. Donc, si vous
      voulez maintenir votre miroir à jour, vous aurez seulement besoin
      d'actualiser le répertoire <filename class="directory"
      >updates</filename>. Cela se fait avec la commande suivante&nbsp;:
 
    </para>

<screen>
$ mirror -pupdates mirror.redhat 
</screen>

    <para>

      Vous pouvez la lancer régulièrement, disons une fois par semaine,
      avec un script cron. La distribution RedHat est disponible sur un
      grand nombre de serveurs FTP dans le monde entier, mis à jour
      quotidiennement à partir du site de référence <ulink
      url="ftp://ftp.redhat.com/pub">ftp.redhat.com</ulink>. Vous
      devriez choisir un site FTP proche de vous, en consultant la
      <ulink url="http://www.redhat.com/download/mirror.html">liste des
      sites miroirs RedHat</ulink>.

    </para>

    <note><para>
    
        Je n'ai pas testé personnellement cette procédure. C'était la
        seule procédure proposée sur les anciennes versions de ce guide
        pratique (jusqu'à la version&nbsp;1.34, concernant RedHat
        &lt;&nbsp;6.1).
    
    </para></note>
    
  </sect2>
</sect1>

<sect1 id="inclusion-des-mises-a-jour" xreflabel="inclure les mises à jour">

  <title>Inclure les mises à jour</title>

  <para>

    Il y a trois étapes, les deux premières étant (pratiquement)
    identiques pour toutes les versions, alors que la dernière change un
    peu en raison des modifications de l'installateur anaconda&nbsp;:

  </para>

    <orderedlist numeration='lowerroman'> 
    
      <listitem><para>
        Corriger les modes de protection des fichiers
      </para></listitem> 
    
      <listitem><para>
        Remplacer les RPM mis à jour
      </para></listitem> 
    
      <listitem><para>
        Reconstruire l'installateur
      </para></listitem> 
    
    </orderedlist>
    
  <para>

    Pour incorporer les mises à jour, vous aurez besoin d'avoir un accès
    en écriture au répertoire de la distribution à partir d'une machine
    Linux, avec une version fonctionnelle de <ulink
    url="http://www.rpm.org">rpm</ulink> installée, alors que
    <emphasis>pour reconstruire l'installateur anaconda, vous aurez
    besoin d'utiliser une version du Linux RedHat égale à celle pour
    laquelle vous reconstruisez l'installateur (sinon la procédure
    échouera)</emphasis>. Si vous maintenez à jour un miroir du
    répertoire <filename class="directory">updates</filename>, vous
    pourrez à tout moment produire un CD incluant les dernières mises à
    jours en répétant ces étapes.
  
  </para>

  <sect2 id="mise-a-jour-des-permissions"
         xreflabel="mettre à jour la protection des fichier">
  
    <title>Corriger les modes de protection des fichiers</title>

    <para>

      Durant le processus d'installation des versions jusqu'à la 6.2
      incluse, certains programmes sont lancés directement depuis le CD.
      Malheureusement, le programme FTP ne préserve pas toujours les
      droits des fichiers et des répertoires copiés. Donc, il est
      nécessaire de s'assurer que les droits d'exécution sont bien
      donnés aux programmes, scripts shells et bibliothèques partagées,
      avant que le répertoire ne soit gravé sur le CD. Ceci est fait en
      lançant le script <ulink
      url="&outils;rhcd-scripts/updatePerm.sh"
      >updatePerm.sh</ulink> sur votre copie locale de la distribution. 
      C'est réellement nécessaire pour les versions&nbsp;6.2 et précédentes.
      La seule partie utile de cette procédure pour les versions&nbsp;7.3,
      8.0 et 9 est la mise à jour des droits des répertoires, le reste ne
      fera aucun mal et cela maintient les choses cohérentes. Ce script
      est quasi-identique au script <filename>updatePerm</filename>
      inclus dans la version précédente de ce guide pratique, seuls
      quelques changements mineurs ont été réalisés. Avant d'utiliser ce
      script, vous devez paramétrer le fichier <ulink
      url="&outils;rhcd-scripts/rhcd.conf">rhcd.conf</ulink> et exporter
      la variable <literal>RHCDPATH</literal> pointant vers le
      répertoire où se trouve ce fichier.

    </para>

<screen>
$ export RHCDPATH=<replaceable>/home/luigi/tmp/</replaceable>rhcd-scripts
$ sh updatePerm.sh
</screen>

  </sect2>

  <sect2 id="remplacement-des-paquets" xreflabel="remplacer les RPM">

    <title>Remplacer les RPM mis à jour</title>

    <para>

      Le script <ulink
      url="&outils;rhcd-scripts/updateCD.sh">updateCD.sh</ulink> copie
      tous les nouveaux fichiers du répertoire <filename
      class="directory">update</filename> vers le répertoire <filename
      class="directory">RPMS</filename> (et <filename
      class="directory">SRPMS</filename>). Le script utilise le
      programme <filename>rvc</filename> qui a été présenté dans la
      section <xref linkend="comparer-versions-rpm"/> pour déterminer
      quels sont les paquets du répertoire update qui sont plus récents. Les
      paquets plus anciens sont déplacés dans le répertoire
      <literal>${OLDDIR}</literal>. Si la variable
      <literal>CHECKSIG</literal> est positionnée à
      <quote><literal>yes</literal></quote>, tous les paquets de
      l'arborescence principale verront leur signature vérifiée. Si la
      vérification de signature d'un paquet échoue (le type de
      vérification dépend de la variable <literal>USEGPG</literal> du
      fichier <ulink
      url="&outils;rhcd-scripts/rhcd.conf">rhcd.conf</ulink>), celui-ci
      est déplacé dans le répertoire <literal>OLDDIR</literal> avec une
      extension ajoutée, <quote><literal>CDcheckfail</literal></quote>.

    </para> 

    <para>

      Avant d'utiliser ce script, vous devrez paramétrer le fichier de
      configuration <ulink url="&outils;rhcd-scripts/rhcd.conf"
      >rhcd.conf</ulink> et exporter la variable
      <literal>RHCDPATH</literal> pointant vers le répertoire où se
      trouve ce fichier.

    </para>

<screen>
$ export RHCDPATH=<replaceable>/home/luigi/tmp/</replaceable>rhcd-scripts
$ sh updateCD.sh
</screen>

    <note><para>

        Après avoir incorporé les mises à jour dans le répertoire
        principal <filename class="directory">RedHat/RPMS</filename>,
        votre copie de la distribution n'est plus un miroir du site de
        la distribution RedHat. En fait, elle est plus à jour&nbsp;! 
        Donc, si vous essayez de resynchroniser votre distribution en
        utilisant mirror, les anciennes versions des paquets RPM qui ont
        été mis à jour seront téléchargées une nouvelle fois et les
        mises à jour supprimées. La procédure basée sur bash et wget ne
        souffre pas de ce problème, mais laissera l'arborescence
        principale dans un état incohérent. Les anciens et les nouveaux
        paquets seront dans ce cas mélangés ensembles. Cependant, vous
        pourrez les trouver et les supprimer en intégrant l'exécutable
        <filename>rvc</filename> à un script shell simple (que je
        laisserai comme exercice pour le lecteur&hellip;).

    </para></note>
  </sect2>

  <sect2 id="reconstruire-l-installateur"
         xreflabel="reconstruire l'installateur">

    <title>Reconstruire l'installateur</title>

    <para>

      Les choses ont bien changé dans cette section avec l'arrivée de
      l'installateur anaconda (version&nbsp;6.1) et la considérable
      augmentation de taille (et&hellip; du nombre de CD) que les
      distributions 7.x et 8.0 ont connue. Jusqu'à la version&nbsp;6.2, la
      seule étape composant cette section était la génération d'un
      nouveau fichier <filename>hdlist</filename>. Avec la version&nbsp;6.2,
      cela ne reste vrai que jusqu'à un certain point, en raison des
      changements dans l'installateur anaconda, dans le logiciel
      <emphasis>rpm</emphasis> lui-même (qui est passé des versions&nbsp;3.x
      aux versions&nbsp;4.x) et de la migration des paquets mis à jour vers
      cette nouvelle version (les mises à jour de la version&nbsp;6.2 sont en
      fait empaquetées pour les deux versions majeures du logiciel
      <filename>rpm</filename>). Nous envisagerons trois procédures
      différentes en essayant de couvrir toutes les versions.

    </para>

    <sect3 id="reconstruire-rh61"
           xreflabel="reconstruire l'installateur 6.1">

      <title>RedHat &les; 6.1</title>

      <sect4>

        <title>Régénérer le fichier hdlist</title>

        <para>
        
          Lors de l'installation à partir du CD, le programme
          d'installation du CD se base sur le fichier
          <filename>RedHat/base/hdlist</filename> qui décrit quels sont
          les paquets RPM disponibles sur le CD. Le fichier
          <filename>hdlist</filename> peut être généré par le programme
          <filename>misc/src/install/genhdlist</filename>. Ce programme
          doit être lancé avec comme seul argument le chemin absolu vers
          la racine de la distribution. Voici le script
          <filename>updateHdlist</filename> qui appelle ce programme
          (depuis la version&nbsp;1.34 de ce guide pratique)&nbsp;:
        
        </para> 

<programlisting>
#!/bin/bash

RHVERSION=6.1
ARCH=i386

echo "Génération de hdlist..."
RACINERH=<replaceable>/home/luigi/tmp/</replaceable>redhat-${RHVERSION}
GENHDDIR=${RACINERH}/${ARCH}/misc/src/anaconda/utils
          
chmod u+x ${GENHDDIR}/genhdlist
chmod 644 ${RACINERH}/${ARCH}/RedHat/base/hdlist
${GENHDDIR}/genhdlist ${RACINERH}/${ARCH} || echo "*** ÉCHEC DE GENHDLIST ***"

exit 0
</programlisting>

        <note>
        
          <title>Note importante pour les RedHat &lt;&nbsp;6.1</title>
        
          <para>
        
            L'installation de la Redhat&nbsp;6.1 est complètement différente
            de celle des versions précédentes car RedHat a introduit
            <emphasis>anaconda</emphasis>. Le programme
            <filename>genhdlist</filename> est maintenant situé à un
            autre endroit, donc dans le script ci-dessus, nous 
            utiliserons&nbsp;:
            
          </para>
            
<programlisting>
GENHDDIR=${RHROOT}/${ARCH}/misc/src/anaconda/utils
</programlisting>

          <para>

            alors que pour les versions jusqu'à 6.0 (comprise), cette
            ligne doit être&nbsp;:

          </para>

<programlisting>
GENHDDIR=${RHROOT}/${ARCH}/misc/src/install
</programlisting>

        </note>   

        <para>

          Dans certains cas, <filename>genhdlist</filename> n'arrive pas
          à démarrer, car l'exécutable n'est pas lié statiquement. Dans
          un tel cas, vous pouvez ajouter la ligne&nbsp;:
          
        </para>
        
<programlisting>
${RHROOT}/${ARCH}/RedHat/instimage/usr/lib
</programlisting>

        <para>

          dans le fichier <filename>/etc/ld.so.conf</filename> et lancer
          la commande <userinput>ldconfig -v</userinput>.

        </para>
        <para>

          Une autre solution est de recompiler
          <filename>genhdlist</filename>. La modification suivante du
          script <filename>updateHdlist</filename> fonctionnait sous
          Redhat&nbsp;5.2&nbsp;:

        </para>


<programlisting>
#!/bin/bash

RHVERSION=6.1
ARCH=i386

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

echo "Compilation de hdlist..."
sed -e 's/FD_t/int/' \
    -e 's/fdOpen/open/' \
    -e 's/fdClose/close/' \
    -e 's/fdFileno//' &lt; ${GENHDDIR}/genhdlist.c &gt; /tmp/genhdlist.c
cc -o /tmp/genhdlist -I/usr/include/rpm /tmp/genhdlist.c -lrpm -lz

echo "Génération de hdlist..."
chmod 644 ${RACINERH}/${ARCH}/RedHat/base/hdlist
/tmp/genhdlist ${RACINERH}/${ARCH} || echo "*** ÉCHEC DE GENHDLIST ***"

exit 0
</programlisting>

        <para>

          Dans cette version du script, une copie du source C de
          <filename>genhdlist.c</filename>, compilable sous
          RedHat&nbsp;5.2, est créée dans <filename
          class="directory">/tmp</filename>. Cette copie est réalisée en
          filtrant le source C original avec <command>sed</command> via
          un tube. Cette version de <filename>genhdlist</filename> est
          alors utilisée pour créer le fichier
          <filename>hdlist</filename>.
          
        </para>

        <note>

          <title>Note importante pour la Redhat&nbsp;5.2</title>

          <para>        

            Tel qu'il est distribué avec les RedHat versions&nbsp;5.2 et
            précédentes, <filename>genhdlist</filename> PLANTE si le
            répertoire <filename>RedHat/RPMS</filename> contient des
            fichiers qui ne sont <emphasis>pas</emphasis> des fichiers
            RPM&nbsp;! Cela pose problème car dans la distribution 5.2,
            il y a des fichiers non-RPM nommés
            <filename>ls-lR</filename> et <filename>ls-lR.gz</filename>
            situés dans <filename
            class="directory">RedHat/RPMS</filename>. Donc, vous devez
            supprimer tous les fichiers non-RPM de ce répertoire. Sinon,
            vous pouvez appliquer le correctif <ulink
            url="&outils;rhcd-scripts/oldversion/genhdlist.c.diff">genhdlist.c.diff</ulink>
            au fichier <filename>misc/src/install/genhdlist.c</filename>
            et faire un <emphasis>make</emphasis>. Ce correctif fait
            ignorer à <filename>genhdlist</filename> tout fichier
            non-RPM.

          </para>
        </note>
      </sect4>

      <sect4 id="creer-l-image-iso" xreflabel="créer des images iso">

        <title>Créer l'image iso du CD</title>

        <para>

          Vous aurez besoin de créer un fichier image qui sera écrit sur
          le CD. Ce fichier fera au moins 500&nbsp;Mo, donc trouvez une
          partition avec assez d'espace libre. Vous aurez peut-être
          besoin d'utiliser le compte root pour lancer les commandes
          mount et cdrecord. Ici, vous allez préparer l'image iso du CD
          amorçable que vous allez graver. Il n'est pas strictement
          nécessaire de créer un CD amorçable, car vous pourriez
          utiliser une disquette de démarrage à la place, mais c'est une
          fonctionnalité vraiment sympathique (et elle rend le
          comportement de votre disque plus similaire à celui du disque
          original). Voici les commandes que j'utilise pour réaliser
          cette tâche&nbsp;:

        </para>


<programlisting>
$ mkdir <replaceable>/repertoire-destination-images</replaceable>
$ mkisofs  -r  -J  -T  -v  -V "Red Hat 6.1 (Hedwig)" \
   -c boot.cat  -b images/boot.img \
   -o <replaceable>/repertoire-destination-images</replaceable>/i386-disc.iso .
</programlisting> 

        <para>

          C'est nécessaire pour graver le disque (amorçable) et cela
          doit être lancé à partir du répertoire de niveau supérieur de
          la distribution. Le répertoire <filename
          class="directory"><replaceable>/repertoire-destination-images</replaceable></filename>
          est le réceptacle de l'image iso que vous allez générez et il
          doit (obligatoirement) exister avant de lancer la procédure.
          Dans la table suivante, vous pourrez lire une brève
          explication des nombreuses options et de leur signification
          (la plupart ont été extraites de la page de manuel de
          <filename>mkisofs</filename>). 

        </para>
        <para>

          <table frame="none">

          <title>Options et paramètres de mkisofs</title> 

            <tgroup cols="2" align="left">
            <colspec colwidth="1*"/>
            <colspec colwidth="2*"/>

              <tbody>
                <row>
                  <entry>-r</entry>
                  <entry>
                    
                    Extensions Rock Ridge, indiquant des valeurs utiles pour
                    les droits.
                  
                  </entry>
                </row>
                <row>
                  <entry>-J</entry>     
                  <entry>
                    
                    Extensions Joliet pour utiliser le CD sous quelques
                    autres systèmes d'exploitation.
                  
                  </entry>
                </row>
                <row>
                  <entry>-T</entry>     
                  <entry>
                    
                    Génère un fichier TRANS.TBL dans chaque répertoire
                    afin que, même sur des systèmes non compatibles avec
                    les extensions Rock Ridge, la correspondance des
                    noms de fichier soit correcte.
                  
                  </entry>
                </row>
                <row>
                  <entry>-v</entry>     
                  <entry>Mode bavard</entry>
                </row>
                <row>
                  <entry><literal>-V&nbsp;<replaceable>identifiant</replaceable></literal></entry>
                  <entry>
                  
                    Indique l'identifiant du volume (nom ou label du
                    volume) qui devra être écrit dans le bloc maître.
                  
                  </entry>
                </row>
                
                <row>
                  <entry><literal>-c&nbsp;<replaceable>catalogue_de_démarrage</replaceable></literal></entry>
                  <entry>
                    
                    Indique le chemin et le nom du fichier contenant le
                    catalogue de démarrage, qui sera utilisé lors de la
                    création d'un CD amorçable <quote>El Torito</quote>.
                    Le chemin doit être relatif au chemin source indiqué
                    à mkisofs.
                  
                  </entry>
                </row>
                <row>
                  <entry><literal>-b&nbsp;<replaceable>image_eltorito</replaceable></literal></entry>
                  <entry>
                  
                    Indique le chemin et le nom du fichier contenant
                    l'image de démarrage à utiliser lors de la création
                    du CD amorçable <quote>El Torito</quote>. Le chemin
                    doit être relatif au chemin source indiqué à
                    mkisofs. L'image doit être une image de disquette
                    (ce qui explique pourquoi nous utilisons une des
                    images de disquette trouvées sur le CD original).
                    Vous pourrez choisir d'utiliser l'image
                    <filename>pcmcia.img</filename> à la place si vous
                    voulez réaliser une installation en utilisant des
                    périphériques PCMCIA tels que des cartes réseau ou
                    des lecteurs CDROM.
                  
                  </entry>
                </row>
                <row>
                  <entry><literal>-o&nbsp;<replaceable>nom_du_fichier</replaceable></literal></entry>
                  <entry>Nom du fichier contenant l'image iso générée</entry>
                </row>
                <row>
                  <entry>.</entry>
                  <entry>
                    
                    Ceci est le répertoire racine de notre image iso
                    (nous travaillons à partir du répertoire racine de
                    chaque CD, donc un point est suffisant).
                    
                  </entry>
                </row>
              </tbody>
            </tgroup>
          </table>
        </para>
        <para>

          Vous trouverez plus d'informations sur la façon de graver une
          image sur un support dans <xref linkend="graver-le-cd"/>. Les
          étapes <filename>mkisofs</filename> et
          <filename>cdrecord</filename> peuvent être exécutées en
          utilisant une application graphique comme <ulink
          url="http://www.xcdroast.org/">X-CD-Roast</ulink> qui devrait
          actuellement permettre la création de CD amorçables (je ne
          l'ai jamais utilisé, donc ne vous attendez pas à ce que je
          vous donne des explications).

        </para>
      </sect4>

    </sect3>

    <sect3 id="reconstruire-rh62" xreflabel="reconstruire l'installateur 6.2">
      <title>Redhat&nbsp;6.2</title>
      <para>

        Apparemment, c'est l'enfant difficile des distributions RedHat
        lorsque vient le moment de graver un CD à jour. L'arrivée de la
        version&nbsp;4 du gestionnaire de paquets RedHat (RPM) a cassé la
        procédure de mise à jour de l'installateur anaconda. Les
        procédures que j'indique fonctionneront uniquement si les
        paquets mis à jour sont construits en utilisant une version du
        logiciel RPM postérieure ou égale à la version&nbsp;3.0.4 (donc, en
        pratique, la version&nbsp;3.0.4 ou 3.0.5).

      </para>
      <para>

        Si vous utilisez les paquets originaux de RedHat, il faudra
        éviter d'utiliser les mises à jour publiées après le
        28&nbsp;mars&nbsp;2001 (ce qui est un peu inutile selon moi). 
        Une autre solution est de reconstruire les paquets en utilisant
        l'ancien format rpm. Vous trouverez des informations sur cette
        procédure et les outils nécessaires sur la page <ulink
        url="http://www.tigress.co.uk/rmy/rh62/rpmhack.html"><quote>rpmhack</quote></ulink>.
        Je n'ai pas personnellement essayé cette procédure, mais,
        d'après les listes de discussion anaconda-devel et
        kickstart<footnote><para>
        
        Vous pourrez trouver ces listes dans la section des <ulink
        url="https://listman.redhat.com/mailman/listinfo">listes de
        discussion</ulink> du site web de RedHat.
        
        </para></footnote>, elle semble fonctionner.

      </para>
      <para>

        Si vous décidez de rester sur les anciens paquets originaux et
        de compléter la mise à jour (en utilisant les paquets rpm 4.0.2
        après la fin de l'installation), il existe deux façons de le
        faire, en fonction du type de mise à jour que vous souhaitez
        effectuer. Si certaines des mises à jour dépendent directement
        du processus d'installation (c'est-à-dire le noyau, python,
        kudzu), vous devrez utiliser la procédure de reconstruction de
        l'installateur expliquée dans le document <ulink
        url="http://web.archive.org/web/20030207104819/http://www.scyld.com/~pzb/rhcd.html">Construire
        un CDROM Red Hat Linux 6.2</ulink>. Sinon vous pourrez utiliser
        l'ancienne procédure (celle pour les versions précédentes
        jusqu'à la 6.1 incluse, telle qu'elle est expliquée dans la
        section précédente). Les deux dernières étapes, qui sont la
        création de l'image iso et la gravure du support, sont décrites
        respectivement dans <xref linkend="creer-l-image-iso"/> et <xref
        linkend="graver-le-cd"/>.

      </para>
    </sect3>

    <sect3 id="reconstruire-rh73"
           xreflabel="reconstruire l'installateur 7.3 ou 8.0">

      <title>Redhat&nbsp;9, 8.0 et 7.3</title>

      <para>
      
        Une fois encore, beaucoup de choses ont été changées avec la
        sortie de la série 7.x. Il faut maintenant réaliser un plus
        grand nombre d'opérations pour obtenir une série de CD frais et
        à jour. En réalité, le CD a cessé d'être unique avec la version
        7.0. L'arborescence doit maintenant être divisé pour tenir sur
        le support. Ce qui est fait en utilisant le script
        <command>splitdistro</command>, qui est écrit en python comme
        beaucoup d'éléments de l'installateur anaconda. Pour terminer
        cette partie, vous <emphasis>devrez</emphasis> utiliser une
        machine Linux utilisant la distribution Redhat&nbsp;7.3, 8.0 ou 9 sur
        laquelle soit installé le paquet
        <medialabel>anaconda-runtime</medialabel> (il aura probablement
        la version&nbsp;7.3.7, 8.0.4 ou 9.0.4), en fonction de la version que
        vous voulez reconstruire. La procédure est composée de sept
        étapes&nbsp;:
        
      </para>

        <orderedlist numeration='lowerroman'> 
          <listitem>
            <para>
              Régénérer les fichiers <filename>hdlist</filename> et
              <filename>hdlist2</filename>
            </para>
          </listitem> 
          <listitem>
            <para>
              Mettre à jour le fichier <filename>comps.xml</filename> (ou
              <filename>comps</filename>)
            </para>
          </listitem> 
          <listitem>
            <para>Reconstruire l'installateur</para>
          </listitem> 
          <listitem>
            <para>Diviser la distribution en plusieurs parties de la taille d'un CD</para>
          </listitem> 
          <listitem>
            <para>
              Régénérer (encore) les fichiers <filename>hdlist</filename> et
              <filename>hdlist2</filename>
            </para>
          </listitem>
          <listitem>
            <para>Générer les images iso</para>
          </listitem>
          <listitem>
            <para>Ajouter et vérifier les signatures md5 dans les images iso</para>
          </listitem> 
        </orderedlist>

      <para>

        Toutes ces étapes sont regroupées en un seul script qui sera
        présenté dans la section <quote><xref 
        linkend="script-updatebuild"/></quote>.

      </para>

      
      <sect4>
        <title>Opérations préliminaires sur l'arborescence principale</title>
        <para>

          Quelques-uns des scripts inclus dans le paquet
          <medialabel>anaconda-runtime</medialabel> ont besoin de
          l'arborescence principale, qui doit être déplacée dans un
          sous-répertoire nommé comme l'architecture que nous allons
          construire (donc <filename class="directory">i386/</filename>
          chez moi). Nous déplacerons tout vers ce répertoire avant de
          lancer la procédure. Nous corrigerons également les appels des
          scripts qui n'ont pas besoin de cette modification.

        </para>
        <para>

           Pour la Redhat&nbsp;9 et 8.0&nbsp;:

        </para>

<programlisting>
$ chmod  -R  u+w  <replaceable>/chemin-absolu-de-la-racine</replaceable>
$ mkdir  -p  <replaceable>/chemin-absolu-de-la-racine</replaceable>/i386
$ cd <replaceable>/chemin-absolu-de-la-racine</replaceable>
$ /bin/mv  *  i386
</programlisting>

        <para>

          Vous devrez remplacer <filename class="directory"> 
          <replaceable>/chemin-absolu-de-la-racine</replaceable> 
          </filename> par le <emphasis>chemin absolu</emphasis> du 
          répertoire où la racine de votre copie locale de la 
          distribution est placée (peut-être quelque part sur l'un des 
          disques durs). Vous obtiendrez une erreur, lors de l'exécution 
          de la dernière commande, car le répertoire <filename 
          class="directory">i386/</filename> ne peut être déplacé sous 
          lui-même, mais vous ne devez pas en tenir compte.
          
        </para>
        <para>

           Pour Redhat&nbsp;7.3&nbsp;:
  
        </para>

<programlisting>
$ chmod  -R  u+w <replaceable>/chemin-absolu-de-la-racine</replaceable>
$ mkdir  -p  <replaceable>/chemin-absolu-de-la-racine</replaceable>/i386
$ cd <replaceable>/chemin-absolu-de-la-racine</replaceable>
$ for i in `ls` ; do [ $i != "SRPMS" -a $i != i386 ] &amp;&amp; \
  /bin/mv $i i386 ; done
</programlisting>
          
        <para>

          Cette fois-ci (je l'espère) la dernière commande ne devrait 
          produire aucune erreur.
          
        </para>
      </sect4>

      <sect4>

        <title>Régénérer les fichiers hdlist et hdlist2</title>

        <para>

          Ceci est fait au moyen des deux commandes suivantes et avec
          l'aide du programme <command>genhdlist</command>.

        </para>

<programlisting>
$ /usr/lib/anaconda-runtime/genhdlist
<replaceable>/chemin-absolu-de-la-racine</replaceable>/i386
$ chmod  644
<replaceable>/chemin-absolu-de-la-racine</replaceable>/i386/RedHat/base/hdlist{,
2}
</programlisting>

        <para>
          
          Une fois encore <filename class="directory"> 
          <replaceable>/chemin-absolu-de-la-racine</replaceable> 
          </filename> est le <emphasis>chemin absolu</emphasis> du 
          répertoire où la racine de votre copie locale de la 
          distribution est placée. La seconde commande est nécessaire 
          pour vous assurer que les droits de ce fichier sont corrects. 
          Vous devez déjà avoir une idée de ce que sont ces fichiers si 
          vous avez lu la section <quote><xref 
          linkend="repertoire-redhat"/></quote>.

        </para>
      </sect4>

      <sect4 id="maj-comps.xml" xreflabel="mettre à jour comps.xml">

        <title>Mettre à jour le fichier <filename>comps.xml</filename></title>

        <para>

          Avec la distribution Linux RedHat&nbsp;8.0, le format du fichier
          <filename>comps</filename> a complètement changé et il est
          maintenant basé sur XML. Ce nouveau format apporte une plus
          grande flexibilité et facilité de personnalisation. La section
          <quote><xref linkend="fichiers-comps"/></quote> vous donnera
          plus d'informations sur le sujet. Si vous avez modifié ou si
          vous souhaitez modifier la liste des paquets installés, vous
          aurez besoin de réaliser cette étape. Ce qui implique alors
          d'avoir installé une version modifiée du paquet <ulink
          url="rhcd-scripts/comps-9.tar.gz">comps-9.tar.gz</ulink>
          (l'original ne fonctionne pas pour moi) ou <ulink
          url="http://rhlinux.redhat.com/anaconda/comps-8.0.tar.gz">
          comps-8.0.tar.gz</ulink> (suivant la version que vous
          construisez) qui contient le fichier maître comps trouvé sur
          le site web de RedHat, ainsi que le paquet
          <filename>comps-extras</filename>. Suivez alors ces étapes
          pour la Redhat&nbsp;9 et 8.0&nbsp;:

        </para>

<programlisting>
$ cd <replaceable>/répertoire-de-votre-choix</replaceable>
$ tar xzvf
<replaceable>/chemin-vers-comps-9.tar.gz</replaceable>/comps-9.tar.gz 
$ cd comps
$ make
$ cat comps-milan.xml |sed 's!&lt;/comps&gt;!!g' >comps-tmp.xml
$ /usr/share/comps-extras/getfullcomps.py  comps.xml \
   <replaceable>/chemin-absolu-de-la-racine</replaceable> i386 &gt;&gt;
comps-tmp.xml
$ echo '&lt;/comps&gt;' &gt;&gt; comps-tmp.xml
$ cp comps-tmp.xml
<replaceable>/chemin-absolu-de-la-racine</replaceable>/i386/RedHat/base/comps.
xml
</programlisting>

        <para>

          En plus de <filename class="directory"> 
          <replaceable>/chemin-absolu-de-la-racine</replaceable> 
          </filename>, vous devrez prendre soin d'indiquer des noms 
          valides pour <filename class="directory"> 
          <replaceable>/répertoire-de-votre-choix</replaceable> 
          </filename> et <filename> 
          <replaceable>/chemin-vers-comps-9.tar.gz</replaceable> 
          </filename>. Le reste des commandes pourra simplement être 
          recopié. Et vous devrez évidemment changer 9 en 8.0 si vous 
          construisez une version&nbsp;8.0.

        </para>
        
        <para>

          De nouveau, avant de lancer la commande 
          <command>make</command>, vous devrez modifier le fichier 
          <filename>comps-milan.xml.in</filename> en utilisant votre 
          éditeur de texte favori et en suivant les lignes de conduite 
          et suggestions de la section <quote><xref 
          linkend="fichiers-comps"/></quote> et de la page <quote><ulink 
          url="http://rhlinux.redhat.com/anaconda/comps.html">anaconda 
          comps</ulink></quote> du site web RedHat.

        </para>
        
        <para>

          Toutes les étapes nécessaires après la commande 
          <command>make</command> seront réalisées par le script de la 
          section <quote><xref linkend="script-updatebuild"/></quote>. 
          Ce script utilise la variable <literal>COMPSFILE</literal>, 
          pour trouver le fichier <filename>comps-milan.xml</filename> 
          (il n'a pas besoin d'avoir ce nom, j'utilise juste le nom 
          original, mais vous pouvez le changer si vous le voulez).

        </para>
        
        <para>

          Si vous utilisez la distribution Redhat&nbsp;7.3, le fichier 
          <filename>comps</filename> (avez-vous remarqué la différence 
          de nom&nbsp;?) est un fichier de texte avec une syntaxe 
          complètement différente. Cette syntaxe est décrite plus 
          précisément dans <xref linkend="fichiers-comps"/>. Pour cette 
          distribution, les seules opérations nécessaires sont 
          l'adaptation du fichier pour correspondre à vos besoins et la 
          recopie du fichier <filename>RedHat/base/comps</filename> dans 
          l'arborescence principale en remplacement de l'original.

        </para>
      </sect4>

      <sect4>

        <title>Reconstruire l'installateur</title>

        <para>

          Cette étape consiste à reconstruire l'installateur anaconda 
          dans votre copie locale de la distribution en utilisant les 
          paquets mis à jour. Pour la Redhat&nbsp;9, lancez&nbsp;:

        </para>

<programlisting>
$ /usr/lib/anaconda-runtime/buildinstall  \
  --pkgorder <replaceable>/chemin-absolu-de-la-racine</replaceable>/pkgorder.txt
 \
  --comp dist-9 --product "Red Hat Linux" --version 9  \
  --release "Redhat 9 (Shrike)"
<replaceable>/chemin-absolu-de-la-racine</replaceable>/i386
</programlisting>

        <para>

          Où, une fois encore, <filename class="directory"> 
          <replaceable>/chemin-absolu-de-la-racine</replaceable>
          </filename> est le répertoire où est placée la racine de votre 
          copie locale de la distribution.

        </para>

        <para>

          Pour la distribution Redhat&nbsp;8.0, la procédure est pratiquement 
          identique (l'option <option> --product </option> en 
          moins)&nbsp;:

        </para>

<programlisting>
$ /usr/lib/anaconda-runtime/buildinstall  \
  --pkgorder <replaceable>/chemin-absolu-de-la-racine</replaceable>/pkgorder.txt
 \
  --comp dist-8.0 --version 8.0  --release "Redhat 8.0 (Psyche)" \
  <replaceable>/chemin-absolu-de-la-racine</replaceable>/i386  
</programlisting>

        <para>
 
          Ou si, comme moi, vous utilisez toujours une Redhat&nbsp;7.3&nbsp;:

        </para>
 
<programlisting>
$ /usr/lib/anaconda-runtime/buildinstall  \
   --pkgorder
<replaceable>/chemin-absolu-de-la-racine</replaceable>/pkgorder.txt  \
   --comp dist-7.3 --version 7.3
<replaceable>/chemin-absolu-de-la-racine</replaceable>/i386  
</programlisting>

        <para>

        L'absence de l'option (obligatoire pour la 8.0) <option> 
        --release </option> est la seule différence notable.

        </para>
      </sect4>

      <sect4>

        <title>Diviser la distribution</title>

        <para>

          Dans cette étape, nous allons créer cinq répertoires, chacun 
          correspondant à un CD différent et y placer des liens 
          physiques vers les fichiers réels contenus dans votre copie 
          locale de la distribution.

          <note>
            <para>

              Cette étape ne marchera pas du tout avec la distribution 
              RedHat&nbsp;7.3 si vous n'utilisez pas la version modifiée 
              du script <filename>splitdistro</filename> présentée dans 
              le prochain paragraphe. Pour les distribution 
              RedHat&nbsp;8.0 et&nbsp;9, une version modifiée de 
              <filename>splitdistro</filename> est proposée 
              principalement parce que, même si les problèmes du script 
              précédent ont été corrigés, l'exécution échouait 
              systématiquement s'il n'existait pas suffisamment de 
              paquets pour remplir tous les CD (les quatre premiers 
              complètement et le dernier même seulement partiellement).

            </para>
          </note> 
        </para>

<programlisting>
$ /usr/lib/anaconda-runtime/splitdistro  \
  --fileorder
<replaceable>/chemin-absolu-de-la-racine</replaceable>/pkgorder.txt  --release \
  "Redhat 9.0 (Shrike)"  <replaceable>/chemin-absolu-de-la-racine</replaceable> 
i386 
</programlisting>

        <para>

          La seule chose que vous ayez besoin de changer pour les 
          versions&nbsp;8.0 et la 7.3 est le texte indiqué à l'option
          <option>--release</option> (qui doit être <quote>Redhat
          8.0 (Psyche)</quote> ou <quote>Redhat&nbsp;7.3 (Valhalla)</quote>).

        </para>
        <para>

          Pour la distribution Redhat&nbsp;7.3, la version du script 
          (python) <ulink 
          url="&outils;rhcd-scripts/splitdistro7.3">splitdistro7.3</ulink> 
          utilisée a été extraite du paquet <emphasis>anaconda-runtime 
          7.3.7</emphasis> et modifiée par moi. Vous pouvez le 
          substituer à l'original, nommé 
          <filename>/usr/lib/anaconda-runtime/splitdistro</filename>, 
          après avoir éventuellement sauvegardé ce dernier.

        </para>
        <para>

          La seule modification (en dehors de quelques petites 
          corrections) que ce script aie subie est un changement de son 
          comportement si le répertoire <filename>SRPMS</filename> n'est 
          pas trouvé (il n'échoue pas, mais génère les CD sans paquets 
          source).

        </para>
        <para>

          Pour la distribution Redhat&nbsp;8.0, la version du script 
          (python) <ulink 
          url="&outils;rhcd-scripts/splitdistro8.0">splitdistro8.0</ulink> 
          utilisée a été extraite du paquet 
          <medialabel>anaconda-runtime&nbsp;8.0.4</medialabel> et 
          modifiée une nouvelle fois par moi pour obtenir quelques 
          améliorations dont je ressentais le besoin. Vous devez le 
          substituer au fichier original (peut-être après avoir 
          sauvegardé ce dernier) nommé 
          <filename>/usr/lib/anaconda-runtime/splitdistro</filename>. 
          Néanmoins, l'original fonctionnera bien pour construire une 
          distribution qui comprend tous les paquets 
          <emphasis>SRPMS</emphasis> (et ainsi remplir les cinq CD, car 
          sinon le script échouera).

        </para>
        <para>

          La seule modification apportée au script est un changement 
          dans son comportement s'il ne trouve pas le répertoire 
          <filename>SRPMS</filename> (il n'échoue plus, mais génère les 
          CD sans paquets source) ou s'il y a un CD sans paquet (le 
          script générera un répertoire vide un lieu d'échouer).

        </para>

        <para>

          Pour la distribution Redhat&nbsp;9, vous trouverez une copie
          du script incluant les mêmes modifications que le script de
          la&nbsp;8.0 ici&nbsp;: <ulink
          url="rhcd-scripts/splitdistro9">splitdistro9</ulink>. Tout ce
          qui a été dit dans le paragraphe précédent pour la
          distribution Redhat&nbsp;8.0 s'applique à la version&nbsp;9.

        </para>
      </sect4>

      <sect4>

        <title>Régénérer les fichiers hdlist et hdlist2</title>

         <para>

           Il est nécessaire de recréer les fichiers hdlist et hdlist2,
           en utilisant certaines des informations obtenues dans les
           étapes précédentes. Il n'y a pas de différences entre 7.3,
           8.0 et 9 pour l'exécution de ce programme. La commande à
           utiliser est la suivante&nbsp;:

         </para>

<programlisting>
$ /usr/lib/anaconda-runtime/genhdlist  \
  --fileorder
<replaceable>/chemin-absolu-de-la-racine</replaceable>/pkgorder.txt 
--withnumbers \
  <replaceable>/chemin-absolu-de-la-racine</replaceable>/i386-disc[1-3]
</programlisting> 

         <para>

           Comme vous pouvez le voir, comparé à la première utilisation
           de genhdlist, deux nouvelles options sont passées au
           programme. La première, <option>--fileorder</option>, indique
           à genhdlist d'utiliser le fichier
           <filename>pkgorder.txt</filename> que nous avons généré à la
           seconde étape (<xref
           linkend="reconstruire-l-installateur"/>). Ce fichier contient
           la répartition des paquets sur les différents CD et est
           utilisé par l'installateur pour déterminer dans quel ordre
           les paquets doivent être installés. De manière simple, si
           vous ne l'utilisez pas, vous finirez probablement par changer
           très souvent de CD lors de l'installation. L'option
           <option>--withnumbers</option> est nécessaire pour associer
           un numéro de CD à chaque paquet (comme vous le voyez, un
           joker indiquant les trois premières images iso est utilisé).

         </para>
      </sect4>

      <sect4>
        <title>Générer les images iso</title>

        <para>

          Dans cette étape, vous allez préparer les images iso à graver
          sur les CD réels. Il y a deux commandes distinctes à utiliser,
          l'une pour le premier disque et l'autre pour le reste des CD. 
          Ceci est dû au besoin de rendre amorçable le premier CD. Ce
          n'est pas strictement nécessaire car vous pouvez utiliser à la
          place une disquette de démarrage mais il s'agit d'une
          fonctionnalité intéressante (et elle rend le comportement de
          vos disques plus similaire aux originaux).  Voici les
          commandes que j'utilise pour réaliser cette tâche&nbsp;:

          </para>

<programlisting>
$ mkdir <replaceable>/repertoire-destination-images</replaceable>
$ mkisofs  -r  -J  -T  -v  -V "Red Hat 9 (Shrike) disque 1" \
   -c isolinux/boot.cat  -b isolinux/isolinux.bin -no-emul-boot \
   -boot-load-size 4 -boot-info-table \
   -o <replaceable>/repertoire-destination-images</replaceable>/i386-disc1.iso .
</programlisting> 

          <para>

            Cela est nécessaire pour graver le premier disque
            (amorçable) pour les distributions Redhat&nbsp;8.0 et 9
            (sans émulation de disquette) et c'est exécuté à partir du
            répertoire racine de la distribution. Le répertoire
            <filename class="directory">
            <replaceable>/repertoire-destination-images</replaceable>
            </filename> est le contenant pour les cinq images iso que
            vous avez générées et il doit exister avant de pouvoir
            lancer la procédure. La seule modification à effectuer pour
            la distribution Redhat&nbsp;8 est le nom du volume, qui
            devrait être <quote>Red Hat 8.0 (Psyche) disque 1</quote>.

          </para>

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

          <para>

            C'est nécessaire pour graver le premier disque (amorçable)
            sur la&nbsp;7.3.  Cette commande doit être exécutée à partir
            du répertoire racine de la distribution (cette fois-ci nous
            utilisons l'émulation de disquette).

          </para>
          <para>

            Le reste des images peut être écrit au moyen d'une boucle
            <quote>for</quote>&nbsp;:

          </para>

<programlisting>
$ for i in `echo 2 3 4 5` ; do mkisofs  -r  -J  -T  -v  \
   -V "Red Hat 9 (Shrike) disc ${i}"  \
   -o <replaceable>/repertoire-destination-images</replaceable>/i386-disc${i}.iso . ; done
</programlisting> 
            
          <para>

            La boucle présentée va préparer les quatre dernières images
            en leur donnant les bons numéros. Comme vous pouvez le voir,
            il y a deux options manquantes par rapport à la commande
            précédente et, comme vous pouvez le deviner, ces commandes
            ne sont utiles que pour créer un CD amorçable.  Dans <xref
            linkend="creer-l-image-iso"/>, vous pourrez lire une brève
            explication sur des différentes options et de leurs
            significations (la plupart ont été extraites de la page de
            manuel). De nouveau, si vous construisez une
            distribution Redhat&nbsp;8.0, vous devriez changer le nom du 
            volume par <quote>Red Hat 8.0 (Psyche) disc1</quote>.

        </para>
      </sect4>

      <sect4>

        <title>
        
          Implanter et vérifier les signatures md5 dans les images iso
        
        </title>

        <para>

          C'est une étape optionnelle mais elle permet l'utilisation de 
          l'option <quote>checkmedia</quote> pour vérifier les 
          signatures des CD avant de les installer et donc de garantir 
          leur intégrité.

        </para>
        <para>

          Les commandes suivantes permettent d'injecter ou de vérifier
          une signature md5 sur une image iso&nbsp;:

        </para>

<programlisting>
$ /usr/lib/anaconda-runtime/implantisomd5 <replaceable>image-iso</replaceable>
$ /usr/lib/anaconda-runtime/checkisomd5 <replaceable>image-iso</replaceable>
</programlisting> 

        <para>

          Après avoir fini toutes ces étapes, nous aurons obtenu les 
          cinq images CD à graver. Considérant que saisir tout ceci est 
          un peu long, la prochaine section présentera un script qui 
          réalise toutes ces opérations en une seule fois (n'oubliez pas 
          de configurer correctement les paramètres).

        </para>
      </sect4> 

      <sect4 id="script-updatebuild" xreflabel="le script updateBuild.sh">
      
        <title>Réunir toutes ces étapes</title>
      
        <para>

          Le script <ulink 
          url="&outils;rhcd-scripts/updateBuild.sh">updateBuild.sh</ulink> 
          exécutera toutes les étapes nécessaires à la reconstruction 
          des CD des distributions Redhat&nbsp;7.3, 8.0 et 9 en un seul 
          lancement (sous le compte <literal>root</literal>). Avant 
          d'utiliser ce script, vous devrez définir une variable 
          <literal>RHCDPATH</literal> pointant vers le répertoire où se 
          trouve le fichier <ulink 
          url="&outils;rhcd-scripts/rhcd.conf">rhcd.conf</ulink> et 
          paramétrer ce fichier. Si vous voulez inclure un fichier 
          <filename>comps.xml</filename> modifié (ou 
          <filename>comps</filename>) dans vos CD, comme expliqué dans 
          <xref linkend="fichiers-comps"/>, vous devrez le copier à 
          l'emplacement défini par la variable 
          <literal>COMPSFILE</literal> avant d'exécuter le script. Si 
          vous en avez besoin, n'oubliez pas d'ajouter le script modifié 
          <filename>splitdistro</filename> dans le répertoire <filename 
          class="directory">/usr/lib/anaconda-runtime</filename>.
      
        </para>

<screen>
# export RHCDPATH=<replaceable>/home/luigi/tmp/</replaceable>rhcd-scripts
# sh updateBuild.sh
</screen>

      </sect4>
    </sect3>
  </sect2>
</sect1>


<sect1 id="graver-le-cd" xreflabel="graver le CD">

  <title>Graver le ou les CD</title>
  
  <para>
  
    Cette étape est composée d'une partie optionnelle et d'une partie 
    obligatoire. Rappelez-vous que vous aurez probablement besoin 
    d'être connecté sous le compte <quote>root</quote> de votre machine 
    pour lancer <command>cdrecord</command>.
  
  </para>
  
  <sect2>

    <title>Essayer l'image ou les images</title>

    <para>

      Si vous êtes paranoïaque, vous pouvez tester votre nouvelle image
      disque en la montant. Si vous oubliez de corriger les droits
      des fichiers ou de mettre en place les extensions rock ridge,
      alors l'erreur sera évidente puisque les noms de fichier et la
      structure des répertoires seront erronés. Le test (optionnel) peut
      être réalisé en entrant la commande suivante&nbsp;:
      
    </para>

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

    <para>

      Où <filename><replaceable>image-iso</replaceable></filename> est 
      le nom que vous aurez donné à l'image iso à monter (qui doit être 
      seule pour les versions supérieures ou égales à la 6.2). Quand 
      vous avez terminé, n'oubliez pas de la démonter&nbsp;:

    </para>

<programlisting>
# umount /mnt/cdrom
</programlisting>

  </sect2>

  <sect2>

    <title>Graver le ou des disques</title>

    <para>

      Assurez-vous que vous avez défini les bons paramètres pour votre 
      périphérique. Par exemple, la commande suivante est destinée à un 
      graveur 4x, ce qui est assez lent. De plus, on suppose que le 
      graveur de CD est ici sur le bus SCSI numéro 0, avec l'ID 0 et le 
      LUN 0. Vous pourrez obtenir ces valeurs en lançant un 
      <userinput>cdrecord&nbsp;-scanbus</userinput> et en les assignant 
      au paramètre <quote><option>-dev=</option></quote>.
      
    </para>

<programlisting>
# cdrecord -v speed=4 dev=0,0,0 <replaceable>/repertoire-destination-images</replaceable>/<replaceable>disc1.img</replaceable>
</programlisting>

  </sect2>
</sect1>


<sect1 id="fichiers-comps" xreflabel="le fichier comps">

  <title>Le fichier comps</title>

  <para>

    Le fichier <filename>comps</filename> définit la façon dont les 
    paquets seront regroupés durant l'installation. Dans la distribution 
    RedHat, ceci est fait selon les fonctionnalités qu'ils offrent, par 
    exemple&nbsp;:

  </para>

    <itemizedlist mark="opencircle">
      <listitem>
        <para>Utilisation d'imprimantes</para>
      </listitem>
      <listitem>
        <para>Système X Window</para>
      </listitem>
      <listitem>
        <para>GNOME</para>
      </listitem>
      <listitem>
        <para>KDE</para>
      </listitem>
      <listitem>
        <para>Outils courrier, web et forums</para>
      </listitem>
      <listitem>
        <para>&hellip;</para>
      </listitem>
      <listitem>
        <para>Développement du noyau</para>
      </listitem>
      <listitem>
        <para>Documentation supplémentaire</para>
      </listitem>
    </itemizedlist>

  <para>

    Quelquefois durant le processus d'installation, l'utilisateur se 
    trouve face à une fenêtre appelée <quote>Composants à 
    installer</quote>. Quelques-uns des composants ont été 
    présélectionnés, d'autres non. Le dernier point sur la liste des 
    composants est appelé <quote>Tout</quote>. Sur la fenêtre, il existe 
    aussi une option de personnalisation qui permet à l'utilisateur de 
    choisir très précisément la liste des paquets qui seront installés. 
    Personnaliser l'installation ou sélectionner <quote>Tout</quote> 
    dans la liste des composants est le seul moyen d'obtenir que votre 
    propre sélection de paquets soit installée, sauf si vous modifiez le 
    fichier <filename>RedHat/base/comps</filename>.
    
  </para>
 
  <sect2>

    <title>
    
        Format du fichier <filename>comps</filename> pour RedHat 
        versions &lt; 6.1
    
    </title>

    <para>
    
      Le fichier <filename>comps</filename> commence avec un en-tête
      indiquant la version du format du fichier comps, suivie d'une 
      ligne vide.
    
    </para>

<screen>
0.1
&lt;empty line&gt;
</screen>

    <para>

      Puis, il dresse la liste des composants, séparés par des lignes 
      vides&nbsp;:

    </para>

<screen>
&lt;composant 1&gt;
&lt;ligne vide&gt;
&lt;composant 2&gt;
&lt;ligne vide&gt;
...
&lt;composant n&gt;
&lt;ligne vide&gt;
EOF
</screen>

    <para>

      Chaque composant est défini comme suit&nbsp;:

    </para>

<screen>
(0|1) (--hide)? &lt;name&gt;
&lt;RPM 1&gt;
&lt;RPM 2&gt;
...
&lt;RPM n&gt;
end
</screen>

    <para>

      Avant le nom de chaque composant est placé un <literal>0</literal> 
      ou un <literal>1</literal>. Une valeur de <literal>1</literal> à 
      cet endroit indique que le composant est choisi par défaut alors 
      qu'un <literal>0</literal> signifie le contraire. L'option 
      <option>--hide</option> veut dire que l'entrée ne sera pas 
      affichée, sauf si vous choisissez l'installation <quote>en mode 
      expert</quote>. Le premier composant est appelé 
      <quote>Base</quote> et il est spécial, dans le sens où il 
      <emphasis>doit</emphasis> être présent et qu'il n'apparaîtra pas 
      dans le dialogue (vous ne pouvez pas désélectionner 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é <emphasis>dans le fichier rpm</emphasis> et 
      <emphasis>non</emphasis> d'une partie du nom de fichier du paquet 
      (bien qu'il soient sensés, par convention, être identiques).

    </para>
    <para>

      En ajoutant vos paquets au fichier <filename>comps</filename>, 
      vous pourrez personnaliser votre propre distribution et vous 
      assurer que vos paquets seront installés par défaut. Une chose à 
      laquelle vous devez faire attention est l'interdépendance entre 
      vos paquets, mais ici c'est à vous de jouer :-) Un mot pour vous 
      prévenir&nbsp;: faites attention de ne pas ajouter ou supprimer 
      des espaces blancs supplémentaires dans le fichier. Examinez le 
      fichier <filename>comps</filename> existant (faites une copie de 
      l'original) pour voir comment il est fait (ou vérifiez 
      <filename>i386/misc/src/install/pkgs.c</filename> si vous voulez 
      comprendre comment le fichier est analysé).

    </para>  
  </sect2>

  <sect2>

  <title>Format du fichier comps pour RedHat version&nbsp;6.1</title>

    <para>

      Avec la version&nbsp;6.1 de la distribution RedHat, le format du 
      fichier <filename>comps</filename> a changé. Le décodage 
      s'effectue dans 
      <filename>${RHROOT}/${ARCH}/misc/src/anaconda/comps.py</filename>. 
      Je n'ai pas encore analysé ce script python et les règles 
      suivantes ont été obtenues seulement en étudiant le fichier 
      <filename>comps</filename> et en essayant quelques paramétrages.

    </para>
    <para>

      Dans la version&nbsp;6.1, la définition du 
      <emphasis>composant</emphasis> est étendue pour inclure quelques 
      éléments optionnels supplémentaires avant les 
      <emphasis>&lt;RPM&gt;</emphasis>. Ces éléments sont&nbsp;:

    </para>

<screen>
&lt;RPM-dépendant-de-l-architecture 1&gt;
...
&lt;RPM-dépendant-de-l-architecture n&gt;
&lt;composant-requis 1&gt;
...
&lt;composant-requis n&gt;
&lt;RPM-dépendant-d-un-composant 1&gt; 
...
&lt;RPM-dépendant-d-un-composant n&gt;
</screen>

      <para>

        Un &lt;RPM-dépendant-de-l-architecture&gt; définit une 
        dépendance entre un paquet et une architecture spécifique et a 
        pour définition&nbsp;:

      </para>

<screen>
(!)?arch: &lt;RPM&gt;
</screen>

      <para>

        Donc, il peut, par exemple, se présenter dans le monde réel
        comme&nbsp;:

      </para>

<screen>
!alpha: kernelcfg
</screen>

      <para>

        ce qui veut dire&nbsp;: si l'architecture n'est pas alpha alors
        il faut installer le paquet <emphasis>kernelcfg</emphasis>.
        
      </para>
      <para>

        Ou comme&nbsp;:
      </para>

<screen>
i386: mkbootdisk
</screen>

      <para>
      
        Ce qui veut dire&nbsp;: si l'architecture est i386 alors il faut
        installer le paquet <emphasis>mkbootdisk</emphasis>.
      
      </para>
      <para>

        Un &lt;composant-requis&gt; renforce la dépendance avec un autre
        composant et il est défini comme&nbsp;:

      </para>

<screen>
@ &lt;composant&gt;
</screen>

      <para>

        Donc, par exemple, si à l'intérieur de la définition d'un
        composant, vous trouvez la ligne suivante&nbsp;:

      </para>

<screen>
@ Station réseau
</screen>

      <para>
      
        cela veut dire que le composant lui-même a besoin de
        l'installation d'un autre composant nommé <emphasis>Station
        réseau</emphasis>.
      
      </para>
      <para>

        Un &lt;RPM-dépendant-d-un-composant&gt; est utilisé pour sélectionner
        l'installation de quelques paquets additionnels pour un
        composant, étant donné la présence d'un autre composant. Sa
        définition est la suivante&nbsp;:

      </para>

<screen>
? &lt;composant&gt; { 
  &lt;RPM 1&gt;
  ...
  &lt;RPM n&gt;
}
</screen>

      <para>

        Donc si, par exemple, dans la définition d'un composant, il vous
        arrive de lire les lignes suivantes&nbsp;:

      </para>

<screen>
? KDE { 
  kpppload
}
</screen>

    <para>
    
      alors si le composant <emphasis>KDE</emphasis> est installé, le 
      paquet <emphasis>kpppload</emphasis> sera installé en même temps 
      que les paquets inclus dans le composant où se trouve cette 
      définition.
    
    </para>
  </sect2>

  <sect2>

    <title>Format du fichier comps dans RedHat version&nbsp;6.2</title>

    <para>

      Avec RedHat version&nbsp;6.2, le format du fichier 
      <filename>comps</filename> a apparemment très légèrement changé. 
      Le décodage se fait toujours dans 
      <filename>${RHROOT}/${ARCH}/misc/src/anaconda/comps.py</filename>. 
      Encore une fois, je n'ai pas analysé ce script python et les 
      règles suivantes ont été obtenues uniquement en étudiant le 
      fichier et en essayant quelques paramétrages.

    </para>
    <para>

      Dans la version&nbsp;6.2, la définition du composant est étendue pour
      inclure deux éléments optionnels supplémentaires&nbsp;:

    </para>

<screen>
&lt;RPM-dépendant-de-la-langue 1&gt;
...
&lt;RPM-dépendant-de-la-langue n&gt;
&lt;composant-dépendant-de-l-architecture 1&gt;
...
&lt;composant-dépendant-de-l-architecture n&gt;
</screen>

    <para>

      Un <emphasis>&lt;RPM-dépendant-de-la-langue&gt;</emphasis> est 
      nécessaire pour demander l'installation d'un paquet lorsqu'une 
      langue spécifique a été sélectionnée. C'est défini ainsi&nbsp;:

    </para>

<screen>
(lang &lt;langue&gt;): &lt;RPM&gt;
</screen>

    <para>

      Par exemple, la ligne suivante

    </para>

<screen>
(lang ja_JP): locale-ja
</screen>

    <para>

      veut dire&nbsp;: si la langue japonaise est sélectionnée, alors il 
      faudra installer le paquet <emphasis>locale-ja</emphasis> en plus 
      des autres paquets installés pour ce composant.

    </para>
    <para>

      Un 
      <emphasis>&lt;composant-dépendant-de-l-architecture&gt;</emphasis> 
      étend le concept du 
      <emphasis>&lt;RPM-dépendant-de-l-architecture&gt;</emphasis>, 
      introduit pour la version&nbsp;6.1, au composant entier, comme 
      vous pouvez le voir à la lecture de sa définition&nbsp;:

    </para>

<screen>
(!)?arch: &lt;composant&gt;
</screen>

  </sect2>

  <sect2>

    <title>Format d'un fichier comps dans la RedHat version&nbsp;7.3</title>

    <para>

      Avec la version&nbsp;7.3 de la distribution RedHat, le format du 
      fichier <filename>comps</filename> possède une syntaxe plus 
      puissante. Le décodage prend place (encore) dans le script 
      <filename>comps.py</filename>, que vous trouverez dans le 
      répertoire <filename 
      class="directory">/usr/lib/anaconda/</filename> si vous avez 
      installé le paquet <medialabel>anaconda</medialabel>. Les 
      dépendances d'un composant ou d'un paquet envers une langue ou une 
      architecture données peuvent maintenant être liées par l'opérateur 
      logique <literal>and</literal> (et logique). Par exemple&nbsp;:

    </para>

<screen>
(arch !s390 and arch !s390x and arch !ia64): readline2.2.1
</screen>

    <para>

      ce qui veut dire que si l'architecture n'est ni s390, ni s390x, ni 
      ia64, alors il faudra 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 sans aucun 
      doute plus qu'assez pour les exemples simples de personnalisation 
      de l'installation par défaut qui seront présentés dans la section 
      suivante.

    </para>

    <sect3 id="personnaliser-rh73" 
           xreflabel="personnaliser la Redhat&nbsp;7.3">
                 
      <title>Personnaliser l'installation par défaut de la RedHat version&nbsp;7.3</title>
      
      <para>
      
        L'exemple que nous allons suivre dans cette section implique de 
        modifier le fichier <filename>comps</filename> pour changer les 
        valeurs par défaut concernant l'installation des paquets. Je 
        préfère habituellement (en fait spécialement dans certaines 
        situations) une installation par défaut incluant seulement les 
        paquets de base, avec quelques légères modifications pour 
        certains d'entre eux. Dans le premier des exemples présentés, 
        nous construirons une installation par défaut qui ajoute 
        <emphasis>libsafe</emphasis> au composant <quote>Base</quote>, 
        dont la plupart des paquets, qui sont généralement installés par 
        défaut, seront désélectionnés 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 réponde à nos besoins (cette 
        fois, pratiquement parfaitement&nbsp;; ce sont, en fait, mes 
        besoins, les vôtres pouvant varier). Si vous voulez inclure un 
        fichier <filename>comps</filename> modifié dans vos CD, vous 
        devrez le copier dans l'arborescence principale juste avant de 
        lancer les opérations décrites dans <xref 
        linkend="reconstruire-rh73"/>.
      
      </para>

      <sect4>
        <title>Ajouter des RPMS et désélectionner les composants par défaut</title>
        <para>

          Pour personnaliser votre installation de cette façon, vous 
          devrez éditer le fichier <filename>comps</filename> avec votre 
          éditeur de texte favori (faites attention à ne pas laisser 
          d'espaces ou de tabulations dans ce fichier) et le déplacer 
          dans le répertoire <filename 
          class="directory">Redhat/base</filename> en écrasant 
          l'original.

        </para>

        <para>

          Dans le <ulink 
          url="&outils;rhcd-scripts/comps/comps.1">premier fichier 
          comps</ulink> inclus, le paquet <emphasis>libsafe</emphasis> 
          est ajouté au composant <quote>Base</quote> (système de base) 
          et presque tous les composants sont désélectionnés pour 
          obtenir une installation par défaut comportant seulement 200 
          paquets (je sais qu'ils peuvent être encore trop nombreux).

        </para>
      </sect4>

      <sect4>

        <title>Modifier quelques-uns des composants standards</title>

        <para>

          Nous avons construit le <ulink 
          url="&outils;rhcd-scripts/comps/comps.2">deuxième fichier 
          comps</ulink> ci-joint à partir de la configuration précédente 
          en réduisant un peu plus l'installation par défaut (cette 
          fois, elle ne contient plus que 154 paquets). Quelques-uns des 
          groupes ont été divisé pour donner à l'installation une 
          meilleure granularité. Toutes les modifications que vous 
          faites doivent prendre en compte les interdépendances entre 
          paquets et les applications utilisées durant les phases 
          d'installation (par exemple, vous ne pouvez pas supprimer 
          <emphasis>kudzu</emphasis> du composant 
          <emphasis>Base</emphasis>, bien que vous puissiez le faire 
          après installation). Je dois aussi vous préciser que des 
          résultats similaires peuvent être obtenus en utilisant 
          <emphasis>kickstart</emphasis>. Pour plus d'informations à ce 
          propos, vous pourrez lire le <ulink 
          url="http://www.europe.redhat.com/documentation/rhl7.3/rhl-cg-fr-7.3/ch-kickstart2.php3">Guide 
          de Personnalisation du Linux RedHat</ulink>.
          
        </para>
      </sect4>
    </sect3>
  </sect2>

  <sect2>

    <title>
    
        Format du fichier comps à partir des versions&nbsp;8.0 et 9 de 
        RedHat
    
    </title>

    <para>

      Avec les versions&nbsp;8.0 et 9, le format du fichier 
      <filename>comps</filename> a complètement changé et on utilise 
      maintenant un fichier XML, nommé <filename>comps.xml</filename>. 
      Les détails de la syntaxe de ce fichier sont présentés dans la 
      section <ulink 
      url="http://rhlinux.redhat.com/anaconda/comps.html">Les comps 
      d'Anaconda</ulink> du site web de RedHat.

    </para>

    <sect3 id="custom-comps-rh80" xreflabel="personnaliser la Redhat&nbsp;8.0">

      <title>
          
          Personnaliser l'installation par défaut de la RedHat 
          version&nbsp;8.0
      
      </title>

      <para>

        Nous allons maintenant reprendre les exemples présentés pour la 
        version&nbsp;7.3 en prenant en compte les modifications qu'ont 
        subi les différents groupes. Le groupe le plus important (le 
        groupe <quote>Base</quote>) est ici divisé en deux groupes 
        nommés <quote>Base</quote> et <quote>Core</quote>. Le groupe 
        <quote>Base</quote> devrait représenter la plus petite 
        installation possible.

      </para>

      <sect4>

        <title>Notre premier exemple revisité pour Redhat&nbsp;8.0</title>

        <para>

          Cette fois, pour personnaliser votre installation, vous devrez 
          éditer le fichier <filename>comps-milan.xml.in</filename> avec 
          votre éditeur de texte favori. Ce fichier se trouve dans 
          l'archive <ulink 
          url="http://rhlinux.redhat.com/anaconda/comps-8.0.tar.gz">comps-8.0.tar.gz</ulink> 
          disponible sur le site web de RedHat. Pour ajouter les 
          informations relatives aux paquets au fichier que vous créez, 
          vous aurez besoin d'avoir installé le paquet rpm 
          <medialabel>comps-extras</medialabel>. Les commandes à lancer 
          pour terminer les opérations sont indiquées dans <xref 
          linkend="maj-comps.xml"/> et dans la <ulink 
          url="http://rhlinux.redhat.com/anaconda/comps.html">documentation</ulink>. 
          Après avoir créé le fichier, vous devrez le copier dans le 
          répertoire <filename>Redhat/base</filename> en écrasant 
          l'original. Si vous utilisez <xref 
          linkend="script-updatebuild"/>, vous devrez seulement copier 
          <filename>comps-milan.xml</filename> (après avoir modifié le 
          <filename>comps-milan.xml.in</filename> qui se trouve dans le 
          paquet tar/gzip <filename>comps-8.0.tar.gz</filename> et 
          lancer la commande <emphasis>make</emphasis>), à l'emplacement 
          que vous avez déjà indiqué dans la variable 
          <literal>COMPSFILE</literal> (dans <ulink 
          url="&outils;rhcd-scripts/rhcd.conf">rhcd.conf</ulink>).

        </para>

        <para>

          Dans le <ulink
          url="&outils;rhcd-scripts/comps/comps-milan.xml.in.1">premier
          fichier comps</ulink> ci-joint, le paquet
          <emphasis>libsafe</emphasis> a été ajouté au groupe
          (composant) <quote>Base</quote> et pratiquement tous les
          groupes (composants) ont été désélectionnés, sauf
          <quote>Base</quote> et <quote>Core</quote>, pour avoir une
          installation par défaut de seulement 220 paquets environ
          (probablement trop nombreux, encore une fois).

        </para>
      </sect4>

      <sect4>
        <title>Notre deuxième exemple revisité pour Redhat&nbsp;8.0</title>
        <para>

          Nous avons construit le <ulink 
          url="&outils;rhcd-scripts/comps/comps-milan.xml.in.2">deuxième 
          fichier comps</ulink> ci-joint en partant de la configuration 
          précédente et en réduisant un peu plus l'installation par 
          défaut (cette fois, il ne restera que 158 paquets dans 
          l'installation par défaut). Encore une fois, des résultats 
          similaires peuvent être obtenus en utilisant 
          <emphasis>kickstart</emphasis>, pour plus d'informations à ce 
          propos, vous pourrez lire le <ulink 
          url="http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/custom-guide/ch-kickstart2.html">Guide 
          de personnalisation du Linux RedHat</ulink>. Dans cet exemple, 
          je n'ai pas complètement désélectionné l'installation du 
          groupe <quote>Base</quote>, parce qu'il contient trop de 
          paquets que j'utilise d'habitude. J'ai donc juste 
          désélectionné l'installation par défaut pour ces paquets en 
          les rendant optionnels. Comme vous pouvez le voir, même le 
          paquet <medialabel>redhat-logos</medialabel> du groupe 
          <quote>Core</quote> a été rendu optionnel. Sachant que tous 
          les paquets de ce groupe doivent représenter, ensembles, la 
          <emphasis>plus petite installation possible</emphasis>, vous 
          ne voudrez sans doute pas le faire (mes CD fonctionnent même 
          même comme cela&nbsp;; cependant, il doit y avoir quelques 
          problèmes que je n'ai pas encore détectés). Le paquet 
          <filename>tripwire</filename> a aussi été ajouté au groupe 
          <quote>Base</quote>. La dernière modification visible a été 
          faite au groupe <quote>dialup</quote>, qui sera installé même 
          s'il est désélectionné, parce que le groupe 
          <quote>Base</quote> en dépend (ce qui est indiqué dans la 
          définition du groupe lui-même). J'ai seulement sélectionné 
          pour installation certains paquets de ce groupe dont j'ai 
          habituellement besoin et laissé le reste désélectionné.

        </para>
      </sect4>
    </sect3>

    <sect3 id="custom-comps-rh9"
           xreflabel="Personnaliser l'installation par défaut de la 
           Redhat&nbsp;9">
           
      <title>
          
          Personnaliser l'installation par défaut de la RedHat 
          version&nbsp;9
          
      </title>
      
      <para>
      
        Nous allons de nouveau reproduire les exemples présentés pour
        les versions&nbsp;7.3 et 8 en prenant en compte les modifications
        qu'ont subies les différents groupes.
      
      </para>

      <sect4>

        <title>Notre premier exemple revisité pour la Redhat&nbsp;9</title>

        <para>

          Comme dans le cas de la 8.0, pour personnaliser votre 
          installation, vous devrez modifier le fichier 
          <filename>comps-milan.xml.in</filename> avec votre éditeur de 
          texte favori. Ce fichier est disponible dans le fichier <ulink 
          url="rhcd-scripts/comps-9.tar.gz">comps-9.tar.gz</ulink> avec 
          les scripts <emphasis>(comme je l'ai déjà dit, vous ne 
          trouverez pas la même chose sur le site web de 
          Redhat)</emphasis>. Pour ajouter les informations relatives 
          aux paquets au fichier que vous créez, vous aurez besoin 
          d'avoir installé le paquet rpm 
          <filename>comps-extras</filename>. Les commandes à utiliser 
          sont indiquées dans <xref linkend="maj-comps.xml"/> et dans la 
          <ulink 
          url="http://rhlinux.redhat.com/anaconda/comps.html">documentation</ulink>. 
          Après avoir créé le fichier, vous devrez le copier dans le 
          répertoire <filename>Redhat/base</filename> en écrasant 
          l'original. Si vous utilisez <xref 
          linkend="script-updatebuild"/>, vous devrez seulement copier 
          <filename>comps-milan.xml</filename>, (après avoir modifié 
          <filename>comps-milan.xml.in</filename> trouvé dans le paquet 
          tar/gzip <filename>comps-9.tar.gz</filename> et avoir lancé la 
          commande <emphasis>make</emphasis>), vers la destination que 
          vous avez déjà indiquée dans la variable 
          <literal>COMPSFILE</literal> (<ulink 
          url="rhcd-scripts/rhcd.conf">rhcd.conf</ulink>).

        </para>
        <para>

          Dans le <ulink 
          url="rhcd-scripts/comps/comps-milan.xml.in.1-9">premier 
          fichier comps</ulink> inclus, le paquet 
          <emphasis>libsafe</emphasis> a été ajouté au groupe 
          (composant) <quote>Base</quote> et pratiquement chaque groupe 
          (composant) a été désélectionné, mis à part 
          <quote>Base</quote> et <quote>Core</quote>, de façon à avoir 
          une installation par défaut comprenant seulement environ 240 
          paquets (hummm, la complexité augmente beaucoup&hellip;).

        </para>
      </sect4>
      <sect4>
        <title>Notre second exemple revisité pour Redhat&nbsp;9</title>
        <para>

          Dans le <ulink 
          url="rhcd-scripts/comps/comps-milan.xml.in.2-9">second fichier 
          comps</ulink> ci-joint, nous partons de la configuration 
          précédente et nous réduisons un peu plus l'installation par 
          défaut (cette fois, il n'y aura qu'environ 175 paquets dans 
          l'installation par défaut). Ceci ressemble beaucoup à 
          l'exemple présenté pour la Redhat&nbsp;8.0, donc je vais 
          éviter de vous ennuyer avec les mêmes explications. Encore une 
          fois, des résultats identiques peuvent être obtenus en 
          utilisant <emphasis>kickstart</emphasis>. Vous trouverez plus 
          d'informations sur le sujet en lisant le <ulink 
          url="http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/custom-guide/ch-kickstart2.html">Guide 
          de personnalisation du Linux RedHat</ulink>.

        </para>
      </sect4>
    </sect3>

  </sect2>

</sect1>


<sect1 id="installation" xreflabel="installation">
  <title>Installation à partir du CD</title>
  <para>

    Lors de l'installation à partir du nouveau CD, vous pourriez avoir 
    tout d'abord besoin de créer une disquette d'installation amorçable. 
    <emphasis>IMPORTANT&nbsp;: utilisez une disquette neuve, tout juste 
    formatée en format MS-DOS&nbsp;!</emphasis>. Utiliser une vieille 
    disquette peut entraîner des problèmes étranges lors de 
    l'installation&nbsp;! Sur un système Linux, vous pourrez créer la 
    disquette en utilisant la commande <filename>dd</filename>&nbsp;:

  </para>

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

  <para>

    Sur un système tournant sous DOS ou Windows-9x, vous aurez besoin
    d'utiliser le programme <filename>rawrite.exe</filename>, disponible
    dans le répertoire <filename class="directory">dosutils</filename>
    du CD. Sur une machine sous Windows-9x/Me/NT/2k, vous pourrez
    utiliser <filename>rawritewin.exe</filename> situé dans le
    répertoire <filename
    class="directory">dosutils/rawritewin</filename>.

  </para>

  <para>

    Arrêtez la machine sur laquelle vous voulez installer votre CD (ou 
    faire une mise à jour du système), insérez la disquette de démarrage 
    et votre CD fraîchement gravé, et laissez la machine démarrer à 
    partir de la disquette. Pour plus d'informations sur le processus 
    d'installation, voir les documents ainsi que le <ulink 
    url="&howto;Installation-HOWTO.html">Guide pratique 
    Installation</ulink> ou le <ulink 
    url="&howto;Bootdisk-HOWTO.html">Guide pratique des disques 
    d'amorçage</ulink>.

  </para>

  <sect2>
    <title>Démarrer d'un CD amorçable</title>
    <para>

      La plupart des machines modernes sont capables de démarrer à 
      partir d'un CD, à condition qu'il soit rendu amorçable par 
      procédure indiquée dans la section <xref 
      linkend="creer-l-image-iso"/>. Souvent, néanmoins, vous aurez 
      besoin de changer le paramétrage du BIOS pour permettre le 
      démarrage à partir du lecteur de CD. Référez-vous à la 
      documentation de votre carte-mère pour savoir comment le faire.

    </para>
  </sect2>

</sect1>

<sect1 id="other-distributions">
  <title>Autres distributions Linux</title>
  <para>

    Les informations concernant les versions inférieures ou égales à la 
    version&nbsp;6.1, présentes dans les précédentes versions de ce 
    guide pratique (&les;&nbsp;1.34) et reprises dans le présent 
    document, sont supposées s'appliquer à toutes les distributions 
    clones de la RedHat, telle que la distribution <ulink 
    url="http://www.linux-mandrake.com/fr/">Mandrake</ulink>. Malgré 
    tout, cette procédure n'a pas été vérifiée [pour d'autres 
    distributions] (comme vous pouvez le lire dans le guide pratique 
    lui-même).

  </para>
  <para>

    C'est en gros la même chose pour la distribution <ulink 
    url="http://www.linuxppc.org">LinuxPPC</ulink> pour les PowerMac 
    d'Apple. Pour créer une distribution pour la plate-forme PowerMac, 
    vous devrez utiliser <ulink 
    url="http://rufus.w3.org/linux/RPM/mkhybrid.html">mkhybrid</ulink> à 
    la place de <filename>mkisofs</filename> et ce devrait être la seule 
    différence.

  </para>
  <para>

    Les informations concernant les nouvelles versions de RedHat 
    (&gt;&nbsp;6.1) ne devraient pas fonctionner avec la distribution 
    Mandrake, qui dispose maintenant d'un installateur assez différent 
    de celui de RedHat. Je ne sais absolument pas s'il est possible de 
    mettre à jour les CD d'autres distributions clones de la 
    distribution RedHat de la même façon, mais je serais heureux d'en 
    être informé.

  </para>
</sect1>

<sect1 id="this-document" xreflabel="ce document">
  <title>Ce document&hellip;</title>

  <para>

    Le code source SGML de la plus récente version originale de ce 
    document est disponible <ulink url="&source-vo;">ici</ulink>.

<!--
    La version précédente, créée par Morten Kjeldgaard et Peter von der
    Ahé, est disponible sur <ulink
    url="http://imsb.au.dk/~mok/linux/doc/RedHat-CD.sgml">imsb.au.dk</ulink>
  -->

  </para>

  <para>

    Le code source XML de la dernière version française de ce document 
    est disponible sur le site du projet <ulink 
    url="http://www.traduc.org">Traduc.org</ulink>&nbsp;: <ulink 
    url="&source-vf;"/>.

  </para>

  <sect2 id="references" xreflabel="documents connexes">
  <title>Documents connexes</title>

    <sect3>
  
      <title>
          Documentation relatifs à la version actuelle
      </title>

      <para> 
  
        Les documents suivants ont été utiles pour la création de ce
        guide pratique&nbsp;:
  
      </para>
  
      <para>

        Le <quote>Petit guide (non officiel) de personnalisation de 
        l'installateur de la Redhat&nbsp;7</quote> de Tony Nugent. Ce 
        document est très intéressant et utile. Donc, si vous pensez 
        sérieusement construire des CD personnalisés, je vous suggère 
        fortement de le lire. Vous le trouverez sur <ulink 
        url="http://www.linuxworks.com.au/redhat-installer-howto.html">www.linuxworks.com.au</ulink>.

      </para>
      <para>

        Miguel Freitas a écrit le <quote>Petit guide des CD 
        RedHat&nbsp;7</quote>, que vous pourrez lire sur ce <ulink 
        url="http://cambuca.ldhs.cetuc.puc-rio.br/RedHat7-CDs-HowTo.html">site 
        web</ulink>.

      </para>
      <para>

        Ron Yorston a écrit le document <ulink 
        url="http://www.tigress.co.uk/rmy/rh62/rpmhack.html">rpmhack</ulink>, 
        qui est intéressant pour la version&nbsp;6.2 du Linux RedHat.

      </para>
      <para>

        Quelqu'un (je n'ai pas trouvé son nom) a écrit le document 
        <ulink url="http://www.scyld.com/~pzb/rhcd.html">Construire un 
        CDROM Linux Red Hat 6.2</ulink>, utile pour la version&nbsp;6.2.

      </para>
    </sect3>

    <sect3>

      <title>Documentation relative à l'édition précédente</title>

<!--  <para> 

        Ed Schlunder <email>zilym@asu.edu</email> a écrit un utilitaire
        nommé <filename>fix-rhcd</filename> pour vous permettre de
        vérifier votre miroir de la distribution Red Hat Linux en ce qui
        concerne les tailles, les noms, les droits de fichiers et
        les liens symboliques avec un listing "ls -lNR" provenant du
        site ftp officiel de RedHat. Toutes les droits erronées
        sont changées pour correspondre à celles du listing
        <quote>ls</quote>. Référez-vous à la page principale du <ulink
        url="http://www.ajusd.org/~edward/fix-rhcd/">site
        fix-rhcd</ulink>.

      </para>

      <para>

        Rod Smith <email>smithrod@bellatlantic.net</email> a écrit un
        Guide d'Installation 'Fais-Le-Toi-Même' contenant aussi des
        informations sur la création de CD d'installation RedHat.
        Spécialement basé sur la gravure de CD à partir d'un système
        non-UNIX. Vous pouvez le trouver sur son <ulink
        url="http://members.bellatlantic.net/~smithrod/rhjol.html">site
        web</ulink>.

      </para>
      <para>

        Un document en français <quote>Comment graver un CD de la RedHat
        5.x à partir de fichiers téléchargés sur
        Internet&hellip;</quote> par <email>skooter@hol.fr</email> est
        disponible à partir de <ulink
        url="http://linuxfr.org/docs/article/gravure-CD-RH51.html">linuxfr.org</ulink>.

      </para>
 -->

      <para>

        Avec le sens des bonnes choses de la vie, Jussi Torhonen de 
        Finlande
        
        <email>jussi POINT torhonen CHEZ tietosavo POINT fi</email>
        
        nous dit <ulink url="http://www.iwn.fi/~jt/cd/">comment créer un
        CD-ROM RedHat Linux 5.2 amorçable fait-à-la-maison</ulink>.

      </para>
      <para>

        Consultez aussi le <ulink 
        url="&howto;CD-Writing-HOWTO.html"><quote>Guide pratique de la 
        gravure de CD</quote></ulink> du projet de documentation Linux 
        (LDP).

      </para>
    </sect3>
  </sect2>

  <sect2>
    <title>Remerciements</title>
    <para>

      À part les personnes mentionnées ci-dessus, je remercie les 
      personnes suivantes pour leurs informations précieuses, 
      commentaires, discussions et cætera&nbsp;:

    </para>
    <sect3>
      <title>Remerciement pour la version actuelle</title>
      <para>
        <itemizedlist mark="opencircle">
          
          <listitem><para>
              Morten Kjeldgaard,
              
              <email>mok CHEZ imsb POINT au POINT dk</email>
              
          </para></listitem> <!-- auteur des versions précédentes (<1.34)-->
          
          <listitem><para>
          
              Peter von der Ahé,
              
              <email>pahe+rhcd CHEZ daimi POINT au POINT dk</email>
              
          </para></listitem> <!-- auteur des versions précédentes (<1.34) -->
          
          <listitem><para>
          
              Giulia Tomaselli
              
          </para></listitem>
          
          <listitem><para>
              
              Jacinta Conneely
              
          </para></listitem>
          
          <listitem><para>
              
              Filippo Carcaci
              
          </para></listitem> <!-- matériel -->
          
          <listitem><para>
          
              Guillaume Lelarge
              
              <email>gleu CHEZ wanadoo POINT fr</email>
              
          </para></listitem> <!-- relecture et adaptation française-->
          
          <listitem><para>
          
              Alain Portal
              
              <email>aportal CHEZ univ-montp2 POINT fr</email>
           
          </para></listitem>
          <!-- à trouvé une erreur dans le code et envoyé une correction -->
          
          <listitem><para>
              
              Toutes les personnes des listes de discussion
              anaconda-devel et kickstart
              
          </para></listitem>
          <!-- pour leurs diverses idées et suggestions -->

        </itemizedlist>
      </para>
    </sect3>

    <sect3>
    
      <title>Remerciements pour les versions précédentes</title>
    
      <para>
        <itemizedlist mark="opencircle">
    
          <listitem><para>
    
            Lars Christensen
            
            <email>larsch CHEZ cs POINT auc POINT dk</email>
    
          </para></listitem>
          <listitem><para>
          
              Thomas Duffy
              
              <email>tbd CHEZ cs POINT brown POINT edu</email>
              
          </para></listitem>
          
          <listitem><para>
          
              Dawn Endico
              
              <email>dawn CHEZ math POINT wayne POINT edu</email>
          
          </para></listitem> <!-- Création d'un CD de démarage -->
          
          <listitem><para>
              
              Seva
              
              <email>seva CHEZ null POINT cc POINT uic POINT edu</email>
              
          </para></listitem>
          
          <listitem><para>
              
              Michael Thomas Cope
              
              <email>mcope CHEZ orion POINT ac POINT hmc POINT edu</email>
              
          </para></listitem>
          
          <listitem><para>
          
              Charles J. Fisher
              
              <email>charles_fisher CHEZ bigfoot POINT com</email>
              
          </para></listitem>
          
          <listitem><para>
              
              Eric Thomas
              
              <email>eric POINT thomas CHEZ ericsson POINT com</email>
          
          </para></listitem>
          
          <listitem><para>
          
              Gordon Yuen
              
              <email>gdccyuen CHEZ yahoo POINT com</email>
              
          </para></listitem> <!-- Commentaires sur la RH6.1, 20/12/1999 -->
          
          <listitem><para>
              
              Dave Morse
              
              <email>morse CHEZ nichimen POINT com</email>
              
          </para></listitem> <!-- Suggested wget, 28/3/2000 -->
          
        </itemizedlist>
      </para>
    </sect3>
  </sect2>

</sect1>

<sect1 id="adaptation-francaise" xreflabel="adaptation française">

  <title>Adaptation française</title>

  <sect2>

  <title>Traduction</title>

    <para>
        
        La traduction française de ce document a été réalisée 
        par Guillaume Lelarge
        
        <email>gleu CHEZ wanadoo POINT fr</email>.
    
    </para>

  </sect2>
  <sect2>
  
  <title>Relecture</title>
  
    <para>
    
        La relecture de ce document a été réalisée par Guillaume Hatt

        <email>ghatt CHEZ netcourrier POINT com</email>.
    
    </para>
    
    <para>
    
        Une relecture complémentaire de ce document a été réalisée par 
        Jean-Philippe Guérard
        
        <email>fevrier CHEZ tigreraye POINT org</email>.
    
    </para>
    
  </sect2>
</sect1>
</article>
