Subversion Repositories svn LFS-FR

Compare Revisions

Ignore whitespace Rev 533 → Rev 534

/tags/LFS-6_0/lfs/chapter03/introduction.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="materials-introduction">
<title>Introduction</title>
<?dbhtml filename="introduction.html"?>
 
<para>Ce chapitre inclut une liste de paquets devant être téléchargés pour
construire un système Linux basique. Les numéros de versions affichés
correspondent aux versions des logiciels qui, selon nous, fonctionnent à coup sûr. Le
livre est basé sur leur utilisation. Nous vous recommandons fortement de ne pas
utiliser de versions supérieures car les commandes de construction pour une
version pourraient ne pas fonctionner avec une version plus récente. Les
versions plus récentes pourraient aussi avoir des problèmes pour lesquels aucun
coutournement n'a encore été développé.</para>
 
<para>Tous les liens (URL), si possible, réfèrent à la page d'informations du
paquet sur <ulink url="http://www.freshmeat.net/"/>. Les pages Freshmeat
fournissent un accès aisé aux sites de téléchargement officiels ainsi qu'aux
site web des projets, aux listes de discussion, à la FAQ, aux journaux des
modifications (changelog) et bien plus encore&nbsp;!</para>
 
<para>Les emplacements de téléchargements pourraient ne pas être toujours
accessibles. Si un emplacement de téléchargement a changé depuis la publication
de ce livre, Google (<ulink url="http://www.google.com"/>) fournit 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, disponibles sur <ulink
url="&lfs-root;lfs/packages.html"/>.</para>
 
<para>Les paquets et les correctifs téléchargés doivent être stockés quelque
part où ils seront facilement disponibles pendant toute la construction. Un
répertoire fonctionnel est aussi requis pour déballer les sources et pour les
construire. 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 aussi comme répertoire fonctionnel. En utilisant ce répertoire, les
éléments requis seront situés sur la partition LFS et seront disponibles à
toutes les étapes du processus de construction.</para>
 
<para>Pour créer ce répertoire, lancez, en tant qu'utilisateur
<emphasis>root</emphasis>, la commande suivante, avant de commencer la session de
téléchargement&nbsp;:</para>
 
<screen><userinput>mkdir $LFS/sources</userinput></screen>
 
<para>Donnez le droit d'écriture et le droit sticky sur ce répertoire.
<quote>Sticky</quote> signifie que même si de nombreux utilisateurs peuvent
d'écrire sur un répertoire, seul le propriétaire du fichier peut supprimer ce
fichier à l'intérieur du répertoire sticky. La commande suivante activera les
droits d'écriture et sticky&nbsp;:</para>
 
<screen><userinput>chmod a+wt $LFS/sources</userinput></screen>
 
</sect1>
 
/tags/LFS-6_0/lfs/chapter03/patches.xml
0,0 → 1,199
<?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. Ces
correctifs corrigent certaines erreurs contenues dans les paquets, ces erreurs
devraient être corrigées par le mainteneur. Les correctifs font 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 Display Wrap Patch - 1&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink
url="&patches-root;bash-&bash-version;-display_wrap-1.patch"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Coreutils Suppress Uptime, Kill, Su Patch - 16&nbsp;Ko&nbsp;:</term>
<listitem>
<para condition="html"><ulink
url="http://lfs.osuosl.org/patches/downloads/coreutils/coreutils-5.2.1-suppress_uptime_kill_su-1.patch"/></para>
<para condition="pdf"><ulink
url="http://lfs.osuosl.org/patches/downloads/coreutils/coreutils-5.2.1-suppress_uptime_kill_su-1.patch"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Coreutils Uname Patch - 1&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink
url="&patches-root;coreutils-&coreutils-version;-uname-2.patch"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Expect Spawn Patch - 6&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;expect-&expect-version;-spawn-1.patch"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Flex Brokenness Patch - 8&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink
url="&patches-root;flex-&flex-version;-debian_fixes-2.patch"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term> GCC Linkonce Patch - 12&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;gcc-&gcc-version;-linkonce-1.patch"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>GCC No-Fixincludes Patch - 1&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink
url="&patches-root;gcc-&gcc-version;-no_fixincludes-1.patch"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>GCC Specs Patch - 11&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;gcc-&gcc-version;-specs-1.patch"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Inetutils Kernel Headers Patch - 1&nbsp;Ko&nbsp;:</term>
<listitem>
<para condition="html"><ulink
url="&patches-root;inetutils-&inetutils-version;-kernel_headers-1.patch"/></para
>
<para condition="pdf"><ulink
url="&patches-root;inetutils-&inetutils-version;-kernel_headers-
1.patch"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Inetutils No-Server-Man-Pages Patch - 4&nbsp;Ko&nbsp;:</term>
<listitem>
<para condition="html"><ulink
url="&patches-root;inetutils-&inetutils-version;-no_server_man_pages-1.patch"/>
</para>
<para condition="pdf"><ulink
url="&patches-root;inetutils-&inetutils-version;-no_server_man_
pages-1.patch"/></para>
<beginpage/>
</listitem>
</varlistentry>
 
<varlistentry>
<term>IPRoute2 Disable DB Patch - 1&nbsp;Ko&nbsp;:</term>
<listitem>
<para condition="html"><ulink
url="&patches-root;iproute2-&iproute2-patch-version;-remove_db-1.patch"/></para>
<para condition="pdf"><ulink
url="&patches-root;iproute2-&iproute2-patch-version;-remove_
db-1.patch"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Man 80-Columns Patch - 1&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;man-&man-version;-80cols-1.patch"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Mktemp Tempfile Patch - 3&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink
url="&patches-root;mktemp-&mktemp-version;-add_tempfile-1.patch"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Perl Libc Patch - 1&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&patches-root;perl-&perl-version;-libc-1.patch"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Readline Display Wrap Patch - 1&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink
url="&patches-root;readline-&readline-version;-display_wrap-1.patch"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Sysklogd Kernel Headers Patch - 3&nbsp;Ko&nbsp;:</term>
<listitem>
<para condition="html"><ulink
url="&patches-root;sysklogd-&sysklogd-version;-kernel_headers-1.patch"/></para>
<para condition="pdf"><ulink
url="&patches-root;sysklogd-&sysklogd-version;-kernel_headers- 1.patch"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Sysklogd Signal Handling Patch - 1&nbsp;Ko&nbsp;:</term> <listitem>
<para><ulink
url="&patches-root;sysklogd-&sysklogd-version;-signal-1.patch"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Sysvinit /proc Title Length Patch - 1&nbsp;Ko&nbsp;:</term> <listitem>
<para><ulink
url="&patches-root;sysvinit-&sysvinit-version;-proclen-1.patch"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Texinfo Segfault Patch - 1&nbsp;Ko&nbsp;:</term> <listitem>
<para><ulink
url="&patches-root;texinfo-&texinfo-version;-segfault-1.patch"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Util-Linux Sfdisk Patch - 1&nbsp;Ko&nbsp;:</term> <listitem>
<para><ulink url="&patches-root;util-linux-&util-linux-version;-sfdisk-2.patch"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Zlib Security Patch - 1KB:</term> <listitem>
<para><ulink url="&patches-root;zlib-&zlib-version;-security-1.patch"/></para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>En plus des correctifs requis ci-dessus, il existe un certain nombre de
correctifs optionnels créés par la communauté LFS. Ces correctifs résolvent des
problèmes mineurs ou activent des fonctionnalités qui ne sont pas
disponibles par défaut. Vous pouvez consulter la base de données des correctifs
à loisir sur <ulink url="&lfs-root;patches/"/> et vous pouvez récupérer tout correctif
supplémentaire correspondant aux besoins de votre système.</para>
 
</sect1>
/tags/LFS-6_0/lfs/chapter03/packages.xml
0,0 → 1,456
<?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;) - 903 &nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;autoconf/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Automake (&automake-version;) - 681&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;automake/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Bash (&bash-version;) - 1.910&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;gnubash/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Binutils (&binutils-version;) - 10.666&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;binutils/?branch_id=12688"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Bison (&bison-version;) - 796&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink
url="ftp://ftp.linuxfromscratch.org/pub/lfs/lfs-packages/conglomeration/bison/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Bzip2 (&bzip2-version;) - 650&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;bzip2/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Coreutils (&coreutils-version;) - 3.860&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;coreutils/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>DejaGNU (&dejagnu-version;) - 1.055&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;dejagnu/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Diffutils (&diffutils-version;) - 762&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;diffutils/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>E2fsprogs (&e2fsprogs-version;) - 3.003&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;e2fsprogs/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Expect (&expect-version;) - 510&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;expect/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>File (&file-version;) - 356&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;file/"/></para>
<beginpage/>
<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 vieilles versions lorsque de nouvelles
sont disponibles. Voici un autre emplacement où vous pouvez trouver la bonne
version&nbsp;: <ulink
url="ftp://ftp.linuxfromscratch.org/pub/lfs/"/>.</para></note>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Findutils (&findutils-version;) - 760&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;findutils/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Flex (&flex-version;) - 372&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;flex/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Gawk (&gawk-version;) - 1.692&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;gnuawk/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>GCC (&gcc-version;) - 27.000&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;gcc/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Gettext (&gettext-version;) - 6.397&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;gettext/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Glibc (&glibc-version;) - 13.101&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;glibc/"/></para>
<note><para>Les paquets officiels de Glibc ne sont pas assez récents pour
notre but, donc nous allons créer une archive tar à partir d'une image du CVS avec les
commandes suivantes&nbsp;:</para>
 
<screen><userinput>cvs -z 3 -d \
:pserver:anoncvs@sources.redhat.com:/cvs/glibc \
export -d glibc-2.3.4-20040701 \
-D "2004-07-01 17:30 UTC" libc
sed -i -e "s/stable/2004-07-01/" \
-e "s/2\.3\.3/2.3.4/" \
glibc-2.3.4-20040701/version.h
tar jcvf glibc-2.3.4-20040701.tar.bz2 \
glibc-2.3.4-20040701</userinput></screen>
 
<para></para>
<para>Autrement, l'équipe LFS a créé une archive tar que l'on peut télécharger à
partir de tout miroir FTP listé sur le site web LFS (<ulink
url="&lfs-root;lfs/packages.html#http"/>). Elle est placée dans le répertoire
<filename class="directory">/pub/lfs/packages/conglomeration/glibc</filename>.
L'archive tar est signée avec GPG et il est fortement recommandé de vérifier
son authenticité avant de l'utiliser. Les instructions pour installer GPG, qui
active la vérification, sont fournies dans le livre Beyond Linux From Scratch
(BLFS) sur <ulink
url="&lfs-root;blfs/view/svn/postlfs/gnupg.html"/>.</para></note>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Grep (&grep-version;) - 545&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;grep/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Groff (&groff-version;) - 2.360&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;groff/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Grub (&grub-version;) - 902&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="ftp://alpha.gnu.org/pub/gnu/grub/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Gzip (&gzip-version;) - 324&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="ftp://alpha.gnu.org/gnu/gzip/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Iana-Etc (&iana-etc-version;) - 161&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;iana-etc/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Inetutils (&inetutils-version;) - 1.019&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;inetutils/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>IPRoute2 (&iproute2-version;) - 264&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="http://developer.osdl.org/dev/iproute2/download/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Kbd (&kbd-version;) - 617&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;kbd/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Less (&less-version;) - 259&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;less/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>LFS-Bootscripts (&bootscripts-version;) - 16&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="http://downloads.linuxfromscratch.org/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Libtool (&libtool-version;) - 2.602&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;libtool/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Linux (&linux-version;) - 34.793&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;linux/?branch_id=46339"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Linux-Libc-Headers (&linux-libc-headers-version;) -
2.602&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;) - 337&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;gnum4/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Make (&make-version;) - 899&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;gnumake/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Man (&man-version;) - 223&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;man/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Man-pages (&man-pages-version;) - 1.586&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;man-pages/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Mktemp (&mktemp-version;) - 69&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;mktemp/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Module-Init-Tools (&module-init-tools-version;) -
118&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink
url="ftp://ftp.kernel.org/pub/linux/utils/kernel/module-init-tools/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Ncurses (&ncurses-version;) - 2.019&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;ncurses/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Patch (&patch-version;) - 182&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;patch/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Perl (&perl-version;) - 9.373&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;perl/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Procps (&procps-version;) - 265&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;procps/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Psmisc (&psmisc-version;) - 375&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;psmisc/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Readline (&readline-version;) - 940&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;gnureadline/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Sed (&sed-version;) - 749&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;sed/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Shadow (&shadow-version;) - 795&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;shadow/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Sysklogd (&sysklogd-version;) - 80&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;sysklogd/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Sysvinit (&sysvinit-version;) - 91&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;sysvinit/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Tar (&tar-version;) - 1.025&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;tar/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Tcl (&tcl-version;) - 3.363&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;tcltk/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Texinfo (&texinfo-version;) - 1.385&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;texinfo/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Udev (&udev-version;) - 374&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Udev Permissions Configuration - 2&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink
url="http://downloads.linuxfromscratch.org/udev-config-2.permissions"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Udev Rules Configuration - 1&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink
url="http://downloads.linuxfromscratch.org/udev-config-1.rules"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Util-linux (&util-linux-version;) - 1.921&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;util-linux/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Vim (&vim-version;) - 3.612&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;vim/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Fichiers de langue Vim (&vim-version;) (optionnel) -
1.033&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;vim/"/></para>
</listitem>
</varlistentry>
 
<varlistentry>
<term>Zlib (&zlib-version;) - 277&nbsp;Ko&nbsp;:</term>
<listitem>
<para><ulink url="&freshmeat;zlib/"/></para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Taille totale de ces paquets&nbsp;: 135&nbsp;Mo</para>
 
</sect1>
/tags/LFS-6_0/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_0/lfs/chapter01/changelog.xml
0,0 → 1,619
<?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" condition="html">
<title>Journal des modifications (Changelog)</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 deux
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>automake-1.9.1</para></listitem>
<listitem><para>bash-3.0</para></listitem>
<listitem><para>binutils-2.15.91.0.2</para></listitem>
<listitem><para>bison-1.875a</para></listitem>
<listitem><para>expect-5.42.1</para></listitem>
<listitem><para>file-4.10</para></listitem>
<listitem><para>flex-2.5.31</para></listitem>
<listitem><para>gawk-3.1.4</para></listitem>
<listitem><para>gcc-3.4.1</para></listitem>
<listitem><para>glibc-2.3.4-20040701</para></listitem>
<listitem><para>groff-1.19.1</para></listitem>
<listitem><para>lfs-bootscripts-2.2.2</para></listitem>
<listitem><para>libtool-1.5.8</para></listitem>
<listitem><para>linux-2.6.8.1</para></listitem>
<listitem><para>m4-1.4.2</para></listitem>
<listitem><para>man-1.5o</para></listitem>
<listitem><para>man-pages-1.67</para></listitem>
<listitem><para>perl-5.8.5</para></listitem>
<listitem><para>procps-3.2.3</para></listitem>
<listitem><para>psmisc-21.5</para></listitem>
<listitem><para>sed-4.1.2</para></listitem>
<listitem><para>tar-1.14</para></listitem>
<listitem><para>tcl-8.4.7</para></listitem>
<listitem><para>util-linux-2.12b</para></listitem>
<listitem><para>vim-6.3</para></listitem>
</itemizedlist>
</listitem>
 
<listitem><para>Paquets ajoutés&nbsp;:</para>
<itemizedlist>
<listitem><para>bash-3.0-display_wrap-1.patch</para></listitem>
<listitem><para>coreutils-5.2.1-suppress_hostname_uptime_kill_su-1.patch</para></listitem>
<listitem><para>flex-2.5.31-debian_fixes-2.patch</para></listitem>
<listitem><para>gcc-3.4.1-linkonce-1.patch</para></listitem>
<listitem><para>inetutils-1.4.2-kernel_headers-1.patch</para></listitem>
<listitem><para>iproute2-2.6.8-040823</para></listitem>
<listitem><para>iproute2-2.6.8_040823-remove_db-1.patch</para></listitem>
<listitem><para>linux-libc-headers-2.6.8.1</para></listitem>
<listitem><para>module-init-tools-3.0</para></listitem>
<listitem><para>readline-5.0</para></listitem>
<listitem><para>readline-5.0-display_wrap-1.patch</para></listitem>
<listitem><para>sysklogd-1.4.1-kernel_headers-1.patch</para></listitem>
<listitem><para>sysklogd-1.4.1-signal-1.patch</para></listitem>
<listitem><para>sysvinit-2.85-proclen-1.patch</para></listitem>
<listitem><para>texinfo-4.7-segfault-1.patch</para></listitem>
<listitem><para>udev-030</para></listitem>
<listitem><para>udev-config-1.permissions</para></listitem>
<listitem><para>udev-config-1.rules</para></listitem>
<listitem><para>util-linux-2.12b-sfdisk-2.patch</para></listitem>
<listitem><para>vim-6.3 language files</para></listitem>
<listitem><para>zlib-1.2.1-security-1.patch</para></listitem>
</itemizedlist>
</listitem>
<listitem><para>Paquets supprimés&nbsp;:</para>
<itemizedlist>
<listitem><para>bison-1.875-attribute.patch</para></listitem>
<listitem><para>coreutils-5.2.1-hostname-1.patch</para></listitem>
<listitem><para>ed-0.2</para></listitem>
<listitem><para>gcc-2.95.3</para></listitem>
<listitem><para>kbd-1.12-more-programs-1.patch</para></listitem>
<listitem><para>modutils-2.4.25</para></listitem>
<listitem><para>net-tools-1.60</para></listitem>
<listitem><para>net-tools-1.60-miitool-gcc33-1.patch</para></listitem>
<listitem><para>procinfo-18</para></listitem>
</itemizedlist>
</listitem>
 
<listitem><para>30 septembre 2004 [gerard]&nbsp;: petites corrections de texte.
Ajout d'une page décrivant le CD amorçable inclus avec le livre imprimé.
</para></listitem>
 
<listitem><para>29 septembre 2004 [matt]&nbsp;: chapter08/kernel - Suppression
du commentaire redondant qui concerne la configuration d'hotplug (corrige le bogue
914 - Alexander E. Patrakov).</para></listitem>
 
<listitem><para>26 septembre 2004 [matt]&nbsp;: chapter06/texinfo - Ajout d'une
description pour le correctif segfault sur texinfo (corrige le bogue 917 - Randy
McMurchy).</para></listitem>
 
<listitem><para>28 septembre 2004 [matt]&nbsp;: chapter06/zlib - Ajout d'une
description pour le correctif de sécurité de zlib (corrige le bogue 916 - Randy
McMurchy).</para></listitem>
 
<listitem><para>28 septembre 2004 [matt]&nbsp;: chapter06/glibc - glibcbug n'est
pas installé dans les versions récentes de glibc (bogue 915 - Randy McMurchy).
</para></listitem>
 
<listitem><para>28 septembre 2004 [matt]&nbsp;: chapter05/introduction - Nous
n'expliquons jamais comment déballer une archive tar (Jeremy Huntwork).</para></listitem>
 
<listitem><para>28 septembre 2004 [matt]&nbsp;: correction mineure - les suites
de test ne sont tout simplement pas obligatoires dans le chapitre 5, plutôt que
non recommandées (bogue 913 - Randy McMurchy).</para></listitem>
 
<listitem><para>28 septembre 2004 [matt]&nbsp;: ajout d'une description sur
libexpect et correction du numéro de version du fichier installé (bogue 912 -
Randy McMurchy).</para></listitem>
 
<listitem><para>28 septembre 2004 [matt]&nbsp;: correction de la commande utilisée
pour vérifier le statut de l'horloge matérielle (Anderson Lizardo)</para></listitem>
 
<listitem><para>28 septembre 2004 [matt]&nbsp;: ajout de <quote>su</quote> à la
liste de fichiers installés par shadow</para></listitem>
 
<listitem><para>septembre 28th, 2004 [matt]&nbsp;: suppression de la confusion
possible causée par un texte incorrect dans les balises <quote>replaceable</quote>
(bogue 906 - Igor Zivkovic).</para></listitem>
 
<listitem><para>28 septembre 2004 [matt]&nbsp;: petite correction typographique (Igor
Zivkovic).</para></listitem>
 
<listitem><para>28 septembre 2004 [matt]&nbsp;: ajout d'une note concernant un
échec connu dans la suite de tests de GRUB</para></listitem>
 
<listitem><para>23 septembre 2004 [jeremy]&nbsp;: modification du correctif
util-linux par le nouveau correctif corrigé, d'après Jim Gifford et Greg
Schafer</para></listitem>
 
<listitem><para>13 septembre 2004 [jeremy]&nbsp;: ajout du correctif de sécurité pour
Zlib</para></listitem>
 
<listitem><para>13 septembre 2004 [jeremy]&nbsp;: ajout du correctif pour résoudre
un problème d'échec de segmentation dans le programme info.</para></listitem>
 
<listitem><para>13 septembre 2004 [jeremy]&nbsp;: remplacement de la commande
sed pour util-linux par un fichier correctif.</para></listitem>
 
<listitem><para>12 septembre 2004 [manuel]&nbsp;: correction de quelques URL.
</para></listitem>
 
<listitem><para>10 septembre 2004 [manuel]&nbsp;: appendix{a,b} - Modification
du code XML, XSL and CSS pour un meilleur affichage.</para></listitem>
 
<listitem><para>9 septembre 2004 [gerard]&nbsp;: ajout d'une virgule manquante dans
le nom du groupe dans chapter6-Coreutils, elle est utilisée par la suite de tests.</para></listitem>
 
<listitem><para>9 septembre 2004 [manuel]&nbsp;: ajout du support pour avoir
des phrases contextuelles différentes dans les sorties HTML ou PDF.</para></listitem>
 
<listitem><para>9 septembre 2004 [manuel]&nbsp;: chapitre 6 - Déplacement du
paragraphe sur /etc/fstab manquant de kernfs.xml vers devices.xml.</para></listitem>
 
<listitem><para>4 septembre 2004 [manuel]&nbsp;: corrections des balises.
</para></listitem>
 
<listitem><para>31 août 2004 [manuel]&nbsp;: feuilles de style. Plusieurs
modifications pour améliorer les sorties HTML et PDF. Quelques modifications
de balises XML relatives avec les modifications de feuilles de style.
</para></listitem>
 
<listitem><para>30 août 2004 [matt]&nbsp;: chapter06/util-linux.xml.
-funit-at-a-time est supposé avec -O2, c'était cette option spécifique qui
causait les problèmes en exécution de sfdisk. Au lieu d'annuler l'optimisation
-O1, nous empêchons simplement l'optimisation problématique en spécifiant
-fno-unit-at-a-time.</para></listitem>
 
<listitem><para>30 août 2004 [matt]&nbsp;: chapter06/udev.xml. - Nouvelle
numérotation des droits udev et des fichiers de règles pour permettre une
personnalisation plus simple. Corrige le bogue 887.
</para></listitem>
 
<listitem><para>30 août 2004 [matt]&nbsp;: petites corrections typographiques
dans appendixb/acronymlist.xml (Tero Tamminen)</para></listitem>
 
<listitem><para>30 août 2004 [matt]&nbsp;: modification du niveau d'optimisation
d'util-linux en le passant de O2 à O1, pour que sfdisk fonctionnne correctement
lorsqu'il est compilé avec gcc-3.4.1</para>
</listitem>
 
<listitem><para>29 août 2004 [matt]&nbsp;: mise à jour vers
linux-libc-headers-2.6.8.1</para></listitem>
 
<listitem><para>29 août 2004 [matt]&nbsp;: ajout de
gcc-3.4.1-linkonce-1.patch, pour que notre ensemble d'outils puisse compiler
Mozilla et kdegraphics (pour ne nommer que deux paquetages) une fois encore.
Voir <ulink url="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16625"/> pour plus
de détails.</para></listitem>
 
<listitem><para>29 août 2004 [gerard]&nbsp;: ajout de l'Annexe B -
Acronymes.</para></listitem>
 
<listitem><para>29 août 2004 [gerard]&nbsp;: déplacement des remerciements
dans l'annexe A.</para></listitem>
 
<listitem><para>29 août 2004 [matt]&nbsp;: mise à jour vers autoconf-1.9.1,
gawk-3.1.4, iproute2-2.6.8-040823, linux-2.6.8.1, m4-1.4.2, man-1.5o,
procps-3.2.3 (en supprimant la commande <command>rm</command> inutile),
sed-4.1.2 et util-linux-2.12b (en supprimant le correctif kernel-headers car
le problème a été corrigé en amont).</para></listitem>
 
<listitem><para>29 août 2004 [gerard]&nbsp;: ajout du SBU manquant pour
readline.</para></listitem>
 
<listitem><para>29 août 2004 [gerard]&nbsp;: fin de la deuxième réécriture
globale.</para></listitem>
 
<listitem><para>17 août 2004 [gerard]&nbsp;: ajout des correctifs
<quote>Display Wrap</quote> de Bash et Readline.</para></listitem>
 
<listitem><para>8 août 2004 [gerard]&nbsp;: mise à jour vers
iproute2-2.6.8-ss040730.</para></listitem>
 
<listitem><para>8 août 2004 [gerard]&nbsp;: ajout de notes concernant
les échecs des suites de tests pour diffutils, ncurses, patch,
util-linux et udev. Ajout d'une note dans chapter05/perl pour ne pas exécuter
la suite de tests.</para></listitem>
 
<listitem><para>7 août 2004 [gerard]&nbsp;: fin de la réécriture complète.</para></listitem>
 
<listitem><para>7 août , 2004 [gerard]&nbsp;: mise à jour vers
expect-5.42.1.</para></listitem>
 
<listitem><para>7 août 2004 [gerard]&nbsp;: binaire hostname aussi déplacé dans
/bin.</para></listitem>
 
<listitem><para>3 août 2004 [jim]&nbsp;: réalisation de la modification suggérée
pour l'emplacement de pt_chown</para></listitem>
 
<listitem><para>30 juillet 2004 [jeremy]&nbsp;: mise à jour vers automake-1.9, man-1.5n,
file-4.10, bash-3.0, perl-5.8.5, readline-5.0, tcl-8.4.7, binutils-2.15.91.0.2
</para></listitem>
 
<listitem><para>22 juillet 2004 [manuel]&nbsp;: prologue&nbsp;: ajout d'un
paragraphe sur les textes modifiables</para></listitem>
 
<listitem><para>20 juillet 2004 [jeremy]&nbsp;: correction de la double création
de /var/tmp (Kris van Rens and others)</para></listitem>
 
<listitem><para>19 juillet 2004 [matt]&nbsp;: mise à jour vers udev-030.</para></listitem>
 
<listitem><para>19 juillet 2004 [matt]&nbsp;: mise à jour vers procps-3.2.2.</para></listitem>
 
<listitem><para>16 juillet 2004 [matt]&nbsp;: installation d'iproute2 dans /sbin
en accord avec le FHS et pour permettre aux scripts de démarrage de fonctionner
même si /usr est monté sur un système de fichiers séparé. (Oliver Brakmann)</para></listitem>
 
<listitem><para>15 juillet 2004 [matt]&nbsp;: corrections de plusieurs
inexactitudes concernant le réseau (Kevin P. Fleming)</para></listitem>
 
<listitem><para>14 juillet 2004 [matt]&nbsp;: chapter07/network.xml - un couple
de corrections mineures pour la configuration du réseau</para></listitem>
 
<listitem><para>14 juillet 2004 [matt]&nbsp;: chapter06/iproute2.xml - correction
de la référence restante pour net-tools</para></listitem>
 
<listitem><para>14 juillet 2004 [matt]&nbsp;: chapter06/udev.xml - explication
de l'option udevdir</para></listitem>
 
<listitem><para>12 juillet 2004 [matt]&nbsp;: les scripts de démarrage réseau
supportent maintenant les configurations basées sur le répertoire.</para></listitem>
 
<listitem><para>12 juillet 2004 [matt]&nbsp;: mise à jour vers lfs-bootscripts-2.2.0.</para>
</listitem>
 
<listitem><para>12 juillet 2004 [matt]&nbsp;: remplacement de iproute2 par
net-tools (gros remerciements à Jim Gifford)</para></listitem>
 
<listitem><para>7 juillet 2004 [matt]&nbsp;: suppression de hotplug.</para></listitem>
 
<listitem><para>6 juillet 2004 [matt]&nbsp;: mise à jour vers sed-4.1.1.</para></listitem>
 
<listitem><para>5 juillet 2004 [alexander]&nbsp;: mise à jour de lien sur la
suite de tests GCC.</para></listitem>
 
<listitem><para>3 juillet 2004 [winkie]&nbsp;: mise à jour vers Glibc 2.3.4-20040701.</para>
</listitem>
 
<listitem><para>2 juillet 2004 [winkie]&nbsp;: mise à jour vers GCC 3.4.1.</para></listitem>
 
<listitem><para>2 juillet 2004 [winkie]&nbsp;: mise à jour de la configuration
des droits Udev pour inclure les modules noyau nvidia.</para></listitem>
 
<listitem><para>29 juin 2004 [alexander]&nbsp;: explication des bénéfices de
la bonne configuration de LC_ALL.</para></listitem>
 
<listitem><para>28 juin 2004 [winkie]&nbsp;: mise à jour vers Udev 028 et
suppression du correctif sur les droits d'Udev.</para></listitem>
 
<listitem><para>28 juin 2004 [winkie]&nbsp;: mise à jour vers LFS-Bootscripts 2.1.2.
</para></listitem>
 
<listitem><para>27 juin 2004 [matt]&nbsp;: déplacement de la discussion sur les
résultats des tests de glibc dans le chapitre 6 (où son exécution est réellement
recommandée). De plus, appuyons sur le fait que les tests sont en option dans le
chapitre 5, évitons <emphasis>non recommandées</emphasis></para></listitem>
 
<listitem><para>26 juin 2004 [winkie]&nbsp;: mise à jour vers GCC 3.4.1-20040625.</para>
</listitem>
 
<listitem><para>26 juin 2004 [matt]&nbsp;: ajout des descriptions pour le
contenu du paquetage udev (Alexander Patrakov)</para></listitem>
 
<listitem><para>24 juin 2004 [winkie]&nbsp;: mise à jour vers Linux-Libc-Headers 2.6.7.0
et miseà jour du correctif Net-tools GCC 3.4.</para></listitem>
 
<listitem><para>24 juin 2004 [alexander]&nbsp;: changement des phrases sur la
page hotplug</para></listitem>
 
<listitem><para>24 juin 2004 [alexander]&nbsp;: suppression du correctif isapnp
d'hotplug jusqu'à ce que les bogues soient corrigés</para></listitem>
 
<listitem><para>23 juin 2004 [matt]&nbsp;: suppression de la note concernant
l'utilisation de --no-mem-option de GRUB</para></listitem>
 
<listitem><para>23 juin 2004 [matt]&nbsp;: suppression de dpasswd de la liste
des fichiers installés par shadow.</para></listitem>
 
<listitem><para>23 juin 2004 [winkie]&nbsp;: mise à jour vers LFS-Bootscripts 2.1.2-pre2.
</para></listitem>
 
<listitem><para>21 juin 2004 [winkie]&nbsp;: ajout du correctif sur les droits
Udev pour corriger une régression à partir de la version 023 (un bogue vraiment
mauvais).</para></listitem>
 
<listitem><para>20 juin 2004 [matt]&nbsp;: chapter07 - console. Ajout d'une note
concernant la police de l'écran non configurée automatiquement quand le script de
la console n'est pas exécuté. (Alexander Patrakov)</para></listitem>
 
<listitem><para>20 juin 2004 [matt]&nbsp;: chapter03 - packages. Les utilisateurs
sont amenés vers les miroirs FTP et GnuPG.</para></listitem>
 
<listitem><para>19 juin 2004 [winkie]&nbsp;: modification de l'installation de
Flex pour toucher uniquement la page man flex.1 car c'est la seule qui existe.
</para></listitem>
 
<listitem><para>19 juin 2004 [matt]&nbsp;: chapter05 - hostreqs. Fournit une
information plus claire concernant la détermination du fait que le noyau de
l'hôte est convenable pour réussir la suite de tests de glibcs</para></listitem>
 
<listitem><para>19 juin 2004 [matt]&nbsp;: chapter06 - creatingdirs. Utilisation
de `install -d` au lieu de `mkdir` (corrige le bogue #821)</para></listitem>
 
<listitem><para>19 juin 2004 [matt]&nbsp;: chapter04 - addinguser. Ajoute
l'utilisateur lfs dans me groupe lfs au cas où hosts ajoute un nouvel utilisateur
à un gid inexistant par défaut (ce qui fait que la suite de tests de glibc échoue).
Corrige le bogue #856.</para></listitem>
 
<listitem><para>19 juin 2004 [matt]&nbsp;: chapter07 - console &amp; chapter 08 -
kernel. Amélioration des phrases et ré-introduction de l'option pour la compilation
du plan clavier dans le noyau.</para></listitem>
 
<listitem><para>19 juin 2004 [matt]&nbsp;: chapter06 - e2fsprogs, ajout des
instructions à jour avec les recommandations.</para></listitem>
 
<listitem><para>19 juin 2004 [manuel]&nbsp;: application des entrées Index pour Hotplug
et Linux-Libc-Headers. Corrections de balises.</para></listitem>
 
<listitem><para>18 juin 2004 [winkie]&nbsp;: au lieu d'utiliser le binaire udev,
utilisation du démon udev à la place.</para></listitem>
 
<listitem><para>17 juin 2004 [matt]&nbsp;: ajout du correctif sur les droits de sed.</para>
</listitem>
 
<listitem><para>17 juin 2004 [matt]&nbsp;: clarifie qu'un gcc-3.x compilé sur un
noyau 2.6.x est requis sur l'hôte.</para></listitem>
 
<listitem><para>16 juin 2004 [winkie]&nbsp;: mise à jour vers Linux 2.6.7 et
suppression du correctif FPU.</para></listitem>
 
<listitem><para>16 juin 2004 [alexander]&nbsp;: suppression de la ligne
fileencodings à cause d'un bogue qui met Vim par défaut enUTF-8.</para></listitem>
 
<listitem><para>15 juin 2004 [winkie]&nbsp;: correction de l'installation de Readline.
</para></listitem>
 
<listitem><para>15 juin 2004 [winkie]&nbsp;: création de l'entrée Udev dans
/etc/hotplug.d car ce n'est pas correct dans notre but par défaut.</para></listitem>
 
<listitem><para>15 juin 2004 [winkie]&nbsp;: suppression du correctif Udev en
faveur de la copie des fichiers de configuration dans /etc/udev après installation.
</para></listitem>
 
<listitem><para>15 juin 2004 [winkie]&nbsp;: mise à jour vers Sed 4.1.</para></listitem>
 
<listitem><para>15 juin 2004 [winkie]&nbsp;: mise à jour vers Udev 027.</para></listitem>
 
<listitem><para>15 juin 2004 [winkie]&nbsp;: mise à jour vers LFS-Bootscripts 2.1.2-pre1.
</para></listitem>
 
<listitem><para>15 juin 2004 [winkie]&nbsp;: correction des sources du noyau
pour qu'il ait par défaut <filename>/bin/true</filename> comme gestionnaire
hotplug.</para></listitem>
 
<listitem><para>14 juin 2004 [matt]&nbsp;: suppression de GNU/Linux en accord
avec l'usage habituel concernant le débat GNU/Linux vs. Linux (Larry Lawrence).
</para></listitem>
 
<listitem><para>14 juin 2004 [winkie]&nbsp;: mise à jour vers GRUB 0.95.
Suppression de l'argument <quote>--no-mem-option</quote> dans
<filename>menu.lst</filename> de GRUB car il s'agit maintenant de la valeur par
défaut.</para></listitem>
 
<listitem><para>13 juin 2004 [alexander]&nbsp;: Security&nbsp;: ajout de
linux-2.6.6-fpu-1.patch</para></listitem>
 
<listitem><para>12 juin 2004 [jeremy]&nbsp;: chapter 6 - Hotplug - correction
du nom du correctif deps bogué</para></listitem>
 
<listitem><para>12 juin 2004 [alexander]&nbsp;: les Anglais parlent anglais mais
ont besoin de loadkeys et setfont (rapporté par Dave Mascall sur IRC). Correction
du texte sur la page console pour en tenir compte</para></listitem>
 
<listitem><para>12 juin 2004 [alexander]&nbsp;: ajout de nouveau de l'option
<quote>background</quote> dans /etc/vimrc car elle a une valeur éducative.
Placez cette option dans une instruction <quote>if</quote> parce qu'elle
s'applique à certains terminaux, pas tous</para></listitem>
 
<listitem><para>11 juin 2004 [winkie]&nbsp;: suppression des instructions de
GRUB en faveur d'un correctif en amont.</para></listitem>
 
<listitem><para>11 juin 2004 [winkie]&nbsp;: force Readline à établir un lien
avec Ncurses.</para></listitem>
 
<listitem><para>11 juin 2004 [alexander]&nbsp;: ajout de sysvinit-2.85-proclen-1.patch
</para></listitem>
 
<listitem><para>10 juin 2004 [alexander]&nbsp;: annulation de la modification
boguée de l'ordre du paquetage. Suppression de la ligne <quote>background</quote>
à partir de /etc/vimrc parce qu'il correspond à la valeur par défaut sur la
console Linux</para></listitem>
 
<listitem><para>10 juin 2004 [alexander]&nbsp;: ajout d'une commande pour
détecter automatiquement l'ensemble des caractères des fichiers en cours
d'édition par /etc/vimrc
</para></listitem>
 
<listitem><para>10 juin 2004 [alexander]&nbsp;: ajout des fichiers langages de
vim. Déplacement de vim après gettext pour les faire fonctionner</para></listitem>
 
<listitem><para>9 juin 2004 [jeremy]&nbsp;: mise à jour vers M4-1.4.1 après neuf
ans&nbsp;!</para></listitem>
 
<listitem><para>9 juin 2004 [winkie]&nbsp;: mise à jour vers Linux-Libc-Headers 2.6.6.0.
</para></listitem>
 
<listitem><para>9 juin 2004 [winkie]&nbsp;: mise à jour des emplacements des
archives tar de Glibc &amp; GCC.</para></listitem>
 
<listitem><para>7 juin 2004 [winkie]&nbsp;: mise à jour vers Udev 026.</para></listitem>
 
<listitem><para>7 juin 2004 [winkie]&nbsp;: suppression du correctif Net-tools
pour les en-têtes du noyau en faveur d'un simple sed.</para></listitem>
 
<listitem><para>7 juin 2004 [winkie]&nbsp;: usage normalisé de <quote>sed</quote>
dans le livre.</para></listitem>
 
<listitem><para>7 juin 2004 [winkie]&nbsp;: utilisation de la commande
<quote>gcc --print-file specs</quote> pour déterminer l'emplacement du fichier
<quote>specs</quote> file.</para></listitem>
 
<listitem><para>7 juin 2004 [winkie]&nbsp;: mise à jour des noms des correctifs
pour correspondre à ceux utilisés par le projet patch.</para></listitem>
 
<listitem><para>7 juin 2004 [winkie]&nbsp;: modification globale de <quote>DejaGnu</quote>
en <quote>DejaGNU</quote>.</para></listitem>
 
<listitem><para>7 juin 2004 [winkie]&nbsp;: mise à jour vers Vim 6.3.</para></listitem>
 
<listitem><para>2 juin 2004 [matt]&nbsp;: Prologue - acknowledgments, ajout de Thomas
Reitelbach comme traducteur allemand</para></listitem>
 
<listitem><para>2 juin 2004 [winkie]&nbsp;: mise à jour vers GCC 3.4.1-20040601.
Cette version corrige les bogues en référence à GCC 3.4.0 et GCC 3.4.1-20040517.
De plus, mise à jour vers Glibc 2.3.4-20040529 qui inclut beaucoup de corrections
pour les architectures autres que i386.</para></listitem>
 
<listitem><para>1er juin 2004 [winkie]&nbsp;: mise à jour vers Binutils 2.15.91.0.1.
Cette version fournit l'option <quote>-z relro</quote>.</para></listitem>
 
<listitem><para>1er juin 2004 [winkie]&nbsp;: modifications mineures</para>
</listitem>
 
<listitem><para>29 mai 2004 [alexander]&nbsp;: ajout d'une mention sur le
problème hotplug+udev+modules. Suppression d'un lien réellement mort
vers le guide pratique du noyau.</para></listitem>
 
<listitem><para>29 mai 2004 [alexander]&nbsp;: correction sur la ligne usbfs
dans /etc/fstab.</para></listitem>
 
<listitem><para>29 mai 2004 [alexander]&nbsp;: les nouveaux scripts de démarrage
LFS viennent déjà avec le fichier /etc/sysconfig/console. Correction du texte.
</para></listitem>
 
<listitem><para>25 mai 2004 [jeremy]&nbsp;: chapitre 6 - Mise à jour de psmisc
avec la version 21.5.</para></listitem>
 
<listitem><para>25 mai 2004 [jeremy]&nbsp;: mise à jour de l'emplacement de
téléchargement pour le paquetage lfs-bootscripts</para></listitem>
 
<listitem><para>24 mai 2004 [jeremy]&nbsp;: mise à jour vers libc-headers 2.6.5.2</para>
</listitem>
 
<listitem><para>23 mai 2004 [jeremy]&nbsp;: chapter 6 - Vim - Ajout d'une option
dans le fichier de configuration vimrc</para></listitem>
 
<listitem><para>23 mai 2004 [alexander]&nbsp;: ne listez pas le script
d'initialisation dans le contenu du paquetage Hotplug. La raison en est que nous
utilisons le script de remplacement de winkie à partir de
LFS-Bootscripts.</para></listitem>
 
<listitem><para>23 mai 2004 [alexander]&nbsp;: correction d'erreur de validation
XML.</para></listitem>
 
<listitem><para>20 mai 2004 [winkie]&nbsp;: déplacement du groupe <quote>usb</quote>
vers le GID 14, au lieu du 15.</para></listitem>
 
<listitem><para>20 mai 2004 [winkie]&nbsp;: suppression du correctif
<quote>cosmétique</quote> de Hotplug en faveur du script de LFS-Bootscripts et
quelques nettoyages du texte et du rendu.</para></listitem>
 
<listitem><para>20 mai 2004 [winkie]&nbsp;: pointe vers les bons correctifs de
GCC.
</para></listitem>
 
<listitem><para>20 mai 2004 [alexander]&nbsp;: ajout de Hotplug 2004_04_01.
</para></listitem>
 
<listitem><para>19 mai 2004 [winkie]&nbsp;: modification des droits de /dev/random
par 0444 au lieu de 0666.</para></listitem>
 
<listitem><para>19 mai 2004 [winkie]&nbsp;: mise à jour vers Binutils 2.15 &amp; GCC
3.4.1-20040517.</para></listitem>
 
<listitem><para>18 mai 2004 [winkie]&nbsp;: mise à jour vers LFS-Bootscripts 2.1.1.
</para></listitem>
 
<listitem><para>16 mai 2004 [winkie]&nbsp;: mise à jour vers Automake-1.8.5.</para></listitem>
 
<listitem><para>15 mai 2004 [winkie]&nbsp;: mise à jour vers LFS-Bootscripts 2.1.1-pre2.
</para></listitem>
 
<listitem><para>14 mai 2004 [winkie]&nbsp;: mise à jour vers Groff 1.19.1.</para></listitem>
 
<listitem><para>14 mai 2004 [alexander]&nbsp;: quelques modifications de texte
sur la page de Vim.</para></listitem>
 
<listitem><para>12 mai 2004 [winkie]&nbsp;: application d'un correctif pour
s'assurer que Coreutils n'installe pas de binaires que nous ne voulons pas.
</para></listitem>
 
<listitem><para>12 mai 2004 [winkie]&nbsp;: ne passez pas <quote>-default</quote>
au configure de Man car il n'est plus nécessaire.</para></listitem>
 
<listitem><para>12 mai 2004 [winkie]&nbsp;: raccourcissement du <quote>sed</quote>
utilisé sur le fichier <filename>gzexe.in</filename> de Gzip.</para></listitem>
 
<listitem><para>12 mai 2004 [winkie]&nbsp;: correction de l'exécution de la
suite de tests de Coreutils.
</para></listitem>
 
<listitem><para>11 mai 2004 [winkie]&nbsp;: ne construisez pas l'en-tête PCH pour
libstdc++ dans le chapitre 5 -- c'est seulement une perte d'espace disque.</para></listitem>
 
<listitem><para>11 mai 2004 [winkie]&nbsp;: mise à jour vers Glibc 2.3.4-20040510 et
Tar 1.14.</para></listitem>
 
<listitem><para>10 mai 2004 [winkie]&nbsp;: chapitre 8 - Mise à jour vers Linux 2.6.6.
</para></listitem>
 
<listitem><para>7 mai 2004 [winkie]&nbsp;: chapitre 6 - Lors de la configuration
de Vim, passez l'option <quote>--enable-multibyte</quote>.</para></listitem>
 
<listitem><para>6 mai 2004 [winkie]&nbsp;: chapitre 6 - Ajout de l'installation
de Readline et utilisation de celui-ci lors de la construction de Bash.</para></listitem>
 
<listitem><para>6 mai 2004 [winkie]&nbsp;: ajout du correctif I18n d'Alexander Patrakov.
</para></listitem>
 
<listitem><para>4 mai 2004 [winkie]&nbsp;: chapitre 6 - Création et utilisation
du groupe <quote>utmp</quote> group.</para></listitem>
 
<listitem><para>4 mai 2004 [winkie]&nbsp;: chapitre 7 - Mise à jour vers LFS-Bootscripts
2.1.0 et modification du livre pour qu'il l'utilise.</para></listitem>
 
<listitem><para>4 mai 2004 [winkie]&nbsp;: chapitre 6 - Installation du binaire
<quote>passwd</quote> dans /bin au lieu de /usr/bin.</para></listitem>
 
<listitem><para>4 mai 2004 [winkie]&nbsp;: chapitre 6 - Basculement du correctif
uname que nous utilisons, pour obtenir des résultats corrects.</para></listitem>
 
<listitem><para>4 mai 2004 [winkie]&nbsp;: chapitre 8 - Utilisation de la version
complète de LFS pour le titre de GRUB.</para></listitem>
 
<listitem><para>4 mai 2004 [winkie]&nbsp;: chapitre 5 &amp; 6 - Utilisation du
nouveau nommage <quote>standard</quote> des correctifs.</para></listitem>
 
<listitem><para>3 mai 2004 [winkie]&nbsp;: intégration du contenu de BE-LFS -
merci à Ron et Jason Scott pour l'aide qu'ils ont apportée à BE-LFS avant son
intégration.</para></listitem>
 
</itemizedlist>
 
<para>Sortie de la version 5.1.1 le 6 juin 2004.</para>
 
</sect1>
/tags/LFS-6_0/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 les paquets
de 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
texte)</para></listitem>
<listitem><para>Irssi (client console
IRC)</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_0/lfs/chapter01/how.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="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, ceci incluant 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 pour disposer de ces outils.</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 un emplacement 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"/> discute de la configuration pour un
environnement de travail approprié. Merci de lire le <xref
linkend="chapter-final-preps"/> avec attention car il explique plusieurs
problèmes importants dont le développeur doit être au courant avant de commencer
à travailler sur le <xref linkend="chapter-temporary-tools"/> et les chapitres
suivants.</para>
 
<para>Le <xref linkend="chapter-temporary-tools"/> explique l'installation d'un
ensemble de paquets qui formera la suite de développement de base (ou ensemble
d'outils) utilisé pour construire le système réel 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 aussi à 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 deuxième fois). Les programmes de ces paquets seront liés
statiquement pour être utilisés indépendamment du système hôte. La prochaine
étape consiste à construire Glibc, la bibliothèque C. Glibc sera compilé par les
programmes de l'ensemble d'outils, construits lors de la première passe.
Ensuite, une seconde passe de l'ensemble d'outils sera lancée. Cette fois,
l'ensemble d'outils sera lié dynamiquement avec la Glibc nouvellement
construite. Les paquets restants du <xref linkend="chapter-temporary-tools"/>
seront construits en utilisant l'ensemble d'outils de cette deuxième passe.
Lorsque ceci sera fait, le processus d'installation de LFS ne dépendra plus de
la distribution hôte, à l'exception du noyau en cours d'exécution.</para>
 
<para>Alors que ceci pourrait sembler être beaucoup de travail pour
simplement s'éloigner de la distribution hôte, une explication technique
complète est fournie au début du <xref linkend="chapter-temporary-tools"/>, en
incluant les notes sur les différences entre les programmes liés statiquement
et ceux liés dynamiquement.</para>
 
<para>Dans le <xref linkend="chapter-building-system"/>, le système LFS complet
est construit. Le programme chroot (changement de racine) est utilisé pour
entrer dans un environnement virtuel et pour lancer un nouveau shell dont le
répertoire racine sera initialisé à la partition LFS. Ceci ressemble au
redémarrage et à l'instruction au noyau de monter la partition LFS comme partition
racine. Le système ne redémarre pas réellement mais change la racine parce que
la création d'un système démarrable (amorçable) réclame un travail supplémentaire qui n'est
pas encore nécessaire. L'avantage principal 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
continuer à 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 l'implémentation des étapes de ce livre,
l'ordinateur sera prêt à redémarrer dans le nouveau système LFS.</para>
 
<para>Ceci expose rapidement le processus. Des informations détaillées sur chaque
étape sont discutées dans les chapitres suivants avec les descriptions des
paquets. Les éléments qui peuvent sembler compliqués seront clarifiés et
tout ira à sa place, alors que le développeur s'embarquera pour l'aventure
LFS.</para>
 
</sect1>
/tags/LFS-6_0/lfs/chapter01/askforhelp.xml
0,0 → 1,117
<?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, vérifiez la FAQ dont la page est située sur <ulink
url="&faq-root;#generalfaq"/>. Les questions y ont souvent des réponses. Si
votre question n'a pas sa réponse sur cette page, 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>Nous avons aussi une formidable communauté LFS, volontaire pour offrir une
assistance via IRC et les listes de discussion (voir la section <xref
linkend="ch-scatter-administrativa"/> de ce livre). Pour assister au
diagnostic et à la résolution du problème, merci d'inclure toute information
utile dans votre demande d'aide.</para>
 
<sect2>
<title>Éléments à mentionner</title>
<para>À part 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>Notez si vous avez dévié 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 basé sur les préférences de
l'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 configure</title>
 
<para>Si quelque chose se passe mal lors de l'étape du script configure,
regardez le fichier <filename>config.log</filename>. Ce fichier pourrait
contenir les erreurs rencontrées lors du configure qui n'ont pas été affichées
à l'écran. Incluez les lignes intéressantes si vous avez besoin d'aide.</para>
</sect2>
 
<sect2>
<title>Problèmes de compilation</title>
 
<para>L'affichage écran et le contenu de différents fichiers sont utiles pour
déterminer la cause des problèmes de compilation. L'affichage de l'écran du
script <command>./configure</command> et du <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. Ci-dessous se trouve un exemple de
type d'informations à inclure à partir de l'affichage écran de
<command>make</command>&nbsp;:</para>
 
<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>
 
<beginpage/>
 
<para>Cette information n'est pas suffisante pour diagnostiquer correctement
le problème car il note 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>
 
<sect2>
<title>Problèmes de la suite de tests</title>
 
<para>Beaucoup de paquets fournissent une suite de tests qui, suivant
l'importance du paquet, devrait être exécutée. Quelquefois, les paquets
génèrent des erreurs fausses ou attendues. Si ces erreurs sont rencontrées,
vérifiez la page Wiki de LFS sur <ulink url="&wiki-root;"/> pour vérifier si
nous avons noté et enquêté sur ces problèmes. S'ils sont notés et adressés, il
n'est pas nécessaire de s'inquiéter.</para>
</sect2>
 
</sect1>
 
/tags/LFS-6_0/lfs/chapter01/administrativa.xml
0,0 → 1,107
<?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 erreurs lors de la construction du système
LFS, si vous avez des questions ou si vous pensez qu'il y a une erreur de
typographie 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.</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-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) pour tenter de trouver une réponse à votre question. Vous
trouverez le réseau IRC à l'adresse <uri>irc.linuxfromscratch.org</uri>
ou <uri>irc.linux-phreak.net</uri>, port 6667. Le canal du support se
nomme #LFS-support.</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-wiki">
<title>Wiki</title>
 
<para>Pour plus d'informations sur les paquets, les mises à jour de versions,
les astuces et les expériences personnelles, vous pouvez voir le Wiki
LFS sur <ulink url="&wiki-root;"/>. Les utilisateurs peuvent aussi ajouter des
informations pour aider d'autres personnes sur leur future activité avec LFS .</para>
 
</sect2>
 
 
<sect2 id="ch-scatter-references">
<title>Références</title>
 
<para>Pour plus d'informations sur les paquets, des indications très utiles sont
disponibles sur cette page&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;"/>
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_0/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="bootcd.xml"/>
 
</chapter>
/tags/LFS-6_0/lfs/prologue/foreword.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="pf-foreword">
<title>Avant-propos</title>
<?dbhtml filename="foreword.html"?>
 
<para>Mes aventures dans Linux ont commencé six ans auparavant lorsque j'ai
téléchargé et installé ma première distribution. Après avoir travaillé dessus
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,
cependant chacune avait ses avantages et ses inconvénients. Finalement, j'ai
réalisé que si je voulais avoir une pleine satisfaction de mon système Linux,
je devais le construire à partir 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 installeraient des 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 j'ai
conservé l'idée qu'un système pourrait être construit en se conformant à mes
besoins et désirs plutôt qu'à un standard qui ne correspondrait pas à ce que je
cherchais.</para>
 
<para>Après avoir passé 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 précis, bien plus rapides et
prenant moins de place que des systèmes d'exploitation traditionnels. J'ai
appelé ce système LFS, soit <quote>Linux From Scratch</quote> (Linux à partir
de rien).</para>
 
<para>Lorsque j'ai partagé mes objectifs et mes expériences avec d'autres
membres de la communauté Linux, il est devenu apparent qu'il y avait un sérieux
intérêt dans les idées que j'avais mises en avant lors de mes aventures Linux.
De tels systèmes LFS personnalisés rencontraient non seulement les spécifications
et pré-requis des utilisateurs mais servaient aussi comme opportunité idéale
d'apprentissage pour les programmeurs et les administrateurs système, afin
d'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 la base 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 dicter
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 sera capable de 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 donne plus de contrôle aux utilisateurs 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_0/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_0/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é en plusieurs parties.</para>
 
<sect2>
<title>Partie I - Introduction</title>
 
<para>La première partie donne quelques informations importantes, comme par exemple
sur la façon d'installer 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 tout au long de la construction du
système LFS&nbsp;: compilation et installation de tous les paquets un par
un, initialisation des scripts de démarrage et installation du noyau. Le
système Linux basique résultant est la fondation à partir de 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_0/lfs/prologue/prerequisites.xml
0,0 → 1,42
<?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="pf-prerequisites">
<title>Prérequis</title>
<?dbhtml filename="prerequisites.html"?>
 
<para>Ce livre suppose que le lecteur possède un bon ensemble de connaissances
sur l'utilisation et l'installation de systèmes Linux. Avant de commencer à
construire un système LFS, nous recommandons la lecture des 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
<quote>générique</quote> de logiciels Unix sous Linux.</para></listitem>
 
<listitem><para remap="verbatim">The Linux Users' Guide
<ulink url="http://espc22.murdoch.edu.au/~stewart/guide/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. C'est principalement une liste de liens de sources excellentes
d'informations sur une grande gamme de thèmes. Toute personne essayant
d'installer LFS devrait au moins avoir une certaine compréhension de la majorité
des thèmes de cette astuce...</para></listitem>
 
</itemizedlist>
 
</sect1>
/tags/LFS-6_0/lfs/prologue/typography.xml
0,0 → 1,58
<?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 faciliter ce qui suit, voici quelques conventions typographiques
suivies tout au long de ce livre. Cette section contient quelques exemples du
format typographique trouvé dans ce livre.</para>
 
<screen><userinput>./configure --prefix=/usr</userinput></screen>
 
<para>Ce style de texte est conçu pour être tapé exactement de la
même façon qu'il est vu sauf si le texte indique le contraire. Il est aussi
utilisé dans les sections d'explications pour identifier les commandes
référencées.</para>
 
<screen><computeroutput>install-info: unknown option
'--dir-file=/mnt/lfs/usr/info/dir'</computeroutput></screen>
 
<para>Ce style de texte (texte à largeur fixe) montre une sortie d'écran,
probablement le résultat de commandes. Ce format est aussi utilisé pour
afficher des noms de fichiers, comme
<filename>/etc/ld.so.conf</filename>.</para>
 
<para><emphasis>Emphase</emphasis></para>
 
<para>Ce style de texte est utilisé dans différents buts dans ce livre,
principalement pour 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 ceux
référençant des pages externes telles que les guides pratiques, les emplacements
de téléchargement et des sites web.</para>
 
<screen><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 qui est saisi jusqu'à ce
que la séquence de fin de fichier (EOF) soit rencontrée. Donc, cette section
entière est généralement saisie de la même façon.</para>
 
<para><replaceable>[TEXTE À REMPLACER]</replaceable></para>
 
<para>Ce format est utilisé pour intégrer du texte qui ne devra pas être saisi
tel quel<phrase condition="html"> et qui ne devra pas être
copié/collé</phrase>.</para>
 
</sect1>
/tags/LFS-6_0/lfs/prologue/audience.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="pre-audience">
<title>Public visé</title>
<?dbhtml filename="audience.html"?>
 
<para>Il y a beaucoup de raisons qui pousseraient quelqu'un à vouloir lire
ce livre. La raison principale est d'installer un système LFS à partir du code
source. La question que beaucoup de personnes se posent est <quote>pourquoi se
fatiguer à installer manuellement un système Linux depuis le début alors qu'il
suffit de télécharger une distribution existante ?</quote>. C'est une bonne
question.</para>
 
<para>Une raison importante de l'existence de LFS est d'apprendre comment
fonctionne un système Linux de l'intérieur. Construire un système LFS vous
apprend tout ce qui fait que Linux fonctionne, et comment les choses
interagissent et dépendent les unes des autres, et le plus important, vous
apprend à le personnaliser afin qu'il soit à votre goût et réponde à vos
besoins.</para>
 
<para>Un avantage clé de LFS est qu'il permet aux utilisateurs d'avoir plus
de contrôle sur votre système sans avoir à dépendre d'une implémentation créée
par quelqu'un d'autre. Avec LFS, <emphasis>vous</emphasis> êtes maintenant sur
le siège du conducteur et <emphasis>vous</emphasis> êtes capable de décider chaque aspect de votre système,
comme la disposition des répertoires ou la configuration des scripts de
démarrage. Vous saurez également exactement où, pourquoi et comment les
programmes sont installés.</para>
 
<para>Un autre avantage de LFS est la possibilité de créer un système Linux très
compact. Lors de l'installation d'une distribution habituelle, l'utilisateur
finit par installer beaucoup de programmes qui ne seront jamais utilisés. Ces
programmes occupent un espace disque précieux et font parfois perdre des cycles
CPU précieux. 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 plupart des systèmes existants.
Cela vous semble-t-il toujours beaucoup&nbsp;? Certains d'entre nous ont
travaillé afin de créer un système LFS minuscule. Nous avons installé un système
spécialisé pour faire fonctionner le serveur web Apache&nbsp;; l'espace disque
total occupé était approximativement de 8&nbsp;Mo. Avec plus de dépouillement
encore, cela peut être ramené à 5&nbsp;Mo ou moins. Essayez donc d'en faire
autant avec une distribution courante&nbsp;! C'est seulement un des
points bénéfiques de la conception de votre propre implémentation d'un
système Linux.</para>
 
<para>Si nous devions comparer une distribution Linux à un hamburger que vous
achetez au restaurant fast-food, vous n'avez aucune idée de ce que vous mangez.
LFS ne vous donne pas un hamburger, mais la recette pour faire un hamburger.
Cela permet aux utilisateurs de prudemment l'inspecter, d'enlever les
ingrédients non désirés et, par la même occasion, de rajouter des
ingrédients qui correspondent mieux à la saveur qu'ils attendent de ce
hamburger. Quand vous êtes satisfait des ingrédients, vous passez à l'étape
suivante en les combinant ensemble. Vous avez désormais la chance de pouvoir le
faire de la façon dont vous le souhaitez&nbsp;: grillez-le, faites-le cuire au
four, faites-le frire, faites-le au barbecue ou mangez-le cru.</para>
 
<beginpage/>
<para>Une autre analogie que nous pouvons utiliser 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, le personnalisant suivant les besoins et préférences
des utilisateurs.</para>
 
<para>Un autre avantage d'un système Linux personnalisé est un surcroît de
sécurité. Vous compilerez le système complet à partir de la base, ce qui vous
permet de tout vérifier, si vous le voulez, et d'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é.
Malgré tout vous n'avez aucune garantie que le nouveau paquet résolve le
problème de manière adéquate. Vous ne pourrez jamais savoir si une faille de
sécurité est réparée si vous ne le faites pas vous-même.</para>
 
<para>Le but de Linux From Scratch est de construire un système complet et
utilisable, en ce qui concerne les fondations. Les lecteurs qui ne souhaitent
pas construire leur propre système à partir de rien pourraient ne pas
bénéficier des 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 pratique construit un système qui est similaire à celui de ce livre mais
il se concentre strictement sur la création d'un système capable de démarrer
jusqu'à l'invite de BASH. Prenez en compte vos objectifs. 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 pouvoir toutes les lister ici. Cette section n'aborde que la partie visible
de l'iceberg. En continuant dans votre expérience de LFS, vous trouverez la
puissance que donnent l'information et la connaissance.</para>
 
</sect1>
/tags/LFS-6_0/lfs/prologue/preface.xml
0,0 → 1,17
<?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="typography.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="organization.xml"/>
 
</preface>
/tags/LFS-6_0/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;2004</year>
<holder>Gerard Beekmans</holder>
</copyright>
 
<legalnotice>
<para>Copyright (c) 1999&ndash;2004, 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_0/lfs/chapter05/toolchaintechnotes.xml
0,0 → 1,225
<?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 explique certains détails rationnels et techniques
derrière la méthode de contruction. 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 founir une valeur éducative maximale en même temps.
En d'autres termes, des techniques plus avancées pourraient être utilisées
pour construire le système.</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>
 
<beginpage/>
<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 bibloiothè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 tellle cassure ne se montrerait
pas avant la fin de la construction de la distribution complète. Un échec dans
la suite de tests alertera habituellement sur cette erreur avant que trop de
travail supplémentaire n'ait été réalisé.</para>
 
<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 contruit à partir de
la nouvelle Glibc dans <filename class="directory">/tools</filename>.</para>
 
<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>
 
<beginpage/>
 
<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 de <emphasis>dlopen</emphasis> 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_0/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>22&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 commune était d'utiliser les en-têtes
<quote>bruts</quote> du noyau (directement de l'archive tar du noyau) dans
<filename class="directory">/usr/include</filename> mais, au fil des ans, les
développeurs du noyau ont pris fortement position contre cet état de fait. Ceci
a donné naissance au projet Linux-Libc-Headers, qui a été conçu pour maintenir
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 -R include/asm-i386 /tools/include/asm
cp -R include/linux /tools/include</userinput></screen>
 
<para>Si votre architecture n'est pas i386 (compatible), ajustez la première
commande en accord.</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_0/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>tools</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 SBU</seg><seg>3.0 MB</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 of M4</title>
 
<para>Prepare M4 for compilation:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compile the package:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>To test the results, issue: <userinput>make
check</userinput>.</para>
 
<para>Install the package:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Details on this package are located in <xref
linkend="contents-m4" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_0/lfs/chapter05/gcc-pass1.xml
0,0 → 1,138
<?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>300&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>Déballez seulement l'archive tar gcc-core car ni le compilateur C++ ni la
suite de tests ne sont nécessaires pour l'instant.</para>
 
<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>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 ../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, c'est une aide pour minimiser l'influence du
système hôte.</para>
<beginpage/>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-shared</parameter></term>
<listitem><para>Cette option peut ne pas sembler intuitive au début. Néanmoins,
en l'utilisant, elle permet la construction de <filename
class="libraryfile">libgcc_s.so.1</filename> et <filename
class="libraryfile">libgcc_eh.a</filename>, et 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. Notez que
les binaires GCC seront toujours liés statiquement car ceci est contrôlé par la
valeur <parameter>-static</parameter> de <envar>BOOT_LDFLAGS</envar> lors de la
prochaine étape.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-languages=c</parameter></term>
<listitem><para>Cette option nous assure que seul le compilateur C sera
construit. Cette option n'est nécessaire que si vous avez téléchargé et déballé
l'archive tar GCC complète au lieu de la simple archive gcc-core.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Continuez avec la compilation du paquet&nbsp;:</para>
 
<screen><userinput>make BOOT_LDFLAGS="-static" bootstrap</userinput></screen>
 
<para>Voici la signification des paramètres de make&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>BOOT_LDFLAGS="-static"</parameter></term>
<listitem><para>Ceci indique à GCC de lier ses programmes statiquement.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>bootstrap</parameter></term>
<listitem><para>Cette cible ne compile pas GCC une seule fois mais plusieurs
fois. Il utilise les programmes compilés dans le 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 semble vouloir dire 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, l'ensemble de
travail de la suite de tests n'est pas encore en place. Les bénéfices à lancer
les tests maintenant seraient 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>
 
<beginpage/>
<para>En touche finale, créez un lien symbolique. Beaucoup de programmes
et de scripts lancent <command>cc</command> au lieu de <command>gcc</command>,
ceci pour conserver des programmes génériques et donc utilisables sur tout type
de système Unix où le compilateur GNU C n'est pas toujours installé. Utiliser
<command>cc</command> permet de libérer l'administrateur système dans son choix
du compilateur C à installer.</para>
 
<screen><userinput>ln -s 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_0/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 ont besoin de se référer aux fichiers d'en-tête du
noyau, c'est le bon moment pour déballer l'archive du noyau maintenant, les
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é que cette commande soit exécutée à <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_0/lfs/chapter05/binutils-pass2.xml
0,0 → 1,98
<?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>108&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 (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>Créez de nouveau un répertoire de construction séparé&nbsp;:</para>
 
<screen><userinput>mkdir ../binutils-build
cd ../binutils-build</userinput></screen>
 
<para>Préparez la compilation de Binutils&nbsp;:</para>
 
<screen><userinput>../binutils-&binutils-version;/configure --prefix=/tools \
--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>
 
<beginpage/>
<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_0/lfs/chapter05/introduction.xml
0,0 → 1,77
<?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 minimal.
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 de créer un environnement de travail avec plus de facilité pour l'utilisateur
que ne le permettrait un environnement minimum.</para>
 
<para>Il y a deux étapes dans la construction de ce système minimal. La première
étape consiste à construire un ensemble d'outils tous nouveaux et indépendant de
l'hôte (compilateur, assembleur, éditeur de liens, bibliothèques et quelques
outils). La deuxième étape utilise cet ensemble d'outils pour construire tous
les autres outils essentiels.</para>
 
<para>Les fichiers compilés dans ce chapitre vont être installés sous 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 tous les paquets compilés ici
sont simplement temporaires, nous ne voulons pas polluer le futur système
LFS.</para>
<para>Avant de lancer les instructions de construction pour un paquet, le
paquet doit être déballé déballé en tant que l''utilisateur
<emphasis>lfs</emphasis> et la commande <userinput>cd</userinput> doit être
utilisé pour entrer dans le répertoire tout juste créé. Les instructions
de construction supposent que le shell <command>bash</command> est utilisé.
</para>
 
<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 sur un décalage (<emphasis>offset</emphasis>) ou
sur autre chose (<emphasis>fuzz</emphasis>) peuvent apparaître lors de
l'application d'un correctif. Ne vous inquiétez pas pour ces messages, 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 d'avertissement ne sont que des
avertissements&mdash;des avertissements sur un utilisation obsolète, mais pas
invalide, de la syntaxe de C ou de C++. Les standards C changent assez souvent
et quelques paquets continuent à utiliser les anciens standards. Ce n'est pas
un véritable problème mais cela provoque les messages.</para>
 
<beginpage/>
 
<para>Après l'installation de chaque paquet, supprimez son répertoire source et
son répertoire de construction, sauf si nous vous le demandons spécifiquement.
Supprimer les sources permet de gagner de la place mais empêche aussi 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>
 
<para>Vérifiez une dernière fois que la variable d'environnement
<envar>LFS</envar> est configurée correctement&nbsp;:</para>
<screen><userinput>echo $LFS</userinput></screen>
<para>Assurez-vous que le résultat contient le bon répertoire vers le point de
montage de la partition LFS, qui est <filename
class="directory">/mnt/lfs</filename> suivant notre exemple.</para>
<screen><userinput>echo $LFS</userinput></screen>
</sect1>
/tags/LFS-6_0/lfs/chapter05/tcl.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-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&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation de Tcl dépend de</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
uniquement pour supporter les suites de tests de GCC et Binutils. Installer ces
trois paquets dans un but de tests pourrait sembler excessif mais c'est très
rassurant, voire essentielle, de savoir que les outils les plus importants
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 sont 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>Construisez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>TZ=UTC make test</userinput>. La suite de tests de Tcl
est connue pour ses échecs sous certaines conditions concernant l'hôte,
conditions toujours pas comprises. Du coup, des é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> initialise le fuseau horaire avec le
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>
 
<beginpage/>
<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 des en-têtes.</para></warning>
 
 
<para>Maintenant, créez un lien symbolique nécessaire&nbsp;:</para>
 
<screen><userinput>ln -s tclsh8.4 /tools/bin/tclsh</userinput></screen>
 
</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"?>
 
<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_0/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>55&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 \
--disable-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>. Parce que rien
dans ce chapitre ou le suivant ne requiert cette bibliothèque et que Gettext
est reconstruit plus tard, l'exclure sauve du temps et de l'espace.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--disable-csharp</parameter></term>
<listitem><para>Ceci indique à Gettext de ne pas utiliser de compilateur C#,
même s'il y en a un installé sur l'hôte. Ceci doit être effectué car une fois
entré dans l'environnement chroot, C# ne sera plus disponible.</para></listitem>
</varlistentry>
</variablelist>
 
<beginpage/>
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make check</userinput>. Ceci peut prendre beaucoup de temps, environ
7&nbsp;SBU. La suite de tests Gettext est connue pour avoir des échecs sous
certaines conditions liées à l'hôte, par exemple lorsqu'il trouve un
compilateur Java sur l'hôte. Un correctif expérimental désactivant Java est
disponible à partir du projet des correctifs LFS sur
<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_0/lfs/chapter05/tar.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-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>10&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 les résultats, lancez&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_0/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>2,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 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_0/lfs/chapter05/adjusting.xml
0,0 → 1,117
<?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 être liés avec ces
bibliothèques. Pour accomplir cela, l'éditeur de liens et le fichier specs du
compilateur doivent être ajustés.</para>
 
<para>L'éditeur de liens ajusté (à la fin de la première passe de Binutils)
est installé en lançant la commande suivante à partir du 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 avec les bibliothèques
comprises dans <filename class="directory">/tools/lib</filename>.</para>
 
<note><para>Si l'avertissement précédent de différencier les répertoires source
et de conversion de Binutils à partir de la première passe n'a pas été suivi,
ignorez simplement la commande ci-dessus. Le résultat en est une petite chance
de programmes de tests toujours liés avec les bibliothèques de l'hôte. Ce n'est
pas idéal mais ce n'est pas un problème majeur. La situation est corrigée à
l'installation de la deuxième passe de Binutils un peu plus tard.</para></note>
 
<para>Maintenant que l'éditeur de liens ajusté est installé, les répertoires
source et de construction de Binutils doivent ê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 simple script sed devrait y
parvenir&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é que la commande ci-dessus soit
copiée/collée pour assurer la précision de la commande.</phrase>
<beginpage/>
Autrement, le fichier specs est éditable manuellement. Ceci est fait 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 été réellement 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 trouvé leur chemin vers le répertoire include privé de GCC. Ceci peut
arriver à cause du processus <quote>fixincludes</quote> de GCC fonctionnant en
tant que partie de la construction GCC. Ceci est expliquer un peu plus tard
dans ce chapitre. Lancez les commandes suivantes pour éliminer cette
possibilité&nbsp;:</para>
 
<screen><userinput>rm -f
/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 atelier d'outils
fonctionnent comme attendu. Pour réaliser une vérification de santé, lancez les
commandes suivantes&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 l'affichage diffère ou s'il n'y a aucun affichage, alors quelque chose
ne se passe pas bien. Investiguez et retracez vos étapes pour trouver où se
cache le problème et comment le corriger. Ce problème doit être corrigé avant
de continuer. Tout d'abord, relancez la vérification 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. Ceci se vérifie en lançant <userinput>echo $PATH</userinput> et en
vérifiant que <filename class="directory">/tools/bin</filename> est en tête de
la 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 quelque chose a pu mal se passer
avec la correction du fichier specs ci-dessus. Dans ce cas, refaites la
modification de ce fichier<phrase condition="html"> en vous assurant de
copier/coller les lignes comme cela était recommandé</phrase>.</para>
 
<para>Une fois satisfait, nettoyez les fichiers de test&nbsp;:</para>
 
<screen><userinput>rm dummy.c a.out</userinput></screen>
</caution>
 
 
</sect1>
/tags/LFS-6_0/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>7,5&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_0/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>17&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 les résultats (non requis), lancez&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_0/lfs/chapter05/chapter05.xml
0,0 → 1,48
<?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="hostreqs.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="kernel-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="udev.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="stripping.xml"/>
 
</chapter>
/tags/LFS-6_0/lfs/chapter05/grep.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-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>5,8&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 --with-included-regex</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--disable-perl-regexp</parameter></term>
<listitem><para>Ceci nous 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 chroot.
</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--with-included-regex</parameter></term>
<listitem><para>Ceci nous assure que Grep utilise son code interne pour les
expressions rationnelles. Sans ce commutateur, Grep utilisera le code de la
Glibc, qui est connu pour être légèrement bogué.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Compilez les programmes&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 role="content"><title/>
<para>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-grep"/>.</para>
</sect2>
 
</sect1>
/tags/LFS-6_0/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>7,6&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 les résultats, lancez&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_0/lfs/chapter05/perl.xml
0,0 → 1,83
<?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>74&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, adaptez quelques chemins codés en dur vers la
bibliothèque C en appliquant le correctif suivant&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../perl-&perl-version;-libc-1.patch</userinput></screen>
 
<para>Préparez la compilation de Perl (assurez-vous que la partie de la
commande marquée <quote>IO Fcntl POSIX</quote> est saisie correctement, 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>
 
<itemizedlist>
<listitem><para><userinput>-Dstatic_ext='IO Fcntl POSIX'</userinput>&nbsp;:
ceci indique à Perl de construire l'ensemble minimal d'extensions statiques
nécessaires à l'installation et au test du paquet Coreutils dans le prochain
chapitre.</para></listitem>
</itemizedlist>
 
<variablelist>
<varlistentry>
<term><parameter>-Dstatic_ext='IO Fcntl POSIX'</parameter></term>
<listitem><para>Ceci indique à Perl de construire l'ensemble minimal
d'extensions statiques nécessaires à l'installation et au test du paquet
Coreutils dans le prochain chapitre.</para></listitem>
</varlistentry>
</variablelist>
 
<beginpage/>
<para>Compilez uniquement les outils requis&nbsp;:</para>
 
<screen><userinput>make perl utilities</userinput></screen>
 
<para>Bien que Perl est fourni avec une suite de tests, il n'est pas recommandé
de l'exécuter maintenant. Seules des parties de Perl ont été construites et
l'exécution de <userinput>make test</userinput> obligerait la construction du
reste de Perl, ce qui n'est pas nécessaire actuellement. La suite de tests peut
être exécuté dans le chapitre suivant si désiré.</para>
 
<para>Puis, copiez ces outils et leurs bibliothèques&nbsp;:</para>
 
<screen><userinput>cp perl pod/pod2man /tools/bin
mkdir -p /tools/lib/perl5/&perl-version;
cp -R lib/* /tools/lib/perl5/&perl-version;</userinput></screen>
 
</sect2>
 
<sect2 roel="content"><title/>
<para>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-perl" role="."/></para>
</sect2>
 
</sect1>
/tags/LFS-6_0/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 causerait des problèmes car
<command>udev</command> a été installé à un emplacement non standard. Corrigez
ceci en exécutant ce qui suit&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> connaisse le bon
emplacement pour rechercher ses fichiers de configuration&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 fournit 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, donc installez
les 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_0/lfs/chapter05/hostreqs.xml
0,0 → 1,39
<?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>Prérequis du système hôte</title>
<?dbhtml filename="hostreqs.html"?>
 
<para>L'hôte doit exécuté au minimum un noyau 2.6.2 compilé avec GCC-3.0 ou
ultérieur. Deux raisons expliquent ce prérequis. Tout d'abord, la suite de
tests NPTL (<foreignphrase>Native POSIX Threading Library</foreignphrase>,
soit la bibliothèque des threads POSIX) causera une erreur de segmentation
si le noyau de l'hôte n'a pas été compilé avec GCC-3.0 ou avec une version
ultérieure. 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>.
Néanmoins, le support de ce système de fichier a été récemment implémenté dans
la plupart des pilotes du noyau. Nous voulons être sûr que tous les périphériques
système critiques seront proprement créés.</para>
 
<para>Pour déterminer si le noyau de l'hôte valide les prérequis indiqués
ci-dessus, lancez la commande suivante&nbsp;:</para>
 
<screen><userinput>cat /proc/version</userinput></screen>
 
<para>Elle devrait produire un affichage similaire à&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'a
pas été compilé en utilisant un compilateur GCC-3.0 (ou ultérieur), il sera
nécessaire d'en compiler un. Les instructions pour compiler le noyau et pour
configurer le chargeur (en supposant que l'hôte utilise GRUB) sont situées dans
<xref linkend="chapter-bootable"/>.</para>
 
</sect1>
 
/tags/LFS-6_0/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,6&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_0/lfs/chapter05/util-linux.xml
0,0 → 1,63
<?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>16&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>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 d'aide&nbsp;:</para>
 
<screen><userinput>make -C lib</userinput></screen>
 
<para>Comme seuls quelques utilitaires contenus dans ce paquet sont nécessaires,
construisez uniquement ceux-ci&nbsp;:</para>
 
<screen><userinput>make -C mount mount umount
make -C text-utils more</userinput></screen>
 
<para>Ce paquet ne fournit 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>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-utillinux" role="." /></para>
</sect2>
 
</sect1>
/tags/LFS-6_0/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>16&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 les résultats, lancez&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 de ce paquet sont situés dans <xref
linkend="contents-texinfo" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_0/lfs/chapter05/bash.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-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>27&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>
 
<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 par Bash de la fonction
d'allocation mémoire (malloc) 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, lancez&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 -s 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_0/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 de cette section sont optionnelles mais si le partition LFS
est plutôt petite, il est bénéfique d'appendre que des éléments inutiles sont
supprimables. Les exécutables et les bibliothèques que vous avez construit
jusqu'à maintenant contiennent jusqu'à 130&nbsp;Mo de symboles de déboguages
inutiles. Supprimez ces symboles avec&nbsp;:</para>
 
<screen><userinput>strip --strip-debug /tools/lib/*
strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
 
<para>La dernière des commandes ci-dessus laissera de côté une vingtaine de
fichiers en indiquant qu'elle ne reconnait pas leur format. La
plupart sont des scripts et non pas des binaires.</para>
 
<para>Faites attention à 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 sauver encore 30&nbsp;Mo, supprimez toute la
documentation&nbsp;:</para>
 
<screen><userinput>rm -rf /tools/{doc,info,man}</userinput></screen>
 
<para>Il y aura maintenant au moins 850&nbsp;Mo d'espace disque libre sur le
système de fichiers LFS à utiliser pour construire et installer Glibc dans la
prochaine phase. Si vous pouvez construire et installer Glibc, vous pourrez
aussi construire et installer le reste.</para>
 
</sect1>
/tags/LFS-6_0/lfs/chapter05/glibc.xml
0,0 → 1,230
<?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>800&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 (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 Glibc.</para>
 
<para>Il devrait être noté que compiler Glibc de toute autre façon que celle
proposée par le livre compromet la stabilité du système.</para>
 
<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 ../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=nptl --with-tls \
--with-__thread --enable-kernel=2.6.0 \
--with-binutils=/tools/bin --without-gd --without-cvs \
--with-headers=/tools/glibc-kernheaders</userinput></screen>
 
<beginpage/>
<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=nptl</parameter></term>
<listitem><para>Ceci indique à Glibc d'utiliser le composant NPTL comme
bibliothèque de threads.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--with-tls</parameter></term>
<listitem><para>Ceci indique à Glibc d'inclure le support de TLS (Thread-Local
Storage). Ceci est requis pour que NPTL fonctionne.
</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--with-__thread</parameter></term>
<listitem><para>Cette option indique à Glibc d'inclure le support des threads.
C'est requis pour que TLS soit proprement compilé.</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></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--with-binutils=/tools/bin</parameter></term>
<listitem><para>Bien que pas nécessaire, ce commutateur nous assure qu'il ne
reste aucune erreur provenant des programmes Binutils 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>--without-cvs</parameter></term>
<listitem><para>Ceci empêche les Makefiles de lancer des récupérations
automatiques du CVS lors de l'utilisation d'une version CVS. Malgré que cela ne
soit plus nécessaire, c'est toujours recommandé parce qu'il supprime un message
d'avertissement ennuyant, mais sans risque, sur un programme autoconf manquant.
</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--with-headers=/tools/glibc-kernheaders</parameter></term>
<listitem><para>Ceci indique à Glibc de se compiler lui-même avec les en-têtes
<quote>bruts</quote> du noyau, de façon à ce qu'il sache exactement de quelles
fonctionnalités disposent le noyau et qu'il puisse s'optimiser correctement.
</para></listitem>
</varlistentry>
</variablelist>
 
<beginpage/>
<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>Le programme <command>msgfmt</command>, manquant ou incompatible, ne
pose généralement pas de problème mais certaines personnes pensent qu'il peut
poser problème 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 continue son exécution 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 la suite de tests Glibc, si désiré, 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 voir <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 /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><userinput>make localedata/install-locales</userinput></screen>
 
<beginpage/>
<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 connait) 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 -p /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_0/lfs/chapter05/gcc-pass2.xml
0,0 → 1,212
<?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>274&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 (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>Les outils requis pour tester GCC et Binutils (Tcl, Expect et DejaGnu)
sont maintenant installés. GCC et Binutils peuvent maintenant être reconstruit
en les liant avec la nouvelle Glibc et en les testant correctement (si
vous souhaitez lancer les suites de tests dans ce chapitre). Merci de noter que
ces suites de tests dépendent énormément de pseudos terminaux (PTY) fonctionnels
fournis par votre distribution hôte. Les 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 un simple
test&nbsp;:</para>
 
<screen><userinput>expect -c "spawn ls"</userinput></screen>
 
<para>Le résultat devrait être&nbsp;:</para>
 
<screen><computeroutput>The system has no more ptys.
Ask your system administrator to create more.</computeroutput></screen>
 
<para>Si vous récupérez le message ci-dessus, la distribution hôte n'est pas
correctement configurée pour les PTY. Dans ce cas, il ne sert à rien de lancer
les suites de tests de GCC et Binutils jusqu'à la correction de ce problème.
Merci de consulter le Wiki LFS sur <ulink url="&wiki-root;"/> pour plus
d'informations sur la façon de faire fonctionner les PTY.</para>
 
<para>Comme les compilateurs C et C++ seront construits, déballez les archives
core et g++ (ainsi que la suite de tests si vous souhaitez lancer les tests).
En les déballant dans le répertoire de travail, ils iront tous dans un seul
sous-répertoire <filename>gcc-&gcc-version;/</filename>.</para>
 
<beginpage/>
<para>Tout d'abord, corrigez un problème connu et faites un ajustement
essentiel&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-no_fixincludes-1.patch
patch -Np1 -i ../gcc-&gcc-version;-specs-1.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 en détail de
fixincludes est apportée ici. Sous 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é. Il pourrait trouver que certains des
fichiers d'en-têtes de Glibc sur lee système devraient être corrigés, les
corriger et les placer dans le répertoire des en-têtes privés de GCC. Dans le
<xref linkend="chapter-building-system"/>, après avoir installé la nouvelle Glibc, ce
répertoire serait recherché avant le répertoire include du système, faisant que
GCC trouverait les en-têtes corrigés du système hôte qui ne correspondront
certainement pas à la version de Glibc actuellement utilisée pour 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>
 
<important><para>Les correctifs ci-dessus sont critiques pour s'assurer une
construction avec succès. 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 ../gcc-build
cd ../gcc-build</userinput></screen>
 
<para>Avant de commencer la construction de GCC, rappelez-vous de désinitialiser
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++ sous 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. Néanmoins, 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 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 <emphasis>atexit</emphasis>,
pour enregistrer les destructeurs C++ des objets statiques locaux et globaux.
Cette option est essentielle pour la gestion des destructeurs en compatibilité
complète avec les standards. Il affecte aussi l'ABI C++ et donc résulte en 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>
 
<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, lancez la
commande suivante&nbsp;:</para>
 
<screen><userinput>make -k check</userinput></screen>
 
<beginpage/>
<para>L'option <parameter>-k</parameter> est utilisée pour faire en sorte que
toute la suite de tests est exécutée et qu'elle ne s'arrête pas au premier
échec. La suite de tests GCC est très complète et il est pratiquement garantie
que certaines erreurs apparaîtront. Pour obtenir un résumé des résultats de la
suite de tests, lancez ceci&nbsp;:</para>
 
<screen><userinput>../gcc-&gcc-version;/contrib/test_summary</userinput></screen>
 
<para>Pour un simple résumé, envoyez la sortie sur un tube suivi de
<userinput>grep -A7 Summ</userinput>.</para>
 
<para>Les résultats peuvent être comparés à ceux postés sur la liste de
diffusion gcc-testresults pour des configurations similaires à celle
construite. Pour un exemple de ce à quoi devrait ressembler GCC-&gcc-version;,
voir <ulink url="http://gcc.gnu.org/ml/gcc-testresults/2004-07/msg00179.html"/>.</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é dans ce chapitre. Référez-vous à <xref
linkend="ch-tools-adjusting"/> et répétez le test de compilation. Si les
résultats sont mauvais, alors la raison probable en est 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_0/lfs/chapter05/ncurses.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-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>26&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 indique à Ncurses de ne pas construire ses liens avec Ada,
y compris si un compilateur Ada est installé sur l'hôte. Ceci est nécessaire
car, lorsque nous entrerons dans l'environnement chroot, Ada ne sera plus
disponible.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-overwrite</parameter></term>
<listitem><para>Ceci indique à Ncurses d'installer les fichiers d'en-tête dans
<filename class="directory">/tools/include</filename> au lieu de <filename
class="directory">/tools/include/ncurses</filename> pour s'assurer que les
autres paquets trouveront bien les en-têtes de Ncurses.</para></listitem>
</varlistentry>
</variablelist>
 
<beginpage/>
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Ce paquet ne fournit 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_0/lfs/chapter05/expect.xml
0,0 → 1,130
<?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 contient un programme pour 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>3,9&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation d'Expect dépend de</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 résultant en de nombreux faux échecs lors
de l'exécution de la suite de tests de GCC&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../expect-&expect-version;-spawn-1.patch</userinput></screen>
 
<para>Maintenant, préparez la compilation d'Expect&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools --with-tcl=/tools/lib --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 trouve l'installation
Tcl dans l'emplacement temporaire des outils à la place d'un résidant sur le
système hôte.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--with-x=no</parameter></term>
<listitem><para>Ceci indique au script configure de ne pas chercher Tk (le
composant interface de Tcl) ou les bibliothèques d'X Window System, les deux
pouvant résider sur le système hôte.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Construisez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make test</userinput>. Notez que la suite de tests d'Expect est
connue pour avoir de nombreux échecs sous certaines conditions de l'hôte,
conditions qui ne sont pas de notre contrôle. Du coup, les échecs de la
suite de tests ne sont pas surprenantes et ne sont pas considérés comme
critiques.)</para>
 
<beginpage/>
<para>Installez-le&nbsp;:</para>
 
<screen><userinput>make SCRIPTS="" install</userinput></screen>
 
<para>Voici la signification du paramètre de make&nbsp;:</para>
 
<itemizedlist>
<listitem><para><userinput>SCRIPTS=""</userinput>&nbsp;: Ceci empêche
l'installation de scripts expect supplémentaires non
nécessaires.</para></listitem>
</itemizedlist>
 
<variablelist>
<varlistentry>
<term><parameter>SCRIPTS=""</parameter></term>
<listitem><para>Ceci empêche l'installation de scripts expect supplémentaires
non nécessaires.</para></listitem>
</varlistentry>
</variablelist>
 
 
<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-5.42.a</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
 
<varlistentry id="expect">
<term><command>expect</command></term>
<listitem>
<para>Communique avec les 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-5.42.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-5.42">libexpect-5.42</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_0/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>10,6&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. Ils sont corrigés avec le correctif
suivant&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../flex-&flex-version;-debian_fixes-2.patch</userinput></screen>
 
<para>GNU autotools détectera que le code source de Flex a été modifé par le
correctif précédent et tente de mettre à jour la page man en accord. Ceci ne
fonctionne pas sur certains systèmes et la page par défaut est suffisante, donc
assurez-vous 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 les résultats, lancez&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_0/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,9&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 oublié pour les
autres.</para>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Ce paquet ne fournit 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-patch" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_0/lfs/chapter05/coreutils.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="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>69&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
plus anciennes que 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 les endroits où elle est utilisée pourront être
mis à jour. La compatibilité descendante 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 la variable d'environnement <envar>DEFAULT_POSIX2_VERSION</envar>.
Il est important de se rappeller que faire ceci aura des conséquences, dont la
correction des nombreux paquets utilisant toujours l'ancienne syntaxe. Il est
donc fortement recommander de suivre exactement les instructions comme indiquées
ci-dessus.</para>
 
<beginpage/>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make RUN_EXPENSIVE_TESTS=yes check</userinput>. Le paramètre
<emphasis>RUN_EXPENSIVE_TESTS=yes</emphasis> 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_0/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,6&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 les résultats, lancez&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_0/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>5,2&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 les résultats, lancez&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 de ce paquet sont situés dans <xref
linkend="contents-sed" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_0/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>8,8&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 les résultats, lancez&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 de ce paquet sont situés dans <xref
linkend="contents-make" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_0/lfs/chapter05/dejagnu.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-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 ensemble de travail pour tester d'autres
programmes.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>8,6&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation de DejaGNU dépend de</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">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
 
<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_0/lfs/chapter05/binutils-pass1.xml
0,0 → 1,172
<?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>194&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 à la fois Glibc et GCC réalisent différents tests sur l'éditeur de liens et
l'assembleur disponibles pour déterminer leur propres fonctionnalités à activer.
</para>
 
<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>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 ../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 quatres commandes
dans une commande <command>time</command> de cette façon&nbsp;:
<userinput>time { ./configure ... &amp;&amp; ... &amp;&amp; ... &amp;&amp; make
install; }</userinput>.</para></note>
 
<beginpage/>
<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>Ceci 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. Ceci n'est pas nécessaire
pour les programmes statiques et NLS peut causer des problèmes lors d'une
édition des liens en statique.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Continuez avec la compilation du paquet&nbsp;:</para>
 
<screen><userinput>make configure-host
make LDFLAGS="-all-static"</userinput></screen>
 
<para>Voici la signification des paramètres de make&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>configure-host</parameter></term>
<listitem><para>Ceci force tous les sous-répertoires à être immédiatement
configurés. Une construction statique échouera sans ça. Utilisez donc cette
option pour contourner le problème.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>LDFLAGS="-all-static"</parameter></term>
<listitem><para>Ceci indique à l'éditeur de liens que tous les programmes
Binutils devraient être liés statiquement. Néanmoins, en restant strict,
<parameter>"-all-static"</parameter> est tout d'abord passé au programme
<command>libtool</command> qui passe ensuite <parameter>"-static"</parameter>
à l'éditeur de liens.</para></listitem>
</varlistentry>
</variablelist>
 
<para>La compilation est maintenant terminée. Normalement, la suite de tests
devrait être lancé mais, à ce moment, l'ensemble de travail de la suite de tests (Tcl,
Expect and DejaGnu) n'est pas encore en place. Les bénéfices à lancer les tests
maintenant seraient minimes 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>
 
<beginpage/>
<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 LDFLAGS="-all-static" LIB_PATH=/tools/lib</userinput></screen>
 
<para>Voici la signification des paramètres de make&nbsp;:</para>
 
<itemizedlist>
<listitem><para><userinput>-C ld clean</userinput>&nbsp;: Ceci indique au
programme make de supprimer tous les fichiers compilés du
sous-répertoire <filename class="directory">ld</filename>.</para></listitem>
 
<listitem><para><userinput>-C ld LDFLAGS="-all-static"
LIB_PATH=/tools/lib</userinput>&nbsp;:
Cette option reconstruit tout ce qui se trouve dans le sous-répertoire
<filename class="directory">ld</filename>. Spécifier la variable makefile
the <envar>LIB_PATH</envar> en ligne de commande nous autorise à écraser la valeur par défaut et à
la faire pointer vers notre emplacement temporaire des outils. La valeur de
cette variable spécifie 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>
</itemizedlist>
 
<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 the <envar>LIB_PATH</envar> en ligne de commande nous
autorise à écraser la valeur par défaut et à la faire pointer vers notre
emplacement temporaire des outils. La valeur de cette variable spécifie 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 dont vous 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_0/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. Pour 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 lançant&nbsp;:</para>
 
<screen><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><userinput>mkdir -p $LFS
mount /dev/<replaceable>[xxx]</replaceable> $LFS</userinput></screen>
 
<para>Remplacez <replaceable>[xxx]</replaceable> avec la désignation 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><userinput>mkdir -p $LFS
mount /dev/<replaceable>[xxx]</replaceable> $LFS
mkdir $LFS/usr
mount /dev/<replaceable>[yyy]</replaceable> $LFS/usr</userinput></screen>
 
<para>Remplacez <replaceable>[xxx]</replaceable> et
<replaceable>[yyy]</replaceable> avec 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.</para>
 
<para>Maintenant qu'il existe un endroit établi pour travailler, il est temps
de télécharger ces paquets.</para>
 
</sect1>
 
/tags/LFS-6_0/lfs/chapter02/creatingfilesystem.xml
0,0 → 1,40
<?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. Ici, nous
créerons un système de fichiers ext2 mais les instructions de construction
d'autres systèmes de fichiers sont disponibles dans <ulink
url="&blfs-root;view/svn/postlfs/filesystems.html"/>.</para>
 
<para>Pour créer un système de fichiers ext2 sur la partition LFS, lancez ce
qui suit&nbsp;:</para>
 
<screen><userinput>mke2fs /dev/<replaceable>[xxx]</replaceable></userinput></screen>
 
<para>Remplacez <replaceable>[xxx]</replaceable> avec le nom de la partition LFS
(<filename class="devicefile">hda5</filename> dans notre exemple
précédent).</para>
 
<para>Si une partition de swap a été créée, elle devra aussi être initialisée en
tant que partition de swap (connu aussi sous le nom de formatage, comme décrit
ci-dessus avec <command>mke2fs</command>) en lançant ce qui suit. Si vous
utilisez une partition de swap existante, il n'y a pas besoin de la
formater.</para>
 
<screen><userinput>mkswap /dev/<replaceable>[yyy]</replaceable></userinput></screen>
 
<para>Remplacez <replaceable>[yyy]</replaceable> avec le nom de la partition de
swap.</para>
 
</sect1>
 
/tags/LFS-6_0/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>Pour construire un nouveau système Linux, un espace est requis sous forme
d'une partition de disque vide. Si l'ordinateur n'a pas de partition ou de
place sur un des disques durs, LFS peut être construit sur la même partition
que celle où est installée la distribution actuelle.</para>
 
<note><para>Cette procédure avancée n'est pas recommandée pour votre première
installation de LFS mais, si vous êtes à court d'espace disque, le document
suivant vous sera utile&nbsp;: <ulink
url="&hints-root;lfs_next_to_existing_systems.txt"><phrase
condition="pdf">http://www.linuxfromscratch.org/hints/downloads/files/
lfs_next_to_existing_systems.txt</phrase></ulink>.</para></note>
 
<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 a pour but d'être un système
Linux primaire, des logiciels supplémentaires seront probablement installés et
réclameront une place supplémentaire (entre 2 et 3&nbsp;Go). Le système LFS
lui-même ne prendre pas tout cet espace. Une grande partie de cet espace
est requis pour fournir un espace libre suffisant mais temporaire. Compiler des
paquets peut demander 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 faire ainsi de la place aux processus actifs.
La partition de swap pour un système LFS peut être le même que celui utilisé
par le système hôte, donc une autre partition n'a pas besoin d'être créé si
votre système hôte a déjà cette configuration.</para>
 
<para>Lancez un programme de partitionnement de disques tel que
<command>cfdisk</command> ou <command>fdisk</command> avec une option en ligne
de commande nommant le disque dur sur lequel la nouvelle partition sera
créée&mdash;par exemple <filename class="devicefile">/dev/hda</filename> pour
un 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 de <command>cfdisk</command> ou
<command>fdisk</command> si vous ne savez pas encore utiliser le
programme.</para>
 
<para>Rappellez-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 la partition LFS. Rappellez-vous aussi de la désignation de la
partition swap. Ces noms seront nécessaires après pour le fichier
<filename>/etc/fstab</filename>.</para>
 
</sect1>
 
/tags/LFS-6_0/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_0/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_0/lfs/chapter06/gawk.xml
0,0 → 1,127
<?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-gawk" role="wrap">
<title>Gawk-&gawk-version;</title>
<?dbhtml filename="gawk.html"?>
 
<indexterm zone="ch-system-gawk"><primary sortas="a-Gawk">Gawk</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Gawk contient des programmes de manipulation de fichiers texte.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>17&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation de Gawk dépend de</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make, and Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Gawk</title>
 
<para>Préparez la compilation de Gawk&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --libexecdir=/usr/lib</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>
<beginpage/>
</sect2>
 
<sect2 id="contents-gawk" role="content"><title>Contenu de Gawk</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>awk (lien vers gawk), gawk, gawk-&gawk-version;, grcat, igawk,
pgawk, pgawk-&gawk-version; et pwcat</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
 
<varlistentry id="awk">
<term><command>awk</command></term>
<listitem>
<para>Un lien vers <command>gawk</command></para>
<indexterm zone="ch-system-gawk awk"><primary sortas="b-awk">awk</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gawk">
<term><command>gawk</command></term>
<listitem>
<para>Un programme de manipulation de fichiers texte. C'est l'implémentation
GNU d'<command>awk</command></para>
<indexterm zone="ch-system-gawk gawk"><primary sortas="b-gawk">gawk</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gawk-version">
<term><command>gawk-&gawk-version;</command></term>
<listitem>
<para>Un lien vers <command>gawk</command></para>
<indexterm zone="ch-system-gawk gawk-version"><primary sortas="b-gawk-&gawk-version;">gawk-&gawk-version;</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grcat">
<term><command>grcat</command></term>
<listitem>
<para>Sauvegarde la base de données des groupes, <filename>/etc/group</filename></para>
<indexterm zone="ch-system-gawk grcat"><primary sortas="b-grcat">grcat</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="igawk">
<term><command>igawk</command></term>
<listitem>
<para>Donne à <command>gawk</command> la capacité d'inclure des fichiers</para>
<indexterm zone="ch-system-gawk igawk"><primary sortas="b-igawk">igawk</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pgawk">
<term><command>pgawk</command></term>
<listitem>
<para>La version de profilage de <command>gawk</command></para>
<indexterm zone="ch-system-gawk pgawk"><primary sortas="b-pgawk">pgawk</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pgawk-version">
<term><command>pgawk-&gawk-version;</command></term>
<listitem>
<para>Lien vers <command>pgawk</command></para>
<indexterm zone="ch-system-gawk pgawk-version"><primary sortas="b-pgawk-&gawk-version;">pgawk-&gawk-version;</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pwcat">
<term><command>pwcat</command></term>
<listitem>
<para>Sauvegarde la base de données des mots de passe, <filename>/etc/passwd</filename></para>
<indexterm zone="ch-system-gawk pwcat"><primary sortas="b-pwcat">pwcat</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_0/lfs/chapter06/libtool.xml
0,0 → 1,91
<?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-libtool" role="wrap">
<title>Libtool-&libtool-version;</title>
<?dbhtml filename="libtool.html"?>
 
<indexterm zone="ch-system-libtool"><primary sortas="a-Libtool">Libtool</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Libtool contient le script de support de bibliothèques
génériques GNU. Il emballe la complexité d'utilisation de bibliothèques
partagées dans une interface cohérente et portable.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>1,5&nbsp;SBU</seg><seg>20&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation de Libtool dépend de</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Libtool</title>
 
<para>Préparez la compilation de Libtool&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>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-libtool" role="content"><title>Contenu de Libtool</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèques installées</segtitle>
<seglistitem><seg>libtool et libtoolize</seg><seg>libltdl.[a,so]</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
 
<varlistentry id="libtool">
<term><command>libtool</command></term>
<listitem>
<para>Fournit des services de support de construction généralisée de bibliothèques</para>
<indexterm zone="ch-system-libtool libtool"><primary sortas="b-libtool">libtool</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libtoolize">
<term><command>libtoolize</command></term>
<listitem>
<para>Fournit une façon standard d'ajouter le support de
<command>libtool</command> dans un paquet</para>
<indexterm zone="ch-system-libtool libtoolize"><primary
sortas="b-libtoolize">libtoolize</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libltdl">
<term><filename class="libraryfile">libltdl</filename></term>
<listitem>
<para>Cache les nombreuses difficultés avec dlopen sur les bibliothèques</para>
<indexterm zone="ch-system-libtool libltdl"><primary sortas="c-libltdl">libltdl</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_0/lfs/chapter06/psmisc.xml
0,0 → 1,128
<?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-psmisc" role="wrap">
<title>Psmisc-&psmisc-version;</title>
<?dbhtml filename="psmisc.html"?>
 
<indexterm zone="ch-system-psmisc"><primary sortas="a-Psmisc">Psmisc</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Psmisc contient des programmes pour afficher des informations
sur les processus.</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>L'installation de Psmisc dépend de</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
GCC, Gettext, Glibc, Grep, Make, Ncurses et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Psmisc</title>
 
<para>Préparez la compilation de Psmisc pour&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --exec-prefix=""</userinput></screen>
 
<para>Voici la signification de l'option de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--exec-prefix=""</parameter></term>
<listitem><para>Ceci fait que les binaires sont installés dans <filename
class="directory">/bin</filename> au lieu de <filename
class="directory">/usr/bin</filename>. Comme les programmes Psmisc sont souvent
utilisés dans des scripts de démarrage, ils devraient aussi être disponibles
quand le système de fichiers <filename class="directory">/usr</filename> n'est
pas monté.</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>Il n'existe aucune raison pour que les programmes
<command>pstree</command> et <command>pstree.x11</command> résident dans
<filename class="directory">/bin</filename>. Du coup, déplaçez-les dans
<filename class="directory">/usr/bin</filename>. De même, il n'est pas
nécessaire que <command>pstree.x11</command> existe comme programme séparé.
Nous allons donc créer un lien symbolique vers
<command>pstree</command>&nbsp;:</para>
 
<screen><userinput>mv /bin/pstree* /usr/bin
ln -sf pstree /usr/bin/pstree.x11</userinput></screen>
 
<beginpage/>
<para>Par défaut, le programme <command>pidof</command> de Psmisc n'est pas
installé. Généralement, ce n'est pas un problème car le paquet Sysvinit
installe une meilleure version de <command>pidof</command>. Mais si Sysvinit ne
sera pas utilisé, terminez l'installation de Psmisc en créant le lien symbolique
suivant&nbsp;:</para>
 
<screen><userinput>ln -s killall /bin/pidof</userinput></screen>
 
</sect2>
 
<sect2 id="contents-psmisc" role="content"><title>Contenu de Psmisc</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>fuser, killall, pstree et pstree.x11 (lien vers pstree)</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
 
<varlistentry id="fuser">
<term><command>fuser</command></term>
<listitem>
<para>Indique les PID de processus utilisant les fichiers ou systèmes de
fichiers donnés</para>
<indexterm zone="ch-system-psmisc fuser"><primary sortas="b-fuser">fuser</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="killall">
<term><command>killall</command></term>
<listitem>
<para>Tue les processus suivant leur nom. Il envoie un signal à tous les
processus en cours</para>
<indexterm zone="ch-system-psmisc killall"><primary sortas="b-killall">killall</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pstree">
<term><command>pstree</command></term>
<listitem>
<para>Affiche les processus en cours hiérarchiquement</para>
<indexterm zone="ch-system-psmisc pstree"><primary sortas="b-pstree">pstree</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pstree.x11">
<term><command>pstree.x11</command></term>
<listitem>
<para>Identique à <command>pstree</command>, si ce n'est qu'il attend une
confirmation avant de quitter</para>
<indexterm zone="ch-system-psmisc pstree.x11"><primary sortas="b-pstree.x11">pstree.x11</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_0/lfs/chapter06/coreutils.xml
0,0 → 1,844
<?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-coreutils" role="wrap">
<title>Coreutils-&coreutils-version;</title>
<?dbhtml filename="coreutils.html"?>
 
<indexterm zone="ch-system-coreutils"><primary sortas="a-Coreutils">Coreutils</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Coreutils contient des outils pour afficher et configurer les
caractéristiques basiques d'un système.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,9&nbsp;SBU</seg><seg>69&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation de Coreutils dépend de</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, GCC,
Gettext, Glibc, Grep, Make, Perl et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Coreutils</title>
 
<para>Un problème connu avec le programme <command>uname</command> provenant de
ce paquet est que l'option <parameter>-p</parameter> renvoit toujours
<computeroutput>unknown</computeroutput>. Le correctif suivant corrige ce
comportement pour les architectures Intel&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../coreutils-&coreutils-version;-uname-2.patch</userinput></screen>
 
<para>Empêchez Coreutils d'installer des binaires qui pourraient être installés
plus tard par d'autres paquets&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i \
../coreutils-&coreutils-version;-suppress_uptime_kill_su-1.patch</userinput></screen>
 
<para>Maintenant, préparez la compilation de Coreutils&nbsp;:</para>
 
<screen><userinput>DEFAULT_POSIX2_VERSION=199209 ./configure --prefix=/usr</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>La suite de tests de Coreutils fait quelques suppositions sur la présence
de fichiers et d'utilisateurs qui ne sont pas valides si tôt dans la
construction de LFS. Du coup, des éléments supplémentaires doivent être
configurés avant de lancer ces tests. Allez directement à <quote>Installez le
paquet</quote> si vous ne comptez pas lancer les tests.</para>
 
<para>Créez deux groupes et un utilisateur&nbsp;:</para>
 
<screen><userinput>echo "dummy1:x:1000:" &gt;&gt; /etc/group
echo "dummy2:x:1001:dummy" &gt;&gt; /etc/group
echo "dummy:x:1000:1000:::/bin/bash" &gt;&gt; /etc/passwd</userinput></screen>
 
<para>Maintenant, la suite de tests peut être lancée. Tout d'abord,
lancez les quelques tests qui ont besoin d'être lancé en tant que
<emphasis>root</emphasis>&nbsp;:</para>
 
<screen><userinput>make NON_ROOT_USERNAME=dummy check-root</userinput></screen>
 
<para>Puis, lancez le reste des tests en tant qu'utilisateur
<emphasis>dummy</emphasis>&nbsp;:</para>
 
<screen><userinput>src/su dummy -c "make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen>
 
<para>Une fois les tests terminés, supprimez l'utilisateur et les
groupes&nbsp;:</para>
 
<screen><userinput>sed -i '/dummy/d' /etc/passwd /etc/group</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Déplacez quelques programmes aux bons emplacements&nbsp;:</para>
 
<screen><userinput>mv /usr/bin/{[,basename,cat,chgrp,chmod,chown,cp,dd,df} /bin
mv /usr/bin/{date,echo,false,head,hostname,install,ln} /bin
mv /usr/bin/{ls,mkdir,mknod,mv,pwd,rm,rmdir,sync} /bin
mv /usr/bin/{sleep,stty,test,touch,true,uname} /bin
mv /usr/bin/chroot /usr/sbin</userinput></screen>
 
<para>Finalement, créez un lien symbolique pour être compatible avec la
FHS&nbsp;:</para>
 
<screen><userinput>ln -s ../../bin/install /usr/bin</userinput></screen>
 
</sect2>
 
<sect2 id="contents-coreutils" role="content"><title>Contenu de Coreutils</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>basename, cat, chgrp, chmod, chown, chroot, cksum,
comm, cp, csplit, cut, date, dd, df, dir, dircolors, dirname, du,
echo, env, expand, expr, factor, false, fmt, fold, groups, head,
hostid, hostname, id, install, join, link, ln, logname, ls, md5sum,
mkdir, mkfifo, mknod, mv, nice, nl, nohup, od, paste, pathchk, pinky,
pr, printenv, printf, ptx, pwd, readlink, rm, rmdir, seq, sha1sum,
shred, sleep, sort, split, stat, stty, sum, sync, tac, tail, tee,
test, touch, tr, true, tsort, tty, uname, unexpand, uniq, unlink,
users, vdir, wc, who, whoami et yes</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
 
<varlistentry id="basename">
<term><command>basename</command></term>
<listitem>
<para>Supprime tout le chemin et un suffixe donné à partir du nom de fichier donné</para>
<indexterm zone="ch-system-coreutils basename"><primary sortas="b-basename">basename</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="cat">
<term><command>cat</command></term>
<listitem>
<para>Concatène des fichiers sur la sortie standard</para>
<indexterm zone="ch-system-coreutils cat"><primary sortas="b-cat">cat</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="chgrp">
<term><command>chgrp</command></term>
<listitem>
<para>Change le groupe propriétaire par le groupe donné pour chaque fichier
indiqué. Le groupe peut être soit un nom soit un identifiant numérique</para>
<indexterm zone="ch-system-coreutils chgrp"><primary sortas="b-chgrp">chgrp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="chmod">
<term><command>chmod</command></term>
<listitem>
<para>Change les droits de chaque fichier donné avec le mode indiqué. Le mode
peut être soit une représentation symbolique des modifications à faire soit un
nombre octal représentant les nouveaux droits</para>
<indexterm zone="ch-system-coreutils chmod"><primary sortas="b-chmod">chmod</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="chown">
<term><command>chown</command></term>
<listitem>
<para>Modifie le propriétaire utilisateur et/ou groupe pour chaque fichier
donné en utilisant la paire utilisateur:groupe</para>
<indexterm zone="ch-system-coreutils chown"><primary sortas="b-chown">chown</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="chroot">
<term><command>chroot</command></term>
<listitem>
<para>Lance une commande avec le répertoire spécifié comme répertoire racine
(<filename class="directory">/</filename>)</para>
<indexterm zone="ch-system-coreutils chroot"><primary sortas="b-chroot">chroot</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="cksum">
<term><command>cksum</command></term>
<listitem>
<para>Affiche la somme de vérification CRC (Cyclic Redundancy Check) et le nombre d'octets de chaque fichier</para>
<indexterm zone="ch-system-coreutils cksum"><primary sortas="b-cksum">cksum</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="comm">
<term><command>comm</command></term>
<listitem>
<para>Compare deux fichiers triés, affichant sur trois colonnes, les lignes
uniques et les lignes communes</para>
<indexterm zone="ch-system-coreutils comm"><primary sortas="b-comm">comm</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="cp">
<term><command>cp</command></term>
<listitem>
<para>Copie des fichiers</para>
<indexterm zone="ch-system-coreutils cp"><primary sortas="b-cp">cp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="csplit">
<term><command>csplit</command></term>
<listitem>
<para>Divise un fichier donné sur plusieurs fichiers indiqués, les séparant par
des modèles donnés ou des numéros de lignes. Il affiche le nombre total
d'octets pour chaque nouveau fichier</para>
<indexterm zone="ch-system-coreutils csplit"><primary sortas="b-csplit">csplit</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="cut">
<term><command>cut</command></term>
<listitem>
<para>Affiche des parties de lignes, sélectionnant ces parties suivant des
champs ou positions donnés</para>
<indexterm zone="ch-system-coreutils cut"><primary sortas="b-cut">cut</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="date">
<term><command>date</command></term>
<listitem>
<para>Affiche l'heure actuelle dans le format donné ou initialise la date
système</para>
<indexterm zone="ch-system-coreutils date"><primary sortas="b-date">date</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dd">
<term><command>dd</command> </term>
<listitem>
<para>Copie un fichier en utilisant la taille de bloc donnée et le nombre, tout
en réalisant des conversions optionnelles</para>
<indexterm zone="ch-system-coreutils dd"><primary sortas="b-dd">dd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="df">
<term><command>df</command></term>
<listitem>
<para>Affiche l'espace disque disponible (et utilisé) sur tous les systèmes de fichiers montés, ou seulement sur les systèmes de fichiers contenant les fichiers donnés</para>
<indexterm zone="ch-system-coreutils df"><primary sortas="b-df">df</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dir">
<term><command>dir</command></term>
<listitem>
<para>Liste le contenu de chaque répertoire donné (identique à la commande
<command>ls</command>)</para>
<indexterm zone="ch-system-coreutils dir"><primary sortas="b-dir">dir</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dircolors">
<term><command>dircolors</command></term>
<listitem>
<para>Affiche les commandes pour initialiser la variable d'environnement
<envar>LS_COLOR</envar>, ce qui permet de changer le schéma de couleurs utilisé
par <command>ls</command></para>
<indexterm zone="ch-system-coreutils dircolors"><primary sortas="b-dircolors">dircolors</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dirname">
<term><command>dirname</command></term>
<listitem>
<para>Supprime le suffixe qui ne représente pas le répertoire dans un nom de fichier donné</para>
<indexterm zone="ch-system-coreutils dirname"><primary sortas="b-dirname">dirname</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="du">
<term><command>du</command></term>
<listitem>
<para>Affiche le total de l'espace disque utilisé par le répertoire actuel, ou
par chacun des répertoires donnés incluant tous les sous-répertoires, ou par
chacun des fichiers donnés</para>
<indexterm zone="ch-system-coreutils du"><primary sortas="b-du">du</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="echo">
<term><command>echo</command></term>
<listitem>
<para>Affiche les chaînes données</para>
<indexterm zone="ch-system-coreutils echo"><primary sortas="b-echo">echo</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="env">
<term><command>env</command></term>
<listitem>
<para>Lance une commande dans un environnement modifié</para>
<indexterm zone="ch-system-coreutils env"><primary sortas="b-env">env</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="expand">
<term><command>expand</command></term>
<listitem>
<para>Convertit les tabulations en espaces</para>
<indexterm zone="ch-system-coreutils expand"><primary sortas="b-expand">expand</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="expr">
<term><command>expr</command></term>
<listitem>
<para>Évalue des expressions</para>
<indexterm zone="ch-system-coreutils expr"><primary sortas="b-expr">expr</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="factor">
<term><command>factor</command></term>
<listitem>
<para>Affiche les facteurs premiers de tous les entiers spécifiés</para>
<indexterm zone="ch-system-coreutils factor"><primary sortas="b-factor">factor</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="false">
<term><command>false</command></term>
<listitem>
<para>Ne fait rien. Il renvoit toujours un un code d'erreur indiquant
l'échec</para>
<indexterm zone="ch-system-coreutils false"><primary sortas="b-false">false</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="fmt">
<term><command>fmt</command></term>
<listitem>
<para>Reformate les paragraphes dans les fichiers donnés</para>
<indexterm zone="ch-system-coreutils fmt"><primary sortas="b-fmt">fmt</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="fold">
<term><command>fold</command></term>
<listitem>
<para>Emballe les lignes des fichiers donnés</para>
<indexterm zone="ch-system-coreutils fold"><primary sortas="b-fold">fold</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="groups-coreutils">
<term><command>groups</command></term>
<listitem>
<para>Affiche les groupes auxquels appartient un utilisateur</para>
<indexterm zone="ch-system-coreutils groups-coreutils"><primary sortas="b-groups-coreutils">groups</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="head">
<term><command>head</command></term>
<listitem>
<para>Affiche les dix premières lignes (ou le nombre demandé de lignes) pour chaque fichier précisé</para>
<indexterm zone="ch-system-coreutils head"><primary sortas="b-head">head</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="hostid">
<term><command>hostid</command></term>
<listitem>
<para>Affiche l'identifiant numérique de l'hôte en héxadécimal</para>
<indexterm zone="ch-system-coreutils hostid"><primary sortas="b-hostid">hostid</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="hostname">
<term><command>hostname</command></term>
<listitem>
<para>Affiche ou initialise le nom de l'hôte</para>
<indexterm zone="ch-system-coreutils hostname"><primary sortas="b-hostname">hostname</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="id">
<term><command>id</command></term>
<listitem>
<para>Affiche l'identifiant effectif de l'utilisateur courant ou de l'utilisateur précisé, l'identifiant du groupe et les groupes auxquels appartient cet utilisateur</para>
<indexterm zone="ch-system-coreutils id"><primary sortas="b-id">id</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="install">
<term><command>install</command> </term>
<listitem>
<para>Copie les fichiers en initialisant leur droits et, si possible, leur propriétaire et groupe</para>
<indexterm zone="ch-system-coreutils install"><primary sortas="b-install">install</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="join">
<term><command>join</command></term>
<listitem>
<para>Joint à partir de deux fichiers les lignes qui ont des champs de jointure identiques</para>
<indexterm zone="ch-system-coreutils join"><primary sortas="b-join">join</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="link">
<term><command>link</command></term>
<listitem>
<para>Crée un lien physique avec le nom de donné vers le fichier indiqué</para>
<indexterm zone="ch-system-coreutils link"><primary sortas="b-link">link</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ln">
<term><command>ln</command></term>
<listitem>
<para>Crée des liens symboliques ou physiques entre des fichiers</para>
<indexterm zone="ch-system-coreutils ln"><primary sortas="b-ln">ln</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="logname">
<term><command>logname</command></term>
<listitem>
<para>Indique le nom de connexion de l'utilisateur actuel</para>
<indexterm zone="ch-system-coreutils logname"><primary sortas="b-logname">logname</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ls">
<term><command>ls</command></term>
<listitem>
<para>Liste le contenu de chaque répertoire donné</para>
<indexterm zone="ch-system-coreutils ls"><primary sortas="b-ls">ls</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="md5sum">
<term><command>md5sum</command></term>
<listitem>
<para>Affiche ou vérifie les sommes de vérification MD5 (Message Digest 5)</para>
<indexterm zone="ch-system-coreutils md5sum"><primary sortas="b-md5sum">md5sum</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mkdir">
<term><command>mkdir</command></term>
<listitem>
<para>Crée des répertoires avec les noms donnés</para>
<indexterm zone="ch-system-coreutils mkdir"><primary sortas="b-mkdir">mkdir</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mkfifo">
<term><command>mkfifo</command></term>
<listitem>
<para>Crée des fichiers FIFOs (First-In, First-Out, un <quote>tube nommé</quote> dans le
vocable d'Unix) avec les noms donnés</para>
<indexterm zone="ch-system-coreutils mkfifo"><primary sortas="b-mkfifo">mkfifo</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mknod">
<term><command>mknod</command></term>
<listitem>
<para>Crée des noeuds périphérique avec les noms donnés. Un noeud périphérique est un fichier
spécial de type caractère ou bloc, ou encore un FIFO</para>
<indexterm zone="ch-system-coreutils mknod"><primary sortas="b-mknod">mknod</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mv">
<term><command>mv</command></term>
<listitem>
<para>Déplace ou renomme des fichiers ou répertoires</para>
<indexterm zone="ch-system-coreutils mv"><primary sortas="b-mv">mv</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="nice">
<term><command>nice</command></term>
<listitem>
<para>Lance un programme avec un priorité modifiée</para>
<indexterm zone="ch-system-coreutils nice"><primary sortas="b-nice">nice</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="nl">
<term><command>nl</command></term>
<listitem>
<para>Numérote les lignes des fichiers donnés</para>
<indexterm zone="ch-system-coreutils nl"><primary sortas="b-nl">nl</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="nohup">
<term><command>nohup</command></term>
<listitem>
<para>Lance une commande immune aux arrêts brutaux, dont la sortie est redirigée vers un
journal de traces</para>
<indexterm zone="ch-system-coreutils nohup"><primary sortas="b-nohup">nohup</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="od">
<term><command>od</command></term>
<listitem>
<para>Affiche les fichiers en octal ou sous d'autres formes</para>
<indexterm zone="ch-system-coreutils od"><primary sortas="b-od">od</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="paste">
<term><command>paste</command></term>
<listitem>
<para>Joint les fichiers donnés en faisant plaçant les lignes correspondantes ligne par ligne
en les séparant par des caractères de tabulation</para>
<indexterm zone="ch-system-coreutils paste"><primary sortas="b-paste">paste</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pathchk">
<term><command>pathchk</command></term>
<listitem>
<para>Vérifie que les noms de fichier sont valides ou portables</para>
<indexterm zone="ch-system-coreutils pathchk"><primary sortas="b-pathchk">pathchk</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pinky">
<term><command>pinky</command></term>
<listitem>
<para>Un client <quote>finger</quote> léger. Il affiche quelques informations sur les
utilisateurs indiqués</para>
<indexterm zone="ch-system-coreutils pinky"><primary sortas="b-pinky">pinky</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pr">
<term><command>pr</command></term>
<listitem>
<para>Fait de la pagination, principalement en colonne, des fichiers pour une impression</para>
<indexterm zone="ch-system-coreutils pr"><primary sortas="b-pr">pr</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="printenv">
<term><command>printenv</command></term>
<listitem>
<para>Affiche l'environnement</para>
<indexterm zone="ch-system-coreutils printenv"><primary sortas="b-printenv">printenv</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="printf">
<term><command>printf</command></term>
<listitem>
<para>Affiche les arguments donnés suivant le format demandé, un peu comme la fonction C
printf</para>
<indexterm zone="ch-system-coreutils printf"><primary sortas="b-printf">printf</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ptx">
<term><command>ptx</command></term>
<listitem>
<para>Produit un index permutté à partir du contenu des fichiers indiqués, avec le contexte de
chaque mot</para>
<indexterm zone="ch-system-coreutils ptx"><primary sortas="b-ptx">ptx</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pwd">
<term><command>pwd</command></term>
<listitem>
<para>Indique le nom du répertoire courant</para>
<indexterm zone="ch-system-coreutils pwd"><primary sortas="b-pwd">pwd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="readlink">
<term><command>readlink</command></term>
<listitem>
<para>Indique la valeur du lien symbolique</para>
<indexterm zone="ch-system-coreutils readlink"><primary sortas="b-readlink">readlink</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rm">
<term><command>rm</command></term>
<listitem>
<para>Supprime des fichiers ou des répertoires</para>
<indexterm zone="ch-system-coreutils rm"><primary sortas="b-rm">rm</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rmdir">
<term><command>rmdir</command></term>
<listitem>
<para>Supprime des répertoires s'ils sont vides</para>
<indexterm zone="ch-system-coreutils rmdir"><primary sortas="b-rmdir">rmdir</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="seq">
<term><command>seq</command></term>
<listitem>
<para>Affiche une séquence de nombres, à l'intérieur d'une échelle et avec un incrément
spécifié</para>
<indexterm zone="ch-system-coreutils seq"><primary sortas="b-seq">seq</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="sha1sum">
<term><command>sha1sum</command></term>
<listitem>
<para>Affiche ou vérifie des sommes de vérification 160-bit SHA1</para>
<indexterm zone="ch-system-coreutils sha1sum"><primary sortas="b-sha1sum">sha1sum</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="shred">
<term><command>shred</command></term>
<listitem>
<para>Efface les fichiers indiqués en écrivant dessus des modèles aléatoires pour rendre la
récupération des données très difficile</para>
<indexterm zone="ch-system-coreutils shred"><primary sortas="b-shred">shred</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="sleep">
<term><command>sleep</command></term>
<listitem>
<para>Fait une pause d'un certain temps</para>
<indexterm zone="ch-system-coreutils sleep"><primary sortas="b-sleep">sleep</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="sort">
<term><command>sort</command></term>
<listitem>
<para>Trie les lignes des fichiers donnés</para>
<indexterm zone="ch-system-coreutils sort"><primary sortas="b-sort">sort</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="split">
<term><command>split</command></term>
<listitem>
<para>Divise les fichiers donnés en plusieurs pièces, par taille ou par nombre de lignes</para>
<indexterm zone="ch-system-coreutils split"><primary sortas="b-split">split</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="stat">
<term><command>stat</command></term>
<listitem>
<para>Affiche le statut du fichier ou du système de fichiers</para>
<indexterm zone="ch-system-coreutils stat"><primary sortas="b-stat">stat</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="stty">
<term><command>stty</command></term>
<listitem>
<para>Initialise ou affiche les paramètres de la ligne du terminal</para>
<indexterm zone="ch-system-coreutils stty"><primary sortas="b-stty">stty</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="sum">
<term><command>sum</command></term>
<listitem>
<para>Affiche la somme de vérification et le nombre de blocs pour chacun des fichiers
donnés</para>
<indexterm zone="ch-system-coreutils sum"><primary sortas="b-sum">sum</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="sync">
<term><command>sync</command></term>
<listitem>
<para>Vide les tampons du système de fichiers. Cela force l'enregistrement des blocs modifiés
sur disque et met à jour le superbloc</para>
<indexterm zone="ch-system-coreutils sync"><primary sortas="b-sync">sync</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tac">
<term><command>tac</command></term>
<listitem>
<para>Concatène les fichiers donnés à l'envers</para>
<indexterm zone="ch-system-coreutils tac"><primary sortas="b-tac">tac</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tail">
<term><command>tail</command></term>
<listitem>
<para>Affiche les dix dernières lignes (ou le nombre de lignes indiqué) pour chaque fichier
précisé</para>
<indexterm zone="ch-system-coreutils tail"><primary sortas="b-tail">tail</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tee">
<term><command>tee</command></term>
<listitem>
<para>Lit à partir de l'entrée standard en écrivant à la fois sur la sortie standard et sur les
fichiers indiqués</para>
<indexterm zone="ch-system-coreutils tee"><primary sortas="b-tee">tee</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="test">
<term><command>test</command></term>
<listitem>
<para>Compare les valeurs et vérifie les types de fichiers</para>
<indexterm zone="ch-system-coreutils test"><primary sortas="b-test">test</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="touch">
<term><command>touch</command></term>
<listitem>
<para>Modifie les dates et heures du fichier, initialise les dates/heures d'accès et de
modification des fichiers indiqués à l'heure actuelle. Les fichiers inexistants sont créés avec
une longueur nulle</para>
<indexterm zone="ch-system-coreutils touch"><primary sortas="b-touch">touch</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tr">
<term><command>tr</command></term>
<listitem>
<para>Traduit, réduit et supprime les caractères donnés à partir de l'entrée standard</para>
<indexterm zone="ch-system-coreutils tr"><primary sortas="b-tr">tr</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="true">
<term><command>true</command></term>
<listitem>
<para>Ne fait rien mais avec succès. Il quitte avec un code de sortie indiquant une
réussite</para>
<indexterm zone="ch-system-coreutils true"><primary sortas="b-true">true</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tsort">
<term><command>tsort</command></term>
<listitem>
<para>Réalise un tri topologique. Il écrit une liste totalement ordonnée suivant un fichier
donné partiellement ordonné</para>
<indexterm zone="ch-system-coreutils tsort"><primary sortas="b-tsort">tsort</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tty">
<term><command>tty</command></term>
<listitem>
<para>Indique le nom du fichier du terminal connecté à l'entrée standard</para>
<indexterm zone="ch-system-coreutils tty"><primary sortas="b-tty">tty</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="uname">
<term><command>uname</command></term>
<listitem>
<para>Affiche les informations système</para>
<indexterm zone="ch-system-coreutils uname"><primary sortas="b-uname">uname</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="unexpand">
<term><command>unexpand</command></term>
<listitem>
<para>Convertit les espaces en tabulations</para>
<indexterm zone="ch-system-coreutils unexpand"><primary sortas="b-unexpand">unexpand</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="uniq">
<term><command>uniq</command></term>
<listitem>
<para>Conserve qu'une ligne sur plusieurs lignes identiques successivement</para>
<indexterm zone="ch-system-coreutils unexpand"><primary sortas="b-unexpand">unexpand</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="unlink">
<term><command>unlink</command></term>
<listitem>
<para>Supprime le fichier donné</para>
<indexterm zone="ch-system-coreutils unlink"><primary sortas="b-unlink">unlink</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="users">
<term><command>users</command></term>
<listitem>
<para>Indique les noms des utilisateurs actuellement connectés</para>
<indexterm zone="ch-system-coreutils users"><primary sortas="b-users">users</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="vdir">
<term><command>vdir</command></term>
<listitem>
<para>Est identique à <command>ls -l</command></para>
<indexterm zone="ch-system-coreutils vdir"><primary sortas="b-vdir">vdir</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="wc">
<term><command>wc</command></term>
<listitem>
<para>Indique le nombre de lignes, mots et octets de chaque fichier indiqué ainsi que le nombre
total de ligne lorsque plus d'un fichier est donné</para>
<indexterm zone="ch-system-coreutils wc"><primary sortas="b-wc">wc</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="who">
<term><command>who</command></term>
<listitem>
<para>Indique qui est connecté</para>
<indexterm zone="ch-system-coreutils who"><primary sortas="b-who">who</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="whoami">
<term><command>whoami</command></term>
<listitem>
<para>Indique le nom de l'utilisateur associé avec l'identifiant utilisateur effectif</para>
<indexterm zone="ch-system-coreutils whoami"><primary sortas="b-whoami">whoami</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="yes">
<term><command>yes</command></term>
<listitem>
<para>Affiche <quote>y</quote> ou la chaîne précisée de manière répétée jusqu'à être tué</para>
<indexterm zone="ch-system-coreutils yes"><primary sortas="b-yes">yes</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_0/lfs/chapter06/inetutils.xml
0,0 → 1,184
<?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>11&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation de Inetutils dépend de</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-&inetutils-version;-kernel_headers-1.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-&inetutils-version;-no_server_man_pages-1.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
<phrase condition="html"><ulink
url="&blfs-root;view/svn/basicnet/inetutils.html"/></phrase><phrase
condition="pdf"><ulink url="&blfs-root;view/svn/ basicnet/inetutils.html"/></phrase>.
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 /usr/bin/ping /bin</userinput></screen>
 
<beginpage/>
</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"?>
 
<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_0/lfs/chapter06/introduction.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="ch-system-introduction">
<title>Introduction</title>
<?dbhtml filename="introduction.html"?>
 
<para>Dans ce chapitre, nous entrons dans le site de construction et lançons
la construction du système LFS. C'est-à-dire, nous entrons avec chroot
dans le mini système Linux temporaire, faisons quelques préparations finales
et lançons l'installation de tous les paquets un par un.</para>
<para>L'installation du logiciel est simple. Bien que, dans beaucoup de cas,
les instructions d'installation pourraient être plus courtes et plus génériques,
nous avons opté pour fournir les instructions complètes pour chaque paquet et
minimiser ainsi les possibilités d'erreurs. La clé pour apprendre ce qui fait
fonctionner un système Linux est de savoir à quoi sert chaque paquet et pourquoi
l'utilisateur (ou le système) en a besoin. Pour chaque paquet installé, un
résumé de son contenu est donné, suivant par des descriptions concises de chaque
programme et de chaque bibliothèque que le paquet a installé.</para>
 
<para>En utilisant les optimisations du compilateur fournies dans ce chapitre,
merci de lire l'astuce sur l'optimisation sur <ulink
url="&hints-root;optimization.txt"/>. Les optimisations du compilateur peuvent
faire qu'un programme s'exécute plus rapidement mais elles peuvent aussi caiser
des difficultés et des problèmes de compilation à l'exécution de ce programme.
Si un paquet refuse de compiler lors de l'utilisation d'optimisation, essayez
de le compiler sans optimisation pour voir si cela corrige le problème. Même si
le paquet compile avec les optimisations, il y a un risque qu'il pourrait avoir
été mal compilé à cause des interactions complexes entre le code et les outils
de construction. Le petit potentiel de gains réussi en utilisant les
optimisations de compilation est souvent ridicule comparé aux risques. Les
utilisateurs construisant une LFS pour la première fois sont encouragés à
construire sans optimisations personnalisées. Le système sera toujours très
rapide et restera stable en même temps.</para>
 
<para>L'ordre dans lequel les paquets sont installés dans ce chapitre a besoin
d'être strictement suivi pour s'assurer qu'aucun programme n'acquiert
accidentellement un chemin ayant comme référence <filename
class="directory">/tools</filename> en dur. Pour la même raison, ne compilez
pas les paquets en parallèle. La compilation en parallèle permet de gagner du
temps (tout particulièrement sur les machines à plusieurs CPU), mais cela
pourrait résulter en un programme contenant un chemin codé en dur vers
<filename class="directory">/tools</filename>, ce qui empêchera le programme
de fonctionner si ce répertoire est supprimé.</para>
 
<para>Avant les instructions d'installation, chaque page d'installation fournit
des informations sur le paquet, incluant une description concise de ce qu'il
contient, approximativement combien de temps prendra la construction et les
autres paquets nécessaires lors de cette étape de construction. Suivant les
instructions d'installation, il existe une liste de programmes et de
bibliothèques (avec quelques brèves descriptions de ceux-ci) que le paquet
installe.</para>
 
<para>Pour garder trace du paquet qui installe certains fichiers spécifiques,
un gestionnaire de paquet peut être utilisé. Pour un aperçu général des
différents styles de gestionnaires de paquets, merci de vous référer à <ulink
url="&blfs-root;view/svn/introduction/important.html"/>. Pour une méthode de
gestion des paquets spécifiquement tournée vers LFS, nous recommandons <ulink
url="&hints-root;more_control_and_pkg_man.txt"/>.</para>
 
<note><para>Le reste de ce libre est à réaliser en étant connecté en tant
qu'utilisateur <emphasis>root</emphasis> et non plus en tant qu'utilisateur
<emphasis>lfs</emphasis>.</para></note>
 
</sect1>
/tags/LFS-6_0/lfs/chapter06/readline.xml
0,0 → 1,110
<?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 contient la bibliothèque de lignes de commandes
Readline.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,11&nbsp;SBU</seg><seg>3,8&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation de Readline dépend de</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 corrige un problème où Readline affiche parfois
seulement 33 caractères sur une ligne puis continue sur la suivante.</para>
 
<screen><userinput>patch -Np1 -i ../readline-&readline-version;-display_wrap-1.patch</userinput></screen>
 
<para>Préparez la compilation de Readline&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr</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 755 /usr/lib/*.&readline-version;</userinput></screen>
 
<beginpage/>
<para>Déplacez les bibliothèques dynamiques à un emplacement plus appropriées&nbsp;:</para>
 
<screen><userinput>mv /usr/lib/lib{readline,history}.so.5* /lib</userinput></screen>
 
<para>Comme les bibliothèques ont été déplacées, quelques liens symboliques
pointent maintenant vers des fichiers inexistants. Re-créez ces liens
symboliques&nbsp;:</para>
 
<screen><userinput>ln -sf ../../lib/libhistory.so.5 /usr/lib/libhistory.so
ln -sf ../../lib/libreadline.so.5 /usr/lib/libreadline.so</userinput></screen>
 
</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"?>
 
<varlistentry id="libhistory">
<term><filename class="libraryfile">libhistory</filename></term>
<listitem>
<para>Fournit une interface utilisateur cohérente pour rappeller 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_0/lfs/chapter06/module-init-tools.xml
0,0 → 1,160
<?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>650&nbsp;Ko</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation de Module-Init-Tools dépend de</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>Préparez la compilation de Module-Init-Tools&nbsp;:</para>
 
<screen><userinput>./configure --prefix="" --enable-zlib</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-module-init-tools" role="content"><title>Contenu de Module-Init-Tools</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>depmod, genksyms, insmod,
insmod_ksymoops_clean, kallsyms (lien vers insmod), kernelversion, ksyms
(lien vers insmod), lsmod (lien vers insmod), modinfo, modprobe (lien vers
insmod), and rmmod (lien vers insmod)</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
 
<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="genksyms">
<term><command>genksyms</command></term>
<listitem>
<para>Génère des informations de version de symboles</para>
<indexterm zone="ch-system-module-init-tools genksyms"><primary sortas="b-genksyms">genksyms</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_ksymoops_clean">
<term><command>insmod_ksymoops_clean</command></term>
<listitem>
<para>Supprime les ksyms et modules inutilisés pendant deux jours</para>
<indexterm zone="ch-system-module-init-tools insmod_ksymoops_clean"><primary sortas="b-insmod_ksymoops_clean">insmod_ksymoops_clean</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="kallsyms">
<term><command>kallsyms</command></term>
<listitem>
<para>Extrait tous les symboles du noyau pour débogage</para>
<indexterm zone="ch-system-module-init-tools kallsyms"><primary sortas="b-kallsyms">kallsyms</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="kernelversion">
<term><command>kernelversion</command></term>
<listitem>
<para>Rapporte la version majeure du noyau en cours d'exécution</para>
<indexterm zone="ch-system-module-init-tools kernelversion"><primary sortas="b-kernelversion">kernelversion</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ksyms">
<term><command>ksyms</command></term>
<listitem>
<para>Affiche les symboles exportés du noyau</para>
<indexterm zone="ch-system-module-init-tools ksyms"><primary sortas="b-ksyms">ksyms</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_0/lfs/chapter06/shadow.xml
0,0 → 1,505
<?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>11&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation de Shadow dépend de</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>
 
<para>Préparez la compilation de Shadow&nbsp;:</para>
 
<screen><userinput>./configure --libdir=/usr/lib
--enable-shared</userinput></screen>
 
<para>Contournez un problème empêchant l'internationalisation de
Shadow&nbsp;:</para>
 
<screen><userinput>echo '#define HAVE_SETLOCALE 1' &gt;&gt;
config.h</userinput></screen>
 
<para>Shadow déclare de façon incorrecte la fonction malloc(), causant des
erreurs de compilation. Corrigez ceci&nbsp;:</para>
 
<screen><userinput>sed -i '/extern char/d'
libmisc/xmalloc.c</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 etc/{limits,login.access} /etc</userinput></screen>
 
<beginpage/>
<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>
 
<screen><userinput>cp etc/login.defs.linux /etc/login.defs
sed -i -e 's@#MD5_CRYPT_ENAB.no@MD5_CRYPT_ENAB yes@' \
-e 's@/var/spool/mail@/var/mail@' /etc/login.defs</userinput></screen>
 
<para>Déplacez quelques liens symboliques/programmes mal placés aux bons
emplacements&nbsp;:</para>
 
<screen><userinput>mv /bin/sg /usr/bin
mv /bin/vigr /usr/sbin
mv /usr/bin/passwd /bin</userinput></screen>
 
<para>Et déplacez les bibliothèques partagées de Shadow au bon
emplacement&nbsp;:</para>
 
<screen><userinput>mv /usr/lib/lib{shadow,misc}.so.0* /lib</userinput></screen>
 
<para>Comme certains paquets s'attendent à trouver les bibliothèques que
nous venons de déplacer dans <filename class="directory">/usr/lib</filename>,
créez les liens symboliques suivants&nbsp;:</para>
 
<screen><userinput>ln -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.so
ln -sf ../../lib/libmisc.so.0 /usr/lib/libmisc.so</userinput></screen>
 
<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 /etc/default</userinput></screen>
 
<para>Coreutils a déjà installé un meilleur programme <command>groups</command>
dans <filename class="directory">/usr/bin</filename>. Supprimez celui installé
par Shadow&nbsp;:</para>
 
<screen><userinput>rm /bin/groups</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><userinput>passwd root</userinput></screen>
<beginpage/>
</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, groups, 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"?>
 
<varlistentry id="chage">
<term><command>chage</command></term>
<listitem>
<para>Utilisé pour modifier le nombre maximum de jours avant dobliger 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 nomcomplet 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="groups">
<term><command>groups</command></term>
<listitem>
<para>Indique les groupes d'appartenance des utilisateurs indiqués</para>
<indexterm zone="ch-system-shadow groups"><primary
sortas="b-groups">groups</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grpck">
<term><command>grpck</command></term>
<listitem>
<para>é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 à aprtir 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_0/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,4&nbsp;SBU</seg><seg>167&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation de Binutils dépend de</segtitle>
<seglistitem><seg>Bash, Coreutils, Diffutils, GCC, Gettext,
Glibc, Grep, 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 ../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>, ce qui
s'étend en, par exemple, <phrase condition="html"><filename
class="directory">/usr/i686-pc-linux-gnu</filename></phrase><phrase
condition="pdf"><filename class="directory">/usr/i686-pc-
linux-gnu</filename></phrase>. 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>. Cette configuration 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 ../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"?>
 
<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'objects 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_0/lfs/chapter06/vim.xml
0,0 → 1,336
<?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>34&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation de Vim dépend de</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 les emplacements par défaut des fichiers de configuration
<filename>vimrc</filename> et <filename>gvimrc</filename> par <filename
class="directory">/etc</filename>&nbsp;:</para>
 
<screen><userinput>echo '#define SYS_VIMRC_FILE "/etc/vimrc"' &gt;&gt; src/feature.h
echo '#define SYS_GVIMRC_FILE "/etc/gvimrc"' &gt;&gt; src/feature.h</userinput></screen>
 
<para>Préparez la compilation de Vim&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --enable-multibyte</userinput></screen>
 
<para>Le commutateur optionnel mais hautement recommandé
<parameter>--enable-multibyte</parameter> inclut le support pour l'édition de
fichiers comprenant des codages de caractères multioctets dans
<command>vim</command>. 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>
 
<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 chaotiques qui peuvent causer des soucis sur
votre terminal. Donc, le lancement de la suite de tests est ici strictement
optionnel.</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 -s vim /usr/bin/vi</userinput></screen>
 
<para>Si le 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 apparaître en premier. 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>
 
<beginpage/>
<para>The <parameter>set nocompatible</parameter> makes
<command>vim</command> behave in a more useful way (the default) than
the vi-compatible manner. Remove the <quote>no</quote> to keep the
old <command>vi</command> behavior. The <parameter>set
backspace=2</parameter> allows backspacing over line breaks,
autoindents, and the start of insert. The <parameter>syntax
on</parameter> enables vim's syntax highlighting. Finally, the
<emphasis>if</emphasis> statement with the <parameter>set
background=dark</parameter> corrects <command>vim</command>'s guess
about the background color of some terminal emulators. This gives the
highlighting a better color scheme for use on the black background of
these programs.</para>
 
<para>La documentation pour les autres options disponibles peut être obtenue
en lançant la commande suivante&nbsp;:</para>
 
<screen><userinput>vim -c ':options'</userinput></screen>
 
</sect2>
 
<sect2 id="contents-vim" role="content"><title>Contenu de Vim</title>
 
<segmentedlist>
<segtitle>Installed programs</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"?>
 
<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_0/lfs/chapter06/kbd.xml
0,0 → 1,287
<?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-kbd" role="wrap">
<title>Kbd-&kbd-version;</title>
<?dbhtml filename="kbd.html"?>
 
<indexterm zone="ch-system-kbd"><primary sortas="a-Kbd">Kbd</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Kbd contient les fichiers de plan de codage et des outils pour
le clavier.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>12&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation de Kbd dépend de</segtitle>
<seglistitem><seg>Bash, Binutils, Bison, Coreutils,
Diffutils, Flex, GCC, Gettext, Glibc, Grep, Gzip, M4, Make et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Kbd</title>
 
<para>Préparez la compilation de Kbd&nbsp;:</para>
 
<screen><userinput>./configure</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Maintenant, installez-le&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 id="contents-kbd" role="content"><title>Contenu de Kbd</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>chvt, deallocvt, dumpkeys,
fgconsole, getkeycodes, getunimap, kbd_mode, kbdrate, loadkeys, loadunimap,
mapscrn, openvt, psfaddtable (lien vers psfxtable), psfgettable (lien vers
psfxtable), psfstriptable (lien vers psfxtable), psfxtable, resizecons,
setfont, setkeycodes, setleds, setlogcons, setmetamode, setvesablank,
showconsolefont, showkey, unicode_start et unicode_stop</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
 
<varlistentry id="chvt">
<term><command>chvt</command></term>
<listitem>
<para>Change le terminal virtuel en avant plan</para>
<indexterm zone="ch-system-kbd chvt"><primary sortas="b-chvt">chvt</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="deallocvt">
<term><command>deallocvt</command></term>
<listitem>
<para>Désalloue les terminaux virtuels inutilisés</para>
<indexterm zone="ch-system-kbd deallocvt"><primary sortas="b-deallocvt">deallocvt</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dumpkeys">
<term><command>dumpkeys</command></term>
<listitem>
<para>Affiche les tables de traduction du clavier</para>
<indexterm zone="ch-system-kbd dumpkeys"><primary sortas="b-dumpkeys">dumpkeys</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="fgconsole">
<term><command>fgconsole</command></term>
<listitem>
<para>Affiche le numéro du terminal virtuel actif</para>
<indexterm zone="ch-system-kbd fgconsole"><primary sortas="b-fgconsole">fgconsole</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="getkeycodes">
<term><command>getkeycodes</command></term>
<listitem>
<para>Affiche la table de correspondance des <quote>scancode</quote> avec
les <quote>keycode</quote></para>
<indexterm zone="ch-system-kbd getkeycodes"><primary sortas="b-getkeycodes">getkeycodes</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="getunimap">
<term><command>getunimap</command></term>
<listitem>
<para>Affiche l'unimap en cours d'utilisation</para>
<indexterm zone="ch-system-kbd getunimap"><primary sortas="b-getunimap">getunimap</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="kbd_mode">
<term><command>kbd_mode</command></term>
<listitem>
<para>Affiche ou initialise le mode du clavier</para>
<indexterm zone="ch-system-kbd kbd_mode"><primary sortas="b-kbd_mode">kbd_mode</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="kbdrate">
<term><command>kbdrate</command></term>
<listitem>
<para>Initialise les taux de répétition et de délai du clavier</para>
<indexterm zone="ch-system-kbd kbdrate"><primary sortas="b-kbdrate">kbdrate</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="loadkeys">
<term><command>loadkeys</command></term>
<listitem>
<para>Charge les tables de traduction du clavier</para>
<indexterm zone="ch-system-kbd loadkeys"><primary sortas="b-loadkeys">loadkeys</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="loadunimap">
<term><command>loadunimap</command></term>
<listitem>
<para>Charge la table de correspondance entre unicode et police</para>
<indexterm zone="ch-system-kbd loadunimap"><primary sortas="b-loadunimap">loadunimap</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mapscrn">
<term><command>mapscrn</command></term>
<listitem>
<para>un programme obsolète utilisé pour charger une table de correspondance
des caractères de sortie définie par l'utilisateur dans le pilote de la
console. Ceci est maintenant fait par <command>setfont</command></para>
<indexterm zone="ch-system-kbd mapscrn"><primary sortas="b-mapscrn">mapscrn</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="openvt">
<term><command>openvt</command></term>
<listitem>
<para>Lance un programme sur un nouveau terminal virtuel (VT)</para>
<indexterm zone="ch-system-kbd openvt"><primary sortas="b-openvt">openvt</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="psfaddtable">
<term><command>psfaddtable</command></term>
<listitem>
<para>Un lien vers <command>psfxtable</command></para>
<indexterm zone="ch-system-kbd psfaddtable"><primary sortas="b-psfaddtable">psfaddtable</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="psfgettable">
<term><command>psfgettable</command></term>
<listitem>
<para>Un lien vers <command>psfxtable</command></para>
<indexterm zone="ch-system-kbd psfgettable"><primary sortas="b-psfgettable">psfgettable</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="psfstriptable">
<term><command>psfstriptable</command></term>
<listitem>
<para>Un lien vers <command>psfxtable</command></para>
<indexterm zone="ch-system-kbd psfstriptable"><primary sortas="b-psfstriptable">psfstriptable</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="psfxtable">
<term><command>psfxtable</command></term>
<listitem>
<para>Gére les tables de caractères Unicode pour les polices de la console</para>
<indexterm zone="ch-system-kbd psfxtable"><primary sortas="b-psfxtable">psfxtable</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="resizecons">
<term><command>resizecons</command></term>
<listitem>
<para>Change l'idée du noyau sur la taille de la console</para>
<indexterm zone="ch-system-kbd resizecons"><primary sortas="b-resizecons">resizecons</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="setfont">
<term><command>setfont</command></term>
<listitem>
<para>Modifie les polices EGA/VGA sur la console</para>
<indexterm zone="ch-system-kbd setfont"><primary sortas="b-setfont">setfont</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="setkeycodes">
<term><command>setkeycodes</command></term>
<listitem>
<para>Charge les entrées de la table de correspondance entre scancode et
keycode, utile si vous avez des touches inhabituelles sur votre clavier</para>
<indexterm zone="ch-system-kbd setkeycodes"><primary sortas="b-setkeycodes">setkeycodes</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="setleds">
<term><command>setleds</command></term>
<listitem>
<para>Initialise les drapeaux et LED du clavier</para>
<indexterm zone="ch-system-kbd setleds"><primary sortas="b-setleds">setleds</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="setlogcons">
<term><command>setlogcons</command></term>
<listitem>
<para>Envoie les messages du noyau sur la console</para>
<indexterm zone="ch-system-kbd setlogcons"><primary sortas="b-setlogcons">setlogcons</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="setmetamode">
<term><command>setmetamode</command></term>
<listitem>
<para>Définit la gestion des touches meta du clavier</para>
<indexterm zone="ch-system-kbd setmetamode"><primary sortas="b-setmetamode">setmetamode</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="setvesablank">
<term><command>setvesablank</command></term>
<listitem>
<para>Laisse l'utilisateur configurer la sauvegarde d'écran matérielle (un
simple écran vide)</para>
<indexterm zone="ch-system-kbd setvesablank"><primary sortas="b-setvesablank">setvesablank</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="showconsolefont">
<term><command>showconsolefont</command></term>
<listitem>
<para>Affiche la police de l'écran pour la console EGA/VGA</para>
<indexterm zone="ch-system-kbd showconsolefont"><primary sortas="b-showconsolefont">showconsolefont</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="showkey">
<term><command>showkey</command></term>
<listitem>
<para>Affiche les scancodes, keycodes et codes ASCII des touches appuyées sur
le clavier</para>
<indexterm zone="ch-system-kbd showkey"><primary sortas="b-showkey">showkey</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="unicode_start">
<term><command>unicode_start</command></term>
<listitem>
<para>Met le clavier et la console en mode UNICODE. Ne l'utilisez jamais sur
LFS car les applications ne sont pas configurées pour supporter UNICODE.</para>
<indexterm zone="ch-system-kbd unicode_start"><primary sortas="b-unicode_start">unicode_start</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="unicode_stop">
<term><command>unicode_stop</command></term>
<listitem>
<para>Remplace le clavier et la console dans le précédent mode UNICODE</para>
<indexterm zone="ch-system-kbd unicode_stop"><primary sortas="b-unicode_stop">unicode_stop</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_0/lfs/chapter06/perl.xml
0,0 → 1,366
<?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>2.9 SBU</seg><seg>143 MB</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>Perl installation depends on</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
Gawk, GCC, Glibc, Grep, Make, and 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 le code de
<command>perldoc</command> lors de l'appel du 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"?>
 
<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, sed, awk et sh
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 convertion 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 sed 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_0/lfs/chapter06/procps.xml
0,0 → 1,192
<?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>6,2&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation de Procps dépend de</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"?>
 
<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>Envoit 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 les processus par ordre de consomnation du temps 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>
</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_0/lfs/chapter06/util-linux.xml
0,0 → 1,698
<?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>The Util-linux package contains miscellaneous utility programs. Among
them are utilities for handling file systems, consoles, partitions, and
messages.</para>
<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>16&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation d'Util-linux dépend de</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>GCC-&gcc-version; ne compile pas correctement <command>sfdisk</command>
si le niveau d'optimisation par défaut est utilisé. Le correctif suivant
corrige ce problème&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i
../util-linux-&util-linux-version;-sfdisk-2.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>
 
<beginpage/>
<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>Maintenant, installez le paquet&nbsp;:</para>
 
<screen><userinput>make HAVE_KILL=yes HAVE_SLN=yes install</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"?>
 
<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 consistence 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 héxadé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>
<para>est un filtre pour visualiser un texte un écran à la fois</para>
<indexterm zone="ch-system-util-linux more"><primary
sortas="b-more">more</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mount">
<term><command>mount</command></term>
<listitem>
<para>Attache le système de fichiers du périphérique donné sur un répertoire
spécifié dans le système de fichiers</para>
<indexterm zone="ch-system-util-linux mount"><primary
sortas="b-mount">mount</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="namei">
<term><command>namei</command></term>
<listitem>
<para>Affiche les liens symboliques dans les chemins donnés</para>
<indexterm zone="ch-system-util-linux namei"><primary
sortas="b-namei">namei</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pg">
<term><command>pg</command></term>
<listitem>
<para>Affiche un fichier texte un écran à la fois</para>
<indexterm zone="ch-system-util-linux pg"><primary
sortas="b-pg">pg</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pivot_root">
<term><command>pivot_root</command></term>
<listitem>
<para>Fait en sorte que le système de fichiers donné soit le nouveau système de
fichiers racine du processus actuel</para>
<indexterm zone="ch-system-util-linux pivot_root"><primary
sortas="b-pivot_root">pivot_root</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ramsize">
<term><command>ramsize</command></term>
<listitem>
<para>Initialise la taille du disque RAM dans une image amorçable</para>
<indexterm zone="ch-system-util-linux ramsize"><primary
sortas="b-ramsize">ramsize</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="raw">
<term><command>raw</command></term>
<listitem>
<para>Utilisé pour envoyer une requête et initialiser le périphérique racine et
d'autres choses dans une image amorçable</para>
<indexterm zone="ch-system-util-linux raw"><primary
sortas="b-raw">raw</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rdev">
<term><command>rdev</command></term>
<listitem>
<para>Utilisé pour envoyer une requête et initialiser le périphérique racine et
d'autres choses dans une image amorçable</para>
<indexterm zone="ch-system-util-linux rdev"><primary
sortas="b-rdev">rdev</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="readprofile">
<term><command>readprofile</command></term>
<listitem>
<para>Lit les informations
de profilage du noyau</para>
<indexterm zone="ch-system-util-linux readprofile"><primary
sortas="b-readprofile">readprofile</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rename">
<term><command>rename</command></term>
<listitem>
<para>Renomme les fichiers donnés, remplaçant une chaîne donnée par une
autre</para>
<indexterm zone="ch-system-util-linux rename"><primary
sortas="b-rename">rename</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="renice">
<term><command>renice</command></term>
<listitem>
<para>Modifie la priorité des processus exécutés</para>
<indexterm zone="ch-system-util-linux renice"><primary
sortas="b-renice">renice</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rev">
<term><command>rev</command></term>
<listitem>
<para>Inverse les lignes d'un fichier donné</para>
<indexterm zone="ch-system-util-linux rev"><primary
sortas="b-rev">rev</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rootflags">
<term><command>rootflags</command></term>
<listitem>
<para>Initialise les options racine d'une image amorçable</para>
<indexterm zone="ch-system-util-linux rootflags"><primary
sortas="b-rootflags">rootflags</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="script">
<term><command>script</command></term>
<listitem>
<para>Crée un script à partir d'une session du terminal, de tout ce qui est
affiché sur un terminal</para>
<indexterm zone="ch-system-util-linux script"><primary
sortas="b-script">script</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="setfdprm">
<term><command>setfdprm</command></term>
<listitem>
<para>Initialise les paramètres de disquette fournis par l'utilisateur</para>
<indexterm zone="ch-system-util-linux setfdprm"><primary
sortas="b-setfdprm">setfdprm</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="setsid">
<term><command>setsid</command></term>
<listitem>
<para>Lance le programme donné dans une nouvelle session</para>
<indexterm zone="ch-system-util-linux setsid"><primary
sortas="b-setsid">setsid</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="setterm">
<term><command>setterm</command></term>
<listitem>
<para>Initialise les attributs du terminal</para>
<indexterm zone="ch-system-util-linux setterm"><primary
sortas="b-setterm">setterm</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="sfdisk">
<term><command>sfdisk</command></term>
<listitem>
<para>Est un manipulateur de table de partitions disque</para>
<indexterm zone="ch-system-util-linux sfdisk"><primary
sortas="b-sfdisk">sfdisk</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="swapdev">
<term><command>swapdev</command></term>
<listitem>
<para>Initialise le périphérique swap dans une image amorçable</para>
<indexterm zone="ch-system-util-linux swapdev"><primary
sortas="b-swapdev">swapdev</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="swapoff">
<term><command>swapoff</command></term>
<listitem>
<para>Désactive les périphériques et fichiers de pagination et de swap</para>
<indexterm zone="ch-system-util-linux swapoff"><primary
sortas="b-swapoff">swapoff</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="swapon">
<term><command>swapon</command></term>
<listitem>
<para>Active les périphériques et fichiers de pagination et de swap</para>
<indexterm zone="ch-system-util-linux swapon"><primary
sortas="b-swapon">swapon</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tunelp">
<term><command>tunelp</command></term>
<listitem>
<para>Est utilisé pour paramètrer finement une imprimante ligne</para>
<indexterm zone="ch-system-util-linux tunelp"><primary
sortas="b-tunelp">tunelp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ul">
<term><command>ul</command></term>
<listitem>
<para>Un filtre pour traduire les sous-lignements en séquences d'échappement
indiquant un sous-lignement pour le terminal utilisé</para>
<indexterm zone="ch-system-util-linux ul"><primary
sortas="b-ul">ul</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="umount">
<term><command>umount</command></term>
<listitem>
<para>Déconnecte un système de fichiers à partir de la hiérarchie de fichiers
du système</para>
<indexterm zone="ch-system-util-linux umount"><primary
sortas="b-umount">umount</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="vidmode">
<term><command>vidmode</command></term>
<listitem>
<para>Initialise le mode vidéo d'une image amorçable</para>
<indexterm zone="ch-system-util-linux vidmode"><primary
sortas="b-vidmode">vidmode</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="whereis">
<term><command>whereis</command></term>
<listitem>
<para>Affiche l'emplacement du binaire, les sources et la page de manuel de la
commande donnée</para>
<indexterm zone="ch-system-util-linux whereis"><primary
sortas="b-whereis">whereis</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="write">
<term><command>write</command></term>
<listitem>
<para>Envoie un message à l'utilisateur donné <emphasis>sauf si</emphasis>
l'utilisateur a désactivé de tels messages</para>
<indexterm zone="ch-system-util-linux write"><primary
sortas="b-write">write</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_0/lfs/chapter06/texinfo.xml
0,0 → 1,155
<?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-texinfo" role="wrap">
<title>Texinfo-&texinfo-version;</title>
<?dbhtml filename="texinfo.html"?>
 
<indexterm zone="ch-system-texinfo"><primary sortas="a-Texinfo">Texinfo</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Texinfo contient des programmes de lecture, écriture et
de conversion de documents Info.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>17&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation de Texinfo dépend de</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Texinfo</title>
 
<para>Le correctif suivant corrige le fait qu'un programme
<command>info</command> s'arrête parfois brutalement après l'appui sur la
touche <emphasis>Delete</emphasis> du clavier&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../texinfo-&texinfo-version;-segfault-1.patch</userinput></screen>
 
<para>Préparez la compilation de Texinfo&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>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>De manière optionnelle, installez les composants appartenant à une
installation TeX&nbsp;:</para>
 
<screen><userinput>make TEXMF=/usr/share/texmf install-tex</userinput></screen>
 
<para>Voici la signification du paramètre de make&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>TEXMF=/usr/share/texmf</parameter></term>
<listitem><para>La variable <envar>TEXMF</envar> du Makefile contient
l'emplacement de la racine de votre répertoire TeX si, par exemple, un paquet
TeX sera installé plus tard.
later.</para></listitem>
</varlistentry>
</variablelist>
 
<beginpage/>
<para>Le système de documentation Info utilise un fichier texte pour contenir
sa liste des entrées de menu. Le fichier est situé dans
<filename>/usr/share/info/dir</filename>. Malheureusement, à cause de problèmes
occasionnels dans les Makefiles de différents paquets, il peut ne pas exécuter
l'étape d'installation des manuels Info. Si le fichier
<filename>/usr/share/info/dir</filename> a besoin d'être re-créé, les commandes
suivantes accompliront cette tâche&nbsp;:</para>
 
<screen><userinput>cd /usr/share/info
rm dir
for f in *
do install-info $f dir 2&gt;/dev/null
done</userinput></screen>
 
</sect2>
 
<sect2 id="contents-texinfo" role="content"><title>Contenu de Texinfo</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>info, infokey, install-info,
makeinfo, texi2dvi et texindex</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
 
<varlistentry id="info">
<term><command>info</command></term>
<listitem>
<para>Utilisé pour lire des documents Info similaires aux pages man mais qui
vont souvent plus loin que la simple explication des arguments. Par exemple,
comparez <command>man bison</command> et <command>info bison</command>.</para>
<indexterm zone="ch-system-texinfo info"><primary sortas="b-info">info</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="infokey">
<term><command>infokey</command></term>
<listitem>
<para>Compile un fichier source contenant des personnalisations Info en un format
binaire</para>
<indexterm zone="ch-system-texinfo infokey"><primary sortas="b-infokey">infokey</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="install-info">
<term><command>install-info</command></term>
<listitem>
<para>Utilisé pour installer les fichiers Info&nbsp;; il met à jour les entrées
dans le fichier index d'Info</para>
<indexterm zone="ch-system-texinfo install-info"><primary sortas="b-install-info">install-info</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="makeinfo">
<term><command>makeinfo</command></term>
<listitem>
<para>Traduit les sources Texinfo données dans différents autres langages&nbsp;:
fichiers Info, texte ou HTML</para>
<indexterm zone="ch-system-texinfo makeinfo"><primary sortas="b-makeinfo">makeinfo</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="texi2dvi">
<term><command>texi2dvi</command></term>
<listitem>
<para>Utilisé pour formater le document Texinfo indiqué en un fichier
indépendant des périphériques, pouvant être édité</para>
<indexterm zone="ch-system-texinfo texi2dvi"><primary sortas="b-texi2dvi">texi2dvi</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="texindex">
<term><command>texindex</command></term>
<listitem>
<para>Utilisé pour trier les fichiers d'index de Texinfo</para>
<indexterm zone="ch-system-texinfo texindex"><primary sortas="b-texindex">texindex</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_0/lfs/chapter06/linux-libc-headers.xml
0,0 → 1,81
<?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-linux-libc-headers" role="wrap">
<title>Linux-Libc-Headers-&linux-libc-headers-version;</title>
<?dbhtml filename="linux-libc-headers.html"?>
 
<indexterm zone="ch-system-linux-libc-headers">
<primary sortas="a-Linux-Libc-Headers">Linux-Libc-Headers</primary>
</indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Linux-Libc-Headers contient les en-têtes du noyau
<quote>nettoyés</quote>.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>22&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation de Linux-Libc-Headers dépend de</segtitle>
<seglistitem><seg>Coreutils</seg></seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Linux-Libc-Headers</title>
 
<para>Pendant des années, une pratique courante était d'utiliser les en-têtes
<quote>bruts</quote> du noyau (provenant directement de l'archive tar du noyau)
dans <filename class="directory">/usr/include</filename>, mais sur les quelques
années précédentes, les développeurs du noyau ont acquis la conviction que cela
ne devait pas se passer ainsi. Cela a donné naissance au projet
Linux-Libc-Headers, qui a été conçu pour maintenir une version stable de l'API
des en-têtes de Linux.</para>
 
<para>Installez les fichiers d'en-tête&nbsp;:</para>
 
<screen><userinput>cp -R include/asm-i386 /usr/include/asm
cp -R include/linux /usr/include</userinput></screen>
 
<para>Assurez-vous que tous les en-têtes appartiennent bien à root&nbsp;:</para>
 
<screen><userinput>chown -R root:root /usr/include/{asm,linux}</userinput></screen>
 
<para>Assurez-vous que tous les utilisateurs puissent lire les en-têtes&nbsp;:
</para>
 
<screen><userinput>find /usr/include/{asm,linux} -type d -exec chmod 755 {} \;
find /usr/include/{asm,linux} -type f -exec chmod 644 {} \;</userinput></screen>
 
</sect2>
 
<sect2 id="contents-linux-libc-headers" role="content"><title>Contenu de Linux-Libc-Headers</title>
 
<segmentedlist>
<segtitle>En-têtes installés</segtitle>
<seglistitem><seg>/usr/include/{asm,linux}/*.h</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
 
<varlistentry id="linux-libc-headers">
<term><filename class="headerfile">/usr/include/{asm,linux}/*.h</filename></term>
<listitem>
<para>Les en-têtes de l'API de Linux</para>
<indexterm zone="ch-system-linux-libc-headers linux-libc-headers"><primary sortas="e-/usr/include/{asm,linux}/*.h">/usr/include/{asm,linux}/*.h</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
 
/tags/LFS-6_0/lfs/chapter06/strippingagain.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-system-strippingagain">
<title>Supprimer de nouveau les symboles des fichiers objets</title>
<?dbhtml filename="strippingagain.html"?>
 
<para>Si l'utilisateur n'est pas un programmeur et qu'il ne pense pas faire de
débogage sur les logiciels système, l'espace occupé par le système peut être
diminué d'environ 200&nbsp;Mo en supprimant les symboles de débogage compris
dans les logiciels et dans les bibliothèques. Ceci n'apporte aucun inconvénient
en dehors de l'impossibilité de déboguer complètement un programme.</para>
 
<para>La plupart des personnes qui ont utilisé la commande ci-dessous n'ont
subi aucun problème. Néanmoins, il est facile de faire une faute de frappe et
de rendre le système inutilisable. Donc, avant de lancer la commande
<command>strip</command>, une bonne idée serait de faire une sauvegarde du
système maintenant.</para>
 
<para>Avant d'exécuter cette suppression, une attention toute particulière est
nécessaire pour s'assurer qu'aucun des binaires qui vont être touchés ne sont
en cours d'exécution. Pour s'assurer d'être entré dans le <xref
linkend="ch-system-chroot" role=","/>, commencez par quitter chroot&nbsp;:</para>
 
<screen><userinput>logout</userinput></screen>
 
<para>Puis, retournez-y avec ceci&nbsp;:</para>
 
<screen><userinput>chroot $LFS /tools/bin/env -i \
HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
/tools/bin/bash --login</userinput></screen>
 
<para>Maintenant, les symboles des binaires et bibliothèques peuvent être
supprimés en toute sûreté&nbsp;:</para>
 
<screen><userinput>/tools/bin/find /{,usr/}{bin,lib,sbin} -type f \
-exec /tools/bin/strip --strip-debug '{}' ';'</userinput></screen>
 
<para>Un grand nombre de fichiers verront leur format non reconnu. Ces
avertissements peuvent être ignorés sans soucis, ils signifient seulement que
ces fichiers sont des scripts et non pas des binaires.</para>
 
<para>Si l'espace disque est vraiment très restreint, le commutateur
<emphasis>--strip-all</emphasis> peut être utilisé sur les binaires de
<filename>/{,usr/}{bin,sbin}</filename> pour gagner quelques mégaoctets
supplémentaires. N'utilisez pas cette option sur les bibliothèques&nbsp;:
elles seraient détruites.</para>
 
</sect1>
 
/tags/LFS-6_0/lfs/chapter06/glibc.xml
0,0 → 1,751
<?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>784&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation de Glibc dépend de</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>
 
<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>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 ../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=nptl --with-tls \
--with-__thread --enable-kernel=2.6.0 --without-cvs \
--libexecdir=/usr/lib/glibc \
--with-headers=/tools/glibc-kernheaders</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 check</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 tes <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>Le test <emphasis>atime</emphasis> échoue parfois lorsque la
partition LFS est montée avec l'option
<parameter>noatime</parameter>.</para></listitem>
 
<listitem><para>Le test <emphasis>shm</emphasis> peut échouer quand le système
hôte utilise le système de fichiers <systemitem
class="filesystem">devfs</systemitem> mais n'a pas monté le système de fichiers
<systemitem class="filesystem">tmpfs</systemitem> sur <filename
class="directory">/dev/shm</filename>. Ceci survient à cause d'un manque de
support de <systemitem class="filesystem">tmpfs</systemitem> dans le
noyau.</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 connait) 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><userinput>mkdir -p /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>Some locales installed by the <command>make
localedata/install-locales</command> command above are not properly
supported by some applications that are in the LFS and BLFS books.
Because of the various problems that arise due to application
programmers making assumptions that break in such locales, LFS should
not be used in locales that utilize multibyte character sets
(including UTF-8) or right-to-left writing order. Numerous unofficial
and unstable patches are required to fix these problems, and it has
been decided by the LFS developers not to support such complex locales. This
applies to the
ja_JP and fa_IR locales as well&mdash;they have been installed only for
GCC and Gettext tests to pass, and the <command>watch</command> program
(part of the Procps package) does not work properly in them. Various
attempts to circumvent these restrictions are documented in
internationalization-related hints.</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>
 
</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
avec le 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><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 --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>
 
</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>
 
<beginpage/>
</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"?>
 
<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 contruire 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_0/lfs/chapter06/ncurses.xml
0,0 → 1,214
<?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-ncurses" role="wrap">
<title>Ncurses-&ncurses-version;</title>
<?dbhtml filename="ncurses.html"?>
 
<indexterm zone="ch-system-ncurses"><primary sortas="a-Ncurses">Ncurses</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Ncurses contient les bibliothèques de gestion des écrans type
caractère, indépendant des terminaux.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,6&nbsp;SBU</seg><seg>27&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation de Ncurses dépend de</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
Gawk, GCC, Glibc, Grep, Make et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Ncurses</title>
 
<para>Préparez la compilation de Ncurses&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --with-shared --without-debug</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Ce paquet ne fournit pas de suite de tests.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Donnez les droits en exécution des bibliothèques Ncurses&nbsp;:</para>
 
<screen><userinput>chmod 755 /usr/lib/*.&ncurses-version;</userinput></screen>
 
<para>Corrigez une bibliothèque qui ne devrait pas être
exécutable&nbsp;:</para>
 
<screen><userinput>chmod 644 /usr/lib/libncurses++.a</userinput></screen>
 
<para>Déplacez les bibliothèques dans le répertoire <filename
class="directory">/lib</filename> où elles sont supposées être&nbsp;:</para>
 
<screen><userinput>mv /usr/lib/libncurses.so.5* /lib</userinput></screen>
 
<beginpage/>
<para>Comme les bibliothèques ont été déplacées, certains liens symboliques
pointent vers des fichiers inexistants. Re-créez ces liens
symboliques&nbsp;:</para>
 
<screen><userinput>ln -sf ../../lib/libncurses.so.5 /usr/lib/libncurses.so
ln -sf libncurses.so /usr/lib/libcurses.so</userinput></screen>
 
</sect2>
 
<sect2 id="contents-ncurses" role="content"><title>Contenu de Ncurses</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèques installées</segtitle>
<seglistitem><seg>captoinfo (lien vers tic), clear, infocmp, infotocap (lien vers tic),
reset (lien vers tset), tack, tic, toe, tput et tset</seg>
<seg>libcurses.[a,so] (link to libncurses.[a,so]), libform.[a,so], libmenu.[a,so],
libncurses++.a, libncurses.[a,so] et libpanel.[a,so]</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
 
<varlistentry id="captoinfo">
<term><command>captoinfo</command></term>
<listitem>
<para>Convertit une description termcap en description terminfo</para>
<indexterm zone="ch-system-ncurses captoinfo"><primary sortas="b-captoinfo">captoinfo</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="clear">
<term><command>clear</command></term>
<listitem>
<para>Efface l'écran si possible</para>
<indexterm zone="ch-system-ncurses clear"><primary sortas="b-clear">clear</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="infocmp">
<term><command>infocmp</command></term>
<listitem>
<para>Compare ou affiche les descriptions terminfo</para>
<indexterm zone="ch-system-ncurses infocmp"><primary sortas="b-infocmp">infocmp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="infotocap">
<term><command>infotocap</command></term>
<listitem>
<para>Convertit une description terminfo en description termcap</para>
<indexterm zone="ch-system-ncurses infotocap"><primary sortas="b-infotocap">infotocap</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="reset">
<term><command>reset</command></term>
<listitem>
<para>Réinitialise un terminal avec ses valeurs par défaut</para>
<indexterm zone="ch-system-ncurses reset"><primary sortas="b-reset">reset</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tack">
<term><command>tack</command></term>
<listitem>
<para>Vérificateur d'actions terminfo&nbsp;; il est principalement utilisé pour tester la
correction d'une entrée dans la base de données terminfo</para>
<indexterm zone="ch-system-ncurses tack"><primary sortas="b-tack">tack</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tic">
<term><command>tic</command></term>
<listitem>
<para>Le compilateur d'entrée de description terminfo, traduisant un fichier terminfo au format
source dans un format binaire nécessaire pour les routines des bibliothèques ncurses. Un fichier
terminfo contient des informations sur les capacités d'un terminal particulier</para>
<indexterm zone="ch-system-ncurses tic"><primary sortas="b-tic">tic</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="toe">
<term><command>toe</command></term>
<listitem>
<para>Liste tous les types de terminaux disponibles, donnant pour chacun d'entre eux son nom
principal et sa description</para>
<indexterm zone="ch-system-ncurses toe"><primary sortas="b-toe">toe</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tput">
<term><command>tput</command></term>
<listitem>
<para>Rend les valeurs de capacités dépendant du terminal disponibles au shell&nbsp;; il peut
aussi être utilisé pour réinitialiser un terminal ou pour afficher son nom long</para>
<indexterm zone="ch-system-ncurses tput"><primary sortas="b-tput">tput</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tset">
<term><command>tset</command></term>
<listitem>
<para>Peut être utilisé pour initialiser des terminaux</para>
<indexterm zone="ch-system-ncurses tset"><primary sortas="b-tset">tset</primary></indexterm>
<beginpage/></listitem>
</varlistentry>
 
<varlistentry id="libcurses">
<term><filename class="libraryfile">libcurses</filename></term>
<listitem>
<para>Un lien vers <filename>libncurses</filename></para>
<indexterm zone="ch-system-ncurses libcurses"><primary sortas="c-libcurses">libcurses</primary></indexterm>