<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>4. Obtenir votre copie locale de la distribution</title> <link rel="stylesheet" href="style.css" type="text/css"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <link rel="start" href="index.html" title=" Guide pratique de gravure d'un CD RedHat "> <link rel="up" href="index.html" title=" Guide pratique de gravure d'un CD RedHat "> <link rel="prev" href="ar01s03.html" title="3. Paquets RPM"> <link rel="next" href="ar01s05.html" title="5. Inclure les mises à jour"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div class="navheader"> <table width="100%" summary="Navigation header"> <tr><th colspan="3" align="center">4. Obtenir votre copie locale de la distribution</th></tr> <tr> <td width="20%" align="left"> <a accesskey="p" href="ar01s03.html">Précédent</a> </td> <th width="60%" align="center"> </th> <td width="20%" align="right"> <a accesskey="n" href="ar01s05.html">Suivant</a> </td> </tr> </table> <hr> </div> <div class="sect1" lang="fr"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="mirroir-local"></a>4. Obtenir votre copie locale de la distribution</h2></div></div></div> <p> 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 !). 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 <span class="emphasis"><em>wget</em></span>, script présenté dans la section suivante ou utiliser le paquet <span class="emphasis"><em>mirror</em></span> comme suggéré jusqu'à la version 1.34 de ce guide pratique (consultez la section <a href="ar01s04.html#utiliser-mirror">utiliser mirror</a>). </p> <div class="sect2" lang="fr"> <div class="titlepage"><div><div><h3 class="title"> <a name="utiliser-wget-bash"></a>4.1. Utiliser wget et bash</h3></div></div></div> <p> 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 <tt class="literal">CHECKSIG</tt> du fichier <a href="outils/RedHat-CD-HOWTO/rhcd-scripts/rhcd.conf" target="_top">rhcd.conf</a> lui indique de le faire. </p> <p> 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 Go de données sur votre disque dur : </p> <pre class="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 </pre> <p> Vous voudrez probablement changer le miroir FTP de téléchargement et, en conséquence, le paramètre indiqué à l'option <tt class="option">--cut-dirs</tt>. Ce paramètre est utilisé conjointement avec l'option <tt class="option">-nH</tt> 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 œil sur la <a href="http://www.gnu.org/manual/wget-1.8.1/wget.html" target="_top">documentation de wget</a> et les pages de manuel correspondantes. </p> <p> Si vous voulez exclure un ou plusieurs répertoires du téléchargement, vous pouvez utiliser l'option <tt class="option">-X <i class="replaceable"><tt>liste</tt></i></tt>, où <i class="replaceable"><tt>liste</tt></i> représente une liste de répertoires séparés par des virgules. Par exemple, pour exclure le répertoire <tt class="filename">SRPMS</tt> du précédent téléchargement, vous pouvez utiliser : </p> <pre class="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 </pre> <p> Cela peut être utile si vous prenez en compte la taille du répertoire <tt class="filename">SRPMS</tt> (environ 1,2 Go) ; en tout cas, je le trouve utile. </p> <p> 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 <span class="emphasis"><em>gnupg</em></span> (nécessaire uniquement pour la RedHat 7.3) et importer la clé publique <span class="emphasis"><em>security@redhat.com</em></span> que vous trouverez dans le répertoire racine des CD (<tt class="filename">RPM-GPG-KEY</tt>) ou sur le <a href="http://www.redhat.com/solutions/security/news/publickey.html#key" target="_top">site web RedHat</a>. La clé est importée en lançant la commande : <b class="userinput"><tt> gpg --import <i class="replaceable"><tt>nom_du_fichier</tt></i> </tt></b> pour les versions jusqu'à la 7.3 incluse, ce qui a été remplacé par <b class="userinput"><tt> rpm --import <i class="replaceable"><tt>nom_du_fichier</tt></i> </tt></b> pour les versions 8.0 et 9 (pour plus d'informations sur ceci, jetez un œil aux sites web de <a href="http://www.gnupg.org/" target="_top">GNU Privacy Guard</a> et de <a href="http://www.rpm.org/" target="_top">RPM</a> — le Gestionnaire de paquets RedHat). </p> <p> 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) : </p> <p> Pour les versions jusqu'à la 7.3 incluse : </p> <pre class="screen"> $ find . -name "*.rpm" -exec rpm -K --nopgp {} \; |grep "NOT *OK" </pre> <p> Pour les versions 8.0 et 9 (ainsi que pour les versions futures, je suppose) : </p> <pre class="screen"> $ find . -name "*.rpm" -exec rpm -K {} \; |grep "NOT *OK" </pre> <p> Si vous ne voulez pas vous « <span class="quote">ennuyer</span> » 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 : </p> <p> Pour les versions jusqu'à 7.3 (incluse) : </p> <pre class="screen"> $ find . -name "*.rpm" -exec rpm -K --nopgp --nogpg {} \; |grep "NOT *OK" </pre> <p> Pour les versions 8.0 et 9 (ainsi que pour les versions à venir, je suppose) : </p> <pre class="screen"> $ find . -name "*.rpm" -exec rpm -K --nosignature {} \; |grep "NOT *OK" </pre> <p> Le contenu d'une distribution RedHat ne change pas entre les versions, donc vous aurez seulement besoin de télécharger ces paquets <span class="emphasis"><em>UNE FOIS</em></span>. Toutes les modifications de la distribution sont contenues dans le répertoire <tt class="filename">updates</tt>. Donc, si vous voulez conserver un miroir à jour de la distribution RedHat, vous aurez seulement besoin de maintenir le répertoire <tt class="filename">updates</tt> à jour. Ceci se fait en utilisant le script <a href="outils/RedHat-CD-HOWTO/rhcd-scripts/updateDist.sh" target="_top">updateDist.sh</a>. Avant d'utiliser ce script, vous devrez configurer le fichier <a href="outils/RedHat-CD-HOWTO/rhcd-scripts/rhcd.conf" target="_top">rhcd.conf</a> et exporter la variable <tt class="literal">RHCDPATH</tt> pointant vers le répertoire où se trouve ce fichier. </p> <pre class="screen"> $ export RHCDPATH=<i class="replaceable"><tt>/home/luigi/tmp/</tt></i>rhcd-scripts $ sh updateDist.sh </pre> <p> Ce script va télécharger les nouvelles mises à jour en excluant les sous-répertoires indiqués dans la variable <tt class="literal">EXCLUDELIST</tt>, 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 <tt class="literal">OLDDIR</tt> après avoir réussi deux tests. Le premier test compare les fichiers <tt class="filename">.listing</tt> générés par <tt class="filename">wget</tt> 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 <tt class="literal">CHECKSIG</tt> et <tt class="literal">USEGPG</tt> (positionnez-les à « <span class="quote"><tt class="literal">yes</tt></span> » 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 <tt class="literal">OLDDIR</tt> en lui affectant l'extension « <span class="quote"><tt class="literal">.UPDcheckfail</tt></span> » et abandonnera sans déplacer les anciennes mises à jour dans <tt class="literal">OLDDIR</tt>. </p> </div> <div class="sect2" lang="fr"> <div class="titlepage"><div><div><h3 class="title"> <a name="utiliser-mirror"></a>4.2. Utiliser mirror</h3></div></div></div> <p> 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 <a href="http://rufus.w3.org/linux/RPM/mirror.html" target="_top">rufus.w3.org</a>. Créez une copie locale <tt class="filename">mirror.redhat</tt> du fichier de configuration de <span class="application">mirror</span> et modifiez les champs appropriés en haut du fichier. Après la section des valeurs par défaut (<span class="foreignphrase"><i class="foreignphrase">default</i></span>), définissez les paquets suivants : </p> <pre class="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=<i class="replaceable"><tt>/home/luigi/tmp/</tt></i>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=<i class="replaceable"><tt>/home/luigi/tmp/</tt></i>redhat-cd/redhat-7.3 </pre> <p> La commande suivante va copier l'arborescence RedHat au complet sur votre disque local. <span class="emphasis"><em>**Pensez**</em></span>, avant de faire cela, que vous allez télécharger à peu près 1,5 Go de données (si vous avez exclu le répertoire <tt class="filename">SRPMS</tt>) ! </p> <pre class="screen"> $ mirror -pdist mirror.redhat </pre> <p> 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 <span class="emphasis"><em>une fois</em></span>. Tout changement dans la distribution se trouvera dans le répertoire <tt class="filename">updates</tt>. Donc, si vous voulez maintenir votre miroir à jour, vous aurez seulement besoin d'actualiser le répertoire <tt class="filename">updates</tt>. Cela se fait avec la commande suivante : </p> <pre class="screen"> $ mirror -pupdates mirror.redhat </pre> <p> 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 <a href="ftp://ftp.redhat.com/pub" target="_top">ftp.redhat.com</a>. Vous devriez choisir un site FTP proche de vous, en consultant la <a href="http://www.redhat.com/download/mirror.html" target="_top">liste des sites miroirs RedHat</a>. </p> <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"> <tr> <td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td> <th align="left">Note</th> </tr> <tr><td colspan="2" align="left" valign="top"><p> 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 1.34, concernant RedHat < 6.1). </p></td></tr> </table></div> </div> </div> <div class="navfooter"> <hr> <table width="100%" summary="Navigation footer"> <tr> <td width="40%" align="left"> <a accesskey="p" href="ar01s03.html">Précédent</a> </td> <td width="20%" align="center"><a accesskey="u" href="index.html">Niveau supérieur</a></td> <td width="40%" align="right"> <a accesskey="n" href="ar01s05.html">Suivant</a> </td> </tr> <tr> <td width="40%" align="left" valign="top">3. Paquets RPM </td> <td width="20%" align="center"><a accesskey="h" href="index.html">Sommaire</a></td> <td width="40%" align="right" valign="top"> 5. Inclure les mises à jour</td> </tr> </table> </div> </body> </html>