Subversion Repositories svn LFS-FR

Compare Revisions

Ignore whitespace Rev 585 → Rev 586

/tags/LFS-6_1_1/lfs/chapter05/introduction.xml
0,0 → 1,73
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-introduction">
<title>Introduction</title>
<?dbhtml filename="introduction.html"?>
<para>Ce chapitre montre comment compiler et installer un système Linux basique.
Ce système ne contiendra que les outils nécessaires pour commencer la
construction du système LFS final dans <xref linkend="chapter-building-system"/>
et quelques autres pour créer un environnement de travail plus commode
que ne le serait le strict minimum.</para>
 
<para>Il y a deux étapes dans la construction de ce système minimal. La première
consiste à construire un ensemble d'outils nouveaux et indépendants de
l'hôte (compilateur, assembleur, éditeur de liens, bibliothèques et quelques
utilitaires). La deuxième utilise ce premier ensemble d'outils pour construire
les autres outils essentiels.</para>
 
<para>Les fichiers compilés dans ce chapitre vont être installés dans le
répertoire <filename class="directory">$LFS/tools</filename>, de façon
à les garder séparés des fichiers installés dans le chapitre suivant et des
répertoires de production de votre hôte. Comme les paquets compilés ici
ne sont que temporaires, nous ne voulons pas polluer le futur système
LFS.</para>
 
<important><para>Avant d'entrer les instructions de construction pour un
paquet, il doit être déballé par l'utilisateur
<emphasis>lfs</emphasis> et la commande <userinput>cd</userinput> doit être
utilisée pour entrer dans le répertoire tout juste créé. Les instructions
de construction supposent que le shell <command>bash</command> est utilisé.
</para></important>
 
<para>Plusieurs paquets sont corrigés avant d'être compilés, mais seulement
dans le cas où la correction est nécessaire pour résoudre un problème.
Souvent, le correctif est nécessaire à la fois dans ce chapitre et dans le
suivant, mais quelque fois dans seulement un des deux. Donc, ne vous inquiétez
pas lorsque des instructions pour un correctif téléchargé semblent manquer.
Des messages d'avertissements à propos d'un décalage (<emphasis>offset</emphasis>) ou
d'autre chose (<emphasis>fuzz</emphasis>) peuvent apparaître lors de
l'application d'un correctif. Ne vous en inquiétez pas, le
correctif a bien été appliqué.</para>
 
<para>Pendant la compilation de la plupart des paquets, plusieurs messages
d'avertissement du compilateur défileront sur votre écran. Ceci est normal et
peut être ignoré sans danger. Ces messages ne sont que ce qu'ils disent être, des
avertissements &mdash; sur un utilisation obsolète, mais pas
invalide, de la syntaxe de C ou de C++. Les standards du C changent assez souvent
et quelques paquets continuent à utiliser les anciens standards. Ce n'est pas
un problème, mais provoque ces messages.</para>
 
<important><para>Après l'installation de chaque paquet, supprimez son répertoire
source et son répertoire de construction, sauf si nous vous demandons
spécifiquement de ne pas le faire. Supprimer les sources empêche une mauvaise
configuration lorsque le même paquet est réinstallé un peu plus tard. Seuls
trois paquets ont besoin de conserver leur répertoire de sources et de
construction pendant un moment pour que leur contenu soit utilisé par des
commandes suivantes. Faites particulièrement attention à ces rappels.
</para></important>
 
<para>Vérifiez une dernière fois que la variable d'environnement
<envar>LFS</envar> est configurée correctement&nbsp;:</para>
 
<screen role="nodump"><userinput>echo $LFS</userinput></screen>
 
<para>Assurez-vous que le résultat est le chemin du point de
montage de la partition LFS, qui est <filename
class="directory">/mnt/lfs</filename> suivant notre exemple.</para>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter05/tcl.xml
0,0 → 1,126
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-tcl" role="wrap">
<title>Tcl-&tcl-version;</title>
<?dbhtml filename="tcl.html"?>
 
<indexterm zone="ch-tools-tcl"><primary sortas="a-Tcl">Tcl</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Tcl contient le langage de commandes des outils
(<foreignphrase>Tool Command Language</foreignphrase>).</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,9&nbsp;SBU</seg><seg>23,3&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make et Sed</seg></seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Tcl</title>
 
<para>Ce paquet et les deux suivants (Expect et DejaGNU) sont installés
pour permettre l'exécution des suites de tests de GCC et Binutils. Installer
trois paquets uniquement pour réaliser des tests pourrait sembler excessif mais il est
rassurant, voire essentiel, de s'assurer que ces outils fondamentaux
fonctionnent correctement. Même si les suites de tests ne sont pas exécutées dans
ce chapitre (elles ne sont pas obligatoires), ces paquets seront nécessaires pour
lancer les suites de tests du <xref linkend="chapter-building-system"/>.</para>
 
<para>Préparez la compilation de Tcl&nbsp;:</para>
 
<screen><userinput>cd unix
./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester le résultat, exécutez&nbsp;:
<userinput>TZ=UTC make test</userinput>. La suite de tests de Tcl
est connue pour échouer sous certaines conditions mal déterminées.
De ce fait, d'éventuels échecs de la suite de tests ne
sont pas surprenants ici et ne doivent pas être considérés comme critiques. Le
paramètre <parameter>TZ=UTC</parameter> nous place dans le fuseau horaire du
temps universel coordonné (<foreignphrase>Coordinated Universal
Time</foreignphrase> soit l'UTC) connu aussi sous le nom de
<foreignphrase>Greenwich Mean Time</foreignphrase> (GMT), mais seulement pour
la durée de l'exécution de la suite de tests. Ceci nous assure que les tests
d'horloge fonctionneront correctement. Des détails sur la variable
d'environnement <envar>TZ</envar> sont fournis dans <xref
linkend="chapter-bootscripts"/>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<warning><para><emphasis>Ne supprimez pas encore</emphasis> le répertoire des
sources <filename class="directory">tcl&tcl-version;</filename> car le paquet suivant a
besoin de ces en-têtes.</para></warning>
 
<para>Créez une variable contenant le chemin complet du répertoire actuel.
Le prochain paquetage, Expect, utilisera cette variable pour trouver les en-têtes
de Tcl.</para>
 
<screen><userinput>cd ..
export TCLPATH=`pwd`</userinput></screen>
 
<para>Maintenant, créez un lien symbolique nécessaire&nbsp;:</para>
 
<screen><userinput>ln -sv tclsh8.4 /tools/bin/tclsh</userinput></screen>
 
<beginpage/>
 
</sect2>
 
<sect2 id="contents-tcl" role="content"><title>Contenu de Tcl</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèque installée</segtitle>
<seglistitem><seg>tclsh (lien vers tclsh8.4) et tclsh8.4</seg><seg>libtcl8.4.so</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="tclsh8.4">
<term><command>tclsh8.4</command></term>
<listitem>
<para>Le shell de commandes Tcl</para>
<indexterm zone="ch-tools-tcl tclsh8.4"><primary sortas="b-tclsh8.4">tclsh8.4</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tclsh">
<term><command>tclsh</command></term>
<listitem>
<para>Un lien vers tclsh8.4</para>
<indexterm zone="ch-tools-tcl tclsh"><primary sortas="b-tclsh">tclsh</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libtcl8.4.so">
<term><filename class="libraryfile">libtcl8.4.so</filename></term>
<listitem>
<para>La bibliothèque Tcl</para>
<indexterm zone="ch-tools-tcl libtcl8.4.so"><primary sortas="c-libtcl8.4.so">libtcl8.4.so</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter05/gettext.xml
0,0 → 1,78
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-gettext" role="wrap">
<title>Gettext-&gettext-version;</title>
<?dbhtml filename="gettext.html"?>
 
<indexterm zone="ch-tools-gettext">
<primary sortas="a-Gettext">Gettext</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gettext.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,5&nbsp;SBU</seg><seg>63&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gettext.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Gettext</title>
 
<para>Préparez la compilation de Gettext&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools --disable-libasprintf \
--without-csharp</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--disable-libasprintf</parameter></term>
<listitem><para>Ce commutateur indique à Gettext de ne pas construire la
bibliothèque <filename class="libraryfile">asprintf</filename>. Comme aucun programme
dans ce chapitre ou dans le suivant ne la requiert, et que Gettext
est reconstruit plus tard, l'exclure épargne du temps et de l'espace.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--without-csharp</parameter></term>
<listitem><para>Ceci nous assure que Gettext ne contruira pas le support du
compilateur C#, qui pourrait être présent sur l'hôte mais qui ne sera pas
disponible une fois que nous serons entrés dans l'environnement du
<command>chroot</command>.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester le résultat, exécutez&nbsp;:
<userinput>make check</userinput>. Ceci peut prendre beaucoup de temps, environ
7&nbsp;SBU. La suite de tests de Gettext est connue pour échouer sous
certaines conditions liées à l'hôte, par exemple lorsqu'un
compilateur Java est présent sur l'hôte. Un correctif expérimental désactivant Java est
disponible sur le site du projet des correctifs LFS&nbsp;:
<ulink url="&lfs-root;patches/"/>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-gettext" role="."/></para>
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter05/tar.xml
0,0 → 1,54
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-tar" role="wrap">
<title>Tar-&tar-version;</title>
<?dbhtml filename="tar.html"?>
 
<indexterm zone="ch-tools-tar">
<primary sortas="a-Tar">Tar</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/tar.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>12,7&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/tar.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Tar</title>
 
<para>Préparez la compilation de Tar&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester le résultat, exécuter&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-tar" role="."/></para>
</sect2>
 
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter05/adjusting.xml
0,0 → 1,119
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-adjusting">
<title>Ajuster l'atelier des outils</title>
<?dbhtml filename="adjusting.html"?>
 
<para>Maintenant que les bibliothèques C temporaires ont été installées, tous
les outils compilés dans le reste de ce chapitre doivent-y être liés.
Pour cela, installons le nouvel éditeur de liens et ajustons le fichier specs du
compilateur.</para>
 
<para>L'éditeur de liens (déjà ajusté à la fin de la première passe de Binutils)
est installé en lançant la commande suivante depuis le répertoire <filename
class="directory">binutils-build</filename>&nbsp;:</para>
 
<screen><userinput>make -C ld install</userinput></screen>
 
<para>À partir de ce moment, tout sera lié uniquement aux bibliothèques
présentes dans <filename class="directory">/tools/lib</filename>.</para>
 
<note><para>Si vous n'avez pas tenu compte de l'avertissement indiquant de conserver les répertoires source
et de compilation de Binutils après la première passe,
ignorez simplement la commande ci-dessus. Il est alors possible que certains
programmes de tests se lient avec les bibliothèques de l'hôte. Bien que ce ne soit pas idéal,
ce n'est pas un problème majeur, et la situation sera corrigée plus tard lors de
l'installation de la deuxième passe de Binutils.</para></note>
 
<para>Maintenant que l'éditeur de liens ajusté est en place, les répertoires
source et de construction de Binutils peuvent être supprimés.</para>
 
<para>La prochaine tâche est de modifier le fichier specs de GCC pour qu'il
pointe vers le nouvel éditeur de liens. Un script sed simple se chargera de
ceci&nbsp;:</para>
 
<!-- Ampersands are needed to allow copy and paste -->
 
<screen><userinput>SPECFILE=`gcc --print-file specs` &amp;&amp;
sed 's@ /lib/ld-linux.so.2@ /tools/lib/ld-linux.so.2@g' \
$SPECFILE &gt; tempspecfile &amp;&amp;
mv -f tempspecfile $SPECFILE &amp;&amp;
unset SPECFILE</userinput></screen>
 
<para><phrase condition="html">Il est recommandé de copier/coller la commande ci-dessus
pour assurer son exactitude.</phrase>
Autrement, vous pouvez éditer le fichier specs à la main en
remplaçant chaque occurrence de <quote>/lib/ld-linux.so.2</quote> par
<quote>/tools/lib/ld-linux.so.2</quote>.</para>
<para>Assurez-vous d'inspecter visuellement le fichier specs pour vérifier que
la modification attendue a bien été réalisée.</para>
 
<important><para>Au cas où le nom de l'éditeur de liens de la plateforme de
travail est autre que <filename>ld-linux.so.2</filename>, remplacez
<filename>ld-linux.so.2</filename> avec le nom de l'éditeur de liens de votre
plateforme dans les commandes ci-dessus. Référez-vous à <xref
linkend="ch-tools-toolchaintechnotes" role=","/> si
nécessaire.</para></important>
 
<para>Enfin, il existe un risque que certains fichiers include du système hôte
aient été copiés dans le répertoire include privé de GCC
par le processus <quote>fixincludes</quote>, qui est exécuté lors
de la construction de GCC. Ceci est expliqué plus en détail plus tard
dans ce chapitre. Lancez les commandes suivantes pour éliminer cette
possibilité&nbsp;:</para>
 
<screen><userinput>rm -vf /tools/lib/gcc/*/*/include/{pthread.h,bits/sigthread.h}</userinput></screen>
 
<beginpage/>
 
<caution><para>Il est impératif à ce moment de s'arrêter et de s'assurer que les
fonctions basiques (compilation et édition des liens) du nouvel ensemble d'outils
fonctionnent comme attendu. Pour réaliser un test rapide, entrez ces commandes&nbsp;:</para>
 
<screen><userinput>echo 'main(){}' &gt; dummy.c
cc dummy.c
readelf -l a.out | grep ': /tools'</userinput></screen>
 
<para>Si tout fonctionne correctement, il ne devrait pas y avoir d'erreurs et
la sortie de la dernière commande sera de la forme&nbsp;:</para>
 
<screen><computeroutput>[Requesting program interpreter:
/tools/lib/ld-linux.so.2]</computeroutput></screen>
 
<para>Notez que <filename class="directory">/tools/lib</filename> apparaît comme
préfixe du chargeur dynamique.</para>
 
<para>Si la sortie diffère ou s'il n'y a aucune sortie, quelque chose
s'est mal passé. Investiguez et retracez vos étapes pour trouver où se
cache le problème et comment le corriger. Ce problème doit absolument être corrigé avant
de continuer. Tout d'abord, recommencez le test en utilisant
<command>gcc</command> au lieu de <command>cc</command>. Si cela fonctionne,
le lien symbolique <filename class="symlink">/tools/bin/cc</filename> est
manquant. Revisitez <xref linkend="ch-tools-gcc-pass1" role=","/> et installez
le lien symbolique. Ensuite, assurez-vous que le <envar>PATH</envar> est
correct en lançant <userinput>echo $PATH</userinput> et en
vérifiant que <filename class="directory">/tools/bin</filename> est en tête de
liste. Si le <envar>PATH</envar> est mauvais, cela pourrait signifier que
vous n'êtes pas connecté en tant qu'utilisateur <emphasis>lfs</emphasis> ou que
quelque chose s'est mal passé dans <xref linkend="ch-tools-settingenviron"
role="."/> Une autre possibilité est que
la correction du fichier specs ci-dessus ne soit pas déroulée correctement. Dans ce cas, refaites la
modification de ce fichier<phrase condition="html"> en vous assurant de bien
copier/coller les lignes.</phrase>.</para>
 
<para>Une fois satisfait, supprimez les fichiers de test&nbsp;:</para>
 
<screen><userinput>rm -v dummy.c a.out</userinput></screen>
 
<para>Construire TCL dans la prochaine section sera une vérification
supplémentaire de la bonne mise en place de l'outil de construction. Si TCL
échoue à la construction, c'est une indication d'un problème dans l'installation
de Binutils, GCC ou Glibc, mais pas avec TCL lui-même.</para>
</caution>
 
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter05/gawk.xml
0,0 → 1,53
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-gawk" role="wrap">
<title>Gawk-&gawk-version;</title>
<?dbhtml filename="gawk.html"?>
 
<indexterm zone="ch-tools-gawk">
<primary sortas="a-Gawk">Gawk</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gawk.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>16,4&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gawk.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Gawk</title>
 
<para>Préparez la compilation de Gawk&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester le résultat, exécutez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-gawk" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter05/grep.xml
0,0 → 1,66
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-grep" role="wrap">
<title>Grep-&grep-version;</title>
<?dbhtml filename="grep.html"?>
 
<indexterm zone="ch-tools-grep">
<primary sortas="a-Grep">Grep</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/grep.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>4,5&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/grep.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Grep</title>
 
<para>Préparez la compilation de Grep&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools \
--disable-perl-regexp</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--disable-perl-regexp</parameter></term>
<listitem><para>Ceci assure que <command>grep</command> ne sera pas lié à
une bibliothèque PCRE qui pourrait être présente sur l'hôte et qui ne serait
pas disponible une fois que nous serons entrés dans l'environnement
<command>chroot</command>.
</para></listitem>
</varlistentry>
</variablelist>
 
<para>Compilez les programmes&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester le résultat,exécutez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-grep"/>.</para>
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter05/findutils.xml
0,0 → 1,53
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-findutils" role="wrap">
<title>Findutils-&findutils-version;</title>
<?dbhtml filename="findutils.html"?>
 
<indexterm zone="ch-tools-findutils">
<primary sortas="a-Findutils">Findutils</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/findutils.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>8,9&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/findutils.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Findutils</title>
 
<para>Préparez la compilation de Findutils&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester le résultat, exécutez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-findutils" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter05/perl.xml
0,0 → 1,76
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-perl" role="wrap">
<title>Perl-&perl-version;</title>
<?dbhtml filename="perl.html"?>
 
<indexterm zone="ch-tools-perl">
<primary sortas="a-Perl">Perl</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/perl.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,8&nbsp;SBU</seg><seg>81,6&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/perl.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Perl</title>
 
<para>Tout d'abord, modifiez quelques chemins codés en dur vers la
bibliothèque C en appliquant le correctif suivant&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&perl-libc-patch;</userinput></screen>
 
<para>Préparez la compilation de Perl (assurez-vous de saisir correctement la
partie <quote>IO Fcntl POSIX</quote>, ce ne
sont que des lettres)&nbsp;:</para>
 
<screen><userinput>./configure.gnu --prefix=/tools -Dstatic_ext='IO Fcntl POSIX'</userinput></screen>
 
<para>Voici la signification de l'option de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>-Dstatic_ext='IO Fcntl POSIX'</parameter></term>
<listitem><para>Ceci indique à Perl de ne construire que les
extensions statiques nécessaires à l'installation et au test du paquet
Coreutils dans le prochain chapitre.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Seule une partie des outils de ce paquetage doit être
construite&nbsp;:</para>
 
<screen><userinput>make perl utilities</userinput></screen>
 
<para>Bien que Perl possède une suite de tests, il est recommandé
de ne pas l'exécuter maintenant. Seule une partie de Perl a été construite, et
l'exécution de <userinput>make test</userinput> obligerait à la construction de
tout le reste, ce qui n'est pas nécessaire actuellement. La suite de tests pourra
être exécutée dans le chapitre suivant si désiré.</para>
 
<para>Puis, installez ces outils et leurs bibliothèques&nbsp;:</para>
 
<screen><userinput>cp -v perl pod/pod2man /tools/bin
mkdir -pv /tools/lib/perl5/&perl-version;
cp -Rv lib/* /tools/lib/perl5/&perl-version;</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-perl" role="."/></para>
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter05/udev.xml
0,0 → 1,68
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-udev" role="wrap">
<title>Udev-&udev-version;</title>
<?dbhtml filename="udev.html"?>
 
<indexterm zone="ch-tools-udev">
<primary sortas="a-Udev">Udev</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/udev.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>5,2&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/udev.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation d'Udev</title>
 
<para>Le programme <command>udevstart</command> code en dur le chemin vers le
programme <command>udev</command>, ce qui va créer des problèmes car
<command>udev</command> a été installé à un emplacement non standard. Corrigez
ceci en exécutant ces commandes&nbsp;:</para>
 
<screen><userinput>sed -i 's@/sbin/udev@/tools/sbin/udev@g' udevstart.c</userinput></screen>
 
<para>De plus, assurez-vous que <command>udev</command> recherche
ses fichiers de configuration au bon endroit&nbsp;:</para>
 
<screen><userinput>sed -i 's@/etc@/tools/etc@g' etc/udev/udev.conf.in</userinput></screen>
 
<para>Maintenant, compilez Udev&nbsp;:</para>
 
<screen><userinput>make prefix=/tools etcdir=/tools/etc</userinput></screen>
 
<para>Ce paquet ne propose pas de suite de tests.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make DESTDIR=/tools udevdir=/dev install</userinput></screen>
 
<para>La configuration par défaut d'Udev est loin d'être idéale, installez
en remplacement ces fichiers de configuration spécifiques à LFS&nbsp;:</para>
 
<screen><userinput>cp ../udev-config-2.permissions \
/tools/etc/udev/permissions.d/00-lfs.permissions
cp ../udev-config-1.rules /tools/etc/udev/rules.d/00-lfs.rules</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-udev" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter05/util-linux.xml
0,0 → 1,62
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-util-linux" role="wrap">
<title>Util-linux-&util-linux-version;</title>
<?dbhtml filename="util-linux.html"?>
 
<indexterm zone="ch-tools-util-linux">
<primary sortas="a-Util-linux">Util-linux</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/util-linux.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>8,9&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/util-linux.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Util-linux</title>
 
<para>Par défaut, Util-linux n'utilise pas les en-têtes et bibliothèques tout juste
installés dans le répertoire <filename class="directory">/tools</filename>
. Ceci est corrigé en modifiant le script configure&nbsp;:</para>
 
<screen><userinput>sed -i 's@/usr/include@/tools/include@g' configure</userinput></screen>
 
<para>Préparez la compilation de Util-linux&nbsp;:</para>
 
<screen><userinput>./configure</userinput></screen>
 
<para>Compilez quelques routines de support&nbsp;:</para>
 
<screen><userinput>make -C lib</userinput></screen>
 
<para>Seuls quelques utilitaires de ce paquet nous sont nécessaires&nbsp;:</para>
 
<screen><userinput>make -C mount mount umount
make -C text-utils more</userinput></screen>
 
<para>Ce paquet ne propose pas de suite de tests.</para>
 
<para>Copiez ces programmes dans le répertoire des outils temporaires&nbsp;:</para>
 
<screen><userinput>cp mount/{,u}mount text-utils/more /tools/bin</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Des détails sur ce paquet sont disponibles dans <xref
linkend="contents-utillinux" role="." /></para>
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter05/texinfo.xml
0,0 → 1,53
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-texinfo" role="wrap">
<title>Texinfo-&texinfo-version;</title>
<?dbhtml filename="texinfo.html"?>
 
<indexterm zone="ch-tools-texinfo">
<primary sortas="a-Texinfo">Texinfo</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/texinfo.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>14,7&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/texinfo.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Texinfo</title>
 
<para>Préparez la compilation de Texinfo&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester le résultat, exécutez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-texinfo" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter05/bash.xml
0,0 → 1,79
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-bash" role="wrap">
<title>Bash-&bash-version;</title>
<?dbhtml filename="bash.html"?>
 
<indexterm zone="ch-tools-bash">
<primary sortas="a-Bash">Bash</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
href="../chapter06/bash.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>1,2&nbsp;SBU</seg><seg>20,7&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
href="../chapter06/bash.xml"
xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Bash</title>
 
<!-- Edit Me -->
<para>Bash a un problème lorsqu'il est compilé avec les nouvelles versions de
Glibc, causant son arrêt brutal. Ce patch corrige ce
problème&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&bash-avoid_WCONTINUED-patch;</userinput></screen>
 
<para>Préparez la compilation de Bash&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools --without-bash-malloc</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--without-bash-malloc</parameter></term>
<listitem><para>Cette option désactive l'utilisation de la fonction
d'allocation mémoire (malloc) de Bash, qui est connue pour causer des erreurs de
segmentation. En désactivant cette option, Bash utilisera les fonctions malloc
de Glibc qui sont plus stables.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, entrez&nbsp;:
<userinput>make tests</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Créez un lien pour les programmes qui utilisent <command>sh</command>
comme shell&nbsp;:</para>
 
<screen><userinput>ln -vs bash /tools/bin/sh</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref linkend="contents-bash" role="."/></para>
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter05/linux-libc-headers.xml
0,0 → 1,59
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-linux-libc-headers" role="wrap">
<title>Linux-Libc-Headers-&linux-libc-headers-version;</title>
<?dbhtml filename="linux-libc-headers.html"?>
 
<indexterm zone="ch-tools-linux-libc-headers">
<primary sortas="a-Linux-Libc-Headers">Linux-Libc-Headers</primary>
<secondary>outils, en-têtes</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
href="../chapter06/linux-libc-headers.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>26,9&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
href="../chapter06/linux-libc-headers.xml"
xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Linux-Libc-Headers</title>
 
<para>Pendant des années, la pratique était d'utiliser les en-têtes
<quote>bruts</quote> du noyau (directement extraits de l'archive tar du noyau) dans
<filename class="directory">/usr/include</filename> mais, ces dernières années, les
développeurs du noyau ont pris fortement position contre cet état de fait. Ceci
a donné naissance au projet Linux-Libc-Headers, conçu pour offrir
une version stable de l'interface de programmation des applications (API) des
en-têtes du noyau Linux.</para>
 
<para>Installez les fichiers d'en-têtes&nbsp;:</para>
 
<screen><userinput>cp -Rv include/asm-i386 /tools/include/asm
cp -Rv include/linux /tools/include</userinput></screen>
 
<para>Si votre architecture n'est pas i386 (compatible), modifiez la première
commande comme nécessaire.</para>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-linux-libc-headers" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter05/stripping.xml
0,0 → 1,37
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-stripping">
<title>Supprimer les symboles des fichiers objets</title>
<?dbhtml filename="stripping.html"?>
 
<para>Les étapes décrites dans cette section sont optionnelles, mais si la partition LFS
est plutôt petite, il est bon de savoir que des éléments inutiles peuvent être
supprimés. Les exécutables et les bibliothèques que vous avez construits
jusqu'à présent contiennent jusqu'à 130&nbsp;Mo de symboles de débogage
inutiles. Supprimez ces symboles avec&nbsp;:</para>
 
<screen><userinput>strip --strip-debug /tools/lib/*
strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
 
<para>Cette dernière commande laissera de côté une vingtaine de
fichiers, en indiquant qu'elle ne reconnaît pas leur format. Pas de quoi s'inquièter,
d'ailleurs la plupart sont des scripts, pas des binaires.</para>
 
<para>Faites attention de ne <emphasis>pas</emphasis> utiliser
<parameter>--strip-unneeded</parameter> sur les bibliothèques. Cela détruirait
les statiques et les paquets devraient être de nouveau construits.</para>
 
<para>Pour récupérer encore 30&nbsp;Mo, supprimez toute la
documentation&nbsp;:</para>
 
<screen><userinput>rm -rf /tools/{info,man}</userinput></screen>
 
<para>Il y a maintenant au moins 850&nbsp;Mo d'espace disque libre sur le
système de fichiers LFS, de quoi construire et installer Glibc dans la
prochaine phase. Si vous pouvez construire et installer Glibc, vous pourrez
aussi construire et installer le reste, et donc mener à bien tout le processus.</para>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter05/glibc.xml
0,0 → 1,221
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-glibc" role="wrap">
<title>Glibc-&glibc-version;</title>
<?dbhtml filename="glibc.html"?>
 
<indexterm zone="ch-tools-glibc">
<primary sortas="a-Glibc">Glibc</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>11,8&nbsp;SBU</seg><seg>454&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Glibc</title>
 
<para>Ce paquet est connu pour avoir des soucis quand les options d'optimisation
par défaut (dont les options <parameter>-march</parameter> et
<parameter>-mcpu</parameter>) sont modifiées. Donc, si des variables d'environnement
qui surchargent les optimisations par défaut ont été définies, telles que <envar>CFLAGS</envar>
ou <envar>CXXFLAGS</envar>, supprimez cette initialisation
pour la construction de Glibc.</para>
 
<para>Il doit être noté que compiler Glibc de toute autre façon que celle
proposée dans ce livre compromet la stabilité du système.</para>
 
<para>Glibc échoue sur deux tests lorsque le noyau en cours d'exécution est
le 2.6.11 ou ultérieurs. Le problème est dû aux tests eux-mêmes et n'a rien à
voir avec la bibliothèque C ou le noyau. Si vous comptez exécuter la suite
de tests, appliquez ce correctif&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&glibc-testfix-patch;</userinput></screen>
 
<para>La documentation de Glibc recommande de construire Glibc en dehors du
répertoire des sources, c'est-à-dire dans un répertoire dédié&nbsp;:</para>
 
<screen><userinput>mkdir -v ../glibc-build
cd ../glibc-build</userinput></screen>
 
<para>Ensuite, préparez la compilation de Glibc&nbsp;:</para>
 
<screen><userinput>../glibc-&glibc-version;/configure --prefix=/tools \
--disable-profile --enable-add-ons \
--enable-kernel=2.6.0 --with-binutils=/tools/bin \
--without-gd --with-headers=/tools/include \
--without-selinux</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--disable-profile</parameter></term>
<listitem><para>Ceci construit les bibliothèques sans les informations de
profilage. Enlevez cette option si le profilage sur les outils temporaires est
nécessaire.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-add-ons</parameter></term>
<listitem><para>Ceci indique à Glibc d'utiliser le composant NPTL comme
bibliothèque de threads.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-kernel=2.6.0</parameter></term>
<listitem><para>Ceci indique à Glibc de compiler la bibliothèque avec le support
des noyaux 2.6.x.</para><beginpage/></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--with-binutils=/tools/bin</parameter></term>
<listitem><para>Bien que pas indispensable, ce commutateur nous assure qu'il n'y aura
aucune erreur liée à une erreur dans le choix des programmes Binutils
à utiliser lors de la construction de Glibc.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--without-gd</parameter></term>
<listitem><para>Ce commutateur empêche la construction du programme
<command>memusagestat</command>, programme qui insiste pour être lié avec les
bibliothèques de l'hôte (libgd, libpng, libz et ainsi de suite).</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--with-headers=/tools/include</parameter></term>
<listitem><para>Ceci indique à Glibc de se compiler lui-même avec les en-têtes
récemment installés dans le répertoire des outils, de façon à ce qu'il sache
exactement de quelles fonctionnalités dispose le noyau et qu'il puisse
s'optimiser correctement.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--without-selinux</parameter></term>
<listitem><para>Lors de la construction à partir d'hôtes qui incluent la
fonctionnalité SELinux (par exemple Fedora Core 3), Glibc construira le support
pour SELinux. Comme l'environnement d'outils LFS ne contient pas de support
pour SELinux, une Glibc compilée avec ce support ne fonctionnera pas
correctement.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Lors de cette étape, le message d'avertissement suivant peut
apparaître&nbsp;:</para>
 
<blockquote><screen><computeroutput>configure: WARNING:
*** These auxiliary programs are missing or
*** incompatible versions: msgfmt
*** some features will be disabled.
*** Check the INSTALL file for required versions.</computeroutput></screen></blockquote>
 
<para>L'absence ou l'incompatibilité du programme <command>msgfmt</command>
est sans conséquence, excepté parfois
lors de l'exécution de la suite de tests. Ce programme
<command>msgfmt</command> fait partie du paquet Gettext que la distribution hôte
devrait fournir. Si <command>msgfmt</command> est présent mais semble
incompatible, mettez à jour le paquet Gettext du système hôte ou continuez sans
et voyez si la suite de tests s'exécute sans problèmes.</para>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>La compilation est maintenant terminée. Comme dit plus tôt, lancer les
suites de tests pour les outils temporaires de ce chapitre n'est pas nécessaire.
Pour exécuter tout de même la suite de tests Glibc, lancer la commande
suivante&nbsp;:</para>
 
<screen><userinput>make check</userinput></screen>
 
<para>Pour une discussion sur les échecs de tests qui ont une importance
particulière, merci de consulter <xref linkend="ch-system-glibc" role="."/></para>
 
<para>Dans ce chapitre, certains tests peuvent être perturbés par des outils
existants ou par des problèmes d'environnement sur le système hôte. Les échecs
de la suite de tests de Glibc dans ce chapitre ne portent typiquement pas à
conséquence. La bibliothèque Glibc installée dans <xref
linkend="chapter-building-system"/> est celle qui sera utilisée à la fin, donc
c'est celle qui aura besoin de passer la plupart des tests (y compris dans <xref
linkend="chapter-building-system"/>, certains échecs pourraient survenir, par
exemple celui des mathématiques).</para>
 
<para>Si vous expérimentez un échec, prenez-en note puis continuez en
ré-exécutant la commande <command>make check</command>. La suite de tests devrait
reprendre là où elle a quitté précédemment. Cette séquence d'arrêt/relancement
est annulée en lançant la commande <command>make -k check</command>. En
utilisant cette option, assurez-vous de tracer la sortie pour que le journal des
traces puisse être examiné plus tard pour les différents échecs.</para>
 
<beginpage/>
<para>L'étape d'installation de Glibc affichera un message d'avertissement sans
conséquence pour l'absence de <filename>/tools/etc/ld.so.conf</filename>.
Supprimez ce message avec&nbsp;:</para>
 
<screen><userinput>mkdir -v /tools/etc
touch /tools/etc/ld.so.conf</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Différents pays et cultures ont des conventions variables sur la façon de
communiquer. Ces conventions vont du très simple, telle que la représentation de
la date et de l'heure à du très compliqué, telle que le langage parlé.
L'internationalisation des programmes GNU fonctionne en utilisant les
locales.</para>
 
<note><para>Si les suites de tests ne seront pas exécutés dans ce chapitre
(suivant ainsi notre recommandation), il y a peu d'intérêts à installer les
locales maintenant. Les bonnes locales seront installées dans le chapitre
suivant.</para></note>
 
<para>Néanmoins, pour installer les locales Glibc, utilisez la commande
suivante&nbsp;:</para>
 
<screen role="nodump"><userinput>make localedata/install-locales</userinput></screen>
 
<para>Pour gagner du temps, une alternative au lancement de la commande
précédente (qui génère et installe chaque locale que Glibc connaît) est
d'installer seulement les locales voulues et nécessaires. Ceci peut se faire
en utilisant la commande <command>localedef</command>. Des informations sur
cette commande sont situées dans le fichier <filename>INSTALL</filename> des
sources de Glibc. Néanmoins, il existe un certain nombre de locales essentielles
pour réussir les tests des futurs paquets, en particulier les tests de
<emphasis>libstdc++</emphasis> pour GCC. Les instructions suivantes installeront
l'ensemble minimale de locales nécessaires pour que les tests réussissent&nbsp;:</para>
 
<screen><userinput>mkdir -pv /tools/lib/locale
localedef -i de_DE -f ISO-8859-1 de_DE
localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro
localedef -i en_HK -f ISO-8859-1 en_HK
localedef -i en_PH -f ISO-8859-1 en_PH
localedef -i en_US -f ISO-8859-1 en_US
localedef -i es_MX -f ISO-8859-1 es_MX
localedef -i fa_IR -f UTF-8 fa_IR
localedef -i fr_FR -f ISO-8859-1 fr_FR
localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro
localedef -i it_IT -f ISO-8859-1 it_IT
localedef -i ja_JP -f EUC-JP ja_JP</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-glibc" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter05/m4.xml
0,0 → 1,53
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-m4" role="wrap">
<title>M4-&m4-version;</title>
<?dbhtml filename="m4.html"?>
 
<indexterm zone="ch-tools-m4">
<primary sortas="a-M4">M4</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/m4.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>2,8&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/m4.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de M4</title>
 
<para>Préparez la compilation de M4&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquetage&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester le résultat, exécutez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquetage&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-m4" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter05/gcc-pass1.xml
0,0 → 1,125
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-gcc-pass1" role="wrap">
<title>GCC-&gcc-version; - Passe 1</title>
<?dbhtml filename="gcc-pass1.html"?>
 
<indexterm zone="ch-tools-gcc-pass1">
<primary sortas="a-GCC">GCC</primary>
<secondary>outils, passe 1</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gcc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>4,4&nbsp;SBU</seg><seg>219&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gcc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de GCC</title>
 
<para>Ce paquet est connu pour avoir des soucis quand les options d'optimisation
par défaut (dont les options <parameter>-march</parameter> et
<parameter>-mcpu</parameter>) sont modifiées. Si des variables d'environnement
surchargeant les optimisations par défaut ont été définies, telles que <envar>CFLAGS</envar>
et <envar>CXXFLAGS</envar>, supprimez cette initialisation
pour la construction de GCC.</para>
 
<para>La documentation de GCC recommande de ne pas construire GCC dans le
répertoire des sources mais dans un répertoire de construction dédié&nbsp;:
</para>
 
<screen><userinput>mkdir -v ../gcc-build
cd ../gcc-build</userinput></screen>
 
<para>Préparez la compilation de GCC&nbsp;:</para>
 
<screen><userinput>../gcc-&gcc-version;/configure --prefix=/tools \
--libexecdir=/tools/lib --with-local-prefix=/tools \
--disable-nls --enable-shared --enable-languages=c</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--with-local-prefix=/tools</parameter></term>
<listitem><para>Le but de cette option est de supprimer <filename
class="directory">/usr/local/include</filename> du chemin de recherche des
fichiers include de <command>gcc</command>. Ce n'est pas absolument
essentiel&nbsp;; néanmoins, cela aide à minimiser l'influence du
système hôte.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-shared</parameter></term>
<listitem><para>Cette option permet la construction de <filename
class="libraryfile">libgcc_s.so.1</filename> et <filename
class="libraryfile">libgcc_eh.a</filename>. Disposer de <filename
class="libraryfile">libgcc_eh.a</filename> nous assure que le script configure
de Glibc (le prochain paquet à compiler) produira de bons résultats.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-languages=c</parameter></term>
<listitem><para>Cette option nous assure que seul le compilateur C sera
construit.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Continuez avec la compilation du paquet&nbsp;:</para>
 
<screen><userinput>make bootstrap</userinput></screen>
 
<beginpage/>
 
<para>Voici la signification des paramètres de make&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>bootstrap</parameter></term>
<listitem><para>Cette cible ne compile pas GCC une seule, mais trois
fois. Il utilise les programmes compilés au premier tour pour se compiler
une deuxième fois, puis une troisième fois. Il compare alors les deuxième et
troisième compilations pour s'assurer qu'il arrive à se reproduire lui-même
sans fautes, ce qui indique qu'il a été compilé correctement.
</para></listitem>
</varlistentry>
</variablelist>
 
<para>La compilation est maintenant terminée. À ce point, la suite de tests
devrait être lancée. Mais, comme nous l'avons dit plus tôt, le cadre dans lequel
s'exécute la suite de tests n'est pas encore en place. Les bénéfices à lancer
les tests maintenant sont de plus minimes, car les programmes de la première passe
seront bientôt remplacés.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Apportez la dernière touche en créant un lien symbolique. Beaucoup de programmes
et de scripts lancent <command>cc</command> au lieu de <command>gcc</command>,
afin d'employer des programmes génériques et donc utilisables sur tout type
de système Unix, car le compilateur GNU C n'est pas toujours installé. Utiliser
<command>cc</command> permet de laisser à l'administrateur système le choix
du compilateur C à installer.</para>
 
<screen><userinput>ln -vs gcc /tools/bin/cc</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-gcc" role="."/></para>
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter05/gcc-pass2.xml
0,0 → 1,207
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-gcc-pass2" role="wrap">
<title>GCC-&gcc-version; - Passe 2</title>
<?dbhtml filename="gcc-pass2.html"?>
 
<indexterm zone="ch-tools-gcc-pass2">
<primary sortas="a-GCC">GCC</primary>
<secondary>outils, passe 2</secondary></indexterm>
 
<sect2 role="package"><title/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>11,0&nbsp;SBU</seg><seg>292&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gcc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Re-installation de GCC</title>
 
<para>Ce paquet est connu pour avoir des soucis quand les options d'optimisation
par défaut (dont les options <parameter>-march</parameter> et
<parameter>-mcpu</parameter>) sont modifiées. Si des variables d'environnement
qui surchargent les optimisations par défaut ont été définies, telles que <envar>CFLAGS</envar>
et <envar>CXXFLAGS</envar> ont été définies, supprimez cette initialisation
pour la construction de GCC.</para>
 
<para>Les outils requis pour tester GCC et Binutils (Tcl, Expect et DejaGnu)
sont maintenant installés. GCC et Binutils peuvent maintenant être reconstruits
en les liant avec la nouvelle Glibc, et testés correctement (si
vous souhaitez exécuter les suites de tests dans ce chapitre). Notez bien que
ces suites de tests dépendent énormément de la présence pseudos terminaux (PTY) fonctionnels
fournis par votre distribution hôte. Ces PTY sont le plus souvent implémentés
via le système de fichiers <systemitem class="filesystem">devpts</systemitem>.
Vérifiez si le système hôte est correctement configuré en réalisant ce simple
test&nbsp;:</para>
 
<screen><userinput>expect -c "spawn ls"</userinput></screen>
 
<para>Le résultat pourrait être&nbsp;:</para>
 
<screen><computeroutput>The system has no more ptys.
Ask your system administrator to create more.</computeroutput></screen>
 
<para>Si vous lisez le message ci-dessus, les PTY ne sont pas correctement configurés
sur la distribution hôte, et il ne sert à rien de lancer
les suites de tests de GCC et Binutils avant de corriger ce problème.
Merci de consulter la FAQ LFS sur <ulink url="&lfs-root;/lfs/faq.html#no-ptys"/>
pour plus d'informations sur la façon de faire fonctionner les PTY.</para>
 
<para>Tout d'abord, corrigez un problème connu et faites un ajustement
essentiel&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&gcc-no_fixincludes-patch;
patch -Np1 -i ../&gcc-specs-patch;</userinput></screen>
 
<para>Le premier correctif désactive le script GCC <command>fixincludes</command>.
Ceci a déjà été mentionné brièvement mais une explication plus détaillée du fonctionnement de
fixincludes est apportée ici. Dans des circonstances normales, le script GCC
<command>fixincludes</command> parcourt le système pour trouver les fichiers
d'en-tête qui ont besoin d'être corrigés. Il pourrait considérer que certains des
fichiers d'en-têtes de Glibc du système hôte doivent être corrigés, le
faire et les placer dans le répertoire des en-têtes privés de GCC. Après l'installation
de la nouvelle Glibc dans le <xref linkend="chapter-building-system"/>, ce
répertoire sera consulté avant le répertoire include du système, et
GCC y trouverait les en-têtes corrigées ne correspondant
pas à la nouvelle version de Glibc utilisée par le système
LFS.</para>
 
<para>Le deuxième correctif modifie l'emplacement par défaut de l'éditeur de
liens dynamiques de GCC (généralement <filename
class="libraryfile">ld-linux.so.2</filename>). Il supprime aussi <filename
class="directory">/usr/include</filename> du chemin de recherche des includes
de GCC. Corriger maintenant plutôt qu'ajuster le fichier specs après
l'installation nous assure que l'éditeur de liens dynamiques sera utilisé lors
de la construction de GCC. C'est-à-dire, tous les binaires finaux (et
temporaires) créés lors de la construction seront liés à la nouvelle Glibc.</para>
 
<beginpage/>
 
<important><para>Les correctifs ci-dessus sont critiques pour assurer le
succès de la construction. N'oubliez pas de les appliquer.</para></important>
 
<para>De nouveau, créez un répertoire de construction séparé&nbsp;:</para>
 
<screen><userinput>mkdir -v ../gcc-build
cd ../gcc-build</userinput></screen>
 
<para>Avant de commencer la construction de GCC, rappelez-vous de supprimer
toute variable d'environnement surchargeant les options d'optimisation par
défaut.</para>
 
<para>Maintenant, préparez la compilation de GCC&nbsp;:</para>
 
<screen><userinput>../gcc-&gcc-version;/configure --prefix=/tools \
--libexecdir=/tools/lib --with-local-prefix=/tools \
--enable-clocale=gnu --enable-shared \
--enable-threads=posix --enable-__cxa_atexit \
--enable-languages=c,c++ --disable-libstdcxx-pch</userinput></screen>
 
<para>Voici la signification des nouvelles options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--enable-clocale=gnu</parameter></term>
<listitem><para>Cette option nous assure que le bon modèle de locale est
sélectionné pour les bibliothèques C++ dans toutes les circonstances. Si le
script configure trouve la locale <emphasis>de_DE</emphasis> installée, il
sélectionnera le bon modèle de locale gnu. Cependant, si la locale
<emphasis>de_DE</emphasis> n'est pas installée, il existe un risque de
construire des bibliothèques C++ incompatibles avec ABI à cause du choix d'un
mauvais modèle générique de locale.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-threads=posix</parameter></term>
<listitem><para>Ceci active la gestion des exceptions de C++ pour le code
multi-threadé.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-__cxa_atexit</parameter></term>
<listitem><para>Cette option autorise l'utilisation de
<emphasis>__cxa_atexit</emphasis>, plutôt que de <emphasis>atexit</emphasis>,
pour enregistrer les destructeurs C++ des objets statiques locaux et globaux.
Cette option est essentielle pour une gestion des destructeurs entièrement compatible
avec les standards. Il affecte aussi l'ABI C++ et permet donc des
bibliothèques partagées et des programmes C++ interopérables avec les autres
distributions Linux.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-languages=c,c++</parameter></term>
<listitem><para>Cette option est nécessaire pour s'assurer que les compilateurs
C et C++ seront construits.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--disable-libstdcxx-pch</parameter></term>
<listitem><para>Ce commutateur empêche la construction de l'en-tête précompilé
(PCH) de <filename class="libraryfile">libstdc++</filename>. Il prend beaucoup
d'espace et nous n'en avons aucune utilité.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Il n'est pas nécessaire d'utiliser la cible <parameter>bootstrap</parameter>
maintenant car le compilateur utilisé pour compiler ce GCC a été construit avec
exactement la même version des sources de GCC utilisées précédemment.</para>
 
<beginpage/>
 
<para>La compilation est maintenant terminée. Comme mentionné plus tôt,
lancer les suites de test pour les outils temporaires de ce chapitre n'est pas
nécessaire. Néanmoins, pour exécuter la suite de tests de GCC, saisissez la
commande suivante&nbsp;:</para>
 
<screen><userinput>make -k check</userinput></screen>
 
<para>L'option <parameter>-k</parameter> impose à la suite de tests de
s'exécuter entièrement sans s'arrêter au premier échec.
La suite de tests GCC est très complète et il est pratiquement garanti
que certaines erreurs apparaîtront. Pour obtenir un résumé des résultats de la
suite de tests, entrez &nbsp;:</para>
 
<screen><userinput>../gcc-&gcc-version;/contrib/test_summary</userinput></screen>
 
<para>Pour un résumé plus court, envoyez la sortie dans un tube suivi de
<userinput>grep -A7 Summ</userinput>.</para>
 
<para>Les résultats peuvent être comparés à ceux postés sur <ulink
url="&test-results;"/>.</para>
 
<para>Quelques échecs inattendus ne peuvent souvent pas être évités. Les
développeurs GCC sont généralement au courant mais ne les ont pas encore
résolus. À moins que vos tests soient grandement différents de ceux de l'URL
ci-dessus, vous pouvez continuer sans crainte.</para>
 
<para>Installez le paquet&nbsp;:</para>
<screen><userinput>make install</userinput></screen>
 
<note><para>À ce moment, il est fortement recommandé de répéter la vérification
que nous avions réalisée dans ce chapitre. Référez-vous à <xref
linkend="ch-tools-adjusting"/> et répétez le test de compilation. Si le
résultat est mauvais, la raison est probablement l'oubli de l'application
du correctif "GCC Specs" mentionné ci-dessus.</para></note>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-gcc" role="."/></para>
</sect2>
 
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter05/ncurses.xml
0,0 → 1,72
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-ncurses" role="wrap">
<title>Ncurses-&ncurses-version;</title>
<?dbhtml filename="ncurses.html"?>
 
<indexterm zone="ch-tools-ncurses">
<primary sortas="a-Ncurses">Ncurses</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/ncurses.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,7&nbsp;SBU</seg><seg>27,5&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/ncurses.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Ncurses</title>
 
<para>Préparez la compilation de Ncurses&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools --with-shared \
--without-debug --without-ada --enable-overwrite</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--without-ada</parameter></term>
<listitem><para>Ceci nous assure que Ncurses ne construira pas le support du
compilateur Ada qui pourrait être présent sur l'hôte, mais qui ne sera pas
disponible lorsque nous entrerons dans l'environnement <command>chroot</command>.
</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-overwrite</parameter></term>
<listitem><para>Ceci indique à Ncurses d'installer les fichiers d'en-têtes dans
<filename class="directory">/tools/include</filename> plutôt que <filename
class="directory">/tools/include/ncurses</filename> pour s'assurer que les
autres paquets les trouveront bien.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Ce paquet ne contient pas de suite de tests.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-ncurses" role="."/></para>
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter05/expect.xml
0,0 → 1,137
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-expect" role="wrap">
<title>Expect-&expect-version;</title>
<?dbhtml filename="expect.html"?>
 
<indexterm zone="ch-tools-expect"><primary sortas="a-Expect">Expect</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Expect permet de réaliser des dialogues
scriptés avec d'autres programmes interactifs.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>4,0&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make, Sed et Tcl</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation d'Expect</title>
 
<para>Tout d'abord, corrigez un bogue qui provoquerait de nombreux faux échecs lors
de l'exécution de la suite de tests de GCC&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&expect-spawn-patch;</userinput></screen>
 
<para>Maintenant, préparez la compilation d'Expect&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools --with-tcl=/tools/lib \
--with-tclinclude=$TCLPATH --with-x=no</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--with-tcl=/tools/lib</parameter></term>
<listitem><para>Ceci nous assure que le script configure travaille avec le
Tcl situé dans l'emplacement temporaire des outils, et non avec un Tcl résidant sur le
système hôte.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--with-tclinclude=$TCLPATH</parameter></term>
<listitem><para>Ceci indique explicitement à Expect où trouver le répertoire
des sources de Tcl et ses en-têtes internes. Utiliser cette option évite
certaines situations où <command>configure</command> échoue car il n'a pas pu
découvrir automatiquement l'emplacement de ce répertoire.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--with-x=no</parameter></term>
<listitem><para>Ceci indique au script configure de ne pas rechercher Tk (le
composant de Tcl en interface graphique utilisateur) ni les bibliothèques systèmes d'X Window,
qui peuvent tous les deux résider sur le système hôte mais n'existeront pas dans l'environnement
temporaire.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Construisez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester le résultat, exécutez&nbsp;:
<userinput>make test</userinput>. Notez que la suite de tests d'Expect est
connue pour rencontrer de nombreux échecs dans certaines configurations de l'hôte,
conditions sur lesquelles nous n'avons pas de contrôle. Du coup, les échecs de cette
suite de tests ne seraient pas surprenants et ne sont pas considérés comme
critiques.</para>
 
<para>Installez-le&nbsp;:</para>
 
<screen><userinput>make SCRIPTS="" install</userinput></screen>
 
<para>Voici la signification du paramètre de make&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>SCRIPTS=""</parameter></term>
<listitem><para>Ceci empêche l'installation des scripts expect additionels,
non nécessaires.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Maintenant, libérez la variable <envar>TCLPATH</envar>&nbsp;:</para>
 
<screen><userinput>unset TCLPATH</userinput></screen>
 
<para>Les répertoires des sources de Tcl et d'Expect peuvent maintenant être
supprimés.</para>
 
</sect2>
 
<sect2 id="contents-expect" role="content"><title>Contenu d'Expect</title>
 
<segmentedlist>
<segtitle>Programme installé</segtitle>
<segtitle>Bibliothèque installée</segtitle>
<seglistitem><seg>expect</seg><seg>libexpect-&expect-lib-version;.a</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="expect">
<term><command>expect</command></term>
<listitem>
<para>Communique avec d'autres programmes interactifs suivant un script.</para>
<indexterm zone="ch-tools-expect expect"><primary sortas="b-expect">expect</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libexpect">
<term><filename class="libraryfile">libexpect-&expect-lib-version;.a</filename></term>
<listitem>
<para>Contient des fonctions qui permettent à Expect d'être utilisé comme une
extension Tcl ou d'être utilisé directement à partir du langage C ou du langage
C++ (sans Tcl)</para>
<indexterm zone="ch-tools-expect libexpect"><primary
sortas="c-libexpect-&expect-lib-version;">libexpect-&expect-lib-version;</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter05/kernel-headers.xml
0,0 → 1,76
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-kernel-headers" role="wrap">
<title>En-têtes Linux-&linux-version;</title>
<?dbhtml filename="kernel-headers.html"?>
 
<indexterm zone="ch-tools-kernel-headers">
<primary sortas="a-Linux">Linux</primary>
<secondary>outils, en-tête</secondary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet du noyau Linux contient les sources ainsi que les fichiers
d'en-têtes utilisés par Glibc.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>186&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation des en-têtes Linux dépend de</segtitle>
<seglistitem><seg>Coreutils et Make</seg></seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation des en-têtes du noyau</title>
 
<para>Comme certains paquets se réfèrent aux fichiers d'en-têtes du
noyau, c'est le moment de déballer l'archive du noyau, puis de
configurer et copier les fichiers requis à un endroit où <command>gcc</command>
pourra les trouver plus tard.</para>
 
<para>Préparez l'installation des en-têtes avec&nbsp;:</para>
 
<screen><userinput>make mrproper</userinput></screen>
 
<para>Ceci nous assure que le répertoire du noyau est totalement propre.
Il est recommandé d'exécuter cette commande à <emphasis>chaque</emphasis>
compilation du noyau. Ne supposez pas que le contenu du répertoire soit propre après
le déballage.</para>
 
<para>Créez le fichier <filename class="headerfile">include/linux/version.h</filename>&nbsp;:</para>
 
<screen><userinput>make include/linux/version.h</userinput></screen>
 
<beginpage/>
 
<para>Créez le lien symbolique spécifique à la plateforme
<filename class="symlink">include/asm</filename>&nbsp;:</para>
 
<screen><userinput>make include/asm</userinput></screen>
 
<para>Installez les fichiers d'en-têtes spécifiques à la platforme&nbsp;:</para>
 
<screen><userinput>mkdir /tools/glibc-kernheaders
cp -HR include/asm /tools/glibc-kernheaders
cp -R include/asm-generic /tools/glibc-kernheaders</userinput></screen>
 
<para>Enfin, installez les autres fichiers d'en-têtes du noyau&nbsp;:</para>
 
<screen><userinput>cp -R include/linux /tools/glibc-kernheaders</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-kernel" role="."/></para>
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter05/toolchaintechnotes.xml
0,0 → 1,228
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-toolchaintechnotes">
<title>Notes techniques sur l'ensemble d'outils</title>
<?dbhtml filename="toolchaintechnotes.html"?>
 
<para>Cette section présente certains détails techniques et la logique
qui sous-tendent la méthode de construction. Il n'est pas essentiel de comprendre
immédiatement tout ce qui se trouve dans cette section. La plupart des
informations seront plus claires après avoir réalisé réellement une
construction complète. Cette section peut servir de référence à tout moment
lors du processus de construction.</para>
 
<para>Le but global de <xref linkend="chapter-temporary-tools"/> est de fournir
un environnement temporaire où nous pouvons utiliser chroot à partir duquel
nous pouvons produit une construction propre, sans soucis, du système LFS
cible dans <xref linkend="chapter-building-system"/>. Tout au long du chemin,
nous nous séparons du système hôte autant que possible et, se faisant, nous
construisons un ensemble d'outils qui se tient. Il devrait être noté que le
processus de construction a été conçu pour minimiser les risques pour les
nouveaux lecteurs et pour fournir une valeur éducative maximale en même temps.
</para>
 
<important>
<para>Avant de continuer, faites attention au nom de la plateforme de travail,
souvent appelé la triplette cible. De nombreuses fois, la triplette cible sera
probablement <emphasis>i686-pc-linux-gnu</emphasis>. Une façon simple de
déterminer le nom de la triplette cible est de lancer le script
<command>config.guess</command> venant avec le source pour un grand nombre de
paquetages. Déballez les sources de Binutils, lancez le script
<userinput>./config.guess</userinput> et notez la sortie.</para>
 
<para>De même, faites attention au nom de l'éditeur de liens de la plateforme,
souvent appelé le chargeur dynamique (à ne pas confondre avec l'éditeur de liens
<command>ld</command> faisant partie de Binutils). Le chargeur dynamique fourni
par Glibc trouve et charge les bibliothèques partagées nécessaires à un programme
pour s'exécuter, puis l'exécute. Le nom de l'éditeur dynamique sera habituellement
<filename class="libraryfile">ld-linux.so.2</filename>. Sur des plateformes moins
connues, le nom pourrait être <filename class="libraryfile">ld.so.1</filename>
alors que les nouvelles plateformes 64 bits pourraient être nommées encore
différemment. Le nom de l'éditeur de liens dynamiques de la plateforme peut
être déterminé en cherchant dans le répertoire
<filename class="directory">/lib</filename> du système hôte. Une façon certaine
de déterminer le nom est d'inspecter un binaire au hasard de la hôte système en
exécutant&nbsp;: <userinput>readelf -l &lt;nom du binaire&gt; | grep interpreter</userinput>
et de noter le résultat. La référence faisant autorité couvrant toutes les
plateformes est dans le fichier <filename>shlib-versions</filename> à la racine
du répertoire des sources de Glibc.</para>
</important>
 
<para>Quelques points techniques sur la façon dont fonctionne la méthode de
construction <xref linkend="chapter-temporary-tools"/>&nbsp;:</para>
 
<itemizedlist>
<listitem><para>Le processus est similaire dans son principe à la
cross-compilation où les outils installés dans le même préfixe fonctionnent
en coopération et utilisent, du coup, un peu de <quote>magie</quote> GNU
</para></listitem>
 
<listitem><para>Une manipulation attentionnée du chemin de recherche des
bibliothèques de l'éditeur de liens standard vous assure que les programmes
sont liés seulement avec les bibliothèques choisies</para></listitem>
 
<listitem><para>Une manipulation attentionnée du fichier
<filename>specs</filename> de <command>gcc</command> indique au compilateur
l'éditeur de liens dynamique cible à utiliser</para></listitem>
</itemizedlist>
 
<para>Binutils est tout d'abord installé parce que les exécutions de Glibc et
GCC par <command>configure</command> réalisent quelques tests de fonctionnalités
sur l'assembleur et l'éditeur de liens pour déterminer quelle fonctionnalité
logicielle activer ou désactiver. Ceci est plus important que vous pourriez
supposer. Un GCC ou une Glibc mal configurée peut résulter en un ensemble
d'outils subtilement cassé, où l'impact d'une telle cassure ne se montrerait
pas avant la fin de la construction de la distribution complète. Un échec dans
la suite de tests surlignera habituellement sur cette erreur avant que trop de
travail supplémentaire n'ait été réalisé.</para>
 
<beginpage/>
 
<para>Binutils installe son assembleur et son éditeur de liens à deux endroits,
<filename class="directory">/tools/bin</filename> et <filename
class="directory">/tools/$TARGET_TRIPLET/bin</filename>. Les outils dans un
emplacement sont liés en dur à l'autre. Une facette importante de l'éditeur
de liens est son ordre de recherche des bibliothèques. Des informations
détaillées peuvent être obtenues à partir de <command>ld</command> en lui
passant le commutateur <parameter>--verbose</parameter>. Par exemple, un
<userinput>ld --verbose | grep SEARCH</userinput> illustrera les chemins de
recherche réels et leur ordre. Il montre quels fichiers sont liés par
<command>ld</command> en compilant un programme de test et en passant le
commutateur <parameter>--verbose</parameter> à l'éditeur de liens. Par exemple,
<userinput>gcc dummy.c -Wl,--verbose 2&gt;&amp;1 | grep
succeeded</userinput> affichera tous les fichiers ouverts avec succès lors de
l'édition des liens.</para>
 
<para>Le prochain paquetage installé est GCC. Un exemple de ce qui peut être vu
pendant son exécution de <command>configure</command> est&nbsp;:</para>
 
<screen><computeroutput>checking what assembler to use...
/tools/i686-pc-linux-gnu/bin/as
checking what linker to use... /tools/i686-pc-linux-gnu/bin/ld</computeroutput></screen>
 
<para>C'est important pour les raisons mentionnées ci-dessus. Cela démontre
aussi que le script configure de GCC ne cherche pas les répertoires PATH pour
trouver les outils à utiliser. Néanmoins, lors d'une opération normale de
<command>gcc</command>, les mêmes chemins de recherche ne sont pas forcément
utilisés. Pour trouver quel éditeur de liens standard <command>gcc</command>
utilisera, lancez&nbsp;: <userinput>gcc
-print-prog-name=ld</userinput>.</para>
 
<para>Des informations détaillées peuvent être obtenues à partir de
<command>gcc</command> en lui fournissant l'option en ligne de commande
<parameter>-v</parameter> lors de la compilation d'un programme de tests.
Par exemple, <userinput>gcc -v dummy.c</userinput> affichera des informations
détaillées sur les étapes du préprocesseur, de la compilation et de l'assemblage,
ceci incluant les chemins de recherche inclus par <command>gcc</command> et
leur ordre.</para>
 
<para>Le prochain paquetage installé est Glibc. Les plus importantes
considérations pour construire Glibc est le compilateur, les outils binaires
et les en-têtes du noyau. Le compilateur n'est généralement pas un problème
car Glibc utilise toujours le <command>gcc</command> trouvé dans un répertoire
du <envar>PATH</envar>. Les outils binaires et les en-têtes du noyau peuvent
être un peu plus compliqués. Du coup, ne prenez pas de risque et utilisez les
options disponibles de configure pour renforcer les bonnes sélections. Après
l'exécution de <command>configure</command>, vérifiez le contenu du fichier
<filename>config.make</filename> dans le répertoire <filename
class="directory">glibc-build</filename> pour tous les détails importants. Notez
l'utilisation de <parameter>CC="gcc -B/tools/bin/"</parameter> pour contrôler les
outils binaires utilisés, et l'utilisation de <parameter>-nostdinc</parameter>
et <parameter>-isystem</parameter> pour contrôler le chemin de recherche des
en-têtes du compilateur. Ces éléments soulignent un aspect important du paquetage
Glibc &mdash; il est auto-suffisant en terme de machinerie de construction et ne
se repose généralement pas sur l'ensemble d'outils par défaut.</para>
 
<para>Après l'installation de Glibc, réalisez les ajustements pour vous assurer
que la recherche et l'édition de liens prennent seulement place à l'intérieur
du préfixe <filename class="directory">/tools</filename>. Installez un
<command>ld</command> ajusté qui a un chemin de recherche limité, codé en dur,
vers <filename class="directory">/tools/lib</filename>. Puis, modifiez le
fichier specs de <command>gcc</command> pour pointer vers le nouvel éditeur de
liens dynamique dans <filename class="directory">/tools/lib</filename>. Cette
dernière étape est vitale pour le processus complet. Comme mentionné ci-dessus,
un chemin en dur vers un éditeur de liens est intégré dans chaque exécutable
ainsi que dans chaque exécutable partagé (ELF). Ceci peut être inspecté en
exécutant&nbsp;: <userinput>readelf -l &lt;name of binary&gt; | grep
interpreter</userinput>. Modifier le fichier specs de gcc nous assure que chaque
programme compilé à partir de maintenant et jusqu'à la fin de ce chapitre
utilisera le nouvel éditeur de liens dynamiques dans <filename
class="directory">/tools/lib</filename>.</para>
 
<para>Le besoin d'utiliser le nouvel éditeur de liens dynamique est aussi la
raison pour laquelle le correctif Specs est appliqué lors de la seconde passe
de GCC. Échouer sur ce point résultera en des programmes GCC ayant le nom de
l'éditeur de liens provenant du répertoire <filename
class="directory">/lib</filename> du système hôte intégré en eux, ce qui
empêchera le but de s'éloigner de l'hôte.</para>
 
<para>Lors de la seconde passe de Binutils, nous sommes capable d'utiliser
l'option <parameter>--with-lib-path</parameter> de configure pour contrôler
le chemin de recherche des bibliothèques de <command>ld</command>. À partir de
là, l'ensemble d'outils principal est contenu en lui-même. Le reste des
paquetages de <xref linkend="chapter-temporary-tools"/> se construit à partir de
la nouvelle Glibc dans <filename class="directory">/tools</filename>.</para>
 
<beginpage/>
 
<para>Avant d'entrer dans l'environnement chroot dans <xref
linkend="chapter-building-system"/>, le premier paquetage majeur à être installé
est Glibc, à cause de sa nature auto-suffisante mentionnée ci-dessus. Une fois
que Glibc est installée dans <filename class="directory">/usr</filename>,
réalisez une rapide modification des valeurs par défaut de l'ensemble des outils
puis continuez la construction du reste du système LFS cible.</para>
 
<!-- Supprimé en tant que poartie de la correction du bogue 1061 -
nous n'avons plus besoin de construire statiquement les paquetages de
la première passe... du coup, cette explication n'est plus nécessaire -->
 
<!--<sect2>
<title>Notes sur l'édition de liens statiques</title>
 
<para>EN dehors de leur tâches spécifiques, la plupart des programmes doivent
réaliser un grand nombre d'opérations habituelles, voire triviales. Elles
incluent l'allocation de mémoire, la recherche dans des répertoire, la lecture
et l'écriture de fichiers, la gestion des chaînes de caractères, la
reconnaissance de modèles, l'arithmétique et d'autres tâches. Au lieu d'obliger
chaque programme à réinventer la roue, le système GNU fournit toutes ces
fonctions de base dans des bibliothèques toutes prêtes. La bibliothèque majeure
sur un système Linux est Glibc.</para>
 
<para>Il existe deux façons de lier les fonctions d'une bibliothèque dans un
programme qui les utilise &mdash; statiquement ou dynamiquement. Quand un
programme est lié statiquement, le code des fonctions utilisées est inclus
dans l'exécutable, résultant en un gros programme. Quand un programme est lié
dynamiquement, il inclut une référence à l'éditeur de liens, le nom de la
bibliothèque et le nom de la fonction, résultant en un exécutable bien plus
petit. Une troisième option est d'utiliser l'interface de programmation de
l'éditeur de liens (voir la page man <filename>dlopen(3)</filename> pour plus
d'informations).</para>
 
<para>L'édition de liens dynamiques est le comportement par défaut sur Linux et
a trois avantages majeurs sur l'édition de liens statiques. Tout d'abord, seule
une copie du code exécutable de la bibliothèque est nécessaire sur le disque
dur, à la place de plusieurs copies du même code inclus dans plusieurs
programmes, sauvegardant ainsi de l'espace disque. Deuxièmement, quand plusieurs
programmes utilisent la même fonction de bibliothèque en même temps, seule une
copie du code de la fonction est requis en mémoire, sauvegardant ainsi de la
place. Troisièmement, quand une fonction d'un bibliothèque est corrigée ou
améliorée, seule la bibliothèque doit être recompilée au lieu de recompiler tous
les programmes utilisant ladite fonction.</para>
 
<para>Si l'édition de liens dynamiques a plusieurs avantages, alors pourquoi
utilisons-nous l'édition statique pour les deux premiers paquetages dans ce
chapitre&nbsp;? Il y a trois raisons &mdash; historique, éducative et technique.
La raison historique est que les versions antérieures de LFS liaient statiquement
tous les programmes de ce chapitre. Éducative, connaître les différences entre
statique et dynamique est utile. Le bénéfice technique est un élément gagné pour
l'indépendance sur le système hôte, signifiant que les programmes peuvent être
utilisés indépendamment du système hôte. Néanmoins, il est bon de noter qu'une
construction réussie de LFS peut toujours se faire quand les deux premiers
paquetages de LFS sont construits dynamiquement.</para>
 
</sect2> -->
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter05/flex.xml
0,0 → 1,65
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-flex" role="wrap">
<title>Flex-&flex-version;</title>
<?dbhtml filename="flex.html"?>
 
<indexterm zone="ch-tools-flex">
<primary sortas="a-Flex">Flex</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/flex.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,6&nbsp;SBU</seg><seg>22,5&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/flex.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Flex</title>
 
<para>Flex contient quelques bogues connus, tous corrigés par le correctif
suivant&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&flex-fixes-patch;</userinput></screen>
 
<para>GNU autotools va détecter la modification du code source de Flex par le
correctif précédent et tentera de mettre à jour la page man. Ceci ne
fonctionne pas sur certains systèmes, et la page par défaut est suffisante,
assurez-vous donc qu'elle n'est pas regénérée&nbsp;:</para>
 
<screen><userinput>touch doc/flex.1</userinput></screen>
 
<para>Maintenant, préparez la compilation de Flex&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester le résultat,exécutez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-flex" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter05/patch.xml
0,0 → 1,56
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-patch" role="wrap">
<title>Patch-&patch-version;</title>
<?dbhtml filename="patch.html"?>
 
<indexterm zone="ch-tools-patch">
<primary sortas="a-Patch">Patch</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/patch.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>1,5&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/patch.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Patch</title>
 
<para>Préparez la compilation de Patch&nbsp;:</para>
 
<screen><userinput>CPPFLAGS=-D_GNU_SOURCE ./configure --prefix=/tools</userinput></screen>
 
<para>Le commutateur du préprocesseur <parameter>-D_GNU_SOURCE</parameter>
n'est nécessaire que sur la plateforme PowerPC. Il peut être omis pour les
autres.</para>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Aucune suite de tests n'accompagne ce paquet.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-patch" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter05/coreutils.xml
0,0 → 1,72
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-coreutils" role="wrap">
<title>Coreutils-&coreutils-version;</title>
<?dbhtml filename="coreutils.html"?>
 
<indexterm zone="ch-tools-coreutils">
<primary sortas="a-Coreutils">Coreutils</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/coreutils.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,9&nbsp;SBU</seg><seg>53,3&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/coreutils.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Coreutils</title>
 
<para>Préparez la compilation de Coreutils&nbsp;:</para>
 
<screen><userinput>DEFAULT_POSIX2_VERSION=199209 ./configure --prefix=/tools</userinput></screen>
 
<para>Ce paquet a un problème lorsqu'il est compilé avec des versions de Glibc
antérieures à la 2.3.2. Certains outils de Coreutils (tels que
<command>head</command>, <command>tail</command> et <command>sort</command>)
rejetteront leur syntaxe traditionnelle, une syntaxe utilisée depuis environ
30&nbsp;ans. Cette ancienne syntaxe est si ancrée que la compatibilité doit
être préservée jusqu'à ce que tous les endroits où elle est utilisée puissent être
mis à jour. La compatibilité ascendante est obtenue en initialisant la
variable d'environnement <envar>DEFAULT_POSIX2_VERSION</envar> à
<quote>199209</quote> dans la commande ci-dessus. Si vous ne voulez pas que
Coreutils soit compatible avec la syntaxe traditionnelle, oubliez simplement
d'initialiser cette variable. Comprenez bien que ce choix aura des conséquences,
vous devrez par exemple corriger les nombreux paquets utilisant toujours l'ancienne syntaxe. Il est
donc fortement recommander de suivre exactement les instructions indiquées
ci-dessus.</para>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester le résultat, exécutez&nbsp;:
<userinput>make RUN_EXPENSIVE_TESTS=yes check</userinput>. Le paramètre
<parameter condition="html">RUN_EXPENSIVE_TESTS=yes</parameter>
<parameter condition="pdf">RUN_EXPENSIVE_ TESTS=yes</parameter> indique à la
suite de tests de lancer quelques tests supplémentaires, considérés relativement
coûteux (en terme de puissance CPU et d'utilisation mémoire) mais habituellement
sans problème sous Linux.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-coreutils" role="." />.</para>
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter05/bison.xml
0,0 → 1,53
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-bison" xreflabel="Bison" role="wrap">
<title>Bison-&bison-version;</title>
<?dbhtml filename="bison.html"?>
 
<indexterm zone="ch-tools-bison">
<primary sortas="a-Bison">Bison</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/bison.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,6&nbsp;SBU</seg><seg>10,0&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/bison.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Bison</title>
 
<para>Préparez la compilation de Bison&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester le résultat,exécutez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-bison" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter05/sed.xml
0,0 → 1,53
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-sed" role="wrap">
<title>Sed-&sed-version;</title>
<?dbhtml filename="sed.html"?>
 
<indexterm zone="ch-tools-sed">
<primary sortas="a-Sed">Sed</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/sed.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>8,4&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/sed.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Sed</title>
 
<para>Préparez la compilation de Sed&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester le résultat, exécutez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-sed" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter05/make.xml
0,0 → 1,53
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-make" role="wrap">
<title>Make-&make-version;</title>
<?dbhtml filename="make.html"?>
 
<indexterm zone="ch-tools-make">
<primary sortas="a-Make">Make</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/make.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>7,1&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/make.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Make</title>
 
<para>Préparez la compilation de Make&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester le résultat, exécutez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-make" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter05/dejagnu.xml
0,0 → 1,67
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-dejagnu" role="wrap">
<title>DejaGNU-&dejagnu-version;</title>
<?dbhtml filename="dejagnu.html"?>
 
<indexterm zone="ch-tools-dejagnu"><primary sortas="a-DejaGNU">DejaGNU</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet DejaGNU contient un squelette applicatif destiné à tester d'autres
programmes.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>6,1&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de DejaGNU</title>
 
<para>Préparez la compilation de DejaGNU&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Construisez et installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-dejagnu" role="content"><title>Contenu de DejaGNU</title>
 
<segmentedlist>
<segtitle>Programme installé</segtitle>
<seglistitem><seg>runtest</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Description courte</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="runtest">
<term><command>runtest</command></term>
<listitem>
<para>Un script d'emballage qui trouve le bon shell <command>expect</command>,
puis qui lance DejaGNU</para>
<indexterm zone="ch-tools-dejagnu runtest"><primary sortas="b-runtest">runtest</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter05/binutils-pass1.xml
0,0 → 1,140
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-binutils-pass1" role="wrap">
<title>Binutils-&binutils-version; - Passe 1</title>
<?dbhtml filename="binutils-pass1.html"?>
 
<indexterm zone="ch-tools-binutils-pass1">
<primary sortas="a-Binutils">Binutils</primary>
<secondary>outils, passe 1</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/binutils.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>1,0&nbsp;SBU</seg><seg>179&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/binutils.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Binutils</title>
 
<para>Il est important que Binutils soit le premier paquet compilé parce
que Glibc comme GCC réalisent différents tests portant sur l'éditeur de liens et
l'assembleur disponibles pour déterminer les fonctionnalités qu'ils doivent activer.
</para>
 
<para>Ce paquet est connu pour avoir des soucis quand les options d'optimisation
par défaut (dont les options <parameter>-march</parameter> et
<parameter>-mcpu</parameter>) sont modifiées. Donc, si des variables d'environnement
qui surchargent les optimisations par défaut on été définies, telles que <envar>CFLAGS</envar>
et <envar>CXXFLAGS</envar>, supprimez les avant de lancer
la construction de Binutils.</para>
 
<para>Si vous construisez à partir d'un hôte utilisant Gcc-4 ou ultérieur, il
est nécessaire de modifier légèrement Binutils lors de cette première passe
pour qu'il puisse être compilé par le système hôte.</para>
 
<screen><userinput>patch -Np1 -i ../&binutils-gcc4-patch;</userinput></screen>
 
<para>La documentation de Binutils recommande de construire Binutils en dehors
du répertoire des sources, c'est-à-dire dans un répertoire de construction
dédié&nbsp;:</para>
 
<screen><userinput>mkdir -v ../binutils-build
cd ../binutils-build</userinput></screen>
 
<note><para>Pour que les valeurs SBU listées dans le reste du livre vous soient
utiles, mesurez le temps pris pour construire ce paquet, de la configuration
jusqu'à la première installation. Pour cela, englobez les trois commandes
dans une commande <command>time</command> de cette façon&nbsp;:
<userinput>time { ./configure ... &amp;&amp; make &amp;&amp; make
install; }</userinput>.</para></note>
 
<para>Maintenant, préparez la compilation de Binutils&nbsp;:</para>
 
<screen><userinput>../binutils-&binutils-version;/configure --prefix=/tools --disable-nls</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--prefix=/tools</parameter></term>
<listitem><para>Cette option indique au script configure de se préparer à installer les
programmes Binutils dans le répertoire <filename
class="directory">/tools</filename>.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--disable-nls</parameter></term>
<listitem><para>Ceci désactive l'internationalisation car ce n'est pas
nécessaire pour des outils temporaires.</para></listitem>
</varlistentry>
</variablelist>
 
<beginpage/>
 
<para>Continuez en compilant le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>La compilation est maintenant terminée. Normalement, c'est là que la suite de tests
devrait être lancé mais, à ce moment, la structure permettant l'exécution des suites de tests (Tcl,
Expect et DejaGnu) n'est pas encore en place. De plus, l'intérêt de lancer les tests
maintenant serait minime car les programmes de la première passe seront
bientôt remplacés par ceux de la seconde.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Ensuite, préparez l'éditeur de liens pour la phase
d'<quote>ajustement</quote> un peu plus tard&nbsp;:</para>
 
<screen><userinput>make -C ld clean
make -C ld LIB_PATH=/tools/lib</userinput></screen>
 
<para>Voici la signification des paramètres de make&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>-C ld clean</parameter></term>
<listitem><para>Ceci indique au programme make de supprimer tous les fichiers
compilés du sous-répertoire <filename class="directory">ld</filename>.
</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>-C ld LDFLAGS="-all-static"
LIB_PATH=/tools/lib</parameter></term>
<listitem><para>Cette option reconstruit tout ce qui se trouve dans le
sous-répertoire <filename class="directory">ld</filename>. Spécifier la
variable makefile <envar>LIB_PATH</envar> dans la ligne de commande nous
permet d'écraser la valeur par défaut et à la faire pointer sur l'
emplacement des outils temporaires. Cette variable définit le
chemin de recherche des bibliothèques par défaut pour l'éditeur de liens.
Cette préparation est utilisée plus tard dans le chapitre.</para></listitem>
</varlistentry>
</variablelist>
 
<warning><para><emphasis>Ne supprimez pas encore</emphasis> les répertoires de
construction et des sources de Binutils, vous en aurez encore besoin dans leur état actuel
un peu plus tard dans ce chapitre.</para></warning>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-binutils" role="." /></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter05/binutils-pass2.xml
0,0 → 1,97
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-binutils-pass2" role="wrap">
<title>Binutils-&binutils-version; - Passe 2</title>
<?dbhtml filename="binutils-pass2.html"?>
 
<indexterm zone="ch-tools-binutils-pass2">
<primary sortas="a-Binutils">Binutils</primary>
<secondary>outils, passe 2</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
href="../chapter06/binutils.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>1,5&nbsp;SBU</seg><seg>114&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
href="../chapter06/binutils.xml"
xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Ré-installation de Binutils</title>
 
<para>Ce paquet est connu pour avoir des soucis quand les options d'optimisation
par défaut (dont les options <parameter>-march</parameter> et
<parameter>-mcpu</parameter>) sont modifiées. Donc, si des variables d'environnement
qui surchargent les optimisations par défaut ont été définies, telles que <envar>CFLAGS</envar>
et <envar>CXXFLAGS</envar>, supprimez les avant de lancer
la construction de Binutils.</para>
 
<para>Créez de nouveau un répertoire de construction séparé&nbsp;:</para>
 
<screen><userinput>mkdir -v ../binutils-build
cd ../binutils-build</userinput></screen>
 
<para>Préparez la compilation de Binutils&nbsp;:</para>
 
<screen><userinput>../binutils-&binutils-version;/configure --prefix=/tools \
--disable-nls --enable-shared --with-lib-path=/tools/lib</userinput></screen>
 
<para>Voici la signification des nouvelles options de configure&nbsp;:
</para>
 
<variablelist>
<varlistentry>
<term><parameter>--with-lib-path=/tools/lib</parameter></term>
<listitem><para>Ceci indique au script configure de spécifier le chemin de
recherche des bibliothèques lors de la compilation de Binutils, résultant au
passage de <filename class="directory">/tools/lib</filename> à l'éditeur de
liens. Ceci empêche l'éditeur de liens de chercher dans tous les répertoires de
bibliothèques de l'hôte.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>La compilation est maintenant terminée. Comme dit plutôt, lancer les
suites de tests n'est pas nécessaire pour les outils temporaires dans ce
chapitre. Néanmoins, pour lancer la suite de tests Binutils, lancez la commande
suivante&nbsp;:</para>
 
<screen><userinput>make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
<screen><userinput>make install</userinput></screen>
 
<para>Maintenant, préparez l'éditeur de liens pour la phase de
<quote>ré-ajustement</quote> du prochain chapitre&nbsp;:</para>
 
<screen><userinput>make -C ld clean
make -C ld LIB_PATH=/usr/lib:/lib</userinput></screen>
 
<warning><para><emphasis>Ne supprimez pas encore</emphasis> les répertoires des
sources et de construction de Binutils. Ces répertoires seront nécessaires pour
le prochain chapitre dans l'état où ils sont actuellement.</para></warning>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-binutils" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter05/bzip2.xml
0,0 → 1,47
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-bzip2" role="wrap">
<title>Bzip2-&bzip2-version;</title>
<?dbhtml filename="bzip2.html"?>
 
<indexterm zone="ch-tools-bzip2">
<primary sortas="a-Bzip2">Bzip2</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/bzip2.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>3,5&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/bzip2.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Bzip2</title>
 
<para>Le paquet Bzip2 ne contient pas de script <command>configure</command>.
Compilez-le et testez-le avec&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make PREFIX=/tools install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-bzip2" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter05/diffutils.xml
0,0 → 1,52
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-diffutils" role="wrap">
<title>Diffutils-&diffutils-version;</title>
<?dbhtml filename="diffutils.html"?>
 
<indexterm zone="ch-tools-diffutils">
<primary sortas="a-Diffutils">Diffutils</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/diffutils.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>5,6&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/diffutils.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Diffutils</title>
 
<para>Préparez la compilation de Diffutils&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Ce paquet ne contient pas de suite de tests.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-diffutils" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter05/chapter05.xml
0,0 → 1,45
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<chapter id="chapter-temporary-tools" xreflabel="Chapitre 5">
<?dbhtml dir="chapter05"?>
<title>Construire un système temporaire</title>
<?dbhtml filename="chapter05.html"?>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="toolchaintechnotes.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="binutils-pass1.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc-pass1.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="linux-libc-headers.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="glibc.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="adjusting.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="tcl.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="expect.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="dejagnu.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc-pass2.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="binutils-pass2.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gawk.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="coreutils.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bzip2.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gzip.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="diffutils.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="findutils.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="make.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grep.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sed.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gettext.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ncurses.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="patch.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="tar.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="texinfo.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bash.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="m4.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bison.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="flex.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="util-linux.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="perl.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="stripping.xml"/>
 
</chapter>
/tags/LFS-6_1_1/lfs/chapter05/gzip.xml
0,0 → 1,52
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-gzip" role="wrap">
<title>Gzip-&gzip-version;</title>
<?dbhtml filename="gzip.html"?>
 
<indexterm zone="ch-tools-gzip">
<primary sortas="a-Gzip">Gzip</primary>
<secondary>tools</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gzip.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>2,2&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gzip.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Gzip</title>
 
<para>Préparez la compilation de Gzip&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Ce paquet ne dispose pas de suite de tests.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-gzip" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter01/askforhelp.xml
0,0 → 1,115
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="prepare-askforhelp">
<title>Aide</title>
<?dbhtml filename="askforhelp.html"?>
 
<para>Si vous rencontrez une erreur ou si vous vous posez une question en
travaillant avec ce livre, consultez la FAQ, située sur la page <ulink
url="&faq-root;#generalfaq"/>. Beaucoup de questions y trouvent leurs réponses.
Si ce n'est pas le cas, essayez de trouver la source
du problème. L'astuce suivante vous donnera quelques conseils pour cela&nbsp;:
<ulink url="&hints-root;errors.txt"/>.</para>
 
<para>Si votre problème n'est pas listé dans la FAQ, recherchez-le dans les
listes de discussion sur <ulink url="&lfs-root;search.html"/>.</para>
 
<para>Nous avons aussi une formidable communauté LFS, disposée à offrir une
assistance via les listes de discussion et IRC (voir la section <xref
linkend="ch-scatter-administrativa"/> de ce livre). Néanmoins, nous recevons
de nombreuses questions de support chaque jour, et un grand nombre d'entre elles
ont déjà une réponse dans la FAQ et dans les listes de discussions. Pour que
nous puissions vous offrir la meilleure assistance possible, vous devez faire
quelques recherches de votre côté. Ceci nous permet de nous concentrer sur les
problèmes inhabituels. Si vos recherches sont infructueuses, merci d'inclure
toutes informations adéquates (mentionnées ci-dessous) dans votre demande
d'assistance.</para>
 
<sect2>
<title>Éléments à mentionner</title>
<para>En plus d'une brève explication du problème, voici les éléments essentiels
à inclure dans votre demande d'aide&nbsp;:</para>
 
<itemizedlist>
<listitem><para>La version du livre que vous utilisez (dans ce cas,
&version;)</para></listitem>
<listitem><para>La distribution hôte (et sa version) que vous utilisez pour créer
LFS</para></listitem>
<listitem><para>Le paquet ou la section où le problème a été
rencontré</para></listitem>
<listitem><para>Le message d'erreur exact ou le symptôme reçu</para></listitem>
<listitem><para>Signalez si vous avez dévié un tant soit peu des intructions du
livre</para></listitem>
</itemizedlist>
 
<note><para>Dévier du livre ne signifie <emphasis>pas</emphasis> que nous
n'allons pas vous aider. Après tout, LFS est une histoire de préférences de
chaque utilisateur. Nous préciser les modifications effectuées sur la procédure
établie nous aide à évaluer et à déterminer les causes probables de votre
problème.</para></note>
</sect2>
 
<sect2>
<title>Problèmes avec le script configure</title>
 
<para>Si quelque chose se passe mal lors de l'exécution du script
<command>configure</command>, examinez le fichier <filename>config.log</filename>.
Ce fichier pourrait contenir des erreurs rencontrées lors de l'exécution de
<command>configure</command> qui n'ont pas été affichées à l'écran. Incluez les
lignes <emphasis>intéressantes</emphasis> si vous avez besoin d'aide.</para>
</sect2>
 
<sect2>
<title>Problèmes de compilation</title>
 
<para>La sortie écran et le contenu de différents fichiers sont utiles pour
déterminer la cause des problèmes de compilation. Les sorties écran des
scripts <command>configure</command> et <command>make</command> peuvent
être utiles. Il n'est pas nécessaire d'inclure la sortie complète, mais incluez
suffisamment d'informations intéressantes. Voici ci-dessous un exemple du
type d'informations à inclure de la sortie écran de
<command>make</command>&nbsp;:</para>
 
<beginpage/>
 
<screen><computeroutput>gcc -DALIASPATH=\"/mnt/lfs/usr/share/locale:.\"
-DLOCALEDIR=\"/mnt/lfs/usr/share/locale\"
-DLIBDIR=\"/mnt/lfs/usr/lib\"
-DINCLUDEDIR=\"/mnt/lfs/usr/include\" -DHAVE_CONFIG_H -I. -I.
-g -O2 -c getopt1.c
gcc -g -O2 -static -o make ar.o arscan.o commands.o dir.o
expand.o file.o function.o getopt.o implicit.o job.o main.o
misc.o read.o remake.o rule.o signame.o variable.o vpath.o
default.o remote-stub.o version.o opt1.o
-lutil job.o: In function `load_too_high':
/lfs/tmp/make-3.79.1/job.c:1565: undefined reference
to `getloadavg'
collect2: ld returned 1 exit status
make[2]: *** [make] Error 1
make[2]: Leaving directory `/lfs/tmp/make-3.79.1'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/lfs/tmp/make-3.79.1'
make: *** [all-recursive-am] Error 2</computeroutput></screen>
 
<para>Dans ce cas, beaucoup de personnes n'inclueraient que la section du
bas&nbsp;:</para>
 
<screen><computeroutput>make [2]: *** [make] Error 1</computeroutput></screen>
 
<para>Cette information n'est pas suffisante pour diagnostiquer correctement
le problème car elle signale seulement que quelque chose s'est mal passé, par
<emphasis>ce</emphasis> qui s'est mal passé. La section entière, comme dans
l'exemple ci-dessus, est ce qui devrait être sauvé car la commande
exécutée et le(s) message(s) d'erreur associé(s) sont inclus.</para>
 
<para>Un excellent article sur les demandes d'aide sur Internet est disponible
en ligne sur <ulink url="http://catb.org/~esr/faqs/smart-questions.html"/>.
Lisez et suivez les astuces de ce document pour accroître vos chances d'obtenir
l'aide dont vous avez besoin.</para>
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter01/administrativa.xml
0,0 → 1,97
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-scatter-administrativa">
<title>Ressources</title>
<?dbhtml filename="resources.html"?>
 
 
<sect2 id="ch-scatter-faq">
<title>FAQ</title>
 
<para>Si vous rencontrez des problèmes lors de la construction du système
LFS, si vous avez des questions ou si vous pensez qu'il y a une coquille
typographique dans ce livre, merci de commencer par consulter la
<acronym>FAQ</acronym> (Foire aux Questions) sur <ulink
url="&faq-root;"/>.</para>
 
</sect2>
 
 
<sect2 id="ch-scatter-maillists" xreflabel="Chapitre 1 - Listes de diffusion">
<title>Listes de diffusion</title>
 
<para>Le serveur <uri>linuxfromscratch.org</uri> gère quelques listes
de diffusion utilisées pour le développement du projet LFS. Ces listes
incluent, entre autres, les listes de développement et de support. Si la FAQ
ne résout pas votre problème, l'étape suivante est de chercher dans les
liste de discussion (<ulink url="&lfs-root;search.html"/>).</para>
 
<para>Pour connaître les listes disponibles, les conditions d'abonnement,
l'emplacement des archives et quelques autres informations, allez sur
<ulink url="&lfs-root;mail.html"/>.</para>
 
</sect2>
 
 
<sect2 id="ch-scatter-newsserver">
<title>Serveur de nouvelles</title>
 
<para>Les listes de diffusion gérées par <uri>linuxfromscratch.org</uri> sont
aussi accessibles via le serveur NNTP. Tous les messages envoyés sur une liste
de diffusion sont copiés dans le groupe de nouvelles correspondant, et
vice-versa.</para>
 
<para>Le serveur de nouvelles est situé sur
<emphasis>news.linuxfromscratch.org</emphasis>.</para>
 
</sect2>
 
 
<sect2 id="ch-scatter-irc">
<title>IRC</title>
 
<para>Plusieurs membres de la communauté LFS offrent une assistance sur le
réseau IRC (Internet Relay Chat) de notre communauté. Avant d'utiliser ce mode
de support, assurez-vous que la réponse à votre question ne se trouve pas déjà
dans la FAQ LFS (voir ci-dessus) ou dans les archives des listes de diffusion
(voir ci-dessous). Vous
trouverez le réseau IRC à l'adresse <uri>irc.linuxfromscratch.org</uri>, port
6667. Le canal dédié au support se nomme #LFS-support.</para>
 
</sect2>
 
 
<sect2 id="ch-scatter-references">
<title>Références</title>
 
<para>Pour plus d'informations sur les paquets, des indications utiles sont
disponibles sur la page de référence des paquetages LFS située sur&nbsp;:
<ulink url="http://www.109bean.org.uk/LFS-references.html"/>.</para>
 
</sect2>
 
 
<sect2 id="ch-scatter-mirrors" xreflabel="Chapitre 1 - Sites miroirs">
<title>Sites miroirs</title>
 
<para>Le projet LFS a un bon nombre de miroirs configurés tout autour du
monde pour faciliter l'accès au site web ainsi que le téléchargement des
paquetages requis. Merci de visiter le site web de LFS sur <ulink
url="&lfs-root;mirrors.html"/> pour obtenir une liste des miroirs à jour.</para>
 
</sect2>
 
 
<sect2 id="ch-scatter-contactinfo">
<title>Contacts</title>
 
<para>Merci d'envoyer toutes vos questions et commentaires sur les listes
de diffusion LFS (voir ci-dessus).</para>
 
</sect2>
 
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter01/livecd.xml
0,0 → 1,70
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="prepare-livecd">
<title>À propos du CD inclus</title>
<?dbhtml filename="livecd.html"?>
 
<para>Pour vous, nous avons inclus un CD avec ce livre. Il contient toutes les
sources nécessaires pour créer un système Linux From Scratch. Le CD est amorçable
et fournit un environnement de travail stable pour construire LFS. Ce livre se
réfère à ce système comme le <quote>système hôte</quote>. Les images CD sont
maintenues activement et les dernières versions sont disponibles sur
<ulink url="ftp://ftp.lfs-matrix.net/pub/lfs-livecd/"/>.</para>
 
<para>En plus des outils requis pour construire LFS, sont intégrés sur le CD
un certain nombre d'outils utiles&nbsp;:</para>
 
<itemizedlist>
<listitem><para>Une version HTML de ce livre</para></listitem>
<listitem><para>L'environnement X Window System</para></listitem>
<listitem>
<para>Outils Web</para>
<itemizedlist>
<listitem><para>Wget (récupération de fichiers en
ligne de commande)</para></listitem>
<listitem><para>Lynx (navigateur web en mode
texte)</para></listitem>
<listitem><para>Irssi (client IRC
console)</para></listitem>
<listitem><para>Firefox (navigateur web
graphique X)</para></listitem>
<listitem><para>Xchat (client IRC graphique X)</para></listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>Éditeurs de texte</para>
<itemizedlist>
<listitem><para>Vim</para></listitem>
<listitem><para>Nano</para></listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>Outils réseau</para>
<itemizedlist>
<listitem><para>Serveur et client SSH</para></listitem>
<listitem><para>Serveur et client NFS</para></listitem>
<listitem><para>Smbmount (mount.cifs) pour les partages
Windows</para></listitem>
<listitem><para>Subversion</para></listitem>
<listitem><para>Dhcpcd (client DHCP)</para></listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>Programmes de systèmes de fichiers</para>
<itemizedlist>
<listitem><para>Reiserfsprogs</para></listitem>
<listitem><para>Xfsprogs</para></listitem>
</itemizedlist>
</listitem>
 
<listitem><para>nALFS - Un outil pour automatiser les constructions
LFS</para></listitem>
</itemizedlist>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter01/changelog.xml
0,0 → 1,143
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-scatter-changelog">
<title>Historique des modifications</title>
<?dbhtml filename="changelog.html"?>
 
<para>Il s'agit de la version &version; du livre <quote>Linux From
Scratch</quote>, datant du &releasedate;. Si ce livre est daté de plus de six
mois, une nouvelle et meilleure version est probablement déjà disponible.
Pour le savoir, merci de vérifier la présence d'une nouvelle version sur
l'un des miroirs via <ulink url="&lfs-root;"/>.</para>
 
<para>Ci-dessous se trouve une liste des modifications apportées depuis la vers
ion précédente du livre avec un résumé suivi d'une explication plus
détaillée.</para>
 
<itemizedlist>
 
<listitem><para>Paquets mis à jour&nbsp;:</para>
<itemizedlist>
<listitem><para>Perl 5.8.7</para></listitem>
<listitem><para>Zlib 1.2.3</para></listitem>
</itemizedlist>
</listitem>
 
<listitem><para>Paquets ajoutés&nbsp;:</para>
<itemizedlist>
<listitem><para>&binutils-gcc4-patch;</para></listitem>
<listitem><para>&bzip2-docs-patch;</para></listitem>
<listitem><para>&bzip2-bzgrep-patch;</para></listitem>
<listitem><para>&glibc-rtld-patch;</para></listitem>
<listitem><para>&glibc-tls_assert-patch;</para></listitem>
<listitem><para>&texinfo-tempfile_fix-patch;</para></listitem>
<listitem><para>&util-linux-umount-patch;</para></listitem>
<listitem><para>&vim-security_fix-patch;</para></listitem>
</itemizedlist>
</listitem>
<listitem><para>Paquets supprimés&nbsp;:</para>
<itemizedlist>
<listitem><para>zlib-1.2.2-security_fix-1.patch;</para></listitem>
</itemizedlist>
</listitem>
 
<listitem><para>30 novembre 2005 [matt]&nbsp;: sortie de LFS-6.1.1.</para>
</listitem>
 
<listitem><para>24 novembre 2005 [matt]&nbsp;: sortie de LFS-6.1.1-pre2.</para>
</listitem>
 
<listitem><para>24 novembre 2005 [matt]&nbsp;: correction d'un problème avec
Glibc empêchant certains programmes (comme OpenOffice.org) de fonctionner.
</para></listitem>
 
<listitem><para>23 novembre 2005 [gerard]&nbsp;: correction d'une référence aux
'pages man' par la 'documentation HTML' dans le chapitre 6/sec</para></listitem>
 
<listitem><para>18 novembre 2005 [manuel]&nbsp;: correction du déballage du
paquet module-init-tools-testsuite.</para></listitem>
 
<listitem><para>18 novembre 2005 [manuel]&nbsp;: corrections du PDF.</para></listitem>
 
<listitem><para>17 novembre 2005 [matt]&nbsp;: sortie de LFS-6.1.1-pre1.</para>
</listitem>
 
<listitem><para>12 novembre 2005 [matt]&nbsp;: amélioration de l'heuristique
déterminant une locale supportée à la fois par Glibc et les paquets en dehors
de LFS (bogue 1642). Merci à Alexander Patrakov pour avoir mis en évidence les
nombreux problèmes et pour avoir donné son avis sur les nombreux et divers
correctifs suggérés.</para></listitem>
 
<listitem><para>12 novembre 2005 [matt]&nbsp;: omission de l'exécution de la suite
de tests de Bzip2 en tant qu'étape séparée car <command>make</command> l'exécute
automatiquement (bogue 1652).
</para></listitem>
 
<listitem><para>7 novembre 2005 [matt]&nbsp;: empêche Udev de tuer les processus
udevd du système hôte (bogue 1651). Merci à Alexander Patrakov pour l'information
et la correction.</para></listitem>
 
<listitem><para>5 novembre 2005 [matt]&nbsp;: ajout d'une note sur la vérification
de la propreté des outils de construction dans le chapitre 5 en expliquant que, si
TCL échoue lors de sa construction, c'est une indication queun outil de construction
est cassé (bogue 1581).</para></listitem>
 
<listitem><para>4 novembre 2005 [matt]&nbsp;: corrections des instructions sur
l'exécution de la suite de tests Module-Init-Tools (bogue 1597). Merci à Greg
Schafer, Tushar Teredesai et Randy McMurchy pour le correctif fourni.</para></listitem>
 
<listitem><para>29 octobre 2005 [manuel]&nbsp;: corrections du PDF.</para></listitem>
 
<listitem><para>23 octobre 2005 [manuel]&nbsp;: ajout de l'installation de la
documentation de Bash. Ajout de notes sur libiconv et Cracklib. Correction de
l'installation de la documentation de Sed. Remplacement d'un correctif pour
IPRoute2 par une commande sed.</para></listitem>
 
<listitem><para>19 octobre 2005 [manuel]&nbsp;: mise à jour des remerciements
avec la version actuelle du trunk. Portage des modifications de rédaction dans
la préface et le chapitre 1. Déplacement du chapitre 2 dans la partie II. Ajout
des options -v. Portage de quelques corrections de typo et de rédaction
provenant du trunk.</para></listitem>
 
<listitem><para>19 octobre 2005 [manuel]&nbsp;: mise à jour des feuilles de style,
du Makefile et des fichiers relatifs par les versions du trunk.</para></listitem>
 
<listitem><para>15 octobre 2005 [matt]&nbsp;: utilisation d'une version mise à
jour du fichier de règles d'Udev (bogue 1639).</para></listitem>
 
<listitem><para>15 octobre 2005 [matt]&nbsp;: ajout d'un groupe cdrom, requis par
le fichier de règles d'Udev.</para></listitem>
 
<listitem><para>14 octobre 2005 [ken]&nbsp;: ajout d'un correctif permettant à
binutils d'être construit sur un hôte fonctionnant avec gcc-4, mise à jour des
instructions de glibc pour le correctif rtld, mise à jour de space/time pour
perl et zlib.</para></listitem>
 
<listitem><para>14 octobre 2005 [matt]&nbsp;: ajout d'un correctif pour gérer la
faille de sécurité dans util-linux.</para></listitem>
 
<listitem><para>14 octobre 2005 [matt]&nbsp;: ajout d'un correctif de sécurité
mis à jour pour vim.
</para></listitem>
 
<listitem><para>14 octobre 2005 [jhuntwork]&nbsp;: ajout de correctifs pour la
sécurité et les documents d'installation de bzip2.</para></listitem>
 
<listitem><para>14 octobre 2005 [jhuntwork]&nbsp;: ajout d'un correctif sur
tempfile pour texinfo.</para></listitem>
 
<listitem><para>14 octobre 2005 [ken]&nbsp;: mise à jour de paquets et de
correctifs dans le journal des modification pour simplement refléter les
changements depuis 6.1. Mise à jour de zlib.</para></listitem>
 
<listitem><para>13 octobre 2005 [ken]&nbsp;: correction d'erreurs connues dans
les listes de fichiers installés et augmentation de la version de perl.</para>
</listitem>
 
</itemizedlist>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter01/bootcd.xml
0,0 → 1,68
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="prepare-bootcd">
<title>À propos du CD inclus</title>
<?dbhtml filename="bootcd.html"?>
 
<para>Pour vous, nous avons inclus un CD avec ce livre. Il contient toutes les
sources nécessaires pour créer un système Linux From Scratch. Le CD est amorçable
et fournit un environnement de travail stable pour construire LFS. Ce livre se
réfère à ce système comme le <quote>système hôte</quote>.</para>
 
<para>En plus des outils requis pour construire LFS, le système hôte sur le CD
a un certain nombre d'autres outils utiles installés&nbsp;:</para>
 
<itemizedlist>
<listitem><para>Une version HTML de ce livre</para></listitem>
<listitem><para>L'environnement X Window System</para></listitem>
<listitem>
<para>Outils Web</para>
<itemizedlist>
<listitem><para>Wget (récupération de fichiers en
ligne de commande)</para></listitem>
<listitem><para>Lynx (navigateur web en mode
texte)</para></listitem>
<listitem><para>Irssi (client IRC
console)</para></listitem>
<listitem><para>Firefox (navigateur web
graphique X)</para></listitem>
<listitem><para>Xchat (client IRC graphique X)</para></listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>Éditeurs de texte</para>
<itemizedlist>
<listitem><para>Vim</para></listitem>
<listitem><para>Nano</para></listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>Outils réseau</para>
<itemizedlist>
<listitem><para>Serveur et client SSH</para></listitem>
<listitem><para>Serveur et client NFS</para></listitem>
<listitem><para>Smbmount (mount.cifs) pour les partages
Windows</para></listitem>
<listitem><para>Subversion</para></listitem>
<listitem><para>Dhcpcd (client DHCP)</para></listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>Programmes de systèmes de fichiers</para>
<itemizedlist>
<listitem><para>Reiserfsprogs</para></listitem>
<listitem><para>Xfsprogs</para></listitem>
</itemizedlist>
</listitem>
 
<listitem><para>nALFS - Un outil pour automatiser les constructions
LFS</para></listitem>
</itemizedlist>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter01/how.xml
0,0 → 1,88
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-scatter-how">
<title>Comment construire un système LFS</title>
<?dbhtml filename="how.html"?>
 
<para>Le système LFS sera construit en utilisant une distribution Linux déjà
installée (telle que Debian, Mandrake, Red Hat ou SuSE). Ce système Linux
existant (l'hôte) sera utilisé comme point de départ pour fournir certains
programmes nécessaires, dont un compilateur, un éditeur de liens et un
shell, pour construire le nouveau système. Sélectionnez l'option
<quote>développement</quote> (<foreignphrase>development</foreignphrase>) lors
de l'installation de la distribution hôte pour disposer de ces outils.</para>
 
<para>Si vous ne désirez pas installer une distribution séparée complète
sur votre machine, vous pouvez utiliser le LiveCD Linux From Scratch. Le CD
fonctionne bien en tant que système hôte, fournissant tous les outils dont
vous avez besoin pour suivre les instructions de ce livre avec succès. De plus,
il contient les paquetages sources, les correctifs et une copie de ce livre. Une
fois que vous avez le CD, plus aucune connexion réseau
n'est donc nécessaire. Pour plus d'informations sur le LiveCD LFS ou
pour télécharger une copie, visitez <ulink url="&livecd-root;"/>.</para>
 
<para>Le <xref linkend="chapter-partitioning"/> de ce livre décrit comment créer
une nouvelle partition native Linux et un système de fichiers,
c'est-à-dire l'endroit où le nouveau système LFS sera compilé et installé.
Le <xref linkend="chapter-getting-materials"/> explique quels paquets et
correctifs ont besoin d'être téléchargés pour construire un système LFS et
comment les stocker sur le nouveau système de fichiers. Le <xref
linkend="chapter-final-preps"/> traite de la configuration d'un
environnement de travail approprié. Merci de lire le <xref
linkend="chapter-final-preps"/> avec attention, car il présente plusieurs
problèmes importants dont le développeur doit être au courant avant de commencer
à s'attaquer au <xref linkend="chapter-temporary-tools"/> et aux chapitres
suivants.</para>
 
<para>Le <xref linkend="chapter-temporary-tools"/> détaille l'installation d'un
ensemble de paquets qui formeront la suite de développement de base (ou ensemble
d'outils) utilisée pour construire le système final dans le <xref
linkend="chapter-building-system"/>. Certains de ces paquets sont nécessaires
pour résoudre des dépendances circulaires&nbsp;&mdash; par exemple, pour compiler un
compilateur, vous avez besoin d'un compilateur.</para>
 
<para>Le <xref linkend="chapter-temporary-tools"/> montre également à l'utilisateur
comment construire une première passe de l'ensemble d'outils, incluant Binutils
et GCC (première passe signifiant basiquement que ces deux paquets principaux
seront installés une seconde fois). La prochaine
étape consiste à construire Glibc, la bibliothèque C, qui sera compilée à l'aide
des outils construits lors de la première passe.
Ensuite, une seconde passe de l'ensemble d'outils sera construite. Cette fois,
l'ensemble d'outils sera lié dynamiquement à la Glibc nouvellement
construite. Les paquets restants du <xref linkend="chapter-temporary-tools"/>
seront construits en utilisant la seconde passe de l'ensemble d'outils.
Lorsque ceci sera fait, le processus d'installation de LFS sera indépendant de
la distribution hôte, à l'exception du noyau en cours d'exécution.</para>
 
<para>Cet effort pour isoler le nouveau système de la distribution hôte
peut sembler excessif mais une explication technique complète est fournie dans
<xref linkend="ch-tools-toolchaintechnotes"/>.</para>
 
<para>Dans le <xref linkend="chapter-building-system"/>, le système LFS complet
est construit. Le programme <command>chroot</command> (changement de racine) est
utilisé pour entrer dans un environnement virtuel et pour lancer un nouveau shell
dont le répertoire racine sera la partition LFS. Ceci s'apparente à
redémarrer l'ordinateur et à demander au noyau de monter la partition LFS en tant que partition
racine. Le système ne redémarre pas réellement mais change la racine, car
la création d'un système amorçable réclame un travail supplémentaire qui n'est
pas encore nécessaire. Le principal avantage est que <quote>chroot</quote>
permet à l'utilisateur de continuer à utiliser l'hôte pendant la construction
de LFS. En attendant que la compilation d'un paquet se termine, un utilisateur
peut passer sur une console virtuelle (VC) différente ou un bureau X et utiliser son ordinateur comme d'habitude.</para>
 
<para>Pour terminer l'installation, les scripts de démarrage sont configurés
dans le <xref linkend="chapter-bootscripts"/>, le noyau et le chargeur de
démarrage sont configurés dans le <xref linkend="chapter-bootable"/>. Le <xref
linkend="chapter-finalizing"/> contient des informations sur la suite de
l'expérience LFS après ce livre. Après avoir accompli toutes les étapes de ce livre,
l'ordinateur sera prêt à redémarrer sous le nouveau système LFS.</para>
 
<para>Voilà pour un court résumé du processus. Des informations détaillées sur chaque
étape sont présentées dans les chapitres suivants, avec les descriptions des
paquets. Les éléments qui peuvent sembler compliqués seront clarifiés et
tout se mettra en place au fur et à mesure de l'aventure LFS.</para>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter01/chapter01.xml
0,0 → 1,17
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<chapter id="chapter-intro" xreflabel="Chapitre 1">
<?dbhtml dir="chapter01"?>
<title>Introduction</title>
<?dbhtml filename="chapter01.html"?>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="how.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="changelog.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="administrativa.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="askforhelp.xml"/>
<!--<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="livecd.xml"/>-->
 
</chapter>
/tags/LFS-6_1_1/lfs/chapter04/addinguser.xml
0,0 → 1,90
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-addinguser">
<title>Ajouter l'utilisateur LFS</title>
<?dbhtml filename="addinguser.html"?>
 
<para>Lorsque vous êtes connecté en tant qu'utilisateur
<emphasis>root</emphasis>, une seule erreur peut endommager, voire
dévaster votre système. Du coup, nous vous recommandons de construire les paquets
de ce chapitre en tant qu'utilisateur non privilégié. Vous pouvez bien sûr
utiliser votre propre nom d'utilisateur, mais pour vous assurer un
environnement de travail propre, il est plus sûr de créer un nouvel utilisateur
nommé <emphasis>lfs</emphasis> comme membre d'un nouveau groupe
<emphasis>lfs</emphasis> et de l'utiliser lors du processus d'installation.
En tant que <emphasis>root</emphasis>, exécutez les commandes suivantes pour créer
le nouvel utilisateur&nbsp;:</para>
 
<screen><userinput>groupadd lfs
useradd -s /bin/bash -g lfs -m -k /dev/null lfs</userinput></screen>
 
<para>Voici la signification des options de la ligne de commande&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>-s /bin/bash</parameter></term>
<listitem><para>Ceci fait de <command>bash</command> le shell par défaut de
l'utilisateur <emphasis>lfs</emphasis>.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>-g lfs</parameter></term>
<listitem><para>Cette option ajoute l'utilisateur <emphasis>lfs</emphasis> au
groupe <emphasis>lfs</emphasis>.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>-m</parameter></term>
<listitem><para>Ceci crée un répertoire personnel pour l'utilisateur
<emphasis>lfs</emphasis>.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>-k /dev/null</parameter></term>
<listitem><para>Ce paramètre empêche la copie de fichiers provenant
du répertoire squelette (par défaut, <filename
class="directory">/etc/skel</filename>) en le remplaçant par le
périphérique spécial null.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>lfs</parameter></term>
<listitem><para>Ceci est le nom réel pour le groupe et l'utilisateur
créé.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Pour vous connecter en tant qu'utilisateur <emphasis>lfs</emphasis> (et
non pas de passer à l'utilisateur <emphasis>lfs</emphasis> alors que vous êtes
connecté en tant que <emphasis>root</emphasis>, ce qui ne requiert pas que
<emphasis>lfs</emphasis> ait un mot de passe), donnez un mot de passe à
<emphasis>lfs</emphasis>&nbsp;:</para>
 
<screen role="nodump"><userinput>passwd lfs</userinput></screen>
 
<para>Donnez-lui un accès complet à <filename
class="directory">$LFS/tools</filename> en le désignant
comme propriétaire du répertoire&nbsp;:</para>
 
<screen><userinput>chown -v lfs $LFS/tools</userinput></screen>
 
<para>Si vous avez créé un répertoire de travail séparé comme suggéré, faites
de même avec ce répertoire&nbsp;:</para>
 
<screen><userinput>chown -v lfs $LFS/sources</userinput></screen>
 
<para>Ensuite, connectez-vous en tant que <emphasis>lfs</emphasis>. Vous pouvez le faire
via une console virtuelle, avec un gestionnaire d'affichage, ou avec
la commande suivante de substitution d'utilisateur&nbsp;:</para>
 
<screen><userinput>su - lfs</userinput></screen>
 
<para>Le <quote><command>-</command></quote> indique à <command>su</command> de
lancer un shell de connexion. La différence entre un shell de connexion et un
autre est décrite dans la page man <filename>bash(1)</filename>, et par
<command>info bash</command>.</para>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter04/aboutsbus.xml
0,0 → 1,44
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="prepare-aboutsbus">
<title>À propos des SBU</title>
<?dbhtml filename="aboutsbus.html"?>
 
<para>Beaucoup de personnes souhaitent savoir combien de temps la compilation
et l'installation de chaque paquet va prendre. Mais, Linux from Scratch est
construit sur tant de systèmes différents qu'il est impossible de donner des
temps universels. Le plus gros paquet (Glibc) prendra approximativement vingt
minutes sur les systèmes les plus rapides mais pourrait prendre jusqu'à trois
jours sur les moins rapides. Au lieu d'indiquer des temps en minutes, on les donnera en nombre d'unités
de standard de construction (<emphasis>Standard Build Unit</emphasis>).
</para>
 
<para>La mesure SBU fonctionne ainsi. Le premier paquet
que vous compilerez dans ce livre est Binutils, dans le <xref
linkend="chapter-temporary-tools"/>. Le temps que prend la compilation de ce
paquet est ce que nous appelerons <quote>SBU</quote>. Tous les autres temps
de compilation seront exprimés relativement à ce temps.</para>
 
<para>Par exemple, considérez un paquet dont le temps de compilation
est de 4,5&nbsp;SBU. Ceci signifie que s'il vous a fallu 10 minutes pour
compiler et installer la première passe de Binutils, alors vous aurez besoin d'
environ 45 minutes pour construire ce paquet. Heureusement, la plupart des
temps de construction sont bien plus courts que celui de Binutils.</para>
 
<para>En général, les SBU ne sont pas vraiment précis car ils dépendent de trop
de facteurs, dont la version de GCC que vous employez. Notez que les SBU
sont encore moins précis sur les machines multi-processeurs (SMP). Ils ne sont
qu'une estimation du temps nécessaire à l'installation d'un
paquetage, et la durée effective peut varier de plusieurs dizaines de minutes dans
certains cas.</para>
 
<para>Si vous souhaitez voir des durées réelles pour des machines
spécifiques, nous recommandons la page d'accueil de <quote>The LinuxFromScratch
SBU</quote> sur <ulink url="&lfs-root;~bdubbs/"/>.</para>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter04/abouttestsuites.xml
0,0 → 1,54
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="prepare-abouttestsuites">
<title>À propos des suites de tests</title>
<?dbhtml filename="abouttestsuites.html"?>
 
<para>La plupart des paquets disposent d'une suite de tests. Exécuter cette suite
de tests pour un paquet nouvellement construit est généralement une bonne idée
car cela confirme que tout a été compilé
correctement. Une suite de tests réussissant l'ensemble des vérifications prouve
généralement que le paquet fonctionne comme le développeur l'a désiré.
Néanmoins, cela ne garantit pas que le paquet ne contient pas
de bogues.</para>
 
<para>Certaines suites de tests sont plus importantes que d'autres. Par
exemple, les suites de tests des paquets formant le c&oelig;ur de la chaîne de
compilation (GCC, Binutils, et Glibc -la bibliothèque C- ) sont de la plus haute
importance étant donné leur rôle central dans un système fonctionnel. Les suites
de tests pour GCC et Glibc peuvent prendre beaucoup de temps pour se terminer,
spécialement sur du matériel lent, mais elles sont nécessaires.</para>
 
<note><para>L'expérience nous a montré qu'il y a peu à gagner en lançant ces
suites de tests au <xref linkend="chapter-temporary-tools"/>. Il n'est pas possible
de se soustraire à l'influence exercée par le système hôte lors des
tests de ce chapitre, occasionnant fréquemment des échecs étonnants et
inexplicables. Comme les outils construits dans le <xref
linkend="chapter-temporary-tools"/> sont temporaires et ultérieurement
supprimés, nous recommandons à l'utilisateur standard de ne pas
lancer les suites de tests dans ce chapître.
Les instructions pour lancer ces suites de test
sont fournies pour les testeurs et les développeurs mais elles sont réellement
optionnelles pour toutes les autres personnes.</para></note>
 
<para>Un problème courant lors de l'exécution des suites de test de
Binutils et GCC est de manquer de pseudo-terminaux (PTY). Le
symptôme est un nombre élevé de tests ayant échoués. Plusieurs causes sont
possibles, mais la plus raisonnable est que le
système hôte ne dispose pas d'un système de fichiers <systemitem
class="filesystem">devpts</systemitem> configuré correctement. Ce problème
est discuté plus en détails dans le <xref
linkend="chapter-temporary-tools"/>.</para>
 
<para>Quelques fois, les suites de test des paquets échoueront pour des
raisons dont les développeurs sont conscients mais qu'ils n'ont pas estimées critiques.
Consultez les traces situées sur <ulink url="&test-results;"/> pour vérifier si
ces échecs sont attendus. Ce site s'applique à tous les tests effectués dans
ce livre.</para>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter04/creatingtoolsdir.xml
0,0 → 1,46
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-creatingtoolsdir">
<title>Créer le répertoire $LFS/tools</title>
<?dbhtml filename="creatingtoolsdir.html"?>
 
<para>Tous les programmes compilés dans le <xref
linkend="chapter-temporary-tools"/> seront installés dans <filename
class="directory">$LFS/tools</filename> pour les séparer des programmes
compilés dans le <xref linkend="chapter-building-system"/>. Les programmes
compilés ici ne sont que des outils temporaires et ne prendront pas part
au système LFS final. En les plaçant dans un répertoire distinct, nous
pourrons facilement les supprimer plus tard. Ceci évite également qu'ils ne s'installent
dans l'arborescence de l'hôte (facile à
faire par accident dans le <xref linkend="chapter-temporary-tools"/>).</para>
 
<para>Créez ce répertoire en lançant la commande suivante
en tant qu'utilisateur <emphasis>root</emphasis>&nbsp;:</para>
 
<screen><userinput>mkdir -v $LFS/tools</userinput></screen>
 
<para>La prochaine étape consiste en la création du lien symbolique
<filename class="symlink">/tools</filename> sur votre système
<emphasis>hôte</emphasis>. Il pointera vers le répertoire que vous venez de
créer sur la partition LFS. Exécutez cette commande en tant
qu'utilisateur <emphasis>root</emphasis>&nbsp;:</para>
 
<screen><userinput>ln -sv $LFS/tools /</userinput></screen>
 
<note><para>La commande ci-dessus est correcte. La commande
<command>ln</command> a quelques variations syntaxiques, assurez-vous donc de
vérifier <command>info coreutils ln</command> et la page man
<filename>ln(1)</filename> avant de rapporter ce que vous pensez être une
erreur.</para></note>
 
<para>Le lien symbolique créé nous permet de compiler notre ensemble d'outils de
façon à ce qu'il se réfère toujours à <filename>/tools</filename>, ce qui signifie que le
compilateur, l'assembleur et l'éditeur de liens fonctionneront tous dans ce
chapitre (alors que nous utilisons toujours quelques outils provenant de l'hôte)
et dans le suivant (lorsque nous serons en <quote>chroot</quote> sur la
partition LFS).</para>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter04/settingenviron.xml
0,0 → 1,96
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-settingenviron">
<title>Configurer l'environnement</title>
<?dbhtml filename="settingenvironment.html"?>
 
<para>Définissez un bon environnement de travail en créant deux nouveaux
fichiers de démarrage pour le shell <command>bash</command>. En étant connecté
en tant qu'utilisateur <emphasis>lfs</emphasis>, lancez la commande suivante
pour créer un nouveau <filename>.bash_profile</filename>&nbsp;:</para>
 
<screen><userinput>cat &gt; ~/.bash_profile &lt;&lt; "EOF"
<literal>exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash</literal>
EOF</userinput></screen>
 
<para>Lorsque vous êtes connecté en tant que <emphasis>lfs</emphasis>, le shell
initial est habituellement un shell de <emphasis>connexion</emphasis> qui lit
le fichier <filename>/etc/profile</filename> de l'hôte (contenant probablement
quelques paramètrages et variables d'environnement), puis
<filename>.bash_profile</filename>. La commande <command>exec env
-i.../bin/bash</command> dans le fichier <filename>.bash_profile</filename>
remplace le shell en cours par un nouveau avec un environnement entièrement
vide, à l'exception des variables <envar>HOME</envar>, <envar>TERM</envar> et
<envar>PS1</envar>. Cette technique nous assure un environnement prore en empêchant
les variables d'environnement du système hôte de s'inviter dans le système LFS, au
risque d'y faire des dégats.</para>
 
<para>La nouvelle instance du shell est un shell <emphasis>sans
connexion</emphasis>, qui ne lit donc pas les fichiers
<filename>/etc/profile</filename> et <filename>.bash_profile</filename> mais
plutôt le fichier <filename>.bashrc</filename>. Créez le fichier
<filename>.bashrc</filename> maintenant&nbsp;:</para>
 
<screen><userinput>cat &gt; ~/.bashrc &lt;&lt; "EOF"
<literal>set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL PATH</literal>
EOF</userinput></screen>
 
<para>La commande <command>set +h</command> désactive la fonction de hachage de
<command>bash</command>. D'habitude, le hachage est une fonctionnalité utile que
<command>bash</command> utilise pour se souvenir du chemin d'accès
aux fichiers exécutables, évitant ainsi de reparcourir le
<envar>PATH</envar> quand un exécutable est lancé une seconde fois.
Cependant, nous voulons utiliser les nouveaux outils dès leur installation.
En désactivant la fonction de hachage, le shell parcourt le
<envar>PATH</envar> à chaque appel d'un programme. Ainsi, le shell
utilisera les nouveaux outils présents dans <filename
class="directory">$LFS/tools</filename> au fur et à mesure de leur apparition, au lieu de
réutiliser sans cesse les versions originales de ces programmes dont la fonction de hachage
garderait la trace.</para>
 
<para>Attribuer la valeur 022 au masque de création de fichier (umask) nous assure que
les nouveaux fichiers et répertoires créés ne seront modifiables que par
leurs propriétaires, mais lisibles et exécutables par tout le monde (en
supposant que les modes par défaut sont utilisés par l'appel système open(2),
les nouveaux fichiers finiront avec les droits 644 et les répertoires avec
les droits 755).</para>
 
<para>La variable <envar>LFS</envar> devrait pointer sur le point de
montage choisi.</para>
 
<para>La variable <envar>LC_ALL</envar> contrôle la localisation de certains
programmes, adaptant leurs messages aux conventions du pays
spécifié. Si le système hôte utilise une version de Glibc plus ancienne que la
2.2.4, avoir <envar>LC_ALL</envar> initialisée à quelque chose d'autre que
<quote>POSIX</quote> ou <quote>C</quote> (pendant ce chapitre) pourrait poser
des problèmes si vous quittez l'environnement chroot et souhaitez y retourner
plus tard. Initialiser <envar>LC_ALL</envar> à <quote>POSIX</quote> ou
<quote>C</quote> (les deux sont équivalents) nous assure que tout fonctionnera
comme prévu dans l'environnement chroot.</para>
 
<para>En plaçant <filename class="directory">/tools/bin</filename> au début du
<envar>PATH</envar> standard, tous les programmes installées dans <xref
linkend="chapter-temporary-tools"/> sont utilisés par le shell immédiatement
après leur installation. Ceci, combiné avec la désactivation du hachage, limite
le risque que d'anciens programmes de l'hôte soient utilisés alors que les mêmes
programmes sont disponibles depuis l'environnement du chapitre 5.</para>
 
<beginpage/>
 
<para>Enfin, pour terminer la préparation de l'environnement en vue de la
construction des outils temporaires, chargez le profil de
l'utilisateur tout juste créé&nbsp;:</para>
 
<screen><userinput>source ~/.bash_profile</userinput></screen>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter04/aboutlfs.xml
0,0 → 1,36
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="prepare-aboutlfs">
<title>À propos de $LFS</title>
<?dbhtml filename="aboutlfs.html"?>
 
<para>Tout au long de ce livre, la variable d'environnement <envar>LFS</envar>
sera utilisée de nombreuses fois. Il est vitale que cette variable soit toujours
définie. Elle doit pointer vers le point de montage choisi pour la partition
LFS. Vérifiez que votre variable <envar>LFS</envar> est correctement configurée
avec&nbsp;:</para>
 
<screen role="nodump"><userinput>echo $LFS</userinput></screen>
 
<para>Assurez-vous que le résultat soit bien le chemin vers le point de
montage de la partition LFS, c'est-à-dire <filename
class="directory">/mnt/lfs</filename> si l'exemple fourni a été suivi. Si
ce n'est pas le cas, vous pouvez initialiser la variable
avec&nbsp;:</para>
 
<screen role="nodump"><userinput>export LFS=/mnt/lfs</userinput></screen>
 
<para>Avoir cette variable initialisée est intéressant car des
commandes telles que <userinput>mkdir $LFS/tools</userinput> peuvent être
saisies litéralement. Votre shell remplacera <quote>$LFS</quote> par
<quote>/mnt/lfs</quote> (ou par ce que vous avez placez dans la
variable) lorsqu'il exécutera la ligne de commande.</para>
 
<para>N'oubliez pas de vérifier que <envar>$LFS</envar> est initialisé à chaque
fois que vous ré-entrez dans l'environnement de travail (par exemple, lorsque vous faites un <quote>su</quote>
vers <emphasis>root</emphasis> ou un autre utilisateur).</para>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter04/chapter04.xml
0,0 → 1,19
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<chapter id="chapter-final-preps" xreflabel="Chapitre 4">
<?dbhtml dir="chapter04"?>
<title>Dernières préparations</title>
<?dbhtml filename="chapter04.html"?>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="aboutlfs.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingtoolsdir.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="addinguser.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="settingenviron.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="aboutsbus.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="abouttestsuites.xml"/>
 
</chapter>
/tags/LFS-6_1_1/lfs/chapter03/introduction.xml
0,0 → 1,52
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="materials-introduction">
<title>Introduction</title>
<?dbhtml filename="introduction.html"?>
 
<para>Ce chapitre contient une liste de paquets à télécharger pour
construire un système Linux basique. Les versions indiquées sont celles
dont le bon fonctionnement à été vérifié, et le livre suppose
leur utilisation. Nous vous recommandons fortement de ne pas
utiliser de versions plus récentes, car les commandes de compilation
pourraient ne plus être adaptées, et ces versions pourraient poser des problèmes
nécessitant des solutions spécifiques.
Ces solutions sont développées et stabilisées dans la version de
développement du livre.</para>
 
<para>Les sites de téléchargements pourraient ne pas être toujours
accessibles. Si un site a changé depuis la publication
de ce livre, Google (<ulink url="http://www.google.com/"/>) se révèle être un outil de
recherche puissant pour la plupart des paquets. Si cette recherche n'a pas
de succès, essayez un autre moyen de téléchargement, dont il est question sur <ulink
url="&lfs-root;lfs/packages.html"><phrase condition ="pdf">&lfs-root;
lfs/packages.html</phrase></ulink>.</para>
 
<para>Les paquets et les correctifs téléchargés devraient être stockés dans
un endroit facilement accessible durant toute la construction. Un
répertoire de travail est aussi requis pour déballer les sources et pour la construction.
Le répertoire <filename class="directory">$LFS/sources</filename> peut être
utilisé à la fois comme emplacement de stockage pour les archives tar et
les correctifs, mais également comme répertoire de travail. En utilisant ce répertoire, les
éléments requis seront situés sur la partition LFS, et donc disponibles à
toutes les étapes du processus de construction.</para>
 
<para>Pour créer ce répertoire, exécutez en tant qu'utilisateur
<emphasis>root</emphasis> la commande suivante, avant de commencer la session de
téléchargement&nbsp;:</para>
 
<screen role="nodump"><userinput>mkdir -v $LFS/sources</userinput></screen>
 
<para>Rendez ce répertoire sticky et autorisez l'écriture.
<quote>Sticky</quote> signifie que même si plusieurs utilisateurs peuvent
écrire dans un répertoire, seul le propriétaire d'un fichier peut le supprimer.
La commande ci-dessous active les
droits d'écriture et sticky&nbsp;:</para>
 
<screen role="nodump"><userinput>chmod -v a+wt $LFS/sources</userinput></screen>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter03/patches.xml
0,0 → 1,213
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="materials-patches">
<title>Correctifs requis</title>
<?dbhtml filename="patches.html"?>
 
<para>En plus des paquets, quelques correctifs sont aussi requis. Ils
corrigent certaines erreurs contenues dans les paquets, qui seront plus tard
éradiquées par les mainteneurs. Certains apportent aussi quelques
modifications pour faciliter l'utilisation des paquets. Les correctifs suivants
seront nécessaires pour construire un système LFS&nbsp;:</para>
 
<variablelist role="materials">
 
<varlistentry>
<term>Bash Avoid Wcontinued Patch - 1&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&bash-avoid_WCONTINUED-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Bash Various Fixes - 23&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&bash-fixes-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Binutils Build From Host Running Gcc4 Patch - 2&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&binutils-gcc4-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Bzip2 Documentation Patch - 1&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&bzip2-docs-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Bzip2 Bzgrep Security Fixes Patch - 1&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&bzip2-bzgrep-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Coreutils Suppress Uptime, Kill, Su Patch - 15&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&coreutils-suppress-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Coreutils Uname Patch - 4&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&coreutils-uname-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Expect Spawn Patch - 7&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&expect-spawn-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Flex Brokenness Patch - 156&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&flex-fixes-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term> GCC Linkonce Patch - 12&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&gcc-linkonce-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>GCC No-Fixincludes Patch - 1&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&gcc-no_fixincludes-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>GCC Specs Patch - 14&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&gcc-specs-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Glibc Rtld Search Dirs Patch - 1&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&glibc-rtld-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Glibc Fix Testsuite Patch - 1&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&glibc-testfix-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Glibc TLS Assertion Patch - 6&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&glibc-tls_assert-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Gzip Security Patch - 2&nbsp;Ko&nbsp;:</term><listitem>
<para><ulink url="&patches-root;&gzip-security_fix-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Inetutils Kernel Headers Patch - 1&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&inetutils-kernel_headers-patch;"/></para>
<beginpage/>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Inetutils No-Server-Man-Pages Patch - 4&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&inetutils-man_pages-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Mktemp Tempfile Patch - 3&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&mktemp-tempfile-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Perl Libc Patch - 1&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&perl-libc-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Readline Fixes Patch - 7&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&readline-fixes-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Sysklogd Fixes Patch - 27&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&sysklogd-fixes-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Tar Sparse Fix Patch - 1&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&tar-sparse_fix-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Texinfo Tempfile Fix Patch - 2&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;&texinfo-tempfile_fix-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Util-linux Cramfs Patch - 3&nbsp;Ko&nbsp;:</term> <listitem>
<para><ulink url="&patches-root;&util-linux-cramfs-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Util-linux Umount Patch - 1&nbsp;Ko&nbsp;:</term> <listitem>
<para><ulink url="&patches-root;&util-linux-umount-patch;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Vim Security Patch - 8&nbsp;Ko&nbsp;:</term><listitem>
<para><ulink url="&patches-root;&vim-security_fix-patch;"/></para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>En plus des correctifs requis ci-dessus, il en existe un certain nombre
d'optionnels, créés par la communauté LFS. Ceux-ci résolvent des
problèmes mineurs ou activent des fonctionnalités qui ne sont pas
disponibles par défaut. Vous pouvez à loisir consulter la base de données des correctifs
sur <ulink url="&lfs-root;patches/"/> et récupérer ceux
correspondants aux besoins de votre système.</para>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter03/packages.xml
0,0 → 1,450
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="materials-packages">
<title>Tous les paquets</title>
<?dbhtml filename="packages.html"?>
 
<para>Téléchargez ou obtenez autrement les paquets suivants&nbsp;:</para>
 
<variablelist role="materials">
 
<varlistentry>
<term>Autoconf (&autoconf-version;) - 908&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;autoconf/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Automake (&automake-version;) - 748&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;automake/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Bash (&bash-version;) - 1 824&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;bash/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Bash Documentation (&bash-doc-version;) - 1 994&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;bash/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Binutils (&binutils-version;) - 11 056&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&kernel;linux/devel/binutils/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Bison (&bison-version;) - 916&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;bison/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Bzip2 (&bzip2-version;) - 596&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="http://www.bzip.org/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Coreutils (&coreutils-version;) - 4 184&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;coreutils/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>DejaGNU (&dejagnu-version;) - 852&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;dejagnu/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Diffutils (&diffutils-version;) - 648&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;diffutils/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>E2fsprogs (&e2fsprogs-version;) - 3 100&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&sourceforge;e2fsprogs/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Expect (&expect-version;) - 416&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="http://expect.nist.gov/src/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>File (&file-version;) - 324&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="ftp://ftp.gw.com/mirrors/pub/unix/file/"/></para>
<note><para>File (&file-version;) pourrait ne plus être disponible à l'emplacement
indiqué. Les administrateurs du site de téléchargement principal suppriment de
temps en temps les anciennes versions lorsque de nouvelles sont disponibles. Un
autre emplacement de téléchargement, susceptible de disposer de la bonne version,
est&nbsp;:<ulink
url="http://www.linuxfromscratch.org/lfs/download.html#ftp"/>.</para></note>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Findutils (&findutils-version;) - 784&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;findutils/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Flex (&flex-version;) - 672&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&sourceforge;lex/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Gawk (&gawk-version;) - 1 696&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;gawk/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>GCC (&gcc-version;) - 26 816&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;gcc/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Gettext (&gettext-version;) - 4 568&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;gettext/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Glibc (&glibc-version;) - 12 924&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;glibc/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Glibc-Linuxthreads (&glibc-version;) - 236&nbsp;Ko&nbsp;: </term>
<listitem>
<para><ulink url="&gnu;glibc/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Grep (&grep-version;) - 520&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;grep/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Groff (&groff-version;) - 2 096&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;groff/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>GRUB (&grub-version;) - 768&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&alpha-gnu;grub/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Gzip (&gzip-version;) - 284&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&alpha-gnu;gzip/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Hotplug (&hotplug-version;) - 40&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&kernel;linux/utils/kernel/hotplug/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Iana-Etc (&iana-etc-version;) - 176&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="http://www.sethwklein.net/projects/iana-etc/downloads/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Inetutils (&inetutils-version;) - 752&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;inetutils/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>IPRoute2 (&iproute2-version;) - 276&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="http://developer.osdl.org/dev/iproute2/download/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Kbd (&kbd-version;) - 624&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&kernel;linux/utils/kbd/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Less (&less-version;) - 216&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;less/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>LFS-Bootscripts (&lfs-bootscripts-version;) - 32&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="http://downloads.linuxfromscratch.org/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Libtool (&libtool-version;) - 1 604&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;libtool/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Linux (&linux-version;) - 35 792&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&kernel;linux/kernel/v&linux-dl-version;/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Linux-Libc-Headers (&linux-libc-headers-version;) - 2 476&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="http://ep09.pld-linux.org/~mmazur/linux-libc-headers/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>M4 (&m4-version;) - 304&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;m4/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Make (&make-version;) - 904&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;make/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Man (&man-version;) - 208&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&kernel;linux/utils/man/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Man-pages (&man-pages-version;) - 1 640&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&kernel;linux/docs/manpages/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Mktemp (&mktemp-version;) - 68&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="ftp://ftp.mktemp.org/pub/mktemp/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Module-Init-Tools (&module-init-tools-version;) - 128&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&kernel;linux/utils/kernel/module-init-tools/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Module-Init-Tools-Testsuite (&module-init-tools-version;) - 34&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&kernel;linux/utils/kernel/module-init-tools/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Ncurses (&ncurses-version;) - 1 556&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="ftp://invisible-island.net/ncurses/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Patch (&patch-version;) - 156&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;patch/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Perl (&perl-version;) - 9 628&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="http://ftp.funet.fi/pub/CPAN/src/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Procps (&procps-version;) - 224&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="http://procps.sourceforge.net/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Psmisc (&psmisc-version;) - 188&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&sourceforge;psmisc/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Readline (&readline-version;) - 1 456&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;readline/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Sed (&sed-version;) - 632&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;sed/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Shadow (&shadow-version;) - 1 084&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="ftp://ftp.pld.org.pl/software/shadow/"/></para>
<note><para>Shadow (&shadow-version;) pourrait ne plus être disponible à l'emplacement
indiqué. Les administrateurs du site de téléchargement principal suppriment de
temps en temps les anciennes versions lorsque de nouvelles sont disponibles. Un
autre emplacement de téléchargement, susceptible de disposer de la bonne version,
est&nbsp;:<ulink
url="http://www.linuxfromscratch.org/lfs/download.html#ftp"/>.</para></note>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Sysklogd (&sysklogd-version;) - 72&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="http://www.infodrom.org/projects/sysklogd/download/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Sysvinit (&sysvinit-version;) - 88&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Tar (&tar-version;) - 1 580&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;tar/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Tcl (&tcl-version;) - 2 748&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&sourceforge;tcl/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Texinfo (&texinfo-version;) - 1 492&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&gnu;texinfo/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Udev (&udev-version;) - 476&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&kernel;linux/utils/kernel/hotplug/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Udev Rules Configuration - 5&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="http://downloads.linuxfromscratch.org/&udev-config-file;"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Util-linux (&util-linux-version;) - 1 344&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&kernel;linux/utils/util-linux/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Vim (&vim-version;) - 3 620&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="ftp://ftp.vim.org/pub/vim/unix/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Fichiers de langue Vim (&vim-version;) (optionnel) - 540&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="ftp://ftp.vim.org/pub/vim/extra/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Zlib (&zlib-version;) - 415&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="http://www.zlib.net/"/></para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Taille totale de ces paquets&nbsp;: 146&nbsp;Mo</para>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter03/chapter03.xml
0,0 → 1,15
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<chapter id="chapter-getting-materials" xreflabel="Chapitre 3">
<?dbhtml dir="chapter03"?>
<title>Paquets et correctifs</title>
<?dbhtml filename="chapter03.html"?>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="packages.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="patches.xml"/>
 
</chapter>
/tags/LFS-6_1_1/lfs/prologue/organization.xml
0,0 → 1,44
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="pre-organization">
<title>Structure</title>
<?dbhtml filename="organization.html"?>
 
<para>Ce livre est divisé selon le découpage suivant&nbsp;:</para>
 
<sect2>
<title>Partie I - Introduction</title>
 
<para>La première partie donne quelques informations importantes sur le
déroulement de l'installation LFS. Cette section fournit aussi des
méta-informations sur le livre.</para>
 
</sect2>
 
<sect2>
<title>Partie II - Préparation de la construction</title>
 
<para>La deuxième partie décrit comment préparer le processus de
construction&nbsp;: création d'une partition, téléchargement des paquets et
compilation d'outils temporaires.</para>
 
</sect2>
 
<sect2>
<title>Partie III - Construction du système LFS</title>
 
<para>La troisième partie guide le lecteur dans la construction du système
LFS&nbsp;: compilation et installation de tous les paquets un par un,
paramétrage des scripts de démarrage et installation du noyau. Le système Linux
résultant est la fondation sur laquelle d'autres logiciels peuvent être
construits pour étendre le système de la façon désirée. À la fin du livre se
trouve une référence facile à utiliser et listant tous les programmes,
bibliothèques et fichiers importants qui ont été installés.</para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/prologue/prerequisites.xml
0,0 → 1,55
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="pre-prerequisites">
<title>Prérequis</title>
<?dbhtml filename="prerequisites.html"?>
 
<para>Construire un système LFS n'est pas une tâche simple. Cela requiert un
certain niveau de connaissance en administration de système Unix pour résoudre
les problèmes et exécuter correctement les commandes indiquées. En particulier,
le lecteur devrait au minimum savoir utiliser la ligne de commande (le shell)
pour copier et déplacer des fichiers et des répertoires, pour lister le contenu
de répertoires et de fichiers, et pour changer de répertoire. Le lecteur est
également supposé avoir une connaissance raisonnable de l'utilisation et
l'installation de logiciels Linux.</para>
 
<para>Comme le livre LFS attend <emphasis>au moins</emphasis> de vous ce niveau
de connaissance, il est peu probable que les différents forums de support LFS
vous fournissent une assistance sur ces questions de base&nbsp;; il est
possible que vos questions restent sans réponses, ou que vous soyez renvoyé à
la liste des lectures pre-LFS essentielles.</para>
 
<para>Avant de construire un système LFS, nous recommandons de lire les guides
pratiques suivants&nbsp;:</para>
 
<itemizedlist>
 
<listitem><para remap="verbatim">Software-Building-HOWTO <ulink url="http://www.tldp.org/HOWTO/Software-Building-HOWTO.html"/></para>
 
<para>C'est un guide complet sur la construction et l'installation de logiciels
Unix <quote>générique</quote> sous Linux.</para></listitem>
 
 
<listitem><para remap="verbatim">The Linux Users' Guide <ulink
url="http://www.linuxhq.com/guides/LUG/guide.html"/></para>
 
<para>Ce guide couvre l'utilisation de différents logiciels Linux.</para></listitem>
 
 
<listitem><para remap="verbatim">The Essential Pre-Reading Hint <ulink
url="&hints-root;essential_prereading.txt"/> (NdT&nbsp;:L'astuce essentielle à
lire avant tout</para>
 
<para>C'est une astuce LFS écrite spécifiquement pour les nouveaux utilisateurs
Linux. Elle comprend une liste de liens vers d'excellentes sources
d'information sur de nombreux thèmes. Toute personne désirant installer LFS
devrait connaître au moins basiquement la majorité des sujets qui y sont
abordés.</para></listitem>
 
</itemizedlist>
 
</sect1>
/tags/LFS-6_1_1/lfs/prologue/typography.xml
0,0 → 1,74
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="pre-typography">
<title>Typographie</title>
<?dbhtml filename="typography.html"?>
 
<para>Pour que les choses soient plus faciles à suivre, ce livre emploie
quelques conventions typographiques. Cette section contient des exemples des
formats typographiques rencontrés dans ce livre.</para>
 
<screen role="nodump"><userinput>./configure --prefix=/usr</userinput></screen>
 
<para>Le texte dans ce style doit être tapé sur votre ordinateur exactement
comme il apparaît dans le livre, sauf -rare- indication contraire. Ce style est
également employé dans les sections d'explications pour identifier la commande
dont on parle.</para>
 
<screen><computeroutput>install-info: unknown option '--dir-file=/mnt/lfs/usr/info/dir'</computeroutput></screen>
 
<para>Ce style de texte (texte à largeur fixe) symbolise une sortie d'écran,
probablement le résultat de commandes. Ce format est aussi utilisé pour écrire
les noms de fichiers, comme <filename>/etc/ld.so.conf</filename>.</para>
 
<para><emphasis>Emphase</emphasis></para>
 
<para>Les utilisations de ce style dans le livre sont variées, mais son but
principal est de préciser les points importants.</para>
 
<para><ulink url="&lfs-root;"/></para>
 
<para>Ce format est utilisé pour les liens, ceux de la communauté LFS et comme
ceux vers des pages externes. Cela inclut les guides pratiques, les
emplacements de téléchargement et des sites web.</para>
 
<screen role="nodump"><userinput>cat &gt; $LFS/etc/group &lt;&lt; "EOF"
<literal>root:x:0:
bin:x:1:
......</literal>
EOF</userinput></screen>
 
<para>Ce format est utilisé principalement lors de la création de fichiers de
configuration. La première commande indique au système de créer le fichier
<filename>$LFS/etc/group</filename> à partir de ce que contiennent les lignes
suivantes, jusqu'à la séquence de fin de fichier (EOF). Cette section est donc
généralement saisie exactement comme elle apparaît dans le livre.</para>
 
<para><replaceable>[TEXTE À REMPLACER]</replaceable></para>
 
<para>Ce style est appliqué à une portion de texte qui ne doit pas être saisie
telle quelle, ni copiée/collée.</para>
 
<para><filename>passwd(5)</filename></para>
 
<para>Ce format est utilisé pour faire référence à une page de manuel
spécifique (appelée ci-après simplement page <quote>man</quote>). Le nombre
entre parenthèses indique une section spécifique à l'intérieur de
<command>man</command>. Par exemple, <command>passwd</command> a deux pages man.
Avec les instructions d'installation de LFS, ces deux pages man seront situées
dans <filename>/usr/share/man/man1/passwd.1</filename> et
<filename>/usr/share/man/man5/passwd.5</filename>. Ces deux pages renferment
des informations différentes. Quand le livre utilise
<filename>passwd(5)</filename>, il fait spécifiquement référence à
<filename>/usr/share/man/man5/passwd.5</filename>. <command>man passwd</command>
affichera la première page man correspondant à <quote>passwd</quote> qu'il
trouvera, à priori <filename>/usr/share/man/man1/passwd.1</filename>. Dans cet
exemple, vous devrez exécuter <command>man 5 passwd</command> pour pouvoir lire
la page man(5). Notez que la plupart des pages man n'ont pas de noms de page
dupliqués dans différentes sections. Du coup, <command>man <replaceable>[nom
programme]</replaceable></command> est généralement suffisant.</para>
 
</sect1>
/tags/LFS-6_1_1/lfs/prologue/foreword.xml
0,0 → 1,72
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="pre-foreword">
<title>Avant-propos</title>
<?dbhtml filename="foreword.html"?>
 
<para>Mes aventures avec Linux ont commencé en 1998 lorsque j'ai téléchargé et
installé ma première distribution. Après avoir travaillé avec un bon moment,
j'ai découvert des problèmes que j'aurais vraiment aimé voir améliorer. Par
exemple, je n'aimais pas l'arrangement des scripts de démarrage ou la façon
dont les programmes étaient configurés par défaut. J'ai essayé un certain
nombre d'autres distributions pour corriger ces problèmes, mais chacune avait
ses avantages et ses inconvénients. Finalement, j'ai réalisé que si je voulais
avoir pleine satisfaction de mon système Linux, je devais créer le mien en
partant de rien.</para>
 
<para>Qu'est-ce que cela signifie&nbsp;? Je me suis résolu à ne pas utiliser de
paquets déjà compilés, quels qu'ils soient, et à ne pas utiliser de CD-ROM ou
de disques d'amorçage qui installerait les outils de base. J'utiliserais mon
système Linux actuel pour développer mon propre système personnalisé. Ce système
Linux <quote>parfait</quote> aurait alors la force des autres systèmes sans
avoir leurs faiblesses. Au début, l'idée était un peu écrasante mais je suis
resté convaincu qu'un système pourrait être construit pour se conformer à mes
besoins et désirs plutôt qu'à un standard qui ne correspondrait pas à ce que je
cherchais.</para>
 
<para>Après avoir résolu quelques problèmes comme des dépendances circulaires
et erreurs à la compilation, j'ai créé un système Linux personnalisé entièrement
opérationnel et convenant à des besoins individuels. Ce processus m'a aussi
permis de créer des systèmes Linux compacts et minimalistes, plus rapides et
moins encombrant que les systèmes d'exploitation traditionnels. J'ai appelé ce
système <quote>Linux From Scratch</quote> (Linux à partir de rien), ou LFS pour
faire court.</para>
 
<para>En partageant mes objectifs et mes expériences avec d'autres membres de
la communauté Linux, il est apparu qu'il y avait un réel intérêt pour les idées
que j'avais mises en avant lors de mes aventures Linux. Ces systèmes LFS
personnalisés permettent non seulement de répondre aux besoins des
utilisateurs, mais sont aussi une excellente opportunité pour les programmeurs
et les administrateurs système qui souhaitent améliorer leurs connaissances
sous Linux. De cet intérêt est né le projet <quote>Linux From
Scratch</quote>.</para>
 
<para>Le livre <quote><emphasis>Linux From Scratch</emphasis></quote> fournit
aux lecteurs les informations et les instructions pour concevoir et créer des
systèmes Linux personnalisés. Ce livre met en lumière le projet Linux from
Scratch et les bénéfices de l'utilisation de ce système. Les utilisateurs
peuvent contrôler tous les aspects de leur système, ceci incluant la
répartition des répertoires, la configuration des scripts et la sécurité. Le
système résultant sera compilé directement à partir du code source et
l'utilisateur pourra choisir spécifier où, pourquoi et comment les programmes
sont installés. Ce livre permet aux lecteurs de personnaliser complètement les
systèmes Linux suivant leurs besoins et d'avoir plus de contrôle sur leur
système.</para>
 
<para>J'espère que vous passerez un bon moment en travaillant sur votre
propre système LFS et que vous apprécierez les nombreux bénéfices qu'apporte un
système qui est réellement <emphasis>le vôtre</emphasis>.</para>
 
<para></para>
 
<literallayout>--
Gerard Beekmans
gerard@linuxfromscratch.org
</literallayout>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/prologue/hostreqs.xml
0,0 → 1,45
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-hostreqs">
<title>Système hôte requis</title>
<?dbhtml filename="hostreqs.html"?>
 
<para>L'hôte doit utiliser au minimum un noyau 2.6.2 compilé avec GCC-3.0 ou
ultérieur. Il y a deux raisons majeures à cela. D'abord, la suite de tests
NPTL (<foreignphrase>Native POSIX Threading Library</foreignphrase>) causera
une erreur de segmentation si le noyau de l'hôte n'a pas été compilé avec
GCC-3.0 ou ultérieur. Ensuite, la version 2.6.2 ou ultérieure du noyau est
nécessaire pour utiliser Udev. Udev crée les périphériques dynamiquement en les
découvrant dans le système de fichiers <systemitem
class="filesystem">sysfs</systemitem> qui n'a été intégré que récemment dans la
plupart des pilotes du noyau. Nous voulons être sûrs que tous les périphériques
système critiques seront correctement créés.</para>
 
<para>Pour vérifier si le noyau de l'hôte répond bien aux prérequis indiqués
ci-dessus, lancez la commande suivante&nbsp;:</para>
 
<screen role="nodump"><userinput>cat /proc/version</userinput></screen>
 
<para>Elle devrait produire une sortie semblable à ceci&nbsp;:</para>
 
<screen><computeroutput>Linux version 2.6.2 (user@host) (gcc version 3.4.0) #1
Tue Apr 20 21:22:18 GMT 2004</computeroutput></screen>
 
<para>Si le résultat de la commande ci-dessus indique que le noyau de l'hôte
n'est pas un 2.6.2 (ou ultérieur) ou qu'il n'a pas été compilé avec GCC-3.0 (ou
ultérieur), vous devez installer un noyau adéquat. Il existe deux méthodes pour
ceci. Tout d'abord, regardez si votre distribution Linux fournit un noyau 2.6.2
(ou ultérieur). Dans ce cas, vous pouvez l'installer. Si ce n'est pas le cas ou
si vous préférez ne pas l'installer, vous pouvez compiler un noyau 2.6
vous-même. Les instructions de compilation d'un noyau et de configuration du
chargeur de démarrage (en supposant que l'hôte utilise GRUB) sont situées dans
<xref linkend="chapter-bootable"/>. La deuxième option peut aussi être vue
comme un test de vos connaissances Linux. Si cette étape vous semble trop
compliquée, alors le livre LFS ne vous sera probablement pas d'une grande
utilité actuellement.</para>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/prologue/audience.xml
0,0 → 1,89
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="pre-audience">
<title>Public visé</title>
<?dbhtml filename="audience.html"?>
 
<para>Beaucoup de raisons peuvent vous pousser à lire ce livre, la principale
étant de vouloir installer un système Linux à partir du code source. La
question qui vient alors à l'esprit est <quote>pourquoi se fatiguer à créer à
la main un système Linux en partant de rien, alors qu'il suffit de télécharger
une distribution existante ?</quote> C'est une bonne question, suffisamment
bonne pour justifier cette section du livre, en fait.</para>
 
<para>Une des raisons d'être de LFS est d'aider à comprendre de l'intérieur
comment fonctionne un système Linux. Construire un système LFS vous montre ce
qui "fait tourner Linux", et comment les choses interagissent et s'imbriquent
les unes dans les autres. Plus important, vous apprenez à le personnaliser afin
qu'il soit à votre goût, et réponde à vos besoins.</para>
 
<para>Un avantage majeur de LFS est de permettre à l'utilisateur plus de
contrôle sur son système, sans avoir à dépendre de l'implémentation créée par
un autre. Avec LFS, <emphasis>vous</emphasis> êtes le pilote et
<emphasis>vous</emphasis> décidez de chaque aspect de votre système, de
l'organisation des répertoires à la configuration des scripts de démarrage.
Vous choisissez également où, pourquoi et comment les programmes sont
installés.</para>
 
<para>Un autre intérêt de LFS est la possibilité de créer un système Linux très
compact. Avec une distribution classique, vous installerez souvent beaucoup de
programmes qui ne seront jamais utilisés. Ces programmes gaspillent de l'espace
disque, et pire, parfois même du temps CPU. Il n'est pas difficile de construire
un système LFS de moins de 100&nbsp;Mo, ce qui est très petit comparé à la
majorité des distributions existantes. Cela vous semble encore trop&nbsp;?
Certains d'entre nous ont travaillé à créer un système LFS minuscule, et nous
avons pu installer un système spécialisé pour faire fonctionner le serveur web
Apache sur 8&nbsp;Mo d'espace disque. Avec plus de dépouillement encore, on
peut se contenter de 5&nbsp;Mo, voire moins. Essayez donc d'en faire autant
avec une distribution courante&nbsp;! Et ce n'est que l'un des avantages à
concevoir votre propre système Linux.</para>
 
<para>Une distribution Linux classique, c'est un peu le hamburger que vous
achetez au restaurant fast-food&nbsp;: pratique, mais vous n'avez aucune idée
de ce qu'il y a dedans. LFS ne vous donne pas de hamburger, mais la recette
pour en faire un, vous permettant au passage de l'inspecter, d'enlever les
ingrédients non désirés, et de rajouter ce qui, à votre goût, manque. Une fois
satisfait par la recette, aiguisez les couteaux et combinez tout ce petit
monde. Vous avez même la chance de pouvoir le cuire comme vous le
souhaitez&nbsp;: faites-le griller, frire, au four, au barbecue, ou mangez-le
cru.</para>
 
<para>Une seconde analogie possible est de comparer LFS à une maison
construite. LFS fournit les plans de la maison, mais c'est à vous de la
construire. LFS vous donne la liberté d'ajuster les plans pendant tout le
processus, les personnalisant suivant les besoins et préférences des
utilisateurs.</para>
 
<para>Vous êtes concerné par la sécurité de votre système ? LFS vous apporte un
surcroît de sécurité. En compilant le système complet à partir des sources,
vous pouvez tout vérifier si vous le voulez, et appliquer tous les correctifs de
sécurité désirés. Il n'est plus nécessaire d'attendre que quelqu'un d'autre
vous fournisse un paquet réparant une faille de sécurité. A moins d'examiner et
d'implémenter vous-même le correctif, vous n'avez même pas la garantie que ce
nouveau paquet résolve le problème de manière adéquate.</para>
 
<para>Comme il a déjà été dit, le but de Linux From Scratch est de construire
un système-fondation complet et utilisable. Si vous ne souhaitez pas construire
un système complet, vous pourriez ne pas bénéficier de toutes les informations
contenues dans ce livre. Si vous voulez seulement savoir ce qui se passe
pendant le démarrage de l'ordinateur, nous vous recommandons le guide pratique
<quote>De la mise sous tension à l'invite de commande de Bash</quote>,
disponible sur <ulink
url="http://www.traduc.org/docs/HOWTO/lecture/From-PowerUp-To-Bash-Prompt-HOWTO.html"/>
ou, en anglais, sur le site du projet de documentation Linux (TLDP) <ulink url="http://www.tldp.org/HOWTO/From-PowerUp-To-Bash-Prompt-HOWTO.html"/>. Ce
guide propose la construction d'un système similaire à celui de ce livre, mais
se limite à la création d'un système capable de démarrer jusqu'à l'invite du
BASH. Tout dépend de votre objectif. Si vous souhaitez construire un système
Linux tout en apprenant, alors ce livre est votre meilleur choix
possible.</para>
 
<para>Il existe trop de bonnes raisons de construire votre système LFS pour
toutes les lister ici. Cette section n'aborde que la partie visible de
l'iceberg. En progressant dans votre expérience de LFS, vous verrez la
puissance que donnent l'information et la connaissance.</para>
 
</sect1>
/tags/LFS-6_1_1/lfs/prologue/errata.xml
0,0 → 1,20
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="pre-errata">
<title>Errata</title>
<?dbhtml filename="errata.html"?>
 
<para>Les logiciels utilisés pour créer un système LFS sont constamment mis à
jour et améliorés, mais les découvertes de failles de sécurité et les
corrections de bogues peuvent survenir après la sortie du livre LFS. Pour
vérifier si les paquetages ou instructions de cette version de LFS ont besoin
de modifications pour corriger ces bogues, merci de visiter <ulink
url="&errata;"/> avant de vous lancer. Vous devriez noter toutes les
modifications proposées et les appliquer pendant la construction du système
LFS.</para>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/prologue/preface.xml
0,0 → 1,19
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<preface id="preface">
<?dbhtml dir="prologue"?>
<title>Préface</title>
<?dbhtml filename="preface.html"?>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="foreword.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="audience.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="prerequisites.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="hostreqs.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="typography.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="organization.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="errata.xml"/>
 
</preface>
/tags/LFS-6_1_1/lfs/prologue/bookinfo.xml
0,0 → 1,60
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<bookinfo>
<title>Linux From Scratch</title>
<subtitle>Version &version;</subtitle>
 
 
<authorgroup>
<author><firstname>Gerard</firstname><surname>Beekmans</surname></author>
</authorgroup>
 
 
<copyright id="copyright">
<year>1999&ndash;2005</year>
<holder>Gerard Beekmans</holder>
</copyright>
 
<legalnotice>
<para>Copyright (c) 1999&ndash;2005, Gerard Beekmans</para>
 
<para>All rights reserved.</para>
 
<para>Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:</para>
 
<itemizedlist>
 
<listitem><para>Redistributions in any form must retain the above copyright
notice, this list of conditions and the following disclaimer</para></listitem>
 
<listitem><para>Neither the name of <quote>Linux From Scratch</quote> nor the
names of its contributors may be used to endorse or promote products derived
from this material without specific prior written permission</para></listitem>
 
<listitem><para>Any material derived from Linux From Scratch must contain
a reference to the <quote>Linux From Scratch</quote> project</para></listitem>
 
</itemizedlist>
 
<para>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
<quote>AS
IS</quote> AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</para>
</legalnotice>
 
</bookinfo>
 
/tags/LFS-6_1_1/lfs/prologue/dedication.xml
0,0 → 1,9
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE dedication PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<dedication>
<title>Dédicace</title>
<para>Ce livre est dédié</para>
</dedication>
/tags/LFS-6_1_1/lfs/chapter02/mounting.xml
0,0 → 1,54
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="space-mounting">
<title>Monter la nouvelle partition</title>
<?dbhtml filename="mounting.html"?>
 
<para>Maintenant qu'un système de fichiers a été créé, la partition doit être
accessible. Pour cela, la partition a besoin d'être montée sur un point de
montage choisi. Dans ce livre, il est supposé que le système de fichiers est
monté sous <filename class="directory">/mnt/lfs</filename>, mais le choix du
répertoire vous appartient.</para>
 
<para>Choisissez un point de montage et affectez-le à la variable
d'environnement <envar>LFS</envar> en entrant&nbsp;:</para>
 
<screen role="nodump"><userinput>export LFS=/mnt/lfs</userinput></screen>
 
<para>Maintenant, créez le point de montage et montez le système de fichiers
LFS en lançant&nbsp;:</para>
 
<screen role="nodump"><userinput>mkdir -pv $LFS
mount /dev/<replaceable>[xxx]</replaceable> $LFS</userinput></screen>
 
<para>Remplacez <replaceable>[xxx]</replaceable> par le nom de la
partition LFS.</para>
 
<para>Si vous utilisez plusieurs partitions pour LFS (c'est-à-dire une pour
<filename class="directory">/</filename> et une autre pour <filename
class="directory">/usr</filename>), montez-les en utilisant&nbsp;:</para>
 
<screen role="nodump"><userinput>mkdir -pv $LFS
mount -v /dev/<replaceable>[xxx]</replaceable> $LFS
mkdir -v $LFS/usr
mount -v /dev/<replaceable>[yyy]</replaceable> $LFS/usr</userinput></screen>
 
<para>Remplacez <replaceable>[xxx]</replaceable> et
<replaceable>[yyy]</replaceable> par les noms de partition appropriés.</para>
 
<para>Assurez-vous que cette nouvelle partition n'est pas montée avec des
droits trop restrictifs (telles que les options nosuid, nodev ou noatime).
Lancez la commande <command>mount</command> sans aucun paramètre pour voir les
options configurées pour la partition LFS montée. Si
<parameter>nosuid</parameter>, <parameter>nodev</parameter> et/ou
<parameter>noatime</parameter> sont configurées, la partition devra être
remontée sans ces options.</para>
 
<para>Maintenant que nous avons établi un endroit pour travailler, il est temps
de télécharger ces paquets.</para>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter02/creatingfilesystem.xml
0,0 → 1,69
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="space-creatingfilesystem">
<title>Créer un système de fichiers sur la partition</title>
<?dbhtml filename="creatingfilesystem.html"?>
 
<para>Maintenant qu'une partition vierge est prête, le système de fichiers peut
être créé. Le système le plus communément utilisé dans le monde Linux est le
système de fichiers étendu, deuxième version, (plus connu sous son acronyme,
ext2), mais avec les nouveaux disques haute capacité, les systèmes de fichiers
journalisés deviennent de plus en plus populaires. Nous créerons un système de
fichiers ext2. Des instructions pour l'installation d'autres systèmes de fichiers
sont disponibles sur <ulink url="&blfs-root;view/svn/postlfs/filesystems.html"><phrase
condition="pdf">&blfs-root;view/svn/ postlfs/filesystems.html</phrase></ulink>.</para>
 
<para>Pour créer un système de fichiers ext2 sur la partition LFS, exécutez ce
qui suit&nbsp;:</para>
 
<screen role="nodump"><userinput>mke2fs -v /dev/<replaceable>[xxx]</replaceable></userinput></screen>
 
<para>Remplacez <replaceable>[xxx]</replaceable> par le nom de la partition LFS
(<filename class="devicefile">hda5</filename> dans notre exemple
précédent).</para>
 
<note><para>Quelques distributions hôtes utilisent un outil de création de
systèmes de fichiers (e2fsprogs) offrant des fonctionnalités spécifiques.
Ceci peut poser des problèmes lors du démarrage sur votre nouveau LFS au
chapitre 9, car toutes ces fonctionnalités ne seront pas supportées par l'e2fsprogs
installé par LFS&nbsp; vous obtiendriez une erreur semblable à&nbsp;
<quote>unsupported filesystem features, upgrade your e2fsprogs</quote>. Pour
vérifier si votre système hôte utilise des fonctionnalités spécifiques, utilisez
la commande suivante&nbsp;:</para>
 
<screen role="nodump"><userinput>debugfs -R feature /dev/<replaceable>[xxx]</replaceable></userinput></screen>
 
<para>Si la sortie contient des fonctionnalités autres que dir_index, filetype,
large_file, resize_inode ou sparse_super, alors votre système hôte pourrait avoir
des fonctionnalités spécifiques. Dans ce cas, pour éviter tout problème ultérieur,
vous devez compiler le paquetage e2fsprogs standard et utiliser les binaires résultant de
cette compilation pour re-créer le système de fichiers sur votre partition
LFS&nbsp;:</para>
 
<screen role="nodump"><userinput>cd /tmp
tar -xjvf /path/to/sources/e2fsprogs-&e2fsprogs-version;.tar.bz2
cd e2fsprogs-&e2fsprogs-version;
mkdir -v build
cd build
../configure
make # notez que nous n'exécutons pas 'make install' ici
# de façon intentionnelle !
./misc/mke2fs -v /dev/<replaceable>[xxx]</replaceable>
cd /tmp
rm -rfv e2fsprogs-&e2fsprogs-version;</userinput></screen>
</note>
 
<para>Si une partition de swap a été créée, elle devra être initialisée avant de
pouvoir être utilisée, en exécutant la commande ci-dessous. Si vous utilisez déjà
une partition de swap, il n'est pas nécessaire de la reformater.</para>
 
<screen role="nodump"><userinput>mkswap -v /dev/<replaceable>[yyy]</replaceable></userinput></screen>
 
<para>Remplacez <replaceable>[yyy]</replaceable> par le nom de la partition de
swap.</para>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter02/creatingpartition.xml
0,0 → 1,56
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="space-creatingpartition">
<title>Créer une nouvelle partition</title>
<?dbhtml filename="creatingpartition.html"?>
 
<para>Comme la plupart des autres systèmes d'exploitation, LFS est habituellement
installé sur une partition dédiée. Pour la construction d'un système LFS, nous
vous recommandons d'utiliser une partition vide disponible ou, si vous avez assez
d'espace non partitionné, d'en créer une. Néanmoins, un système LFS (en fait,
même plusieurs systèmes LFS) peut aussi être installé sur une partition déjà
occupée par un autre système d'exploitation. Les différents systèmes cohabiteront
en paix. Le document
<ulink url="&hints-root;lfs_next_to_existing_systems.txt"><phrase
condition="pdf">&hints-root;lfs_next_to_existing_ systems.txt</phrase></ulink>
explique comment implémenter ceci, alors que ce livre ne décrit que
l'installation sur une partition vierge.</para>
 
<para>Un système minimal requiert une partition d'environ 1,3&nbsp;Go. C'est
suffisant pour conserver toutes les archives tar des sources et pour compiler
tous les paquets. Néanmoins, si le système LFS doit être votre système
Linux principal, d'autres logiciels seront probablement installés et
réclameront de l'espace disque supplémentaire (estimation très
grossière&nbsp;: 2 à 3&nbsp;Go). Le système LFS en lui-même n'utilise pas
tout cet espace, une grande partie est requise pour fournir un espace
temporaire. Compiler des paquets peut en effet demander momentanément
beaucoup d'espace disque, qui sera récupéré après l'installation du paquet.</para>
 
<para>Parce qu'il n'y a pas toujours assez de mémoire (RAM) disponible pour
les processus de compilation, une bonne idée est d'utiliser une petite
partition comme espace d'échange (swap). Cet espace est utilisé par le
noyau pour stocker des données rarement utilisées et pour laisser plus de
place disponible aux processus actifs. La partition d'échange du système LFS
peut être la même que celle du système hôte, donc inutile d'en créer une
nouvelle si votre système hôte en possède déjà une.</para>
 
<para>Lancez un programme de partitionnement de disque tel que
<command>cfdisk</command> ou <command>fdisk</command> avec une option en ligne
de commande indiquant le disque dur sur lequel la nouvelle partition sera
créée&mdash;par exemple <filename class="devicefile">/dev/hda</filename> pour
le premier disque IDE. Créez une partition Linux native et, si nécessaire, une partition
de swap. Merci de vous référer aux pages man <command>cfdisk(8)</command> ou
<command>fdisk(8)</command> si vous ne savez pas utiliser ces
programmes.</para>
 
<para>Souvenez-vous de la désignation de la nouvelle partition (c'est-à-dire
<filename class="devicefile">hda5</filename>). Ce livre y fera référence en
tant que partition LFS. Souvenez-vous aussi de la désignation de la
partition swap. Ces noms seront nécessaires plus tard pour créer le fichier
<filename>/etc/fstab</filename>.</para>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter02/introduction.xml
0,0 → 1,14
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="space-introduction">
<title>Introduction</title>
<?dbhtml filename="introduction.html"?>
 
<para>Dans ce chapitre, la partition qui contiendra le système LFS est
préparée. Nous créerons la partition elle-même, lui ajouterons un système de
fichiers et nous la monterons.</para>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter02/chapter02.xml
0,0 → 1,24
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<chapter id="chapter-partitioning" xreflabel="Chapitre 2">
<?dbhtml dir="chapter02"?>
<title>Préparer une nouvelle partition</title>
<?dbhtml filename="chapter02.html"?>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingpartition.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingfilesystem.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mounting.xml"/>
 
 
</chapter>
/tags/LFS-6_1_1/lfs/README
0,0 → 1,31
Lisez-moi (livre LFS)
 
Ce document décrit la marche à suivre pour convertir le source XML du livre
en d'autres formats (par exemple en HTML, PDF, PS ou TXT). Merci de lire
avant tout le fichier INSTALL, qui décrit l'installation des différents
logiciels requis. Si vous avez suivi ses instructions, vous trouverez ici
des exemples directement utilisables pour convertir ces fichiers en d'autres
formats.
 
XML vers XHTML :
----------------
 
make BASEDIR=/path/to/output/location
 
 
XML vers single file XHTML (nochunks) :
---------------------------------------
make BASEDIR=/path/to/output/location nochunks
 
 
XML vers TXT :
--------------
Suivez les instructions pour XHTML (nochunks), puis :
lynx -dump /path/to/nochunks >/path/to/output
 
 
XML vers PDF :
--------------
 
make pdf &&
cp lfs.pdf /path/to/output/location
/tags/LFS-6_1_1/lfs/INSTALL
0,0 → 1,48
Instructions d'installation des outils pour la conversion du livre LFS.
 
Après avoir téléchargé les sources du SVN, vous devez installer et configurer
certaines éléments si vous souhaitez convertir les sources XML en quelque
chose de plus facile à lire (par exemple du HTML, TXT ou PDF). Si cela vous
intéresse, continuez votre lecture. Si vous souhaitez seulement éditer les
sources XML pour une nouvelle soumission sur les listes de diffusion lfs-book
ou lfs-dev, vous n'avez pas besoin de ce document. À la place, vous
devriez lire le manuel des éditeurs LFS. Voir le site web LFS sur
http://www.linuxfromscratch.org pour plus d'informations.
 
-------------------------------------------------------------------------------
 
Si vous souhaitez seulement convertir le XML en HTML, installez ce qui suit :
 
* libxml2
- http://www.linuxfromscratch.org/blfs/view/svn/general/libxml2.html
 
* libxslt
- http://www.linuxfromscratch.org/blfs/view/svn/general/libxslt.html
 
* DocBook DTD
- http://www.linuxfromscratch.org/blfs/view/svn/pst/xml.html
 
* DocBook XSL Stylesheets
- http://www.linuxfromscratch.org/blfs/view/svn/pst/docbook-xsl.html
 
* HTMLTidy
- http://www.linuxfromscratch.org/blfs/view/svn/general/tidy.html
 
-------------------------------------------------------------------------------
 
Si vous souhaitez convertir le XML en TXT, installez les éléments précédents
puis celui-ci :
 
* lynx
- http://www.linuxfromscratch.org/blfs/view/svn/basicnet/lynx.html
 
-------------------------------------------------------------------------------
 
Si vous souhaitez convertir le XML en PDF, installez les éléments précédents
(à l'exception de lynx) puis les suivants :
 
* JDK
- http://www.linuxfromscratch.org/blfs/view/svn/general/jdk.html
 
* FOP and JAI
- http://www.linuxfromscratch.org/blfs/view/svn/pst/fop.html
/tags/LFS-6_1_1/lfs/chapter08/kernel.xml
0,0 → 1,222
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-bootable-kernel" role="wrap">
<title>Linux-&linux-version;</title>
<?dbhtml filename="kernel.html"?>
 
<indexterm zone="ch-bootable-kernel"><primary
sortas="a-Linux">Linux</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Linux contient le noyau Linux.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>4,20&nbsp;SBU</seg>
<seg>181&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Findutils,
GCC, Glibc, Grep, Gzip, Make, Modutils, Perl et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation du noyau</title>
 
<para>Construire le noyau implique un certain nombre d'étapes&nbsp;:
configuration, compilation et installation. Lisez le fichier
<filename>README</filename> contenu dans les sources du noyau pour d'autres
méthodes.</para>
 
<para>Préparez la compilation en lançant la commande suivante&nbsp;:</para>
 
<screen><userinput>make mrproper</userinput></screen>
 
<para>Ceci nous assure que le répertoire du noyau est complètement nettoyé.
L'équipe du noyau recommande que cette commande soit lancée avant chaque
compilation du noyau. Vous ne devez pas penser que le répertoire des sources
est propre juste après avoir été déballé.</para>
 
<para>S'il a été décidé dans <xref linkend="ch-scripts-console" role=","/> de
compiler le plan de codage dans le noyau, lancez la commande ci-dessous&nbsp;:</para>
 
<screen role="nodump"><userinput>loadkeys -m /usr/share/kbd/keymaps/<replaceable>[path to keymap]</replaceable> &gt; \
drivers/char/defkeymap.c</userinput></screen>
 
<para>Par exemple, pour utiliser un clavier hollandais, utilisez
<filename>/usr/share/kbd/keymaps/i386/qwerty/nl.map.gz</filename>.</para>
 
<para>Configurez le noyau via une interface par menu. BLFS a quelques
informations concernant les besoins particuliers du noyau en terme de
configuration pour les paquetages en dehors de LFS sur <ulink
url="&blfs-root;view/svn/longindex.html#kernel-config-index"><phrase
condition="pdf">&blfs-root;view/svn/longindex.html#kernel-config-index</phrase></ulink>&nbsp;:</para>
 
<screen role="nodump"><userinput>make menuconfig</userinput></screen>
 
<para>Sinon, <command>make oldconfig</command> peut être plus approprié dans
certaines situations. Voir le fichier <filename>README</filename> pour plus
d'informations.</para>
 
<para>Si désiré, passez la configuration du noyau en copiant le fichier de
configuration, <filename>.config</filename>, à partir du système hôte
(en supposant qu'il est disponible) dans le répertoire <filename
class="directory">linux-&linux-version;</filename> tout juste déballé.
Néanmoins, nous ne recommandons pas cette option. Il est souvent mieux
d'explorer tous les menus de configuration et de créer la configuration du
noyau à partir de rien.</para>
 
<note><para>NPTL requiert que le noyau soit compilé avec GCC 3.x ou ultérieur,
dans ce cas &gcc-version;. Il n'est pas recommandé de compiler le noyau avec
GCC-2.95.x car ceci est la cause d'échec dans la suite de tests de Glibc.
Normalement, ceci ne devrait pas être mentionné car LFS ne construit pas
GCC-2.95.x. Malheureusement, la documentation du noyau est obsolète et indique
toujours que GCC-2.95.3 est le compilateur recommandé.</para></note>
 
<beginpage/>
 
<para>Compilez l'image du noyau et les modules&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Si vous utilisez des modules avec le noyau, un fichier
<filename>/etc/modprobe.conf</filename> pourrait être nécessaire. Les
informations concernant les modules et la configuration du noyau sont situées
dans la documentation du noyau disponible dans le répertoire <filename
class="directory">linux-&linux-version;/Documentation</filename>. De plus,
la page man <filename>modprobe.conf(5)</filename> pourrait aussi avoir de
l'intérêt.</para>
 
<para>Faites attention lors de la lecture d'autres documentations relatives aux
modules du noyau parce qu'elles s'appliquent généralement seulement aux noyaux
2.4.x. D'après nos connaissances, les problèmes spécifiques de configuration
du noyau pour Hotplug (le montage à chaud) et Udev se sont pas documentés. Le
problème est que Udev créera un n&oelig;ud de périphérique seulement si Hotplug
ou un script écrit par l'utilisateur insère le module correspondant dans le
noyau et tous les modules ne sont pas détectables par Hotplug. Notez que les
instructions comme celle ci-dessous, compris dans le fichier
<filename>/etc/modprobe.conf</filename>, ne fonctionnent pas avec Udev&nbsp;:</para>
 
<para><screen>alias char-major-XXX un-module</screen></para>
 
<para>À cause des complications avec Hotplug, Udev et les modules, nous
recommandons fortement de commencer avec une configuration complètement non
modulaire du noyau, spécialement si c'est la première fois que vous utilisez
Udev.</para>
 
<para>Installez les modules si la configuration du noyau les utilise&nbsp;:</para>
 
<screen><userinput>make modules_install</userinput></screen>
 
<para>Une fois la compilation du noyau terminée, des étapes supplémentaires
sont requises pour terminer l'installation. Certains fichiers ont besoin d'être
copiés dans le répertoire <filename class="directory">/boot</filename>.</para>
 
<para>Le chemin vers l'image du noyau pourrait varier suivant la plateforme
d'utilisation. La commande suivante suppose qu'elle se trouve sur une
architecture x86&nbsp;:</para>
 
<screen><userinput>cp -v arch/i386/boot/bzImage /boot/lfskernel-&linux-version;</userinput></screen>
 
<para><filename>System.map</filename> est un fichier de symboles pour le noyau.
Il cartographie les points d'entrées de chaque fonction dans l'API du noyau,
ainsi que les adresses des structures de données du noyau pour le noyau en cours
d'exécution. Lancez la commande suivante pour installer le fichier carte&nbsp;:</para>
 
<screen><userinput>cp -v System.map /boot/System.map-&linux-version;</userinput></screen>
 
<para>Le fichier de configuration du noyau <filename>.config</filename> produit
à l'étape <command>make menuconfig</command> ci-dessus contient toutes les
sélections de configuration pour le noyau tout juste compilé. Conserver ce fichier
est une bonne idée pour pouvoir s'y référer plus tard&nbsp;:</para>
 
<screen><userinput>cp -v .config /boot/config-&linux-version;</userinput></screen>
 
<beginpage/>
 
<para>Il est important de noter que les fichiers du répertoire des sources du
noyau n'appartiennent pas à <emphasis>root</emphasis>. À chaque fois qu'un
paquet est déballé par l'utilisateur <emphasis>root</emphasis> (comme nous
l'avons fait à l'intérieur du chroot), les fichiers conservent les identifieurs
utilisateur et groupe de celui qui a préparé le paquet. Ceci n'est habituellement
pas un problème pour tout autre paquet installé car le répertoire des sources
est supprimé après installation. Néanmoins, le répertoire des sources de Linux
est souvent conservé assez lontemps. À cause de cela, il existe une chance pour
que l'identifieur utilisateur soit affecté à quelqu'un sur la machine. Cette
personne aurait alors les droits d'écriture sur les sources du noyau.</para>
 
<para>Si le répertoire des sources du noyau est conservé, lancez
<command>chown -R 0:0</command> sur le répertoire <filename
class="directory">linux-&linux-version;</filename> pour vous assurer que tous
les fichiers sont bien possédés par l'utilisateur <emphasis>root</emphasis>.</para>
 
<warning><para>Certaines documentations du noyau recommandent de créer un lien
symbolique à partir de <filename class="symlink">/usr/src/linux</filename> vers
le répertoire des sources du noyau. Ceci est spécifique aux noyaux antérieurs
à la série 2.6 et <emphasis>ne doit pas</emphasis> être réalisé sur un système
LFS car il peut poser des problèmes pour les paquetages que vous souhaitez
construire une fois que votre système LFS de base est complet.</para>
 
<para>De plus, les en-têtes compris dans le répertoire système
<filename class="directory">include</filename> devraient
<emphasis>toujours</emphasis> être ceux avec lesquels Glibc a été compilé et,
du coup, ne devraient <emphasis>jamais</emphasis> être remplacés par les
en-têtes du noyau.</para></warning>
 
</sect2>
 
<sect2 id="contents-kernel" role="content"><title>Contenu de Linux</title>
 
<segmentedlist>
<segtitle>Fichiers installés</segtitle>
<seglistitem><seg>config-&linux-version;, lfskernel-&linux-version;,
et System.map-&linux-version;</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="config">
<term><filename>config-&linux-version;</filename></term>
<listitem>
<para>Contient toutes les sélections de la configuration pour le noyau</para>
<indexterm zone="ch-bootable-kernel config"><primary sortas="e-/boot/config">/boot/config-&linux-version;</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="kernel">
<term><filename>noyau</filename></term>
<listitem>
<para>Le moteur du système Linux. Au démarrage de l'ordinateur, le noyau est la
première partie du système d'exploitation à être chargée. Il détecte et
initialise tous les composants matériels de l'ordinateur, puis rend disponibles ces
composants par un ensemble de fichiers pour les logiciels qui en ont besoin, et
transforme un CPU unique en une machine multitâches capable d'exécuter des bouts
de programmes quasiment au même moment.</para>
<indexterm zone="ch-bootable-kernel kernel"><primary sortas="b-kernel">noyau</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="System.map">
<term><filename>System.map-&linux-version;</filename></term>
<listitem>
<para>Une liste d'adresses et de symboles&nbsp;; il fait correspondre les points
d'entrées et les adresses de toutes les fonctions et structures de données dans
le noyau</para>
<indexterm zone="ch-bootable-kernel System.map"><primary sortas="e-/boot/System.map">/boot/System.map-&linux-version;</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter08/fstab.xml
0,0 → 1,66
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-bootable-fstab">
<title>Créer le fichier /etc/fstab</title>
<?dbhtml filename="fstab.html"?>
 
<para>Le fichier <filename>/etc/fstab</filename> est utilisé par quelques
programmes pour déterminer les partitions à monter par défaut, dans quel ordre,
et quels systèmes de fichiers sont à vérifier (pour des erreurs d'intégrité).
Créez une nouvelle table des systèmes de fichiers comme ceci&nbsp;:</para>
 
<screen><userinput>cat &gt; /etc/fstab &lt;&lt; "EOF"
<literal># Début /etc/fstab
 
# système point type options dump order pour fsck
# de fichiers de montage
 
/dev/<replaceable>[xxx]</replaceable> / <replaceable>[fff]</replaceable> defaults 1 1
/dev/<replaceable>[yyy]</replaceable> swap swap pri=1 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
devpts /dev/pts devpts gid=4,mode=620 0 0
shm /dev/shm tmpfs defaults 0 0
# Fin /etc/fstab</literal>
EOF</userinput></screen>
 
<para>Bien sûr, remplacez <replaceable>[xxx]</replaceable>,
<replaceable>[yyy]</replaceable> et <replaceable>[fff]</replaceable> avec les
valeurs appropriées pour votre système -- par exemple <filename
class="partition">hda2</filename>, <filename class="partition">hda5</filename>
et <systemitem class="filesystem">reiserfs</systemitem>. Pour tous les détails sur
les six champs de cette table, voir <command>man 5 fstab</command>.</para>
 
<para>Lors de l'utilisation d'un système de fichiers journalisé, le
<parameter>1 1</parameter> à la fin de la ligne doit être remplacé par
<parameter>0 0</parameter> car une telle partition ne doit pas être
<quote>dumpée</quote> ou vérifiée.</para>
 
<para>Le point de montage <filename class="directory">/dev/shm</filename> pour
<systemitem class="filesystem">tmpfs</systemitem> est inclus pour permettre
l'activation de la mémoire partagée POSIX. Le noyau doit disposer du support
requis en interne pour fonctionner (plus d'informations là-dessus dans la
prochaine section). Merci de noter qu'actuellement très peu de
logiciels utilisent la mémoire partagée POSIX. Donc, vous pouvez considérer le
point de montage <filename class="directory">/dev/shm</filename> optionnel. Pour
plus d'informations, voir <filename>Documentation/filesystems/tmpfs.txt</filename>
dans le répertoire des sources du noyau.</para>
 
<para>Il existe d'autres lignes qui pourraient être ajoutées à votre fichier
<filename>/etc/fstab</filename>. Un exemple entre autres est la ligne pour les
périphériques USB&nbsp;:</para>
 
<screen>usbfs /proc/bus/usb usbfs devgid=14,devmode=0660 0 0 </screen>
 
<para>Cette option fonctionnera seulement si <quote>Support for Host-side
USB</quote> et <quote>USB device filesystem</quote> sont configurés dans le
noyau, et non pas en tant que modules. Si <quote>Support for Host-side
USB</quote> est compilé comme module, alors <filename>usbcore</filename> doit
être indiqué dans <filename>/etc/sysconfig/modules</filename>.</para>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter08/grub.xml
0,0 → 1,137
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-bootable-grub">
<title>Rendre le système LFS amorçable</title>
<?dbhtml filename="grub.html"?>
 
<indexterm zone="ch-bootable-grub">
<primary sortas="a-Grub">Grub</primary>
<secondary>configuration</secondary></indexterm>
 
<para>Votre nouveau système LFS est pratiquement fini. Une des dernières choses
à faire est de vous assurer que le système peut démarrer proprement. Les instructions
ci-dessous s'appliquent seulement aux ordinateurs de l'architecture IA-32,
c'est-à-dire les PC standards. Des informations sur le <quote>chargement au
démarrage</quote> pour les autres architectures devraient être disponibles aux
emplacements habituels des ressources pour ces architectures.</para>
 
<para>Le chargement au démarrage est un domaine complexe. Tout d'abord, quelques
mots de mise en garde sont nécessaires. Vous devez vraiment connaître le chargeur
actuel et tout autre système d'exploitation présent sur le disque dur amorçable.
Assurez-vous d'avoir une disquette de démarrage de façon à pouvoir réparer
l'ordinateur si, par malheur, celui-ci devenait inutilisable (non amorçable).</para>
 
<para>Plus tôt, nous avons compilé et installé le chargeur de démarrage Grub
pour cette étape. La procédure implique l'écriture de quelques fichiers spéciaux
de Grub en des endroits spécifiques sur le disque dur. Nous recommandons
fortement la création d'une disquette de démarrage Grub comme sauvegarde.
Insérez une disquette de démarrage vierge et lancez les commandes
suivantes&nbsp;:</para>
 
<screen><userinput>dd if=/boot/grub/stage1 of=/dev/fd0 bs=512 count=1
dd if=/boot/grub/stage2 of=/dev/fd0 bs=512 seek=1</userinput></screen>
 
<para>Enlevez la disquette et rangez-la dans un endroit sûr. Maintenant, lancez
le shell <command>grub</command>&nbsp;:</para>
 
<screen><userinput>grub</userinput></screen>
 
<para>Grub utilise sa propre structure de nommage des disques et partitions, de
la forme <emphasis>(hdn,m)</emphasis>, où <emphasis>n</emphasis> est le numéro
du disque dur et <emphasis>m</emphasis> le numéro de la partition, tout deux
commençant à zéro. Par exemple, la partition <filename
class="partition">hda1</filename> est <emphasis>(hd0,0)</emphasis> pour Grub
alors que <filename class="partition">hdb3</filename> est
<emphasis>(hd1,2)</emphasis>. Contrairement à Linux, Grub ne considère pas les
lecteurs de CDRoms comme des disques durs. Par exemple, si un CD se trouve sur
<filename class="partition">hdb</filename> et un second disque dur sur <filename
class="partition">hdc</filename>, ce dernier disque sera malgré tout
<emphasis>(hd1)</emphasis>.</para>
 
<para>En utilisant les informations ci-dessus, déterminez la désignation
appropriée pour votre partition root (ou votre partition de démarrage si celle
que vous utilisez est séparée). Pour l'exemple suivant, il est supposé que
votre partition root (ou votre partition séparée) est
<filename class="partition">hda4</filename>.</para>
 
<para>Indiquez à Grub où chercher ses fichiers <filename>stage{1,2}</filename>.
La touche tabulation est utilisable partout pour que Grub vous affiche les
alternatives&nbsp;:</para>
 
<screen><userinput>root (hd0,3)</userinput></screen>
 
<warning><para>La commande suivante écrasera votre chargeur de démarrage actuel.
Ne lancez pas cette commande si ce n'est pas désiré, par exemple, lors de
l'utilisation d'un autre gestionnaire de démarrage pour gérer votre MBR
(Master Boot Record). Dans ce cas, il serait probablement plus sensé
d'installer Grub dans le <quote>secteur de boot</quote> de la partition LFS,
auquel cas la prochaine commande deviendrait&nbsp;:
<userinput>setup (hd0,3)</userinput>.</para></warning>
 
<para>Ensuite, indiquez à Grub de s'installer dans le MBR de
<filename class="partition">hda</filename>&nbsp;:</para>
 
<screen><userinput>setup (hd0)</userinput></screen>
 
<para>Si tout va bien, Grub indiquera avoir trouvé ses fichiers dans
<filename class="directory">/boot/grub</filename>. C'est tout ce qu'il y a à
faire. Quitter le shell <command>grub</command>&nbsp;:</para>
 
<screen><userinput>quit</userinput></screen>
 
<para>Créez un fichier <quote>liste de menus</quote> définissant le menu de
démarrage de Grub&nbsp;:</para>
 
<screen><userinput>cat &gt; /boot/grub/menu.lst &lt;&lt; "EOF"
<literal># Début de /boot/grub/menu.lst
 
# Par défaut, lance la première entrée du menu.
default 0
 
# Attend 30 secondes avant de lancer le noyau par défaut.
timeout 30
 
# Utilise de jolies couleurs.
color green/black light-green/black
 
# La première entrée concerne LFS.
title LFS &version;
root (hd0,3)
kernel /boot/lfskernel-&linux-version; root=/dev/hda4</literal>
EOF</userinput></screen>
 
<para>Ajoutez une entrée pour votre distribution hôte si vous le souhaitez.
Cela pourrait ressembler à ceci&nbsp;:</para>
 
<screen><userinput>cat &gt;&gt; /boot/grub/menu.lst &lt;&lt; "EOF"
<literal>title Red Hat
root (hd0,2)
kernel /boot/kernel-2.6.5 root=/dev/hda3
initrd /boot/initrd-2.6.5</literal>
EOF</userinput></screen>
 
<para>Dans le cas d'une machine avec plusieurs systèmes d'exploitation, l'entrée
suivante devrait le permettre&nbsp;:</para>
 
<screen><userinput>cat &gt;&gt; /boot/grub/menu.lst &lt;&lt; "EOF"
<literal>title Windows
rootnoverify (hd0,0)
chainloader +1</literal>
EOF</userinput></screen>
 
<para>Si <command>info grub</command> ne fournit pas toutes les données
nécessaires, plus d'informations concernant Grub sont disponibles sur
le site web, situé sur <ulink url="http://www.gnu.org/software/grub/"/>.</para>
 
<para>Le FHS stipule que le fichier <filename>menu.lst</filename> de GRUB doit
être un lien symbolique vers <filename class="symlink">/etc/grub/menu.lst</filename>.
Pour satisfaire ce pré-requis, lancez la commande suivante&nbsp;:</para>
 
<screen><userinput>mkdir -v /etc/grub &amp;&amp;
ln -sv /boot/grub/menu.lst /etc/grub</userinput></screen>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter08/introduction.xml
0,0 → 1,16
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-bootable-introduction">
<title>Introduction</title>
<?dbhtml filename="introduction.html"?>
 
<para>Il est temps de rendre amorçable le système LFS. Ce chapitre traite de la
création d'un fichier <filename>fstab</filename>, de la construction d'un noyau
pour le nouveau système LFS et de l'installation du chargeur de démarrage Grub
afin que le système LFS puisse être sélectionné au démarrage.</para>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter08/chapter08.xml
0,0 → 1,16
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<chapter id="chapter-bootable" xreflabel="Chapitre 8">
<?dbhtml dir="chapter08"?>
<title>Rendre le système LFS amorçable</title>
<?dbhtml filename="chapter08.html"?>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="fstab.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kernel.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grub.xml"/>
 
</chapter>
/tags/LFS-6_1_1/lfs/chapter09/getcounted.xml
0,0 → 1,19
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-finish-getcounted">
<title>Enregistrez-vous</title>
<?dbhtml filename="getcounted.html"?>
 
<para>Maintenant que vous avez terminé le livre, voulez-vous être enregistré
comme utilisateur de LFS&nbsp;? Allez directement sur <ulink
url="&lfs-root;cgi-bin/lfscounter.cgi" /> et enregistrez-vous comme utilisateur
LFS en entrant votre nom et la première version de LFS que vous avez utilisée.
</para>
 
<para>Redémarrons et replongeons maintenant dans LFS.</para>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter09/theend.xml
0,0 → 1,23
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-finish-theend">
<title>La fin</title>
<?dbhtml filename="theend.html"?>
 
<para>Bien joué&nbsp;! Le nouveau système LFS est installé. Nous vous
souhaitons de bien vous amuser avec votre nouveau système Linux
rutilant.</para>
 
<para>Une bonne idée serait de créer un fichier
<filename>/etc/lfs-release</filename>. Avec ce fichier, il vous est très facile
(ainsi que pour nous si vous avez besoin de demander de l'aide) de savoir
quelle version de LFS vous avez installée sur votre système. Créez ce fichier en
lançant&nbsp;:</para>
 
<screen><userinput>echo &version; &gt; /etc/lfs-release</userinput></screen>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter09/whatnow.xml
0,0 → 1,84
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch09-whatnow">
<title>Et maintenant?</title>
<?dbhtml filename="whatnow.html"?>
 
<para>Merci d'avoir lu le livre LFS. Nous espérons que vous avez trouvé ce livre
utile et que vous avez appris des choses sur la création d'un système.
</para>
 
<para>Maintenant que le système LFS est installé, vous êtes peut-être en train
de vous demander <quote>Et maintenant&nbsp;?</quote> Pour répondre à cette
question, nous vous avons préparé une liste de ressources.</para>
 
<itemizedlist>
<listitem><para>Maintenance</para>
 
<para>Les bogues et informations de sécurité sont rapportés régulièrement pour
tous les logiciels. Comme un système LFS est compilé à partir des sources, c'est
à vous de prendre en compte ces rapports. Il existe plusieurs ressources en
ligne pour garder trace de tels rapports, certains d'entre eux sont indiqués
ci-dessous&nbsp;:</para>
 
<itemizedlist>
<listitem><para>Freshmeat.net (<ulink url="http://freshmeat.net/"/>)</para>
 
<para>Freshmeat peut vous prévenir (par email) des nouvelles versions des
paquetages installés sur votre système.</para>
</listitem>
 
<listitem><para><ulink url="http://www.cert.org/">CERT</ulink> (Computer
Emergency Response Team)</para>
 
<para>CERT a une liste de diffusion publiant les alertes de sécurité concernant
différents systèmes d'exploitation et applications. Les informations de
souscription sont disponibles sur <ulink
url="http://www.us-cert.gov/cas/signup.html"/>.</para>
</listitem>
 
<listitem><para>Bugtraq</para>
 
<para>Bugtraq est une liste de diffusion pour révéler complètement les problèmes
de sécurité. Elle publie les problèmes de sécurité qui viennent d'être découverts
et, occasionnellement, des corrections potentielles. Les informations de
souscription sont disponibles sur
<ulink url="http://www.securityfocus.com/archive"/>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem><para>Beyond Linux From Scratch</para>
 
<para>Le livre Beyond Linux From Scratch couvre les procédures d'installation
d'un grand nombre de logiciels en dehors du livre LFS. Le projet BLFS est
disponible sur <ulink url="&blfs-root;"/>.</para></listitem>
 
<listitem><para>Astuces LFS (LFS Hints)</para>
 
<para>Les astuces LFS sont une collection de documents éducatifs soumis
par des volontaires à la communauté LFS. Ces astuces sont disponibles sur
<ulink url="&hints-index;"/>.</para></listitem>
 
<listitem><para>Listes de diffusion</para>
 
<para>Il existe plusieurs listes de diffusion auxquelles vous pouvez vous
abonner si vous cherchez de l'aide, voulez rester à jour avec les derniers
développements, voulez contribuer au projet et plus. Voir <xref
linkend="ch-scatter-maillists"/> pour plus d'informations.</para></listitem>
 
<listitem><para>Le projet de documentation Linux (Linux Documentation
Project)</para>
 
<para>Le but du TLDP est de collaborer à tous les problèmes relatifs à la
documentation sur Linux. Le TLDP offre une large collection de guides pratiques,
livres et pages man. Il est disponible sur <ulink
url="http://www.tldp.org/"/>.</para></listitem>
 
</itemizedlist>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter09/reboot.xml
0,0 → 1,62
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-finish-reboot">
<title>Redémarrer le système</title>
<?dbhtml filename="reboot.html"?>
 
<para>Maintenant que tous les logiciels ont été installés, il est temps de
redémarrer votre ordinateur. Néanmoins, vous devez savoir certaines choses.
Le système que vous avez créé dans ce livre est vraiment minimal et a toutes
les chances de ne pas avoir les fonctionnalités dont vous aurez besoin pour
continuer. En installant quelques autres paquetages à partir du livre BLFS
en restant dans l'environnement chroot actuel, vous serez dans une bien
meilleure position pour continuer une fois que vous aurez redémarré votre
nouvelle installation LFS. Installer un navigateur web en mode texte, comme
Lynx, vous permettra de lire facilement le livre BLFS dans un terminal virtuel
tout en construisant des paquetages dans un autre. Le paquetage GPM vous
permettra aussi de réaliser des actions de copier/coller dans vos terminaux
virtuels. Enfin, si vous êtes dans une situation où la configuration IP statique
ne correspond pas à vos besoins en terme de réseau, installer des paquetages
comme Dhcpcd ou PPP pourrait aussi être utile.</para>
 
 
<para>Maintenant que nous vous avons prévenu, démarrons notre toute nouvelle
installation LFS pour la première fois&nbsp;! Tout d'abord, quittez
l'environnement chroot&nbsp;:</para>
 
<screen><userinput>logout</userinput></screen>
 
<para>Puis, démontez les systèmes de fichiers virtuels&nbsp;:</para>
 
<screen><userinput>umount -v $LFS/dev/pts
umount -v $LFS/dev/shm
umount -v $LFS/dev
umount -v $LFS/proc
umount -v $LFS/sys</userinput></screen>
 
<para>Démontez le système de fichiers LFS&nbsp;:</para>
 
<screen><userinput>umount -v $LFS</userinput></screen>
 
<para>Si plusieurs partitions ont été créées, démontez les autres partitions
avant de démonter la principale, comme ceci&nbsp;:</para>
 
<screen role="nodump"><userinput>umount -v $LFS/usr
umount -v $LFS/home
umount -v $LFS</userinput></screen>
 
<para>Maintenant, redémarrez le système avec&nbsp;:</para>
 
<screen role="nodump"><userinput>shutdown -r now</userinput></screen>
 
<para>En supposant que le chargeur de démarrage Grub a été initialisé comme
indiqué plus tôt, le menu est préparé pour démarrer <emphasis>LFS
&version;</emphasis> automatiquement.</para>
 
<para>À la fin du redémarrage, le système LFS est prêt à être utilisé et des
logiciels peuvent enfin être installés pour satisfaire vos besoins.</para>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter09/chapter09.xml
0,0 → 1,16
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<chapter id="chapter-finalizing" xreflabel="Chapitre 9">
<?dbhtml dir="chapter09"?>
<title>Fin</title>
<?dbhtml filename="chapter09.html"?>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="theend.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="getcounted.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="reboot.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="whatnow.xml"/>
 
</chapter>
/tags/LFS-6_1_1/lfs/tidy.conf
0,0 → 1,18
indent-spaces: 2
wrap: 78
tab-size: 8
input-encoding: raw
output-encoding: raw
newline: CRLF
write-back: yes
markup: yes
indent: yes
hide-endtags: no
uppercase-tags: no
logical-emphasis: no
drop-font-tags: no
tidy-mark: no
numeric-entities: no
show-warnings: no
quiet: yes
newline: LF
/tags/LFS-6_1_1/lfs/chapter06/glibc.xml
0,0 → 1,779
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-glibc" role="wrap">
<title>Glibc-&glibc-version;</title>
<?dbhtml filename="glibc.html"?>
 
<indexterm zone="ch-system-glibc"><primary
sortas="a-Glibc">Glibc</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Glibc contient la bibliothèque C principale. Cette bibliothèque
fournit toutes les routines basiques pour allouer de la mémoire, rechercher des
répertoires, ouvrir et fermer des fichiers, les lire et les écrire, gérer
les chaînes, faire correspondre des modèles, faire de l'arithmétique et
ainsi de suite.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>12,3&nbsp;SBU</seg><seg>476&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Gettext,
Grep, Make, Perl, Sed et Texinfo</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Glibc</title>
 
<note><para>Certains paquets non compris dans LFS suggèrent d'installer GNU
libiconv pour traduire les données d'un codage en un autre. La page d'accueil
du projet (<ulink url="http://www.gnu.org/software/libiconv/"/>) précise
<quote>Cette bibliothèque fournit une implémentation de
<function>iconv()</function>, à utiliser sur les systèmes qui n'en disposent
pas ou dont l'implémentation ne convertit pas l'Unicode.</quote> Glibc fournit
une implémentation d'<function>iconv()</function> et peut convertir de
l'Unicode, du coup libiconv n'est pas requis sur un système LFS.</para></note>
 
<para>Ce paquet est connu pour avoir des soucis quand les options
d'optimisation par défaut (en incluant les options
<parameter>-march</parameter> et <parameter>-mcpu</parameter>) sont modifiées.
Donc, si des variables d'environnement qui surchargent les optimisations par
défaut, telles que <envar>CFLAGS</envar> et <envar>CXXFLAGS</envar>, ont été
définies, supprimez cette initialisation pour la construction de GCC.</para>
 
<para>Le système de construction de la Glibc est très bien fait et s'installera
parfaitement, même si notre fichier specs pour le compilateur et l'éditeur de
liens pointent toujours vers <filename class="directory">/tools</filename>. Les
specs et l'éditeur de liens ne peuvent pas être ajustés avant l'installation de
la Glibc parce que les tests d'autoconf de Glibc donneraient alors des
résultats faussés, défaussant ainsi notre but d'achever une construction
propre.</para>
 
<para>L'archive tar linuxthreads contient les pages man pour les bibliothèques
de threading installées par Glibc. Déballez l'archive tar à l'intérieur du
répertoire source Glibc&nbsp;:</para>
 
<screen><userinput>tar -xjvf ../glibc-linuxthreads-&glibc-version;.tar.bz2</userinput></screen>
 
<para>Dans de rares circonstances, Glibc peut générer une erreur de segmentation
quand aucun répertoire de recherche standard n'existe. Le correctif suivant
s'occupe de ce problème&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&glibc-rtld-patch;</userinput></screen>
 
<para>Glibc contient deux tests qui échoueront si le noyau en cours d'exécution
est un 2.6.11.x. Le problème se situe sur les tests eux-même, pas avec la libc
ou le noyau. Ce correctif corrige le problème&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&glibc-testfix-patch;</userinput></screen>
 
<para>Appliquez le correctif suivant pour corriger un bogue dans Glibc qui peut
empêcher certains programmes (comme OpenOffice.org) de fonctionner
correctement&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&glibc-tls_assert-patch;</userinput></screen>
 
<para>La documentation de Glibc recommande de construire Glibc en dehors du
répertoire des sources dans un répertoire de construction dédié&nbsp;:</para>
 
<screen><userinput>mkdir -v ../glibc-build
cd ../glibc-build</userinput></screen>
 
<para>Préparez la compilation de Glibc&nbsp;:</para>
 
<screen><userinput>../glibc-&glibc-version;/configure --prefix=/usr \
--disable-profile --enable-add-ons \
--enable-kernel=2.6.0 --libexecdir=/usr/lib/glibc</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--libexecdir=/usr/lib/glibc</parameter></term>
<listitem><para>Ceci modifie l'emplacement du programme
<filename>pt_chown</filename>, dont la valeur par défaut est <filename
class="directory">/usr/libexec</filename>, par <filename
class="directory">/usr/lib/glibc</filename>.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<important><para>Dans cette section, la suite de tests de Glibc est considérée
comme critique. Ne pas la laissez passer quelque soient les
circonstances.</para></important>
 
<para>Testez les résultats&nbsp;:</para>
 
<screen><userinput>make -k check &gt;glibc-check-log 2&gt;&amp;1
grep Error glibc-check-log</userinput></screen>
 
<para>La suite de tests Glibc est grandement dépendante de certaines fonctions
de l'hôte système, en particulier le noyau. En général, la suite de tests Glibc
devrait toujours réussir. Néanmoins, dans certaines circonstances, quelques
échecs sont inévitables. Voici une liste des problèmes les plus
fréquents&nbsp;:</para>
 
<itemizedlist>
<listitem><para>Les tests <emphasis>math</emphasis> échouent quelque fois lors de
leur exécution sur des systèmes où le processeur n'est pas un Intel ou un AMD
authentique. Certains paramétrages d'optimisation sont aussi un facteur connu
pour ce type de problèmes.</para></listitem>
 
<listitem><para>Les tests <emphasis>gettext</emphasis> échouent quelque fois à
cause de problèmes sur le système hôte, les raisons exactes n'étant pas encore
claires.</para></listitem>
 
<listitem><para>Si vous avez monté la partition LFS avec l'option
<parameter>noatime</parameter>, le test <emphasis>atime</emphasis> échouera.
Comme mentionné dans <xref linkend="space-mounting"/>, n'utilisez pas l'option
<parameter>noatime</parameter> lors de la construction de LFS.</para></listitem>
 
<listitem><para>Lors d'une exécution sur un matériel ancien et lent, quelques
tests peuvent échouer à cause de délais excédés.</para></listitem>
</itemizedlist>
 
<para>Bien que ce ne soit qu'un simple message, l'étape d'installation de
Glibc se plaindra de l'absence de <filename>/etc/ld.so.conf</filename>.
Supprimez ce message d'avertissement avec&nbsp;:</para>
 
<screen><userinput>touch /etc/ld.so.conf</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Les locales qui permettent à votre système de répondre en une langue
différente n'ont pas été installées avec la commande ci-dessus. Installez-les
avec ceci&nbsp;:</para>
 
<screen><userinput>make localedata/install-locales</userinput></screen>
 
<para>Pour gagner du temps, une alternative à la commande précédente (qui
génère et installe toutes les locales qu'il trouve dans le fichier
glibc-&glibc-version;/localedata/SUPPORTED) est d'installer uniquement
les locales que vous souhaitez et dont vous avez besoin. Ceci se fait en
utilisant la commande <command>localedef</command>. Des informations sur cette
commande sont disponibles dans le fichier <filename>INSTALL</filename> des
sources de Glibc. Néanmoins, il existe un certain nombre de locales
essentielles pour réussir les tests des paquets futurs, en particulier les
tests de <emphasis>libstdc++</emphasis>. Les instructions suivantes,
contrairement à la cible <parameter>install-locales</parameter> ci-dessus,
installeront l'ensemble minimal des locales nécessaires pour que les tests se
passent dans de bonnes conditions&nbsp;:</para>
 
<screen role="nodump"><userinput>mkdir -pv /usr/lib/locale
localedef -i de_DE -f ISO-8859-1 de_DE
localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro
localedef -i en_HK -f ISO-8859-1 en_HK
localedef -i en_PH -f ISO-8859-1 en_PH
localedef -i en_US -f ISO-8859-1 en_US
localedef -i es_MX -f ISO-8859-1 es_MX
localedef -i fa_IR -f UTF-8 fa_IR
localedef -i fr_FR -f ISO-8859-1 fr_FR
localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro
localedef -i it_IT -f ISO-8859-1 it_IT
localedef -i ja_JP -f EUC-JP ja_JP</userinput></screen>
 
<para>Certaines locales installées par la commande <command>make
localedata/install-locales</command> ci-dessus ne sont pas supportées
correctement par certaines applications comprises dans les livres LFS et BLFS.
À cause des différents problèmes survenus parce que les développeurs des
applications ont fait dex choix qui ont cassé ces locales, LFS ne devrait pas
être utilisé avec des locales qui utilisent des ensembles de caractères à
plusieurs octets (ceci incluant UTF-8) ou l'ordre d'écriture de droite à gauche.
De nombreux correctifs officieux et instables sont requis pour corriger
ces problèmes et il a été décidé par les développeurs de LFS que ces locales
complexes ne seraient pas supportées en ce moment. Ceci s'applique aussi aux
locales ja_JP et fa_IR&mdash;elles ont été installés seulement pour que les
tests de GCC et Gettext réussissent bien que le programme <command>watch</command>
(un composant du paquetage Procps) ne fonctionne pas correctement avec elles.
Différents essais pour contourner ces restrictions sont documentés dans les
astuces relatives à l'internationalisation.</para>
 
<para>Construisez les pages man de linuxthreads qui sont une
grande référence à l'API des threads (applicable aussi à NPTL)&nbsp;:</para>
 
<screen><userinput>make -C ../glibc-&glibc-version;/linuxthreads/man</userinput></screen>
 
<para>Installez ces pages&nbsp;:</para>
 
<screen><userinput>make -C ../glibc-&glibc-version;/linuxthreads/man install</userinput></screen>
 
<beginpage/>
 
</sect2>
 
<sect2 id="conf-glibc" role="configuration"><title>Configurer Glibc</title>
<indexterm zone="conf-glibc"><primary
sortas="e-/etc/nsswitch.conf">/etc/nsswitch.conf</primary></indexterm>
<indexterm zone="conf-glibc"><primary
sortas="e-/etc/localtime">/etc/localtime</primary></indexterm>
 
<para>Le fichier <filename>/etc/nsswitch.conf</filename> doit être créé
parce que, bien que Glibc en fournisse un par défaut lorsque ce fichier est
manquant ou corrompu, les valeurs par défaut de Glibc ne fonctionnent pas bien
dans un environnement en réseau. De plus, le fuseau horaire a besoin d'être
configuré.</para>
 
<para>Créez un nouveau fichier <filename>/etc/nsswitch.conf</filename> en
lançant ce qui suit&nbsp;:</para>
 
<screen><userinput>cat &gt; /etc/nsswitch.conf &lt;&lt; "EOF"
<literal># Début /etc/nsswitch.conf
 
passwd: files
group: files
shadow: files
 
hosts: files dns
networks: files
 
protocols: files
services: files
ethers: files
rpc: files
 
# Fin /etc/nsswitch.conf</literal>
EOF</userinput></screen>
 
<para>Pour déterminer dans quel fuseau horaire vous vous situez, lancez le
script suivant&nbsp;:</para>
 
<screen role="nodump"><userinput>tzselect</userinput></screen>
 
<para>Lorsque avoir répondu à quelques questions sur votre emplacement, le
script affichera le nom du fuseau horaire (quelque chose comme
<emphasis>EST5EDT</emphasis> ou <emphasis>Canada/Eastern</emphasis>). Ensuite,
créez le fichier <filename>/etc/localtime</filename> en lançant&nbsp;:</para>
 
<screen><userinput>cp -v --remove-destination /usr/share/zoneinfo/<replaceable>[xxx]</replaceable> \
/etc/localtime</userinput></screen>
 
<para>Remplacez <replaceable>[xxx]</replaceable> avec le nom du fuseau horaire
que <command>tzselect</command> a fourni (c'est-à-dire Canada/Eastern).</para>
 
<para>Voici la signification de l'option de cp&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--remove-destination</parameter></term>
<listitem><para>Ceci est nécessaire pour forcer la suppression du lien
symbolique déjà existant. La raison pour laquelle nous copions plutôt que de
simplement créer un lien symbolique est de se couvrir de la situation où
<filename class="directory">/usr</filename> serait une partition séparée. Ceci
pourrait arriver, par exemple, en démarrant en mode simple
utilisateur.</para></listitem>
</varlistentry>
</variablelist>
 
<beginpage/>
 
</sect2>
 
<sect2 id="conf-ld" role="configuration">
<title>Configurer le chargeur dynamique</title>
<indexterm zone="conf-ld"><primary
sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary></indexterm>
 
<para>Par défaut, le chargeur dynamique (<filename
class="libraryfile">/lib/ld-linux.so.2</filename>) cherche les bibliothèques
partagées, nécessaires aux programmes lors de leur exécution, dans <filename
class="directory">/lib</filename> et <filename
class="directory">/usr/lib</filename>. Néanmoins, s'il existe des bibliothèques
dans d'autres répertoires que <filename class="directory">/lib</filename> et
<filename class="directory">/usr/lib</filename>, leur emplacement doit être
ajouté dans le fichier <filename>/etc/ld.so.conf</filename> pour que le
chargeur dynamique les trouve. <filename
class="directory">/usr/local/lib</filename> et <filename
class="directory">/opt/lib</filename> sont deux répertoires connus pour
contenir des bibliothèques supplémentaires, donc ajoutez ces deux
répertoires au chemin de recherche du chargeur dynamique.</para>
 
<para>Créez un nouveau fichier <filename>/etc/ld.so.conf</filename> en lançant
ce qui suit&nbsp;:</para>
 
<screen><userinput>cat &gt; /etc/ld.so.conf &lt;&lt; "EOF"
<literal># Début /etc/ld.so.conf
 
/usr/local/lib
/opt/lib
 
# Fin /etc/ld.so.conf</literal>
EOF</userinput></screen>
 
</sect2>
 
<sect2 id="contents-glibc" role="content"><title>Contenu de Glibc</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèques installées</segtitle>
<seglistitem><seg>catchsegv, gencat, getconf,
getent, iconv, iconvconfig, ldconfig, ldd, lddlibc4, locale,
localedef, mtrace, nscd, nscd_nischeck, pcprofiledump, pt_chown, rpcgen,
rpcinfo, sln, sprof, tzselect, xtrace, zdump et zic</seg>
<seg>ld.so, libBrokenLocale.[a,so],
libSegFault.so, libanl.[a,so], libbsd-compat.a, libc.[a,so],
libcrypt.[a,so], libdl.[a,so], libg.a, libieee.a, libm.[a,so], libmcheck.a,
libmemusage.so, libnsl.a, libnss_compat.so, libnss_dns.so, libnss_files.so,
libnss_hesiod.so, libnss_nis.so, libnss_nisplus.so, libpcprofile.so,
libpthread.[a,so], libresolv.[a,so], librpcsvc.a, librt.[a,so],
libthread_db.so et libutil.[a,so]</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="catchsegv">
<term><command>catchsegv</command></term>
<listitem>
<para>Peut être utilisé pour créer une trace de la pile lorsqu'un programme
s'arrête avec une erreur de segmentation</para>
<indexterm zone="ch-system-glibc catchsegv"><primary
sortas="b-catchsegv">catchsegv</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gencat">
<term><command>gencat</command></term>
<listitem>
<para>Génère des catalogues de messages</para>
<indexterm zone="ch-system-glibc gencat"><primary
sortas="b-gencat">gencat</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="getconf">
<term><command>getconf</command></term>
<listitem>
<para>Affiche les valeurs de configuration du système pour les variables
spécifiques du système de fichiers</para>
<indexterm zone="ch-system-glibc getconf"><primary
sortas="b-getconf">getconf</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="getent">
<term><command>getent</command></term>
<listitem>
<para>Récupère les entrées à partir d'une base de données administrative</para>
<indexterm zone="ch-system-glibc getent"><primary
sortas="b-getent">getent</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="iconv">
<term><command>iconv</command></term>
<listitem>
<para>Réalise une conversion de l'ensemble des caractères</para>
<indexterm zone="ch-system-glibc iconv"><primary
sortas="b-iconv">iconv</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="iconvconfig">
<term><command>iconvconfig</command></term>
<listitem>
<para>Crée un fichier de configuration pour le module <command>iconv</command>
fastloading</para>
<indexterm zone="ch-system-glibc iconvconfig"><primary
sortas="b-iconvconfig">iconvconfig</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ldconfig">
<term><command>ldconfig</command></term>
<listitem>
<para>Configure les liens du chargeur dynamique</para>
<indexterm zone="ch-system-glibc ldconfig"><primary
sortas="b-ldconfig">ldconfig</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ldd">
<term><command>ldd</command></term>
<listitem>
<para>Indique les bibliothèques partagées requises pour chaque programme ou
bibliothèque partagée</para>
<indexterm zone="ch-system-glibc ldd"><primary
sortas="b-ldd">ldd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="lddlibc4">
<term><command>lddlibc4</command></term>
<listitem>
<para>Assiste <command>ldd</command> avec des fichiers objets</para>
<indexterm zone="ch-system-glibc lddlibc4"><primary
sortas="b-lddlibc4">lddlibc4</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="locale">
<term><command>locale</command></term>
<listitem>
<para>Indique au compilateur d'activer ou de désactiver l'utilisation des
locales POSIX pour les opérations internes</para>
<indexterm zone="ch-system-glibc locale"><primary
sortas="b-locale">locale</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="localedef">
<term><command>localedef</command></term>
<listitem>
<para>Compile les spécifications des locales</para>
<indexterm zone="ch-system-glibc localedef"><primary
sortas="b-localedef">localedef</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mtrace">
<term><command>mtrace</command></term>
<listitem>
<para>Lit et interprète un fichier de trace mémoire et affiche un résumé dans
un format lisible par un humain</para>
<indexterm zone="ch-system-glibc mtrace"><primary
sortas="b-mtrace">mtrace</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="nscd">
<term><command>nscd</command></term>
<listitem>
<para>Un démon pour les services de noms fournissant un cache pour les requêtes
les plus communes</para>
<indexterm zone="ch-system-glibc nscd"><primary
sortas="b-nscd">nscd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="nscd_nischeck">
<term><command>nscd_nischeck</command></term>
<listitem>
<para>Vérifie si le mode sécurisé est nécessaire pour les recherches NIS+</para>
<indexterm zone="ch-system-glibc nscd_nischeck"><primary
sortas="b-nscd_nischeck">nscd_nischeck</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pcprofiledump">
<term><command>pcprofiledump</command></term>
<listitem>
<para>Affiche des informations générées par un profilage du PC</para>
<indexterm zone="ch-system-glibc pcprofiledump"><primary
sortas="b-pcprofiledump">pcprofiledump</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pt_chown">
<term><command>pt_chown</command></term>
<listitem>
<para>un programme d'aide pour que <command>grantpt</command> initialise les
droits des propriétaires, groupes et autres d'un pseudo-terminal esclave</para>
<indexterm zone="ch-system-glibc pt_chown"><primary
sortas="b-pt_chown">pt_chown</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rpcgen">
<term><command>rpcgen</command></term>
<listitem>
<para>Génère du code C pour implémenter le protocole RPC (<foreignphrase>Remote
Procecure Call</foreignphrase>)</para>
<indexterm zone="ch-system-glibc rpcgen"><primary
sortas="b-rpcgen">rpcgen</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rpcinfo">
<term><command>rpcinfo</command></term>
<listitem>
<para>Fait un appel RPC à un serveur RPC</para>
<indexterm zone="ch-system-glibc rpcinfo"><primary
sortas="b-rpcinfo">rpcinfo</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="sln">
<term><command>sln</command></term>
<listitem>
<para>Un programme <command>ln</command> lié statiquement</para>
<indexterm zone="ch-system-glibc sln"><primary
sortas="b-sln">sln</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="sprof">
<term><command>sprof</command></term>
<listitem>
<para>Lit et affiche les données de profilage des objets partagés</para>
<indexterm zone="ch-system-glibc sprof"><primary
sortas="b-sprof">sprof</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tzselect">
<term><command>tzselect</command></term>
<listitem>
<para>Demande à l'utilisateur l'emplacement géographique du système et donne la
description du fuseau horaire correspondante</para>
<indexterm zone="ch-system-glibc tzselect"><primary
sortas="b-tzselect">tzselect</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="xtrace">
<term><command>xtrace</command></term>
<listitem>
<para>Trace l'exécution d'un programme en affichant la fonction en cours
d'exécution</para>
<indexterm zone="ch-system-glibc xtrace"><primary
sortas="b-xtrace">xtrace</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="zdump">
<term><command>zdump</command></term>
<listitem>
<para>Afficheur de fuseau horaire</para>
<indexterm zone="ch-system-glibc zdump"><primary
sortas="b-zdump">zdump</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="zic">
<term><command>zic</command></term>
<listitem>
<para>Compilateur de fuseau horaire</para>
<indexterm zone="ch-system-glibc zic"><primary
sortas="b-zic">zic</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ld.so">
<term><filename class="libraryfile">ld.so</filename></term>
<listitem>
<para>Le programme d'aide des bibliothèques partagées exécutables</para>
<indexterm zone="ch-system-glibc ld.so"><primary
sortas="c-ld.so">ld.so</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libBrokenLocale">
<term><filename class="libraryfile">libBrokenLocale</filename></term>
<listitem>
<para>Utilisé par des programmes comme Mozilla pour résoudre les locales
cassées</para>
<indexterm zone="ch-system-glibc libBrokenLocale"><primary
sortas="c-libBrokenLocale">libBrokenLocale</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libSegFault">
<term><filename class="libraryfile">libSegFault</filename></term>
<listitem>
<para>Un gestionnaire de signaux d'erreurs de segmentation</para>
<indexterm zone="ch-system-glibc libSegFault"><primary
sortas="c-libSegFault">libSegFault</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libanl">
<term><filename class="libraryfile">libanl</filename></term>
<listitem>
<para>Une bibliothèque asynchrone de recherche de noms</para>
<indexterm zone="ch-system-glibc libanl"><primary
sortas="c-libanl">libanl</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libbsd-compat">
<term><filename class="libraryfile">libbsd-compat</filename></term>
<listitem>
<para>Fournit la portabilité nécessaire pour faire fonctionner certains
programmes BSD sous Linux</para>
<indexterm zone="ch-system-glibc libbsd-compat"><primary
sortas="c-libbsd-compat">libbsd-compat</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libc">
<term><filename class="libraryfile">libc</filename></term>
<listitem>
<para>La principale bibliothèque C</para>
<indexterm zone="ch-system-glibc libc"><primary
sortas="c-libc">libc</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libcrypt">
<term><filename class="libraryfile">libcrypt</filename></term>
<listitem>
<para>La bibliothèque de cryptographie</para>
<indexterm zone="ch-system-glibc libcrypt"><primary
sortas="c-libcrypt">libcrypt</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libdl">
<term><filename class="libraryfile">libdl</filename></term>
<listitem>
<para>La bibliothèque de l'interface du chargeur dynamique</para>
<indexterm zone="ch-system-glibc libdl"><primary
sortas="c-libdl">libdl</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libg">
<term><filename class="libraryfile">libg</filename></term>
<listitem>
<para>Une bibliothèque d'exécution pour <command>g++</command></para>
<indexterm zone="ch-system-glibc libg"><primary
sortas="c-libg">libg</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libieee">
<term><filename class="libraryfile">libieee</filename></term>
<listitem>
<para>La bibliothèque des nombres flottants IEEE (<foreignphrase>Institute
of Electrical and Electronic Engineers</foreignphrase>)</para>
<indexterm zone="ch-system-glibc libieee"><primary
sortas="c-libieee">libieee</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libm">
<term><filename class="libraryfile">libm</filename></term>
<listitem>
<para>La bibliothèque mathématique</para>
<indexterm zone="ch-system-glibc libm"><primary
sortas="c-libm">libm</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libmcheck">
<term><filename class="libraryfile">libmcheck</filename></term>
<listitem>
<para>Contient du code à lancer au démarrage</para>
<indexterm zone="ch-system-glibc libmcheck"><primary
sortas="c-libmcheck">libmcheck</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libmemusage">
<term><filename class="libraryfile">libmemusage</filename></term>
<listitem>
<para>Utilisé par <command>memusage</command> pour collecter des informations
sur l'utilisation mémoire d'un programme</para>
<indexterm zone="ch-system-glibc libmemusage"><primary
sortas="c-libmemusage">libmemusage</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libnsl">
<term><filename class="libraryfile">libnsl</filename></term>
<listitem>
<para>La bibliothèque de services réseau</para>
<indexterm zone="ch-system-glibc libnsl"><primary
sortas="c-libnsl">libnsl</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libnss">
<term><filename class="libraryfile">libnss</filename></term>
<listitem>
<para>Les bibliothèques <quote>Name Service Switch</quote>, contenant des
fonctions de résolution de noms d'hôtes, de noms d'utilisateurs, de noms de
groupes, d'alias, de services, de protocoles et ainsi de suite</para>
<indexterm zone="ch-system-glibc libnss"><primary
sortas="c-libnss">libnss</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libpcprofile">
<term><filename class="libraryfile">libpcprofile</filename></term>
<listitem>
<para>Contient des fonctions de profilage utilisées pour tracer le temps CPU
dépensé sur les lignes de code source</para>
<indexterm zone="ch-system-glibc libpcprofile"><primary
sortas="c-libpcprofile">libpcprofile</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libpthread">
<term><filename class="libraryfile">libpthread</filename></term>
<listitem>
<para>La bibliothèque threads POSIX</para>
<indexterm zone="ch-system-glibc libpthread"><primary
sortas="c-libpthread">libpthread</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libresolv">
<term><filename class="libraryfile">libresolv</filename></term>
<listitem>
<para>Contient des fonctions de création, d'envoi et d'interprétation de
paquets pour les serveurs de noms de domaine Internet</para>
<indexterm zone="ch-system-glibc libresolv"><primary
sortas="c-libresolv">libresolv</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="librpcsvc">
<term><filename class="libraryfile">librpcsvc</filename></term>
<listitem>
<para>Contient des fonctions apportant différents services RPC</para>
<indexterm zone="ch-system-glibc librpcsvc"><primary
sortas="c-librpcsvc">librpcsvc</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="librt">
<term><filename class="libraryfile">librt</filename></term>
<listitem>
<para>Contient des fonctions fournissant la plupart des interfaces spécifiées
par l'extension temps réel de POSIX.1b</para>
<indexterm zone="ch-system-glibc librt"><primary
sortas="c-librt">librt</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libthread_db">
<term><filename class="libraryfile">libthread_db</filename></term>
<listitem>
<para>Contient des fonctions utiles pour construire des débogueurs de programmes
multi-threads</para>
<indexterm zone="ch-system-glibc libthread_db"><primary
sortas="c-libthread_db">libthread_db</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libutil">
<term><filename class="libraryfile">libutil</filename></term>
<listitem>
<para>Contient du code pour les fonctions <quote>standard</quote> utilisées par
de nombreux outils Unix</para>
<indexterm zone="ch-system-glibc libutil"><primary
sortas="c-libutil">libutil</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter06/sysklogd.xml
0,0 → 1,104
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-sysklogd" role="wrap">
<title>Sysklogd-&sysklogd-version;</title>
<?dbhtml filename="sysklogd.html"?>
 
<indexterm zone="ch-system-sysklogd"><primary sortas="a-Sysklogd">Sysklogd</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Sysklogd contient des programmes pour les messages de
traces système comme ceux donnés par le noyau lorsque des événements
inhabituels surviennent.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>0,5&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation de Sysklogd dépend de</segtitle>
<seglistitem><seg>Binutils, Coreutils, GCC, Glibc et Make</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Sysklogd</title>
 
<para>Sysklogd a quelques soucis avec la série 2.6 du noyau Linux. Corrigez-les
en appliquant le correctif suivant&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&sysklogd-fixes-patch;</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<beginpage/>
</sect2>
 
<sect2 id="conf-sysklogd" role="configuration"><title>Configurer Sysklogd</title>
<indexterm zone="conf-sysklogd">
<primary sortas="a-Sysklogd">Sysklogd</primary>
<secondary>configuration</secondary></indexterm>
 
<indexterm zone="conf-sysklogd"><primary sortas="e-/etc/syslog.conf">/etc/syslog.conf</primary></indexterm>
 
<para>Créez un nouveau fichier <filename>/etc/syslog.conf</filename> en lançant
ce qui suit&nbsp;:</para>
 
<screen><userinput>cat &gt; /etc/syslog.conf &lt;&lt; "EOF"
<literal># Begin /etc/syslog.conf
 
auth,authpriv.* -/var/log/auth.log
*.*;auth,authpriv.none -/var/log/sys.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log
*.emerg *
 
# End /etc/syslog.conf</literal>
EOF</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-sysklogd" role="content"><title>Contenu de Sysklogd</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>klogd et syslogd</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
 
<varlistentry id="klogd">
<term><command>klogd</command></term>
<listitem>
<para>Un démon système pour intercepter et tracer les messages du noyau</para>
<indexterm zone="ch-system-sysklogd klogd"><primary sortas="b-klogd">klogd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="syslogd">
<term><command>syslogd</command></term>
<listitem>
<para>Trace les messages que les programmes systèmes donnent</para>
<indexterm zone="ch-system-sysklogd syslogd"><primary sortas="b-syslogd">syslogd</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter06/less.xml
0,0 → 1,99
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-less" role="wrap">
<title>Less-&less-version;</title>
<?dbhtml filename="less.html"?>
 
<indexterm zone="ch-system-less"><primary sortas="a-Less">Less</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Less contient un visualisateur de fichiers texte.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>2,3&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make, Ncurses et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Less</title>
 
<para>Préparez la compilation de Less&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --bindir=/bin --sysconfdir=/etc</userinput></screen>
 
<para>Voici la signification de l'option de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--sysconfdir=/etc</parameter></term>
<listitem><para>Cette option
indique aux programmes créés par le paquet de chercher leurs fichiers de
configuration dans <filename class="directory">/etc</filename>.</para></listitem>
</varlistentry>
</variablelist>
 
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 id="contents-less" role="content"><title>Contents of Less</title>
 
<segmentedlist>
<segtitle>Installed programs</segtitle>
<seglistitem><seg>less, lessecho et lesskey</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="less">
<term><command>less</command></term>
<listitem>
<para>un visualisateur de fichiers. Il affiche le contenu du fichier donné,
vous permettant d'aller vers le haut et vers le bas, de chercher des chaînes
et de sauter vers des repères</para>
<indexterm zone="ch-system-less less"><primary sortas="b-less">less</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="lessecho">
<term><command>lessecho</command></term>
<listitem>
<para>nécessaire pour étendre les meta-caractères, comme <emphasis>*</emphasis>
et <emphasis>?</emphasis>, dans les noms de fichiers de systèmes Unix</para>
<indexterm zone="ch-system-less lessecho"><primary sortas="b-lessecho">lessecho</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="lesskey">
<term><command>lesskey</command></term>
<listitem>
<para>utilisé pour spécifier les
associations de touches pour <command>less</command></para>
<indexterm zone="ch-system-less lesskey"><primary sortas="b-lesskey">lesskey</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter06/readjusting.xml
0,0 → 1,106
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-readjusting">
<title>Ré-ajustement de l'ensemble d'outils</title>
<?dbhtml filename="readjusting.html"?>
 
<para>Maintenant que les bibliothèques C finales ont été
installées, il est temps d'ajuster de nouveau l'ensemble d'outils. L'ensemble
d'outils sera ajusté de façon à ce qu'il lie tout programme nouvellement
compilé avec ces nouvelles bibliothèques. C'est le même processus que celui
utilisé dans la phase <quote>Ajustement</quote> au début du <xref
linkend="chapter-temporary-tools"/>, avec les ajustements inversés. Dans <xref
linkend="chapter-temporary-tools"/>, l'ensemble était passé des répertoires
<filename class="directory">/{,usr/}lib</filename> de l'hôte dans le nouveau
répertoire <filename class="directory">/tools/lib</filename>. Maintenant,
l'ensemble sera guidé du même répertoire <filename
class="directory">/tools/lib</filename> vers les répertoires
<filename class="directory">/{,usr/}lib</filename> de LFS.</para>
 
<para>Commencez en ajustant l'éditeur de liens. Les répertoires des sources et
de construction de la deuxième passe de Binutils ont été conservés dans ce
but. Installez l'éditeur de liens ajusté en exécutant la commande suivante à
partir du répertoire <filename
class="directory">binutils-build</filename>&nbsp;:</para>
 
<screen><userinput>make -C ld INSTALL=/tools/bin/install install</userinput></screen>
 
<note><para>Si le précédent avertissement pour conserver les répertoires des
sources et de construction de Binutils lors de la deuxième passe dans <xref
linkend="chapter-temporary-tools"/> a été oublié, ou s'ils ont été
accidentellement supprimés ou rendus inaccessibles, ignorez la commande
ci-dessus. Le résultat en sera que le prochain paquet, Binutils, sera lié aux
bibliothèques C dans <filename class="directory">/tools</filename> plutôt que
dans <filename class="directory">/{,usr/}lib</filename>. Ceci n'est pas idéal.
Néanmoins, les tests ont montrés que les binaires Binutils résultants devraient
être identiques.</para></note>
 
<para>À partir de maintenant, chaque programme compilé sera lié avec les
bibliothèques de <filename class="directory">/usr/lib</filename> et de
<filename class="directory">/lib</filename>. L'option supplémentaire
<parameter>INSTALL=/tools/bin/install</parameter> est nécessaire car le fichier
<filename>Makefile</filename> créé lors de la seconde passe contient toujours
la référence à <command>/usr/bin/install</command>, qui n'a pas encore été
installé. Quelques distributions hôtes contiennent un lien symbolique <filename
class="symlink">ginstall</filename> qui est prioritaire dans le fichier
<filename>Makefile</filename> et peut cause un problème. La commande ci-dessus
tient compte de ce problème.</para>
 
<para>Supprimez les répertoires des sources et de construction de Binutils
maintenant.</para>
 
<para>Ensuite, modifiez le fichier specs de GCC pour qu'il pointe sur le nouvel
éditeur de liens. Une commande <command>perl</command> accomplit ceci&nbsp;:</para>
 
<screen><userinput>perl -pi -e 's@ /tools/lib/ld-linux.so.2@ /lib/ld-linux.so.2@g;' \
-e 's@\*startfile_prefix_spec:\n@$_/usr/lib/ @g;' \
`gcc --print-file specs`</userinput></screen>
 
<para>C'est une bonne idée d'inspecter visuellement le fichier specs pour
vérifier que les modifications attendues ont réellement été effectuées.</para>
 
<important><para>En travaillant sur une plateforme où le nom de l'éditeur de
liens est quelque chose d'autres que <filename
class="libraryfile">ld-linux.so.2</filename>, substituez
<quote>ld-linux.so.2</quote> par le nom de l'éditeur de liens dans les
commandes suivantes. Référez-vous à <xref
linkend="ch-tools-toolchaintechnotes" role=","/> si
nécessaire.</para></important>
 
<beginpage/>
 
<caution><para>Il est impératif à ce moment d'arrêter et de vous assurer que le
s fonctions basiques (compilation et édition des liens) de l'ensemble des
outils ajusté fonctionnent comme attendu. Pour cela, réalisez une petite
vérification&nbsp;:</para>
 
<screen><userinput>echo 'main(){}' &gt; dummy.c
cc dummy.c
readelf -l a.out | grep ': /lib'</userinput></screen>
 
<para>Si tout fonctionne correctement, il ne devrait pas y avoir d'erreurs et
la sortie de la commande sera (avec des différences spécifiques aux plateformes
dans le nom de l'éditeur de liens)&nbsp;:</para>
 
<screen><computeroutput>[Requesting program interpreter: /lib/ld-linux.so.2]</computeroutput></screen>
 
<para>Notez que <filename class="directory">/lib</filename> est maintenant le
préfixe de notre éditeur de liens.</para>
 
<para>Si la sortie n'apparaît pas comme ce qui est montré ci-dessus ou si
aucune sortie n'est renvoyée, alors quelque chose s'est mal passé. Investiguez
et retracez les étapes pour savoir d'où vient le problème et comment le
corriger. La raison la plus probable est que quelque chose s'est mal passé lors
de la modification du fichier specs ci-dessus. Tout problème devra être résolu
avant de continuer le processus.</para>
 
<para>Une fois que tout fonctionne correctement, nettoyez les fichiers
tests&nbsp;:</para>
 
<screen><userinput>rm -v dummy.c a.out</userinput></screen></caution>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter06/udev.xml
0,0 → 1,162
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-udev" role="wrap">
<title>Udev-&udev-version;</title>
<?dbhtml filename="udev.html"?>
 
<indexterm zone="ch-system-udev"><primary sortas="a-Udev">Udev</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Udev contient des programmes pour créer dynamiquement des
n&oelig;uds périphériques.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>6,7&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Coreutils et Make</seg></seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation d'Udev</title>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make udevdir=/dev</userinput></screen>
 
<variablelist>
<varlistentry>
<term><parameter>udevdir=/dev</parameter></term>
<listitem><para>Ceci indique à <command>udev</command> le répertoire où les
n&oelig;uds périphériques doivent être créés.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Pour tester les résultats, exécutez&nbsp;:
<userinput>make test</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make DESTDIR=/ udevdir=/dev install</userinput></screen>
 
<para>Voici la signification de l'option de make&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>DESTDIR=/</parameter>
</term>
<listitem>
<para>Ceci empêche le processus de construction d'Udev de tuer tous les
processus <command>udevd</command> qui pourraient être en cours
d'exécution sur le système hôte.
</para>
</listitem>
</varlistentry>
</variablelist>
 
<para>La configuration par défaut d'Udev est loin d'être idéale, donc
installez les fichiers de configuration maintenant&nbsp;:</para>
 
<screen><userinput>cp -v ../&udev-config-file; /etc/udev/rules.d/25-lfs.rules</userinput></screen>
 
<!-- Edit Me -->
<para>Exécutez les programme <command>udevstart</command> pour créer notre
complément des n&oelig;uds de périphériques.</para>
 
<screen><userinput>/sbin/udevstart</userinput></screen>
 
</sect2>
 
<sect2 id="contents-udev" role="content"><title>Contenu d'Udev</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Répertoire installé</segtitle>
<seglistitem><seg>udev, udevd, udevsend, udevstart, udevinfo et udevtest</seg>
<seg>/etc/udev</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="udev">
<term><command>udev</command></term>
<listitem>
<para>Crée les n&oelig;uds périphériques dans <filename
class="directory">/dev</filename> ou renomme les interfaces réseau (pas dans
LFS) en réponse aux événements de montage à chaud</para>
<indexterm zone="ch-system-udev udev"><primary sortas="b-udev">udev</primary></indexterm>
<beginpage/></listitem></varlistentry>
 
<varlistentry id="udevd">
<term><command>udevd</command></term>
<listitem>
<para>Un démon qui réordonne les événements de montage à chaud avant de les
soumettre à <command>udev</command>, évitant ainsi différentes conditions
particulières</para>
<indexterm zone="ch-system-udev udevd"><primary sortas="b-udevd">udevd</primary></indexterm>
</listitem></varlistentry>
 
<varlistentry id="udevsend">
<term><command>udevsend</command></term>
<listitem>
<para>Délivre les événements de montage à chaud à <command>udevd</command></para>
<indexterm zone="ch-system-udev udevsend"><primary sortas="b-udevsend">udevsend</primary></indexterm>
</listitem></varlistentry>
 
<varlistentry id="udevstart">
<term><command>udevstart</command></term>
<listitem>
<para>Crée des n&oelig;uds périphériques dans <filename
class="directory">/dev</filename> correspondant aux pilotes compilés directement
dans le noyau&nbsp;; il réalise des tâches en simulant les événements de montage
à chaud présumément supprimés par le noyau avant l'appel de ce programme (parce
que le système de fichiers root n'a pas été démonté) et en soumettant des
événements synthétiques de montage à chaud à <command>udev</command></para>
<indexterm zone="ch-system-udev udevstart"><primary sortas="b-udevstart">udevstart</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="udevinfo">
<term><command>udevinfo</command></term>
<listitem>
<para>Autorise les utilisateurs à envoyer des requêtes à la base de données
<command>udev</command> pour des informations sur tout périphérique actuellement
présent sur le système&nbsp;; il fournit aussi une façon d'envoyer une requête à
tout périphérique dans la hiérarchie <systemitem
class="filesystem">sysfs</systemitem> pour aider à la création des règles udev
</para>
<indexterm zone="ch-system-udev udevinfo"><primary sortas="b-udevinfo">udevinfo</primary></indexterm>
</listitem></varlistentry>
 
<varlistentry id="udevtest">
<term><command>udevtest</command></term>
<listitem>
<para>Simule un lancement d'<command>udev</command> pour le périphérique donné
et affiche le nom du n&oelig;ud que le vrai <command>udev</command> aurait créé
ou (pas dans LFS) le nom de l'interface réseau renommé</para>
<indexterm zone="ch-system-udev udevtest"><primary sortas="b-udevtest">udevtest</primary></indexterm>
</listitem></varlistentry>
 
<varlistentry id="etc-udev">
<term><filename class="directory">/etc/udev</filename></term>
<listitem>
<para>Contient les fichiers de configuration d'<command>udev</command>, les
droits des périphériques et les règles du nommage des périphériques</para>
<indexterm zone="ch-system-udev etc-udev"><primary sortas="e-/etc/udev">/etc/udev</primary></indexterm>
</listitem></varlistentry>
</variablelist>
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter06/man-pages.xml
0,0 → 1,61
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-man-pages" role="wrap">
<title>Man-pages-&man-pages-version;</title>
<?dbhtml filename="man-pages.html"?>
 
<indexterm zone="ch-system-man-pages"><primary sortas="a-Man-pages">Man-pages</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Man-pages contient plus de 1&nbsp;200 pages man.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>25,8&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Coreutils et Make</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Man-pages</title>
 
<para>Installez Man-pages en lançant&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-manpages" role="content"><title>Contenu de Man-pages</title>
 
<segmentedlist>
<segtitle>Fichiers installés</segtitle>
<seglistitem><seg>plusieurs pages man</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="man-pages">
<term><filename>pages man</filename></term>
<listitem>
<para>Décrivent les fonctions C et C++, les fichiers périphériques importants
et des fichiers de configuration significatifs</para>
<indexterm zone="ch-system-man-pages man-pages"><primary sortas="e-man-pages">pages man</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter06/inetutils.xml
0,0 → 1,182
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-inetutils" role="wrap">
<title>Inetutils-&inetutils-version;</title>
<?dbhtml filename="inetutils.html"?>
 
<indexterm zone="ch-system-inetutils"><primary sortas="a-Inetutils">Inetutils</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Inetutils contient des programmes réseau basiques.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>8,7&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils,
Diffutils, GCC, Glibc, Grep, Make, Ncurses et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Inetutils</title>
 
<para>Inetutils a quelques soucis avec la série 2.6 du noyau Linux. Corrigez-les
en appliquant le correctif suivant&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&inetutils-kernel_headers-patch;</userinput></screen>
 
<para>Les programmes venant avec Inetutils ne seront pas tous installés.
Néanmoins, le système de construction d'Inetutils insistera malgré tout sur
l'installation de toutes les pages man. Le correctif suivant corrigera cette
situation&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&inetutils-man_pages-patch;</userinput></screen>
 
<para>Préparez la compilation d'Inetutils&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --libexecdir=/usr/sbin \
--sysconfdir=/etc --localstatedir=/var \
--disable-logger --disable-syslogd \
--disable-whois --disable-servers</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--disable-logger</parameter></term>
<listitem><para>Cette option empêche l'installation du programme
<command>logger</command> par Inetutils. Ce programme est utilisé par les
scripts pour passer des messages au démon des traces système. Nous ne
l'installons pas car Util-linux livre une version bien meilleure après.
</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--disable-syslogd</parameter></term>
<listitem><para>Cette option empêche l'installation du démon de traces système
par Inetutils car il est installé avec le paquet Sysklogd.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--disable-whois</parameter></term>
<listitem><para>cette option désactive la construction du client
<command>whois</command> d'Inetutils qui est vraiment obsolète. Les instructions
pour un meilleur client <command>whois</command> sont dans le livre BLFS.
</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--disable-servers</parameter></term>
<listitem><para>Ceci désactive l'installation des différents serveurs réseau
inclus dans le paquet Inetutils. Ces serveurs semblent inappropriés dans un
système LFS de base. Certains sont non sécurisés et ne sont pas considérés
sains sur des réseaux de confiance. Plus d'informations sont disponibles sur
<ulink url="&blfs-root;view/svn/basicnet/inetutils.html"/>.
Notez que de meilleurs remplacements sont disponibles pour certains de ces
serveurs.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Déplacez le programme <command>ping</command> à un emplacement compatible
avec FHS&nbsp;:</para>
 
<screen><userinput>mv -v /usr/bin/ping /bin</userinput></screen>
 
</sect2>
 
<sect2 id="contents-inetutils" role="content"><title>Contenu d'Inetutils</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>ftp, ping, rcp, rlogin, rsh, talk, telnet et tftp</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="ftp">
<term><command>ftp</command></term>
<listitem>
<para>Est un programme pour le protocole de transfert de fichier</para>
<indexterm zone="ch-system-inetutils ftp"><primary sortas="b-ftp">ftp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ping">
<term><command>ping</command></term>
<listitem>
<para>Envoie des paquets echo-request et affiche le temps mis pour que la
réponse arrive</para>
<indexterm zone="ch-system-inetutils ping"><primary sortas="b-ping">ping</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rcp">
<term><command>rcp</command></term>
<listitem>
<para>Fait une copie de fichiers distants</para>
<indexterm zone="ch-system-inetutils rcp"><primary sortas="b-rcp">rcp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rlogin">
<term><command>rlogin</command></term>
<listitem>
<para>Permet une connexion à distance</para>
<indexterm zone="ch-system-inetutils rlogin"><primary sortas="b-rlogin">rlogin</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rsh">
<term><command>rsh</command></term>
<listitem>
<para>Exécute un shell distant</para>
<indexterm zone="ch-system-inetutils rsh"><primary sortas="b-rsh">rsh</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="talk">
<term><command>talk</command></term>
<listitem>
<para>Est utilisé pour discuter avec un autre utilisateur</para>
<indexterm zone="ch-system-inetutils talk"><primary sortas="b-talk">talk</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="telnet">
<term><command>telnet</command></term>
<listitem>
<para>Une interface du protocole TELNET</para>
<indexterm zone="ch-system-inetutils telnet"><primary sortas="b-telnet">telnet</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tftp">
<term><command>tftp</command></term>
<listitem>
<para>Un programme de transfert trivial de fichiers</para>
<indexterm zone="ch-system-inetutils tftp"><primary sortas="b-tftp">tftp</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter06/readline.xml
0,0 → 1,116
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-readline" role="wrap">
<title>Readline-&readline-version;</title>
<?dbhtml filename="readline.html"?>
 
<indexterm zone="ch-system-readline"><primary sortas="a-Readline">Readline</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Readline est un ensemble de bibliothèques qui offrent des
fonctionnalités d'édition de la ligne de commande et d'historique.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,11&nbsp;SBU</seg><seg>9,1&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Binutils, Coreutils, Diffutils, Gawk,
GCC, Glibc, Grep, Make, Ncurses et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Readline</title>
 
<para>Le correctif suivant inclut une correction pour un problème où Readline
affiche parfois seulement 33 caractères sur une ligne puis continue sur la
suivante. Il inclut aussi d'autres corrections recommandées par l'auteur de
Readline.</para>
 
<screen><userinput>patch -Np1 -i ../&readline-fixes-patch;</userinput></screen>
 
<para>Préparez la compilation de Readline&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --libdir=/lib</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make SHLIB_XLDFLAGS=-lncurses</userinput></screen>
 
<para>Voici la signification de l'option de make&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>SHLIB_XLDFLAGS=-lncurses</parameter></term>
<listitem><para>Cette option force Readline à se lier à la bibliothèque
<filename class="libraryfile">libncurses</filename>.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Donnez aux bibliothèques dynamiques de Readline plus de droits
appropriés&nbsp;:</para>
 
<screen><userinput>chmod -v 755 /lib/lib{readline,history}.so*</userinput></screen>
 
<para>Maintenant, déplacez les bibliothèques dynamiques à un emplacement plus
appropriées&nbsp;:</para>
 
<screen><userinput>mv -v /lib/lib{readline,history}.a /usr/lib</userinput></screen>
 
<para>Ensuite, supprimez les fichiers <filename class="extension">.so</filename>
dans <filename class="directory">/lib</filename> et créez un lien vers <filename
class="directory">/usr/lib</filename>.</para>
 
<screen><userinput>rm -v /lib/lib{readline,history}.so
ln -sfv ../../lib/libreadline.so.5 /usr/lib/libreadline.so
ln -sfv ../../lib/libhistory.so.5 /usr/lib/libhistory.so</userinput></screen>
 
<beginpage/>
 
</sect2>
 
<sect2 id="contents-readline" role="content"><title>Contenu de Readline</title>
<segmentedlist>
<segtitle>Bibliothèques installées</segtitle>
<seglistitem><seg>libhistory.[a,so] et libreadline.[a,so]</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="libhistory">
<term><filename class="libraryfile">libhistory</filename></term>
<listitem>
<para>Fournit une interface utilisateur cohérente pour rappeler des lignes
dans l'historique</para>
<indexterm zone="ch-system-readline libhistory"><primary sortas="c-libhistory">libhistory</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libreadline">
<term><filename class="libraryfile">libreadline</filename></term>
<listitem>
<para>Aide à une cohérence dans l'interface utilisateur pour des programmes
discrets qui ont besoin d'une interface en ligne de commande</para>
<indexterm zone="ch-system-readline libreadline"><primary sortas="c-libreadline">libreadline</primary></indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter06/module-init-tools.xml
0,0 → 1,156
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-module-init-tools" role="wrap">
<title>Module-Init-Tools-&module-init-tools-version;</title>
<?dbhtml filename="module-init-tools.html"?>
 
<indexterm zone="ch-system-module-init-tools"><primary sortas="a-Module-Init-Tools">Module-Init-Tools</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Module-Init-Tools contient des programmes de gestion des modules
des noyaux Linux pour les versions 2.5.47 et ultérieures.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>4,9&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Bison,
Coreutils, Diffutils, Flex, GCC, Glibc, Grep, M4, Make et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Module-Init-Tools</title>
 
<para>Module-Init-Tools tente de ré-écrire sa page man
<filename>modprobe.conf</filename> lors de la construction. Ceci n'est pas
nécessaire et repose aussi sur la commande <command>docbook2man</command>
&mdash; qui n'est pas installé dans LFS. Lancez la commande suivante pour
éviter ceci&nbsp;:</para>
 
<screen><userinput>touch modprobe.conf.5</userinput></screen>
 
<para>Si vous souhaitez exécuter la suite de tests du Module-Init-Tools, vous
aurez besoin de télécharger l'archive tar séparé. Exécutez les commandes
suivantes pour réaliser les tests (notez que la commande
<command>make distclean</command> est requise pour nettoyer le répertoire des
sources car les sources sont de nouveau compilés par le processus de test)&nbsp;:
</para>
 
<screen><userinput>tar -xvf ../module-init-tools-testsuite-&module-init-tools-version;.tar.bz2 --strip-path=1 &amp;&amp;
./configure &amp;&amp;
make check &amp;&amp;
make distclean</userinput></screen>
 
<para>Préparez la compilation de Module-Init-Tools&nbsp;:</para>
 
<screen><userinput>./configure --prefix="" --enable-zlib</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--enable-zlib</parameter></term>
<listitem><para>Ceci permet au paquetage Module-Init-Tools de gérer les modules
noyau compressés.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-module-init-tools" role="content"><title>Contenu de Module-Init-Tools</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>depmod, insmod,
insmod.static, lsmod (lien vers insmod), modinfo, modprobe (lien vers
insmod) et rmmod (lien vers insmod)</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="depmod">
<term><command>depmod</command></term>
<listitem>
<para>Crée un fichier de dépendances basé sur les symboles trouvés dans
l'ensemble de modules existants&nbsp;; ce fichier de dépendances est utilisé
par <command>modprobe</command> pour charger automatiquement les modules requis
</para>
<indexterm zone="ch-system-module-init-tools depmod"><primary sortas="b-depmod">depmod</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="insmod">
<term><command>insmod</command></term>
<listitem>
<para>Installe un module chargeable dans le noyau en cours d'exécution</para>
<indexterm zone="ch-system-module-init-tools insmod"><primary sortas="b-insmod">insmod</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="insmod.static">
<term><command>insmod.static</command></term>
<listitem>
<para>Une version compilée statiquement de <command>insmod</command></para>
<indexterm zone="ch-system-module-init-tools insmod.static"><primary
sortas="b-insmod.static">insmod.static</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="lsmod">
<term><command>lsmod</command></term>
<listitem>
<para>Liste les modules déjà chargés</para>
<indexterm zone="ch-system-module-init-tools lsmod"><primary sortas="b-lsmod">lsmod</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="modinfo">
<term><command>modinfo</command></term>
<listitem>
<para>Examine un fichier objet associé à un module du noyau et affiche toute
information qu'il peut récupérer</para>
<indexterm zone="ch-system-module-init-tools modinfo"><primary sortas="b-modinfo">modinfo</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="modprobe">
<term><command>modprobe</command></term>
<listitem>
<para>Utilise un fichier de dépendances, créé par
<command>depmod</command>, pour charger automatiquement les modules adéquats</para>
<indexterm zone="ch-system-module-init-tools modprobe"><primary sortas="b-modprobe">modprobe</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rmmod">
<term><command>rmmod</command></term>
<listitem>
<para>Décharge les modules du noyau en cours d'exécution</para>
<indexterm zone="ch-system-module-init-tools rmmod"><primary sortas="b-rmmod">rmmod</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter06/shadow.xml
0,0 → 1,490
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-shadow" role="wrap">
<title>Shadow-&shadow-version;</title>
<?dbhtml filename="shadow.html"?>
 
<indexterm zone="ch-system-shadow"><primary
sortas="a-Shadow">Shadow</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Shadow contient des programmes de gestion de mots de passe
d'une façon sécurisée.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,4&nbsp;SBU</seg><seg>13,7&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Bison, Coreutils, Diffutils, GCC, Gettext,
Glibc, Grep, Make et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Shadow</title>
 
<note><para>Si vous voulez forcer l'utilisation de mots de passe forts,
référez-vous à <ulink url="&blfs-root;view/svn/postlfs/cracklib.html"/> pour
l'installation de Cracklib avant de construire Shadow. Puis, ajoutez
<parameter>--with-libcrack</parameter> à la commande
<command>configure</command> ci-dessous.</para></note>
 
<para>Préparez la compilation de Shadow&nbsp;:</para>
 
<screen><userinput>./configure --libdir=/lib --enable-shared</userinput></screen>
 
<para>Désactivez l'installation du programme <command>groups</command> et de sa
page man car Coreutils fournit une meilleure version&nbsp;:</para>
 
<screen><userinput>sed -i 's/groups$(EXEEXT) //' src/Makefile
sed -i '/groups/d' man/Makefile</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para id="shadow-limits-login_access">Shadow utilise deux fichiers pour
configurer les paramétrages d'authentification du système. Installez ces deux
fichiers de configuration&nbsp;:</para>
 
<indexterm zone="shadow-limits-login_access"><primary
sortas="e-/etc/limits">/etc/limits</primary></indexterm>
<indexterm zone="shadow-limits-login_access"><primary
sortas="e-/etc/login.access">/etc/login.access</primary></indexterm>
 
<screen><userinput>cp -v etc/{limits,login.access} /etc</userinput></screen>
 
<para id="shadow-login_defs">Au lieu d'utiliser la méthode
<emphasis>crypt</emphasis> par défaut, nous voulons utiliser la méthode
<emphasis>MD5</emphasis> plus sécurisée pour le cryptage des mots de passe, qui
autorise aussi une taille de mot de passe de plus de huit caractères. Il est
aussi nécessaire de modifier l'emplacement obsolète <filename
class="directory">/var/spool/mail</filename> des boîtes de courrier
électronique des utilisateurs pour que Shadow utilise par défaut le nouveau
<filename class="directory">/var/mail</filename> disponible maintenant. Ces
deux points se réalisent en modifiant le fichier de configuration adéquat tout
en le copiant à sa destination&nbsp;:</para>
 
<indexterm zone="shadow-login_defs"><primary
sortas="e-/etc/login.defs">/etc/login.defs</primary></indexterm>
 
<note><para>Si vous construisez Shadow avec le support de Cracklib, insérez ce
qui suit dans la commande <command>sed</command> indiquée ci-dessous&nbsp;:</para>
 
<screen><literal>-e 's@DICTPATH.*@DICTPATH\t/lib/cracklib/pw_dict@'</literal></screen>
</note>
 
<beginpage/>
 
<screen><userinput>sed -e's@#MD5_CRYPT_ENAB.no@MD5_CRYPT_ENAB yes@' \
-e 's@/var/spool/mail@/var/mail@' \
etc/login.defs.linux &gt; /etc/login.defs</userinput></screen>
 
<para>Déplacez un programme au bon emplacement&nbsp;:</para>
 
<screen><userinput>mv -v /usr/bin/passwd /bin</userinput></screen>
 
<para>Déplacez les bibliothèques de Shadow dans des emplacements plus
appropriés&nbsp;:</para>
 
<screen><userinput>mv -v /lib/libshadow.*a /usr/lib
rm -v /lib/libshadow.so
ln -sfv ../../lib/libshadow.so.0 /usr/lib/libshadow.so</userinput></screen>
 
<beginpage/>
 
<para>L'option <parameter>-D</parameter> du programme
<filename>useradd</filename> requiert le répertoire <filename
class="directory">/etc/default</filename> pour fonctionner
correctement&nbsp;:</para>
 
<screen><userinput>mkdir -v /etc/default</userinput></screen>
 
</sect2>
 
 
<sect2 id="conf-shadow" role="configuration"><title>Configurer Shadow</title>
<indexterm zone="conf-shadow">
<primary sortas="a-Shadow">Shadow</primary>
<secondary>configuration</secondary></indexterm>
 
<para>Ce paquet contient des outils pour ajouter, modifier, supprimer
des utilisateurs et des groupes, initialiser et changer leur mots de
passe, et bien d'autres tâches administratives. Pour une explication complète
de ce que signifie <emphasis>password shadowing</emphasis>, jetez un &oelig;il
dans le fichier <filename>doc/HOWTO</filename> à l'intérieur du répertoire
source. Il reste une chose à garder à l'esprit si vous décidez d'utiliser le
support de Shadow&nbsp;: les programmes qui ont besoin de vérifier les mots de
passe (gestionnaires d'affichage, programmes FTP, démons pop3 et ainsi de
suite) ont besoin d'être <emphasis>compatible avec shadow</emphasis>,
c'est-à-dire qu'ils ont besoin d'être capables de fonctionner avec des mots de
passe shadow.</para>
 
<para>Pour activer les mots de passe shadow, lancez la commande
suivante&nbsp;:</para>
 
<screen><userinput>pwconv</userinput></screen>
 
<para>Pour activer les mots de passe shadow pour les groupes,
lancez&nbsp;:</para>
 
<screen><userinput>grpconv</userinput></screen>
 
<para>Sous des circonstances normales, vous n'avez pas encore créé de mots
de passe. Néanmoins, si vous revenez plus tard dans cette section pour activer
les mots de passe shadow, réinitialisez tous les mots de passe des utilisateurs
actuels avec la commande <command>passwd</command> et les mots de passe des
groupes avec la commande <command>gpasswd</command>.</para>
 
</sect2>
 
 
<sect2 role="configuration">
<title>Configurer le mot de passe de root</title>
 
<para>Choisissez un mot de passe pour l'utilisateur <emphasis>root</emphasis>
et configurez-le avec&nbsp;:</para>
 
<screen role="nodump"><userinput>passwd root</userinput></screen>
</sect2>
 
<sect2 id="contents-shadow" role="content"><title>Contenu de Shadow</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèques installées</segtitle>
<seglistitem><seg>chage, chfn, chpasswd, chsh, expiry, faillog, gpasswd,
groupadd, groupdel, groupmod, grpck, grpconv, grpunconv, lastlog,
login, logoutd, mkpasswd, newgrp, newusers, passwd, pwck, pwconv, pwunconv, sg
(lien vers newgrp), useradd, userdel, usermod, vigr (lien vers vipw) et
vipw</seg>
<seg>libshadow.[a,so]</seg>
</seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="chage">
<term><command>chage</command></term>
<listitem>
<para>Utilisé pour modifier le nombre maximum de jours avant d'obliger un
changement de mot de passe</para>
<indexterm zone="ch-system-shadow chage"><primary
sortas="b-chage">chage</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="chfn">
<term><command>chfn</command></term>
<listitem>
<para>Utilisé pour modifier le nom complet de l'utilisateur et quelques autres
informations</para>
<indexterm zone="ch-system-shadow chfn"><primary
sortas="b-chfn">chfn</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="chpasswd">
<term><command>chpasswd</command></term>
<listitem>
<para>Utilisé pour mettre à jour les mots de passe d'une série de compte en une
fois</para>
<indexterm zone="ch-system-shadow chpasswd"><primary
sortas="b-chpasswd">chpasswd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="chsh">
<term><command>chsh</command></term>
<listitem>
<para>Utilisé pour modifier le shell de connexion par défaut d'un
utilisateur</para>
<indexterm zone="ch-system-shadow chsh"><primary
sortas="b-chsh">chsh</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="expiry">
<term><command>expiry</command></term>
<listitem>
<para>vérifie et renforce la politique d'expiration des mots de passe</para>
<indexterm zone="ch-system-shadow expiry"><primary
sortas="b-expiry">expiry</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="faillog">
<term><command>faillog</command></term>
<listitem>
<para>Est utilisé pour examiner les traces d'échecs de connexions, pour
configurer le nombre maximum d'échecs avant qu'un compte ne soit bloqué ou pour
réinitialiser le nombre d'échecs</para>
<indexterm zone="ch-system-shadow faillog"><primary
sortas="b-faillog">faillog</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gpasswd">
<term><command>gpasswd</command></term>
<listitem>
<para>Est utilisé pour ajouter et supprimer des membres et des administrateurs
aux groupes</para>
<indexterm zone="ch-system-shadow gpasswd"><primary
sortas="b-gpasswd">gpasswd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="groupadd">
<term><command>groupadd</command></term>
<listitem>
<para>Crée un groupe avec le nom donné</para>
<indexterm zone="ch-system-shadow groupadd"><primary
sortas="b-groupadd">groupadd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="groupdel">
<term><command>groupdel</command></term>
<listitem>
<para>Supprime le groupe ayant le nom donné</para>
<indexterm zone="ch-system-shadow groupdel"><primary
sortas="b-groupdel">groupdel</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="groupmod">
<term><command>groupmod</command></term>
<listitem>
<para>Est utilisé pour modifier le nom ou le GID du groupe</para>
<indexterm zone="ch-system-shadow groupmod"><primary
sortas="b-groupmod">groupmod</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grpck">
<term><command>grpck</command></term>
<listitem>
<para>Vérifie l'intégrité des fichiers <filename>/etc/group</filename>
et <filename>/etc/gshadow</filename></para>
<indexterm zone="ch-system-shadow grpck"><primary
sortas="b-grpck">grpck</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grpconv">
<term><command>grpconv</command></term>
<listitem>
<para>Ccrée ou met à jour le fichier shadow à partir du fichier group
standard</para>
<indexterm zone="ch-system-shadow grpconv"><primary
sortas="b-grpconv">grpconv</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grpunconv">
<term><command>grpunconv</command></term>
<listitem>
<para>Met à jour <filename>/etc/group</filename> à partir de
<filename>/etc/gshadow</filename> puis supprime ce dernier</para>
<indexterm zone="ch-system-shadow grpunconv"><primary
sortas="b-grpunconv">grpunconv</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="lastlog">
<term><command>lastlog</command></term>
<listitem>
<para>Indique les connexions les plus récentes de tous les utilisateurs ou d'un
utilisateur donné</para>
<indexterm zone="ch-system-shadow lastlog"><primary
sortas="b-lastlog">lastlog</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="login">
<term><command>login</command></term>
<listitem>
<para>Est utilisé par le système pour permettre aux utilisateurs de se
connecter</para>
<indexterm zone="ch-system-shadow login"><primary
sortas="b-login">login</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="logoutd">
<term><command>logoutd</command></term>
<listitem>
<para>Est un démon utilisé pour renforcer les restrictions sur les temps et
ports de connexion</para>
<indexterm zone="ch-system-shadow logoutd"><primary
sortas="b-logoutd">logoutd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mkpasswd">
<term><command>mkpasswd</command></term>
<listitem>
<para>Crypte les mots de passe au hasard</para>
<indexterm zone="ch-system-shadow mkpasswd"><primary
sortas="b-mkpasswd">mkpasswd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="newgrp">
<term><command>newgrp</command></term>
<listitem>
<para>Est utilisé pour modifier le GID courant pendant une session de
connexion</para>
<indexterm zone="ch-system-shadow newgrp"><primary
sortas="b-newgrp">newgrp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="newusers">
<term><command>newusers</command></term>
<listitem>
<para>Est utilisé pour créer ou mettre à jour toute une série de comptes
utilisateur en une fois</para>
<indexterm zone="ch-system-shadow newusers"><primary
sortas="b-newusers">newusers</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="passwd">
<term><command>passwd</command></term>
<listitem>
<para>Est utilisé pour modifier le mot de passe d'un utilisateur ou d'un
groupe</para>
<indexterm zone="ch-system-shadow passwd"><primary
sortas="b-passwd">passwd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pwck">
<term><command>pwck</command></term>
<listitem>
<para>Vérifie l'intégrité des fichiers de mots de passe,
<filename>/etc/passwd</filename> et <filename>/etc/shadow</filename></para>
<indexterm zone="ch-system-shadow pwck"><primary
sortas="b-pwck">pwck</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pwconv">
<term><command>pwconv</command></term>
<listitem>
<para>Crée ou met à jour le fichier de mots de passe shadow à partir du fichier
password habituel</para>
<indexterm zone="ch-system-shadow pwconv"><primary
sortas="b-pwconv">pwconv</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pwunconv">
<term><command>pwunconv</command></term>
<listitem>
<para>Met à jour <filename>/etc/passwd</filename> à partir de
<filename>/etc/shadow</filename> puis supprime ce dernier</para>
<indexterm zone="ch-system-shadow pwunconv"><primary
sortas="b-pwunconv">pwunconv</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="sg">
<term><command>sg</command></term>
<listitem>
<para>Exécute une commande donnée lors de
l'initialisation du GID de l'utilisateur à un groupe donné</para>
<indexterm zone="ch-system-shadow sg"><primary
sortas="b-sg">sg</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="su">
<term><command>su</command></term>
<listitem>
<indexterm zone="ch-system-shadow su"><primary
sortas="b-su">su</primary></indexterm>
<para>Lance un shell en substituant les ID de l'utilisateur et du groupe</para>
</listitem>
</varlistentry>
 
<varlistentry id="useradd">
<term><command>useradd</command></term>
<listitem>
<para>Crée un nouvel utilisateur avec le nom donné ou met à jour les
informations par défaut du nouvel utilisateur</para>
<indexterm zone="ch-system-shadow useradd"><primary
sortas="b-useradd">useradd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="userdel">
<term><command>userdel</command></term>
<listitem>
<para>Supprime le compte utilisateur indiqué</para>
<indexterm zone="ch-system-shadow userdel"><primary
sortas="b-userdel">userdel</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="usermod">
<term><command>usermod</command></term>
<listitem>
<para>Est utilisé pour modifier le nom de connexion de l'utilisateur, son UID
(<foreignphrase>User Identification</foreignphrase>, soit Identification
Utilisateur), shell, groupe initial, répertoire personnel et ainsi de
suite</para>
<indexterm zone="ch-system-shadow usermod"><primary
sortas="b-usermod">usermod</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="vigr">
<term><command>vigr</command></term>
<listitem>
<para>Édite les fichiers <filename>/etc/group</filename> et
<filename>/etc/gshadow</filename></para>
<indexterm zone="ch-system-shadow vigr"><primary
sortas="b-vigr">vigr</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="vipw">
<term><command>vipw</command></term>
<listitem>
<para>Édite les fichiers <filename>/etc/passwd</filename> et
<filename>/etc/shadow</filename></para>
<indexterm zone="ch-system-shadow vipw"><primary
sortas="b-vipw">vipw</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libshadow">
<term><filename class="libraryfile">libshadow</filename></term>
<listitem>
<para>Contient des fonctions utilisées par la plupart des programmes de ce
paquet</para>
<indexterm zone="ch-system-shadow libshadow"><primary
sortas="c-libshadow">libshadow</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter06/bzip2.xml
0,0 → 1,205
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-bzip2" role="wrap">
<title>Bzip2-&bzip2-version;</title>
<?dbhtml filename="bzip2.html"?>
 
<indexterm zone="ch-system-bzip2"><primary sortas="a-Bzip2">Bzip2</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Bzip2 contient des programmes de compression et décompression
de fichiers. Compresser des fichiers texte avec <command>bzip2</command>
permettent d'atteindre un taux de compression bien meilleur qu'avec
l'outil <command>gzip</command> traditionnel.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>3,9&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc et Make</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Bzip2</title>
 
<para>Appliquez un correctif pour installer la documentation de ce
paquet&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&bzip2-docs-patch;</userinput></screen>
 
<para>La commande <command>bzgrep</command> n'échappe pas '|' et '&amp;' dans
les noms de fichiers qui lui sont passés. Ceci permet l'exécution de commandes
arbitraires avec les droits de l'utilisateur exécutant <command>bzgrep</command>.
Appliquez ce qui suit pour corriger cela&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&bzip2-bzgrep-patch;</userinput></screen>
 
<para>Préparez la compilation de Bzip2 avec&nbsp;:</para>
 
<screen><userinput>make -f Makefile-libbz2_so
make clean</userinput></screen>
 
<para>Le commutateur <parameter>-f</parameter> fera que Bzip2 sera construit
en utilisant un fichier <filename>Makefile</filename> différent, dans ce cas
le fichier <filename>Makefile-libbz2_so</filename>, qui crée une bibliothèque
<filename class="libraryfile">libbz2.so</filename> dynamique et lie les outils
Bzip2 avec.</para>
 
<para>Compilez et testez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>En cas de réinstallation de Bzip2, effectuez un
<userinput>rm -vf /usr/bin/bz*</userinput> en premier, sinon les prochains
<command>make install</command> échoueront.</para>
 
<para>Installez les programmes&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Installez le binaire dynamique <command>bzip2</command> dans le répertoire
<filename class="directory">/bin</filename>, créez les liens symboliques
nécessaires et nettoyez&nbsp;:</para>
 
<screen><userinput>cp -v bzip2-shared /bin/bzip2
cp -av libbz2.so* /lib
ln -sv ../../lib/libbz2.so.1.0 /usr/lib/libbz2.so
rm -v /usr/bin/{bunzip2,bzcat,bzip2}
ln -sv bzip2 /bin/bunzip2
ln -sv bzip2 /bin/bzcat</userinput></screen>
 
<beginpage/>
 
</sect2>
 
 
<sect2 id="contents-bzip2" role="content"><title>Contenu de Bzip2</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèques installées</segtitle>
<seglistitem><seg>bunzip2 (lien vers bzip2), bzcat (lien vers bzip2), bzcmp,
bzdiff, bzegrep, bzfgrep, bzgrep, bzip2, bzip2recover, bzless et bzmore</seg>
<seg>libbz2.[a,so]</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="bunzip2">
<term><command>bunzip2</command></term>
<listitem>
<para>Décompresse les fichiers compressés avec bzip</para>
<indexterm zone="ch-system-bzip2 bunzip2"><primary sortas="b-bunzip2">bunzip2</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="bzcat">
<term><command>bzcat</command></term>
<listitem>
<para>Décompresse vers la sortie standard</para>
<indexterm zone="ch-system-bzip2 bzcat"><primary sortas="b-bzcat">bzcat</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="bzcmp">
<term><command>bzcmp</command></term>
<listitem>
<para>Lance <command>cmp</command> sur des fichiers compressés avec bzip</para>
<indexterm zone="ch-system-bzip2 bzcmp"><primary sortas="b-bzcmp">bzcmp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="bzdiff">
<term><command>bzdiff</command></term>
<listitem>
<para>Lance <command>diff</command> sur des fichiers compressés avec bzip</para>
<indexterm zone="ch-system-bzip2 bzdiff"><primary sortas="b-bzdiff">bzdiff</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="bzgrep">
<term><command>bzgrep</command></term>
<listitem>
<para>Lance <command>grep</command> sur des fichiers compressés avec bzip</para>
<indexterm zone="ch-system-bzip2 bzgrep"><primary sortas="b-bzgrep">bzgrep</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="bzegrep">
<term><command>bzegrep</command></term>
<listitem>
<para>Lance <command>egrep</command> sur des fichiers compressés avec bzip</para>
<indexterm zone="ch-system-bzip2 bzegrep"><primary sortas="b-bzegrep">bzegrep</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="bzfgrep">
<term><command>bzfgrep</command></term>
<listitem>
<para>Lance <command>fgrep</command> sur des fichiers compressés avec bzip</para>
<indexterm zone="ch-system-bzip2 bzfgrep"><primary sortas="b-bzfgrep">bzfgrep</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="bzip2">
<term><command>bzip2</command></term>
<listitem>
<para>Compresse les fichiers en utilisant l'algorithme de compression de texte
par tri de blocs de Burrows-Wheeler avec le codage Huffman&nbsp;; le taux de
compression est meilleur que celui auquel parviennent les outils de compression
plus conventionnels utilisant les algorithmes <quote>Lempel-Ziv</quote>, comme
<command>gzip</command></para>
<indexterm zone="ch-system-bzip2 bzip2"><primary sortas="b-bzip2">bzip2</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="bzip2recover">
<term><command>bzip2recover</command></term>
<listitem>
<para>Essaie de récupérer des données à partir de fichiers endommagés, compressés
avec bzip</para>
<indexterm zone="ch-system-bzip2 bzip2recover"><primary sortas="b-bzip2recover">bzip2recover</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="bzless">
<term><command>bzless</command></term>
<listitem>
<para>Lance <command>less</command> sur des fichiers compressés avec bzip</para>
<indexterm zone="ch-system-bzip2 bzless"><primary sortas="b-bzless">bzless</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="bzmore">
<term><command>bzmore</command></term>
<listitem>
<para>Lance <command>more</command> sur des fichiers compressés avec bzip</para>
<indexterm zone="ch-system-bzip2 bzmore"><primary sortas="b-bzmore">bzmore</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libbz2">
<term><filename class="libraryfile">libbz2*</filename></term>
<listitem>
<para>La bibliothèque implémentant la compression de données sans perte par tri
de blocs, utilisant l'algorithme de Burrows-Wheeler</para>
<indexterm zone="ch-system-bzip2 libbz2"><primary sortas="c-libbz2*">libbz2*</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter06/tar.xml
0,0 → 1,86
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-tar" role="wrap">
<title>Tar-&tar-version;</title>
<?dbhtml filename="tar.html"?>
 
<indexterm zone="ch-system-tar"><primary sortas="a-Tar">Tar</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Tar contient un programme d'archivage.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>12,7&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Tar</title>
 
<para>Tar a un bogue quand l'option <parameter>-S</parameter> est utilisée avec
des fichiers de plus de 4&nbsp;Go. Le correctif suivant corrige proprement ce
problème&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&tar-sparse_fix-patch;</userinput></screen>
 
<para>Préparez la compilation de Tar&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --bindir=/bin --libexecdir=/usr/sbin</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 id="contents-tar" role="content"><title>Contenu de Tar</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>rmt et tar</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="rmt">
<term><command>rmt</command></term>
<listitem>
<para>Manipule à distance un lecteur de bandes magnétiques via une connexion
de communication interprocessus</para>
<indexterm zone="ch-system-tar rmt"><primary sortas="b-rmt">rmt</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tar">
<term><command>tar</command></term>
<listitem>
<para>Crée, extrait des fichiers à partir d'archives et liste le contenu
d'archives, connues sous le nom d'archives tar</para>
<indexterm zone="ch-system-tar tar"><primary sortas="b-tar">tar</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter06/kernfs.xml
0,0 → 1,38
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-kernfs">
<title>Monter les systèmes de fichiers virtuels du noyau</title>
<?dbhtml filename="kernfs.html"?>
 
<para>Différents systèmes de fichiers exportés par le noyau sont utilisés pour
communiquer avec le noyau. Ces systèmes de fichiers sont virtuels par le fait
qu'aucun espace disque n'est utilisé pour eux. Le contenu de ces systèmes de
fichiers réside en mémoire.</para>
 
<para>Commencez en créant les répertoires dans lesquels les systèmes de fichiers
seront montés&nbsp;:</para>
 
<screen><userinput>mkdir -pv $LFS/{proc,sys}</userinput></screen>
 
<para>Maintenant, montez les systèmes de fichiers&nbsp;:</para>
 
<screen><userinput>mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys</userinput></screen>
 
<para>Rappelez-vous que si vous stoppez le système LFS et que vous le relancez,
il est important de vérifier que ces systèmes de fichiers sont montés avant
d'entrer dans l'environnement chroot.</para>
 
<para>Des systèmes de fichiers supplémentaires seront bientôt montés à
l'intérieur de l'environnement chroot. Pour garder l'hôte à jour, réalisez un
<quote>faux montage</quote> pour chacun d'entre eux maintenant&nbsp;:</para>
 
<screen><userinput>mount -vft tmpfs tmpfs $LFS/dev
mount -vft tmpfs tmpfs $LFS/dev/shm
mount -vft devpts -o gid=4,mode=620 devpts $LFS/dev/pts</userinput></screen>
 
</sect1>
 
/tags/LFS-6_1_1/lfs/chapter06/binutils.xml
0,0 → 1,278
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-binutils" role="wrap">
<title>Binutils-&binutils-version;</title>
<?dbhtml filename="binutils.html"?>
 
<indexterm zone="ch-system-binutils"><primary sortas="a-Binutils">Binutils</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Binutils contient un éditeur de liens, un assembleur et
d'autres outils pour gérer des fichiers objets.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>1,3&nbsp;SBU</seg><seg>158&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Bison, Coreutils, Diffutils, Flex, GCC, Gettext,
Glibc, Grep, M4, Make, Perl, Sed et Texinfo</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Binutils</title>
 
<para>Ce paquet est connu pour avoir des soucis quand les options d'optimisation
par défaut (en incluant les options <parameter>-march</parameter> et
<parameter>-mcpu</parameter>) sont modifiées. Donc, si des variables d'environnement
qui surchargent les optimisations par défaut, telles que <envar>CFLAGS</envar>
et <envar>CXXFLAGS</envar>, ont été définies, supprimez cette initialisation
pour la construction de Binutils.</para>
 
<para>Vérifiez que les pseudo-terminaux (PTY) fonctionnent correctement dans
l'environnement chroot. Vérifiez que tout est bien configuré en effectuant un
test simple&nbsp;:</para>
 
<screen><userinput>expect -c "spawn ls"</userinput></screen>
 
<para>Si le message suivant apparaît, l'environnement chroot n'est pas configuré
correctement pour des opérations sur les PTY&nbsp;:</para>
 
<screen><computeroutput>The system has no more ptys.
Ask your system administrator to create more.</computeroutput></screen>
 
<para>Ce problème doit être résolu avant de lancer les suites de tests pour
Binutils et GCC.</para>
 
<para>La documentation de Binutils recommande de construire Binutils à
l'extérieur du répertoire des sources dans un répertoire dédié&nbsp;:</para>
 
<screen><userinput>mkdir -v ../binutils-build
cd ../binutils-build</userinput></screen>
 
<para>Préparez la compilation de Binutils&nbsp;:</para>
 
<screen><userinput>../binutils-&binutils-version;/configure --prefix=/usr \
--enable-shared</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make tooldir=/usr</userinput></screen>
 
<para>Normalement, le répertoire tooldir (celui où seront placés les
exécutables) est configuré avec <filename
class="directory">$(exec_prefix)/$(target_alias)</filename>. Par exemple, les
machines i686 l'étendront en <filename
class="directory">/usr/i686-pc-linux-gnu</filename>. Comme il s'agit d'un
système personnalisé, nous n'avons pas besoin d'un répertoire spécifique à notre
cible dans <filename class="directory">/usr</filename>. <filename
class="directory">$(exec_prefix)/$(target_alias)</filename> serait utilisée si
le système avait pour but une cross-compilation (par exemple, compiler un paquet
sur une machine Intel qui génère du code pouvant être exécuté sur des machines
PowerPC).</para>
 
<important><para>La suite de tests de Binutils dans cette section est
considérée comme critique. Ne pas la laissez passer, quelqu'en soit la
raison.</para></important>
 
<para>Testez les résultats&nbsp;:</para>
 
<screen><userinput>make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make tooldir=/usr install</userinput></screen>
 
<para>Installez le fichier d'en-tête <filename
class="headerfile">libiberty</filename>, requis par certains paquets&nbsp;:
</para>
 
<screen><userinput>cp -v ../binutils-&binutils-version;/include/libiberty.h /usr/include</userinput></screen>
 
</sect2>
 
<sect2 id="contents-binutils" role="content"><title>Contenu de Binutils</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèques installées</segtitle>
<seglistitem><seg>addr2line, ar, as, c++filt, gprof, ld, nm, objcopy, objdump,
ranlib, readelf, size, strings et strip</seg>
<seg>libiberty.a, libbfd.[a,so] et libopcodes.[a,so]</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="addr2line">
<term><command>addr2line</command></term>
<listitem>
<para>Traduit les adresses de programme en noms de fichier et numéros de
ligne&nbsp;; suivant une adresse et le nom d'un exécutable, il utilise les
informations de débogage disponibles dans l'exécutable pour déterminer le
fichier source et le numéro de ligne associé à cette adresse</para>
<indexterm zone="ch-system-binutils addr2line"><primary sortas="b-addr2line">addr2line</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ar">
<term><command>ar</command></term>
<listitem>
<para>Crée, modifie et extrait à partir d'archives</para>
<indexterm zone="ch-system-binutils ar"><primary sortas="b-ar">ar</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="as">
<term><command>as</command></term>
<listitem>
<para>Un assembleur qui assemble la sortie de <command>gcc</command> en un
fichier objet</para>
<indexterm zone="ch-system-binutils as"><primary sortas="b-as">as</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="c-filt">
<term><command>c++filt</command></term>
<listitem>
<para>Utilisé par l'éditeur de liens pour récupérer les symboles C++ et Java,
et pour empêcher les fonctions surchargées d'arrêter brutalement le programme
</para>
<indexterm zone="ch-system-binutils c-filt"><primary sortas="b-c++filt">c++filt</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gprof">
<term><command>gprof</command></term>
<listitem>
<para>Affiche les données de profilage d'appels dans un graphe</para>
<indexterm zone="ch-system-binutils gprof"><primary sortas="b-gprof">gprof</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ld">
<term><command>ld</command></term>
<listitem>
<para>Un éditeur de liens combinant un certain nombre d'objets et de fichiers
archives en un seul fichier, en déplaçant leur données et en regroupant les
références de symboles</para>
<indexterm zone="ch-system-binutils ld"><primary sortas="b-ld">ld</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="nm">
<term><command>nm</command></term>
<listitem>
<para>Liste les symboles disponibles dans un fichier objet</para>
<indexterm zone="ch-system-binutils nm"><primary sortas="b-nm">nm</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="objcopy">
<term><command>objcopy</command></term>
<listitem>
<para>Traduit un type de fichier objet en un autre</para>
<indexterm zone="ch-system-binutils objcopy"><primary sortas="b-objcopy">objcopy</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="objdump">
<term><command>objdump</command></term>
<listitem>
<para>Affiche des informations sur le fichier objet donné, les options
contrôlant les informations à afficher&nbsp;; l'information affichée est
surtout utile aux programmeurs qui travaillent sur les outils de compilation
</para>
<indexterm zone="ch-system-binutils objdump"><primary sortas="b-objdump">objdump</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ranlib">
<term><command>ranlib</command></term>
<listitem>
<para>Génère un index du contenu d'une archive et le stocke dans l'archive&nbsp;;
l'index liste tous les symboles définis par les membres de l'archive qui sont
des fichiers objet déplaçables</para>
<indexterm zone="ch-system-binutils ranlib"><primary sortas="b-ranlib">ranlib</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="readelf">
<term><command>readelf</command></term>
<listitem>
<para>Affiche des informations sur les binaires du type ELF</para>
<indexterm zone="ch-system-binutils readelf"><primary sortas="b-readelf">readelf</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="size">
<term><command>size</command></term>
<listitem>
<para>Liste les tailles des sections et la taille totale pour les fichiers
objets donnés</para>
<indexterm zone="ch-system-binutils size"><primary sortas="b-size">size</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="strings">
<term><command>strings</command></term>
<listitem>
<para>Affiche, pour chaque fichier donné, la séquence de caractères affichables
qui sont d'au moins la taille spécifiée (par défaut, 4)&nbsp;; pour les fichiers
objets, il affiche, par défaut, seulement les chaînes des sections
d'initialisation et de chargement alors que pour les autres types de fichiers,
il parcourt le fichier entier</para>
<indexterm zone="ch-system-binutils strings"><primary sortas="b-strings">strings</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="strip">
<term><command>strip</command></term>
<listitem>
<para>Supprime les symboles des fichiers objets</para>
<indexterm zone="ch-system-binutils strip"><primary sortas="b-strip">strip</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libiberty">
<term><filename class="libraryfile">libiberty</filename></term>
<listitem>
<para>contient des routines utilisées par différents programmes GNU comme
<command>getopt</command>, <command>obstack</command>,
<command>strerror</command>, <command>strtol</command> et
<command>strtoul</command></para>
<indexterm zone="ch-system-binutils libiberty"><primary sortas="c-libiberty">libiberty</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libbfd">
<term><filename class="libraryfile">libbfd</filename></term>
<listitem>
<para>La bibliothèque des descripteurs de fichiers binaires
(<foreignphrase>Binary File Descriptor</foreignphrase>)</para>
<indexterm zone="ch-system-binutils libbfd"><primary sortas="c-libbfd">libbfd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libopcodes">
<term><filename class="libraryfile">libopcodes</filename></term>
<listitem>
<para>Une bibliothèque de gestion des opcodes&mdash;la <quote>version
lisible</quote> des instructions du processeur&nbsp;; elle est utilisée pour
construire des outils comme <command>objdump</command>.</para>
<indexterm zone="ch-system-binutils libopcodes"><primary sortas="c-libopcodes">libopcodes</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter06/vim.xml
0,0 → 1,346
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-vim" role="wrap">
<title>Vim-&vim-version;</title>
<?dbhtml filename="vim.html"?>
 
<indexterm zone="ch-system-vim"><primary sortas="a-Vim">Vim</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Vim contient un puissant éditeur de texte.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,4&nbsp;SBU</seg><seg>38&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make, Ncurses et Sed</seg></seglistitem>
</segmentedlist>
 
<tip>
<title>Alternatives à Vim</title>
<para>Si vous préférez un autre éditeur, comme Emacs, Joe ou Nano, merci de vous
référer à <ulink url="&blfs-root;view/svn/postlfs/editors.html"/> pour des
instructions d'installation.</para>
</tip>
</sect2>
 
<sect2 role="installation">
<title>Installation de Vim</title>
 
<para>Tout d'abord, déballez les archives
<filename>vim-&vim-version;.tar.bz2</filename> et (en option)
<filename>vim-&vim-version;-lang.tar.gz</filename> dans le même répertoire.
Puis, changez l'emplacement par défaut du fichier de configuration
<filename>vimrc</filename> <filename class="directory">/etc</filename>&nbsp;:</para>
 
<screen><userinput>echo '#define SYS_VIMRC_FILE "/etc/vimrc"' &gt;&gt; src/feature.h</userinput></screen>
 
<para>Vim a deux vulnérabilités de sécurité déjà adressées par le mainteneur. Le
correctif suivant s'occupe de ces problèmes&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&vim-security_fix-patch;</userinput></screen>
 
<para>Maintenant, préparez la compilation de Vim&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --enable-multibyte</userinput></screen>
 
<para>Voici la signification de l'option de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--enable-multibyte</parameter></term>
<listitem><para>Ce commutateur optionnel mais hautement recommandé inclut le
support pour l'édition de fichiers comprenant des codages de caractères
multioctets. Ceci est nécessaire dans le cas d'une utilisation d'une
locale avec un ensemble de caractères multi-octets. Ce commutateur peut aussi
être utile pour avoir la capacité d'éditer des fichiers créés initialement avec
des distributions Linux comme Fedora Core qui utilise UTF-8 comme ensemble de
caractères par défaut.</para>
</listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make test</userinput>. Néanmoins, cette suite de tests affiche à
l'écran beaucoup de caractères binaires qui peuvent causer des soucis sur
votre terminal. Ceci peut se résoudre en redirigeant la sortie vers un journal
de traces.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Beaucoup d'utilisateurs sont habitués à utiliser <command>vi</command> au
lieu de <command>vim</command>. Pour permettre l'exécution de
<command>vim</command> quand les utilisateurs saisissent habituellement
<command>vi</command>, créez un lien symbolique&nbsp;:</para>
 
<screen><userinput>ln -sv vim /usr/bin/vi</userinput></screen>
 
<para>Si un système X Window va être installé sur votre système LFS, il pourrait
être nécessaire de recompiler Vim après avoir installé X. Vim fournit alors une
jolie version GUI de l'éditeur qui requiert X et quelques autres bibliothèques
pour s'installer. Pour plus d'informations sur ce processus, référez-vous à la
documentation de Vim et à la page d'installation de Vim dans le livre BLFS sur
<ulink url="&blfs-root;view/svn/postlfs/editors.html#postlfs-editors-vim"/>.</para>
 
</sect2>
 
 
<sect2 id="conf-vim" role="configuration"><title>Configurer Vim</title>
<indexterm zone="conf-vim"><primary sortas="e-/etc/vim">/etc/vim</primary></indexterm>
 
<para>Par défaut, <command>vim</command> est lancé en mode compatible vi.
Ceci pourrait être nouveau pour les personnes qui ont utilisé d'autres éditeurs
dans le passé. Le paramètre <quote>nocompatible</quote> est inclus ci-dessous
pour surligner le fait qu'un nouveau comportement est en cours d'utilisation.
Il rappelle aussi à ceux qui voudraient le changer en mode
<quote>compatible</quote> qu'il devrait être le premier paramètre dans le fichier
de configuration. Ceci est nécessaire car il modifie d'autres paramètres et la
surcharge doit survenir après ce paramètre. Créez un fichier de configuration
<command>vim</command> par défaut en lançant ce qui suit&nbsp;:</para>
 
<screen><userinput>cat &gt; /etc/vimrc &lt;&lt; "EOF"
<literal>" Début /etc/vimrc
 
set nocompatible
set backspace=2
syntax on
if (&amp;term == "iterm") || (&amp;term == "putty")
set background=dark
endif
 
" Fin /etc/vimrc</literal>
EOF</userinput></screen>
 
<para>L'option <parameter>set nocompatible</parameter> change le comportement
de <command>vim</command> d'une façon plus utile que le comportement compatible
vi. Supprimez <quote>no</quote> pour conserver le comportement de l'ancien
<command>vi</command>. Le paramètre <parameter>set backspace=2</parameter>
permet le retour en arrière après des sauts de ligne, l'indentation automatique
et le début de l'insertion. L'instruction <parameter>syntax
on</parameter> active la coloration syntaxique. Enfin, l'instruction
<emphasis>if</emphasis> avec <parameter>set background=dark</parameter> corrige
l'estimation de <command>vim</command> concernant la couleur du fond de certains
émulateurs de terminaux. Ceci permet d'utiliser de meilleurs gammes de couleurs
pour la coloration syntaxique, notamment avec les fonds noirs de ces programmes.
</para>
 
<para>La documentation pour les autres options disponibles peut être obtenue
en lançant la commande suivante&nbsp;:</para>
 
<screen role="nodump"><userinput>vim -c ':options'</userinput></screen>
 
</sect2>
 
<sect2 id="contents-vim" role="content"><title>Contenu de Vim</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>efm_filter.pl, efm_perl.pl, ex (lien vers vim), less.sh,
mve.awk, pltags.pl, ref, rview (lien vers vim), rvim (lien vers vim),
shtags.pl, tcltags, vi (lien vers vim), view (lien vers vim), vim, vim132,
vim2html.pl, vimdiff (lien vers vim), vimm, vimspell.sh, vimtutor et
xxd</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="efm_filter.pl">
<term><command>efm_filter.pl</command></term>
<listitem>
<para>Un filtre pour créer un fichier d'erreur pouvant être lu par
<command>vim</command></para>
<indexterm zone="ch-system-vim efm_filter.pl"><primary sortas="b-efm_filter.pl">efm_filter.pl</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="efm_perl.pl">
<term><command>efm_perl.pl</command></term>
<listitem>
<para>Reformate les messages d'erreur de l'interpréteur Perl pour utiliser le
mode <quote>quickfix</quote> de <command>vim</command></para>
<indexterm zone="ch-system-vim efm_perl.pl"><primary sortas="b-efm_perl.pl">efm_perl.pl</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ex">
<term><command>ex</command></term>
<listitem>
<para>Lance <command>vim</command> en mode ex</para>
<indexterm zone="ch-system-vim ex"><primary sortas="b-ex">ex</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="less.sh">
<term><command>less.sh</command></term>
<listitem>
<para>Un script qui exécute <command>vim</command> avec less.vim</para>
<indexterm zone="ch-system-vim less.sh"><primary sortas="b-less.sh">less.sh</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mve.awk">
<term><command>mve.awk</command></term>
<listitem>
<para>Traite les erreurs de <command>vim</command></para>
<indexterm zone="ch-system-vim mve.awk"><primary sortas="b-mve.awk">mve.awk</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pltags.pl">
<term><command>pltags.pl</command></term>
<listitem>
<para>Crée un fichier de balises pour le code Perl, utilisé par
<command>vim</command></para>
<indexterm zone="ch-system-vim pltags.pl"><primary sortas="b-pltags.pl">pltags.pl</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ref">
<term><command>ref</command></term>
<listitem>
<para>Vérifie la validité des arguments</para>
<indexterm zone="ch-system-vim ref"><primary sortas="b-ref">ref</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rview">
<term><command>rview</command></term>
<listitem>
<para>Une version restreinte de <command>view</command>&nbsp;: aucune commande
shell ne peut être lancée et <command>view</command> ne peut pas être suspendu
</para>
<indexterm zone="ch-system-vim rview"><primary sortas="b-rview">rview</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rvim">
<term><command>rvim</command></term>
<listitem>
<para>Une version restreinte de <command>vim</command>&nbsp;: aucune commande
shell ne peut être lancée et <command>vim</command> ne peut pas être suspendu
</para>
<indexterm zone="ch-system-vim rvim"><primary sortas="b-rvim">rvim</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="shtags.pl">
<term><command>shtags.pl</command></term>
<listitem>
<para>Génère un fichier de balises pour les scripts Perl</para>
<indexterm zone="ch-system-vim shtags.pl"><primary sortas="b-shtags.pl">shtags.pl</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tcltags">
<term><command>tcltags</command></term>
<listitem>
<para>Génère un fichier de balises pour le code TCL</para>
<indexterm zone="ch-system-vim tcltags"><primary sortas="b-tcltags">tcltags</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="view">
<term><command>view</command></term>
<listitem>
<para>Lance <command>vim</command> en mode lecture seule</para>
<indexterm zone="ch-system-vim view"><primary sortas="b-view">view</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="vi">
<term><command>vi</command></term>
<listitem>
<para>L'éditeur</para>
<indexterm zone="ch-system-vim vi"><primary sortas="b-vi">vi</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="vim">
<term><command>vim</command></term>
<listitem>
<para>L'éditeur</para>
<indexterm zone="ch-system-vim vim"><primary sortas="b-vim">vim</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="vim132">
<term><command>vim132</command></term>
<listitem>
<para>Lance <command>vim</command> avec le terminal en mode 132 colonnes</para>
<indexterm zone="ch-system-vim vim132"><primary sortas="b-vim132">vim132</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="vim2html.pl">
<term><command>vim2html.pl</command></term>
<listitem>
<para>Convertit la documentation de Vim en HTML</para>
<indexterm zone="ch-system-vim vim2html.pl"><primary sortas="b-vim2html.pl">vim2html.pl</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="vimdiff">
<term><command>vimdiff</command></term>
<listitem>
<para>Édite deux ou trois versions d'un fichier avec <command>vim</command> et
montre les différences</para>
<indexterm zone="ch-system-vim vimdiff"><primary sortas="b-vimdiff">vimdiff</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="vimm">
<term><command>vimm</command></term>
<listitem>
<para>Active le modèle d'entrée DEC sur un terminal distant</para>
<indexterm zone="ch-system-vim vimm"><primary sortas="b-vimm">vimm</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="vimspell.sh">
<term><command>vimspell.sh</command></term>
<listitem>
<para>Un script qui vérifie un fichier et génère les instructions de syntaxe nécessaires pour mettre en surlignage dans <command>vim</command>. Ce script
requiert l'ancienne commande Unix <command>spell</command>, qui n'est fourni
ni par LFS ni par BLFS</para>
<indexterm zone="ch-system-vim vimspell.sh"><primary sortas="b-vimspell.sh">vimspell.sh</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="vimtutor">
<term><command>vimtutor</command></term>
<listitem>
<para>Vous apprend les touches et les commandes basiques de
<command>vim</command></para>
<indexterm zone="ch-system-vim vimtutor"><primary sortas="b-vimtutor">vimtutor</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="xxd">
<term><command>xxd</command></term>
<listitem>
<para>Fait un affichage hexa du fichier donné. Il peut aussi faire l'inverse
pour une correspondance binaire</para>
<indexterm zone="ch-system-vim xxd"><primary sortas="b-xxd">xxd</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter06/grub.xml
0,0 → 1,131
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-grub" role="wrap">
<title>Grub-&grub-version;</title>
<?dbhtml filename="grub.html"?>
 
<indexterm zone="ch-system-grub"><primary sortas="a-Grub">Grub</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Grub contient un chargeur de démarrage, le <foreignphrase>GRand
Unified Bootloader</foreignphrase>.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>10,0&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make, Ncurses et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Grub</title>
 
<para>Ce paquet est connu pour avoir des soucis quand les options d'optimisation
par défaut (en incluant les options <parameter>-march</parameter> et
<parameter>-mcpu</parameter>) sont modifiées. Donc, si des variables d'environnement
qui surchargent les optimisations par défaut, telles que <envar>CFLAGS</envar>
et <envar>CXXFLAGS</envar>, ont été définies, supprimez cette initialisation
pour la construction de Grub.</para>
 
<para>Préparez la compilation de Grub&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Notez que les résultats des tests afficheront toujours l'erreur
<quote>ufs2_stage1_5 is too big</quote>. Ceci est dû à un problème du
compilateur mais peut être ignoré sauf si vous planifiez de démarrer à partir
d'une partition LFS. Normalement, les partitions sont uniquement utilisées par
les stations de travail Sun.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install
mkdir -v /boot/grub
cp -v /usr/lib/grub/i386-pc/stage{1,2} /boot/grub</userinput></screen>
 
<para>Remplacez <filename class="directory">i386-pc</filename> par le
répertoire adéquat pour le matériel utilisé.</para>
 
<para>Le répertoire <filename class="directory">i386-pc</filename> contient
aussi un certain nombre de fichiers <filename>*stage1_5</filename>, différents
suivant les différents systèmes de fichiers. Jetez un &oelig;il aux fichiers
disponibles et copiez les bons dans le répertoire <filename
class="directory">/boot/grub</filename>. La plupart des utilisateurs copieront
les fichiers <filename>e2fs_stage1_5</filename> et/ou
<filename>reiserfs_stage1_5</filename>.</para>
 
</sect2>
 
<sect2 id="contents-grub" role="content"><title>Contenu de Grub</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>grub, grub-install,
grub-md5-crypt, grub-terminfo et mbchk</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="grub">
<term><command>grub</command></term>
<listitem>
<para>Le shell de commande pour Grub</para>
<indexterm zone="ch-system-grub grub"><primary sortas="b-grub">grub</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grub-install">
<term><command>grub-install</command></term>
<listitem>
<para>Installe GRUB sur le périphérique spécifié</para>
<indexterm zone="ch-system-grub grub-install"><primary sortas="b-grub-install">grub-install</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grub-md5-crypt">
<term><command>grub-md5-crypt</command></term>
<listitem>
<para>Crypte un mot de passe au format MD5</para>
<indexterm zone="ch-system-grub grub-md5-crypt"><primary sortas="b-grub-md5-crypt">grub-md5-crypt</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grub-terminfo">
<term><command>grub-terminfo</command></term>
<listitem>
<para>Génère une commande terminfo à partir d'un nom terminfo. Il est
utilisable si vous avez un terminal non usuel</para>
<indexterm zone="ch-system-grub grub-terminfo"><primary sortas="b-grub-terminfo">grub-terminfo</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mbchk">
<term><command>mbchk</command></term>
<listitem>
<para>Vérifie le format d'un noyau multi-boot</para>
<indexterm zone="ch-system-grub mbchk"><primary sortas="b-mbchk">mbchk</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter06/findutils.xml
0,0 → 1,145
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-findutils" role="wrap">
<title>Findutils-&findutils-version;</title>
<?dbhtml filename="findutils.html"?>
 
<indexterm zone="ch-system-findutils"><primary sortas="a-Findutils">Findutils</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Findutils contient des programmes de recherche de fichiers.
Ces programmes sont fournis pour rechercher récursivement dans une hiérarchie
de répertoires et pour créer, maintenir et chercher dans une base de données
(souvent plus rapide que la recherche récursive mais moins fiable si la base de
données n'a pas été mise à jour récemment).</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>9,4&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Findutils</title>
 
<para>Préparez la compilation de Findutils&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --libexecdir=/usr/lib/locate \
--localstatedir=/var/lib/misc</userinput></screen>
 
<para>Voici la signification de l'option de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--localstatedir</parameter></term>
<listitem><para>Cette option modifie l'emplacement de la base de données
<command>locate</command> avec <filename
class="directory">/var/lib/locate</filename>, pour être compatible avec
FHS.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
</sect2>
 
<sect2 id="contents-findutils" role="content"><title>Contenu de Findutils</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>bigram, code, find, frcode, locate, updatedb et xargs</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="bigram">
<term><command>bigram</command></term>
<listitem>
<para>Était auparavant utilisé pour créer les bases de données
<command>locate</command></para>
<indexterm zone="ch-system-findutils bigram"><primary sortas="b-bigram">bigram</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="code">
<term><command>code</command></term>
<listitem>
<para>Était auparavant utilisé pour créer les bases de données
<command>locate</command>. Il est l'ancêtre de <command>frcode</command>.
</para>
<indexterm zone="ch-system-findutils code"><primary sortas="b-code">code</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="find">
<term><command>find</command></term>
<listitem>
<para>Cherche dans les hiérarchies de répertoires donnés les fichiers
correspondant à un critère spécifié</para>
<indexterm zone="ch-system-findutils find"><primary sortas="b-find">find</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="frcode">
<term><command>frcode</command></term>
<listitem>
<para>est appelé par <command>updatedb</command> pour compacter la liste des
noms de fichiers. Il utilise front-compression, réduisant la taille de la base
de données d'un facteur de 4 à 5</para>
<indexterm zone="ch-system-findutils frcode"><primary sortas="b-frcode">frcode</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="locate">
<term><command>locate</command></term>
<listitem>
<para>recherche à travers la base de données des noms de fichiers et renvoie
les noms contenant une certaine chaîne ou correspondant à un certain modèle
</para>
<indexterm zone="ch-system-findutils locate"><primary sortas="b-locate">locate</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="updatedb">
<term><command>updatedb</command></term>
<listitem>
<para>met à jour la base de données <command>locate</command>. Il parcourt le
système de fichiers entier (en incluant les autres systèmes de fichiers
actuellement montés, sauf si le contraire est spécifié) et place tous les noms
de fichiers qu'ils trouvent dans la base de données</para>
<indexterm zone="ch-system-findutils updatedb"><primary sortas="b-updatedb">updatedb</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="xargs">
<term><command>xargs</command></term>
<listitem>
<para>Peut être utilisé pour lancer une commande donnée sur une liste de fichiers</para>
<indexterm zone="ch-system-findutils xargs"><primary sortas="b-xargs">xargs</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter06/perl.xml
0,0 → 1,367
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-perl" role="wrap">
<title>Perl-&perl-version;</title>
<?dbhtml filename="perl.html"?>
 
<indexterm zone="ch-system-perl"><primary
sortas="a-Perl">Perl</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Perl contient le langage pratique d'extraction et de rapport
(<foreignphrase>Practical Extraction and Report Language</foreignphrase>).</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>4,1&nbsp;SBU</seg><seg>140&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
Gawk, GCC, Glibc, Grep, Make et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Perl</title>
 
<para>Si vous voulez avoir un contrôle total sur la façon dont Perl est
configuré, lancez le script interactif <command>Configure</command>
et choisissez la façon dont le paquet est construit. Si les valeurs par défaut
détectées automatiquement sont convenables, préparez la compilation de
Perl ainsi&nbsp;:</para>
 
<screen><userinput>./configure.gnu --prefix=/usr -Dpager="/bin/less -isR"</userinput></screen>
 
<para>Voici la signification de l'option de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>-Dpager="/bin/less -isR"</parameter></term>
<listitem><para>Ceci corrige une erreur dans la façon dont
<command>perldoc</command> fait appel au programme
<command>less</command>.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour exécuter la suite de tests, créez tout d'abord un fichier
<filename>/etc/hosts</filename> basique, nécessaire à
quelques tests pour résoudre le nom <emphasis>localhost</emphasis>&nbsp;:</para>
 
<screen><userinput>echo "127.0.0.1 localhost $(hostname)" &gt; /etc/hosts</userinput></screen>
 
<para>Maintenant, lancez les tests si vous le souhaitez&nbsp;:</para>
 
<screen><userinput>make test</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 id="contents-perl" role="content"><title>Contenu de Perl</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèques installées</segtitle>
<seglistitem><seg>a2p, c2ph, dprofpp, enc2xs,
find2perl, h2ph, h2xs, libnetcfg, perl, perl&perl-version; (lien vers perl),
perlbug, perlcc, perldoc, perlivp, piconv, pl2pm, pod2html, pod2latex, pod2man,
pod2text, pod2usage, podchecker, podselect, psed (lien vers s2p), pstruct (lien
vers c2ph), s2p, splain et xsubpp</seg>
<seg>Quelques centaines qui ne pourraient pas toutes être listées
ici</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="a2p">
<term><command>a2p</command></term>
<listitem>
<para>Traduit awk en perl</para>
<indexterm zone="ch-system-perl a2p"><primary
sortas="b-a2p">a2p</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="c2ph">
<term><command>c2ph</command></term>
<listitem>
<para>Affiche les structures C comme si elles étaient générées à partir de
<command>cc -g -S</command></para>
<indexterm zone="ch-system-perl c2ph"><primary
sortas="b-c2ph">c2ph</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dprofpp">
<term><command>dprofpp</command></term>
<listitem>
<para>Affiche les données profile de Perl</para>
<indexterm zone="ch-system-perl dprofpp"><primary
sortas="b-dprofpp">dprofpp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="en2cxs">
<term><command>en2cxs</command></term>
<listitem>
<para>construit une extension Perl pour
le module Encode, soit à partir de <foreignphrase>Unicode Character
Mappings</foreignphrase> soit à partir de <foreignphrase>Tcl Encoding
Files</foreignphrase></para>
<indexterm zone="ch-system-perl en2cxs"><primary
sortas="b-en2cxs">en2cxs</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="find2perl">
<term><command>find2perl</command></term>
<listitem>
<para>Traduit les commandes <command>find</command> en Perl</para>
<indexterm zone="ch-system-perl find2perl"><primary
sortas="b-find2perl">find2perl</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="h2ph">
<term><command>h2ph</command></term>
<listitem>
<para>Convertit les fichiers d'en-têtes C <filename
class="extension">.h</filename> en fichiers d'en-têtes Perl <filename
class="extension">.ph</filename></para>
<indexterm zone="ch-system-perl h2ph"><primary
sortas="b-h2ph">h2ph</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="h2xs">
<term><command>h2xs</command></term>
<listitem>
<para>Convertit les fichiers d'en-têtes C <filename
class="extension">.h</filename> en extensions Perl</para>
<indexterm zone="ch-system-perl h2xs"><primary
sortas="b-h2xs">h2xs</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libnetcfg">
<term><command>libnetcfg</command></term>
<listitem>
<para>Peut être utilisé pour configurer <filename
class="libraryfile">libnet</filename></para>
<indexterm zone="ch-system-perl libnetcfg"><primary
sortas="b-libnetcfg">libnetcfg</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="perl">
<term><command>perl</command></term>
<listitem>
<para>Combine quelques-unes des meilleures fonctionnalités de C,
<command>sed</command>, <command>awk</command> et <command>sh</command>
en un langage style couteau suisse</para>
<indexterm zone="ch-system-perl perl"><primary
sortas="b-perl">perl</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="perl-version">
<term><command>perl&perl-version;</command></term>
<listitem>
<para>Un lien vers <command>perl</command></para>
<indexterm zone="ch-system-perl perl-version"><primary
sortas="b-perl&perl-version;">perl&perl-version;</primary></indexterm>
</listitem>
</varlistentry>
 
 
<varlistentry id="perlbug">
<term><command>perlbug</command></term>
<listitem>
<para>Utilisé pour générer des rapports de bogues sur Perl ou les modules
l'accompagnant et pour les envoyer par courrier électronique</para>
<indexterm zone="ch-system-perl perlbug"><primary
sortas="b-perlbug">perlbug</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="perlcc">
<term><command>perlcc</command></term>
<listitem>
<para>Génère des exécutables à partir des programmes Perl</para>
<indexterm zone="ch-system-perl perlcc"><primary
sortas="b-perlcc">perlcc</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="perldoc">
<term><command>perldoc</command></term>
<listitem>
<para>Affiche une partie de la documentation au format pod, embarquée dans le
répertoire d'installation de Perl ou dans un script Perl</para>
<indexterm zone="ch-system-perl perldoc"><primary
sortas="b-perldoc">perldoc</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="perlivp">
<term><command>perlivp</command></term>
<listitem>
<para>La procédure de vérification d'installation de Perl (<foreignphrase>Perl
Installation Verification Procedure</foreignphrase>). Il peut être utilisé pour
vérifier que Perl et ses bibliothèques ont été installés correctement</para>
<indexterm zone="ch-system-perl perlivp"><primary
sortas="b-perlivp">perlivp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="piconv">
<term><command>piconv</command></term>
<listitem>
<para>une version Perl du convertisseur de codage des caractères
<command>iconv</command></para>
<indexterm zone="ch-system-perl piconv"><primary
sortas="b-piconv">piconv</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pl2pm">
<term><command>pl2pm</command></term>
<listitem>
<para>un outil simple pour la conversion des fichiers Perl4 <filename
class="extension">.pl</filename> en modules Perl5 <filename
class="extension">.pm</filename></para>
<indexterm zone="ch-system-perl pl2pm"><primary
sortas="b-pl2pm">pl2pm</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pod2html">
<term><command>pod2html</command></term>
<listitem>
<para>Convertit des fichiers à partir du format pod vers le format HTML</para>
<indexterm zone="ch-system-perl pod2html"><primary
sortas="b-pod2html">pod2html</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pod2latex">
<term><command>pod2latex</command></term>
<listitem>
<para>Convertit des fichiers à partir du format pod vers le format LaTeX</para>
<indexterm zone="ch-system-perl pod2latex"><primary
sortas="b-pod2latex">pod2latex</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pod2man">
<term><command>pod2man</command></term>
<listitem>
<para>Convertit des fichiers à partir du format pod vers une entrée formatée
*roff</para>
<indexterm zone="ch-system-perl pod2man"><primary
sortas="b-pod2man">pod2man</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pod2text">
<term><command>pod2text</command></term>
<listitem>
<para>Convertit des fichiers à partir du format pod vers du texte ANSI</para>
<indexterm zone="ch-system-perl pod2text"><primary
sortas="b-pod2text">pod2text</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pod2usage">
<term><command>pod2usage</command></term>
<listitem>
<para>Affiche les messages d'usage à partir des documents embarqués pod</para>
<indexterm zone="ch-system-perl pod2usage"><primary
sortas="b-pod2usage">pod2usage</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="podchecker">
<term><command>podchecker</command></term>
<listitem>
<para>Vérifie la syntaxe du format pod des fichiers de documentation</para>
<indexterm zone="ch-system-perl podchecker"><primary
sortas="b-podchecker">podchecker</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="podselect">
<term><command>podselect</command></term>
<listitem>
<para>Affiche les sections sélectionnées de la documentation pod</para>
<indexterm zone="ch-system-perl podselect"><primary
sortas="b-podselect">podselect</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="psed">
<term><command>psed</command></term>
<listitem>
<para>Une version Perl de l'éditeur en flux <command>sed</command></para>
<indexterm zone="ch-system-perl psed"><primary
sortas="b-psed">psed</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pstruct">
<term><command>pstruct</command></term>
<listitem>
<para>affiche les structures C générées à partir de <command>cc -g
-S</command></para>
<indexterm zone="ch-system-perl pstruct"><primary
sortas="b-pstruct">pstruct</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="s2p">
<term><command>s2p</command></term>
<listitem>
<para>Traduit les scripts <command>sed</command> en perl</para>
<indexterm zone="ch-system-perl s2p"><primary
sortas="b-s2p">s2p</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="splain">
<term><command>splain</command></term>
<listitem>
<para>est utilisé pour forcer la verbosité des messages d'avertissement avec
Perl</para>
<indexterm zone="ch-system-perl splain"><primary
sortas="b-splain">splain</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="xsubpp">
<term><command>xsubpp</command></term>
<listitem>
<para>Convertit le code Perl XS en code C</para>
<indexterm zone="ch-system-perl xsubpp"><primary
sortas="b-xsubpp">xsubpp</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter06/procps.xml
0,0 → 1,193
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-procps" role="wrap">
<title>Procps-&procps-version;</title>
<?dbhtml filename="procps.html"?>
 
<indexterm zone="ch-system-procps"><primary sortas="a-Procps">Procps</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Procps contient des programmes pour surveiller les
processus.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>2,3&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, GCC, Glibc, Make et
Ncurses</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Procps</title>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 id="contents-procps" role="content"><title>Contenu de Procps</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèque installée</segtitle>
<seglistitem><seg>free, kill, pgrep, pkill, pmap, ps, skill, snice, sysctl, tload, top, uptime,
vmstat, w et watch</seg>
<seg>libproc.so</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="free">
<term><command>free</command></term>
<listitem>
<para>Indique le total de mémoire libre et utilisé sur le système à la fois pour la mémoire
physique et pour la mémoire swap</para>
<indexterm zone="ch-system-procps free"><primary sortas="b-free">free</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="kill">
<term><command>kill</command></term>
<listitem>
<para>Envoie des signaux aux processus</para>
<indexterm zone="ch-system-procps kill"><primary sortas="b-kill">kill</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pgrep">
<term><command>pgrep</command></term>
<listitem>
<para>Recherche les processus suivant leur nom et autres attributs</para>
<indexterm zone="ch-system-procps pgrep"><primary sortas="b-pgrep">pgrep</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pkill">
<term><command>pkill</command></term>
<listitem>
<para>Envoie des signaux aux processus suivant leur nom et autres attributs</para>
<indexterm zone="ch-system-procps pkill"><primary sortas="b-pkill">pkill</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pmap">
<term><command>pmap</command></term>
<listitem>
<para>Affiche le plan mémoire du processus désigné</para>
<indexterm zone="ch-system-procps pmap"><primary sortas="b-pmap">pmap</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ps">
<term><command>ps</command></term>
<listitem>
<para>Donne un aperçu des processus en cours d'exécution</para>
<indexterm zone="ch-system-procps ps"><primary sortas="b-ps">ps</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="skill">
<term><command>skill</command></term>
<listitem>
<para>Envoie des signaux aux processus correspondant à un critère donné</para>
<indexterm zone="ch-system-procps skill"><primary sortas="b-skill">skill</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="snice">
<term><command>snice</command></term>
<listitem>
<para>Modifie les priorités des processus suivant le critère donné</para>
<indexterm zone="ch-system-procps snice"><primary sortas="b-snice">snice</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="sysctl">
<term><command>sysctl</command></term>
<listitem>
<para>Modifie les paramètres du noyau en cours d'exécution</para>
<indexterm zone="ch-system-procps sysctl"><primary sortas="b-sysctl">sysctl</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tload">
<term><command>tload</command></term>
<listitem>
<para>Affiche un graphe de la charge système actuelle</para>
<indexterm zone="ch-system-procps tload"><primary sortas="b-tload">tload</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="top">
<term><command>top</command></term>
<listitem>
<para>Affiche une liste des processus demandant le maximum de ressources CPU&nbsp;;
il fournit un affichage agréable sur l'activité du processeur en temps réel</para>
<indexterm zone="ch-system-procps top"><primary sortas="b-top">top</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="uptime">
<term><command>uptime</command></term>
<listitem>
<para>Affiche le temps d'exécution du système, le nombre d'utilisateurs
connectés et les moyennes de charge système</para>
<indexterm zone="ch-system-procps uptime"><primary sortas="b-uptime">uptime</primary></indexterm>
<beginpage/></listitem>
</varlistentry>
 
<varlistentry id="vmstat">
<term><command>vmstat</command></term>
<listitem>
<para>Affiche les statistiques de mémoire virtuelle, donne des informations sur
les processus, la mémoire, la pagination, le nombre de blocs en
entrées/sorties, les échappements et l'activité CPU</para>
<indexterm zone="ch-system-procps vmstat"><primary sortas="b-vmstat">vmstat</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="w">
<term><command>w</command></term>
<listitem>
<para>Affiche les utilisateurs actuellement connectés, où et depuis quand</para>
<indexterm zone="ch-system-procps w"><primary sortas="b-w">w</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="watch">
<term><command>watch</command></term>
<listitem>
<para>Lance une commande de manière répétée, affichant le premier écran de sa
sortie&nbsp;; ceci vous permet de surveiller la sortie</para>
<indexterm zone="ch-system-procps watch"><primary sortas="b-watch">watch</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libproc">
<term><filename class="libraryfile">libproc</filename></term>
<listitem>
<para>Contient les fonctions utilisées par la plupart des programmes de ce paquet</para>
<indexterm zone="ch-system-procps libproc"><primary sortas="c-libproc">libproc</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1_1/lfs/chapter06/gzip.xml
0,0 → 1,210
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-gzip" role="wrap">
<title>Gzip-&gzip-version;</title>
<?dbhtml filename="gzip.html"?>
 
<indexterm zone="ch-system-gzip"><primary sortas="a-Gzip">Gzip</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Gzip contient des programmes de compression et décompression
de fichiers.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>2,2&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Gzip</title>
 
<para>Gzip a deux vulnérabilités connues. Le correctif suivant s'occupe des
deux problèmes&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&gzip-security_fix-patch;</userinput></screen>
 
<para>Préparez la compilation de Gzip&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr</userinput></screen>
 
<para>Le script <command>gzexe</command> contient, codé en dur, l'emplacement
du binaire <command>gzip</command>. Comme l'emplacement de ce binaire changera
plus tard, la commande suivante nous assure que le nouvel
emplacement sera placé dans le script&nbsp;:</para>
 
<screen><userinput>sed -i 's@"BINDIR"@/bin@g' gzexe.in</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Déplacez les programmes dans le répertoire <filename
class="directory">/bin</filename> et créez quelques liens symboliques couramment
utilisés&nbsp;:</para>
 
<screen><userinput>mv -v /usr/bin/gzip /bin
rm -v /usr/bin/{gunzip,zcat}
ln -sv gzip /bin/gunzip
ln -sv gzip /bin/zcat
ln -sv gzip /bin/compress
ln -sv gunzip /bin/uncompress</userinput></screen>
 
</sect2>
 
<sect2 id="contents-gzip" role="content"><title>Contenu de Gzip</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>compress (lien vers gzip), gunzip (lien vers gzip), gzexe,
gzip, uncompress (lien vers gunzip), zcat (lien vers gzip), zcmp, zdiff,
zegrep, zfgrep, zforce, zgrep, zless, zmore et znew</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="compress">
<term><command>compress</command></term>
<listitem>
<para>Compresse et décompresse des fichiers</para>
<indexterm zone="ch-system-gzip compress"><primary sortas="b-compress">compress</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gunzip">
<term><command>gunzip</command></term>
<listitem>
<para>Décompresse les fichiers gzip</para>
<indexterm zone="ch-system-gzip gunzip"><primary sortas="b-gunzip">gunzip</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gzexe">
<term><command>gzexe</command></term>
<listitem>
<para>Crée des fichiers exécutables auto-extractibles</para>
<indexterm zone="ch-system-gzip gzexe"><primary sortas="b-gzexe">gzexe</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gzip">
<term><command>gzip</command></term>
<listitem>
<para>Compresse les fichiers données en utilisant le codage Lempel-Ziv (LZ77)</para>
<indexterm zone="ch-system-gzip gzip"><primary sortas="b-gzip">gzip</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="uncompress">
<term><command>uncompress</command></term>
<listitem>
<para>Décompresse les fichiers compressés</para>
<indexterm zone="ch-system-gzip uncompress"><primary sortas="b-uncompress">uncompress</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="zcat">
<term><command>zcat</command></term>
<listitem>
<para>Décompresse les fichiers gzip sur la sortie standard</para>
<indexterm zone="ch-system-gzip zcat"><primary sortas="b-zcat">zcat</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="zcmp">
<term><command>zcmp</command></term>
<listitem>
<para>Lance <command>cmp</command> sur des fichiers compressés avec gzip</para>
<indexterm zone="ch-system-gzip zcmp"><primary sortas="b-zcmp">zcmp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="zdiff">
<term><command>zdiff</command></term>
<listitem>
<para>Lance <command>diff</command> sur des fichiers compressés avec gzip</para>
<indexterm zone="ch-system-gzip zdiff"><primary sortas="b-zdiff">zdiff</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="zegrep">
<term><command>zegrep</command></term>
<listitem>
<para>Lance <command>egrep</command> sur des fichiers compressés avec gzip</para>
<indexterm zone="ch-system-gzip zegrep"><primary sortas="b-zegrep">zegrep</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="zfgrep">
<term><command>zfgrep</command></term>
<listitem>
<para>Lance <command>fgrep</command> sur des fichiers compressés avec gzip</para>
<indexterm zone="ch-system-gzip zfgrep"><primary sortas="b-zfgrep">zfgrep</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="zforce">
<term><command>zforce</command></term>
<listitem>
<para>Force une extension <filename class="extension">.gz</filename> sur tous
les fichiers donnés qui sont au format gzip, pour que <command>gzip</command>
ne les compresse pas de nouveau&nbsp;; ceci est utile quand les noms de fichiers
sont tronqués lors d'un transfert de fichiers</para>
<indexterm zone="ch-system-gzip zforce"><primary sortas="b-zforce">zforce</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="zgrep">
<term><command>zgrep</command></term>
<listitem>
<para>Lance <command>grep</command> sur des fichiers compressés avec gzip</para>
<indexterm zone="ch-system-gzip zgrep"><primary sortas="b-zgrep">zgrep</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="zless">
<term><command>zless</command></term>
<listitem>
<para>Lance <command>less</command> sur des fichiers compressés avec gzip</para>
<indexterm zone="ch-system-gzip zless"><primary sortas="b-zless">zless</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="zmore">
<term><command>zmore</command></term>
<listitem>
<para>Lance <command>more</command> sur des fichiers compressés avec gzip</para>
<indexterm zone="ch-system-gzip zmore"><primary sortas="b-zmore">zmore</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="znew">
<term><command>znew</command></term>
<listitem>
<para>Re-compresse des fichiers à partir du format <command>compress</command> vers le format
<command>gzip</command>&mdash;<filename class="extension">.Z</filename>
to <filename class="extension">.gz</filename></para>
<indexterm zone="ch-system-gzip znew"><primary sortas="b-znew">znew</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
<
/tags/LFS-6_1_1/lfs/chapter06/util-linux.xml
0,0 → 1,706
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-util-linux" role="wrap">
<title>Util-linux-&util-linux-version;</title>
<?dbhtml filename="util-linux.html"?>
 
<indexterm zone="ch-system-util-linux"><primary
sortas="a-Util-linux">Util-linux</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Util-linux contient différents outils. Parmi eux se trouvent
des outils de gestion des systèmes de fichiers, de consoles, de partitions et
des messages.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>11,6&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc,
Grep, Make, Ncurses, Sed et Zlib</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Notes de compatibilité FHS</title>
 
<para>Le FHS recommande d'utiliser <filename
class="directory">/var/lib/hwclock</filename> au lieu de l'habituel
<filename class="directory">/etc</filename> comme emplacement du fichier
<filename>adjtime</filename>. Pour rendre <command>hwclock</command> compatible
avec le FHS, lancez ce qui suit&nbsp;:</para>
 
<screen><userinput>sed -i 's@etc/adjtime@var/lib/hwclock/adjtime@g' \
hwclock/hwclock.c
mkdir -p /var/lib/hwclock</userinput></screen>
 
</sect2>
 
<sect2 role="installation">
<title>Installation d'Util-linux</title>
 
<para>Util-linux échoue lors de sa compilation avec les nouvelles versions de
Linux-Libc-Headers. Le correctif suivant corrige proprement ce
problème&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&util-linux-cramfs-patch;</userinput></screen>
 
<para>Util-linux a une faille de sécurité qui pourrait permettre à un utilisateur
de remonter un volume sans l'option <option>nosuid</option>. Le correctif suivant
s'occupe de ce problème&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&util-linux-umount-patch;</userinput></screen>
 
<para>Préparez la compilation d'Util-linux&nbsp;:</para>
 
<screen><userinput>./configure</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make HAVE_KILL=yes HAVE_SLN=yes</userinput></screen>
 
<para>Voici la signification des paramètres de make&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>HAVE_KILL=yes</parameter></term>
<listitem><para>Ceci empêche le programme <command>kill</command> (déjà
installé par Procps) d'être construit et installé de nouveau.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>HAVE_SLN=yes</parameter></term>
<listitem><para>Ceci empêche le programme <command>sln</command> (un
<command>ln</command> lié statiquement déjà installé par Glibc) d'être
construit et installé de nouveau.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Ce paquetage ne vient pas avec une suite de tests.</para>
 
<para>Installez le paquetage et déplacez le binaire <command>logger</command>
dans <filename class="directory">/bin</filename> car il est nécessaire pour le
paquetage LFS-Bootscripts&nbsp;:</para>
 
<screen><userinput>make HAVE_KILL=yes HAVE_SLN=yes install
mv /usr/bin/logger /bin</userinput></screen>
 
</sect2>
 
<sect2 id="contents-utillinux" role="content"><title>Contenu
d'Util-linux</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>agetty, arch, blockdev, cal, cfdisk, chkdupexe, col, colcrt,
colrm, column, ctrlaltdel, cytune, ddate, dmesg, elvtune, fdformat, fdisk,
fsck.cramfs, fsck.minix, getopt, hexdump, hwclock, ipcrm, ipcs, isosize, line,
logger, look, losetup, mcookie, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix,
mkswap, more, mount, namei, pg, pivot_root, ramsize (lien vers rdev), raw,
rdev, readprofile, rename, renice, rev, rootflags (lien vers rdev), script,
setfdprm, setsid, setterm, sfdisk, swapdev, swapoff (lien vers swapon), swapon,
tunelp, ul, umount, vidmode (lien vers rdev), whereis et
write</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="agetty">
<term><command>agetty</command></term>
<listitem>
<para>Ouvre un port tty, demande un nom de connexion puis appelle le programme
<command>login</command></para>
<indexterm zone="ch-system-util-linux agetty"><primary
sortas="b-agetty">agetty</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="arch">
<term><command>arch</command></term>
<listitem>
<para>Affiche l'architecture de la machine</para>
<indexterm zone="ch-system-util-linux arch"><primary
sortas="b-arch">arch</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="blockdev">
<term><command>blockdev</command></term>
<listitem>
<para>Permet aux utilisateurs d'appeler les ioctl d'un périphérique bloc à
partir de la ligne de commande</para>
<indexterm zone="ch-system-util-linux blockdev"><primary
sortas="b-blockdev">blockdev</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="cal">
<term><command>cal</command></term>
<listitem>
<para>Affiche un calendrier simple</para>
<indexterm zone="ch-system-util-linux cal"><primary
sortas="b-cal">cal</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="cfdisk">
<term><command>cfdisk</command></term>
<listitem>
<para>Manipule la table des partitions du périphérique donné</para>
<indexterm zone="ch-system-util-linux cfdisk"><primary
sortas="b-cfdisk">cfdisk</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="chkdupexe">
<term><command>chkdupexe</command></term>
<listitem>
<para>Trouve les exécutables dupliqués</para>
<indexterm zone="ch-system-util-linux chkdupexe"><primary
sortas="b-chkdupexe">chkdupexe</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="col">
<term><command>col</command></term>
<listitem>
<para>Filtre les retours chariot inversés</para>
<indexterm zone="ch-system-util-linux col"><primary
sortas="b-col">col</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="colcrt">
<term><command>colcrt</command></term>
<listitem>
<para>filtrer la sortie de <command>nroff</command> pour les terminaux manquant
de capacités comme le texte barré ou les demi-lignes</para>
<indexterm zone="ch-system-util-linux colcrt"><primary
sortas="b-colcrt">colcrt</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="colrm">
<term><command>colrm</command></term>
<listitem>
<para>Filtre les colonnes données</para>
<indexterm zone="ch-system-util-linux colrm"><primary
sortas="b-colrm">colrm</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="column">
<term><command>column</command></term>
<listitem>
<para>Formate un fichier donné en de nombreuses colonnes</para>
<indexterm zone="ch-system-util-linux column"><primary
sortas="b-column">column</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ctrlaltdel">
<term><command>ctrlaltdel</command></term>
<listitem>
<para>Initialise la combinaison des touches Ctrl+Alt+Del pour une
réinitialisation matérielle ou logicielle</para>
<indexterm zone="ch-system-util-linux ctrlaltdel"><primary
sortas="b-ctrlaltdel">ctrlaltdel</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="cytune">
<term><command>cytune</command></term>
<listitem>
<para>Est utilisé pour paramétrer finement les pilotes de lignes séries des
cartes Cyclades</para>
<indexterm zone="ch-system-util-linux cytune"><primary
sortas="b-cytune">cytune</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ddate">
<term><command>ddate</command></term>
<listitem>
<para>Donne la date discordienne ou convertit la date grégorienne en une date
discordienne</para>
<indexterm zone="ch-system-util-linux ddate"><primary
sortas="b-ddate">ddate</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dmesg">
<term><command>dmesg</command></term>
<listitem>
<para>Affiche les messages du noyau lors du démarrage</para>
<indexterm zone="ch-system-util-linux dmesg"><primary
sortas="b-dmesg">dmesg</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="elvtune">
<term><command>elvtune</command></term>
<listitem>
<para>Est utilisé pour configurer finement les performances et l'interactivité
d'un périphérique bloc</para>
<indexterm zone="ch-system-util-linux elvtune"><primary
sortas="b-elvtune">elvtune</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="fdformat">
<term><command>fdformat</command></term>
<listitem>
<para>Réalise un formatage de bas niveau sur une disquette</para>
<indexterm zone="ch-system-util-linux fdformat"><primary
sortas="b-fdformat">fdformat</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="fdisk">
<term><command>fdisk</command></term>
<listitem>
<para>Est utilisé pour manipuler la table de partitions du périphérique
donné</para>
<indexterm zone="ch-system-util-linux fdisk"><primary
sortas="b-fdisk">fdisk</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="fsck.cramfs">
<term><command>fsck.cramfs</command></term>
<listitem>
<para>Réalise un test de consistance sur le système de fichiers Cramfs du
périphérique donné</para>
<indexterm zone="ch-system-util-linux fsck.cramfs"><primary
sortas="b-fsck.cramfs">fsck.cramfs</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="fsck.minix">
<term><command>fsck.minix</command></term>
<listitem>
<para>Réalise un test de consistence sur le système de fichiers Minix du
périphérique donné</para>
<indexterm zone="ch-system-util-linux fsck.minix"><primary
sortas="b-fsck.minix">fsck.minix</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="getopt">
<term><command>getopt</command></term>
<listitem>
<para>Analyse les options sur la ligne de commande donnée</para>
<indexterm zone="ch-system-util-linux getopt"><primary
sortas="b-getopt">getopt</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="hexdump">
<term><command>hexdump</command></term>
<listitem>
<para>Affiche le fichier indiqué en hexadécimal ou dans un autre format
donné</para>
<indexterm zone="ch-system-util-linux hexdump"><primary
sortas="b-hexdump">hexdump</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="hwclock">
<term><command>hwclock</command></term>
<listitem>
<para>Lit ou initialise l'horloge matériel, aussi appelée horloge RTC
(<foreignphrase>Real-Time Clock</foreignphrase>, horloge à temps réel) ou
horloge BIOS (<foreignphrase>Basic Input-Output System</foreignphrase>)</para>
<indexterm zone="ch-system-util-linux hwclock"><primary
sortas="b-hwclock">hwclock</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ipcrm">
<term><command>ipcrm</command></term>
<listitem>
<para>Supprime la ressource IPC donnée</para>
<indexterm zone="ch-system-util-linux ipcrm"><primary
sortas="b-ipcrm">ipcrm</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ipcs">
<term><command>ipcs</command></term>
<listitem>
<para>Fournit l'information de statut IPC</para>
<indexterm zone="ch-system-util-linux ipcs"><primary
sortas="b-ipcs">ipcs</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="isosize">
<term><command>isosize</command></term>
<listitem>
<para>Affiche la taille d'un système de fichiers iso9660</para>
<indexterm zone="ch-system-util-linux isosize"><primary
sortas="b-isosize">isosize</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="line">
<term><command>line</command></term>
<listitem>
<para>Copie une simple ligne</para>
<indexterm zone="ch-system-util-linux line"><primary
sortas="b-line">line</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="logger">
<term><command>logger</command></term>
<listitem>
<para>Enregistre le message donné dans les traces système</para>
<indexterm zone="ch-system-util-linux logger"><primary
sortas="b-logger">logger</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="look">
<term><command>look</command></term>
<listitem>
<para>Affiche les lignes commençant avec la chaîne donnée</para>
<indexterm zone="ch-system-util-linux look"><primary
sortas="b-look">look</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="losetup">
<term><command>losetup</command></term>
<listitem>
<para>Initialiser et contrôle les périphériques loop</para>
<indexterm zone="ch-system-util-linux losetup"><primary
sortas="b-losetup">losetup</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mcookie">
<term><command>mcookie</command></term>
<listitem>
<para>génère des cookies magiques, nombres hexadécimaux aléatoires sur 128
bits, pour <command>xauth</command></para>
<indexterm zone="ch-system-util-linux mcookie"><primary
sortas="b-mcookie">mcookie</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mkfs">
<term><command>mkfs</command></term>
<listitem>
<para>Construit un système de fichiers sur un périphérique (habituellement une
partition du disque dur)</para>
<indexterm zone="ch-system-util-linux mkfs"><primary
sortas="b-mkfs">mkfs</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mkfs.bfs">
<term><command>mkfs.bfs</command></term>
<listitem>
<para>Crée un système de fichiers bfs de SCO (Santa Cruz Operations)</para>
<indexterm zone="ch-system-util-linux mkfs.bfs"><primary
sortas="b-mkfs.bfs">mkfs.bfs</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mkfs.cramfs">
<term><command>mkfs.cramfs</command></term>
<listitem>
<para>Crée un système de fichiers cramfs</para>
<indexterm zone="ch-system-util-linux mkfs.cramfs"><primary
sortas="b-mkfs.cramfs">mkfs.cramfs</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mkfs.minix">
<term><command>mkfs.minix</command></term>
<listitem>
<para>Crée un système de fichiers Minix</para>
<indexterm zone="ch-system-util-linux mkfs.minix"><primary
sortas="b-mkfs.minix">mkfs.minix</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mkswap">
<term><command>mkswap</command></term>
<listitem>
<para>initialise le périphérique ou le fichier à utiliser comme swap</para>
<indexterm zone="ch-system-util-linux mkswap"><primary
sortas="b-mkswap">mkswap</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="more">
<term><command>more</command></term>
<listitem>