Subversion Repositories svn LFS-FR

Compare Revisions

Ignore whitespace Rev 512 → Rev 513

/tags/LFS-5_1_1/lfs/chapter03/chapter03.xml
0,0 → 1,20
<?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>Les matériaux&nbsp;: 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-5_1_1/lfs/chapter03/introduction.xml
0,0 → 1,62
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="materials-introduction">
<title>Introduction</title>
<?dbhtml filename="introduction.html"?>
 
<para>Ci-dessous se trouve une liste des paquets que vous devez télécharger
pour construire un système Linux basique. Les numéros de version indiqués
correspondent aux versions de logiciels, <emphasis>connues</emphasis> pour
fonctionner et sur lesquelles ce livre est basé. Si vous n'êtes pas un
utilisateur LFS expérimenté, nous vous recommandons de ne pas essayer de
nouvelles versions car les commandes de construction pour une version
pourraient ne pas fonctionner avec une version plus récente. De même, il y a
souvent une bonne raison de ne pas utiliser la dernière version à cause de
problèmes connus mais non résolus.</para>
 
<para>Toutes les URL réfèrent à la page du projet sur <ulink
url="http://www.freshmeat.net/"/>, si celle-ci existe. Les pages Freshmeat vous
donneront un accès simple aux sites de téléchargement officiel ainsi qu'aux
sites web des projets, à leurs listes de diffusion, FAQ, journaux de
modifications, etc.</para>
 
<para>Nous ne pouvons pas vous garantir que ces emplacements de téléchargement
sont toujours disponibles. Au cas où un emplacement a changé depuis la sortie
de ce livre, merci d'utiliser Google. Si vous n'y parvenez pas ainsi, vous
pouvez consulter la page des erreurs de ce livre sur <ulink
url="&lfs-root;lfs/print/"/> ou, encore mieux, essayer un des autres moyens de
téléchargement listés sur <ulink url="&lfs-root;lfs/paquets.html"/>.</para>
 
<para>Vous aurez besoin de stocker tous les paquets et les
correctifs à un emplacement disponible facilement tout au long de la
construction. Vous aurez aussi besoin d'un répertoire où vous pourrez déballer
les sources et les construire. Utiliser <filename>$LFS/sources</filename> comme
emplacement de stockage des archives tar et des correctifs est une bonne idée.
Ce répertoire peut <emphasis>aussi</emphasis> servir de répertoire de travail.
De cette façon, tout sera situé sur la partition LFS et sera disponible à tout
moment pendant le processus de construction.</para>
 
<para>Donc, vous pouvez exécuter, en tant qu'utilisateur
<emphasis>root</emphasis>, la commande suivante avant de commencer les
téléchargements&nbsp;:</para>
 
<screen><userinput>mkdir $LFS/sources</userinput></screen>
 
<para>Et donnez le droit d'écriture à votre utilisateur standard sur ce
répertoire car vous n'allez pas, à priori, télécharger en tant que
<emphasis>root</emphasis>&nbsp;:</para>
 
<screen><userinput>chmod a+wt $LFS/sources</userinput></screen>
 
<!--
<para>For your convenience the top of the list contains a link to a file
you can use with the <ulink url="http://wget.sunsite.dk">wget</ulink>
program. Using this file and the <command>wget</command> program will
make it easy to download all the files at once, rather than downloading each
and every individual file manually.</para>
-->
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter03/patches.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="materials-patches">
<title>Correctifs nécessaires</title>
<?dbhtml filename="patches.html"?>
 
<para>En plus de tous ces paquets, vous aurez aussi besoin de quelques
correctifs. Ils corrigent de petites erreurs dans les paquets, erreurs qui
devraient être corrigé par le mainteneur. Ils peuvent aussi faire
quelques modifications pour arranger certains points. Vous aurez besoin de ce
qui suit&nbsp;:</para>
 
<literallayout>
Bash Patch - 7&nbsp;Ko&nbsp;:
<ulink url="&patches-root;bash-&bash-version;-2.patch"/>
 
Bison Attribute Patch - 2&nbsp;Ko&nbsp;:
<ulink url="&patches-root;bison-&bison-version;-attribute.patch"/>
 
Coreutils Hostname Patch - 1&nbsp;Ko&nbsp;:
<ulink url="&patches-root;coreutils-&coreutils-version;-hostname-1.patch"/>
 
Coreutils Uname Patch - 1&nbsp;Ko&nbsp;:
<ulink url="&patches-root;coreutils-&coreutils-version;-uname-1.patch"/>
 
Ed Mkstemp Patch - 1&nbsp;Ko&nbsp;:
<ulink url="&patches-root;ed-&ed-version;-mkstemp.patch"/>
 
Expect Spawn Patch - 6&nbsp;Ko&nbsp;:
<ulink url="&patches-root;expect-&expect-version;-spawn-1.patch"/>
 
GCC No-Fixincludes Patch - 1&nbsp;Ko&nbsp;:
<ulink url="&patches-root;gcc-&gcc-version;-no_fixincludes-1.patch"/>
 
GCC Specs Patch - 11&nbsp;Ko&nbsp;:
<ulink url="&patches-root;gcc-&gcc-version;-specs-1.patch"/>
 
GCC-2 Patch - 16&nbsp;Ko&nbsp;:
<ulink url="&patches-root;gcc-&gcc-2953-version;-2.patch"/>
 
GCC-2 No-Fixincludes Patch - 1&nbsp;Ko&nbsp;:
<ulink url="&patches-root;gcc-&gcc-2953-version;-no-fixinc.patch"/>
 
GCC-2 Return-Type Patch - 1&nbsp;Ko&nbsp;:
<ulink url="&patches-root;gcc-&gcc-2953-version;-returntype-fix.patch"/>
 
Inetutils No-Server-Man-Pages Patch - 4&nbsp;Ko&nbsp;:
<ulink
url="&patches-root;inetutils-&inetutils-version;-no_server_man_pages-1.patch"/>
 
Kbd More-Programs Patch - 1&nbsp;Ko&nbsp;:
<ulink url="&patches-root;kbd-&kbd-version;-more-programs-1.patch"/>
 
Man 80-Columns Patch - 1&nbsp;Ko&nbsp;:
<ulink url="&patches-root;man-&man-version;-80cols.patch"/>
 
Mktemp Tempfile Patch - 3&nbsp;Ko&nbsp;:
<ulink url="&patches-root;mktemp-&mktemp-version;-add-tempfile.patch"/>
 
Net-tools Mii-Tool-Gcc33 Patch - 2&nbsp;Ko&nbsp;:
<ulink url="&patches-root;net-tools-&net-tools-version;-miitool-gcc33-1.patch"/>
 
Perl Libc Patch - 1&nbsp;Ko&nbsp;:
<ulink url="&patches-root;perl-&perl-version;-libc-1.patch"/>
</literallayout>
 
<para>En plus des correctifs requis ci-dessus, il en existe quelques-uns
optionnels créés par la communauté LFS. La plupart corrige de petits problèmes
ou activent certaines fonctionnalités, inactives par défaut. Vous pouvez
examiner la base de données des correctifs située sur <ulink
url="&lfs-root;patches/"/> et récupérer les correctifs supplémentaires que vous
comptez utiliser.</para>
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter03/packages.xml
0,0 → 1,224
<?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-paquets">
<title>Tous les paquets</title>
<?dbhtml filename="paquets.html"?>
 
<para>Téléchargez ou obtenez d'une autre façon les paquets
suivants&nbsp;:</para>
 
<literallayout>
Autoconf (&autoconf-version;) - 903&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;autoconf/"/>
 
Automake (&automake-version;) - 644&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;automake/"/>
 
Bash (&bash-version;) - 1.910&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;gnubash/"/>
 
Binutils (&binutils-version;) - 10.666&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;binutils/"/>
 
Bison (&bison-version;) - 796&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;bison/"/>
 
Bzip2 (&bzip2-version;) - 650&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;bzip2/"/>
 
Coreutils (&coreutils-version;) - 3.860&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;coreutils/"/>
 
DejaGnu (&dejagnu-version;) - 1.055&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;dejagnu/"/>
 
Diffutils (&diffutils-version;) - 762&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;diffutils/"/>
 
E2fsprogs (&e2fsprogs-version;) - 3.003&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;e2fsprogs/"/>
 
Ed (&ed-version;) - 182&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;ed/"/>
 
Expect (&expect-version;) - 510&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;expect/"/>
 
File (&file-version;) - 356&nbsp;Ko&nbsp;: -- <emphasis>(voir la note 1
ci-dessous)</emphasis>
<ulink url="&freshmeat;file/"/>
 
Findutils (&findutils-version;) - 760&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;findutils/"/>
 
Flex (&flex-version;) - 372&nbsp;Ko&nbsp;:
<ulink url="ftp://ftp.gnu.org/gnu/non-gnu/flex/"/>
 
Gawk (&gawk-version;) - 1.596&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;gnuawk/"/>
 
GCC (&gcc-2953-version;) - 9.618&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;gcc/"/>
 
GCC-core (&gcc-version;) - 11.283KB:
<ulink url="&freshmeat;gcc/"/>
 
GCC-g++ (&gcc-version;) - 2.026&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;gcc/"/>
 
GCC-testsuite (&gcc-version;) - 1.051&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;gcc/"/>
 
Gettext (&gettext-version;) - 6.397&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;gettext/"/>
 
Glibc (&glibc-version;) - 13.101&nbsp;Ko&nbsp;: -- <emphasis>(voir la note 2
ci-dessous)</emphasis>
<ulink url="&freshmeat;glibc/"/>
 
Grep (&grep-version;) - 545&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;grep/"/>
 
Groff (&groff-version;) - 2.360&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;groff/"/>
 
Grub (&grub-version;) - 902&nbsp;Ko&nbsp;:
<ulink url="ftp://alpha.gnu.org/pub/gnu/grub/"/>
 
Gzip (&gzip-version;) - 324&nbsp;Ko&nbsp;:
<ulink url="ftp://alpha.gnu.org/gnu/gzip/"/>
 
Iana-Etc (&iana-etc-version;) - 161&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;iana-etc/"/>
 
Inetutils (&inetutils-version;) - 1.019&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;inetutils/"/>
 
Kbd (&kbd-version;) - 617&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;kbd/"/>
 
Less (&less-version;) - 259&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;less/"/>
 
LFS-Bootscripts (&bootscripts-version;) - 32&nbsp;Ko&nbsp;:
<ulink url="&http-down;"/>
 
Libtool (&libtool-version;) - 2.602&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;libtool/"/>
 
Linux (&linux-version;) - 30.051&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;linux/"/>
 
M4 (&m4-version;) - 310&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;gnum4/"/>
 
Make (&make-version;) - 899&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;gnumake/"/>
 
Make_devices (&makedev-version;) - 20&nbsp;Ko&nbsp;:
<ulink url="&http-down;"/>
 
Man (&man-version;) - 196&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;man/"/>
 
Man-pages (&man-pages-version;) - 1.582&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;man-pages/"/>
 
Mktemp (&mktemp-version;) - 69&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;mktemp/"/>
 
Modutils (&modutils-version;) - 229&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;modutils/"/>
 
Ncurses (&ncurses-version;) - 2.019&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;ncurses/"/>
 
Net-tools (&net-tools-version;) - 194&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;net-tools/"/>
 
Patch (&patch-version;) - 182&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;patch/"/>
 
Perl (&perl-version;) - 9.373&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;perl/"/>
 
Procinfo (&procinfo-version;) - 24&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;procinfo/"/>
 
Procps (&procps-version;) - 260&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;procps/"/>
 
Psmisc (&psmisc-version;) - 375&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;psmisc/"/>
 
Sed (&sed-version;) - 751&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;sed/"/>
 
Shadow (&shadow-version;) - 795&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;shadow/"/>
 
Sysklogd (&sysklogd-version;) - 80&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;sysklogd/"/>
 
Sysvinit (&sysvinit-version;) - 91&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;sysvinit/"/>
 
Tar (&tar-version;) - 1.025&nbsp;Ko&nbsp;:
<ulink url="ftp://alpha.gnu.org/gnu/tar/"/>
 
Tcl (&tcl-version;) - 3.363&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;tcltk/"/>
 
Texinfo (&texinfo-version;) - 1.385&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;texinfo/"/>
 
Util-linux (&util-linux-version;) - 1.814&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;util-linux/"/>
 
Vim (&vim-version;) - 3.193&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;vim/"/>
 
Zlib (&zlib-version;) - 277&nbsp;Ko&nbsp;:
<ulink url="&freshmeat;zlib/"/>
 
Taille totale de ces paquets&nbsp;: 134&nbsp;Mo
</literallayout>
 
<note><para>1) File (&file-version;) pourrait ne pas être disponible au moment
où vous lirez ceci. Les administrateurs du site de l'emplacement de
téléchargement sont connus pour supprimer à l'occasion les anciennes versions
lorsque de nouvelles sont sorties. Un autre emplacement de téléchargement, qui
pourrait avoir conservé les anciennes versions, est <ulink
url="ftp://gaosu.rave.org/pub/linux/lfs/"/>.</para></note>
 
<note><para>2) Au moment de l'écriture de ce livre, les mainteneurs de la
Glibc ont décidé dans leur grande sagesse de ne pas proposer en
téléchargement les archives tar des nouvelles versions. Ainsi, l'équipe LFS de
l'ensemble d'outils a fourni une archive tar des sources de glibc à partir du
CVS (Concurrent Versioning System) de Glibc et a généré une archive tar à
partir de ces sources en incluant des correctifs si nécessaire.</para>
 
<para>Nous avons mis à disposition cette archive tar sur les sites miroirs LFS
suivants&nbsp;:</para>
 
<literallayout><ulink
url="ftp://gaosu.rave.org/pub/linux/lfs/paquets/conglomeration/glibc-&glibc-version;.tar.bz2"/>
<ulink
url="ftp://lfs.mirror.intermedia.com.sg/pub/lfs/lfs-paquets/conglomeration/glibc-&glibc-version;.tar.bz2"/>
<ulink url="http://paquets.lfs-es.org/glibc/glibc-&glibc-version;.tar.bz2"/>
<ulink url="http://mirror.averse.net/lfs-paquets/glibc-&glibc-version;.tar.bz2"/>
<ulink
url="ftp://mirror.averse.net/pub/lfs-paquets/glibc-&glibc-version;.tar.bz2"/>
<ulink
url="ftp://ftp.lfs-matrix.de/lfs-paquets/conglomeration/glibc-&glibc-version;.tar.bz2"/>
<ulink url="ftp://ftp.sg.linuxfromscratch.org/pub/lfs-paquets/glibc-&glibc-version;.tar.bz2"/>
<ulink url="http://ftp.sg.linuxfromscratch.org/glibc-&glibc-version;.tar.bz2"/></literallayout>
<para>Si vous souhaitez vérifier l'intégrité de cette archive tar, son hachage
MD5 est <computeroutput>cd11fabdf5162ad68329e7b28b308278</computeroutput>,
ce qui peut être vérifié avec la commande <command>md5sum</command>.</para>
</note>
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/chroot.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-system-chroot">
<title>Entrer dans l'environnement chroot</title>
<?dbhtml filename="chroot.html"?>
 
<para>Il est temps d'entrer dans l'environnement chroot pour commencer la
construction et l'installation de votre système final LFS. Toujours en tant que
<emphasis>root</emphasis>, lancez la commande suivante pour entrer dans ce petit
monde peuplé seulement, pour le moment, des outils temporaires&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 \
/tools/bin/bash --login +h</userinput></screen>
 
<para>L'option <emphasis>-i</emphasis> donnée à la commande
<command>env</command> effacera toutes les variables de l'environnement chroot.
Après cela, seules les variables HOME, TERM, PS1 et PATH sont toujours
initialisées. La construction TERM=$TERM initialisera la variable TERM à
l'intérieur du chroot avec la même valeur qu'à l'extérieur&nbsp;; cette
variable est nécessaire pour que les programmes comme <command>vim</command> et
<command>less</command> fonctionnent correctement. Si vous avez besoin de la
présence d'autres variables, telles que CFLAGS ou CXXFLAGS, c'est le bon moment
pour les initialiser de nouveau.</para>
 
<para>À partir de maintenant, il n'est plus nécessaire d'utiliser la
variable LFS parce que tout ce que vous ferez sera restreint au système de
fichiers LFS car le shell pense que <filename
class="directory">$LFS</filename> est réellement <filename
class="directory">/</filename>.</para>
 
<para>Notez que <filename class="directory">/tools/bin</filename> arrive
dernier dans le PATH. Ceci signifie qu'un outil temporaire ne sera plus utilisé
une fois que la version finale sera utilisée. En fait, ceci est vrai tant que le
shell ne se rappelle plus les emplacements des binaires exécutés. Pour cette
raison, le hachage est désactivé en passant l'option <emphasis>+h</emphasis> à
<command>bash</command>.</para>
 
<para>Vous devez vous assurer que toutes les commandes pour le reste de ce
chapitre et les chapitres suivants sont lancés à l'intérieur de
l'environnement chroot. Si vous devez quitter cet environnement quelqu'en soit
la raison (un redémarrage par exemple), vous devez vous rappeller de commencer
par monter les systèmes de fichiers proc et devpts (discutés dans la section
précédente) <emphasis>et</emphasis> d'entrer de nouveau dans chroot avant de
continuer les installations.</para>
 
<para>Notez que l'invite bash dira <quote>I have
no name!</quote> (Je n'ai pas de nom&nbsp;!). C'est normal car le fichier
<filename>/etc/passwd</filename> n'existe pas encore.
</para>
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/inetutils.xml
0,0 → 1,126
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-inetutils" xreflabel="Inetutils">
<title>Inetutils-&inetutils-version;</title>
<?dbhtml filename="inetutils.html"?>
 
<indexterm zone="ch-system-inetutils"><primary sortas="a-Inetutils">Inetutils</primary></indexterm>
 
<para>Le paquet Inetutils contient des programmes réseau basiques.</para>
 
<screen>&buildtime; 0,2&nbsp;SBU
&diskspace; 11&nbsp;Mo</screen>
 
<para>L'installation d'Inetutils dépend de Bash, Binutils, Coreutils,
Diffutils, GCC, Glibc, Grep, Make, Ncurses, Sed.</para>
 
 
 
<sect2>
<title>Installation de Inetutils</title>
 
<para>Nous n'allons pas installer tous les programmes venant avec Inetutils.
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>Maintenant, 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>
 
<itemizedlist>
<listitem><para><userinput>--disable-logger</userinput>&nbsp;: cette option
empêche l'installation du programme logger 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>
 
<listitem><para><userinput>--disable-syslogd</userinput>&nbsp;: 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>
 
<listitem><para><userinput>--disable-whois</userinput>&nbsp;: cette option
désactive la construction du client whois d'Inetutils qui est vraiment
obsolète. Les instructions pour un meilleur client whois sont dans le livre
BLFS.</para></listitem>
 
<listitem><para><userinput>--disable-servers</userinput>&nbsp;: ceci désactive
l'installation des différents serveurs réseau inclus dans le paquet Inetutils.
Ces serveurs semblent inappropriés par nature et ne sont pas considérés sains
sur des réseaux de confiance. Plus d'informations sont disponibles sur
<ulink url="&blfs-root;view/stable/basicnet/inetutils.html"/>. Notez que de
meilleurs remplacements sont disponibles pour certains de ces
serveurs.</para></listitem>
</itemizedlist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Installez-le:</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>
 
</sect2>
 
 
<sect2 id="contents-inetutils"><title>Contenu d'Inetutils</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: ftp, ping, rcp, rlogin,
rsh, talk, telnet et tftp</para>
 
</sect2>
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-inetutils ftp"><primary sortas="b-ftp">ftp</primary></indexterm>
<para id="ftp"><command>ftp</command> est le programme de transfert de fichiers
ARPANET.</para>
 
<indexterm zone="ch-system-inetutils ping"><primary sortas="b-ping">ping</primary></indexterm>
<para id="ping"><command>ping</command> envoit des paquets echo-request et
affiche le temps mis pour que la réponse arrive.</para>
 
<indexterm zone="ch-system-inetutils rcp"><primary sortas="b-rcp">rcp</primary></indexterm>
<para id="rcp"><command>rcp</command> fait une copie de fichiers
distants.</para>
 
<indexterm zone="ch-system-inetutils rlogin"><primary sortas="b-rlogin">rlogin</primary></indexterm>
<para id="rlogin"><command>rlogin</command> permet une connexion à
distance.</para>
 
<indexterm zone="ch-system-inetutils rsh"><primary sortas="b-rsh">rsh</primary></indexterm>
<para id="rsh"><command>rsh</command> lance un shell distant.</para>
 
<indexterm zone="ch-system-inetutils talk"><primary sortas="b-talk">talk</primary></indexterm>
<para id="talk"><command>talk</command> est utilisé pour discuter avec un
autre utilisateur.</para>
 
<indexterm zone="ch-system-inetutils telnet"><primary sortas="b-telnet">telnet</primary></indexterm>
<para id="telnet"><command>telnet</command> est une interface du protocole
TELNET.</para>
 
<indexterm zone="ch-system-inetutils tftp"><primary sortas="b-tftp">tftp</primary></indexterm>
<para id="tftp"><command>tftp</command> est un programme trivial de transfert de
fichiers.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/revisedchroot.xml
0,0 → 1,45
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-revisedchroot">
<title>Nettoyer</title>
<?dbhtml filename="revisedchroot.html"?>
 
<para>À partir de maintenant, lorsque vous quittez l'environnement chroot et
que vous souhaitez y retourner, vous devez utiliser la commande chroot
suivante&nbsp;:</para>
 
<screen><userinput>chroot "$LFS" /usr/bin/env -i \
HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
/bin/bash --login</userinput></screen>
 
<para>La raison pour cela est que, comme les programmes de <filename
class="directory">/tools</filename> ne sont plus nécessaires, vous pourriez
souhaiter supprimer le répertoire entier et gagner ainsi de la place. Avant de
supprimer le répertoire, sortez de chroot et rentrez-y de nouveau avec la
commande ci-dessus. De même, avant de supprimer <filename
class="directory">/tools</filename>, vous pourriez souhaiter le placer dans une
archive tar pour le stocker dans un endroit sûr, au cas où vous souhaiteriez
construire bientôt un autre système LFS.</para>
 
<note><para>Supprimer <filename class="directory">/tools</filename> effacera
aussi les copies temporaires de Tcl, Expect and DejaGnu, qui ont été utilisé
pour lancer les tests de l'ensemble des outils. Si vous souhaitez utiliser ces
programmes plus tard, vous aurez besoin de les recompiler et de les
ré-installer. Les instructions d'installation sont les mêmes que dans le <xref
linkend="chapter-temporary-tools"/>, à part qu'il faut modifier le préfixe
<emphasis>/tools</emphasis> en <emphasis>/usr</emphasis>. Le livre BLFS propose
une approche légèrement différente pour installer Tcl, voir <ulink
url="&blfs-root;"/>.</para></note>
 
<para>Vous pourriez aussi vouloir déplacer les paquets et correctifs stockés
dans <filename class="directory">/sources</filename> à un emplacement plus
usuel, comme
<filename class="directory">/usr/src/paquets</filename>, et supprimer le
répertoire (ou simplement supprimer le répertoire entier si vous avez gravé son
contenu sur un CD).</para>
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/introduction.xml
0,0 → 1,71
<?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 de notre système LFS. C'est-à-dire, nous entrons avec chroot
dans le mini système Linux temporaire et lançons l'installation de tous les
paquets un par un.</para>
<para>L'installation de tous les logiciels est plutôt simple et vous allez
probablement penser qu'il serait beaucoup plus rapide de donner les
instructions génériques d'installation pour un paquet et de seulement
expliquer en détail l'installation des paquets nécessitant une méthode
alternative. Même si nous sommes d'accord avec ceci, nous avons choisi de
donner les instructions complètes pour chaque paquet, simplement pour éviter
toute confusion ou erreur.</para>
 
<para>La clé pour apprendre ce qui rend un système Linux fonctionnel est de
savoir à quoi sert chaque paquet et pourquoi l'utilisateur (ou le système) en a
besoin. Dans ce but, pour chaque paquet installé, un résumé de son contenu est
donné suivi de descriptions concises de chaque programme et bibliothèque qu'il
a installé.</para>
 
<para>Si vous comptez utiliser une optimisation de compilation pour les
paquets installés dans ce chapitre, jetez un &oelig;il aux astuces
d'optimisation dans <ulink url="&hints-root;optimization.txt" />. Ces options
peuvent faire qu'un programme s'exécute légèrement plus vite, mais peuvent
également causer des problèmes de compilation et même des erreurs à l'exécution.
Si vous rencontrez des problèmes après avoir utilisé les optimisations, essayez
toujours sans optimisation pour voir si le problème persiste. Même si le paquet
compile en utilisant les optimisations, il y a des risques pour qu'il ait été
compilé de façon incorrecte dû aux interactions complexes entre le code et les
outils de construction. En bref, les petits gains potentiels obtenus avec
l'optimisation du compilateur sont généralement bien moindres par rapport au
risque. Pour une première installation de LFS, nous vous encourageons à
construire sans optimisation. Votre système sera toujours très rapide et très
stable en même temps.</para>
 
<para>L'ordre dans lequel ces paquets sont installés dans ce chapitre doit être
suivi à la lettre, pour s'assurer qu'aucun programme n'obtienne un chemin
codé en dur se référant à <filename class="directory">/tools</filename>. Pour
la même raison, <emphasis>ne pas</emphasis> compiler les paquets en parallèle.
Compiler en parallèle peut vous sauver du temps (et spécialement sur les
machines bi-processeur) mais cela peut résulter en un programme contenant un
chemin codé en dur menant vers <filename class="directory">/tools</filename>,
ce qui empêchera le programme de fonctionner normalement lorsque ce répertoire
sera supprimé.</para>
 
<para>Avant les instructions d'installation, chaque page d'installation donne
quelques informations sur le paquet&nbsp;: une description concise de ce
qu'il contient, le temps approximatif pour le construire, l'espace disque
nécessaire lors du processus de construction, l'emplacement officiel de
téléchargement (au cas où vous souhaiteriez ne mettre à jour que quelques
paquets) et de quels autres paquets il dépend pour sa construction. Après les
instructions d'installation suit une liste de programmes et bibliothèques que
le paquet installe avec une courte description de ceux-ci.</para>
 
<para>Si vous souhaitez garder trace des fichiers installés par chaque
paquet, vous pouvez utiliser un gestionnaire de paquet. Pour un survol
général des gestionnaires de paquets, jetez un &oelig;il à <ulink
url="&blfs-root;view/cvs/introduction/important.html"/>. Et pour une méthode de
gestion de paquets spécifique à LFS, voir
<ulink url="&hints-root;more_control_and_pkg_man.txt"/>.</para>
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/aboutdebug.xml
0,0 → 1,48
<?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-aboutdebug">
<title>Symboles de déboguage</title>
<?dbhtml filename="aboutdebug.html"?>
 
<para>La plupart des programmes et des bibliothèques sont compilés, par
défaut, en incluant les symboles de déboguage (avec l'option
<emphasis>-g</emphasis> de <command>gcc</command>). Ceci signifie que, lors du
déboguage d'un programme ou d'une bibliothèque compilé avec les informations de
déboguage, le débogueur peut vous donner non seulement les adresses mémoire
mais aussi les noms des routines et variables.</para>
<para>Néanmoins, l'intégration de ces symboles de déboguage font grossir le
programme ou la bibliothèque de façon significative. Pour avoir une idée de la
place occupée par ces symboles, jetez un &oelig;il à ce qui suit&nbsp;:</para>
 
<itemizedlist>
 
<listitem><para>un binaire bash avec les symboles de déboguage&nbsp;:
1200&nbsp;Ko</para></listitem>
 
<listitem><para>un binaire bash sans les symboles de déboguage&nbsp;:
480&nbsp;Ko</para></listitem>
 
<listitem><para>les fichiers Glibc et GCC (/lib et /usr/lib) avec les
symboles de déboguage&nbsp;: 87&nbsp;Mo</para></listitem>
 
<listitem><para>les fichiers Glibc et GCC sans les symboles de déboguage&nbsp;:
16&nbsp;Mo</para></listitem>
 
</itemizedlist>
 
<para>Les tailles peuvent un peu varier suivant le compilateur et la
bibliothèque C utilisés mais, lors d'une comparaison de programmes avec et sans
symboles de déboguages, la différence sera généralement de 2 à 5.</para>
 
<para>Comme la plupart des gens n'utiliseront jamais un débogueur sur leur
système, beaucoup d'espce disque peut être gagné en supprimant ces symboles.
Pour vous aider, la prochaine section montre comment supprimer tous les symboles
de déboguage de tous les programmes et bibliothèques. Des informations sur
d'autres façons d'optimiser votre système sont disponibles sous forme d'astuce
sur <ulink url="&hints-root;optimization.txt"/>.</para>
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/gettext.xml
0,0 → 1,190
<?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-gettext" xreflabel="Gettext">
<title>Gettext-&gettext-version;</title>
<?dbhtml filename="gettext.html"?>
 
<indexterm zone="ch-system-gettext"><primary sortas="a-Gettext">Gettext</primary></indexterm>
 
<para>Le paquet Gettext contient des outils pour l'internationalisation et la
localisation. Ceci permet aux programmes d'être compilés avec le support des
langages natifs (<foreignphrase>Native Language Support</foreignphrase> ou
NLS), leur permettant d'afficher des messages dans la langue native de
l'utilisateur.</para>
 
<screen>&buildtime; 0,5&nbsp;SBU
&diskspace; 55&nbsp;Mo</screen>
 
<para>L'installation de Gettext dépend de Bash, Binutils, Bison, Coreutils,
Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed.</para>
 
 
 
<sect2>
<title>Installation de Gettext</title>
 
<para>Préparez la compilation de Gettext&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>. Ceci peut prendre beaucoup de temps,
pratiquement 7&nbsp;SBU.</para>
 
<para>Maintenant, installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-gettext"><title>Contenu de Gettext</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: autopoint,
config.charset, config.rpath, envsubst, gettext, gettextize, hostname,
msgattrib, msgcat, msgcmp, msgcomm, msgconv, msgen, msgexec, msgfilter, msgfmt,
msggrep, msginit, msgmerge, msgunfmt, msguniq, ngettext, project-id,
team-address, trigger, urlget, user-email et xgettext</para>
 
<para><emphasis>Bibliothèques partagées</emphasis>&nbsp;: libasprintf[a,so],
libgettextlib[a,so], libgettextpo[a,so] et libgettextsrc[a,so]</para>
 
</sect2>
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-gettext autopoint"><primary sortas="b-autopoint">autopoint</primary></indexterm>
<para id="autopoint"><command>autopoint</command> copie les fichiers
d'infrastructure standard gettext en un paquet source.</para>
 
<indexterm zone="ch-system-gettext config.charset"><primary sortas="b-config.charset">config.charset</primary></indexterm>
<para id="config.charset"><command>config.charset</command> affiche une table
des caractères dépendante du système.</para>
 
<indexterm zone="ch-system-gettext config.rpath"><primary sortas="b-config.rpath">config.rpath</primary></indexterm>
<para id="config.rpath"><command>config.rpath</command> affiche un ensemble de
variables dépendant du système, décrivant comment initialiser le chemin de
recherche à l'exécution des bibliothèques partagées dans un exécutable.</para>
 
<indexterm zone="ch-system-gettext envsubst"><primary sortas="b-envsubst">envsubst</primary></indexterm>
<para id="envsubst"><command>envsubst</command> substitue les variables
d'environnement dans des chaînes de format shell.</para>
 
<indexterm zone="ch-system-gettext gettext"><primary sortas="b-gettext">gettext</primary></indexterm>
<para id="gettext"><command>gettext</command> traduit un message en langue
naturelle dans la langue de l'utilisateur en recherchant la traduction dans un
catalogue de messages.</para>
 
<indexterm zone="ch-system-gettext gettextize"><primary sortas="b-gettextize">gettextize</primary></indexterm>
<para id="gettextize"><command>gettextize</command> copie tous les fichiers
standard Gettext dans le répertoire haut-niveau d'un paquet, pour
commencer son internationalisation.</para>
 
<indexterm zone="ch-system-gettext hostname-gettext"><primary sortas="b-hostname-gettext">hostname</primary></indexterm>
<para id="hostname-gettext"><command>hostname</command> affiche un nom d'hôte
réseau de différentes façons.</para>
 
<indexterm zone="ch-system-gettext msgattrib"><primary sortas="b-msgattrib">msgattrib</primary></indexterm>
<para id="msgattrib"><command>msgattrib</command> filtre les messages d'un
catalogue de traduction suivant leurs attributs, puis manipule les
attributs.</para>
 
<indexterm zone="ch-system-gettext msgcat"><primary sortas="b-msgcat">msgcat</primary></indexterm>
<para id="msgcat"><command>msgcat</command> concatène et fusionne les fichiers
<filename>.po</filename> donnés.</para>
 
<indexterm zone="ch-system-gettext msgcmp"><primary sortas="b-msgcmp">msgcmp</primary></indexterm>
<para id="msgcmp"><command>msgcmp</command> compare deux fichiers
<filename>.po</filename> pour vérifier que les deux contiennent le même
ensemble de chaînes msgid.</para>
 
<indexterm zone="ch-system-gettext msgcomm"><primary sortas="b-msgcomm">msgcomm</primary></indexterm>
<para id="msgcomm"><command>msgcomm</command> trouve les messages qui sont
communs aux fichiers <filename>.po</filename> donnés.</para>
 
<indexterm zone="ch-system-gettext msgconv"><primary sortas="b-msgconv">msgconv</primary></indexterm>
<para id="msgconv"><command>msgconv</command> convertit un catalogue
de traduction en un autre codage de caractères.</para>
 
<indexterm zone="ch-system-gettext msgen"><primary sortas="b-msgen">msgen</primary></indexterm>
<para id="msgen"><command>msgen</command> crée un catalogue de traduction
anglais.</para>
 
<indexterm zone="ch-system-gettext msgexec"><primary sortas="b-msgexec">msgexec</primary></indexterm>
<para id="msgexec"><command>msgexec</command> applique une commande pour
toutes les traductions d'un catalogue de traduction.</para>
 
<indexterm zone="ch-system-gettext msgfilter"><primary sortas="b-msgfilter">msgfilter</primary></indexterm>
<para id="msgfilter"><command>msgfilter</command> applique un filtre à toutes
les traductions d'un catalogue de traductions.</para>
 
<indexterm zone="ch-system-gettext msgfmt"><primary sortas="b-msgfmt">msgfmt</primary></indexterm>
<para id="msgfmt"><command>msgfmt</command> génère un catalogue binaire de
messages à partir d'un catalogue de traductions.</para>
 
<indexterm zone="ch-system-gettext msggrep"><primary sortas="b-msggrep">msggrep</primary></indexterm>
<para id="msggrep"><command>msggrep</command> extrait tous les messages d'un
catalogue de traductions correspondant à un modèle donné ou appartenant à
d'autres sources données.</para>
 
<indexterm zone="ch-system-gettext msginit"><primary sortas="b-msginit">msginit</primary></indexterm>
<para id="msginit"><command>msginit</command> crée un nouveau fichier
<filename>.po</filename>, initialisant la méta-information avec des valeurs de
l'environnement de l'utilisateur.</para>
 
<indexterm zone="ch-system-gettext msgmerge"><primary sortas="b-msgmerge">msgmerge</primary></indexterm>
<para id="msgmerge"><command>msgmerge</command> combine deux traductions brutes
en un seul fichier.</para>
 
<indexterm zone="ch-system-gettext msgunfmt"><primary sortas="b-msgunfmt">msgunfmt</primary></indexterm>
<para id="msgunfmt"><command>msgunfmt</command> décompile un catalogue de
messages binaire en un texte brute de la traduction.</para>
 
<indexterm zone="ch-system-gettext msguniq"><primary sortas="b-msguniq">msguniq</primary></indexterm>
<para id="msguniq"><command>msguniq</command> unifie les traductions dupliquées
en un catalgue de traduction.</para>
 
<indexterm zone="ch-system-gettext ngettext"><primary sortas="b-ngettext">ngettext</primary></indexterm>
<para id="ngettext"><command>ngettext</command> affiche les traductions dans la
langue native d'un message texte dont la forme grammaticale dépend d'un
nombre.</para>
 
<indexterm zone="ch-system-gettext xgettext"><primary sortas="b-xgettext">xgettext</primary></indexterm>
<para id="xgettext"><command>xgettext</command> extrait les lignes de message
s traductibles à partir des fichiers source donnés pour réaliser la première
tarduction de modèle.</para>
 
<indexterm zone="ch-system-gettext libasprintf"><primary sortas="c-libasprintf">libasprintf</primary></indexterm>
<para id="libasprintf"><command>libasprintf</command> définit la classe
autosprintf, qui rend les routines de sortie formattée C utilisables dans les
programmes C++ pour utiliser les chaînes &lt;string&gt; et les flux
&lt;iostream&gt;.</para>
 
<indexterm zone="ch-system-gettext libgettextlib"><primary sortas="c-libgettextlib">libgettextlib</primary></indexterm>
<para id="libgettextlib"><command>libgettextlib</command> est une bibliothèque
privée contenant les routines communes utilisées par les nombreux programmes
gettext. Ils ne sont pas fait pour une utilisation générale.</para>
 
<indexterm zone="ch-system-gettext libgettextpo"><primary sortas="c-libgettextpo">libgettextpo</primary></indexterm>
<para id="libgettextpo"><command>libgettextpo</command> est utilisé pour écrire
les programmes spécialisés qui s'occupent des fichiers PO. Cette bibliothèque
est utilisée lorsque les applications standards livrés avec gettext ne vont pas
suffire (comme msgcomm, msgcmp, msgattrib et msgen).</para>
 
<indexterm zone="ch-system-gettext libgettextsrc"><primary sortas="c-libgettextsrc">libgettextsrc</primary></indexterm>
<para id="libgettextsrc"><command>libgettextsrc</command> est une bibliothèque
privée contenant les routines communes utilisées par les nombreux programmes
gettext. Elles ne sont pas destinées à une utilisation générale.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/shadow.xml
0,0 → 1,308
<?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" xreflabel="Shadow">
<title>Shadow-&shadow-version;</title>
<?dbhtml filename="shadow.html"?>
 
<indexterm zone="ch-system-shadow"><primary sortas="a-Shadow">Shadow</primary></indexterm>
 
<para>Le paquet Shadow contient des programmes de gestion de mots de passe
d'une façon sécurisée.</para>
 
<screen>&buildtime; 0,4&nbsp;SBU
&diskspace; 11&nbsp;Mo</screen>
 
<para>L'installation de Shadow dépend de Bash, Binutils, Bison, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed.</para>
 
 
 
<sect2>
<title>Installation de Shadow</title>
 
<para>Shadow code en dur le chemin vers le binaire <command>passwd</command>
dans le binaire lui-même mais le fait de la mauvaise façon. Si un binaire
<command>passwd</command> n'est pas présent avant l'installation de Shadow, le
paquet suppose qu'il sera <filename>/bin/passwd</filename> mais il l'installe
ensuite dans <filename>/usr/bin/passwd</filename>. Ceci amène des problèmes
lors de la recherche de <filename>/bin/passwd</filename>. Pour contourner ce
bogue, créez un fichier <filename>passwd</filename> de façon à ce que son
chemin soit codé en dur correctement&nbsp;:</para>
 
<screen><userinput>touch /usr/bin/passwd</userinput></screen>
 
<para>Maintenane, 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>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Puis, installez-le&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Shadow utilise deux fichiers pour configurer les paramètrages
d'authentification du système. Installez ces deux fichiers de
configuration&nbsp;:</para>
 
<screen><userinput>cp etc/{limits,login.access} /etc</userinput></screen>
 
<para>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. Nous allons aussi avoir besoin de modifier
l'emplacement obsolète <filename class="directory">/var/spool/mail</filename>
des boîtes de courrier électronique des utilisateurs que Shadow utilise par
défaut par le nouveau <filename class="directory">/var/mail</filename> utilisé
maintenant. Nous accomplissons ces deux points en changeant le fichier de
configuration adéquat tout en le copiant à sa destination (il est certainement
mieux de couper/coller ceci plutôt que d'essayer de le taper)&nbsp;:</para>
 
<screen><userinput>sed -e 's%#MD5_CRYPT_ENAB.no%MD5_CRYPT_ENAB yes%' \
-e 's%/var/spool/mail%/var/mail%' \
etc/login.defs.linux &gt; /etc/login.defs</userinput></screen>
 
<para>Déplacez quelques liens symboliques mal placés aux bons
emplacements&nbsp;:</para>
 
<screen><userinput>mv /bin/sg /usr/bin
mv /bin/vigr /usr/sbin</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>/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 -D du programme <filename>useradd</filename> requiert ce
répertoire 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"><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
au 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, vous pouvez réinitialiser 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>
<title>Configurer le mot de passe de root</title>
 
<para>Choisissez un mot de passe pour l'utilisateur root et initialisez-le
avec&nbsp;:</para>
 
<screen><userinput>passwd root</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-shadow"><title>Contenu de Shadow</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: chage, chfn, chpasswd,
chsh, dpasswd, 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</para>
 
</sect2>
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-shadow chage"><primary sortas="b-chage">chage</primary></indexterm>
<para id="chage"><command>chage</command> est utilisé pour modifier le nombre
maximum de jours pour obliger un changement de mot de passe.</para>
 
<indexterm zone="ch-system-shadow chfn"><primary sortas="b-chfn">chfn</primary></indexterm>
<para id="chfn"><command>chfn</command> est utilisé pour modifier le nom
complet de l'utilisateur et quelques autres informations.</para>
 
<indexterm zone="ch-system-shadow chpasswd"><primary sortas="b-chpasswd">chpasswd</primary></indexterm>
<para id="chpasswd"><command>chpasswd</command> est utilisé pour mettre à jour
les mots de passe d'une série de compte en une fois.</para>
 
<indexterm zone="ch-system-shadow chsh"><primary sortas="b-chsh">chsh</primary></indexterm>
<para id="chsh"><command>chsh</command> est utilisé pour modifier le shell de
connexion par défaut d'un utilisateur.</para>
 
<indexterm zone="ch-system-shadow dpasswd"><primary sortas="b-dpasswd">dpasswd</primary></indexterm>
<para id="dpasswd"><command>dpasswd</command> est utilisé pour modifier l
e mots de passe pour les connexions par modem.</para>
 
<indexterm zone="ch-system-shadow expiry"><primary sortas="b-expiry">expiry</primary></indexterm>
<para id="expiry"><command>expiry</command> vérifie et renforce la politique
d'expiration des mots de passe.</para>
 
<indexterm zone="ch-system-shadow faillog"><primary sortas="b-faillog">faillog</primary></indexterm>
<para id="faillog"><command>faillog</command> 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 gpasswd"><primary sortas="b-gpasswd">gpasswd</primary></indexterm>
<para id="gpasswd"><command>gpasswd</command> est utilisé pour ajouter et
supprimer des membres et des administrateurs aux groupes.</para>
 
<indexterm zone="ch-system-shadow groupadd"><primary sortas="b-groupadd">groupadd</primary></indexterm>
<para id="groupadd"><command>groupadd</command> crée un groupe avec le nom
donné.</para>
 
<indexterm zone="ch-system-shadow groupdel"><primary sortas="b-groupdel">groupdel</primary></indexterm>
<para id="groupdel"><command>groupdel</command> supprime le groupe ayant le nom
donné.</para>
 
<indexterm zone="ch-system-shadow groupmod"><primary sortas="b-groupmod">groupmod</primary></indexterm>
<para id="groupmod"><command>groupmod</command> est utilisé pour modifier le
nom ou le GID du groupe.</para>
 
<indexterm zone="ch-system-shadow groups"><primary sortas="b-groups">groups</primary></indexterm>
<para id="groups"><command>groups</command> indique les groupes d'appartenance
des utilisateurs indiqués.</para>
 
<indexterm zone="ch-system-shadow grpck"><primary sortas="b-grpck">grpck</primary></indexterm>
<para id="grpck"><command>grpck</command> vérifie l'intégrité des fichiers
<filename>/etc/group</filename> et <filename>/etc/gshadow</filename>.</para>
 
<indexterm zone="ch-system-shadow grpconv"><primary sortas="b-grpconv">grpconv</primary></indexterm>
<para id="grpconv"><command>grpconv</command> crée ou met à jour le fichier
shadow à aprtir du fichier group standard.</para>
 
<indexterm zone="ch-system-shadow grpunconv"><primary sortas="b-grpunconv">grpunconv</primary></indexterm>
<para id="grpunconv"><command>grpunconv</command> met à jour
<filename>/etc/group</filename> à partir de from
<filename>/etc/gshadow</filename> et supprime ce dernier.</para>
 
<indexterm zone="ch-system-shadow lastlog"><primary sortas="b-lastlog">lastlog</primary></indexterm>
<para id="lastlog"><command>lastlog</command> indique les connexions les plus
récentes de tous les utilisateurs ou d'un utilisateur donné.</para>
 
<indexterm zone="ch-system-shadow login"><primary sortas="b-login">login</primary></indexterm>
<para id="login"><command>login</command> est utilisé par le système pour
permettre aux utilisateurs de se connecter.</para>
 
<indexterm zone="ch-system-shadow logoutd"><primary sortas="b-logoutd">logoutd</primary></indexterm>
<para id="logoutd"><command>logoutd</command> est un démon utilisé pour
renforcer les restrictions sur les temps et ports de connexion.</para>
 
<indexterm zone="ch-system-shadow mkpasswd"><primary sortas="b-mkpasswd">mkpasswd</primary></indexterm>
<para id="mkpasswd"><command>mkpasswd</command> crypte les mots de passe donnés
en utilisant la perturbation donnée.</para>
 
<indexterm zone="ch-system-shadow newgrp"><primary sortas="b-newgrp">newgrp</primary></indexterm>
<para id="newgrp"><command>newgrp</command> est utilisé pour modifier le GID
courant pendant une session de connexion.</para>
 
<indexterm zone="ch-system-shadow newusers"><primary sortas="b-newusers">newusers</primary></indexterm>
<para id="newusers"><command>newusers</command> est utilisé pour créer ou mettre
à jour toute une série de comptes utilisateur en une fois.</para>
 
<indexterm zone="ch-system-shadow passwd"><primary sortas="b-passwd">passwd</primary></indexterm>
<para id="passwd"><command>passwd</command> est utilisé pour modifier le mot de
passe d'un utilisateur ou d'un groupe.</para>
 
<indexterm zone="ch-system-shadow pwck"><primary sortas="b-pwck">pwck</primary></indexterm>
<para id="pwck"><command>pwck</command> 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 pwconv"><primary sortas="b-pwconv">pwconv</primary></indexterm>
<para id="pwconv"><command>pwconv</command> crée ou met à jour le fichier de
mots de passe shadow à partir du fichier password habituel.</para>
 
<indexterm zone="ch-system-shadow pwunconv"><primary sortas="b-pwunconv">pwunconv</primary></indexterm>
<para id="pwunconv"><command>pwunconv</command> met à
jour<filename>/etc/passwd</filename> à partir de from
<filename>/etc/shadow</filename> puis supprime ce dernier.</para>
 
<indexterm zone="ch-system-shadow sg"><primary sortas="b-sg">sg</primary></indexterm>
<para id="sg"><command>sg</command> exécute une commande donnée lors de
l'initialisation du GID de l'utilisateur à un groupe donné.</para>
 
<indexterm zone="ch-system-shadow useradd"><primary sortas="b-useradd">useradd</primary></indexterm>
<para id="useradd"><command>useradd</command> 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 userdel"><primary sortas="b-userdel">userdel</primary></indexterm>
<para id="userdel"><command>userdel</command> supprime le compte utilisateur
indiqué.</para>
 
<indexterm zone="ch-system-shadow usermod"><primary sortas="b-usermod">usermod</primary></indexterm>
<para id="usermod"><command>usermod</command> 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 vigr"><primary sortas="b-vigr">vigr</primary></indexterm>
<para id="vigr"><command>vigr</command> est utilisé pour éditer les fichiers
<filename>/etc/group</filename> ou <filename>/etc/gshadow</filename>.</para>
 
<indexterm zone="ch-system-shadow vipw"><primary sortas="b-vipw">vipw</primary></indexterm>
<para id="vipw"><command>vipw</command> est utilisé pour éditer les fichiers
<filename>/etc/passwd</filename> ou <filename>/etc/shadow</filename>.
</para>
 
<indexterm zone="ch-system-shadow libmisc"><primary sortas="c-libmisc">libmisc</primary></indexterm>
<para id="libmisc"><command>libmisc</command>...</para>
 
<indexterm zone="ch-system-shadow libshadow"><primary sortas="c-libshadow">libshadow</primary></indexterm>
<para id="libshadow"><command>libshadow</command> contient des fonctions
utilisées par la plupart des programmes dans ce paquet.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/bzip2.xml
0,0 → 1,126
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-bzip2" xreflabel="Bzip2">
<title>Bzip2-&bzip2-version;</title>
<?dbhtml filename="bzip2.html"?>
 
<indexterm zone="ch-system-bzip2"><primary sortas="a-Bzip2">Bzip2</primary></indexterm>
 
<para>Le paquet Bzip2 contient des programmes de compression et décompression
de fichiers. Pour les fichiers texte, ils obtiennent une meilleure compression
que le <command>gzip</command> traditionnel.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 3,0&nbsp;Mo</screen>
 
<para>L'installation de Bzip2 dépend de Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Make.</para>
 
 
 
<sect2>
<title>Installation de Bzip2</title>
 
<para>Préparez la compilation de Bzip2 avec&nbsp;:</para>
 
<screen><userinput>make -f Makefile-libbz2_so
make clean</userinput></screen>
 
<para>L'option <emphasis>-f</emphasis> fait que Bzip2 sera construit en
utilisant un fichier <filename>Makefile</filename> différent, dans ce cas le
fichier <filename>Makefile-libbz2_so</filename>, qui crée une bibliothèque
<filename>libbz2.so</filename> dynamique et la lie aux outils Bzip2.</para>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Si vous ré-installez Bzip2, vous devez d'abord lancer
<userinput>rm -f /usr/bin/bz*</userinput>, sinon
<command>make install</command> échouera.</para>
 
<para>Installez les programmes&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Maintenant, installez le binaire partagé <command>bzip2</command> dans le
répertoire <filename class="directory">/bin</filename>, puis créez les quelques
liens symboliques nécessaires et faites un peu de nettoyage&nbsp;:</para>
 
<screen><userinput>cp bzip2-shared /bin/bzip2
cp -a libbz2.so* /lib
ln -s ../../lib/libbz2.so.1.0 /usr/lib/libbz2.so
rm /usr/bin/{bunzip2,bzcat,bzip2}
mv /usr/bin/{bzip2recover,bzless,bzmore} /bin
ln -s bzip2 /bin/bunzip2
ln -s bzip2 /bin/bzcat</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-bzip2"><title>Contenu de Bzip2</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: bunzip2 (lien vers
bzip2), bzcat (lien vers bzip2), bzcmp, bzdiff, bzegrep, bzfgrep, bzgrep, bzip2,
bzip2recover, bzless et bzmore</para>
 
<para><emphasis>Bibliothèques installées</emphasis>&nbsp;: libbz2.a, libbz2.so
(lien vers libbz2.so.1.0), libbz2.so.1.0 (lien vers libbz2.so.&bzip2-version;)
et libbz2.so.&bzip2-version;</para>
 
</sect2>
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-bzip2 bunzip2"><primary sortas="b-bunzip2">bunzip2</primary></indexterm>
<para id="bunzip2"><command>bunzip2</command> décompresse les fichiers
bzip.</para>
 
<indexterm zone="ch-system-bzip2 bzcat"><primary sortas="b-bzcat">bzcat</primary></indexterm>
<para id="bzcat"><command>bzcat</command> décompresse vers la sortie
standard.</para>
 
<indexterm zone="ch-system-bzip2 bzcmp"><primary sortas="b-bzcmp">bzcmp</primary></indexterm>
<para id="bzcmp"><command>bzcmp</command> lance cmp sur des fichiers
bzip.</para>
 
<indexterm zone="ch-system-bzip2 bzdiff"><primary sortas="b-bzdiff">bzdiff</primary></indexterm>
<para id="bzdiff"><command>bzdiff</command> lance diff sur des fichiers
bzip.</para>
 
<indexterm zone="ch-system-bzip2 bzgrep"><primary sortas="b-bzgrep">bzgrep</primary></indexterm>
<para id="bzgrep"><command>bzgrep</command> et ses copains lancent grep sur des
fichiers bzip.</para>
 
<indexterm zone="ch-system-bzip2 bzip2"><primary sortas="b-bzip2">bzip2</primary></indexterm>
<para id="bzip2"><command>bzip2</command> compresse les fichiers en utilisant
l'algorithme Burrows-Wheeler de compression de texte par tri de blocs avec le
codage Huffman. Le taux de compression est généralement considérablement
meilleur que ceux obtenus avec des compacteurs plus traditionnels, utilisant
LZ77/LZ78, comme <command>gzip</command>.</para>
 
<indexterm zone="ch-system-bzip2 bzip2recover"><primary sortas="b-bzip2recover">bzip2recover</primary></indexterm>
<para id="bzip2recover"><command>bzip2recover</command> essaie de récupérer des
données de fichiers bzip2 endommagés.</para>
 
<indexterm zone="ch-system-bzip2 bzless"><primary sortas="b-bzless">bzless</primary></indexterm>
<para id="bzless"><command>bzless</command> lance less sur des fichiers
bzip.</para>
 
<indexterm zone="ch-system-bzip2 bzmore"><primary sortas="b-bzmore">bzmore</primary></indexterm>
<para id="bzmore"><command>bzmore</command> lance more sur des fichiers
bzip.</para>
 
<indexterm zone="ch-system-bzip2 libbz2"><primary sortas="c-libbz2*">libbz2*</primary></indexterm>
<para id="libbz2"><command>libbz2*</command> est la bibliothèque implémentant la
compression de données par tri de blocs, sans perte, en utilisant l'algorithme
Burrows-Wheeler.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/tar.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-system-tar" xreflabel="Tar">
<title>Tar-&tar-version;</title>
<?dbhtml filename="tar.html"?>
 
<indexterm zone="ch-system-tar"><primary sortas="a-Tar">Tar</primary></indexterm>
 
<para>Le paquet Tar contient un programme d'archivage.</para>
 
<screen>&buildtime; 0,2&nbsp;SBU
&diskspace; 10&nbsp;Mo</screen>
 
<para>L'installation de Tar dépend de Bash, Binutils, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed.</para>
 
 
 
<sect2>
<title>Installation de Tar</title>
 
<para>Préparez la compilation de Tar&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --bindir=/bin --libexecdir=/usr/sbin</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Maintenant, installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-tar"><title>Contenu de Tar</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: rmt et tar</para>
 
</sect2>
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-tar rmt"><primary sortas="b-rmt">rmt</primary></indexterm>
<para id="rmt"><command>rmt</command> est utilisé pour manipuler un lecteur
de bandes magnétiques via une connexion de communication interprocessus.</para>
 
<indexterm zone="ch-system-tar tar"><primary sortas="b-tar">tar</primary></indexterm>
<para id="tar"><command>tar</command> est utilisé pour créer et extraire
des fichiers à partir d'archives, connues sous le nom d'archives tar.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/ed.xml
0,0 → 1,92
<?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-ed" xreflabel="Ed">
<title>Ed-&ed-version;</title>
<?dbhtml filename="ed.html"?>
 
<indexterm zone="ch-system-ed"><primary sortas="a-Ed">Ed</primary></indexterm>
 
<para>Le paquet Ed contient un éditeur de ligne spartiate.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 3,1&nbsp;Mo</screen>
 
<para>L'installation d'Ed dépend de Bash, Binutils, Coreutils, Diffutils, GCC,
Glibc, Grep, Make, Sed.</para>
 
 
 
<sect2>
<title>Installation de Ed</title>
 
<note><para>Ed n'est pas quelque chose que beaucoup de personnes utilisent.
Il est installé ici parce qu'il est utilisé par le programme patch si vous
rencontrez des correctifs basés sur ed. Ceci arrive rarement car les
correctifs basés sur diff sont préférés ces temps-ci.</para></note>
 
<para>Ed utilise normalement la fonction <emphasis>mktemp</emphasis> pour créer
des fichiers temporaires dans <filename class="directory">/tmp</filename>, mais
cette fonction contient une vulnérabilité (voir la section sur les fichiers
temporaires dans <ulink
url="http://en.tldp.org/HOWTO/Secure-Programs-HOWTO/avoid-race.html"/>).
Appliquez le correctif suivant pour que Ed utilise à la place
<emphasis>mkstemp</emphasis>, un moyen sécurisé de créer des fichiers
temporaires&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../ed-&ed-version;-mkstemp.patch</userinput></screen>
 
<para>Maintenant, préparez la compilation de Ed&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --exec-prefix=""</userinput></screen>
 
<para>Voici la signification de l'option de configure&nbsp;:</para>
 
<itemizedlist>
<listitem><para><userinput>--exec-prefix=""</userinput>&nbsp;: ceci force
l'installation des paquets dans le répertoire <filename>/bin</filename>. Les
avoir disponibles à cet endroit est pratique au cas où la partition
<filename>/usr</filename> devient indisponible.</para></listitem>
</itemizedlist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résulats, lancez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-ed"><title>Contenu de Ed</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: ed et red (lien vers
ed)</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-ed ed"><primary sortas="b-ed">ed</primary></indexterm>
<para id="ed"><command>ed</command> est un éditeur de texte orienté
ligne. Il est utilisé pour créer, afficher, modifier et manipuler
des fichiers texte.</para>
 
<indexterm zone="ch-system-ed red"><primary sortas="b-red">red</primary></indexterm>
<para id="red"><command>red</command> est un ed restreint. Il peut seulement
éditer les fichiers du répertoires actuels et ne peut pas exécuter de commandes
shell.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/gawk.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-system-gawk" xreflabel="Gawk">
<title>Gawk-&gawk-version;</title>
<?dbhtml filename="gawk.html"?>
 
<indexterm zone="ch-system-gawk"><primary sortas="a-Gawk">Gawk</primary></indexterm>
 
<para>Le paquet Gawk contient des programmes de manipulation de fichiers
texte.</para>
 
<screen>&buildtime; 0,2&nbsp;SBU
&diskspace; 17&nbsp;Mo</screen>
 
<para>L'installation de Gawk dépend de Bash, Binutils, Coreutils, Diffutils,
GCC, Gettext, Glibc, Grep, Make, Sed.</para>
 
 
 
<sect2>
<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>Maintenant, installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-gawk"><title>Contenu de Gawk</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: awk (lien vers gawk),
gawk, gawk-&gawk-version;, grcat, igawk, pgawk, pgawk-&gawk-version; et
pwcat</para>
 
</sect2>
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-gawk gawk"><primary sortas="b-gawk">gawk</primary></indexterm>
<para id="gawk"><command>gawk</command> est un programme de manipulation de
fichiers texte. C'est une implémentation GNU d'awk.</para>
 
<indexterm zone="ch-system-gawk grcat"><primary sortas="b-grcat">grcat</primary></indexterm>
<para id="grcat"><command>grcat</command> affiche la base de données des
groupes, <filename>/etc/group</filename>.</para>
 
<indexterm zone="ch-system-gawk igawk"><primary sortas="b-igawk">igawk</primary></indexterm>
<para id="igawk"><command>igawk</command> donne à gawk la capacité d'inclure
des fichiers.</para>
 
<indexterm zone="ch-system-gawk pgawk"><primary sortas="b-pgawk">pgawk</primary></indexterm>
<para id="pgawk"><command>pgawk</command> est la version de profilage de
gawk.</para>
 
<indexterm zone="ch-system-gawk pwcat"><primary sortas="b-pwcat">pwcat</primary></indexterm>
<para id="pwcat"><command>pwcat</command> affiche la base de données des mots
de passe, <filename>/etc/passwd</filename>.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/binutils.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="ch-system-binutils" xreflabel="Binutils">
<title>Binutils-&binutils-version;</title>
<?dbhtml filename="binutils.html"?>
 
<indexterm zone="ch-system-binutils"><primary sortas="a-Binutils">Binutils</primary></indexterm>
 
<para>Le paquet Binutils contient un éditeur de liens, un assembleur et
d'autres outils pour gérer des fichiers objets.</para>
 
<screen>&buildtime; 1,4&nbsp;SBU
&diskspace; 167&nbsp;Mo</screen>
 
<para>L'installation de Binutils dépend de Bash, Coreutils, Diffutils, GCC, Gettext,
Glibc, Grep, Make, Perl, Sed, Texinfo.</para>
 
 
 
<sect2><title>Installation de Binutils</title>
 
<para>C'est maintenant le bon moment pour vérifier que vos pseudo-terminaux
(PTY) fonctionnent correctement dans l'environnement chroot. Nous allons de
nouveau vérifier rapidement que tout est bien configuré en réalisant un test
simple&nbsp;:</para>
 
<screen><userinput>expect -c "spawn ls"</userinput></screen>
 
<para>Si vous recevez le message&nbsp;:</para>
 
<blockquote><screen>The system has no more ptys. Ask your system administrator to create more.</screen></blockquote>
 
<para>c'est que votre environnement chroot n'est pas bien configuré pour les
PTY. Dans ce cas, il n'y a aucune raison de lancer les suites de tests pour
Binutils et GCC jusqu'à ce que vous soyez capable de résoudre ces problèmes.
Merci de vous référer à <xref linkend="ch-system-proc"/> et à
<xref linkend="ch-system-MAKEDEV"/> et de réaliser les étapes
recommandées pour corriger le problème.</para>
 
<para>Ce paquet est connu pour mal se comporter si vous changez les options
d'optimisation par défaut (en incluant les options -march et -mcpu). Donc, si
vous avez défini des variables d'environnement qui surchargent les optimisations
pas défaut, telles que CFLAGS et CXXFLAGS, nous vous recommandons de supprimer
ces initialisations lors de la construction de Binutils.</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>Maintenant, 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 <emphasis>tooldir</emphasis> (où finiront les
exécutables) est configuré avec $(exec_prefix)/$(target_alias), ce qui
s'étendra en, par exemple, <filename>/usr/i686-pc-linux-gnu</filename>. Comme
nous ne construisons que pour notre propre système, nous n'avons pas besoin
d'un répertoire spécifique à notre cible dans <filename>/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 <emphasis>critique</emphasis>. Notre conseil est de ne pas la
laisser passer, quelqu'en soit la raison.</para></important>
 
<para>Testez les résultats&nbsp;:</para>
 
<screen><userinput>make check</userinput></screen>
 
<para>Les notes de la suite de tests (<xref
linkend="ch-tools-binutils-pass2"/>) sont toujours appropriées ici.
Assurez-vous de vous y référer si vous avez un doute.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make tooldir=/usr install</userinput></screen>
 
<para>Installez le fichier d'en-tête <emphasis>libiberty</emphasis>, requis par
certains paquets:</para>
 
<screen><userinput>cp ../binutils-&binutils-version;/include/libiberty.h /usr/include</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-binutils"><title>Contenu de Binutils</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: addr2line, ar, as,
c++filt, gprof, ld, nm, objcopy, objdump, ranlib, readelf, size, strings et
strip</para>
 
<para><emphasis>Bibliothèques installées</emphasis>&nbsp;: libiberty.a,
libbfd.[a,so] et libopcodes.[a,so]</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-binutils addr2line"><primary sortas="b-addr2line">addr2line</primary></indexterm>
<para id="addr2line"><command>addr2line</command> traduit les adresses de
programme en noms de fichier et numéros de ligne. Suivant une adresse et le nom
d'un exécutable, il utilise les informations de déboguage disponibles dans
l'exécutable pour trouver le fichier source et le numéro de ligne associé à
cette adresse.</para>
 
<indexterm zone="ch-system-binutils ar"><primary sortas="b-ar">ar</primary></indexterm>
<para id="ar"><command>ar</command> crée, modifie et extrait des archives. Une
archive est un simple fichier contenant une collection d'autres fichiers dans
une structure qui rend possible la récupération des fichiers originaux
individuels (aussi appelés membres de l'archive).</para>
 
<indexterm zone="ch-system-binutils as"><primary sortas="b-as">as</primary></indexterm>
<para id="as"><command>as</command> est un assembleur. Il assemble la sortie
de gcc en des fichiers objet.</para>
 
<indexterm zone="ch-system-binutils c-filt"><primary sortas="b-c++filt">c++filt</primary></indexterm>
<para id="c-filt"><command>c++filt</command> est utilisé par l'éditeur de liens
pour récupérer les symboles C++ et Java, pour empêcher les fonctions
surchargées d'arrêter brutalement le programme.</para>
 
<indexterm zone="ch-system-binutils gprof"><primary sortas="b-gprof">gprof</primary></indexterm>
<para id="gprof"><command>gprof</command> affiche les données de profilage
d'appels dans un graphe.</para>
 
<indexterm zone="ch-system-binutils ld"><primary sortas="b-ld">ld</primary></indexterm>
<para id="ld"><command>ld</command> est un éditeur de liens. Il combine un
certain nombre d'objects et de fichiers archives dans 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 nm"><primary sortas="b-nm">nm</primary></indexterm>
<para id="nm"><command>nm</command> liste les symboles disponibles dans un
fichier objet.</para>
 
<indexterm zone="ch-system-binutils objcopy"><primary sortas="b-objcopy">objcopy</primary></indexterm>
<para id="objcopy"><command>objcopy</command> est utilisé pour traduire un
type de fichier objet en un autre type.</para>
 
<indexterm zone="ch-system-binutils objdump"><primary sortas="b-objdump">objdump</primary></indexterm>
<para id="objdump"><command>objdump</command> affiche des informations sur le
fichier objet donné, les options contrôlant les informations à afficher.
L'information affichée est surtout utile aux programmeurs qui travaillent sur
les outils de compilation.</para>
 
<indexterm zone="ch-system-binutils ranlib"><primary sortas="b-ranlib">ranlib</primary></indexterm>
<para id="ranlib"><command>ranlib</command> génère un index du contenu d'une
archive et le stocke dans l'archive. 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 readelf"><primary sortas="b-readelf">readelf</primary></indexterm>
<para id="readelf"><command>readelf</command> affiche des informations sur
les binaires de type elf.</para>
 
<indexterm zone="ch-system-binutils size"><primary sortas="b-size">size</primary></indexterm>
<para id="size"><command>size</command> liste les tailles de section et le
total pour les fichiers objets donnés.</para>
 
<indexterm zone="ch-system-binutils strings"><primary sortas="b-strings">strings</primary></indexterm>
<para id="strings"><command>strings</command> 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). Pour les fichiers objets, il affiche, par défaut,
seulement les chaînes des sections d'initialisation et de chargement. Pour les
autres types de fichiers, il parcourt le fichier entier.</para>
 
<indexterm zone="ch-system-binutils strip"><primary sortas="b-strip">strip</primary></indexterm>
<para id="strip"><command>strip</command> supprime les symboles des fichiers
objets.</para>
 
<indexterm zone="ch-system-binutils libiberty"><primary sortas="c-libiberty">libiberty</primary></indexterm>
<para id="libiberty"><command>libiberty</command> contient des routines
utilisées par différents programmes GNU, ceci incluant getopt, obstack,
strerror, strtol et strtoul.</para>
 
<indexterm zone="ch-system-binutils libbfd"><primary sortas="c-libbfd">libbfd</primary></indexterm>
<para id="libbfd"><command>libbfd</command> est la bibliothèque des descripteurs
de fichiers binaires (<foreignphrase>Binary File
Descriptor</foreignphrase>).</para>
 
<indexterm zone="ch-system-binutils libopcodes"><primary sortas="c-libopcodes">libopcodes</primary></indexterm>
<para id="libopcodes"><command>libopcodes</command> est une bibliothèque
de gestion des opcodes. Elle est utilisée pour construire des outils comme
objdump. Les opcodes sont le <quote>texte lisible</quote> des instructions du
processeur.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/changingowner.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="ch-system-changingowner">
<title>Changer de propriétaire</title>
<?dbhtml filename="changingowner.html"?>
 
<para>Actuellement, le répertoire <filename class="directory">/tools</filename>
appartient à l'utilisateur <emphasis>lfs</emphasis>. Néanmoins, ce compte
utilisateur existe seulement sur votre système hôte. Bien que vous puissiez
supprimer le répertoire <filename class="directory">/tools</filename> une fois
que vous avez terminé votre système LFS, vous pourriez vouloir le conserver,
par exemple pour construire d'autres systèmes LFS. Mais si vous conservez ce
répertoire tel qu'il est, vous finirez avec des fichiers appartenant à un
identifiant sans compte correspondant. Ceci est dangereux car par la suite un
compte utilisateur pourrait obtenir cet identifiant et devenir soudainement le
propriétaire du répertoire <filename class="directory">/tools</filename> et les
fichiers qu'il contient, les exposant à une manipulation détournée possible.
</para>
 
<para>Pour éviter ce problème, vous pouvez ajouter l'utilisateur
<emphasis>lfs</emphasis> dans votre nouveau système LFS en créant plus tard le
fichier <filename>/etc/passwd</filename>, et en prenant garde d'affecter le bon
identifiant utilisateur et groupe. Sinon, vous pouvez (et le livre va dans ce
sens) d'ores et déjà affecter le contenu du répertoire <filename
class="directory">/tools</filename> à l'utilisateur <emphasis>root</emphasis>:
</para>
 
<screen><userinput>chown -R 0:0 /tools</userinput></screen>
 
<para>La commande utilise <quote>0:0</quote> au lieu de
<quote>root:root</quote> car <userinput>chown</userinput> n'est pas capable de
résoudre le nom <quote>root</quote> tant que le fichier passwd n'est pas
créé.</para>
 
</sect1>
 
/tags/LFS-5_1_1/lfs/chapter06/diffutils.xml
0,0 → 1,71
<?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-diffutils" xreflabel="Diffutils">
<title>Diffutils-&diffutils-version;</title>
<?dbhtml filename="diffutils.html"?>
 
<indexterm zone="ch-system-diffutils"><primary sortas="a-Diffutils">Diffutils</primary></indexterm>
 
<para>Le paquet Diffutils contient les programmes montrant les différences
entre fichiers ou répertoires.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 7,5&nbsp;Mo</screen>
 
<para>L'installation de Diffutils dépend de Bash, Binutils, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed.</para>
 
 
 
<sect2>
<title>Installation de Diffutils</title>
 
<para>Préparez la compilation de Diffutils&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Installez-le&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-diffutils"><title>Contenu de Diffutils</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: cmp, diff, diff3 et
sdiff</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-diffutils cmp"><primary sortas="b-cmp">cmp</primary></indexterm>
<para id="cmp"><command>cmp</command> compare deux fichiers et rapporte si ou
à quels endroits ils diffèrent.</para>
 
<indexterm zone="ch-system-diffutils diff"><primary sortas="b-diff">diff</primary></indexterm>
<para id="diff"><command>diff</command> compare deux fichiers ou répertoires
et rapporte les lignes où les fichiers diffèrent.</para>
 
<indexterm zone="ch-system-diffutils diff3"><primary sortas="b-diff3">diff3</primary></indexterm>
<para id="diff3"><command>diff3</command> compare les fichiers ligne par
ligne.</para>
 
<indexterm zone="ch-system-diffutils sdiff"><primary sortas="b-sdiff">sdiff</primary></indexterm>
<para id="sdiff"><command>sdiff</command> assemble deux fichiers et affiche
interactivement le résultat.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/vim.xml
0,0 → 1,203
<?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" xreflabel="Vim">
<title>Vim-&vim-version;</title>
<?dbhtml filename="vim.html"?>
 
<indexterm zone="ch-system-vim"><primary sortas="a-Vim">Vim</primary></indexterm>
 
<para>Le paquet Vim contient un puissant éditeur de texte.</para>
 
<screen>&buildtime; 0,4&nbsp;SBU
&diskspace; 34&nbsp;Mo</screen>
 
<para>L'installation de Vim dépend de Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make, Ncurses, Sed.</para>
 
 
 
<sect2>
<title>Alternatives à Vim</title>
<para>Si vous préférez un autre éditeur à Vim, comme Emacs, Joe ou Nano, jetez
un &oelig;il à <ulink url="&blfs-root;view/stable/postlfs/editors.html"/> pour
des instructions d'installation.</para>
</sect2>
 
 
<sect2>
<title>Installation de Vim</title>
 
<para>Tout d'abord, changez les emplacements par défaut des fichiers de
configuration <filename>vimrc</filename> et <filename>gvimrc</filename>
par <filename class="directory">/etc</filename>.</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>Maintenant, préparez la compilation de Vim&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, vous pouvez lancer&nbsp;:
<userinput>make test</userinput>. Néanmoins, cette suite de tests affiche
beaucoup de caractères à l'écran et ceci peut causer des soucis sur votre
terminal. Donc, le lancement de la suite de tests est ici strictement
optionnel.</para>
 
<para>Maintenant, 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 qu'ils continuent à exécuter
<command>vim</command> alors qu'il saisissent habituellement
<command>vi</command>, créez un lien
symbolique&nbsp;:</para>
 
<screen><userinput>ln -s vim /usr/bin/vi</userinput></screen>
 
<para>Si vous comptez installer le système X Window sur votre système LFS, vous
pourriez souhaiter 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, lire la documentation de Vim.</para>
 
</sect2>
 
 
<sect2 id="conf-vim"><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 lance en mode compatible vi.
Quelques personnes pourraient ne pas apprécier ceci mais nous préférons lancer
<command>vim</command> dans son propre mode (sinon nous ne l'aurions pas inclus
dans ce livre et aurions mis à la place le <command>vi</command> original).
Nous avons inclus le paramètrage "nocompatible" pour surligner le fait que le
nouveau comportement est utilisé. Il rappelle aussi à ceux qui voudraient
passer en mode "compatible" qu'il doit apparaître avant car il modifie d'autres
paramètrages et que la surcharge doit apparaître avant ce paramètrage. Créez
un fichier de configuration vim par défaut en lançant ce qui suit&nbsp;:</para>
 
<screen><userinput>cat &gt; /etc/vimrc &lt;&lt; "EOF"</userinput>
" Début /etc/vimrc
 
set nocompatible
set backspace=2
syntax on
 
" Fin /etc/vimrc
<userinput>EOF</userinput></screen>
 
<para><emphasis>set nocompatible</emphasis> fait que
<command>vim</command> se comporte d'une façon plus utile (par défaut) qu'avec
le mode compatible vi. Supprimez le <quote>no</quote> si vous souhaitez l'ancien
comportement de <command>vi</command>. <emphasis>set backspace=2</emphasis>
permet de continuer les retours arrière sur des retours chariots, indentations
automatiques et début de l'insertion. <emphasis>syntax on</emphasis> active la
coloration syntaxique de <command>vim</command>.</para>
 
</sect2>
 
 
<sect2 id="contents-vim"><title>Contenu de Vim</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: 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</para>
 
</sect2>
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-vim efm_filter.pl"><primary sortas="b-efm_filter.pl">efm_filter.pl</primary></indexterm>
<para id="efm_filter.pl"><command>efm_filter.pl</command> est un filtre pour
créer un fichier d'erreur pouvant être lu par vim.</para>
 
<indexterm zone="ch-system-vim efm_perl.pl"><primary sortas="b-efm_perl.pl">efm_perl.pl</primary></indexterm>
<para id="efm_perl.pl"><command>efm_perl.pl</command> reformatte les messages
d'erreur de l'interpréteur Perl pour utiliser le mode <quote>quickfix</quote>
de vim.</para>
 
<indexterm zone="ch-system-vim ex"><primary sortas="b-ex">ex</primary></indexterm>
<para id="ex"><command>ex</command> lance vim en mode ex.</para>
 
<indexterm zone="ch-system-vim less.sh"><primary sortas="b-less.sh">less.sh</primary></indexterm>
<para id="less.sh"><command>less.sh</command> est un script qui lance vim avec
less.vim.</para>
 
<indexterm zone="ch-system-vim mve.awk"><primary sortas="b-mve.awk">mve.awk</primary></indexterm>
<para id="mve.awk"><command>mve.awk</command> s'occupe des erreurs vim.</para>
 
<indexterm zone="ch-system-vim pltags.pl"><primary sortas="b-pltags.pl">pltags.pl</primary></indexterm>
<para id="pltags.pl"><command>pltags.pl</command> créer un fichier de
balises pour le code Perl, utilisé par vim.</para>
 
<indexterm zone="ch-system-vim ref"><primary sortas="b-ref">ref</primary></indexterm>
<para id="ref"><command>ref</command> vérifie la validité des arguments.</para>
 
<indexterm zone="ch-system-vim rview"><primary sortas="b-rview">rview</primary></indexterm>
<para id="rview"><command>rview</command> est une version restreinte de
view&nbsp;: aucune commande shell ne peut être lancée et view ne peut pas être
suspendu.</para>
 
<indexterm zone="ch-system-vim rvim"><primary sortas="b-rvim">rvim</primary></indexterm>
<para id="rvim"><command>rvim</command> est une version restreinte de vim&nbsp;:
aucune commande shell ne peut être lancée et vim ne peut pas être
suspendu.</para>
 
<indexterm zone="ch-system-vim shtags.pl"><primary sortas="b-shtags.pl">shtags.pl</primary></indexterm>
<para id="shtags.pl"><command>shtags.pl</command> génère un fichier de balises
pour les scripts Perl.</para>
 
<indexterm zone="ch-system-vim tcltags"><primary sortas="b-tcltags">tcltags</primary></indexterm>
<para id="tcltags"><command>tcltags</command> génère un fichier de balises pour
le code TCL.</para>
 
<indexterm zone="ch-system-vim view"><primary sortas="b-view">view</primary></indexterm>
<para id="view"><command>view</command> lance vim en mode lecture seule.</para>
 
<indexterm zone="ch-system-vim vim"><primary sortas="b-vim">vim</primary></indexterm>
<para id="vim"><command>vim</command> est l'éditeur.</para>
 
<indexterm zone="ch-system-vim vim132"><primary sortas="b-vim132">vim132</primary></indexterm>
<para id="vim132"><command>vim132</command> lance vim avec le terminal en mode
132 colonnes.</para>
 
<indexterm zone="ch-system-vim vim2html.pl"><primary sortas="b-vim2html.pl">vim2html.pl</primary></indexterm>
<para id="vim2html.pl"><command>vim2html.pl</command> convertit la documentation
de vim en HTML.</para>
 
<indexterm zone="ch-system-vim vimdiff"><primary sortas="b-vimdiff">vimdiff</primary></indexterm>
<para id="vimdiff"><command>vimdiff</command> édite deux ou trois versions d'
un fichier avec vim et montre les différences.</para>
 
<indexterm zone="ch-system-vim vimm"><primary sortas="b-vimm">vimm</primary></indexterm>
<para id="vimm"><command>vimm</command> active le modèle d'entrée DEC sur un
terminal distant.</para>
 
<indexterm zone="ch-system-vim vimspell.sh"><primary sortas="b-vimspell.sh">vimspell.sh</primary></indexterm>
<para id="vimspell.sh"><command>vimspell.sh</command> est un script qui vérifie
un fichier et génère les instructions de syntaxe nécessaires pour mettre en
surlignage dans vim.</para>
 
<indexterm zone="ch-system-vim vimtutor"><primary sortas="b-vimtutor">vimtutor</primary></indexterm>
<para id="vimtutor"><command>vimtutor</command> vous apprend les touches et les
commandes basiques de vim.</para>
 
<indexterm zone="ch-system-vim xxd"><primary sortas="b-xxd">xxd</primary></indexterm>
<para id="xxd"><command>xxd</command> fait un affichage hexa du fichier donné.
Il peut aussi faire l'inverse pour une correspondance binaire.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/chapter06.xml
0,0 → 1,250
<?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-building-system" xreflabel="Chapitre 6">
<?dbhtml dir="chapter06"?>
<title>Installer les logiciels du système de base</title>
<?dbhtml filename="chapter06.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="proc.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chroot.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="changingowner.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingdirs.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="createfiles.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="pwdgroup.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="makedev.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="man-pages.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="readjusting.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="binutils.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc.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="zlib.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mktemp.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="iana-etc.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="gawk.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="vim.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="less.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="groff.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="flex.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="net-tools.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="inetutils.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="texinfo.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="autoconf.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="automake.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="file.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="libtool.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="diffutils.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ed.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kbd.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="e2fsprogs.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="grub.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="man.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="modutils.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="procinfo.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="procps.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="psmisc.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="shadow.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sysklogd.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sysvinit.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="util-linux.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc-2953.xml"/>
 
 
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="aboutdebug.xml"/>
 
 
<sect1 id="ch-system-strippingagain">
<title>Supprimer de nouveau les symboles des fichiers objets</title>
<?dbhtml filename="strippingagain.html"?>
 
<para>Si vous n'êtes pas un programmeur et que vous ne pensez pas faire de
déboguage sur vos logiciels système, vous pouvez diminuer l'espace occupé par
votre système d'environ 200&nbsp;Mo rien qu'en supprimant les symboles de
déboguages 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. Mais il est facile de faire une faute de frappe et de
rendre ainsi votre système inutilisable. Donc avant de lancer la commande
strip, une bonne idée serait de faire une sauvegarde de votre système
maintenant.</para>
 
<para>Si vous exécutez cette suppression, une attention toute particulière est
nécessaire pour vous assurer que vous n'utilisez actuellement aucun des
binaires qui vont être touchés. Si vous n'êtes pas sûr d'être entré dans le
chroot avec la commande donnée dans le <xref linkend="ch-system-chroot"/>,
alors 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>Vous pouvez maintenant supprimer les symboles des binaires et
bibliothèques 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 vous êtes réellement court en espace disque, vous pouvez utiliser
<emphasis>--strip-all</emphasis> sur les binaires de
<filename>/{,usr/}{bin,sbin}</filename> pour gagner quelques mégaoctets
supplémentaires. Mais n'utilisez <emphasis>pas</emphasis> cette option sur les
bibliothèques&nbsp;: elles seraient détruites.</para>
 
</sect1>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="revisedchroot.xml"/>
 
</chapter>
/tags/LFS-5_1_1/lfs/chapter06/grep.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="ch-system-grep" xreflabel="Grep">
<title>Grep-&grep-version;</title>
<?dbhtml filename="grep.html"?>
 
<indexterm zone="ch-system-grep"><primary sortas="a-Grep">Grep</primary></indexterm>
 
<para>Le paquet Grep contient des programmes de recherche à l'intérieur
de fichiers.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 5,8&nbsp;Mo</screen>
 
<para>L'installation de Grep dépend de Bash, Binutils, Coreutils, Diffutils,
GCC, Gettext, Glibc, Make, Sed, Texinfo.</para>
 
 
 
<sect2>
<title>Installation de Grep</title>
 
<para>Préparez la compilation de Grep&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --bindir=/bin --with-included-regex</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>Maintenant, installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-grep"><title>Contenu de Grep</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: egrep (lien vers grep),
fgrep (lien vers grep) et grep</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-grep egrep"><primary sortas="b-egrep">egrep</primary></indexterm>
<para id="egrep"><command>egrep</command> affiche les lignes correspondant
à une expression régulière étendue.</para>
 
<indexterm zone="ch-system-grep fgrep"><primary sortas="b-fgrep">fgrep</primary></indexterm>
<para id="fgrep"><command>fgrep</command> affiche des lignes correspondant à une
liste de chaînes fixes.</para>
 
<indexterm zone="ch-system-grep grep"><primary sortas="b-grep">grep</primary></indexterm>
<para id="grep"><command>grep</command> affiche des lignes correspondant à une
expression régulière basique.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/grub.xml
0,0 → 1,93
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-grub" xreflabel="Grub">
<title>Grub-&grub-version;</title>
<?dbhtml filename="grub.html"?>
 
<indexterm zone="ch-system-grub"><primary sortas="a-Grub">Grub</primary></indexterm>
 
<para>Le paquet Grub contient un chargeur de démarrage, le <foreignphrase>GRand
Unified Bootloader</foreignphrase>.</para>
 
<screen>&buildtime; 0,2&nbsp;SBU
&diskspace; 10&nbsp;Mo</screen>
 
<para>L'installation de Grub dépend de Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make, Ncurses, Sed.</para>
 
 
 
<sect2>
<title>Installation de Grub</title>
 
<para>Ce paquet est connu pour mal se comporter si vous changez les options
d'optimisation par défaut (en incluant les options -march et -mcpu). Donc, si
vous avez défini des variables d'environnement qui surchargent les optimisations
par défaut, telles que CFLAGS et CXXFLAGS, nous vous recommandons de supprimer
cette initialisation lors de la construction de Grub.</para>
 
<para>Tout d'abord, préparez la compilation de Grub&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Maintenant, installez-le&nbsp;:</para>
 
<screen><userinput>make install
mkdir /boot/grub
cp /usr/share/grub/i386-pc/stage{1,2} /boot/grub</userinput></screen>
 
<para>Remplacez <filename class="directory">i386-pc</filename> par le
répertoire adéquat pour votre matériel.</para>
 
<para>Le répertoire <filename class="directory">i386-pc</filename> contient
aussi un certain nombre de fichiers <filename>*stage1_5</filename>, différents
suivant les différents systèmes de fichiers. Jetez un &oelig;il aux fichiers
disponibles et copiez les bons dans le répertoire <filename
class="directory">/boot/grub</filename>. La plupart des gens copieront les
fichiers <filename>e2fs_stage1_5</filename> et/ou
<filename>reiserfs_stage1_5</filename>.</para>
 
</sect2>
 
 
<sect2 id="contents-grub"><title>Contenu de Grub</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: grub, grub-install,
grub-md5-crypt, grub-terminfo et mbchk</para>
 
</sect2>
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-grub grub"><primary sortas="b-grub">grub</primary></indexterm>
<para id="grub"><command>grub</command> est un shell de commande pour
Grub.</para>
 
<indexterm zone="ch-system-grub grub-install"><primary sortas="b-grub-install">grub-install</primary></indexterm>
<para id="grub-install"><command>grub-install</command> installe GRUB sur le
périphérique spécifié.</para>
 
<indexterm zone="ch-system-grub grub-md5-crypt"><primary sortas="b-grub-md5-crypt">grub-md5-crypt</primary></indexterm>
<para id="grub-md5-crypt"><command>grub-md5-crypt</command> crypte un mot de
passe au format MD5.</para>
 
<indexterm zone="ch-system-grub grub-terminfo"><primary sortas="b-grub-terminfo">grub-terminfo</primary></indexterm>
<para id="grub-terminfo"><command>grub-terminfo</command> génère une commande
terminfo à partir d'un nom terminfo. Il est utilisable si vous avez un
terminal non usuel.</para>
 
<indexterm zone="ch-system-grub mbchk"><primary sortas="b-mbchk">mbchk</primary></indexterm>
<para id="mbchk"><command>mbchk</command> vérifie le format d'un noyau
multi-boot.</para>
 
</sect2>
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/kbd.xml
0,0 → 1,205
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-kbd" xreflabel="Kbd">
<title>Kbd-&kbd-version;</title>
<?dbhtml filename="kbd.html"?>
 
<indexterm zone="ch-system-kbd"><primary sortas="a-Kbd">Kbd</primary></indexterm>
 
<para>Le paquet Kbd contient les fichiers de plan de codage et des outils pour
le clavier.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 12&nbsp;Mo</screen>
 
<para>L'installation de Kbd dépend de Bash, Binutils, Bison, Coreutils,
Diffutils, Flex, GCC, Gettext, Glibc, Grep, Gzip, M4, Make, Sed.</para>
 
 
 
<sect2>
<title>Installation de Kbd</title>
 
<para>Par défaut, certains outils de Kbd (<command>setlogcons</command>,
<command>setvesablank</command> et <command>getunimap</command>) ne sont pas
installés. Tout d'abord, activez la compilation de ces outils&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../kbd-&kbd-version;-more-programs-1.patch</userinput></screen>
 
<para>Maintenant, 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="conf-kbd"><title>Configurer votre clavier</title>
<indexterm zone="conf-kbd">
<primary sortas="a-Kbd">Kbd</primary>
<secondary>configuration</secondary></indexterm>
 
<para>Peu de choses sont plus ennuyantes qu'utiliser Linux avec un mauvais
plan de clavier. Néanmoins, si vous avez un clavier US standard, vous pouvez
passer cette section car le plan du clavier US est le plan par défaut tant que
vous ne le changez pas.</para>
 
<para>Pour changer le plan de clavier par défaut, créez le lien symbolique
<filename class="symlink">/usr/share/kbd/keymaps/defkeymap.map.gz</filename>
en lançant la commande suivante&nbsp;:</para>
 
<screen><userinput>ln -s chemin/vers/keymap /usr/share/kbd/keymaps/defkeymap.map.gz</userinput></screen>
 
<para>Bien sûr, remplacez <filename>chemin/vers/keymap</filename> avec le chemin
et le nom du fichier de votre plan de clavier. Par exemple, si vous avez un
clavier hollandais, vous devez utiliser
<filename>/usr/share/kbd/keymaps/i386/qwerty/nl.map.gz</filename>.</para
>
 
<para>Une autre façon d'initialiser votre plan de clavier est de le compiler
dans le noyau. Ceci vous assure que votre clavier fonctionnera toujours comme
vous vous y attendez, même si vous démarrez en mode maintenance (en passant
`init=/bin/sh' au noyau) car dans ce cas le script de démarrage qui initialise
le plan de clavier n'est pas lancé.</para>
 
<para>Dans le <xref linkend="chapter-bootable"/>, vous compilerez votre noyau.
Lancez la commande suivante pour corriger le plan de clavier par défaut au
niveau des sources (vous devrez recommencer cette commande à chaque fois que
vous déballez un nouveau noyau)&nbsp;:</para>
 
<screen><userinput>loadkeys -m /usr/share/kbd/keymaps/defkeymap.map.gz &gt; \
<replaceable>[unpacked sources dir]</replaceable>/linux-&linux-version;/drivers/char/defkeymap.c</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-kbd"><title>Contenu de Kbd</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: 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</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-kbd chvt"><primary sortas="b-chvt">chvt</primary></indexterm>
<para id="chvt"><command>chvt</command> change le terminal virtuel en avant
plan.</para>
 
<indexterm zone="ch-system-kbd deallocvt"><primary sortas="b-deallocvt">deallocvt</primary></indexterm>
<para id="deallocvt"><command>deallocvt</command> désalloue les terminaux
virtuels inutilisés.</para>
 
<indexterm zone="ch-system-kbd dumpkeys"><primary sortas="b-dumpkeys">dumpkeys</primary></indexterm>
<para id="dumpkeys"><command>dumpkeys</command> affiche les tables de traduction
du clavier.</para>
 
<indexterm zone="ch-system-kbd fgconsole"><primary sortas="b-fgconsole">fgconsole</primary></indexterm>
<para id="fgconsole"><command>fgconsole</command> affiche le numéro du terminal
virtuel actif.</para>
 
<indexterm zone="ch-system-kbd getkeycodes"><primary sortas="b-getkeycodes">getkeycodes</primary></indexterm>
<para id="getkeycodes"><command>getkeycodes</command> affiche la table de
correspondance des <quote>scancode</quote> avec les
<quote>keycode</quote>.</para>
 
<indexterm zone="ch-system-kbd getunimap"><primary sortas="b-getunimap">getunimap</primary></indexterm>
<para id="getunimap"><command>getunimap</command> affiche l'unimap en
cours d'utilisation.</para>
 
<indexterm zone="ch-system-kbd kbd_mode"><primary sortas="b-kbd_mode">kbd_mode</primary></indexterm>
<para id="kbd_mode"><command>kbd_mode</command> affiche ou initialise le mode
du clavier.</para>
 
<indexterm zone="ch-system-kbd kbdrate"><primary sortas="b-kbdrate">kbdrate</primary></indexterm>
<para id="kbdrate"><command>kbdrate</command> initialise les taux de
répétition et de délai du clavier.</para>
 
<indexterm zone="ch-system-kbd loadkeys"><primary sortas="b-loadkeys">loadkeys</primary></indexterm>
<para id="loadkeys"><command>loadkeys</command> charge les tables de traduction
du clavier.</para>
 
<indexterm zone="ch-system-kbd loadunimap"><primary sortas="b-loadunimap">loadunimap</primary></indexterm>
<para id="loadunimap"><command>loadunimap</command> charge la table de corres
pondance entre unicode et police.</para>
 
<indexterm zone="ch-system-kbd mapscrn"><primary sortas="b-mapscrn">mapscrn</primary></indexterm>
<para id="mapscrn"><command>mapscrn</command> est 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 setfont.</para>
 
<indexterm zone="ch-system-kbd openvt"><primary sortas="b-openvt">openvt</primary></indexterm>
<para id="openvt"><command>openvt</command> lance un programme sur un nouveau
terminal virtuel (VT).</para>
 
<indexterm zone="ch-system-kbd psf"><primary sortas="b-psf*">psf*</primary></indexterm>
<para id="psf"><command>psf*</command> sont un ensemble d'outils pour gérer
les tables de caractères Unicode pour les polices de la console.</para>
 
<indexterm zone="ch-system-kbd resizecons"><primary sortas="b-resizecons">resizecons</primary></indexterm>
<para id="resizecons"><command>resizecons</command> change l'idée du noyau sur
la taille de la console.</para>
 
<indexterm zone="ch-system-kbd setfont"><primary sortas="b-setfont">setfont</primary></indexterm>
<para id="setfont"><command>setfont</command> vous laisse modifier les
polices EGA/VGA sur la console.</para>
 
<indexterm zone="ch-system-kbd setkeycodes"><primary sortas="b-setkeycodes">setkeycodes</primary></indexterm>
<para id="setkeycodes"><command>setkeycodes</command> 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 setleds"><primary sortas="b-setleds">setleds</primary></indexterm>
<para id="setleds"><command>setleds</command> initialise les drapeaux et LED
du clavier. Beaucoup de personne trouvent utile d'avoir <quote>Num Lock</quote>
allumée par défaut, setleds +num le fait.</para>
 
<indexterm zone="ch-system-kbd setlogcons"><primary sortas="b-setlogcons">setlogcons</primary></indexterm>
<para id="setlogcons"><command>setlogcons</command> envoie les messages du
noyau sur la console.</para>
 
<indexterm zone="ch-system-kbd setmetamode"><primary sortas="b-setmetamode">setmetamode</primary></indexterm>
<para id="setmetamode"><command>setmetamode</command> définit la gestion
des touches meta du clavier.</para>
 
<indexterm zone="ch-system-kbd setvesablank"><primary sortas="b-setvesablank">setvesablank</primary></indexterm>
<para id="setvesablank"><command>setvesablank</command> vous laisse
configurer la sauvegarde d'écran matérielle (pas de grille-pains, juste un
écran vide).</para>
 
<indexterm zone="ch-system-kbd showconsolefont"><primary sortas="b-showconsolefont">showconsolefont</primary></indexterm>
<para id="showconsolefont"><command>showconsolefont</command> affiche la police
de l'écran pour la console EGA/VGA.</para>
 
<indexterm zone="ch-system-kbd showkey"><primary sortas="b-showkey">showkey</primary></indexterm>
<para id="showkey"><command>showkey</command> affiche les scancodes, keycodes
et codes ASCII des touches appuyées sur le clavier.</para>
 
<indexterm zone="ch-system-kbd unicode_start"><primary sortas="b-unicode_start">unicode_start</primary></indexterm>
<para id="unicode_start"><command>unicode_start</command> met le clavier et la
console en mode unicode.</para>
 
<indexterm zone="ch-system-kbd unicode_stop"><primary sortas="b-unicode_stop">unicode_stop</primary></indexterm>
<para id="unicode_stop"><command>unicode_stop</command> remplace le clavier et
la console dans le précédent mode unicode.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/findutils.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-system-findutils" xreflabel="Findutils">
<title>Findutils-&findutils-version;</title>
<?dbhtml filename="findutils.html"?>
 
<indexterm zone="ch-system-findutils"><primary sortas="a-Findutils">Findutils</primary></indexterm>
 
<para>Le paquet Findutils contient des programmes de recherche de fichiers.
Les processus sont fournis pour rechercher récursivement dans une hiérarchie
de répertoires et pour créer, maintenir et chercher dans une base de données
(souvent plus rapide que la recherche récursive mais moins fiable si la base de
données n'a pas été mise à jour récemment).</para>
 
<screen>&buildtime; 0,2&nbsp;SBU
&diskspace; 7,5&nbsp;Mo</screen>
 
<para>L'installation de Findutils dépend de Bash, Binutils, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed.</para>
 
 
 
<sect2>
<title>Installation de Findutils</title>
 
<para>Préparez la compilation de Findutils&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --libexecdir=/usr/lib/locate \
--localstatedir=/var/lib/misc</userinput></screen>
 
<para>La directive localstatedir ci-dessus change l'emplacement de la base de
données locate avec /var/lib/misc pour être compatible avec
FHS.</para>
 
<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>Maintenant, installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-findutils"><title>Contenu de Findutils</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: bigram, code, find,
frcode, locate, updatedb et xargs</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-findutils bigram"><primary sortas="b-bigram">bigram</primary></indexterm>
<para id="bigram"><command>bigram</command> était auparavant utilisé pour créer
les bases de données locate.</para>
 
<indexterm zone="ch-system-findutils code"><primary sortas="b-code">code</primary></indexterm>
<para id="code"><command>code</command> était auparavant utilisé pour créer
les bases de données locate. Il est l'ancêtre de frcode.</para>
 
<indexterm zone="ch-system-findutils find"><primary sortas="b-find">find</primary></indexterm>
<para id="find"><command>find</command> cherche dans les hiérarchies de
répertoires donnés les fichiers correspondant à un critère spécifié.</para>
 
<indexterm zone="ch-system-findutils frcode"><primary sortas="b-frcode">frcode</primary></indexterm>
<para id="frcode"><command>frcode</command> est appelé par updatedb pour
compacter la liste des noms de fichiers. Il utilise front-compression,
réduisant la taille de la base de données d'un facteur de 4 à 5.</para>
 
<indexterm zone="ch-system-findutils locate"><primary sortas="b-locate">locate</primary></indexterm>
<para id="locate"><command>locate</command> recherche à travers la base de
données des noms de fichiers et renvoit les noms contenant une certaine chaîne
ou correspondant à un certain modèle.</para>
 
<indexterm zone="ch-system-findutils updatedb"><primary sortas="b-updatedb">updatedb</primary></indexterm>
<para id="updatedb"><command>updatedb</command> met à jour la base de données
locate. Il parcourt le système de fichiers entier (en incluant les autres
systèmes de fichiers actuellement montés, sauf si le contraire est spécifié) et
place tous les noms de fichiers qu'ils trouvent dans la base de données.</para>
 
<indexterm zone="ch-system-findutils xargs"><primary sortas="b-xargs">xargs</primary></indexterm>
<para id="xargs"><command>xargs</command> peut être utilisé pour lancer une
commande donnée sur une liste de fichiers.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/perl.xml
0,0 → 1,195
<?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" xreflabel="Perl">
<title>Perl-&perl-version;</title>
<?dbhtml filename="perl.html"?>
 
<indexterm zone="ch-system-perl"><primary sortas="a-Perl">Perl</primary></indexterm>
 
<para>Le paquet Perl contient le langage pratique d'extraction et de rapport
(<foreignphrase>Practical Extraction and Report
Language</foreignphrase>).</para>
 
<screen>&buildtime; 2,9&nbsp;SBU
&diskspace; 143&nbsp;Mo</screen>
 
<para>L'installation de Perl dépend de Bash, Binutils, Coreutils, Diffutils,
Gawk, GCC, Glibc, Grep, Make, Sed.</para>
 
 
 
<sect2>
<title>Installation de Perl</title>
 
<para>Si vous voulez avoir un contrôle total sur la façon dont Perl est
configuré, vous pouvez lancer le script interactif <command>Configure</command>
et choisir de cette façon comment le paquet est construit. Si vous pensez
pouvoir survivre avec les valeurs par défaut qu'il détecte automatiquement,
alors 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>
 
<itemizedlist>
<listitem><para><userinput>-Dpager="/bin/less -isR"</userinput>&nbsp;: ceci
corrige une erreur dans le code perldoc avec l'appel du programme
less.</para></listitem>
</itemizedlist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Si vous souhaitez exécuter la suite de tests, vous devez tout d'abord
créer 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>Enfin, installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-perl"><title>Contenu de Perl</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: 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</para>
 
<para><emphasis>Bibliothèques installées</emphasis>&nbsp;: (trop nombreuses
pour les citer)</para>
 
</sect2>
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-perl a2p"><primary sortas="b-a2p">a2p</primary></indexterm>
<para id="a2p"><command>a2p</command> traduit awk en perl.</para>
 
<indexterm zone="ch-system-perl c2ph"><primary sortas="b-c2ph">c2ph</primary></indexterm>
<para id="c2ph"><command>c2ph</command> affiche les structures C comme si elles
étaient générées à partir de <quote>cc -g -S</quote>.</para>
 
<indexterm zone="ch-system-perl dprofpp"><primary sortas="b-dprofpp">dprofpp</primary></indexterm>
<para id="dprofpp"><command>dprofpp</command> affiche les données profile de
Perl.</para>
 
<indexterm zone="ch-system-perl en2cxs"><primary sortas="b-en2cxs">en2cxs</primary></indexterm>
<para id="en2cxs"><command>en2cxs</command> 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 find2perl"><primary sortas="b-find2perl">find2perl</primary></indexterm>
<para id="find2perl"><command>find2perl</command> traduit les commandes
find en Perl.</para>
 
<indexterm zone="ch-system-perl h2ph"><primary sortas="b-h2ph">h2ph</primary></indexterm>
<para id="h2ph"><command>h2ph</command> convertit les fichiers d'en-tête .h C
en fichier d'en-têtes .ph Perl.</para>
 
<indexterm zone="ch-system-perl h2xs"><primary sortas="b-h2xs">h2xs</primary></indexterm>
<para id="h2xs"><command>h2xs</command> convertit les fichiers d'en-têtes .h C
en extensions Perl.</para>
 
<indexterm zone="ch-system-perl libnetcfg"><primary sortas="b-libnetcfg">libnetcfg</primary></indexterm>
<para id="libnetcfg"><command>libnetcfg</command> peut être utilisé pour
configurer libnet.</para>
 
<indexterm zone="ch-system-perl perl"><primary sortas="b-perl">perl</primary></indexterm>
<para id="perl"><command>perl</command> 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 perlbug"><primary sortas="b-perlbug">perlbug</primary></indexterm>
<para id="perlbug"><command>perlbug</command> est 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 perlcc"><primary sortas="b-perlcc">perlcc</primary></indexterm>
<para id="perlcc"><command>perlcc</command> génère des exécutables à
partir des programmes Perl.</para>
 
<indexterm zone="ch-system-perl perldoc"><primary sortas="b-perldoc">perldoc</primary></indexterm>
<para id="perldoc"><command>perldoc</command> affiche une pièce 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 perlivp"><primary sortas="b-perlivp">perlivp</primary></indexterm>
<para id="perlivp"><command>perlivp</command> est 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 piconv"><primary sortas="b-piconv">piconv</primary></indexterm>
<para id="piconv"><command>piconv</command> est une version Perl du
convertisseur de codage des caractères <command>iconv</command>.</para>
 
<indexterm zone="ch-system-perl pl2pm"><primary sortas="b-pl2pm">pl2pm</primary></indexterm>
<para id="pl2pm"><command>pl2pm</command> est un outil simple pour la convertion
des fichiers Perl4 .pl en modules Perl5 .pm.</para>
 
<indexterm zone="ch-system-perl pod2html"><primary sortas="b-pod2html">pod2html</primary></indexterm>
<para id="pod2html"><command>pod2html</command> convertit des fichiers à partir
du format pod vers le format HTML.</para>
 
<indexterm zone="ch-system-perl pod2latex"><primary sortas="b-pod2latex">pod2latex</primary></indexterm>
<para id="pod2latex"><command>pod2latex</command> convertit des fichiers à
partir du format pod vers le format LaTeX.</para>
 
<indexterm zone="ch-system-perl pod2man"><primary sortas="b-pod2man">pod2man</primary></indexterm>
<para id="pod2man"><command>pod2man</command> convertit des fichiers à
partir du format pod vers une entrée formattée *roff.</para>
 
<indexterm zone="ch-system-perl pod2text"><primary sortas="b-pod2text">pod2text</primary></indexterm>
<para id="pod2text"><command>pod2text</command> convertit des fichiers à
partir du format pod vers du texte ANSI.</para>
 
<indexterm zone="ch-system-perl pod2usage"><primary sortas="b-pod2usage">pod2usage</primary></indexterm>
<para id="pod2usage"><command>pod2usage</command> affiche les messages
d'usage à partir des documents embarqués pod.</para>
 
<indexterm zone="ch-system-perl podchecker"><primary sortas="b-podchecker">podchecker</primary></indexterm>
<para id="podchecker"><command>podchecker</command> vérifie la syntaxe du format
pod des fichiers de documentation.</para>
 
<indexterm zone="ch-system-perl podselect"><primary sortas="b-podselect">podselect</primary></indexterm>
<para id="podselect"><command>podselect</command> affiche les sections
sélectionnées de la documentation pod.</para>
 
<indexterm zone="ch-system-perl psed"><primary sortas="b-psed">psed</primary></indexterm>
<para id="psed"><command>psed</command> est une version Perl de l'éditeur en
flux <userinput>sed</userinput>.</para>
 
<indexterm zone="ch-system-perl pstruct"><primary sortas="b-pstruct">pstruct</primary></indexterm>
<para id="pstruct"><command>pstruct</command> affiche les structures C générées
à partir de <quote>cc -g -S</quote>.</para>
 
<indexterm zone="ch-system-perl s2p"><primary sortas="b-s2p">s2p</primary></indexterm>
<para id="s2p"><command>s2p</command> traduit sed en perl.</para>
 
<indexterm zone="ch-system-perl splain"><primary sortas="b-splain">splain</primary></indexterm>
<para id="splain"><command>splain</command> est utilisé pour forcer la
verbosité des messages d'avertissement avec Perl.</para>
 
<indexterm zone="ch-system-perl xsubpp"><primary sortas="b-xsubpp">xsubpp</primary></indexterm>
<para id="xsubpp"><command>xsubpp</command> convertit le code Perl XS en code
C.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/libtool.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-system-libtool" xreflabel="Libtool">
<title>Libtool-&libtool-version;</title>
<?dbhtml filename="libtool.html"?>
 
<indexterm zone="ch-system-libtool"><primary sortas="a-Libtool">Libtool</primary></indexterm>
 
<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>
 
<screen>&buildtime; 1,5&nbsp;SBU
&diskspace; 20&nbsp;Mo</screen>
 
<para>L'installation de Libtool dépend de Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make, Sed.</para>
 
 
 
<sect2>
<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"><title>Contenu de Libtool</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: libtool et
libtoolize</para>
 
<para><emphasis>Bibliothèques installées</emphasis>: libltdl.[a,so].</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-libtool libtool"><primary sortas="b-libtool">libtool</primary></indexterm>
<para id="libtool"><command>libtool</command> fournit des services de
support de construction généralisée de bibliothèques.</para>
 
<indexterm zone="ch-system-libtool libtoolize"><primary sortas="b-libtoolize">libtoolize</primary></indexterm>
<para id="libtoolize"><command>libtoolize</command> fournit une façon standard
de supporter libtool dans un paquet.</para>
 
<indexterm zone="ch-system-libtool libltdl"><primary sortas="c-libltdl">libltdl</primary></indexterm>
<para id="libltdl"><command>libltdl</command> cache les nombreuses difficultés
avec dlopen sur les bibliothèques.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/procps.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-procps" xreflabel="Procps">
<title>Procps-&procps-version;</title>
<?dbhtml filename="procps.html"?>
 
<indexterm zone="ch-system-procps"><primary sortas="a-Procps">Procps</primary></indexterm>
 
<para>Le paquet Procps contient des programmes pour surveiller les
processus.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 6,2&nbsp;Mo</screen>
 
<para>L'installation de Procps dépend de Bash, Binutils, Coreutils, GCC,
Glibc, Make, Ncurses.</para>
 
 
 
<sect2>
<title>Installation de Procps</title>
 
<para>Compilez Procps&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Installez-le&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Supprimez un lien sur une bibliothèque&nbsp;:</para>
 
<screen><userinput>rm /lib/libproc.so</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-procps"><title>Contenu de Procps</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: free, kill, pgrep, pkill,
pmap, ps, skill, snice, sysctl, tload, top, uptime, vmstat, w et watch</para>
 
<para><emphasis>Bibliothèque installée</emphasis>&nbsp;: libproc.so</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-procps free"><primary sortas="b-free">free</primary></indexterm>
<para id="free"><command>free</command> 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 kill"><primary sortas="b-kill">kill</primary></indexterm>
<para id="kill"><command>kill</command> est utilisé pour envoyer des signaux aux
processus.</para>
 
<indexterm zone="ch-system-procps pgrep"><primary sortas="b-pgrep">pgrep</primary></indexterm>
<para id="pgrep"><command>pgrep</command> recherche les processus suivant
leur nom et autres attributs.</para>
 
<indexterm zone="ch-system-procps pkill"><primary sortas="b-pkill">pkill</primary></indexterm>
<para id="pkill"><command>pkill</command> envoie des signaux aux processus
suivant leur nom et autres attributs.</para>
 
<indexterm zone="ch-system-procps pmap"><primary sortas="b-pmap">pmap</primary></indexterm>
<para id="pmap"><command>pmap</command> affiche le plan mémoire du processus
désigné.</para>
 
<indexterm zone="ch-system-procps ps"><primary sortas="b-ps">ps</primary></indexterm>
<para id="ps"><command>ps</command> donne un aperçu des processus en cours
d'exécution.</para>
 
<indexterm zone="ch-system-procps skill"><primary sortas="b-skill">skill</primary></indexterm>
<para id="skill"><command>skill</command> envoit des signaux aux processus
correspondant à un critère donné.</para>
 
<indexterm zone="ch-system-procps snice"><primary sortas="b-snice">snice</primary></indexterm>
<para id="snice"><command>snice</command> modifie les priorités des processus
suivant le critère donné.</para>
 
<indexterm zone="ch-system-procps sysctl"><primary sortas="b-sysctl">sysctl</primary></indexterm>
<para id="sysctl"><command>sysctl</command> modifie les paramètres du noyau en
pleine exécution.</para>
 
<indexterm zone="ch-system-procps tload"><primary sortas="b-tload">tload</primary></indexterm>
<para id="tload"><command>tload</command> affiche un graphe de la charge système
actuelle.</para>
 
<indexterm zone="ch-system-procps top"><primary sortas="b-top">top</primary></indexterm>
<para id="top"><command>top</command> affiche les processus par ordre de
consomnation du temps CPU. Il fournit un affichage agréable sur l'activité du
processeur en temps réel.</para>
 
<indexterm zone="ch-system-procps uptime"><primary sortas="b-uptime">uptime</primary></indexterm>
<para id="uptime"><command>uptime</command> 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 vmstat"><primary sortas="b-vmstat">vmstat</primary></indexterm>
<para id="vmstat"><command>vmstat</command> 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 w"><primary sortas="b-w">w</primary></indexterm>
<para id="w"><command>w</command> affiche les utilisateurs actuellement
connectés, où et depuis quand.</para>
 
<indexterm zone="ch-system-procps watch"><primary sortas="b-watch">watch</primary></indexterm>
<para id="watch"><command>watch</command> lance une commande de manière
répétée, affichant le premier écran de sa sortie. Ceci vous permet de
surveiller la sortie.</para>
 
<indexterm zone="ch-system-procps libproc"><primary sortas="c-libproc">libproc</primary></indexterm>
<para id="libproc"><command>libproc</command> contient les fonctions utilisées
par la plupart des programmes de ce paquet.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/automake.xml
0,0 → 1,129
<?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-automake" xreflabel="Automake">
<title>Automake-&automake-version;</title>
<?dbhtml filename="automake.html"?>
 
<indexterm zone="ch-system-automake"><primary sortas="a-Automake">Automake</primary></indexterm>
 
<para>Le paquet Automake contient des programmes de génération de Makefile
à utiliser avec Autoconf.</para>
 
<screen>&buildtime; 0,2&nbsp;SBU
&diskspace; 6,8&nbsp;Mo</screen>
 
<para>L'installation d'Automake dépend de Autoconf, Bash, Coreutils,
Diffutils, Grep, M4, Make, Perl, Sed.</para>
 
 
 
<sect2>
<title>Installation de Automake</title>
 
<para>Préparez la compilation d'Automake&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>. Ceci peut prendre beaucoup de temps, environ
5&nbsp;SBU.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-automake"><title>Contenu d'Automake</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: acinstall, aclocal,
aclocal-1.8, automake, automake-1.8, compile, config.guess, config.sub,
depcomp, elisp-comp, install-sh, mdate-sh, missing, mkinstalldirs, py-compile,
symlink-tree, ylwrap</para>
 
</sect2>
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-automake acinstall"><primary sortas="b-acinstall">acinstall</primary></indexterm>
<para id="acinstall"><command>acinstall</command> est un script qui installe
des fichiers M4 style aclocal.</para>
 
<indexterm zone="ch-system-automake aclocal"><primary sortas="b-aclocal">aclocal</primary></indexterm>
<para id="aclocal"><command>aclocal</command> génère des fichiers
<filename>aclocal.m4</filename> basés sur le contenu de fichiers
<filename>configure.in</filename>.</para>
 
<indexterm zone="ch-system-automake automake"><primary sortas="b-automake">automake</primary></indexterm>
<para id="automake"><command>automake</command> est un outil pour générer
automatiquement des <filename>Makefile.in</filename> à partir de fichiers
appelés <filename>Makefile.am</filename>. Pour créer tous les fichiers
<filename>Makefile.in</filename> d'un paquet, lancez ce programme dans le
répertoire de haut niveau. En parcourant les <filename>configure.in</filename>,
il trouve automatiquement chaque <filename>Makefile.am</filename> approprié et
génère le <filename>Makefile.in</filename> correspondant.</para>
 
<indexterm zone="ch-system-automake compile"><primary sortas="b-compile">compile</primary></indexterm>
<para id="compile"><command>compile</command> est un emballage pour les
compilateurs.</para>
 
<indexterm zone="ch-system-automake config.guess"><primary sortas="b-config.guess">config.guess</primary></indexterm>
<para id="config.guess"><command>config.guess</command> est un script qui essaie
de deviner le triplet canonique pour la construction, l'hôte ou l'architecture
cible.</para>
 
<indexterm zone="ch-system-automake config.su"><primary sortas="b-config.su">config.su</primary></indexterm>
<para id="config.su"><command>config.sub</command> est une sous-routine de
script pour une validation de configuration.</para>
 
<indexterm zone="ch-system-automake depcomp"><primary sortas="b-depcomp">depcomp</primary></indexterm>
<para id="depcomp"><command>depcomp</command> est un script de compilation d'un
programme qui, en plus de la sortie désirée, génère des informations de
dépendances.</para>
 
<indexterm zone="ch-system-automake elisp-comp"><primary sortas="b-elisp-comp">elisp-comp</primary></indexterm>
<para id="elisp-comp"><command>elisp-comp</command> compile le code Lisp
Emacs.</para>
 
<indexterm zone="ch-system-automake install-sh"><primary sortas="b-install-sh">install-sh</primary></indexterm>
<para id="install-sh"><command>install-sh</command> est un script qui installe
un programme, un script ou un fichier de données.</para>
 
<indexterm zone="ch-system-automake mdate-sh"><primary sortas="b-mdate-sh">mdate-sh</primary></indexterm>
<para id="mdate-sh"><command>mdate-sh</command> est un script qui affiche
l'heure de modification d'un fichier ou répertoire.</para>
 
<indexterm zone="ch-system-automake missing"><primary sortas="b-missing">missing</primary></indexterm>
<para id="missing"><command>missing</command> est un script agissant comme
un remplaçant commun pour les programmes GNU manquants lors d'une
installation.</para>
 
<indexterm zone="ch-system-automake mkinstalldirs"><primary sortas="b-mkinstalldirs">mkinstalldirs</primary></indexterm>
<para id="mkinstalldirs"><command>mkinstalldirs</command> est un script qui
crée un ensemble de répertoires.</para>
 
<indexterm zone="ch-system-automake py-compile"><primary sortas="b-py-compile">py-compile</primary></indexterm>
<para id="py-compile"><command>py-compile</command> compile un programme
Python.</para>
 
<indexterm zone="ch-system-automake symlink-tree"><primary sortas="b-symlink-tree">symlink-tree</primary></indexterm>
<para id="symlink-tree"><command>symlink-tree</command> est un script créant un
ensemble de liens symboliques à partir d'un ensemble de répertoires.</para>
 
<indexterm zone="ch-system-automake ylwrap"><primary sortas="b-ylwrap">ylwrap</primary></indexterm>
<para id="ylwrap"><command>ylwrap</command> est un emballage pour lex et
yacc.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/man-pages.xml
0,0 → 1,50
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-man-pages" xreflabel="Man-pages">
<title>Man-pages-&man-pages-version;</title>
<?dbhtml filename="man-pages.html"?>
 
<indexterm zone="ch-system-man-pages"><primary sortas="a-Man-pages">Pages de manuel</primary></indexterm>
 
<para>Le paquet Man-pages contient plus de 1200 pages man.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 15&nbsp;Mo</screen>
 
<para>Pour son installation, Man-pages dépend de Bash, Coreutils, Make.</para>
 
 
 
<sect2>
<title>Installation de Man-pages</title>
 
<para>Installez Man-pages en lançant&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-manpages"><title>Contenu de Man-pages</title>
 
<para><emphasis>Fichiers installés</emphasis>&nbsp;: différentes pages
man</para>
 
</sect2>
 
 
<sect2><title>Courte description</title>
 
<indexterm zone="ch-system-man-pages manual-pages"><primary sortas="e-manual-pages">pages man</primary></indexterm>
<para id="manual-pages">Les <emphasis>pages man</emphasis> fournis décrivent
par exemple les fonctions C et C++, les fichiers périphériques importants et
les fichiers de configuration importants.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/gzip.xml
0,0 → 1,125
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-gzip" xreflabel="Gzip">
<title>Gzip-&gzip-version;</title>
<?dbhtml filename="gzip.html"?>
 
<indexterm zone="ch-system-gzip"><primary sortas="a-Gzip">Gzip</primary></indexterm>
 
<para>Le paquet Gzip contient des programmes de compression et décompression
de fichiers.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 2,6&nbsp;Mo</screen>
 
<para>L'installation de Gzip dépend de Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make, Sed.</para>
 
 
 
<sect2>
<title>Installation de Gzip</title>
 
<para>Préparez la compilation de Gzip&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr</userinput></screen>
 
<para>Le script <command>gzexe</command> contient, codé en dur, l'emplacement
du binaire <command>gzip</command>. Comme nous changerons plus tard
l'emplacement de ce binaire, la commande suivante nous assure que le nouvel
emplacement sera placé dans le script&nbsp;:</para>
 
<screen><userinput>cp gzexe.in{,.backup}
sed 's%"BINDIR"%/bin%' gzexe.in.backup &gt; gzexe.in</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Déplacez les programmes dans le répertoire <filename
class="directory">/bin</filename>&nbsp;:</para>
 
<screen><userinput>mv /usr/bin/gzip /bin
rm /usr/bin/{gunzip,zcat}
ln -s gzip /bin/gunzip
ln -s gzip /bin/zcat
ln -s gunzip /bin/uncompress</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-gzip"><title>Contenu de Gzip</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: gunzip (lien vers gzip),
gzexe, gzip, uncompress (lien vers gunzip), zcat (lien vers gzip), zcmp, zdiff,
zegrep, zfgrep, zforce, zgrep, zless, zmore et znew</para>
 
</sect2>
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-gzip gunzip"><primary sortas="b-gunzip">gunzip</primary></indexterm>
<para id="gunzip"><command>gunzip</command> décompresse les fichiers
gzip.</para>
 
<indexterm zone="ch-system-gzip gzexe"><primary sortas="b-gzexe">gzexe</primary></indexterm>
<para id="gzexe"><command>gzexe</command> est utilisé pour créer des fichiers
exécutables auto-extractibles.</para>
 
<indexterm zone="ch-system-gzip gzip"><primary sortas="b-gzip">gzip</primary></indexterm>
<para id="gzip"><command>gzip</command> compresse les fichiers données en
utilisant le codage Lempel-Ziv (LZ77).</para>
 
<indexterm zone="ch-system-gzip zcat"><primary sortas="b-zcat">zcat</primary></indexterm>
<para id="zcat"><command>zcat</command> décompresse les fichiers gzip donnés
sur la sortie standard.</para>
 
<indexterm zone="ch-system-gzip zcmp"><primary sortas="b-zcmp">zcmp</primary></indexterm>
<para id="zcmp"><command>zcmp</command> lance cmp sur des fichiers gzip.</para>
 
<indexterm zone="ch-system-gzip zdiff"><primary sortas="b-zdiff">zdiff</primary></indexterm>
<para id="zdiff"><command>zdiff</command> lance diff sur des fichiers
gzip.</para>
 
<indexterm zone="ch-system-gzip zegrep"><primary sortas="b-zegrep">zegrep</primary></indexterm>
<para id="zegrep"><command>zegrep</command> lance egrep sur des fichiers
gzip.</para>
 
<indexterm zone="ch-system-gzip zfgrep"><primary sortas="b-zfgrep">zfgrep</primary></indexterm>
<para id="zfgrep"><command>zfgrep</command> lance fgrep sur des fichiers
gzip.</para>
 
<indexterm zone="ch-system-gzip zforce"><primary sortas="b-zforce">zforce</primary></indexterm>
<para id="zforce"><command>zforce</command> force une extension .gz sur tous
les fichiers donnés qui sont des fichiers gzip de façon à ce que gzip ne les
compresse pas de nouveau. Ceci est utile lorsque les noms de fichiers sont
tronqués suite à un transfert de fichiers.</para>
 
<indexterm zone="ch-system-gzip zgrep"><primary sortas="b-zgrep">zgrep</primary></indexterm>
<para id="zgrep"><command>zgrep</command> lance grep sur des fichiers
gzip.</para>
 
<indexterm zone="ch-system-gzip zless"><primary sortas="b-zless">zless</primary></indexterm>
<para id="zless"><command>zless</command> lance less sur des fichiers
gzip.</para>
 
<indexterm zone="ch-system-gzip zmore"><primary sortas="b-zmore">zmore</primary></indexterm>
<para id="zmore"><command>zmore</command> lance more sur des fichiers
gzip.</para>
 
<indexterm zone="ch-system-gzip znew"><primary sortas="b-znew">znew</primary></indexterm>
<para id="znew"><command>znew</command> re-compresse les fichiers au format
compress vers le format gzip -- de l'extension .Z à .gz.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/util-linux.xml
0,0 → 1,341
<?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" xreflabel="Util-linux">
<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>
 
<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>
 
<screen>&buildtime; 0,2&nbsp;SBU
&diskspace; 16&nbsp;Mo</screen>
 
<para>L'installation d'Util-linux dépend de Bash, Binutils, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed, Zlib.</para>
 
 
 
<sect2>
<title>Notes de compatibilité FHS</title>
 
<para>Le FHS recommande d'utiliser <filename>/var/lib/hwclock</filename>
au lieu de l'habituel <filename>/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>cp hwclock/hwclock.c{,.backup}
sed 's%etc/adjtime%var/lib/hwclock/adjtime%' \
hwclock/hwclock.c.backup &gt; hwclock/hwclock.c
mkdir -p /var/lib/hwclock</userinput></screen>
 
</sect2>
 
<sect2>
<title>Installation d'Util-linux</title>
 
<para>Préparez la compilation d'Util-linux&nbsp;:</para>
 
<screen><userinput>./configure</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make HAVE_KILL=yes HAVE_SLN=yes</userinput></screen>
 
<para>Voici la signification des paramètres de make&nbsp;:</para>
 
<itemizedlist>
<listitem><para><userinput>HAVE_KILL=yes</userinput>&nbsp;: ceci empêche le
programme <command>kill</command> (déjà installé par Procps) d'être construit
et installé de nouveau.</para></listitem>
 
<listitem><para><userinput>HAVE_SLN=yes</userinput>&nbsp;: 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>
</itemizedlist>
 
<para>Maintenant, installez le paquet&nbsp;:</para>
 
<screen><userinput>make HAVE_KILL=yes HAVE_SLN=yes install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-utillinux"><title>Contenu d'Util-linux</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: 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, swapoff (lien vers
swapon), swapon, tunelp, ul, umount, vidmode (lien vers rdev), whereis et
write</para>
 
</sect2>
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-util-linux agetty"><primary sortas="b-agetty">agetty</primary></indexterm>
<para id="agetty"><command>agetty</command> ouvre un port tty, demande un nom
de connexion puis appelle le programme login.</para>
 
<indexterm zone="ch-system-util-linux arch"><primary sortas="b-arch">arch</primary></indexterm>
<para id="arch"><command>arch</command> affiche l'architecture de la
machine.</para>
 
<indexterm zone="ch-system-util-linux blockdev"><primary sortas="b-blockdev">blockdev</primary></indexterm>
<para id="blockdev"><command>blockdev</command> vous permet d'appeler les ioctl
d'un périphérique bloc à partir de la ligne de commande.</para>
 
<indexterm zone="ch-system-util-linux cal"><primary sortas="b-cal">cal</primary></indexterm>
<para id="cal"><command>cal</command> affiche un simple calendrier.</para>
 
<indexterm zone="ch-system-util-linux cfdisk"><primary sortas="b-cfdisk">cfdisk</primary></indexterm>
<para id="cfdisk"><command>cfdisk</command> est utilisé pour manipuler la table
de partition du périphérique donné.</para>
 
<indexterm zone="ch-system-util-linux chkdupexe"><primary sortas="b-chkdupexe">chkdupexe</primary></indexterm>
<para id="chkdupexe"><command>chkdupexe</command> trouve les exécutables
dupliqués.</para>
 
<indexterm zone="ch-system-util-linux col"><primary sortas="b-col">col</primary></indexterm>
<para id="col"><command>col</command> filtre les retours chariot
inversés.</para>
 
<indexterm zone="ch-system-util-linux colcrt"><primary sortas="b-colcrt">colcrt</primary></indexterm>
<para id="colcrt"><command>colcrt</command> est utilisé pour filtrer la sortie
de nroff pour les terminaux manquant de capacités comme le texte barré ou les
demi-lignes.</para>
 
<indexterm zone="ch-system-util-linux colrm"><primary sortas="b-colrm">colrm</primary></indexterm>
<para id="colrm"><command>colrm</command> filtre les colonnes données.</para>
 
<indexterm zone="ch-system-util-linux column"><primary sortas="b-column">column</primary></indexterm>
<para id="column"><command>column</command> formatte un fichier donné en de
nombreuses colonnes.</para>
 
<indexterm zone="ch-system-util-linux ctrlaltdel"><primary sortas="b-ctrlaltdel">ctrlaltdel</primary></indexterm>
<para id="ctrlaltdel"><command>ctrlaltdel</command> initialise la combinaison
des touches Ctrl+Alt+Del pour une réinitialisation matérielle ou
logicielle.</para>
 
<indexterm zone="ch-system-util-linux cytune"><primary sortas="b-cytune">cytune</primary></indexterm>
<para id="cytune"><command>cytune</command> était utilisé pour paramètrer
finement les pilotes de lignes séries des cartes Cyclades.</para>
 
<indexterm zone="ch-system-util-linux ddate"><primary sortas="b-ddate">ddate</primary></indexterm>
<para id="ddate"><command>ddate</command> donne la date discordienne ou
convertit la date grégorienne en une date discordienne.</para>
 
<indexterm zone="ch-system-util-linux dmesg"><primary sortas="b-dmesg">dmesg</primary></indexterm>
<para id="dmesg"><command>dmesg</command> affiche les messages du noyau lors du
démarrage.</para>
 
<indexterm zone="ch-system-util-linux elvtune"><primary sortas="b-elvtune">elvtune</primary></indexterm>
<para id="elvtune"><command>elvtune</command> est utilisé pour configurer
finement les performances et l'interactivité d'un périphérique bloc.</para>
 
<indexterm zone="ch-system-util-linux fdformat"><primary sortas="b-fdformat">fdformat</primary></indexterm>
<para id="fdformat"><command>fdformat</command> réalise un formattage
de bas niveau sur une disquette.</para>
 
<indexterm zone="ch-system-util-linux fdisk"><primary sortas="b-fdisk">fdisk</primary></indexterm>
<para id="fdisk"><command>fdisk</command> est utilisé pour manipuler la table de
partitions du périphérique donné.</para>
 
<indexterm zone="ch-system-util-linux fsck.cramfs"><primary sortas="b-fsck.cramfs">fsck.cramfs</primary></indexterm>
<para id="fsck.cramfs"><command>fsck.cramfs</command> 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.minix"><primary sortas="b-fsck.minix">fsck.minix</primary></indexterm>
<para id="fsck.minix"><command>fsck.minix</command> 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 getopt"><primary sortas="b-getopt">getopt</primary></indexterm>
<para id="getopt"><command>getopt</command> analyse les options sur la ligne de
commande donnée.</para>
 
<indexterm zone="ch-system-util-linux hexdump"><primary sortas="b-hexdump">hexdump</primary></indexterm>
<para id="hexdump"><command>hexdump</command> affiche le fichier indiqué en
héxadécimal ou dans un autre format donné.</para>
 
<indexterm zone="ch-system-util-linux hwclock"><primary sortas="b-hwclock">hwclock</primary></indexterm>
<para id="hwclock"><command>hwclock</command> est utilisé pour lire ou
initialiser 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 ipcrm"><primary sortas="b-ipcrm">ipcrm</primary></indexterm>
<para id="ipcrm"><command>ipcrm</command> supprime la ressource IPC
donnée.</para>
 
<indexterm zone="ch-system-util-linux ipcs"><primary sortas="b-ipcs">ipcs</primary></indexterm>
<para id="ipcs"><command>ipcs</command> fournit l'information de statut
IPC.</para>
 
<indexterm zone="ch-system-util-linux isosize"><primary sortas="b-isosize">isosize</primary></indexterm>
<para id="isosize"><command>isosize</command> affiche la taille d'un système de
fichiers iso9660.</para>
 
<indexterm zone="ch-system-util-linux line"><primary sortas="b-line">line</primary></indexterm>
<para id="line"><command>line</command> copie une simple ligne.</para>
 
<indexterm zone="ch-system-util-linux logger"><primary sortas="b-logger">logger</primary></indexterm>
<para id="logger"><command>logger</command> entre le message donné dans les
traces système.</para>
 
<indexterm zone="ch-system-util-linux look"><primary sortas="b-look">look</primary></indexterm>
<para id="look"><command>look</command> affiche les lignes commençant avec la
chaîne donnée.</para>
 
<indexterm zone="ch-system-util-linux losetup"><primary sortas="b-losetup">losetup</primary></indexterm>
<para id="losetup"><command>losetup</command> est utilisé pour initialiser et
contrôler des périphériques loop.</para>
 
<indexterm zone="ch-system-util-linux mcookie"><primary sortas="b-mcookie">mcookie</primary></indexterm>
<para id="mcookie"><command>mcookie</command> génère des cookies magiques,
nombres hexadécimaux aléatoires sur 128 bits, pour xauth.</para>
 
<indexterm zone="ch-system-util-linux mkfs"><primary sortas="b-mkfs">mkfs</primary></indexterm>
<para id="mkfs"><command>mkfs</command> est utilisé pour construire un système
de fichiers sur un périphérique (habituellement une partition du disque
dur).</para>
 
<indexterm zone="ch-system-util-linux mkfs.bfs"><primary sortas="b-mkfs.bfs">mkfs.bfs</primary></indexterm>
<para id="mkfs.bfs"><command>mkfs.bfs</command> crée un système de fichiers
bfs de SCO (Santa Cruz Operations).</para>
 
<indexterm zone="ch-system-util-linux mkfs.cramfs"><primary sortas="b-mkfs.cramfs">mkfs.cramfs</primary></indexterm>
<para id="mkfs.cramfs"><command>mkfs.cramfs</command> crée un système de
fichiers cramfs.</para>
 
<indexterm zone="ch-system-util-linux mkfs.minix"><primary sortas="b-mkfs.minix">mkfs.minix</primary></indexterm>
<para id="mkfs.minix"><command>mkfs.minix</command> crée un système de fichiers
Minix.</para>
 
<indexterm zone="ch-system-util-linux mkswap"><primary sortas="b-mkswap">mkswap</primary></indexterm>
<para id="mkswap"><command>mkswap</command> initialise le périphérique ou
le fichier à utiliser comme swap.</para>
 
<indexterm zone="ch-system-util-linux more"><primary sortas="b-more">more</primary></indexterm>
<para id="more"><command>more</command> est un filtre pour visualiser un texte
un écran à la fois. Mais less est beaucoup mieux.</para>
 
<indexterm zone="ch-system-util-linux mount"><primary sortas="b-mount">mount</primary></indexterm>
<para id="mount"><command>mount</command> attache le système de fichiers du
périphérique donné sur un répertoire spécifié (cachant du coup le contenu de ce
répertoire) dans le système de fichiers.</para>
 
<indexterm zone="ch-system-util-linux namei"><primary sortas="b-namei">namei</primary></indexterm>
<para id="namei"><command>namei</command> affiche les liens symboliques dans
les chemins donnés.</para>
 
<indexterm zone="ch-system-util-linux pg"><primary sortas="b-pg">pg</primary></indexterm>
<para id="pg"><command>pg</command> affiche un fichier texte un écran à la
fois.</para>
 
<indexterm zone="ch-system-util-linux pivot_root"><primary sortas="b-pivot_root">pivot_root</primary></indexterm>
<para id="pivot_root"><command>pivot_root</command> 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 ramsize"><primary sortas="b-ramsize">ramsize</primary></indexterm>
<para id="ramsize"><command>ramsize</command> est utilisé pour initialiser la
taille du disque RAM dans une image amorçable.</para>
 
<indexterm zone="ch-system-util-linux rdev"><primary sortas="b-rdev">rdev</primary></indexterm>
<para id="rdev"><command>rdev</command> est 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 readprofile"><primary sortas="b-readprofile">readprofile</primary></indexterm>
<para id="readprofile"><command>readprofile</command> lit les informations
de profilage du noyau.</para>
 
<indexterm zone="ch-system-util-linux rename"><primary sortas="b-rename">rename</primary></indexterm>
<para id="rename"><command>rename</command> renomme les fichiers donnés,
remplaçant une chaîne donnée par une autre.</para>
 
<indexterm zone="ch-system-util-linux renice"><primary sortas="b-renice">renice</primary></indexterm>
<para id="renice"><command>renice</command> est utilisé pour altérer la priorité
des processus exécutés.</para>
 
<indexterm zone="ch-system-util-linux rev"><primary sortas="b-rev">rev</primary></indexterm>
<para id="rev"><command>rev</command> inverse les lignes d'un fichier
donné.</para>
 
<indexterm zone="ch-system-util-linux rootflags"><primary sortas="b-rootflags">rootflags</primary></indexterm>
<para id="rootflags"><command>rootflags</command> est utilisé pour initialiser
les options racine d'une image amorçable.</para>
 
<indexterm zone="ch-system-util-linux script"><primary sortas="b-script">script</primary></indexterm>
<para id="script"><command>script</command> 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 setfdprm"><primary sortas="b-setfdprm">setfdprm</primary></indexterm>
<para id="setfdprm"><command>setfdprm</command> initialise les paramètres de
disquette fournis par l'utilisateur.</para>
 
<indexterm zone="ch-system-util-linux setsid"><primary sortas="b-setsid">setsid</primary></indexterm>
<para id="setsid"><command>setsid</command> lance le programme donné dans une
nouvelle session.</para>
 
<indexterm zone="ch-system-util-linux setterm"><primary sortas="b-setterm">setterm</primary></indexterm>
<para id="setterm"><command>setterm</command> est utilisé pour initialiser les
attributs du terminal.</para>
 
<indexterm zone="ch-system-util-linux sfdisk"><primary sortas="b-sfdisk">sfdisk</primary></indexterm>
<para id="sfdisk"><command>sfdisk</command> est un attributeur de table de
partitions disque.</para>
 
<indexterm zone="ch-system-util-linux swapdev"><primary sortas="b-swapdev">swapdev</primary></indexterm>
<para id="swapdev"><command>swapdev</command> est utilisé pour initialiser le
périphérique swap dans une image amorçable.</para>
 
<indexterm zone="ch-system-util-linux swapoff"><primary sortas="b-swapoff">swapoff</primary></indexterm>
<para id="swapoff"><command>swapoff</command> désactive 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>
<para id="swapon"><command>swapon</command> active les périphériques et
fichiers de pagination et de swap.</para>
 
<indexterm zone="ch-system-util-linux tunelp"><primary sortas="b-tunelp">tunelp</primary></indexterm>
<para id="tunelp"><command>tunelp</command> est utilisé pour paramètrer finement
une imprimante ligne.</para>
 
<indexterm zone="ch-system-util-linux ul"><primary sortas="b-ul">ul</primary></indexterm>
<para id="ul"><command>ul</command> est 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 umount"><primary sortas="b-umount">umount</primary></indexterm>
<para id="umount"><command>umount</command> déconnecte un système de fichiers à
partir de la hiérarchie de fichiers du système.</para>
 
<indexterm zone="ch-system-util-linux vidmode"><primary sortas="b-vidmode">vidmode</primary></indexterm>
<para id="vidmode"><command>vidmode</command> est utilisé pour initialiser le
mode vidéo d'une image amorçable.</para>
 
<indexterm zone="ch-system-util-linux whereis"><primary sortas="b-whereis">whereis</primary></indexterm>
<para id="whereis"><command>whereis</command> affiche l'emplacement du
binaire, les sources et la page de manuel de la commande donnée.</para>
 
<indexterm zone="ch-system-util-linux write"><primary sortas="b-write">write</primary></indexterm>
<para id="write"><command>write</command> envoit un message à l'utilisateur
donné <emphasis>sauf si</emphasis> l'utilisateur a désactivé de tels
messages.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/texinfo.xml
0,0 → 1,112
<?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" xreflabel="Texinfo">
<title>Texinfo-&texinfo-version;</title>
<?dbhtml filename="texinfo.html"?>
 
<indexterm zone="ch-system-texinfo"><primary sortas="a-Texinfo">Texinfo</primary></indexterm>
 
<para>Le paquet Texinfo contient des programmes de lecture, écriture et
de conversion de documents Info.</para>
 
<screen>&buildtime; 0,2&nbsp;SBU
&diskspace; 17&nbsp;Mo</screen>
 
<para>L'installation de Texinfo dépend de Bash, Binutils, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed.</para>
 
<sect2>
<title>Installation de Texinfo</title>
 
<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>
 
<itemizedlist>
<listitem><para><userinput>TEXMF=/usr/share/texmf</userinput>&nbsp;: la variable
TEXMF du Makefile contient l'emplacement de la racine de votre répertoire TeX
si, par exemple, vous pensez installer un paquet TeX plus
tard.</para></listitem>
</itemizedlist>
 
<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 vous avez besoin de re-créer le
fichier <filename>/usr/share/info/dir</filename>, 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"><title>Contenu de Texinfo</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: info, infokey,
install-info, makeinfo, texi2dvi et texindex</para>
 
</sect2>
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-texinfo info"><primary sortas="b-info">info</primary></indexterm>
<para id="info"><command>info</command> est utilisé pour lire les documents
Info. Les documents Info ressemblent aux pages man mais vont souvent plus loin
que la simple explication des arguments. Comparez par exemple la page man et
info de tar.</para>
 
<indexterm zone="ch-system-texinfo infokey"><primary sortas="b-infokey">infokey</primary></indexterm>
<para id="infokey"><command>infokey</command> compile un fichier source
contenant des personnalisations Info en un format binaire.</para>
 
<indexterm zone="ch-system-texinfo install-info"><primary sortas="b-install-info">install-info</primary></indexterm>
<para id="install-info"><command>install-info</command> est utilisé pour
installer les fichiers Info. Il met à jour les entrées dans le fichier index
d'Info.</para>
 
<indexterm zone="ch-system-texinfo makeinfo"><primary sortas="b-makeinfo">makeinfo</primary></indexterm>
<para id="makeinfo"><command>makeinfo</command> traduit les sources Texinfo
données dans différents autres langages&nbsp;: fichiers Info, texte ou
HTML.</para>
 
<indexterm zone="ch-system-texinfo texi2dvi"><primary sortas="b-texi2dvi">texi2dvi</primary></indexterm>
<para id="texi2dvi"><command>texi2dvi</command> est utilisé pour formatter le
document Texinfo indiqué en un fichier indépendant des périphériques, pouvant
être édité.</para>
 
<indexterm zone="ch-system-texinfo texindex"><primary sortas="b-texindex">texindex</primary></indexterm>
<para id="texindex"><command>texindex</command> est utilisé pour trier les
fichiers d'index de Texinfo.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/makedev.xml
0,0 → 1,120
<?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-MAKEDEV" xreflabel="Make_devices">
<title>Créer des périphériques avec Make_devices-&makedev-version;</title>
<?dbhtml filename="makedevices.html"?>
 
<indexterm zone="ch-system-MAKEDEV"><primary sortas="a-Make_devices">Make_devices</primary></indexterm>
 
<para>Le paquet Make_devices contient un script pour créer des n&oelig;uds de
périphériques.</para>
 
<screen>&buildtime; 1&nbsp;SBU
&diskspace; 160&nbsp;Ko</screen>
 
<para>Pour son installation, Make_devices dépend de Bash, Bzip2,
Coreutils.</para>
 
 
 
<sect2>
<title>Créer des périphériques</title>
 
<para>Notez que le déballage du fichier
<filename>make_devices-&makedev-version;.bz2</filename> ne crée pas de
répertoire pour vous car le fichier ne contient qu'un script shell.</para>
 
<para>Installez le script <filename>make_devices</filename>&nbsp;:</para>
 
<screen><userinput>bzcat make_devices-&makedev-version;.bz2 &gt;
/dev/make_devices
chmod 754 /dev/make_devices</userinput></screen>
 
<para>Les n&oelig;uds de périphériques sont des fichiers spéciaux&nbsp;: ils
peuvent générer ou revoir des données. Ils correspondent habituellement à des
pièces matérielles physiques. Les n&oelig;uds périphériques peuvent être créés
en lançant des commandes de la forme&nbsp;: <command>mknod -m mode nom type
majeur
mineur</command>. Avec une telle commande, <emphasis>mode</emphasis> est le
triplet octal des droits lecture/écriture/exécution et <emphasis>nom</emphasis>
est le nom du fichier périphérique à créer. Cela pourrait sembler surprenant
mais le nom du périphérique est totalement arbitraire si ce n'est que la
plupart des périphériques utilisent les périphériques suivant leur nom habituel
comme <filename>/dev/null</filename>. Les trois paramètres restant indiquent au
noyau à quel périphérique le n&oelig;ud fait référence. Le
<emphasis>type</emphasis> est une lettre, soit b soit c, suivant que le
périphérique est accédé bloc par bloc (comme un disque dur) ou caractère par
caractère (comme une console). <emphasis>majeur</emphasis> et
<emphasis>mineur</emphasis> sont des nombres formant ensemble un code qui
identifie le périphérique pour le noyau. Une liste des numéros de périphériques
déjà affectés est disponible dans le fichier <filename>devices.txt</filename>
intégré dans le sous-répertoire <filename
class="directory">Documentation</filename> des sources du noyau.</para>
 
<para>Notez que la même combinaison majeur/mineur est habituellement affecté
au périphérique bloc et caractère. Néanmoins, certains périphériques ne peuvent
être interchangés. Un périphérique est identifié par le triplet
type/majeur/mineur et non pas seulement par la paire majeur/mineur, donc lors
du choix d'un n&oelig;ud périphérique, il est important de choisir le bon
<emphasis>type</emphasis> de périphérique.</para>
 
<para>Parce que regarder les triplets type/majeur/mineur et utiliser
<command>mknod</command> manuellement est difficile et que l'erreur est facile,
le script <filename>make_devices</filename> a été créé. Il contient toute une
série de commandes <command>mknod</command>, une pour chaque périphérique,
complète avec le nom recommandé, l'affectation des droits et du groupe.
Il a été configuré pour que seul un ensemble minimal de périphériques ne
soit créé, les autres étant en commentaire. Ouvrez
<filename>make_devices</filename> avec un éditeur et personnalisez-le suivant
vos besoins. Ceci peut prendre du temps mais est très simple. Une fois
satisfait, lancez le script pour créer les fichiers périphériques&nbsp;:</para>
 
<warning><para>Se tromper en éditant le fichier <command>make_devices</command>
sur la correspondance avec votre configuration système (par exemple sur le
nombre de partitions) peut vous amener des erreurs de
démarrage.</para></warning>
 
<screen><userinput>cd /dev
./make_devices</userinput></screen>
 
<para>Si vous avez réussi à monter le système de fichiers devpts un peu plus
tôt dans <xref linkend="ch-system-proc"/>, vous pouvez continuer avec la
section suivante. Si vous êtiez incapable de monter devpts, vous devrez créer
quelques n&oelig;uds périphériques statiques, ptyXX et ttyXX, à la place. Pour
cela, ouvrez <filename>make_devices</filename> dans votre éditeur, allez à la
section <quote>Pseudo-TTY masters</quote> et activez quelques périphériques
ptyXX. Une poignée sera suffisante pour permettre aux suites de tests de se
lancer mais, si vous pensez lancer un noyau sans support de devpts, vous aurez
probablement besoin de beaucoup plus (chaque xterm, connexion ssh, connexion
telnet et ainsi de suite utilise un de ces peuso-terminaux). Dans la section
suivant immédiatement <quote>Pseudo-TTY slaves</quote>, activez les
périphériques ttyXX correspondants. Ceci fait, lancez
<command>./make_devices</command> à partir de <filename>/dev</filename> pour
qu'il crée les nouveaux périphériques.</para>
 
</sect2>
 
 
<sect2 id="contents-makedev"><title>Contenu de Make_devices</title>
 
<para><emphasis>Script installé</emphasis>&nbsp;: make_devices</para>
 
</sect2>
 
<sect2><title>Courte description</title>
 
<indexterm zone="ch-system-MAKEDEV make_devices"><primary
sortas="d-make_devices">make_devices</primary></indexterm>
<para id="make_devices"><command>make_devices</command> est un script pour
créer un ensemble basique de n&oelig;uds périphériques statiques, résidant
habituellement dans le répertoire <filename
class="directory">/dev</filename>.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/bash.xml
0,0 → 1,90
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-bash" xreflabel="Bash">
<title>Bash-&bash-version;</title>
<?dbhtml filename="bash.html"?>
 
<indexterm zone="ch-system-bash"><primary sortas="a-Bash">Bash</primary></indexterm>
 
<para>Le paquet Bash contient le shell Bourne-Again (Bourne-Again
SHell).</para>
 
<screen>&buildtime; 1,2&nbsp;SBU
&diskspace; 27&nbsp;Mo</screen>
 
<para>L'installation de Bash dépend de Binutils, Coreutils, Diffutils, Gawk,
GCC, Glibc, Grep, Make, Ncurses, Sed.</para>
 
<sect2>
<title>Installation de Bash</title>
 
<para>Bash a un certain nombre de bogues qui font qu'il ne se comporte pas de
la façon attendue parfois. Modifiez ce comportement avec le correctif
suivant&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../bash-&bash-version;-2.patch</userinput></screen>
 
<para>Maintenant, préparez la compilation de Bash&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --bindir=/bin</userinput></screen>
 
<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>Maintenant, lancez le nouveau programme <command>bash</command> compilé
(remplaçant celui en cours d'exécution)&nbsp;:</para>
 
<screen><userinput>exec /bin/bash --login +h</userinput></screen>
 
<para>Notez que les paramètres utilisés en font une instance interactive de
connexion (donc /etc/profile est lu, s'il existe, et le premier trouvé parmi
~/.bash_profile, ~/.bash_login et ~/.profile) et continuent de désactiver le
hachage de façon à ce que les nouveaux programmes soient découverts dès leur
disponibilité.</para>
 
</sect2>
 
 
<sect2 id="contents-bash"><title>Contenu de Bash</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: bash, sh (lien vers bash)
et bashbug</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-bash bash"><primary sortas="b-bash">bash</primary></indexterm>
<para id="bash"><command>bash</command> est un interpréteur de commandes très
utilisé. Il réalise toutes sortes d'expansions et de substitutions sur une
ligne de code donnée avant de l'exécuter, faisant de cet interpréteur un outil
puissant.</para>
 
<indexterm zone="ch-system-bash bashbug"><primary sortas="b-bashbug">bashbug</primary></indexterm>
<para id="bashbug"><command>bashbug</command> est un script shell aidant
l'utilisateur à écrire et à envoyer par courrier électronique des rapports de
bogues concernant bash dans un format standard.</para>
 
<indexterm zone="ch-system-bash sh"><primary sortas="b-sh">sh</primary></indexterm>
<para id="sh"><command>sh</command> est un lien symbolique vers le programme
bash. Appelé en tant que sh, bash essaie de copier du mieux possible le
comportement du début des versions historiques de sh tout en se conformant au
standard POSIX.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/creatingdirs.xml
0,0 → 1,67
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-creatingdirs">
<title>Créer les répertoires</title>
<?dbhtml filename="creatingdirs.html"?>
 
<para>Créons maintenant la hiérarchie de répertoires sur notre système de
fichiers LFS. Lancer les commandes suivantes pour créer une hiérarchie
de répertoires plus ou moins standard :</para>
<screen><userinput>mkdir -p /{bin,boot,dev/{pts,shm},etc/opt,home,lib,mnt,proc}
mkdir -p /{root,sbin,srv,tmp,usr/local,var,opt}
mkdir -p /media/{floppy,cdrom}
mkdir /usr/{bin,include,lib,sbin,share,src}
ln -s share/{man,doc,info} /usr
mkdir /usr/share/{doc,info,locale,man}
mkdir /usr/share/{misc,terminfo,zoneinfo}
mkdir /usr/share/man/man{1,2,3,4,5,6,7,8}
mkdir /usr/local/{bin,etc,include,lib,sbin,share,src}
ln -s share/{man,doc,info} /usr/local
mkdir /usr/local/share/{doc,info,locale,man}
mkdir /usr/local/share/{misc,terminfo,zoneinfo}
mkdir /usr/local/share/man/man{1,2,3,4,5,6,7,8}
mkdir /var/{lock,log,mail,run,spool}
mkdir -p /var/{tmp,opt,cache,lib/misc,local}
mkdir /opt/{bin,doc,include,info}
mkdir -p /opt/{lib,man/man{1,2,3,4,5,6,7,8}}</userinput></screen>
 
<para>Par défaut, les répertoires sont créés avec les droits 755, ce
qui n'est pas souhaitable pour tous les répertoires. Nous allons réaliser deux
changements&nbsp;: un pour le répertoire principal de <emphasis>root</emphasis>
et un autre pour les répertoires des fichiers temporaires.</para>
 
<screen><userinput>chmod 0750 /root
chmod 1777 /tmp /var/tmp</userinput></screen>
 
<para>Le premier changement de droit nous assure que n'importe qui ne
pourra pas entrer dans le répertoire <filename
class="directory">/root</filename>
(de façon identique à un utilisateur pour son répertoire principal).
Le deuxième changement assure que tout utilisateur peut écrire dans les
répertoires <filename class="directory">/tmp</filename> et
<filename class="directory">/var/tmp</filename>, mais ne peut pas supprimer
les fichiers des autres utilisateurs. Cette dernière interdiction est dûe au
<quote>sticky bit</quote>, le bit le plus haut dans le masque 1777.</para>
 
<sect2>
<title>Remarques à propos de la conformité FHS</title>
 
<para>Nous avons basé notre arborescence de répertoires sur le standard FHS
(disponible sur <ulink url="http://www.pathname.com/fhs/"/>). En plus de cette
arborescence, ce standard stipule l'existence de
<filename class="directory">/usr/local/games</filename> et
<filename class="directory">/usr/share/games</filename>, mais nous ne voyons pas
l'intérêt de ceux-ci pour un système de base. Néanmoins, vous êtes libres de
rendre votre système compatible FHS. En ce qui concerne la structure du
sous-répertoire <filename class="directory">/usr/local/share</filename>, le
FHS est imprécis, donc nous créons ici les répertoires qui nous semblent
nécessaires.</para>
 
</sect2>
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/m4.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-system-m4" xreflabel="M4">
<title>M4-&m4-version;</title>
<?dbhtml filename="m4.html"?>
 
<indexterm zone="ch-system-m4"><primary sortas="a-M4">M4</primary></indexterm>
 
<para>Le paquet M4 contient un processeur de macros.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 3,0&nbsp;Mo</screen>
 
<para>L'installation de M4 dépend de Bash, Binutils, Coreutils, Diffutils, GCC,
Gettext, Glibc, Grep, Make, Perl, Sed.</para>
 
 
 
<sect2>
<title>Installation de M4</title>
 
<para>Préparez la compilation de M4&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>Et installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-m4"><title>Contenu de M4</title>
 
<para><emphasis>Programme installé</emphasis>&nbsp;: m4</para>
 
</sect2>
 
<sect2><title>Courte description</title>
 
<indexterm zone="ch-system-m4 m4"><primary sortas="b-m4">m4</primary></indexterm>
<para id="m4"><command>m4</command> copie les fichiers donnés pendant
l'expansion des macros qu'ils contiennent. Ces macros sont soit internes soit
définies par l'utilisateur et peuvent prendre un nombre illimité d'arguments.
En plus de la simple expansion de macros, m4 dispose de fonctions pour inclure
des fichiers, lancer des commandes Unix, faire des opérations arithmétiques,
manipuler du texte de nombreuses façon, connaît la récursion et ainsi de suite.
Le programme m4 peut être utilisé soit comme interface d'un compilateur soit
comme processeur de macros.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/glibc.xml
0,0 → 1,454
<?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" xreflabel="Glibc">
<title>Glibc-&glibc-version;</title>
<?dbhtml filename="glibc.html"?>
 
<indexterm zone="ch-system-glibc"><primary sortas="a-Glibc">Glibc</primary></indexterm>
 
<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>
 
<screen>&buildtime; 12,3&nbsp;SBU
&diskspace; 784&nbsp;Mo</screen>
 
<para>L'installation de Glibc dépend de Bash, Binutils, Coreutils, Diffutils,
Gawk, GCC, Gettext, Grep, Make, Perl, Sed, Texinfo.</para>
 
 
 
<sect2>
<title>Installation de Glibc</title>
 
<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>/tools</filename>. Nous ne pouvons pas
ajuster specs et éditeur de liens 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>Avant de commencer à construire Glibc, rappelez-vous de ré-initialiser
toutes les variables d'environnements qui surchargent les options
d'optimisation par défaut.</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>Maintenant, préparez la compilation de Glibc&nbsp;:</para>
 
<screen><userinput>../glibc-&glibc-version;/configure --prefix=/usr \
--disable-profile --enable-add-ons=linuxthreads \
--libexecdir=/usr/lib --with-headers=/usr/include \
--without-cvs</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<itemizedlist>
<listitem><para><userinput>--libexecdir=/usr/lib</userinput>&nbsp;: 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</filename>. L'utilisation de
<emphasis>libexec</emphasis> n'est pas considérée compatible avec le FHS parce
que FHS ne le mentionne même pas.</para></listitem>
 
<listitem><para><userinput>--with-headers=/usr/include</userinput>&nbsp;: ceci
nous assure que les en-têtes du noyau situés dans
<filename>/usr/include</filename> sont utilisés pour cette construction. Si
vous ne passez pas cette option, alors les en-têtes provenant de
<filename>/tools/include</filename> sont utilisés ce qui n'est pas idéal (bien
qu'ils soient identiques). Utiliser cette option a l'avantage que vous serez
immédiatement informé si vous avez oublié d'installer les en-têtes du noyau dans
<filename>/usr/include</filename>.</para></listitem>
</itemizedlist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<important><para>La suite de tests de Glibc dans cette section est considérée
comme <emphasis>critique</emphasis>. Notre conseil est de ne pas la laisser
passer quelque soient les circonstances.</para></important>
 
<para>Testez les résultats&nbsp;:</para>
 
<screen><userinput>make check</userinput></screen>
 
<para>Les notes sur la suite de tests, disponibles sur <xref
linkend="ch-tools-glibc"/>, sont toujours appropriées ici. Assurez-vous de
vous y référer si vous avez un doute.</para>
 
<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 petit message bien ennuyant avec&nbsp;:</para>
 
<screen><userinput>touch /etc/ld.so.conf</userinput></screen>
 
<para>Et, 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. Faites-le avec
ceci&nbsp;:</para>
 
<screen><userinput>make localedata/install-locales</userinput></screen>
 
<para>Une alternative à la commande précédente est d'installer uniquement les
locales que vous souhaitez. Ceci se fait en utilisant la commande
<command>localedef</command>. Des informations là-dessus 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 install-locales 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>Enfin, construisez les pages man de linuxthreads&nbsp;:</para>
 
<screen><userinput>make -C ../glibc-&glibc-version;/linuxthreads/man</userinput></screen>
 
<para>Et installez ces pages&nbsp;:</para>
 
<screen><userinput>make -C ../glibc-&glibc-version;/linuxthreads/man install</userinput></screen>
 
</sect2>
 
 
<sect2 id="conf-glibc"><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>Nous allons créer le fichier <filename>/etc/nsswitch.conf</filename>
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, notre 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"</userinput>
# 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
<userinput>EOF</userinput></screen>
 
<para>Pour trouver dans quel fuseau horaire vous vous trouvez, lancez le
script suivant&nbsp;:</para>
 
<screen><userinput>tzselect</userinput></screen>
 
<para>Lorsque vous aurez répondu à quelques questions sur votre emplacement, le
script affichera le nom de votre 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/Canada/Eastern /etc/localtime</userinput></screen>
 
<para>Voici la signification de l'option&nbsp;:</para>
 
<itemizedlist>
<listitem><para><userinput>--remove-destination</userinput>&nbsp;: 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>/usr</filename> serait
une partition séparée. Ceci pourrait arriver, par exemple, en démarrant en mode
simple utilisateur.</para></listitem>
</itemizedlist>
 
<para>Bien sur, au lieu de <emphasis>Canada/Eastern</emphasis>, placez le nom
de votre fuseau horaire, celui que le script <command>tzselect</command> vous a
donné.</para>
 
</sect2>
 
 
<sect2 id="conf-ld">
<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>/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>, vous avez besoin de les
ajouter 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 nous ajoutons 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"</userinput>
# Début /etc/ld.so.conf
 
/usr/local/lib
/opt/lib
 
# Fin /etc/ld.so.conf
<userinput>EOF</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-glibc"><title>Contenu de Glibc</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: catchsegv, gencat,
getconf, getent, glibcbug, iconv, iconvconfig, ldconfig, ldd, lddlibc4, locale,
localedef, mtrace, nscd, nscd_nischeck, pcprofiledump, pt_chown, rpcgen,
rpcinfo, sln, sprof, tzselect, xtrace, zdump et zic</para>
 
<para><emphasis>Bibliothèques installées</emphasis>&nbsp;: ld.so,
libBrokenLocale.[a,so], libSegFault.so, libanl.[a,so], libbsd-compat.a,
libc.[a,so], libc_nonshared.a, 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]</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-glibc catchsegv"><primary sortas="b-catchsegv">catchsegv</primary></indexterm>
<para id="catchsegv"><command>catchsegv</command> est 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 gencat"><primary sortas="b-gencat">gencat</primary></indexterm>
<para id="gencat"><command>gencat</command> génère des catalogues de
messages.</para>
 
<indexterm zone="ch-system-glibc getconf"><primary sortas="b-getconf">getconf</primary></indexterm>
<para id="getconf"><command>getconf</command> affiche les valeurs de
configuration du système pour les variables spécifiques du système de
fichiers.</para>
 
<indexterm zone="ch-system-glibc getent"><primary sortas="b-getent">getent</primary></indexterm>
<para id="getent"><command>getent</command> récupère les entrées à partir
d'une base de données administrative.</para>
 
<indexterm zone="ch-system-glibc glibcbug"><primary sortas="b-glibcbug">glibcbug</primary></indexterm>
<para id="glibcbug"><command>glibcbug</command> crée un rapport de bogue et
l'envoie à l'adresse électronique bug.</para>
 
<indexterm zone="ch-system-glibc iconv"><primary sortas="b-iconv">iconv</primary></indexterm>
<para id="iconv"><command>iconv</command> réalise une conversion de
l'ensemble des caractères.</para>
 
<indexterm zone="ch-system-glibc iconvconfig"><primary sortas="b-iconvconfig">iconvconfig</primary></indexterm>
<para id="iconvconfig"><command>iconvconfig</command> crée un fichier de
configuration pour le module iconv fastloading.</para>
 
<indexterm zone="ch-system-glibc ldconfig"><primary sortas="b-ldconfig">ldconfig</primary></indexterm>
<para id="ldconfig"><command>ldconfig</command> configure les liens du chargeur
dynamique.</para>
 
<indexterm zone="ch-system-glibc ldd"><primary sortas="b-ldd">ldd</primary></indexterm>
<para id="ldd"><command>ldd</command> indique les bibliothèques partagées
requises pour chaque programme ou bibliothèque partagée.</para>
 
<indexterm zone="ch-system-glibc lddlibc4"><primary sortas="b-lddlibc4">lddlibc4</primary></indexterm>
<para id="lddlibc4"><command>lddlibc4</command> assiste ldd avec les fichiers
objets.</para>
 
<indexterm zone="ch-system-glibc locale"><primary sortas="b-locale">locale</primary></indexterm>
<para id="locale"><command>locale</command> est un programme Perl indiquant au
compilateur d'activer ou de désactiver l'utilisation des locales POSIX pour
les opérations internes.</para>
 
<indexterm zone="ch-system-glibc localedef"><primary sortas="b-localedef">localedef</primary></indexterm>
<para id="localedef"><command>localedef</command> compile les spécifications de
locale.</para>
 
<indexterm zone="ch-system-glibc mtrace"><primary sortas="b-mtrace">mtrace</primary></indexterm>
<para id="mtrace"><command>mtrace</command>...</para>
 
<indexterm zone="ch-system-glibc nscd"><primary sortas="b-nscd">nscd</primary></indexterm>
<para id="nscd"><command>nscd</command> est 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_nischeck"><primary sortas="b-nscd_nischeck">nscd_nischeck</primary></indexterm>
<para id="nscd_nischeck"><command>nscd_nischeck</command> vérifie si le mode
sécurisé est nécessaire pour les recherches NIS+.</para>
 
<indexterm zone="ch-system-glibc pcprofiledump"><primary sortas="b-pcprofiledump">pcprofiledump</primary></indexterm>
<para id="pcprofiledump"><command>pcprofiledump</command> affiche des
informations générées par un profilage du PC.</para>
 
<indexterm zone="ch-system-glibc pt_chown"><primary sortas="b-pt_chown">pt_chown</primary></indexterm>
<para id="pt_chown"><command>pt_chown</command> est un programme d'aide de
grantpt pour initialiser les droits des propriétaires, groupes et autres d'un
pseudo-terminal esclave.</para>
 
<indexterm zone="ch-system-glibc rpcgen"><primary sortas="b-rpcgen">rpcgen</primary></indexterm>
<para id="rpcgen"><command>rpcgen</command> génère du code C pour implémenter
le protocole RPC.</para>
 
<indexterm zone="ch-system-glibc rpcinfo"><primary sortas="b-rpcinfo">rpcinfo</primary></indexterm>
<para id="rpcinfo"><command>rpcinfo</command> fait un appel RPC à un serveur
RPC.</para>
 
<indexterm zone="ch-system-glibc sln"><primary sortas="b-sln">sln</primary></indexterm>
<para id="sln"><command>sln</command> est utilisé pour créer des liens
symboliques. Le programme est lié statiquement, donc il est utile pour créer des
liens symboliques vers des bibliothèques dynamiques si le système de liens
dynamiques n'est pas fonctionnel.</para>
 
<indexterm zone="ch-system-glibc sprof"><primary sortas="b-sprof">sprof</primary></indexterm>
<para id="sprof"><command>sprof</command> lit et affiche les données de
profilage des objets partagés.</para>
 
<indexterm zone="ch-system-glibc tzselect"><primary sortas="b-tzselect">tzselect</primary></indexterm>
<para id="tzselect"><command>tzselect</command> demande à l'utilisateur
l'emplacement géographique du système et donne la description du fuseau horaire
correspondante.</para>
 
<indexterm zone="ch-system-glibc xtrace"><primary sortas="b-xtrace">xtrace</primary></indexterm>
<para id="xtrace"><command>xtrace</command> trace l'exécution d'un programme
en affichant la fonction en cours d'exécution.</para>
 
<indexterm zone="ch-system-glibc zdump"><primary sortas="b-zdump">zdump</primary></indexterm>
<para id="zdump"><command>zdump</command> est un afficheur de zone
horaire.</para>
 
<indexterm zone="ch-system-glibc zic"><primary sortas="b-zic">zic</primary></indexterm>
<para id="zic"><command>zic</command> est le compilateur du fuseau horaire.</para>
 
<indexterm zone="ch-system-glibc ld.so"><primary sortas="c-ld.so">ld.so</primary></indexterm>
<para id="ld.so"><command>ld.so</command> est le programme d'aide des
bibliothèques partagées exécutables.</para>
 
<indexterm zone="ch-system-glibc libBrokenLocale"><primary sortas="c-libBrokenLocale">libBrokenLocale</primary></indexterm>
<para id="libBrokenLocale"><command>libBrokenLocale</command> est utilisé par
des programmes comme Mozilla pour résoudre les locales cassées.</para>
 
<indexterm zone="ch-system-glibc libSegFault"><primary sortas="c-libSegFault">libSegFault</primary></indexterm>
<para id="libSegFault"><command>libSegFault</command> est un gestionnaire
de signaux d'erreurs de segmentation. Il essaie de capturer ce type
d'erreurs.</para>
 
<indexterm zone="ch-system-glibc libanl"><primary sortas="c-libanl">libanl</primary></indexterm>
<para id="libanl"><command>libanl</command> est une bibliothèque asynchrone de
recherche de noms.</para>
 
<indexterm zone="ch-system-glibc libbsd-compat"><primary sortas="c-libbsd-compat">libbsd-compat</primary></indexterm>
<para id="libbsd-compat"><command>libbsd-compat</command> fournit la portabilité
nécessaire pour faire fonctionner certains programmes BSD sous Linux.</para>
 
<indexterm zone="ch-system-glibc libc"><primary sortas="c-libc">libc</primary></indexterm>
<para id="libc"><command>libc</command> est la principale bibliothèque C -- une
collection des fonctions utilisées habituellement.</para>
 
<indexterm zone="ch-system-glibc libcrypt"><primary sortas="c-libcrypt">libcrypt</primary></indexterm>
<para id="libcrypt"><command>libcrypt</command> est la bibliothèque
de cryptographie.</para>
 
<indexterm zone="ch-system-glibc libdl"><primary sortas="c-libdl">libdl</primary></indexterm>
<para id="libdl"><command>libdl</command> est la bibliothèque d'interface du
chargeur dynamique.</para>
 
<indexterm zone="ch-system-glibc libg"><primary sortas="c-libg">libg</primary></indexterm>
<para id="libg"><command>libg</command> est la bibliothèque d'exécution de
g++.</para>
 
<indexterm zone="ch-system-glibc libieee"><primary sortas="c-libieee">libieee</primary></indexterm>
<para id="libieee"><command>libieee</command> est la bibliothèque des nombres
flottants IEEE.</para>
 
<indexterm zone="ch-system-glibc libm"><primary sortas="c-libm">libm</primary></indexterm>
<para id="libm"><command>libm</command> est la bibliothèque mathématique.</para>
 
<indexterm zone="ch-system-glibc libmcheck"><primary sortas="c-libmcheck">libmcheck</primary></indexterm>
<para id="libmcheck"><command>libmcheck</command> contient du code à
lancer au démarrage.</para>
 
<indexterm zone="ch-system-glibc libmemusage"><primary sortas="c-libmemusage">libmemusage</primary></indexterm>
<para id="libmemusage"><command>libmemusage</command> est utilisé par memusage
pour collecter des informations sur l'utilisation mémoire d'un programme.</para>
 
<indexterm zone="ch-system-glibc libnsl"><primary sortas="c-libnsl">libnsl</primary></indexterm>
<para id="libnsl"><command>libnsl</command> est la bibliothèque de services
réseau.</para>
 
<indexterm zone="ch-system-glibc libnss"><primary sortas="c-libnss*">libnss*</primary></indexterm>
<para id="libnss"><command>libnss*</command> sont 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 libpcprofile"><primary sortas="c-libpcprofile">libpcprofile</primary></indexterm>
<para id="libpcprofile"><command>libpcprofile</command> 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 libpthread"><primary sortas="c-libpthread">libpthread</primary></indexterm>
<para id="libpthread"><command>libpthread</command> est la bibliothèque threads
POSIX.</para>
 
<indexterm zone="ch-system-glibc libresolv"><primary sortas="c-libresolv">libresolv</primary></indexterm>
<para id="libresolv"><command>libresolv</command> 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 librpcsvc"><primary sortas="c-librpcsvc">librpcsvc</primary></indexterm>
<para id="librpcsvc"><command>librpcsvc</command> contient des
fonctions apportant différents services RPC.</para>
 
<indexterm zone="ch-system-glibc librt"><primary sortas="c-librt">librt</primary></indexterm>
<para id="librt"><command>librt</command> 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 libthread_db"><primary sortas="c-libthread_db">libthread_db</primary></indexterm>
<para id="libthread_db"><command>libthread_db</command> contient des
fonctions utiles pour contruire des débogueurs de programmes
multi-threads.</para>
 
<indexterm zone="ch-system-glibc libutil"><primary sortas="c-libutil">libutil</primary></indexterm>
<para id="libutil"><command>libutil</command> contient du code pour les
fonctions "standards" utilisées par de nombreux outils Unix.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/iana-etc.xml
0,0 → 1,48
<?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-iana-etc" xreflabel="Iana-Etc">
<title>Iana-Etc-&iana-etc-version;</title>
<?dbhtml filename="iana-etc.html"?>
 
<indexterm zone="ch-system-iana-etc"><primary sortas="a-Iana-Etc">Iana-Etc</primary></indexterm>
 
<para>Le paquet Iana-Etc fournit des données pour les services et
protocoles réseau.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 641&nbsp;Ko</screen>
 
<para>Les dépendances d'installation d'Iana-Etc n'ont pas encore été
vérifiées.</para>
 
 
 
<sect2>
<title>Installation et Iana-Etc</title>
 
<para>Analysez les données&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Maintenant, installez-le&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-iana-etc"><title>Contenu d'Iana-Etc</title>
 
<para><emphasis>Fichiers installés</emphasis>&nbsp;: protocols, services</para>
 
<indexterm zone="ch-system-iana-etc"><primary sortas="e-/etc/protocols">/etc/protocols</primary></indexterm>
 
<indexterm zone="ch-system-iana-etc"><primary sortas="e-/etc/services">/etc/services</primary></indexterm>
 
</sect2>
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/ncurses.xml
0,0 → 1,142
<?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" xreflabel="Ncurses">
<title>Ncurses-&ncurses-version;</title>
<?dbhtml filename="ncurses.html"?>
 
<indexterm zone="ch-system-ncurses"><primary sortas="a-Ncurses">Ncurses</primary></indexterm>
 
<para>Le paquet Ncurses contient les bibliothèques de gestion des écrans type
caractère, indépendant des terminaux.</para>
 
<screen>&buildtime; 0,6&nbsp;SBU
&diskspace; 27&nbsp;Mo</screen>
 
<para>L'installation de Ncurses dépend de Bash, Binutils, Coreutils, Diffutils,
Gawk, GCC, Glibc, Grep, Make, Sed.</para>
 
 
 
<sect2>
<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>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>Maintenant, 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>/lib</filename>
où elles sont supposées être&nbsp;:</para>
 
<screen><userinput>mv /usr/lib/libncurses.so.5* /lib</userinput></screen>
 
<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"><title>Contenu de Ncurses</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: captoinfo (lien vers
tic), clear, infocmp, infotocap (lien vers tic), reset (lien vers tset), tack,
tic, toe, tput et tset</para>
 
<para><emphasis>Bibliothèques installées</emphasis>: libcurses.[a,so] (lien vers
libncurses.[a,so]), libform.[a,so], libmenu.[a,so], libncurses++.a,
libncurses.[a,so], libpanel.[a,so]</para>
 
</sect2>
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-ncurses captoinfo"><primary sortas="b-captoinfo">captoinfo</primary></indexterm>
<para id="captoinfo"><command>captoinfo</command> convertit une description
termcap en description terminfo.</para>
 
<indexterm zone="ch-system-ncurses clear"><primary sortas="b-clear">clear</primary></indexterm>
<para id="clear"><command>clear</command> efface l'écran si possible.</para>
 
<indexterm zone="ch-system-ncurses infocmp"><primary sortas="b-infocmp">infocmp</primary></indexterm>
<para id="infocmp"><command>infocmp</command> compare ou affiche les
descriptions terminfo.</para>
 
<indexterm zone="ch-system-ncurses infotocap"><primary sortas="b-infotocap">infotocap</primary></indexterm>
<para id="infotocap"><command>infotocap</command> convertit une description
terminfo en description termcap.</para>
 
<indexterm zone="ch-system-ncurses reset"><primary sortas="b-reset">reset</primary></indexterm>
<para id="reset"><command>reset</command> réinitialise un terminal avec ses
valeurs par défaut.</para>
 
<indexterm zone="ch-system-ncurses tack"><primary sortas="b-tack">tack</primary></indexterm>
<para id="tack"><command>tack</command> est le vérificateur d'actions terminfo.
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 tic"><primary sortas="b-tic">tic</primary></indexterm>
<para id="tic"><command>tic</command> est le compilateur d'entrée de description
terminfo. Il traduit 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 certain
terminal.</para>
 
<indexterm zone="ch-system-ncurses toe"><primary sortas="b-toe">toe</primary></indexterm>
<para id="toe"><command>toe</command> 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 tput"><primary sortas="b-tput">tput</primary></indexterm>
<para id="tput"><command>tput</command> rend les valeurs de capacités
dépendant du terminal disponibles au shell. Il peut aussi être utilisé pour
réinitialiser un terminal ou pour afficher son nom long.</para>
 
<indexterm zone="ch-system-ncurses tset"><primary sortas="b-tset">tset</primary></indexterm>
<para id="tset"><command>tset</command> peut être utilisé pour initialiser des
terminaux.</para>
 
<indexterm zone="ch-system-ncurses libncurses"><primary sortas="c-libncurses*">libncurses*</primary></indexterm>
<para id="libncurses"><command>libncurses*</command> contient des fonctions
pour afficher du texte de plusieurs façons compliquées sur un écran de
terminal. Un bon exemple d'utilisation de ces fonctions est le menu affiché par
le make menuconfig du noyau.</para>
 
<indexterm zone="ch-system-ncurses libform"><primary sortas="c-libform*">libform*</primary></indexterm>
<para id="libform"><command>libform*</command> contient des fonctions pour
implémenter des formes.</para>
 
<indexterm zone="ch-system-ncurses libmenu"><primary sortas="c-libmenu*">libmenu*</primary></indexterm>
<para id="libmenu"><command>libmenu*</command> contient des fonctions pour
implémenter des menus.</para>
 
<indexterm zone="ch-system-ncurses libpanel"><primary sortas="c-libpanel*">libpanel*</primary></indexterm>
<para id="libpanel"><command>libpanel*</command> contient des fonctions pour
implémenter des panneaux.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/net-tools.xml
0,0 → 1,131
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-net-tools" xreflabel="Net-tools">
<title>Net-tools-&net-tools-version;</title>
<?dbhtml filename="net-tools.html"?>
 
<indexterm zone="ch-system-net-tools"><primary sortas="a-Net-tools">Net-tools</primary></indexterm>
 
<para>Le paquet Net-tools contient des programmes réseau basiques.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 9,4&nbsp;Mo</screen>
 
<para>L'installation de Net-tools dépend de Bash, Binutils, Coreutils, GCC,
Glibc, Make.</para>
 
 
 
<sect2>
<title>Installation de Net-tools</title>
 
<para>Si vous ne savez pas quoi répondre à toutes les questions qui vous sont
posées lors de la phase du <command>make config</command> ci-dessous, alors
acceptez simplement les valeurs par défaut. Ce sera suffisant dans la
majorité des cas. Ce qui vous est posé ici est un ensemble de questions sur les
protocoles réseau que vous avez activé dans votre noyau. Les réponses par
défaut permettront aux outils de ce paquet de fonctionner avec les protocoles
les plus communs&nbsp;: TCP, PPP et quelques autres. Vous avez toujours besoin
d'activer ces protocoles dans le noyau. Vous devez simplement indiquer au
paquet d'inclure le support pour ces protocoles dans ses programmes mais c'est
au noyau de les rendre disponibles.</para>
 
<para>Tout d'abord, corrigez un petit problème de syntaxe dans les sources du
programme <command>mii-tool</command>&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../net-tools-&net-tools-version;-miitool-gcc33-1.patch</userinput></screen>
 
<para>Maintenant, préparez la compilation de Net-tools (si vous pensez activer
les valeurs par défaut, vous pouvez passer toutes les questions en
lançant <userinput>yes "" | make config</userinput> à la place)&nbsp;:</para>
 
<screen><userinput>make config</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Maintenant, installez-le&nbsp;:</para>
 
<screen><userinput>make update</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-net"><title>Contenu de Net-tools</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: arp, dnsdomainname (lien
vers hostname), domainname (lien vers hostname), hostname, ifconfig, nameif,
netstat, nisdomainname (lien vers hostname), plipconfig, rarp, route, slattach
et ypdomainname (lien vers hostname)</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-net-tools arp"><primary sortas="b-arp">arp</primary></indexterm>
<para id="arp"><command>arp</command> est utilisé pour manipuler le cache ARP du
noyau, généralement pour ajouter ou supprimer une entrée, voire pour afficher le
cache entier.</para>
 
<indexterm zone="ch-system-net-tools dnsdomainname"><primary sortas="b-dnsdomainname">dnsdomainname</primary></indexterm>
<para id="dnsdomainname"><command>dnsdomainname</command> affiche le nom de
domaine du DNS système (<foreignphrase>Domain Name Server</foreignphrase>,
c'est-à-dire Serveur de Nom de Domaine).</para>
 
<indexterm zone="ch-system-net-tools domainname"><primary sortas="b-domainname">domainname</primary></indexterm>
<para id="domainname"><command>domainname</command> affiche ou initialise le nom
de domaine NIS/YP du système.</para>
 
<indexterm zone="ch-system-net-tools hostname"><primary sortas="b-hostname">hostname</primary></indexterm>
<para id="hostname"><command>hostname</command> affiche ou initialise le nom du
système hôte.</para>
 
<indexterm zone="ch-system-net-tools ifconfig"><primary sortas="b-ifconfig">ifconfig</primary></indexterm>
<para id="ifconfig"><command>ifconfig</command> est l'outil principal de
configuration des interfaces réseau.</para>
 
<indexterm zone="ch-system-net-tools nameif"><primary sortas="b-nameif">nameif</primary></indexterm>
<para id="nameif"><command>nameif</command> nomme les interfaces réseau basées
sur les adresses MAC.</para>
 
<indexterm zone="ch-system-net-tools netstat"><primary sortas="b-netstat">netstat</primary></indexterm>
<para id="netstat"><command>netstat</command> est utilisé pour afficher les
connexions réseau, les tables de routage et les statistiques des
interfaces.</para>
 
<indexterm zone="ch-system-net-tools nisdomainname"><primary sortas="b-nisdomainname">nisdomainname</primary></indexterm>
<para id="nisdomainname"><command>nisdomainname</command> remplit le même rôle
que domainname.</para>
 
<indexterm zone="ch-system-net-tools plipconfig"><primary sortas="b-plipconfig">plipconfig</primary></indexterm>
<para id="plipconfig"><command>plipconfig</command> est utilisé pour configurer
finement les paramètres du périphérique PLIP, pour améliorer ses
performances.</para>
 
<indexterm zone="ch-system-net-tools rarp"><primary sortas="b-rarp">rarp</primary></indexterm>
<para id="rarp"><command>rarp</command> est utilisé pour manipuler la table RARP
du noyau.</para>
 
<indexterm zone="ch-system-net-tools route"><primary sortas="b-route">route</primary></indexterm>
<para id="route"><command>route</command> est utilisé pour manipuler la table
de routage IP.</para>
 
<indexterm zone="ch-system-net-tools slattach"><primary sortas="b-slattach">slattach</primary></indexterm>
<para id="slattach"><command>slattach</command> attache une interface réseau à
une ligne série. Ceci vous permet d'utiliser les lignes de terminaux
habituelles pour faire des liaisons PPP vers d'autres ordinateurs.</para>
 
<indexterm zone="ch-system-net-tools ypdomainname"><primary sortas="b-ypdomainname">ypdomainname</primary></indexterm>
<para id="ypdomainname"><command>ypdomainname</command> remplit le même rôle
que domainname.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/sysvinit.xml
0,0 → 1,180
<?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-sysvinit" xreflabel="Sysvinit">
<title>Sysvinit-&sysvinit-version;</title>
<?dbhtml filename="sysvinit.html"?>
 
<indexterm zone="ch-system-sysvinit"><primary sortas="a-Sysvinit">Sysvinit</primary></indexterm>
 
<para>Le paquet Sysvinit contient des programmes de contrôle du démarrage, de
l'exécution et de l'arrêt de votre système.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 0,9&nbsp;Mo</screen>
 
<para>L'installation de Sysvinit dépend de Binutils, Coreutils, GCC, Glibc,
Make.</para>
 
 
 
<sect2>
<title>Installation de Sysvinit</title>
 
<para>Lorsque les niveaux d'exécution changent (par exemple, lors de l'arrêt du
système), <command>init</command> envoit des signaux de fin aux processus
qu'<command>init</command> a lui-même lancé et qui ne devraient plus
s'exécuter dans le nouveau niveau d'exécution. En faisant ceci,
<command>init</command> affiche des messages comme <quote>Sending processes the
TERM signal</quote> (NdT&nbsp;: Envoi du signal TERM aux processus) ce qui
semble impliquer qu'il envoie ce signal à tous les processus en cours
d'exécution. Pour éviter cette mauvaise interprétation, vous pouvez modifier
les sources pour que ce message soit remplacé par <quote>Sending processes
started by init the TERM signal</quote> (NdT&nbsp;: Envoi du signal TERM aux
processus lancés par init)&nbsp;:</para>
 
<screen><userinput>cp src/init.c{,.backup}
sed 's/Sending processes/&amp; started by init/g' \
src/init.c.backup &gt; src/init.c</userinput></screen>
 
<para>Compilez Sysvinit&nbsp;:</para>
 
<screen><userinput>make -C src</userinput></screen>
 
<para>Puis, installez-le&nbsp;:</para>
 
<screen><userinput>make -C src install</userinput></screen>
 
</sect2>
 
 
<sect2 id="conf-sysvinit"><title>Configurer Sysvinit</title>
<indexterm zone="conf-sysvinit">
<primary sortas="a-Sysvinit">Sysvinit</primary>
<secondary>configuration</secondary></indexterm>
 
<indexterm zone="conf-sysvinit"><primary sortas="e-/etc/inittab">/etc/inittab</primary></indexterm>
 
<para>Créez un nouveau fichier <filename>/etc/inittab</filename> en lançant ce
qui suit&nbsp;:</para>
 
<screen><userinput>cat &gt; /etc/inittab &lt;&lt; "EOF"</userinput>
# Début /etc/inittab
 
id:3:initdefault:
 
si::sysinit:/etc/rc.d/init.d/rc sysinit
 
l0:0:wait:/etc/rc.d/init.d/rc 0
l1:S1:wait:/etc/rc.d/init.d/rc 1
l2:2:wait:/etc/rc.d/init.d/rc 2
l3:3:wait:/etc/rc.d/init.d/rc 3
l4:4:wait:/etc/rc.d/init.d/rc 4
l5:5:wait:/etc/rc.d/init.d/rc 5
l6:6:wait:/etc/rc.d/init.d/rc 6
 
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
 
su:S016:once:/sbin/sulogin
 
1:2345:respawn:/sbin/agetty tty1 9600
2:2345:respawn:/sbin/agetty tty2 9600
3:2345:respawn:/sbin/agetty tty3 9600
4:2345:respawn:/sbin/agetty tty4 9600
5:2345:respawn:/sbin/agetty tty5 9600
6:2345:respawn:/sbin/agetty tty6 9600
 
# Fin /etc/inittab
<userinput>EOF</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-sysvinit"><title>Contenu de Sysvinit</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: halt, init, killall5,
last, lastb (lien vers last), mesg, pidof (lien vers killall5), poweroff (lien
vers halt), reboot (lien vers halt), runlevel, shutdown, sulogin, telinit (lien
vers init), utmpdump et wall</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-sysvinit halt"><primary sortas="b-halt">halt</primary></indexterm>
<para id="halt"><command>halt</command> lance normalement shutdown avec l'option
-h, sauf s'il est déjà en niveau d'exécution 0, puis il demande au noyau
d'arrêter le système. Mais, tout d'abord, il note dans le fichier
<filename>/var/log/wtmp</filename> que le système est en cours d'arrêt.</para>
 
<indexterm zone="ch-system-sysvinit init"><primary sortas="b-init">init</primary></indexterm>
<para id="init"><command>init</command> est le père de tous les processus. Il
lit ses commandes à partir de<filename>/etc/inittab</filename>, ce qui lui
indique les scripts à lancer pour tel niveau d'exécution et combien de getty
à lancer.</para>
 
<indexterm zone="ch-system-sysvinit killall5"><primary sortas="b-killall5">killall5</primary></indexterm>
<para id="killall5"><command>killall5</command> envoie un signal à tous les
processus sauf les processus de sa propre session, de façon à ne pas tuer le
shell ayant lancé le script qui l'a appelé.</para>
 
<indexterm zone="ch-system-sysvinit last"><primary sortas="b-last">last</primary></indexterm>
<para id="last"><command>last</command> affiche le dernier utilisateur connecté
(et déconnecté) en cherchant dans le fichier <filename>/var/log/wtmp</filename>.
Il peut aussi afficher les démarrages et arrêts du système ainsi que les
changements de niveaux d'exécution.</para>
 
<indexterm zone="ch-system-sysvinit lastb"><primary sortas="b-lastb">lastb</primary></indexterm>
<para id="lastb"><command>lastb</command> affiche les tentatives échouées de
connexions tracées dans <filename>/var/log/btmp</filename>.</para>
 
<indexterm zone="ch-system-sysvinit mesg"><primary sortas="b-mesg">mesg</primary></indexterm>
<para id="mesg"><command>mesg</command> contrôle si les autres utilisateurs
peuvent envoyer des messages au terminal de l'utilisateur courant.</para>
 
<indexterm zone="ch-system-sysvinit pidof"><primary sortas="b-pidof">pidof</primary></indexterm>
<para id="pidof"><command>pidof</command> indique le PID des programmes
précisés.</para>
 
<indexterm zone="ch-system-sysvinit poweroff"><primary sortas="b-poweroff">poweroff</primary></indexterm>
<para id="poweroff"><command>poweroff</command> indique au noyau d'arrêter le
système et de couper l'ordinateur. Mais, voir halt.</para>
 
<indexterm zone="ch-system-sysvinit reboot"><primary sortas="b-reboot">reboot</primary></indexterm>
<para id="reboot"><command>reboot</command> indique au noyau de redémarrer le
système. Mais, voir halt.</para>
 
<indexterm zone="ch-system-sysvinit runlevel"><primary sortas="b-runlevel">runlevel</primary></indexterm>
<para id="runlevel"><command>runlevel</command> indique le niveau d'exécution
actuel et précédent comme indiqué dans l'enregistrement du dernier niveau
d'exécution (dans <filename>/var/run/utmp</filename>).</para>
 
<indexterm zone="ch-system-sysvinit shutdown"><primary sortas="b-shutdown">shutdown</primary></indexterm>
<para id="shutdown"><command>shutdown</command> arrête proprement le système en
le signalant à tous les processus et aux utilisateur connectés.</para>
 
<indexterm zone="ch-system-sysvinit sulogin"><primary sortas="b-sulogin">sulogin</primary></indexterm>
<para id="sulogin"><command>sulogin</command> permet la connexion du
superutilisateur. Il est normalement appelé par init lorsque le système passe
en mono-utilisateur.</para>
 
<indexterm zone="ch-system-sysvinit telinit"><primary sortas="b-telinit">telinit</primary></indexterm>
<para id="telinit"><command>telinit</command> indique à init dans quel niveau
d'exécution entrer.</para>
 
<indexterm zone="ch-system-sysvinit utmpdump"><primary sortas="b-utmpdump">utmpdump</primary></indexterm>
<para id="utmpdump"><command>utmpdump</command> affiche le contenu du fichier
de connexion donné dans un format plus agréable.</para>
 
<indexterm zone="ch-system-sysvinit wall"><primary sortas="b-wall">wall</primary></indexterm>
<para id="wall"><command>wall</command> écrit un message à l'intention de tous
les utilisateurs connectés.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/kernel-headers.xml
0,0 → 1,86
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-kernel-headers">
<title>En-têtes Linux-&linux-version;</title>
<?dbhtml filename="kernelheaders.html"?>
 
<indexterm zone="ch-system-kernel-headers">
<primary sortas="a-Linux">Linux</primary>
<secondary>système, en-tête</secondary></indexterm>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 186&nbsp;Mo</screen>
 
 
<sect2>
<title>Installation des en-têtes du noyau</title>
 
<para>Nous ne compilerons pas encore un nouveau noyau. Nous le ferons une
fois que nous aurons terminé l'installation de tous les paquets. Mais les
bibliothèques installées dans la prochaine section ont besoin de se
référer aux fichiers d'en-têtes du noyau pour savoir comment s'interfacer avec
le noyau. Au lieu de déballer une nouvelle fois les sources du noyau, créer le
fichier de versions, les liens symboliques et ainsi de suite, nous allons
simplement copier les en-têtes à partir du répertoire des outils temporaires en
une commande&nbsp;:</para>
 
<screen><userinput>cp -a /tools/include/{asm,asm-generic,linux}
/usr/include</userinput></screen>
 
<para>Quelques fichiers d'en-têtes du noyau réfèrent au fichier d'en-tête
<filename>autoconf.h</filename>. Comme nous n'avons pas encore configuré le
noyau, nous avons besoin de créer ce fichier nous-même pour éviter un échec
lors de la compilation de Sysklogd. Créez un fichier
<filename>autoconf.h</filename> vide avec&nbsp;:</para>
 
<screen><userinput>touch /usr/include/linux/autoconf.h</userinput></screen>
 
</sect2>
 
<sect2>
<title>Pourquoi nous copions les en-têtes du noyau</title>
 
<para>Auparavant, une pratique commune consistait à créer des liens symboliques
pour les répertoires <filename
class="directory">/usr/include/{linux,asm}</filename> vers respectivement
<filename class="directory">/usr/src/linux/include/{linux,asm}</filename>.
Ceci est une <emphasis>mauvaise</emphasis> idée d'après cet extrait d'un message
de Linus Torvalds sur la liste de diffusion du noyau Linux:</para>
 
<screen>Je suggère que les personnes qui compilent des noyaux devraient:
 
- ne pas créer un seul lien symbolique (sauf celui créé lors de la
construction du noyau, <quote>linux/include/asm</quote> qui est utilisé pour la
compilation du noyau lui-même)
 
Et oui, c'est ce que je fais. Mon répertoire /usr/src/linux a toujours les
anciens en-têtes du noyau 2.2.13, même si je n'ai pas lancé cette version du
noyau depuis un _loong_ moment. Mais Glibc a été compilé avec, donc ces
en-têtes correspondent aux objets de la bibliothèque.
 
Et cela correspond à l'environnement suggéré depuis au moins les cinq dernières
années. Je ne sais pas pourquoi l'idée du lien symbolique est toujours vivante,
comme un mauvais zombie. Pratiquement toutes les distributions conservent
l'idée du lien et tout le monde se souvient que les sources du noyau doivent
aller sous <quote>/usr/src/linux</quote> même si ce n'est plus vrai depuis
_trèès_ longtemps.</screen>
 
<para>La partie essentielle se trouve là où Linus indique que les fichiers
d'en-tête doivent être <emphasis>ceux avec lesquels gblic a été
compilé</emphasis>. Ces en-têtes doivent être utilisés plus tard lorsque vous
compilerez d'autres paquets, car ce sont eux qui représentent les fichiers
de bibliothèques. En copiant les en-têtes, nous nous assurons qu'ils restent
disponibles plus tard lors d'une mise à jour du noyau.</para>
 
<para>Notez qu'il est parfaitement normal d'avoir les sources du noyau dans
<filename class="directory">/usr/src/linux</filename>, aussi longtemps que
vous n'avez pas les liens symboliques
<filename class="directory">/usr/include/{linux,asm}</filename>.</para>
 
</sect2>
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/gcc.xml
0,0 → 1,157
<?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-gcc" xreflabel="GCC">
<title>GCC-&gcc-version;</title>
<?dbhtml filename="gcc.html"?>
 
<indexterm zone="ch-system-gcc"><primary sortas="a-GCC">GCC</primary></indexterm>
 
<para>Le paquet GCC contient la collection de compilateurs GNU, qui inclut les
compilateurs C et C++.</para>
 
<screen>&buildtime; 11,7&nbsp;SBU
&diskspace; 294&nbsp;Mo</screen>
 
<para>L'installation de GCC dépend de Bash, Binutils, Coreutils, Diffutils,
Findutils, Gawk, Gettext, Glibc, Grep, Make, Perl, Sed, Texinfo.</para>
 
 
 
<sect2>
<title>Installation de GCC</title>
 
<para>Ce paquet est connu pour mal se comporter si vous changez les options
d'optimisation par défaut (en incluant les options <emphasis>-march</emphasis>
et <emphasis>-mcpu</emphasis>). Donc, si vous avez défini des variables
d'environnement qui surchargent les optimisations par défaut, telles que CFLAGS
et CXXFLAGS, nous vous recommandons de supprimer cette initialisation lors de la
construction de GCC.</para>
 
<para>Déballez l'archive tar GCC-core <emphasis>et</emphasis> GCC-g++. Ils
atterriront dans le même répertoire. Vous devez extraire le paquet
GCC-testsuite. Le paquet GCC complet contient encore plus de compilateurs. Les
instructions pour leur construction sont disponibles sur
<ulink url="&blfs-root;view/stable/general/gcc.html"/>.</para>
 
<para>Tout d'abord, appliquez seulement le correctif No-Fixincludes (et
<emphasis>pas</emphasis> Specs ) utilisé aussi dans le chapitre précédent&nbsp;:
</para>
 
<screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-no_fixincludes-1.patch</userinput></screen>
 
<para>Maintenant, appliquez une substitution sed qui supprimera l'installation
de <filename>libiberty.a</filename>. Nous voulons utiliser la version de
<filename>libiberty.a</filename> fournie par Binutils&nbsp;:</para>
 
<screen><userinput>sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in</userinput></screen>
 
<para>La documentation de GCC recommande de construire GCC en dehors du
répertoire source, c'est-à-dire dans un répertoire dédié&nbsp;:</para>
 
<screen><userinput>mkdir ../gcc-build
cd ../gcc-build</userinput></screen>
 
<para>Maintenant, préparez la compilation de GCC&nbsp;:</para>
 
<screen><userinput>../gcc-&gcc-version;/configure --prefix=/usr \
--enable-shared --enable-threads=posix \
--enable-__cxa_atexit --enable-clocale=gnu \
--enable-languages=c,c++</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<important><para>La suite de tests pour GCC dans cette section est considérée
<emphasis>critique</emphasis>. Notre conseil est de ne pas la laisser passer
quelque soient les circonstances.</para></important>
 
<para>Testez les résultats mais ne vous arrêtez pas aux erreurs (vous vous
rappellerez des quelques-unes connues)&nbsp;:</para>
 
<screen><userinput>make -k check</userinput></screen>
 
<para>Les notes de la suite de tests sur <xref linkend="ch-tools-gcc-pass2"/>
sont toujours très appropriées ici. Assurez-vous de vous y référer si vous avez
un doute.</para>
 
<para>Maintenant, installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Quelques paquets s'attendent à ce que le préprocesseur C soit installé
dans le répertoire <filename>/lib</filename>. Pour supporter ces paquets,
créez ce lien symbolique&nbsp;:</para>
 
<screen><userinput>ln -s ../usr/bin/cpp /lib</userinput></screen>
 
<para>Beaucoup de paquets utilisent le nom <command>cc</command> pour appeller
le compilateur C. Pour satisfaire ces paquets, créez un lien
symbolique&nbsp;:</para>
 
<screen><userinput>ln -s gcc /usr/bin/cc</userinput></screen>
 
<note><para>À ce moment, il est fortement recommandé de répéter les
vérifications que nous avons réalisé plus tôt dans ce chapitre. Référez-vous à
<xref linkend="ch-system-readjusting"/> et répétez la vérification. Si les
résultats sont mauvais, alors il y a des chances pour que vous ayez mal appliqué
le correctif GCC Specs à partir de <xref
linkend="chapter-temporary-tools"/>.</para></note>
 
</sect2>
 
 
<sect2 id="contents-gcc"><title>Contenu de GCC</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: c++, cc (lien vers gcc),
cc1, cc1plus, collect2, cpp, g++, gcc, gccbug et gcov</para>
 
<para><emphasis>Bibliothèques installées</emphasis>&nbsp;: libgcc.a,
libgcc_eh.a, libgcc_s.so, libstdc++.[a,so] et libsupc++.a</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-gcc cpp"><primary sortas="b-cpp">cpp</primary></indexterm>
<para id="cpp"><command>cpp</command> est le préprocesseur C. Il est utilisé
par le compilateur pour l'extension des instructions #include et #define dans
les fichiers sources.</para>
 
<indexterm zone="ch-system-gcc g"><primary sortas="b-g++">g++</primary></indexterm>
<para id="g"><command>g++</command> est le compilateur C++.</para>
 
<indexterm zone="ch-system-gcc gcc"><primary sortas="b-gcc">gcc</primary></indexterm>
<para id="gcc"><command>gcc</command> est le compilateur C. Il est utilisé pour
traduire le code source d'un programme en code assembleur.</para>
 
<indexterm zone="ch-system-gcc gccbug"><primary sortas="b-gccbug">gccbug</primary></indexterm>
<para id="gccbug"><command>gccbug</command> est un script shell utilisé pour
aider à la création de bons rapports de bogues.</para>
 
<indexterm zone="ch-system-gcc gcov"><primary sortas="b-gcov">gcov</primary></indexterm>
<para id="gcov"><command>gcov</command> est un outil de tests. Il est utilisé
pour analyser les programmes et savoir où des optimisations seraient
suivies du plus d'effet.</para>
 
<indexterm zone="ch-system-gcc libgcc"><primary sortas="c-libgcc*">libgcc*</primary></indexterm>
<para id="libgcc"><command>libgcc*</command> contient un support en exécution
pour gcc.</para>
 
<indexterm zone="ch-system-gcc libstdc"><primary sortas="c-libstdc++">libstdc++</primary></indexterm>
<para id="libstdc"><command>libstdc++</command> est la bibliothèque standard
C++. Elle contient les fonctions les plus fréquemment utilisées.</para>
 
<indexterm zone="ch-system-gcc libsupc"><primary sortas="c-libsupc++">libsupc++</primary></indexterm>
<para id="libsupc"><command>libsupc++</command> fournit des routines de support
pour le langage de programmation C++.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/gcc-2953.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="ch-system-gcc-2953">
<title>GCC-&gcc-2953-version;</title>
<?dbhtml filename="gcc-2953.html"?>
 
<indexterm zone="ch-system-gcc-2953"><primary
sortas="a-GCC-2953">GCC-2953</primary></indexterm>
 
<screen>&buildtime; 1,5&nbsp;SBU
&buildtime; 130&nbsp;Mo</screen>
 
<sect2>
<title>Installation de GCC</title>
 
<para>Ce paquet est connu pour mal se comporter si vous changez les options
d'optimisation par défaut (en incluant les options -march et -mcpu). Donc, si
vous avez défini des variables d'environnement qui surchargent les optimisations
par défaut, telles que CFLAGS et CXXFLAGS, nous vous recommandons de supprimer
cette initialisation lors de la construction de GCC.</para>
 
<para>C'est une ancienne version de GCC que nous allons installer pour compiler
le noyau Linux au <xref linkend="chapter-bootable"/>. Cette version est
recommandée par les développeurs du noyau lorsque vous avez besoin d'une
stabilité absolue. Les versions suivantes de GCC n'ont pas été autant testées
pour la compilation du noyau Linux. Utiliser une de ces versions a de bonne
chance de fonctionner, néanmoins, nous vous recommandons d'adhérer au conseil
des développeurs du noyau et d'utiliser cette version pour compiler votre
noyau.</para>
 
<note><para>Nous n'installons pas le compilateur C++ ou les bibliothèques ici.
Néanmoins, vous pouvez avoir de bonnes raisons pour souhaiter les installer.
Vous trouverez plus d'informations sur <ulink
url="&blfs-root;view/stable/general/gcc2.html"/>.</para></note>
 
<para>Nous installerons cette ancienne version de GCC avec comme préfixe, non
standard, <filename class="directory">/opt</filename> de façon à éviter les
interférences avec le système GCC déjà installé dans <filename
class="directory">/usr</filename>.</para>
 
<para>Appliquez les correctifs et faites un petit ajustement&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../gcc-&gcc-2953-version;-2.patch
patch -Np1 -i ../gcc-&gcc-2953-version;-no-fixinc.patch
patch -Np1 -i ../gcc-&gcc-2953-version;-returntype-fix.patch
echo timestamp &gt; gcc/cstamp-h.in</userinput></screen>
 
<para>La documentation GCC recommande la construction de GCC en dehors du
répertoire des sources, c'est-à-dire dans un répertoire dédié&nbsp;:</para>
 
<screen><userinput>mkdir ../gcc-2-build
cd ../gcc-2-build</userinput></screen>
 
<para>Compilez et installez le compilateur&nbsp;:</para>
 
<screen><userinput>../gcc-&gcc-2953-version;/configure
--prefix=/opt/gcc-&gcc-2953-version; \
--enable-shared --enable-languages=c \
--enable-threads=posix
make bootstrap
make install</userinput></screen>
 
</sect2>
 
</sect1>
 
/tags/LFS-5_1_1/lfs/chapter06/mktemp.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-system-mktemp" xreflabel="Mktemp">
<title>Mktemp-&mktemp-version;</title>
<?dbhtml filename="mktemp.html"?>
 
<indexterm zone="ch-system-mktemp"><primary sortas="a-Mktemp">Mktemp</primary></indexterm>
 
<para>Le paquet Mktemp contient des programmes utilisés pour créer des fichiers
temporaires sécurisés à partir de scripts shell.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace;&nbsp;317&nbsp;Ko</screen>
 
<para>Les dépendances de l'installation de Mktemp n'ont pas encore été
vérifiées.</para>
 
 
 
<sect2>
<title>Installation de Mktemp</title>
 
<para>Beaucoup de scripts utilisent toujours le programme obsolète
<command>tempfile</command>, qui dispose à peu près des mêmes fonctionnalités
que <command>mktemp</command>. Corrigez mktemp pour inclure un emballage
<command>tempfile</command>&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../mktemp-&mktemp-version;-add-tempfile.patch</userinput></screen>
 
<para>Maintenant, préparez la compilation de Mktemp&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --with-libc</userinput></screen>
 
<para>Voici la signification de l'option de configure&nbsp;:</para>
 
<itemizedlist>
<listitem><para><userinput>--with-libc</userinput>&nbsp;: ceci fait que le
programme <command>mktemp</command> utilise les fonctions
<emphasis>mkstemp</emphasis> et <emphasis>mkdtemp</emphasis> de la bibliothèque
système C.</para></listitem>
</itemizedlist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Maintenant, installez-le&nbsp;:</para>
 
<screen><userinput>make install</userinput>
<userinput>make install-tempfile</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-mktemp"><title>Contenu de Mktemp</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: mktemp, tempfile</para>
 
</sect2>
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-mktemp mktemp"><primary sortas="b-mktemp">mktemp</primary></indexterm>
<para id="mktemp"><command>mktemp</command> crée des fichiers temporaires d'une
façon sécurisée. Il est utilisé dans des scripts.</para>
 
<indexterm zone="ch-system-mktemp tempfile"><primary sortas="b-tempfile">tempfile</primary></indexterm>
<para id="tempfile"><command>tempfile</command> crée des fichiers temporaires
d'une façon moins sécurisée que <command>mktemp</command>. Il est installé pour
des raisons de compatibilité descendante.</para>
 
</sect2>
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/flex.xml
0,0 → 1,97
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-flex" xreflabel="Flex">
<title>Flex-&flex-version;</title>
<?dbhtml filename="flex.html"?>
 
<indexterm zone="ch-system-flex"><primary sortas="a-Flex">Flex</primary></indexterm>
 
<para>Le paquet Flex contient un outil de génération de programmes
reconnaissant des modèles de texte.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 3,4&nbsp;Mo</screen>
 
<para>L'installation de Flex dépend de Bash, Binutils, Bison, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, M4, Make, Sed.</para>
 
 
 
<sect2>
<title>Installation de Flex</title>
 
<para>Préparez la compilation de Flex&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 bigcheck</userinput>.</para>
 
<para>Maintenant, installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Quelques paquets s'attendent à trouver la bibliothèque
<emphasis>lex</emphasis> dans <filename>/usr/lib</filename>. Créez un lien
symbolique pour en tenir compte&nbsp;:</para>
 
<screen><userinput>ln -s libfl.a /usr/lib/libl.a</userinput></screen>
 
<para>Quelques programmes ne connaissent pas encore <command>flex</command> et
essaient de lancer son prédecesseur <command>lex</command>. Pour supporter ces
programmes, créez un script d'emballage nommé <filename>lex</filename> appelant
<command>flex</command> en mode d'émulation
<emphasis>lex</emphasis>&nbsp;:</para>
 
<screen><userinput>cat &gt; /usr/bin/lex &lt;&lt; "EOF"</userinput>
#!/bin/sh
# Début /usr/bin/lex
 
exec /usr/bin/flex -l "$@"
 
# Fin /usr/bin/lex
<userinput>EOF
chmod 755 /usr/bin/lex</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-flex"><title>Contenu de Flex</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: flex, flex++ (lien vers
flex) et lex</para>
 
<para><emphasis>Bibliothèque installée</emphasis>&nbsp;: libfl.a</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-flex flex"><primary sortas="b-flex">flex</primary></indexterm>
<para id="flex"><command>flex</command> est un outil pour générer des programmes
reconnaissant des modèles de texte. La reconnaissance de modèles est utile dans
beaucoup d'applications. À partir d'un ensemble de règles à chercher, flex crée
un programme cherchant ces modèles. Il est bien plus facile de spécifier les
règles pour un programme de recherche de modèles que d'avoir à écrire ce
programme.</para>
 
<indexterm zone="ch-system-flex flex-"><primary sortas="b-flex++">flex++</primary></indexterm>
<para id="flex-"><command>flex++</command> appelle une version de flex utilisée
exclusivement par les analyseurs C++.</para>
 
<indexterm zone="ch-system-flex libfl.a"><primary sortas="c-libfl.a">libfl.a</primary></indexterm>
<para id="libfl.a"><command>libfl.a</command> est la bibliothèque flex.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/psmisc.xml
0,0 → 1,102
<?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" xreflabel="Psmisc">
<title>Psmisc-&psmisc-version;</title>
<?dbhtml filename="psmisc.html"?>
 
<indexterm zone="ch-system-psmisc"><primary sortas="a-Psmisc">Psmisc</primary></indexterm>
 
<para>Le paquet Psmisc contient des programmes pour afficher des informations
sur les processus.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 2,2&nbsp;Mo</screen>
 
<para>L'installation de Psmisc dépend de Bash, Binutils, Coreutils, Diffutils,
GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed.</para>
 
 
 
<sect2>
<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>
 
<itemizedlist>
<listitem><para><userinput>--exec-prefix=/</userinput>&nbsp;: ceci fait que les
binaires sont installés dans <filename>/bin</filename> au lieu de
<filename>/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>/usr</filename> n'est pas
monté.</para></listitem>
</itemizedlist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Maintenant, installez-le&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Il n'existe aucune raison pour que les
programmes <filename>pstree</filename> et <filename>pstree.x11</filename>
résident dans <filename class="directory">/bin</filename>. Du coup, nous les
déplaçons dans <filename class="directory">/usr/bin</filename>. De même, il
n'est pas nécessaire que <filename>pstree.x11</filename> existe comme programme
séparé. Nous allons donc créer un lien symbolique vers
<filename>pstree</filename>:</para>
 
<screen><userinput>mv /bin/pstree* /usr/bin
ln -sf pstree /usr/bin/pstree.x11</userinput></screen>
 
<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 nous installons plus
tard le paquet Sysvinit, qui fournit une meilleure version de
<command>pidof</command>. Mais si vous ne comptez pas utiliser Sysvinit, vous
devriez terminer 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"><title>Contenu de Psmisc</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: fuser, killall, pstree
et pstree.x11 (lien vers pstree)</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-psmisc fuser"><primary sortas="b-fuser">fuser</primary></indexterm>
<para id="fuser"><command>fuser</command> indique les PID de processus utilisant
les fichiers ou systèmes de fichiers donnés.</para>
 
<indexterm zone="ch-system-psmisc killall"><primary sortas="b-killall">killall</primary></indexterm>
<para id="killall"><command>killall</command> tue les processus suivant leur
nom. Il envoie un signal à tous les processus en cours.</para>
 
<indexterm zone="ch-system-psmisc pstree"><primary sortas="b-pstree">pstree</primary></indexterm>
<para id="pstree"><command>pstree</command> affiche les processus en
cours hiérarchiquement.</para>
 
<indexterm zone="ch-system-psmisc pstree.x11"><primary sortas="b-pstree.x11">pstree.x11</primary></indexterm>
<para id="pstree.x11"><command>pstree.x11</command>, identique à pstree si ce
n'est qu'il attend une confirmation avant de quitter.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/patch.xml
0,0 → 1,64
<?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-patch" xreflabel="Patch">
<title>Patch-&patch-version;</title>
<?dbhtml filename="patch.html"?>
 
<indexterm zone="ch-system-patch"><primary sortas="a-Patch">Patch</primary></indexterm>
 
<para>Le paquet Patch contient un programme de modification de fichiers.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 1,9&nbsp;Mo</screen>
 
<para>L'installation de Patch dépend de Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make, Sed.</para>
 
 
 
<sect2>
<title>Installation de Patch</title>
 
<para>Préparez la compilation de Patch (l'option
<emphasis>-D_GNU_SOURCE</emphasis> du préprocesseur est seulement nécessaire
pour les PowerPC&nbsp;; pour les autres machines, il est inutile)&nbsp;:</para>
 
<screen><userinput>CPPFLAGS=-D_GNU_SOURCE ./configure --prefix=/usr</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-patch"><title>Contenu de Patch</title>
 
<para><emphasis>Programme installé</emphasis>&nbsp;: patch</para>
 
</sect2>
 
 
<sect2><title>Courte description</title>
 
<indexterm zone="ch-system-patch patch"><primary sortas="b-patch">patch</primary></indexterm>
<para id="patch"><command>patch</command> modifie des fichiers suivant les
indications d'un fichier patch, aussi appelé correctif. Un fichier patch est
généralement une liste de différences créée par le programme diff. En appliquant
ces différences sur les fichiers originaux, patch crée les versions corrigées.
Utiliser des correctifs plutôt que de nouvelles archives tar complètes pour
mettre à jour vos fichiers source vous permettra de gagner beaucoup de temps
lors du téléchargement.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/sysklogd.xml
0,0 → 1,88
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-sysklogd" xreflabel="Sysklogd">
<title>Sysklogd-&sysklogd-version;</title>
<?dbhtml filename="sysklogd.html"?>
 
<indexterm zone="ch-system-sysklogd"><primary sortas="a-Sysklogd">Sysklogd</primary></indexterm>
 
<para>Le paquet Sysklogd contient des programmes pour les messages de
traces système comme ceux donnés par le noyau lorsque des événements
inhabituels surviennent.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 0,5&nbsp;Mo</screen>
 
<para>L'installation de Sysklogd dépend de Binutils, Coreutils, GCC, Glibc,
Make.</para>
 
 
 
<sect2>
<title>Installation de Sysklogd</title>
 
<para>Compilez Sysklogd&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Maintenant, installez-le&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="conf-sysklogd"><title>Configurer Sysklogd</title>
<indexterm zone="conf-sysklogd">
<primary sortas="a-Sysklogd">Sysklogd</primary>
<secondary>configuration</secondary></indexterm>
 
<indexterm zone="conf-sysklogd"><primary sortas="e-/etc/syslog.conf">/etc/syslog.conf</primary></indexterm>
 
<para>Créez un nouveau fichier <filename>/etc/syslog.conf</filename> en lançant
ce qui suit&nbsp;:</para>
 
<screen><userinput>cat &gt; /etc/syslog.conf &lt;&lt; "EOF"</userinput>
# Début /etc/syslog.conf
 
auth,authpriv.* -/var/log/auth.log
*.*;auth,authpriv.none -/var/log/sys.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log
*.emerg *
 
# Fin /etc/syslog.conf
<userinput>EOF</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-sysklogd"><title>Contenu de Sysklogd</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: klogd et syslogd</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-sysklogd klogd"><primary sortas="b-klogd">klogd</primary></indexterm>
<para id="klogd"><command>klogd</command> est un démon système pour intercepter
et tracer les messages du noyau.</para>
 
<indexterm zone="ch-system-sysklogd syslogd"><primary sortas="b-syslogd">syslogd</primary></indexterm>
<para id="syslogd"><command>syslogd</command> trace les messages que les
programmes systèmes donnent. Chaque message tracé contient au moins la date et
le nom de l'hôte, habituellement le nom du programme mais cela dépend de
la confiance que le démon accorde suivant notre paramétrage.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/modutils.xml
0,0 → 1,104
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-modutils" xreflabel="Modutils">
<title>Modutils-&modutils-version;</title>
<?dbhtml filename="modutils.html"?>
 
<indexterm zone="ch-system-modutils"><primary sortas="a-Modutils">Modutils</primary></indexterm>
 
<para>Le paquet Modutils contient des programmes pour la gestion des modules
du noyau.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&buildtime; 2,9&nbsp;Mo</screen>
 
<para>L'installation de Modutils dépend de Bash, Binutils, Bison, Coreutils,
Diffutils, Flex, GCC, Glibc, Grep, M4, Make, Sed.</para>
 
 
 
<sect2>
<title>Installation de Modutils</title>
 
<para>Préparez la compilation de Modutils&nbsp;:</para>
 
<screen><userinput>./configure</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Installez-le&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-modutils"><title>Contenu de Modutils</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: depmod, genksyms, insmod,
insmod_ksymoops_clean, kallsyms (lien vers insmod), kernelversion, ksyms
(lien vers insmod), lsmod (lien vers insmod), modinfo, modprobe (lien vers
insmod) et rmmod (lien vers insmod)</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-modutils depmod"><primary sortas="b-depmod">depmod</primary></indexterm>
<para id="depmod"><command>depmod</command> crée un fichier de dépendance basé
sur les symboles qu'il découvre dans l'ensemble existant des modules. Ce
fichier de dépendance est utilisé par modprobe pour charger automatiquement les
modules requis.</para>
 
<indexterm zone="ch-system-modutils genksyms"><primary sortas="b-genksyms">genksyms</primary></indexterm>
<para id="genksyms"><command>genksyms</command> génère les informations de
version de symboles.</para>
 
<indexterm zone="ch-system-modutils insmod"><primary sortas="b-insmod">insmod</primary></indexterm>
<para id="insmod"><command>insmod</command> installe un module chargeable dans
le noyau en cours d'exécution.</para>
 
<indexterm zone="ch-system-modutils insmod_ksymoops_clean"><primary sortas="b-insmod_ksymoops_clean">insmod_ksymoops_clean</primary></indexterm>
<para id="insmod_ksymoops_clean"><command>insmod_ksymoops_clean</command>
supprime les ksyms sauvés et les modules qui n'ont pas été accédé depuis
deux jours.</para>
 
<indexterm zone="ch-system-modutils kallsyms"><primary sortas="b-kallsyms">kallsyms</primary></indexterm>
<para id="kallsyms"><command>kallsyms</command> extrait tous les symboles du
noyau pour le déboguage.</para>
 
<indexterm zone="ch-system-modutils kernelversion"><primary sortas="b-kernelversion">kernelversion</primary></indexterm>
<para id="kernelversion"><command>kernelversion</command> indique la version
majeure du noyau en cours d'exécution.</para>
 
<indexterm zone="ch-system-modutils ksyms"><primary sortas="b-ksyms">ksyms</primary></indexterm>
<para id="ksyms"><command>ksyms</command> affiche les symboles exportés
du noyau.</para>
 
<indexterm zone="ch-system-modutils lsmod"><primary sortas="b-lsmod">lsmod</primary></indexterm>
<para id="lsmod"><command>lsmod</command> affiche les modules chargés.</para>
 
<indexterm zone="ch-system-modutils modinfo"><primary sortas="b-modinfo">modinfo</primary></indexterm>
<para id="modinfo"><command>modinfo</command> examine un fichier objet associé
avec un module noyau et affiche les informations qu'il arrive à récolter.</para>
 
<indexterm zone="ch-system-modutils modprobe"><primary sortas="b-modprobe">modprobe</primary></indexterm>
<para id="modprobe"><command>modprobe</command> utilise un fichier de
dépendances créé par depmod pour charger automatiquement les modules en
relation.</para>
 
<indexterm zone="ch-system-modutils rmmod"><primary sortas="b-rmmod">rmmod</primary></indexterm>
<para id="rmmod"><command>rmmod</command> décharge les modules du noyau en
cours d'exécution.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/zlib.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-system-zlib" xreflabel="Zlib">
<title>Zlib-&zlib-version;</title>
<?dbhtml filename="zlib.html"?>
 
<indexterm zone="ch-system-zlib"><primary sortas="a-Zlib">Zlib</primary></indexterm>
 
<para>Le paquet Zlib contient des routines de compression et décompression
utilisées par quelques programmes.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 1,5&nbsp;Mo</screen>
 
<para>L'installation de Zlib dépend de Binutils, Coreutils, GCC, Glibc, Make,
Sed.</para>
 
 
 
<sect2>
<title>Installation de Zlib</title>
 
<note><para>Zlib est connu pour mal construire sa bibliothèque partagée si
CFLAGS fait partie de l'environnement. Si vous utilisez votre propre variable
CFLAGS, assurez-vous d'ajouter la directive <emphasis>-fPIC</emphasis> à
votre CFLAGS pour la durée de la commande <command>configure</command>
ci-dessous puis de la supprimer après coup.</para></note>
 
<para>Préparez la compilation de Zlib&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --shared</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 la bibliothèque partagée&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Maintenant, construisez aussi la bibliothèque non partagée
(statique)&nbsp;:</para>
<screen><userinput>make clean
./configure --prefix=/usr
make</userinput></screen>
 
<para>Pour tester de nouveau les résultats, lancez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez la bibliothèque statique&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Et corrigez les droits sur la bibliothèque statique&nbsp;:</para>
 
<screen><userinput>chmod 644 /usr/lib/libz.a</userinput></screen>
 
<para>C'est une bonne politique et une bonne pratique de conserver les
bibliothèques importantes dans le répertoire <filename
class="directory">/lib</filename>. Ceci importe plus dans les cas où <filename
class="directory">/usr</filename> est sur une partition séparée. Normalement,
tous les composants en exécution de toutes les bibliothèques utilisées
par des programmes de <filename class="directory">/bin</filename> ou
<filename class="directory">/sbin</filename> devraient être dans
<filename class="directory">/lib</filename> de façon à ce qu'elles soient sur
la partition root et disponibles au cas où <filename
class="directory">/usr</filename> serait inaccessible.</para>
 
<para>Pour la raison ci-dessus, nous déplaçons les composants d'exécution de
la bibliothèque partagée Zlib dans <filename
class="directory">/lib</filename>&nbsp;:</para>
 
<screen><userinput>mv /usr/lib/libz.so.* /lib</userinput></screen>
 
<para>Maintenant, nous devons corriger le lien symbolique
<filename>/usr/lib/libz.so</filename> car nous venons de déplacer le fichier
vers lequel il pointait&nbsp;:</para>
 
<screen><userinput>ln -sf ../../lib/libz.so.1 /usr/lib/libz.so</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-zlib"><title>Contenu de Zlib</title>
 
<para><emphasis>Bibliothèques installées</emphasis>&nbsp;: libz[a,so]</para>
 
</sect2>
 
 
<sect2><title>Courte description</title>
 
<indexterm zone="ch-system-zlib libz"><primary sortas="c-libz*">libz*</primary></indexterm>
<para id="libz"><command>libz*</command> contient des fonctions de compression
et décompression utilisées par quelques programmes.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/groff.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-groff" xreflabel="Groff">
<title>Groff-&groff-version;</title>
<?dbhtml filename="groff.html"?>
 
<indexterm zone="ch-system-groff"><primary sortas="a-Groff">Groff</primary></indexterm>
 
<para>Le paquet Groff contient des programmes de formattage de texte.</para>
 
<screen>&buildtime; 0,5&nbsp;SBU
&diskspace; 43&nbsp;Mo</screen>
 
<para>L'installation de Groff dépend de Bash, Binutils, Coreutils, Diffutils,
Gawk, GCC, Glibc, Grep, Make, Sed.</para>
 
 
 
<sect2>
<title>Installation de Groff</title>
 
<para>Groff s'attend à ce que la variable d'environnement PAGE contienne la
taille par défaut du papier. Pour les habitants des États-Unis, la commande
ci-dessous est approprié. Si vous vivez ailleurs, vous pouvez vouloir changer
<emphasis>PAGE=letter</emphasis> par <emphasis>PAGE=A4</emphasis>.</para>
 
<para>Préparez la compilation de Groff&nbsp;:</para>
 
<screen><userinput>PAGE=letter ./configure --prefix=/usr</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>
 
<para>Quelques programmes de documentation, comme <command>xman</command>, ne
fonctionnent pas correctement sans les liens symboliques suivants&nbsp;:</para>
 
<screen><userinput>ln -s soelim /usr/bin/zsoelim
ln -s eqn /usr/bin/geqn
ln -s tbl /usr/bin/gtbl</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-groff"><title>Contenu de Groff</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: addftinfo, afmtodit, eqn,
eqn2graph, geqn (lien vers eqn), grn, grodvi, groff, groffer, grog, grolbp,
grolj4, grops, grotty, gtbl (lien vers tbl), hpftodit, indxbib, lkbib,
lookbib, mmroff, neqn, nroff, pfbtops, pic, pic2graph, post-grohtml,
pre-grohtml, refer, soelim, tbl, tfmtodit, troff et zsoelim (lien vers
soelim)</para>
 
</sect2>
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-groff addftinfo"><primary sortas="b-addftinfo">addftinfo</primary></indexterm>
<para id="addftinfo"><command>addftinfo</command> lit un fichier de polices
troff et ajoute quelques informations métriques supplémentaire sur la police qui
est utilisé par le système groff.</para>
 
<indexterm zone="ch-system-groff afmtodit"><primary sortas="b-afmtodit">afmtodit</primary></indexterm>
<para id="afmtodit"><command>afmtodit</command> crée un fichier de police à
utiliser avec groff et grops.</para>
 
<indexterm zone="ch-system-groff eqn"><primary sortas="b-eqn">eqn</primary></indexterm>
<para id="eqn"><command>eqn</command> compile les descriptions d'équations
imbriquées dans les fichiers d'entrées de troff pour obtenir des commandes
comprises par troff.</para>
 
<indexterm zone="ch-system-groff eqn2graph"><primary sortas="b-eqn2graph">eqn2graph</primary></indexterm>
<para id="eqn2graph"><command>eqn2graph</command> convertit une équation EQN en
une image améliorée.</para>
 
<indexterm zone="ch-system-groff grn"><primary sortas="b-grn">grn</primary></indexterm>
<para id="grn"><command>grn</command> est un préprocesseur groff pour les
fichiers gremlin.</para>
 
<indexterm zone="ch-system-groff grodvi"><primary sortas="b-grodvi">grodvi</primary></indexterm>
<para id="grodvi"><command>grodvi</command> est un pilote pour groff qui
produit un format dvi TeX.</para>
 
<indexterm zone="ch-system-groff groff"><primary sortas="b-groff">groff</primary></indexterm>
<para id="groff"><command>groff</command> est une interface au système de
formattage de document groff. Normalement, il lance le programme troff et un
post-processeur approprié au périphérique sélectionné.</para>
 
<indexterm zone="ch-system-groff groffer"><primary sortas="b-groffer">groffer</primary></indexterm>
<para id="groffer"><command>groffer</command> affiche des fichiers groff et des
pages man sur des terminaux X et tty.</para>
 
<indexterm zone="ch-system-groff grog"><primary sortas="b-grog">grog</primary></indexterm>
<para id="grog"><command>grog</command> lit des fichiers et devine les options
-e, -man, -me, -mm, -ms, -p, -s, et -t de groff, requises pour l'impression
des fichiers. Il indique la commande groff incluant ces options.</para>
 
<indexterm zone="ch-system-groff grolbp"><primary sortas="b-grolbp">grolbp</primary></indexterm>
<para id="grolbp"><command>grolbp</command> est un pilote groff pour les
imprimantes Canon CAPSL (imprimantes laser de la série LBP-4 et LBP-8).</para>
 
<indexterm zone="ch-system-groff grolj4"><primary sortas="b-grolj4">grolj4</primary></indexterm>
<para id="grolj4"><command>grolj4</command> est un pilote pour groff produisant
une sortie au format PCL5, intéressant les imprimantes HP Laserjet 4.</para>
 
<indexterm zone="ch-system-groff grops"><primary sortas="b-grops">grops</primary></indexterm>
<para id="grops"><command>grops</command> traduit la sortie de GNU troff en
Postscript.</para>
 
<indexterm zone="ch-system-groff grotty"><primary sortas="b-grotty">grotty</primary></indexterm>
<para id="grotty"><command>grotty</command> traduit la sortie de GNU troff en
un format compatible pour les périphériques de type machine à écrire.</para>
 
<indexterm zone="ch-system-groff gtbl"><primary sortas="b-gtbl">gtbl</primary></indexterm>
<para id="gtbl"><command>gtbl</command> est l'implémentation GNU de tbl.</para>
 
<indexterm zone="ch-system-groff hpftodit"><primary sortas="b-hpftodit">hpftodit</primary></indexterm>
<para id="hpftodit"><command>hpftodit</command> crée un fichier de polices à
utiliser avec groff -Tlj4 à partir d'un fichier métrique de police HP.</para>
 
<indexterm zone="ch-system-groff indxbib"><primary sortas="b-indxbib">indxbib</primary></indexterm>
<para id="indxbib"><command>indxbib</command> crée un index inversé d'un
fichier spécifié, index utilisé par les bases de données bibliographiques
avec refer, lookbib et lkbib.</para>
 
<indexterm zone="ch-system-groff lkbib"><primary sortas="b-lkbib">lkbib</primary></indexterm>
<para id="lkbib"><command>lkbib</command> recherche les bases de données
bibliographiques et les références contenant certaines clés et indique toute
référence trouvée.</para>
 
<indexterm zone="ch-system-groff lookbib"><primary sortas="b-lookbib">lookbib</primary></indexterm>
<para id="lookbib"><command>lookbib</command> affiche une invite sur la sortie
des erreurs (sauf si l'entrée standard n'est pas un terminal), lit à partir de
l'entrée standard une ligne contenant un ensemble de mots clés, recherche dans
les bases de données bibliographiques dans un fichier spécifié les références
contenant ces mots clés, affiche toute référence trouvée sur la sortie standard
et répère ce processus jusqu'à la fin de l'entrée.</para>
 
<indexterm zone="ch-system-groff mmroff"><primary sortas="b-mmroff">mmroff</primary></indexterm>
<para id="mmroff"><command>mmroff</command> est un pré-processeur pour
groff.</para>
 
<indexterm zone="ch-system-groff neqn"><primary sortas="b-neqn">neqn</primary></indexterm>
<para id="neqn"><command>neqn</command> formatte les équations pour une
sortie ASCII (<foreignphrase>American Standard Code for Information
Interchange</foreignphrase>).</para>
 
<indexterm zone="ch-system-groff nroff"><primary sortas="b-nroff">nroff</primary></indexterm>
<para id="nroff"><command>nroff</command> est un script qui émule la commande
nroff en utilisant groff.</para>
 
<indexterm zone="ch-system-groff pfbtops"><primary sortas="b-pfbtops">pfbtops</primary></indexterm>
<para id="pfbtops"><command>pfbtops</command> traduit une police Postscript au
format .pfb en ASCII.</para>
 
<indexterm zone="ch-system-groff pic"><primary sortas="b-pic">pic</primary></indexterm>
<para id="pic"><command>pic</command> compile les descriptions d'images
embarquées à l'intérieur de fichiers d'entrées troff ou TeX en des commandes
comprises par TeX ou troff.</para>
 
<indexterm zone="ch-system-groff pic2graph"><primary sortas="b-pic2graph">pic2graph</primary></indexterm>
<para id="pic2graph"><command>pic2graph</command> convertit un diagramme PIC en
une image améliorée.</para>
 
<indexterm zone="ch-system-groff pre-grohtml"><primary sortas="b-pre-grohtml">pre-grohtml</primary></indexterm>
<para id="pre-grohtml"><command>pre-grohtml </command> traduit la sortie de GNU
troff en html.</para>
 
<indexterm zone="ch-system-groff post-grohtml"><primary sortas="b-post-grohtml">post-grohtml</primary></indexterm>
<para id="post-grohtml"><command>post-grohtml</command> traduit la sortie de GNU
troff en html.</para>
 
<indexterm zone="ch-system-groff refer"><primary sortas="b-refer">refer</primary></indexterm>
<para id="refer"><command>refer</command> copie le contenu d'un fichier sur la
sortie standard, sauf pour les lignes entre les symboles .[ et .] interprétées
commes des citations, et les lignes entre .R1 et .R2 interprétées comme des
commandes sur la façon de gérer les citations.</para>
 
<indexterm zone="ch-system-groff soelim"><primary sortas="b-soelim">soelim</primary></indexterm>
<para id="soelim"><command>soelim</command> lit des fichiers et remplace les
lignes de la forme <emphasis>.so fichier</emphasis> par le contenu du
<emphasis>fichier</emphasis> mentionné.</para>
 
<indexterm zone="ch-system-groff tbl"><primary sortas="b-tbl">tbl</primary></indexterm>
<para id="tbl"><command>tbl</command> compile les descriptions des tables
imbriquées dans les fichiers d'entrées troff en commandes comprises par
troff.</para>
 
<indexterm zone="ch-system-groff tfmtodit"><primary sortas="b-tfmtodit">tfmtodit</primary></indexterm>
<para id="tfmtodit"><command>tfmtodit</command> crée un fichier de police
à utiliser avec groff -Tdvi.</para>
 
<indexterm zone="ch-system-groff troff"><primary sortas="b-troff">troff</primary></indexterm>
<para id="troff"><command>troff</command> est hautement compatible avec Unix
troff. Habituellement, il devrait être appelé en utilisant la commande groff,
qui lance aussi les pré-processeurs et post-processeurs dans l'ordre approprié
et avec les options appropriées.</para>
 
<indexterm zone="ch-system-groff zsoelim"><primary sortas="b-zsoelim">zsoelim</primary></indexterm>
<para id="zsoelim"><command>zsoelim</command> est l'implémentation GNU de
soelim.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/proc.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-system-proc">
<title>Monter les systèmes de fichiers proc et devpts</title>
<?dbhtml filename="proc.html"?>
 
<para>Pour que certains programmes fonctionnent correctement, les systèmes de
fichiers <emphasis>proc</emphasis> et <emphasis>devpts</emphasis> doivent être
disponibles dans l'environnement chroot. Le système de fichiers proc est le
pseudo système de fichiers d'informations sur les processus à travers lequel le
noyau fournit des informations sur l'état du système. Le système de fichiers
devpts est maintenant le moyen le plus commun d'implémenter les pseudo
terminaux (PTY). À partir de la version du noyau 2.4, un système de
fichiers est montable autant de fois et à autant d'endroits que possible, donc
ce n'est pas un problème que ces systèmes de fichiers soient déjà montés sur
votre système hôte, spécialement parce qu'ils sont des systèmes de fichiers
virtuels.</para>
 
<para>Tout d'abord, devenez <emphasis>root</emphasis>, car seul
<emphasis>root</emphasis> peut monter les systèmes de fichiers à des endroits
inhabituels. Puis, vérifiez bien que la variable d'environnement LFS est
correctement initialisée en lançant <userinput>echo
$LFS</userinput> et en vous assurant que s'affiche le chemin du point de
montage de votre partition LFS, <filename class="directory">/mnt/lfs</filename>
si vous avez suivi notre exemple.</para>
 
<para>Maintenant, créez les points de montage pour ces systèmes de
fichiers&nbsp;:</para>
 
<screen><userinput>mkdir -p $LFS/{proc,dev/pts}</userinput></screen>
 
<para>Montez le système de fichiers <emphasis>proc</emphasis>
avec&nbsp;:</para>
 
<screen><userinput>mount proc $LFS/proc -t proc</userinput></screen>
 
<para>Et montez le système de fichiers <emphasis>devpts</emphasis>
avec&nbsp;:</para>
 
<screen><userinput>mount devpts $LFS/dev/pts -t devpts</userinput></screen>
 
<para>La dernière commande pourrait échouer avec une erreur de ce
type&nbsp;:</para>
 
<blockquote><screen>filesystem devpts not supported by kernel</screen></blockquote>
 
<para>La cause la plus probable de cette erreur est que le noyau de votre
système hôte a été compilé sans le support du système de fichiers devpts (vous
pouvez vérifier quels systèmes de fichiers votre noyau supporte avec
par exemple <command>cat /proc/filesystems</command>). Quelques PTY sont
nécessaires pour lancer les suites de tests pour Binutils et GCC un peu plus
tard. Si votre noyau ne supporte pas devpts, ne vous inquiétez pas, il existe
un autre moyen pour les faire fonctionner dans l'environnement chroot. Nous le
couvrirons rapidement dans la section <xref
linkend="ch-system-MAKEDEV"/>.</para>
 
<para>Rappellez-vous que, si pour une raison quelconque vous arrêtez de
travailer avec votre LFS et recommencer un peu plus tard, il est important de
vérifier que ces systèmes de fichiers sont encore montés avant d'entrer dans
l'environnement chroot, sinon des problèmes pourraient survenir.</para>
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/less.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-system-less" xreflabel="Less">
<title>Less-&less-version;</title>
<?dbhtml filename="less.html"?>
 
<indexterm zone="ch-system-less"><primary sortas="a-Less">Less</primary></indexterm>
 
<para>Le paquet Less contient un visualisateur de fichiers texte.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 3,4&nbsp;Mo</screen>
 
<para>L'installation de Less dépend de Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make, Ncurses, Sed.</para>
 
 
 
<sect2>
<title>Installation de Less</title>
 
<para>Préparez la compilation de Less&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --bindir=/bin --sysconfdir=/etc</userinput></screen>
 
<para>Voici la signification de l'option de configure&nbsp;:</para>
 
<itemizedlist>
<listitem><para><userinput>--sysconfdir=/etc</userinput>&nbsp;: cette option
indique aux programmes créés par le paquet de chercher leurs fichiers de
configuration dans <filename>/etc</filename>.</para></listitem>
</itemizedlist>
 
<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-less"><title>Contenu de Less</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: less, lessecho et
lesskey</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-less less"><primary sortas="b-less">less</primary></indexterm>
<para id="less"><command>less</command> est un visualisateur de fichiers. Il
affiche le contenu du fichier donné, vous permettant d'aller vers le haut et
vers le bas, de chercher des chaînes et de sauter vers des repères..</para>
 
<indexterm zone="ch-system-less lessecho"><primary sortas="b-lessecho">lessecho</primary></indexterm>
<para id="lessecho"><command>lessecho</command> est nécessaire pour étendre les
meta caractères, comme * et ?, dans les noms de fichiers de systèmes
Unix.</para>
 
<indexterm zone="ch-system-less lesskey"><primary sortas="b-lesskey">lesskey</primary></indexterm>
<para id="lesskey"><command>lesskey</command> est utilisé pour spécifier les
associations de touches pour less.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/pwdgroup.xml
0,0 → 1,92
<?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-pwdgroup">
<title>Créer les fichiers passwd, group et les journaux de trace</title>
<?dbhtml filename="pwdgroup.html"?>
 
<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/etc/passwd">/etc/passwd</primary></indexterm>
<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/etc/group">/etc/group</primary></indexterm>
<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/run/utmp">/var/run/utmp</primary></indexterm>
<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/btmp">/var/log/btmp</primary></indexterm>
<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/lastlog">/var/log/lastlog</primary></indexterm>
<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/wtmp">/var/log/wtmp</primary></indexterm>
 
<para>Pour que <emphasis>root</emphasis> puisse se connecter et que le nom
<quote>root</quote> soit reconnu, il doit exister des entrées adéquates dans les
fichiers <filename>/etc/passwd</filename> et <filename>/etc/group</filename>.
</para>
 
<para>Créez le fichier <filename>/etc/passwd</filename> en lançant les
commandes suivantes&nbsp;:</para>
 
<screen><userinput>cat &gt; /etc/passwd &lt;&lt; "EOF"</userinput>
root:x:0:0:root:/root:/bin/bash
<userinput>EOF</userinput></screen>
 
<para>Le mot de passe pour <emphasis>root</emphasis> (le caractère
<quote>x</quote> ici est seulement pour conserver l'emplacement) sera
initialisé plus tard.</para>
 
<para>Créez le fichier <filename>/etc/group</filename> en lançant la commande
suivante&nbsp;:</para>
 
<screen><userinput>cat &gt; /etc/group &lt;&lt; "EOF"</userinput>
root:x:0:
bin:x:1:
sys:x:2:
kmem:x:3:
tty:x:4:
tape:x:5:
daemon:x:6:
floppy:x:7:
disk:x:8:
lp:x:9:
dialout:x:10:
audio:x:11:
<userinput>EOF</userinput></screen>
 
<para>Les groupes créés ne font partie d'aucun standard. Ce sont
simplement les groupes que le script <command>make_devices</command> utilise
dans la prochaine section. Le LSB (<ulink url="http://www.linuxbase.org/">Linux
Standard Base</ulink>) recommande seulement la présence d'un groupe
<quote>root</quote> disposant d'un GID 0 d'un groupe <quote>bin</quote> de GID
1. Tous les autres noms de groupe et GID peuvent être choisis librement par
l'administrateur système car les paquets bien écrits ne dépendent pas des
numéros de GID mais utilisent le nom du groupe.</para>
 
<para>Pour supprimer l'invite <quote>I have no name!</quote>, nous allons
commencer un nouveau shell. Comme nous avons installé un Glibc complet dans le
<xref linkend="chapter-temporary-tools"/> et que nous avons juste créé les
fichiers <filename>/etc/passwd</filename> et <filename>/etc/group</filename>,
le nom d'utilisateur et le nom de groupe devraient fonctionner.</para>
 
<screen><userinput>exec /tools/bin/bash --login +h</userinput></screen>
 
<para>Notez l'utilisation de la directive <emphasis>+h</emphasis>. Ceci indique
à <command>bash</command> de ne pas utiliser son hachage interne des chemins.
Sans cette directive, <command>bash</command> se rappellerait le chemin vers
les binaires qu'il a exécuté. Comme nous voulons utiliser nos binaires
tout juste compilés, nous désactivons cette fonction pendant la durée de
ce chapitre.</para>
 
<para>Les programmes <command>login</command>, <command>agetty</command> et
<command>init</command> (ainsi que d'autres) utilisent un certain nombre de
fichier pour enregistrer les informations comme la personne connectée au
système et sa date d'entrée. Néanmoins, ces programmes n'écrivent pas les
journaux de trace s'ils n'existent pas déjà. Initialisez les journaux et
donnez-leur les bons droits&nbsp;:</para>
 
<screen><userinput>touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
chmod 644 /var/run/utmp /var/log/{btmp,lastlog,wtmp}</userinput></screen>
 
<para>Le fichier <filename>/var/run/utmp</filename> enregistre les utilisateurs
actuellement connecté. Le fichier <filename>/var/log/wtmp</filename> enregistre
toutes les connexions et déconnexions. Le fichier
<filename>/var/log/lastlog</filename> enregistre pour chaque utilisateur quand
il ou elle s'est déjà connecté. Le fichier <filename>/var/log/btmp</filename>
enregistre les tentatives échouées de connexion.</para>
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/coreutils.xml
0,0 → 1,496
<?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" xreflabel="Coreutils">
<title>Coreutils-&coreutils-version;</title>
<?dbhtml filename="coreutils.html"?>
 
<indexterm zone="ch-system-coreutils"><primary sortas="a-Coreutils">Coreutils</primary></indexterm>
 
<para>Le paquet Coreutils contient des outils pour afficher et configurer les
caractéristiques basiques d'un système.</para>
 
<screen>&buildtime; 0,9&nbsp;SBU
&diskspace; 69&nbsp;Mo</screen>
 
<para>L'installation de Coreutils dépend de Bash, Binutils, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make, Perl, Sed.</para>
 
 
 
<sect2>
<title>Installation de Coreutils</title>
<para>Normalement, la fonctionnalité d'<command>uname</command> est un peu
cassé car l'option <emphasis>-p</emphasis> renvoit aussi
<quote>unknown</quote> (inconnu). Le correctif suivant supprime ce comportement
pour les architectures Intel&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../coreutils-&coreutils-version;-uname-1.patch</userinput></screen>
 
<para>Nous ne voulons pas que Coreutils installe sa version du programme
<command>hostname</command> car il est inférieur à la version fournie par
Net-tools. Empêchez son installation en appliquant le correctif&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../coreutils-&coreutils-version;-hostname-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. Nous allons donc configurer certains points avant
d'être capable de lancer ces tests. Si vous choisissez de ne pas lancer ces
tests, allez directement à <quote>Installez le paquet</quote>.</para>
 
<para>Pour être capable de lancer la suite de tests complète, le programme
<command>su</command> a besoin d'être installé. Nous ne nous étions pas occupés
d'installer ce petit programme dans le <xref linkend="chapter-temporary-tools"/>
parce qu'il requiert les droits de root, donc faites-le maintenant&nbsp;:</para>
 
<screen><userinput>make install-root</userinput></screen>
 
<para>Créez le fichier contenant la liste des systèmes de fichiers montés
avec&nbsp;:</para>
 
<screen><userinput>touch /etc/mtab</userinput></screen>
 
<para>Et 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, vous êtes prêt à lancer la suite de tests. Tout d'abord,
lancez les quelques tests qui ont besoin d'être lancé en tant que
<emphasis>root</emphasis>&nbsp;:</para>
 
<screen><userinput>export NON_ROOT_USERNAME=dummy; make check-root</userinput></screen>
 
<para>Puis, lancez le reste des tests en tant qu'utilisateur
<emphasis>dummy</emphasis>&nbsp;:</para>
 
<screen><userinput>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.bak '/dummy/d' /etc/passwd /etc/group</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Et 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,install,ln,ls} /bin
mv /usr/bin/{mkdir,mknod,mv,pwd,rm,rmdir,sync} /bin
mv /usr/bin/{sleep,stty,su,test,touch,true,uname} /bin
mv /usr/bin/chroot /usr/sbin</userinput></screen>
 
<para>Nous allons utiliser le programme <filename>kill</filename> à partir du
paquet Procps (installé en tant que <filename>/bin/kill</filename> plus tard
dans ce chapitre). Supprimez celui installé par Coreutils&nbsp;:</para>
 
<screen><userinput>rm /usr/bin/kill</userinput></screen>
 
<para>Finalement, créez deux liens symboliques pour être compatible avec la
FHS&nbsp;:</para>
 
<screen><userinput>ln -s test /bin/[
ln -s ../../bin/install /usr/bin</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-coreutils"><title>Contenu de Coreutils</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: 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, su, sum, sync, tac, tail, tee, test, touch, tr, true,
tsort, tty, uname, unexpand, uniq, unlink, uptime, users, vdir, wc, who, whoami
et yes</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-coreutils basename"><primary sortas="b-basename">basename</primary></indexterm>
<para id="basename"><command>basename</command> supprime tout le chemin et un
suffixe donné à partir du nom de fichier donné.</para>
 
<indexterm zone="ch-system-coreutils cat"><primary sortas="b-cat">cat</primary></indexterm>
<para id="cat"><command>cat</command> concatène des fichiers sur la sortie
standard.</para>
 
<indexterm zone="ch-system-coreutils chgrp"><primary sortas="b-chgrp">chgrp</primary></indexterm>
<para id="chgrp"><command>chgrp</command> 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 chmod"><primary sortas="b-chmod">chmod</primary></indexterm>
<para id="chmod"><command>chmod</command> 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 chown"><primary sortas="b-chown">chown</primary></indexterm>
<para id="chown"><command>chown</command> modifie le propriétaire utilisateur
et/ou groupe pour chaque fichier donné en utilisant la paire
utilisateur:groupe.</para>
 
<indexterm zone="ch-system-coreutils chroot"><primary sortas="b-chroot">chroot</primary></indexterm>
<para id="chroot"><command>chroot</command> lance une commande donnée avec le
répertoire spécifié en tant que répertoire racine (<filename>/</filename>). La
commande donnée peut être un shell interactif. Sur la plupart des systèmes, seul
l'utilisateur <emphasis>root</emphasis> peut le faire.</para>
 
<indexterm zone="ch-system-coreutils cksum"><primary sortas="b-cksum">cksum</primary></indexterm>
<para id="cksum"><command>cksum</command> affiche la somme de vérification CRC
(Cyclic Redundancy Check) et le nombre d'octets de chaque fichier.</para>
 
<indexterm zone="ch-system-coreutils comm"><primary sortas="b-comm">comm</primary></indexterm>
<para id="comm"><command>comm</command> compare deux fichiers triés, affichant
sur trois colonnes, les lignes uniques et les lignes communes.</para>
 
<indexterm zone="ch-system-coreutils cp"><primary sortas="b-cp">cp</primary></indexterm>
<para id="cp"><command>cp</command> copie des fichiers.</para>
 
<indexterm zone="ch-system-coreutils csplit"><primary sortas="b-csplit">csplit</primary></indexterm>
<para id="csplit"><command>csplit</command> 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 cut"><primary sortas="b-cut">cut</primary></indexterm>
<para id="cut"><command>cut</command> affiche des parties de lignes,
sélectionnant ces parties suivant des champs ou positions donnés.</para>
 
<indexterm zone="ch-system-coreutils date"><primary sortas="b-date">date</primary></indexterm>
<para id="date"><command>date</command> affiche l'heure actuelle dans le
format donné ou initialise la date système.</para>
 
<indexterm zone="ch-system-coreutils dd"><primary sortas="b-dd">dd</primary></indexterm>
<para id="dd"><command>dd</command> 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 df"><primary sortas="b-df">df</primary></indexterm>
<para id="df"><command>df</command> 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 dir"><primary sortas="b-dir">dir</primary></indexterm>
<para id="dir"><command>dir</command> est identique à ls.</para>
 
<indexterm zone="ch-system-coreutils dircolors"><primary sortas="b-dircolors">dircolors</primary></indexterm>
<para id="dircolors"><command>dircolors</command> affiche les commandes
pour initialiser la variable d'environnement LS_COLOR, ce qui permet de changer
le schéma de couleurs utilisé par ls.</para>
 
<indexterm zone="ch-system-coreutils dirname"><primary sortas="b-dirname">dirname</primary></indexterm>
<para id="dirname"><command>dirname</command> supprime le suffixe qui ne
représente pas le répertoire dans un nom de fichier donné.</para>
 
<indexterm zone="ch-system-coreutils du"><primary sortas="b-du">du</primary></indexterm>
<para id="du"><command>du</command> 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 echo"><primary sortas="b-echo">echo</primary></indexterm>
<para id="echo"><command>echo</command> affiche les chaînes données.</para>
 
<indexterm zone="ch-system-coreutils env"><primary sortas="b-env">env</primary></indexterm>
<para id="env"><command>env</command> lance une commande dans un environnement
modifié.</para>
 
<indexterm zone="ch-system-coreutils expand"><primary sortas="b-expand">expand</primary></indexterm>
<para id="expand"><command>expand</command> convertit les tabulations en
espaces.</para>
 
<indexterm zone="ch-system-coreutils expr"><primary sortas="b-expr">expr</primary></indexterm>
<para id="expr"><command>expr</command> évalue des expressions.</para>
 
<indexterm zone="ch-system-coreutils factor"><primary sortas="b-factor">factor</primary></indexterm>
<para id="factor"><command>factor</command> affiche les facteurs premiers de
tous les entiers spécifiés.</para>
 
<indexterm zone="ch-system-coreutils false"><primary sortas="b-false">false</primary></indexterm>
<para id="false"><command>false</command> ne fait rien. Il renvoit toujours un
un code d'erreur indiquant l'échec.</para>
 
<indexterm zone="ch-system-coreutils mt"><primary sortas="b-mt">mt</primary></indexterm>
<para id="mt"><command>fmt</command> reformate les paragraphes dans les
fichiers donnés.</para>
 
<indexterm zone="ch-system-coreutils fold"><primary sortas="b-fold">fold</primary></indexterm>
<para id="fold"><command>fold</command> emballe les lignes des fichiers
donnés.</para>
 
<indexterm zone="ch-system-coreutils groups-coreutils"><primary sortas="b-groups-coreutils">groups</primary></indexterm>
<para id="groups-coreutils"><command>groups</command> affiche les groupes
auxquels appartient un utilisateur.</para>
 
<indexterm zone="ch-system-coreutils head"><primary sortas="b-head">head</primary></indexterm>
<para id="head"><command>head</command> affiche les dix premières lignes (ou le
nombre demandé de lignes) pour chaque fichier précisé.</para>
 
<indexterm zone="ch-system-coreutils hostid"><primary sortas="b-hostid">hostid</primary></indexterm>
<para id="hostid"><command>hostid</command> affiche l'identifiant numérique de
l'hôte en héxadécimal.</para>
 
<indexterm zone="ch-system-coreutils hostname-coreutils"><primary sortas="b-hostname-coreutils">hostname</primary></indexterm>
<para id="hostname-coreutils"><command>hostname</command> affiche ou initialise
le nom de l'hôte.</para>
 
<indexterm zone="ch-system-coreutils id"><primary sortas="b-id">id</primary></indexterm>
<para id="id"><command>id</command> 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 install"><primary sortas="b-install">install</primary></indexterm>
<para id="install"><command>install</command> copie les fichiers en
initialisant leur droits et, si possible, leur propriétaire et groupe.</para>
 
<indexterm zone="ch-system-coreutils join"><primary sortas="b-join">join</primary></indexterm>
<para id="join"><command>join</command> joint à partir de deux fichiers les
lignes qui ont des champs de jointure identiques.</para>
 
<indexterm zone="ch-system-coreutils link"><primary sortas="b-link">link</primary></indexterm>
<para id="link"><command>link</command> crée un lien physique avec le nom de
donné vers le fichier indiqué.</para>
 
<indexterm zone="ch-system-coreutils ln"><primary sortas="b-ln">ln</primary></indexterm>
<para id="ln"><command>ln</command> crée des liens symboliques ou physiques
entre des fichiers.</para>
 
<indexterm zone="ch-system-coreutils logname"><primary sortas="b-logname">logname</primary></indexterm>
<para id="logname"><command>logname</command> indique le nom de connexion de
l'utilisateur actuel.</para>
 
<indexterm zone="ch-system-coreutils ls"><primary sortas="b-ls">ls</primary></indexterm>
<para id="ls"><command>ls</command> liste le contenu de chaque répertoire don
né. Par défaut, il ordonne les fichiers et sous-répertoires
alphabetiquement.</para>
 
<indexterm zone="ch-system-coreutils md5sum"><primary sortas="b-md5sum">md5sum</primary></indexterm>
<para id="md5sum"><command>md5sum</command> affiche ou vérifie les sommes de
vérification MD5 (Message Digest 5).</para>
 
<indexterm zone="ch-system-coreutils mkdir"><primary sortas="b-mkdir">mkdir</primary></indexterm>
<para id="mkdir"><command>mkdir</command> crée des répertoires avec les
noms donnés.</para>
 
<indexterm zone="ch-system-coreutils mkfifo"><primary sortas="b-mkfifo">mkfifo</primary></indexterm>
<para id="mkfifo"><command>mkfifo</command> crée des fichiers FIFOs (First-In,
First-Out, un tube nommé dans le vocable d'Unix) avec les noms donnés.</para>
 
<indexterm zone="ch-system-coreutils mknod"><primary sortas="b-mknod">mknod</primary></indexterm>
<para id="mknod"><command>mknod</command> 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 mv"><primary sortas="b-mv">mv</primary></indexterm>
<para id="mv"><command>mv</command> déplace ou renomme des fichiers ou
répertoires.</para>
 
<indexterm zone="ch-system-coreutils nice"><primary sortas="b-nice">nice</primary></indexterm>
<para id="nice"><command>nice</command> lance un programme avec un priorité
modifiée.</para>
 
<indexterm zone="ch-system-coreutils nl"><primary sortas="b-nl">nl</primary></indexterm>
<para id="nl"><command>nl</command> numérote les lignes des fichiers
donnés.</para>
 
<indexterm zone="ch-system-coreutils nohup"><primary sortas="b-nohup">nohup</primary></indexterm>
<para id="nohup"><command>nohup</command> 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 od"><primary sortas="b-od">od</primary></indexterm>
<para id="od"><command>od</command> affiche les fichiers en octal ou sous
d'autres formes.</para>
 
<indexterm zone="ch-system-coreutils paste"><primary sortas="b-paste">paste</primary></indexterm>
<para id="paste"><command>paste</command> 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 pathchk"><primary sortas="b-pathchk">pathchk</primary></indexterm>
<para id="pathchk"><command>pathchk</command> vérifie que les noms de fichier
sont valides ou portables.</para>
 
<indexterm zone="ch-system-coreutils pinky"><primary sortas="b-pinky">pinky</primary></indexterm>
<para id="pinky"><command>pinky</command> est un <quote>finger</quote> léger.
Il affiche quelques informations sur les utilisateurs indiqués.</para>
 
<indexterm zone="ch-system-coreutils pr"><primary sortas="b-pr">pr</primary></indexterm>
<para id="pr"><command>pr</command> fait de la pagination, principalement en
colonne, des fichiers pour une impression.</para>
 
<indexterm zone="ch-system-coreutils printenv"><primary sortas="b-printenv">printenv</primary></indexterm>
<para id="printenv"><command>printenv</command> affiche l'environnement.</para>
 
<indexterm zone="ch-system-coreutils printf"><primary sortas="b-printf">printf</primary></indexterm>
<para id="printf"><command>printf</command> affiche les arguments donnés
suivant le format demandé, un peu comme la fonction C printf.</para>
 
<indexterm zone="ch-system-coreutils ptx"><primary sortas="b-ptx">ptx</primary></indexterm>
<para id="ptx"><command>ptx</command> produit un index permutté à partir du
contenu des fichiers indiqués, avec le contexte de chaque mot.</para>
 
<indexterm zone="ch-system-coreutils pwd"><primary sortas="b-pwd">pwd</primary></indexterm>
<para id="pwd"><command>pwd</command> indique le nom du répertoire
courant.</para>
 
<indexterm zone="ch-system-coreutils readlink"><primary sortas="b-readlink">readlink</primary></indexterm>
<para id="readlink"><command>readlink</command> indique la valeur du lien
symbolique.</para>
 
<indexterm zone="ch-system-coreutils rm"><primary sortas="b-rm">rm</primary></indexterm>
<para id="rm"><command>rm</command> supprime des fichiers ou des
répertoires.</para>
 
<indexterm zone="ch-system-coreutils rmdir"><primary sortas="b-rmdir">rmdir</primary></indexterm>
<para id="rmdir"><command>rmdir</command> supprime des répertoires s'ils
sont vides.</para>
 
<indexterm zone="ch-system-coreutils seq"><primary sortas="b-seq">seq</primary></indexterm>
<para id="seq"><command>seq</command> 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 sha1sum"><primary sortas="b-sha1sum">sha1sum</primary></indexterm>
<para id="sha1sum"><command>sha1sum</command> affiche ou vérifie des sommes de
vérification 160-bit SHA1.</para>
 
<indexterm zone="ch-system-coreutils shred"><primary sortas="b-shred">shred</primary></indexterm>
<para id="shred"><command>shred</command> 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 sleep"><primary sortas="b-sleep">sleep</primary></indexterm>
<para id="sleep"><command>sleep</command> fait une pause d'un certain
temps.</para>
 
<indexterm zone="ch-system-coreutils sort"><primary sortas="b-sort">sort</primary></indexterm>
<para id="sort"><command>sort</command> trie les lignes des fichiers
donnés.</para>
 
<indexterm zone="ch-system-coreutils split"><primary sortas="b-split">split</primary></indexterm>
<para id="split"><command>split</command> divise les fichiers donnés en
plusieurs pièces, par taille ou par nombre de lignes.</para>
 
<indexterm zone="ch-system-coreutils stty"><primary sortas="b-stty">stty</primary></indexterm>
<para id="stty"><command>stty</command> initialise ou affiche les paramètrages
de la ligne du terminal.</para>
 
<indexterm zone="ch-system-coreutils su"><primary sortas="b-su">su</primary></indexterm>
<para id="su"><command>su</command> lance un shell avec un identifiant
utilisateur et groupe de substitution.</para>
 
<indexterm zone="ch-system-coreutils sum"><primary sortas="b-sum">sum</primary></indexterm>
<para id="sum"><command>sum</command> affiche la somme de vérification et le
nombre de blocs pour chacun des fichiers donnés.</para>
 
<indexterm zone="ch-system-coreutils sync"><primary sortas="b-sync">sync</primary></indexterm>
<para id="sync"><command>sync</command> 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 tac"><primary sortas="b-tac">tac</primary></indexterm>
<para id="tac"><command>tac</command> concatène les fichiers donnés à
l'envers.</para>
 
<indexterm zone="ch-system-coreutils tail"><primary sortas="b-tail">tail</primary></indexterm>
<para id="tail"><command>tail</command> affiche les dix dernières lignes (ou le
nombre de lignes indiqué) pour chaque fichier précisé.</para>
 
<indexterm zone="ch-system-coreutils tee"><primary sortas="b-tee">tee</primary></indexterm>
<para id="tee"><command>tee</command> 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 test"><primary sortas="b-test">test</primary></indexterm>
<para id="test"><command>test</command> compare les valeurs et vérifie les
types de fichiers.</para>
 
<indexterm zone="ch-system-coreutils touch"><primary sortas="b-touch">touch</primary></indexterm>
<para id="touch"><command>touch</command> 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 l
ongueur nulle.</para>
 
<indexterm zone="ch-system-coreutils tr"><primary sortas="b-tr">tr</primary></indexterm>
<para id="tr"><command>tr</command> traduit, réduit et supprime les caractères
donnés à partir de l'entrée standard.</para>
 
<indexterm zone="ch-system-coreutils true"><primary sortas="b-true">true</primary></indexterm>
<para id="true"><command>true</command> ne fait rien mais avec succès. Il
quitte avec un code de sortie indiquant une réussite.</para>
 
<indexterm zone="ch-system-coreutils tsort"><primary sortas="b-tsort">tsort</primary></indexterm>
<para id="tsort"><command>tsort</command> réalise un tri topologique. Il écrit
une liste totalement ordonnée suivant un fichier donné partiellement
ordonné.</para>
 
<indexterm zone="ch-system-coreutils tty"><primary sortas="b-tty">tty</primary></indexterm>
<para id="tty"><command>tty</command> indique le nom du fichier du terminal
connecté à l'entrée standard.</para>
 
<indexterm zone="ch-system-coreutils uname"><primary sortas="b-uname">uname</primary></indexterm>
<para id="uname"><command>uname</command> affiche les informations
système.</para>
 
<indexterm zone="ch-system-coreutils unexpand"><primary sortas="b-unexpand">unexpand</primary></indexterm>
<para id="unexpand"><command>unexpand</command> convertit les espaces en
tabulations.</para>
 
<indexterm zone="ch-system-coreutils uniq"><primary sortas="b-uniq">uniq</primary></indexterm>
<para id="uniq"><command>uniq</command> ne conserver qu'une ligne sur
plusieurs lignes identiques successivement.</para>
 
<indexterm zone="ch-system-coreutils unlink"><primary sortas="b-unlink">unlink</primary></indexterm>
<para id="unlink"><command>unlink</command> supprime le fichier donné.</para>
 
<indexterm zone="ch-system-coreutils uptime-coreutils"><primary sortas="b-uptime-coreutils">uptime</primary></indexterm>
<para id="uptime-coreutils"><command>uptime</command> indique depuis combien
de temps le système est démarré, combien d'utilisateurs sont actuellement
connectés ainsi que les moyennes de charge du système.</para>
 
<indexterm zone="ch-system-coreutils users"><primary sortas="b-users">users</primary></indexterm>
<para id="users"><command>users</command> indique les noms des utilisateurs
actuellement connectés.</para>
 
<indexterm zone="ch-system-coreutils vdir"><primary sortas="b-vdir">vdir</primary></indexterm>
<para id="vdir"><command>vdir</command> est identique à ls -l.</para>
 
<indexterm zone="ch-system-coreutils wc"><primary sortas="b-wc">wc</primary></indexterm>
<para id="wc"><command>wc</command> 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 who"><primary sortas="b-who">who</primary></indexterm>
<para id="who"><command>who</command> indique qui est connecté.</para>
 
<indexterm zone="ch-system-coreutils whoami"><primary sortas="b-whoami">whoami</primary></indexterm>
<para id="whoami"><command>whoami</command> indique le nom de l'utilisateur
associé avec l'identifiant utilisateur effectif.</para>
 
<indexterm zone="ch-system-coreutils yes"><primary sortas="b-yes">yes</primary></indexterm>
<para id="yes"><command>yes</command> affiche <quote>y</quote> ou la chaîne
précisée de manière répétée jusqu'à être tué.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/bison.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-system-bison" xreflabel="Bison">
<title>Bison-&bison-version;</title>
<?dbhtml filename="bison.html"?>
 
<indexterm zone="ch-system-bison"><primary sortas="a-Bison">Bison</primary></indexterm>
 
<para>Le paquet Bison contient un générateur d'analyseurs.</para>
 
<screen>&buildtime; 0,6&nbsp;SBU
&diskspace; 10,6&nbsp;Mo</screen>
 
<para>L'installation de Bison dépend de Bash, Binutils, Coreutils, Diffutils,
GCC, Gettext, Glibc, Grep, M4, Make, Sed.</para>
 
 
 
<sect2>
<title>Installation de Bison</title>
 
<para>Tout d'abord, corrigez un problème mineur de compilation que Bison a avec
quelques paquets, ce correctif a été placé dans le CVS&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../bison-&bison-version;-attribute.patch</userinput></screen>
 
<para>Maintenant, préparez la compilation de Bison&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>Maintenant, installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-bison"><title>Contenu de Bison</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: bison et yacc</para>
 
<para><emphasis>Bibliothèque installée</emphasis>&nbsp;: liby.a</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-bison bison"><primary sortas="b-bison">bison</primary></indexterm>
<para id="bison"><command>bison</command> génère, à partir d'une série de
règles, un programme d'analyse de structures de fichiers texte. Bison est un
remplacement de yacc (Yet Another Compiler Compiler).</para>
 
<indexterm zone="ch-system-bison yacc"><primary sortas="b-yacc">yacc</primary></indexterm>
<para id="yacc"><command>yacc</command> est un emballage pour bison, ce qui
signifie que les programmes peuvent toujours appelés yacc au lieu de bison.
Bison est lancé avec l'option -y.</para>
 
<indexterm zone="ch-system-bison liby.a"><primary sortas="c-liby.a">liby.a</primary></indexterm>
<para id="liby.a"><command>liby.a</command> est la bibliothèque Yacc contenant
les implémentations des fonctions compatibles Yaxx contenant yyerror et main.
Cette bibliothèque n'est normalement pas utile mais POSIX la réclame.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/e2fsprogs.xml
0,0 → 1,211
<?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-e2fsprogs" xreflabel="E2fsprogs">
<title>E2fsprogs-&e2fsprogs-version;</title>
<?dbhtml filename="e2fsprogs.html"?>
 
<indexterm zone="ch-system-e2fsprogs"><primary sortas="a-E2fsprogs">E2fsprogs</primary></indexterm>
 
<para>Le paquet E2fsprogs contient les outils de gestion du système de fichiers
ext2. Il supporte aussi le système de fichiers journalisé ext3.</para>
 
<screen>&buildtime; 0,6&nbsp;SBU
&diskspace; 48,4&nbsp;Mo</screen>
 
<para>L'installation d'E2fsprogs dépend de Bash, Binutils, Coreutils,
Diffutils, Gawk, GCC, Gettext, Glibc, Grep, Make, Sed, Texinfo.</para>
 
 
 
<sect2>
<title>Installation d'E2fsprogs</title>
 
<para>Il est recommandé de construire E2fsprogs en dehors du répertoire
source&nbsp;:</para>
 
<screen><userinput>mkdir ../e2fsprogs-build
cd ../e2fsprogs-build</userinput></screen>
 
<para>Préparez la compilation d'E2fsprogs&nbsp;:</para>
 
<screen><userinput>../e2fsprogs-&e2fsprogs-version;/configure --prefix=/usr --with-root-prefix="" \
--enable-elf-shlibs</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<itemizedlist>
<listitem><para><userinput>--with-root-prefix=""</userinput>&nbsp;: certains
programmes (comme e2fsck) sont considérés essentiels. Quand, par exemple,
<filename class="directory">/usr</filename> n'est pas monté, les programmes
essentiels ne sont pas disponibles. Ils appartiennent aux répertoires comme
<filename class="directory">/lib</filename> et <filename
class="directory">/sbin</filename>. Si cette option n'est pas passée à
configure, les programmes sont placés dans le répertoire <filename
class="directory">/usr</filename>, ce qui n'est pas ce que nous voulons.
</para></listitem>
 
<listitem><para><userinput>--enable-elf-shlibs</userinput>&nbsp;: ceci crée les
bibliothèques partagées que certains programmes de ce paquet utilisent.
</para></listitem>
</itemizedlist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Si vous testez les résultats, assurez-vous d'abord qu'un fichier mtab
existe avec <userinput>touch /etc/mtab</userinput> pour empêcher les quelques
soixante tests d'échouer et, s'il n'existe pas déjà, simulez la présence d'un
ancien programme d'affichage page par page avec <userinput>ln -s /tools/bin/cat
/bin/more</userinput> ce qui empêchera l'échec d'un autre test, lancez
donc&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez une grosse partie du paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Installez aussi les bibliothèques partagées&nbsp;:</para>
 
<screen><userinput>make install-libs</userinput></screen>
 
</sect2>
 
 
 
<sect2 id="contents-e2fsprogs"><title>Contenu d'E2fsprogs</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: badblocks, blkid, chattr,
compile_et, debugfs, dumpe2fs, e2fsck, e2image, e2label, findfs, fsck,
fsck.ext2, fsck.ext3, logsave, lsattr, mk_cmds, mke2fs, mkfs.ext2, mkfs.ext3,
mklost+found, resize2fs, tune2fs et uuidgen.</para>
 
<para><emphasis>Bibliothèques installées</emphasis>&nbsp;: libblkid.[a,so],
libcom_err.[a,so], libe2p.[a,so], libext2fs.[a,so], libss.[a,so] et
libuuid.[a,so]</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-e2fsprogs badblocks"><primary sortas="b-badblocks">badblocks</primary></indexterm>
<para id="badblocks"><command>badblocks</command> recherche les blocs
défectueux sur un périphérique (habituellement une partition d'un
disque).</para>
 
<indexterm zone="ch-system-e2fsprogs blkid"><primary sortas="b-blkid">blkid</primary></indexterm>
<para id="blkid"><command>blkid</command> est un outil en ligne de commande
pour trouver et afficher les attributs d'un périphérique bloc.</para>
 
<indexterm zone="ch-system-e2fsprogs chattr"><primary sortas="b-chattr">chattr</primary></indexterm>
<para id="chattr"><command>chattr</command> modifie les attributs de fichiers
sur un système de fichiers ext2 et ext3, la version journalisée d'ext2.</para>
 
<indexterm zone="ch-system-e2fsprogs compile_et"><primary sortas="b-compile_et">compile_et</primary></indexterm>
<para id="compile_et"><command>compile_et</command> est un compilateur de table
d'erreurs. Il convertit une table de noms d'erreurs et des messages associés en
un fichier source C à utiliser avec la bibliothèque com_err.</para>
 
<indexterm zone="ch-system-e2fsprogs debugfs"><primary sortas="b-debugfs">debugfs</primary></indexterm>
<para id="debugfs"><command>debugfs</command> est un débogueur de système de
fichiers. Il est utilisé pour examiner et modifier l'état d'un système de
fichiers ext2.</para>
 
<indexterm zone="ch-system-e2fsprogs dumpe2fs"><primary sortas="b-dumpe2fs">dumpe2fs</primary></indexterm>
<para id="dumpe2fs"><command>dumpe2fs</command> affiche le superbloc et
les informations de groupes de blocs sur le système de fichiers présent
sur un périphérique donné.</para>
 
<indexterm zone="ch-system-e2fsprogs e2fsck"><primary sortas="b-e2fsck">e2fsck</primary></indexterm>
<para id="e2fsck"><command>e2fsck</command> est utilisé pour vérifier, et
quelque fois réparé, les systèmes de fichiers ext2 et ext3</para>
 
<indexterm zone="ch-system-e2fsprogs e2image"><primary sortas="b-e2image">e2image</primary></indexterm>
<para id="e2image"><command>e2image</command> est utilisé pour sauver les
données critiques d'un système de fichiers ext2 dans un fichier.</para>
 
<indexterm zone="ch-system-e2fsprogs e2label"><primary sortas="b-e2label">e2label</primary></indexterm>
<para id="e2label"><command>e2label</command> affiche ou modifie le label d'un
système de fichiers ext2 présent sur un périphérique donné.</para>
 
<indexterm zone="ch-system-e2fsprogs findfs"><primary sortas="b-findfs">findfs</primary></indexterm>
<para id="findfs"><command>findfs</command> trouve un système de fichiers
par label ou UUID (<foreignphrase>Universally Unique
Identifier</foreignphrase>, soit Identifiant Unique Universel).</para>
 
<indexterm zone="ch-system-e2fsprogs fsck"><primary sortas="b-fsck">fsck</primary></indexterm>
<para id="fsck"><command>fsck</command> est utilisé pour vérifier, et parfois
réparer, les systèmes de fichiers. Par défaut, il vérifie les systèmes de
fichiers listés dans <filename>/etc/fstab</filename></para>
 
<indexterm zone="ch-system-e2fsprogs logsave"><primary sortas="b-logsave">logsave</primary></indexterm>
<para id="logsave"><command>logsave</command> sauvegarde la sortie d'une
commande dans un journal de traces.</para>
 
<indexterm zone="ch-system-e2fsprogs lsattr"><primary sortas="b-lsattr">lsattr</primary></indexterm>
<para id="lsattr"><command>lsattr</command> liste les attributs de fichiers sur
un système de fichiers ext2.</para>
 
<indexterm zone="ch-system-e2fsprogs mk_cmds"><primary sortas="b-mk_cmds">mk_cmds</primary></indexterm>
<para id="mk_cmds"><command>mk_cmds</command> convertit une table de noms de
commandes et de messages d'aide en un fichier source C bon à utiliser avec
la bibliothèque <filename>libss</filename>.</para>
 
<indexterm zone="ch-system-e2fsprogs mke2fs"><primary sortas="b-mke2fs">mke2fs</primary></indexterm>
<para id="mke2fs"><command>mke2fs</command> est utilisé pour créer un système
de fichiers ext2 sur le périphérique donné.</para>
 
<indexterm zone="ch-system-e2fsprogs mklost-found"><primary sortas="b-mklost+found">mklost+found</primary></indexterm>
<para id="mklost-found"><command>mklost+found</command> est utilisé pour créer
un répertoire <filename>lost+found</filename> sur un système de fichiers ext2.
Il pré-alloue des blocs disque dans ce répertoire pour faciliter la tâche
d'e2fsck.</para>
 
<indexterm zone="ch-system-e2fsprogs resize2fs"><primary sortas="b-resize2fs">resize2fs</primary></indexterm>
<para id="resize2fs"><command>resize2fs</command> est utilisé pour agrandir
ou réduire un système de fichiers ext2.</para>
 
<indexterm zone="ch-system-e2fsprogs tune2fs"><primary sortas="b-tune2fs">tune2fs</primary></indexterm>
<para id="tune2fs"><command>tune2fs</command> est utilisé pour ajuster les
paramètres d'un système de fichiers à condition qu'il soit un ext2.</para>
 
<indexterm zone="ch-system-e2fsprogs uuidgen"><primary sortas="b-uuidgen">uuidgen</primary></indexterm>
<para id="uuidgen"><command>uuidgen</command> crée un nouvel UUID. Chaque
nouveau UUID peut être raisonnablement considéré unique parmi tous les UUID
créés, sur le système local mais aussi sur les autres, dans le passé et dans le
futur.</para>
 
<indexterm zone="ch-system-e2fsprogs libblkid"><primary sortas="c-libblkid">libblkid</primary></indexterm>
<para id="libblkid"><command>libblkid</command> contient des routines pour
l'identification de processus et l'extraction de modèles.</para>
 
<indexterm zone="ch-system-e2fsprogs libcom_err"><primary sortas="c-libcom_err">libcom_err</primary></indexterm>
<para id="libcom_err"><command>libcom_err</command> est la routine d'affichage
d'erreurs.</para>
 
<indexterm zone="ch-system-e2fsprogs libe2p"><primary sortas="c-libe2p">libe2p</primary></indexterm>
<para id="libe2p"><command>libe2p</command> est utilisé par dumpe2fs, chattr et
lsattr.</para>
 
<indexterm zone="ch-system-e2fsprogs libext2fs"><primary sortas="c-libext2fs">libext2fs</primary></indexterm>
<para id="libext2fs"><command>libext2fs</command> contient des routines pour
permettre aux programmes niveau utilisateur de manipulater un système de
fichiers ext2.</para>
 
<indexterm zone="ch-system-e2fsprogs libss"><primary sortas="c-libss">libss</primary></indexterm>
<para id="libss"><command>libss</command> est utilisé par debugfs.</para>
 
<indexterm zone="ch-system-e2fsprogs libuuid"><primary sortas="c-libuuid">libuuid</primary></indexterm>
<para id="libuuid"><command>libuuid</command> contient des routines pour
générer des identifiants uniques pour les objets qui pourraient être
accessibles en dehors du système local.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/man.xml
0,0 → 1,132
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-man" xreflabel="Man">
<title>Man-&man-version;</title>
<?dbhtml filename="man.html"?>
 
<indexterm zone="ch-system-man"><primary sortas="a-Man">Man</primary></indexterm>
 
<para>Le paquet Man contient des programmes de recherche et de visualisation
de pages man.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 1,9&nbsp;Mo</screen>
 
<para>L'installation de Man dépend de Bash, Binutils, Coreutils, Gawk, GCC,
Glibc, Grep, Make, Sed.</para>
 
 
 
<sect2>
<title>Installation de Man</title>
 
<para>Nous allons faire trois ajustements des sources de Man.</para>
 
<para>Le premier est un correctif qui permet à Man de mieux fonctionner avec
les nouvelles versions de Groff. En particulier, les pages man s'afficheront
maintenant sur la largeur complète du terminal au lieu d'être limité à 80
caractères&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../man-&man-version;-80cols.patch</userinput></screen>
 
<para>Le second est une substitution sed pour ajouter l'option
<emphasis>-R</emphasis> à la variable <emphasis>PAGER</emphasis> de façon à ce
que les séquences d'échappement soient correctement gérées par
Less&nbsp;:</para>
 
<screen><userinput>sed -i 's/-is/&amp;R/' configure</userinput></screen>
 
<para>Le troisième est aussi une substitution sed décommentant la ligne
<quote>MANPATH /usr/man</quote> dans le fichier <filename>man.conf</filename>
pour supprimer les résultats redondants lors de l'utilisation de programmes
comme <command>whatis</command>&nbsp;:</para>
 
<screen><userinput>sed -i 's%MANPATH./usr/man%#&amp;%' src/man.conf.in</userinput></screen>
<para>Maintenant, préparez la compilation Man de&nbsp;:</para>
 
<screen><userinput>./configure -default -confdir=/etc</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<itemizedlist>
<listitem><para><userinput>-default</userinput>&nbsp;: ceci précise au script
configure de sélectionner un ensemble cohérent d'options par défaut. Par
exemple&nbsp;: seulement les pages man anglaises, pas de catalogues de
messages, pas de suid pour man, activer la compression des pages man, activer
la compression des pages cat, créer les pages cat lorsque le répertoire
correspondant existe, suivre FHS en plaçant les pages cat sous /var/cache/man
(si tant est que ce répertoire existe).</para></listitem>
 
<listitem><para><userinput>-confdir=/etc</userinput>&nbsp;: ceci indique au
programme <command>man</command> de rechercher le fichier de configuration
<filename>man.conf</filename> dans le répertoire <filename>/etc</filename>.
</para></listitem>
</itemizedlist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Enfin, installez-le&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<note><para>Si vous souhaitez désactiver les séquences d'échappement SGR
(<foreignphrase>Select Graphic Rendition</foreignphrase>), vous devez éditer le
fichier <filename>man.conf</filename> et ajouter l'option
<emphasis>-c</emphasis> pour NROFF.</para></note>
 
<para>Vous pouvez aussi jeter un &oelig;il à la page BLFS sur
<ulink url="&blfs-root;view/cvs/postlfs/compressdoc.html"/> car elle s'occupe
des problèmes de formattage et de compression des pages man.</para>
 
</sect2>
 
 
<sect2 id="contents-man"><title>Contenu de Man</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: apropos, makewhatis, man,
man2dvi, man2html et whatis</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-man apropos"><primary sortas="b-apropos">apropos</primary></indexterm>
<para id="apropos"><command>apropos</command> cherche dans la base de données
whatis et affiche les descriptions courtes des commandes systèmes contenant
une chaîne donnée.</para>
 
<indexterm zone="ch-system-man makewhatis"><primary sortas="b-makewhatis">makewhatis</primary></indexterm>
<para id="makewhatis"><command>makewhatis</command> construit la base de données
whatis. Il lit toutes les pages man comprises dans manpath et, pour chaque
page, écrit le nom et une courte description dans la base de données whatis.
</para>
 
<indexterm zone="ch-system-man man"><primary sortas="b-man">man</primary></indexterm>
<para id="man"><command>man</command> formate et affiche la page man demandée
en ligne.</para>
 
<indexterm zone="ch-system-man man2dvi"><primary sortas="b-man2dvi">man2dvi</primary></indexterm>
<para id="man2dvi"><command>man2dvi</command> convertit une page man au format
dvi.</para>
 
<indexterm zone="ch-system-man man2html"><primary sortas="b-man2html">man2html</primary></indexterm>
<para id="man2html"><command>man2html</command> convertit une page man en
html.</para>
 
<indexterm zone="ch-system-man whatis"><primary sortas="b-whatis">whatis</primary></indexterm>
<para id="whatis"><command>whatis</command> recherche dans la base de données
whatis et affiche les descriptions courtes des commandes système contenant un
mot clé donné comme un mot séparé.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/sed.xml
0,0 → 1,60
<?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-sed" xreflabel="Sed">
<title>Sed-&sed-version;</title>
<?dbhtml filename="sed.html"?>
 
<indexterm zone="ch-system-sed"><primary sortas="a-Sed">Sed</primary></indexterm>
 
<para>Le paquet Sed contient un éditeur de flux.</para>
 
<screen>&buildtime; 0,2&nbsp;SBU
&diskspace; 5,2&nbsp;Mo</screen>
 
<para>L'installation de Sed dépend de Bash, Binutils, Coreutils, Diffutils, GCC,
Gettext, Glibc, Grep, Make, Texinfo.</para>
 
 
 
<sect2>
<title>Installation de Sed</title>
 
<para>Préparez la compilation de Sed&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --bindir=/bin</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>Maintenant, installez le paquet:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-sed"><title>Contenu de Sed</title>
 
<para><emphasis>Programme installé</emphasis>&nbsp;: sed</para>
 
</sect2>
 
 
<sect2><title>Courte description</title>
 
<indexterm zone="ch-system-sed sed"><primary sortas="b-sed">sed</primary></indexterm>
<para id="sed"><command>sed</command> est utilisé pour filtrer et
pour transformer des fichiers texte en une seule passe.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/make.xml
0,0 → 1,62
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-make" xreflabel="Make">
<title>Make-&make-version;</title>
<?dbhtml filename="make.html"?>
 
<indexterm zone="ch-system-make"><primary sortas="a-Make">Make</primary></indexterm>
 
<para>Le paquet Make contient un programme pour compiler de gros
paquets.</para>
 
<screen>&buildtime; 0,2&nbsp;SBU
&diskspace; 8,8&nbsp;Mo</screen>
 
<para>L'installation de Make dépend de Bash, Binutils, Coreutils, Diffutils,
GCC, Gettext, Glibc, Grep, Sed.</para>
 
 
 
<sect2>
<title>Installation de Make</title>
 
<para>Préparez la compilation de Make&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>Maintenant, installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-make"><title>Contenu de Make</title>
 
<para><emphasis>Programme installé</emphasis>&nbsp;: make</para>
 
</sect2>
 
 
<sect2><title>Courtes description</title>
 
<indexterm zone="ch-system-make make"><primary sortas="b-make">make</primary></indexterm>
<para id="make"><command>make</command> détermine automatiquement quelles
pièces d'un large paquet doivent être recompilées. Puis, il lance les
commandes adéquates.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/autoconf.xml
0,0 → 1,100
<?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-autoconf" xreflabel="Autoconf">
<title>Autoconf-&autoconf-version;</title>
<?dbhtml filename="autoconf.html"?>
 
<indexterm zone="ch-system-autoconf"><primary sortas="a-Autoconf">Autoconf</primary></indexterm>
 
<para>Le paquet Autoconf contient des programmes produisant des scripts
shell qui configurent automatiquement le code source.</para>
 
<screen>&buildtime; 0,5&nbsp;SBU
&diskspace; 7,7&nbsp;Mo</screen>
 
<para>L'installation d'Autoconf dépend de Bash, Coreutils, Diffutils, Grep,
M4, Make, Perl, Sed.</para>
 
 
<sect2>
<title>Installation d'Autoconf</title>
 
<para>Préparez la compilation d'Autoconf&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>. Ceci prend du temps, pratiquement
2&nbsp;SBU.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-autoconf"><title>Contenu de Autoconf</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: autoconf, autoheader,
autom4te, autoreconf, autoscan, autoupdate et ifnames</para>
 
</sect2>
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-autoconf autoconf"><primary sortas="b-autoconf">autoconf</primary></indexterm>
<para id="autoconf"><command>autoconf</command> est un outil pour produire des
scripts shell configurant automatiquement des paquets de code source,
permettant ainsi de s'adapter à tous les types de systèmes Unix. Les scripts de
configuration qu'il produit sont indépendants. Les lancer ne nécessite pas le
programme autoconf.</para>
 
<indexterm zone="ch-system-autoconf autoheader"><primary sortas="b-autoheader">autoheader</primary></indexterm>
<para id="autoheader"><command>autoheader</command> est un outil pour créer des
fichiers modèle d'instructions C #define que configure utilise.</para>
 
<indexterm zone="ch-system-autoconf autom4te"><primary sortas="b-autom4te">autom4te</primary></indexterm>
<para id="autom4te"><command>autom4te</command> est un emballage pour le
processeur de macro M4.</para>
 
<indexterm zone="ch-system-autoconf autoreconf"><primary sortas="b-autoreconf">autoreconf</primary></indexterm>
<para id="autoreconf"><command>autoreconf</command> est pratique lorsqu'il y a
beaucoup de scripts configure générés par autoconf. Le programme lance autoconf
et autoheader de façon répété (si approprié) pour regénérer les scripts
configure d'autoconf et les modèles d'en-tête de configuration dans un
répertoire donné.</para>
 
<indexterm zone="ch-system-autoconf autoscan"><primary sortas="b-autoscan">autoscan</primary></indexterm>
<para id="autoscan"><command>autoscan</command> aide à la création de fichiers
<filename>configure.in</filename> pour un paquet logiciel. Il examine les
fichiers source d'un répertoire et crée un fichier
<filename>configure.scan</filename> servant <filename>configure.in</filename> de
base pour le paquet.</para>
 
<indexterm zone="ch-system-autoconf autoupdate"><primary sortas="b-autoupdate">autoupdate</primary></indexterm>
<para id="autoupdate"><command>autoupdate</command> modifie un fichier
<filename>configure.in</filename> utilisant toujours les macros autoconf avec
leur ancien noms, pour qu'il utilise les noms actuels des macros.</para>
 
<indexterm zone="ch-system-autoconf ifnames"><primary sortas="b-ifnames">ifnames</primary></indexterm>
<para id="ifnames"><command>ifnames</command> sert à écrire un
<filename>configure.in</filename> pour un paquet logiciel. Il affiche les
identifiants que le paquet utilise dans des conditions du préprocesseur C. Si
un paquet a déjà été initialisé pour avoir une certaine portabilité, ce
programme aide à déterminer que <command>configure</command> a besoin d'une
vérification à certains endroits dans un fichier
<filename>configure.in</filename> généré par autoscan.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/file.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-system-file" xreflabel="File">
<title>File-&file-version;</title>
<?dbhtml filename="file.html"?>
 
<indexterm zone="ch-system-file"><primary sortas="a-File">File</primary></indexterm>
 
<para>Le paquet File contient un outil pour déterminer le type des
fichiers.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 6,3&nbsp;Mo</screen>
 
<para>L'installation de File dépend de Bash, Binutils, Coreutils,
Diffutils, GCC, Glibc, Grep, Make, Sed, Zlib.</para>
 
 
 
<sect2>
<title>Installation de File</title>
 
<para>Préparez la compilation de File&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr</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-file"><title>Contenu de File</title>
 
<para><emphasis>Programme installé</emphasis>&nbsp;: file</para>
 
<para><emphasis>Bibliothèque installée</emphasis>&nbsp;: libmagic.[a,so]</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-file file"><primary sortas="b-file">file</primary></indexterm>
<para id="file"><command>file</command> essaie de classifier chaque fichier
donné. Il le réalise en exécutant différents tests : tests sur le système de
fichiers, tests des nombres magiques et tests de langages. Le premier test qui
réussit détermine le résultat.</para>
 
<indexterm zone="ch-system-file libmagic"><primary sortas="c-libmagic">libmagic</primary></indexterm>
<para id="libmagic"><command>libmagic</command> contient des routines pour
la reconnaissance de nombres magiques utilisés par le programme file.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/procinfo.xml
0,0 → 1,71
<?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-procinfo" xreflabel="Procinfo">
<title>Procinfo-&procinfo-version;</title>
<?dbhtml filename="procinfo.html"?>
 
<indexterm zone="ch-system-procinfo"><primary sortas="a-Procinfo">Procinfo</primary></indexterm>
 
<para>Le paquet Procinfo contient des programmes affichant des informations
système.</para>
 
<screen>&buildtime; 0,1&nbsp;SBU
&diskspace; 0,2&nbsp;Mo</screen>
 
<para>L'installation de Procinfo dépend de Binutils, GCC, Glibc, Make,
Ncurses.</para>
 
 
 
<sect2>
<title>Installation de Procinfo</title>
 
<para>Compilez Procinfo&nbsp;:</para>
 
<screen><userinput>make LDLIBS=-lncurses</userinput></screen>
 
<para>Voici la signification du paramètre de make&nbsp;:</para>
<itemizedlist>
<listitem><para><userinput>LDLIBS=-lncurses</userinput>&nbsp;: ceci indique à
Procinfo d'utiliser la bibliothèque <filename>libncurses</filename> au lieu de
<filename>libtermcap</filename>, obsolète depuis longtemps.</para></listitem>
</itemizedlist>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-procinfo"><title>Contenu de Procinfo</title>
 
<para><emphasis>Programmes installés</emphasis>&nbsp;: lsdev, procinfo et
socklist</para>
 
</sect2>
 
 
<sect2><title>Courtes descriptions</title>
 
<indexterm zone="ch-system-procinfo lsdev"><primary sortas="b-lsdev">lsdev</primary></indexterm>
<para id="lsdev"><command>lsdev</command> affiche les périphériques présents
sur votre système avec les IRQ (Interrupt ReQuest) et ports d'entrées/sorties
qu'ils utilisent.</para>
 
<indexterm zone="ch-system-procinfo procinfo"><primary sortas="b-procinfo">procinfo</primary></indexterm>
<para id="procinfo"><command>procinfo</command> affiche un résumé de quelques
informations présentes dans le système de fichiers virtuel /proc.</para>
 
<indexterm zone="ch-system-procinfo socklist"><primary sortas="b-socklist">socklist</primary></indexterm>
<para id="socklist"><command>socklist</command> affiche les sockets ouverts,
rapportant leur type, numéro de port et autres spécificités.</para>
 
</sect2>
 
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/readjusting.xml
0,0 → 1,108
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-readjusting">
<title>Ré-ajuster l'ensemble de nos outils</title>
<?dbhtml filename="readjusting.html"?>
 
<para>Maintenant que les nouvelles et finales bibliothèques C ont été
installées, il est temps d'ajuster de nouveau notre ensemble d'outils. Nous
allons l'ajuster de façon à ce qu'il soit lié avec les nouvelles bibliothèques.
C'est en fait la même chose que ce que nous avons fait dans la phase
d'<quote>ajustement</quote> au début du précédent chapitre, même si cela
semble être l'inverse&nbsp;: auparavant nous avons guidé l'ensemble des
répertoires <filename class="directory">/{,usr/}lib</filename> de l'hôte vers
<filename class="directory">/tools/lib</filename>, maintenant nous le guidons
du même <filename class="directory">/tools/lib</filename> vers les <filename
class="directory">/{,usr/}lib</filename> de LFS.</para>
 
<para>Tout d'abord, nous ajustons l'éditeur de liens.
Pour ceci, nous retenons les répertoires des sources et de construction de la
deuxième passe pour Binutils. Installez l'éditeur de liens ajusté à partir du
répertoire <filename class="directory">binutils-build</filename>:</para>
 
<screen><userinput>make -C ld INSTALL=/tools/bin/install install</userinput></screen>
 
<note><para>Si vous avez oublié le message d'avertissement précédent pour
conserver les répertoires des sources et de construction de Binutils à partir de
la seconde passe du <xref linkend="chapter-temporary-tools"/> ou si vous les
avez supprimé accidentellement ou si vous avez perdu accès à ceux-ci, ne vous
inquiétez pas, tout n'est pas perdu. Simplement, ignorez la commande ci-dessus.
Cela résultera dans le fait que le prochain paquet, Binutils, sera lié avec les
bibliothèques C de <filename class="directory">/tools</filename> au lieu de
<filename class="directory">/{,usr/}lib</filename>. Ce n'est pas idéal.
Néanmoins, nos
tests ont montré que les binaires Binutils devaient être identique.
</para></note>
 
<para>À partir de maintenant, tout programme compilé sera
<emphasis>uniquement</emphasis> lié avec les bibliothèques contenues dans
<filename>/usr/lib</filename> et <filename>/lib</filename>.
<emphasis>INSTALL=/tools/bin/install</emphasis> est nécessaire parce que le
Makefile créé durant la seconde passe contient toujours la référence à
<filename>/usr/bin/install</filename>, que nous n'avons pas encore installé.
Certaines distributions hôtes contiennent un lien symbolique
<filename class="symlink">ginstall</filename> qui a la préférence dans le
Makefile et donc pourrait proposer un problème ici. La commande ci-dessus s'en
occupe aussi.</para>
 
<para>Vous pouvez maintenant supprimer les répertoires des sources et de
construction de Binutils.</para>
 
<para>La prochaine chose à faire est de modifier le fichier specs de GCC de
façon à ce qu'il pointe vers le nouvel éditeur de liens. Comme précédemment,
nous utilisons une commande sed pour accomplir ceci:</para>
 
<!-- Ampersands are needed to allow cut and paste -->
 
<screen><userinput>SPECFILE=/tools/lib/gcc-lib/*/*/specs &amp;&amp;
sed -e 's@ /tools/lib/ld-linux.so.2@ /lib/ld-linux.so.2@g' \
$SPECFILE &gt; newspecfile &amp;&amp;
mv -f newspecfile $SPECFILE &amp;&amp;
unset SPECFILE</userinput></screen>
 
<para>Encore une fois, un copier/coller de ce qui se trouve ci-dessus est
recommandé. Et comme précédemment, ce serait une bonne idée d'inspecter
visuellement le fichier specs pour s'assurer que les changements souhaités ont
réellement eu
lieu.</para>
 
<important><para>Si vous travaillez sur une plateforme où le nom de l'éditeur de
liens dynamiques est autre que <filename>ld-linux.so.2</filename>, vous
<emphasis>devez</emphasis> substituer <filename>ld-linux.so.2</filename> avec le
nom de l'éditeur de liens dynamiques de votre plateforme. Référez-vous à
<xref linkend="ch-tools-toolchaintechnotes"/> si nécessaire.</para></important>
 
<caution><para>Il est impératif à ce point de s'arrêter et de s'assurer que les
fonctionnalités de base fonctionnent comme prévu. Nous allons effectuer une
simple vérification&nbsp;:</para>
 
<screen><userinput>echo 'main(){}' &gt; dummy.c
cc dummy.c
readelf -l a.out | grep ': /lib'</userinput></screen>
 
<para>Si tout a fonctionné correctement, la sortie de la dernière commande sera
(avec des différences spécifiques à la plateforme dans le nom de
l'éditeur de liens)&nbsp;:
</para>
 
<blockquote><screen>[Requesting program interpreter: /lib/ld-linux.so.2]</screen></blockquote>
 
<para>Notez particulièrement que <filename>/lib</filename> est maintenant
le préfixe de notre éditeur de liens dynamiques.</para>
 
<para>Si vous n'obtenez pas une sortie comme celle montrée ci-dessus, ou aucune
sortie du tout, alors quelque chose va très mal. Vous devrez enquêter là-dessus
et reprendre chaque étape pour trouver où est situé le problème et le corriger.
Il ne sert à rien de continuer jusqu'à ce que ce soit corrigé. Il est probable
que quelque chose s'est mal passé avec le fichier specs ci-dessus.</para>
 
<para>Une fois satisfait, nettoyez les fichiers de test&nbsp;:</para>
 
<para><screen><userinput>rm dummy.c a.out</userinput></screen></para>
</caution>
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter06/createfiles.xml
0,0 → 1,23
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-createfiles">
<title>Créer les liens symboliques essentiels</title>
<?dbhtml filename="createfiles.html"?>
 
<para>Certains programmes stockent en dur des chemins vers des programmes
qui n'existent pas encore. Pour satisfaire ces programmes, nous créons un
certain nombre de liens symboliques qui seront remplacés par les vrais fichiers
tout au long de ce chapitre lorsque nous installerons tous les logiciels.
</para>
 
<screen><userinput>ln -s /tools/bin/{bash,cat,pwd,stty} /bin
ln -s /tools/bin/perl /usr/bin
ln -s /tools/lib/libgcc_s.so.1 /usr/lib
ln -s bash /bin/sh</userinput></screen>
 
</sect1>
 
/tags/LFS-5_1_1/lfs/stylesheets/lfs-chunked.xsl
0,0 → 1,36
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org>
Based on the original lfs-chunked.xsl created by Matthew Burgess -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
 
<!-- We use XHTML -->
<!--
<xsl:import href="http://docbook.sourceforge.net/release/xsl/1.65.1/xhtml/chunk.xsl"/>
-->
<xsl:import href="/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/xhtml/chunk.xsl"/>
<xsl:param name="chunker.output.encoding" select="'ISO-8859-15'"/>
<!-- Including our others customized templates -->
<xsl:include href="xhtml/lfs-admon.xsl"/>
<xsl:include href="xhtml/lfs-index.xsl"/>
<xsl:include href="xhtml/lfs-legalnotice.xsl"/>
<xsl:include href="xhtml/lfs-mixed.xsl"/>
<xsl:include href="xhtml/lfs-navigational.xsl"/>
<xsl:include href="xhtml/lfs-titles.xsl"/>
<xsl:include href="xhtml/lfs-toc.xsl"/>
 
<!-- The CSS Stylesheet -->
<xsl:param name="html.stylesheet" select="'../stylesheets/lfs.css'"/>
 
<!-- Dropping some unwanted style attributes -->
<xsl:param name="ulink.target" select="''"></xsl:param>
<xsl:param name="css.decoration" select="0"></xsl:param>
<!-- No XML declaration -->
<xsl:param name="chunker.output.omit-xml-declaration" select="'yes'"/>
 
</xsl:stylesheet>
/tags/LFS-5_1_1/lfs/stylesheets/pdf/lfs-index.xsl
0,0 → 1,196
<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY lowercase "'abcdefghijklmnopqrstuvwxyz'">
<!ENTITY uppercase "'ABCDEFGHIJKLMNOPQRSTUVWXYZ'">
<!ENTITY primary 'normalize-space(concat(primary/@sortas, primary[not(@sortas)]))'>
<!ENTITY secondary 'normalize-space(concat(secondary/@sortas, secondary[not(@sortas)]))'>
<!ENTITY scope 'count(ancestor::node()|$scope) = count(ancestor::node())'>
<!ENTITY sep '" "'>
]>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
 
<!--Only one column to fit the table layout-->
<xsl:param name="column.count.index" select="1"/>
 
<!--Title-->
<xsl:template match="index" mode="title.markup">
<xsl:text>Index des packages et des fichiers importants installés</xsl:text>
</xsl:template>
 
<!-- Divisions-->
<xsl:template match="indexterm" mode="index-div">
<xsl:param name="scope" select="."/>
<xsl:variable name="key"
select="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/>
<xsl:variable name="divtitle" select="translate($key, &lowercase;, &uppercase;)"/>
<xsl:if test="key('letter', $key)[&scope;]
[count(.|key('primary', &primary;)[&scope;][1]) = 1]">
<fo:block>
<xsl:if test="contains(concat(&lowercase;, &uppercase;), $key)">
<xsl:call-template name="indexdiv.title">
<xsl:with-param name="titlecontent">
<xsl:choose>
<xsl:when test="$divtitle = 'A'">
<xsl:text>Packages</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'B'">
<xsl:text>Programmes</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'C'">
<xsl:text>Bibliothèques</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'D'">
<xsl:text>Scripts</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'E'">
<xsl:text>Autres</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$divtitle"/>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
<fo:table table-layout="fixed" width="100%">
<fo:table-column column-number="1" column-width="11em"/>
<fo:table-column column-number="2" column-width="19em"/>
<fo:table-column column-number="3"/>
<fo:table-body>
<xsl:apply-templates select="key('letter', $key)[&scope;]
[count(.|key('primary', &primary;)[&scope;][1])=1]"
mode="index-primary">
<xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
<xsl:with-param name="scope" select="$scope"/>
</xsl:apply-templates>
</fo:table-body>
</fo:table>
</fo:block>
</xsl:if>
</xsl:template>
 
<!-- Dropping the separator from here -->
<xsl:template match="indexterm" mode="reference">
<xsl:param name="scope" select="."/>
<xsl:call-template name="reference">
<xsl:with-param name="zones" select="normalize-space(@zone)"/>
<xsl:with-param name="scope" select="$scope"/>
</xsl:call-template>
</xsl:template>
 
<!-- Changing the output tags and re-addind the separator-->
<xsl:template match="indexterm" mode="index-primary">
<xsl:param name="scope" select="."/>
<xsl:variable name="key" select="&primary;"/>
<xsl:variable name="refs" select="key('primary', $key)[&scope;]"/>
<fo:table-row>
<fo:table-cell>
<fo:block>
<xsl:value-of select="primary"/>
<xsl:text>: </xsl:text>
</fo:block>
</fo:table-cell>
<xsl:for-each select="$refs[not(see) and not(seealso)
and not(secondary)]">
<xsl:apply-templates select="." mode="reference">
<xsl:with-param name="scope" select="$scope"/>
</xsl:apply-templates>
</xsl:for-each>
</fo:table-row>
<xsl:if test="$refs/secondary">
<xsl:apply-templates select="$refs[secondary and count(.|key('secondary',
concat($key, &sep;, &secondary;))[&scope;][1]) = 1]" mode="index-secondary">
<xsl:with-param name="scope" select="$scope"/>
<xsl:sort select="translate(&secondary;, &lowercase;, &uppercase;)"/>
</xsl:apply-templates>
</xsl:if>
</xsl:template>
 
<xsl:template match="indexterm" mode="index-secondary">
<xsl:param name="scope" select="."/>
<xsl:variable name="key" select="concat(&primary;, &sep;, &secondary;)"/>
<xsl:variable name="refs" select="key('secondary', $key)[&scope;]"/>
<fo:table-row>
<fo:table-cell>
<fo:block start-indent="1pc">
<xsl:value-of select="secondary"/>
<xsl:text>: </xsl:text>
</fo:block>
</fo:table-cell>
<xsl:for-each select="$refs[not(see) and not(seealso) and not(tertiary)]">
<xsl:apply-templates select="." mode="reference">
<xsl:with-param name="scope" select="$scope"/>
</xsl:apply-templates>
</xsl:for-each>
</fo:table-row>
</xsl:template>
<!-- Targets titles and bookmarks-->
<xsl:template name="reference">
<xsl:param name="scope" select="."/>
<xsl:param name="zones"/>
<xsl:choose>
<xsl:when test="contains($zones, ' ')">
<xsl:variable name="zone" select="substring-before($zones, ' ')"/>
<xsl:variable name="zone2" select="substring-after($zones, ' ')"/>
<xsl:variable name="target" select="key('id', $zone)[&scope;]"/>
<xsl:variable name="target2" select="key('id', $zone2)[&scope;]"/>
<xsl:variable name="id">
<xsl:call-template name="object.id">
<xsl:with-param name="object" select="$target[1]"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="id2">
<xsl:call-template name="object.id">
<xsl:with-param name="object" select="$target2[1]"/>
</xsl:call-template>
</xsl:variable>
<fo:table-cell>
<fo:block>
<fo:basic-link internal-destination="{$id}">
<xsl:value-of select="$target/title"/>
<xsl:apply-templates select="$target" mode="page.citation">
<xsl:with-param name="id" select="$id"/>
</xsl:apply-templates>
</fo:basic-link>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:basic-link internal-destination="{$id2}">
<xsl:text>description</xsl:text>
<xsl:apply-templates select="$target2" mode="page.citation">
<xsl:with-param name="id" select="$id2"/>
</xsl:apply-templates>
</fo:basic-link>
</fo:block>
</fo:table-cell>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="zone" select="$zones"/>
<xsl:variable name="target" select="key('id', $zone)[&scope;]"/>
<xsl:variable name="id">
<xsl:call-template name="object.id">
<xsl:with-param name="object" select="$target[1]"/>
</xsl:call-template>
</xsl:variable>
<fo:table-cell>
<fo:block>
<fo:basic-link internal-destination="{$id}">
<xsl:value-of select="$target/title"/>
<xsl:apply-templates select="$target" mode="page.citation">
<xsl:with-param name="id" select="$id"/>
</xsl:apply-templates>
</fo:basic-link>
</fo:block>
</fo:table-cell>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
 
</xsl:stylesheet>
/tags/LFS-5_1_1/lfs/stylesheets/pdf/lfs-pagesetup.xsl
0,0 → 1,115
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
 
<!-- Force section1's onto a new page -->
<xsl:attribute-set name="section.level1.properties">
<xsl:attribute name="break-after">
<xsl:choose>
<xsl:when test="not(position()=last())">
<xsl:text>page</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>auto</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:attribute-set>
 
<!-- Header -->
<xsl:attribute-set name="header.content.properties">
<xsl:attribute name="font-family">
<xsl:value-of select="$body.fontset"/>
</xsl:attribute>
<xsl:attribute name="text-align">right</xsl:attribute>
</xsl:attribute-set>
 
<xsl:template name="header.content">
<xsl:value-of select="/book/bookinfo/title"/>
<xsl:text> - </xsl:text>
<xsl:value-of select="/book/bookinfo/subtitle"/>
</xsl:template>
 
<xsl:template name="header.table">
<xsl:param name="gentext-key" select="''"/>
<xsl:choose>
<xsl:when test="$gentext-key = 'book'"/>
<xsl:otherwise>
<xsl:call-template name="header.content"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
 
<!-- Centered titles for book and part -->
<xsl:template name="book.titlepage">
<fo:block space-before="2in">
<fo:block>
<xsl:call-template name="book.titlepage.before.recto"/>
<xsl:call-template name="book.titlepage.recto"/>
</fo:block>
<fo:block>
<xsl:call-template name="book.titlepage.before.verso"/>
<xsl:call-template name="book.titlepage.verso"/>
</fo:block>
<xsl:call-template name="book.titlepage.separator"/>
</fo:block>
</xsl:template>
 
<xsl:template name="part.titlepage">
<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:block space-before="2.5in">
<xsl:call-template name="part.titlepage.before.recto"/>
<xsl:call-template name="part.titlepage.recto"/>
</fo:block>
<fo:block>
<xsl:call-template name="part.titlepage.before.verso"/>
<xsl:call-template name="part.titlepage.verso"/>
</fo:block>
<xsl:call-template name="part.titlepage.separator"/>
</fo:block>
</xsl:template>
 
<!-- Margins -->
<xsl:param name="page.margin.inner">0.75in</xsl:param>
<xsl:param name="page.margin.outer">0.75in</xsl:param>
<xsl:param name="title.margin.left">-1pc</xsl:param>
<xsl:attribute-set name="normal.para.spacing">
<xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-before.maximum">1em</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="list.block.spacing">
<xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-before.maximum">1em</xsl:attribute>
<xsl:attribute name="space-after.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-after.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-after.maximum">1em</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="list.item.spacing">
<xsl:attribute name="space-before.optimum">0.6em</xsl:attribute>
<xsl:attribute name="space-before.minimum">0.4em</xsl:attribute>
<xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="verbatim.properties">
<xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-before.maximum">1em</xsl:attribute>
<xsl:attribute name="space-after.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-after.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-after.maximum">1em</xsl:attribute>
</xsl:attribute-set>
 
<!-- Others-->
<xsl:param name="header.rule" select="0"></xsl:param>
<xsl:param name="footer.rule" select="0"></xsl:param>
<xsl:param name="marker.section.level" select="-1"></xsl:param>
 
<!-- Dropping a blank page -->
<xsl:template name="book.titlepage.separator"/>
 
</xsl:stylesheet>
/tags/LFS-5_1_1/lfs/stylesheets/print/lfs-index.xsl
0,0 → 1,127
<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY lowercase "'abcdefghijklmnopqrstuvwxyz'">
<!ENTITY uppercase "'ABCDEFGHIJKLMNOPQRSTUVWXYZ'">
<!ENTITY primary 'normalize-space(concat(primary/@sortas, primary[not(@sortas)]))'>
<!ENTITY scope 'count(ancestor::node()|$scope) = count(ancestor::node())'>
]>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
 
<!--Title-->
<xsl:template match="index" mode="title.markup">
<xsl:param name="allow-anchors" select="0"/>
<xsl:text>Index des packages et des fichiers importants installés</xsl:text>
</xsl:template>
 
<!-- Divisions-->
<xsl:template match="indexterm" mode="index-div">
<xsl:param name="scope" select="."/>
<xsl:variable name="key"
select="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/>
<xsl:variable name="divtitle" select="translate($key, &lowercase;, &uppercase;)"/>
<xsl:if test="key('letter', $key)[&scope;]
[count(.|key('primary', &primary;)[&scope;][1]) = 1]">
<fo:block>
<xsl:if test="contains(concat(&lowercase;, &uppercase;), $key)">
<xsl:call-template name="indexdiv.title">
<xsl:with-param name="titlecontent">
<xsl:choose>
<xsl:when test="$divtitle = 'A'">
<xsl:text>Packages</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'B'">
<xsl:text>Programmes</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'C'">
<xsl:text>Bibliothèques</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'D'">
<xsl:text>Scripts</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'E'">
<xsl:text>Autres</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$divtitle"/>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
<fo:block>
<xsl:apply-templates select="key('letter', $key)[&scope;]
[count(.|key('primary', &primary;)[&scope;][1])=1]"
mode="index-primary">
<xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
<xsl:with-param name="scope" select="$scope"/>
</xsl:apply-templates>
</fo:block>
</fo:block>
</xsl:if>
</xsl:template>
 
<!-- The separator -->
<xsl:template match="indexterm" mode="reference">
<xsl:param name="scope" select="."/>
<xsl:text>: </xsl:text>
<xsl:call-template name="reference">
<xsl:with-param name="zones" select="normalize-space(@zone)"/>
<xsl:with-param name="scope" select="$scope"/>
</xsl:call-template>
</xsl:template>
<!--Bookmarks-->
<xsl:template name="reference">
<xsl:param name="scope" select="."/>
<xsl:param name="zones"/>
<xsl:choose>
<xsl:when test="contains($zones, ' ')">
<xsl:variable name="zone" select="substring-before($zones, ' ')"/>
<xsl:variable name="zone2" select="substring-after($zones, ' ')"/>
<xsl:variable name="target" select="key('id', $zone)[&scope;]"/>
<xsl:variable name="target2" select="key('id', $zone2)[&scope;]"/>
<xsl:variable name="id">
<xsl:call-template name="object.id">
<xsl:with-param name="object" select="$target[1]"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="id2">
<xsl:call-template name="object.id">
<xsl:with-param name="object" select="$target2[1]"/>
</xsl:call-template>
</xsl:variable>
<fo:basic-link internal-destination="{$id}">
<xsl:apply-templates select="$target" mode="page.citation">
<xsl:with-param name="id" select="$id"/>
</xsl:apply-templates>
</fo:basic-link>
<xsl:text> , </xsl:text>
<fo:basic-link internal-destination="{$id2}">
<xsl:apply-templates select="$target2" mode="page.citation">
<xsl:with-param name="id" select="$id2"/>
</xsl:apply-templates>
</fo:basic-link>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="zone" select="$zones"/>
<xsl:variable name="target" select="key('id', $zone)[&scope;]"/>
<xsl:variable name="id">
<xsl:call-template name="object.id">
<xsl:with-param name="object" select="$target[1]"/>
</xsl:call-template>
</xsl:variable>
<fo:basic-link internal-destination="{$id}">
<xsl:apply-templates select="$target" mode="page.citation">
<xsl:with-param name="id" select="$id"/>
</xsl:apply-templates>
</fo:basic-link>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
 
</xsl:stylesheet>
/tags/LFS-5_1_1/lfs/stylesheets/print/lfs-pagesetup.xsl
0,0 → 1,120
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
 
<!-- Force section1's onto a new page -->
<xsl:attribute-set name="section.level1.properties">
<xsl:attribute name="break-after">
<xsl:choose>
<xsl:when test="not(position()=last())">
<xsl:text>page</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>auto</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:attribute-set>
 
<!-- Header -->
<xsl:template name="header.content">
<xsl:param name="sequence" select="''"/>
<fo:block>
<xsl:attribute name="text-align">
<xsl:choose>
<xsl:when test="$sequence = 'first' or $sequence = 'odd'">right</xsl:when>
<xsl:otherwise>left</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:value-of select="/book/bookinfo/title"/>
<xsl:text> - </xsl:text>
<xsl:value-of select="/book/bookinfo/subtitle"/>
</fo:block>
</xsl:template>
 
<xsl:template name="header.table">
<xsl:param name="sequence" select="''"/>
<xsl:param name="gentext-key" select="''"/>
<xsl:choose>
<xsl:when test="$gentext-key = 'book' or $sequence = 'blank'"/>
<xsl:otherwise>
<xsl:call-template name="header.content">
<xsl:with-param name="sequence" select="$sequence"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
 
<!-- Centered titles for book and part -->
<xsl:template name="book.titlepage">
<fo:block space-before="2in">
<fo:block>
<xsl:call-template name="book.titlepage.before.recto"/>
<xsl:call-template name="book.titlepage.recto"/>
</fo:block>
<fo:block>
<xsl:call-template name="book.titlepage.before.verso"/>
<xsl:call-template name="book.titlepage.verso"/>
</fo:block>
<xsl:call-template name="book.titlepage.separator"/>
</fo:block>
</xsl:template>
 
<xsl:template name="part.titlepage">
<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:block space-before="2.5in">
<xsl:call-template name="part.titlepage.before.recto"/>
<xsl:call-template name="part.titlepage.recto"/>
</fo:block>
<fo:block>
<xsl:call-template name="part.titlepage.before.verso"/>
<xsl:call-template name="part.titlepage.verso"/>
</fo:block>
<xsl:call-template name="part.titlepage.separator"/>
</fo:block>
</xsl:template>
 
<!-- Margins -->
<xsl:param name="page.margin.inner">1in</xsl:param>
<xsl:param name="page.margin.outer">0.5in</xsl:param>
<xsl:param name="title.margin.left">-1pc</xsl:param>
<xsl:attribute-set name="normal.para.spacing">
<xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-before.maximum">1em</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="list.block.spacing">
<xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-before.maximum">1em</xsl:attribute>
<xsl:attribute name="space-after.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-after.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-after.maximum">1em</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="list.item.spacing">
<xsl:attribute name="space-before.optimum">0.6em</xsl:attribute>
<xsl:attribute name="space-before.minimum">0.4em</xsl:attribute>
<xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="verbatim.properties">
<xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-before.maximum">1em</xsl:attribute>
<xsl:attribute name="space-after.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-after.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-after.maximum">1em</xsl:attribute>
</xsl:attribute-set>
 
<!-- Others-->
<xsl:param name="header.rule" select="0"></xsl:param>
<xsl:param name="footer.rule" select="0"></xsl:param>
<xsl:param name="marker.section.level" select="-1"></xsl:param>
 
<!-- Dropping a blank page -->
<xsl:template name="book.titlepage.separator"/>
 
</xsl:stylesheet>
/tags/LFS-5_1_1/lfs/stylesheets/xhtml/lfs-index.xsl
0,0 → 1,188
<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY lowercase "'abcdefghijklmnopqrstuvwxyz'">
<!ENTITY uppercase "'ABCDEFGHIJKLMNOPQRSTUVWXYZ'">
<!ENTITY primary 'normalize-space(concat(primary/@sortas, primary[not(@sortas)]))'>
<!ENTITY scope 'count(ancestor::node()|$scope) = count(ancestor::node())'>
]>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
 
<!--Filename-->
<xsl:template match="index" mode="recursive-chunk-filename">
<xsl:text>longindex.html</xsl:text>
</xsl:template>
 
<!--Title-->
<xsl:param name="index-title">Index des packages et des fichiers importants installés</xsl:param>
<xsl:template match="index" mode="title.markup">
<xsl:value-of select="$index-title"/>
</xsl:template>
<xsl:template name="index.titlepage">
<div class="titlepage">
<h1 class="index">
<xsl:value-of select="$index-title"/>
</h1>
</div>
</xsl:template>
 
<!--Divisions-->
<xsl:template match="indexterm" mode="index-div">
<xsl:param name="scope" select="."/>
<xsl:variable name="key" select="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/>
<xsl:variable name="divtitle" select="translate($key, &lowercase;, &uppercase;)"/>
<!-- Make sure that we don't generate a div if there are no terms in scope -->
<xsl:if test="key('letter', $key)[&scope;] [count(.|key('primary', &primary;)[&scope;][1]) = 1]">
<div class="indexdiv">
<xsl:if test="contains(concat(&lowercase;, &uppercase;), $key)">
<h2>
<xsl:choose>
<xsl:when test="$divtitle = 'A'">
<xsl:text>Packages</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'B'">
<xsl:text>Programmes</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'C'">
<xsl:text>Bibliothèques</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'D'">
<xsl:text>Scripts</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'E'">
<xsl:text>Autres</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$divtitle"/>
</xsl:otherwise>
</xsl:choose>
</h2>
</xsl:if>
<ul>
<xsl:apply-templates select="key('letter', $key)[&scope;]
[count(.|key('primary', &primary;)[&scope;][1])=1]" mode="index-primary">
<xsl:with-param name="scope" select="$scope"/>
<xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
</xsl:apply-templates>
</ul>
</div>
</xsl:if>
</xsl:template>
 
<!-- Dropping the separator from here-->
<xsl:template match="indexterm" mode="reference">
<xsl:param name="scope" select="."/>
<xsl:call-template name="reference">
<xsl:with-param name="zones" select="normalize-space(@zone)"/>
<xsl:with-param name="scope" select="$scope"/>
</xsl:call-template>
</xsl:template>
 
<!-- Changing the output tags and re-addind the separator-->
<xsl:template match="indexterm" mode="index-primary">
<xsl:param name="scope" select="."/>
<xsl:variable name="key" select="&primary;"/>
<xsl:variable name="refs" select="key('primary', $key)[&scope;]"/>
<li>
<strong class="item">
<xsl:value-of select="primary"/>
<xsl:text>: </xsl:text>
</strong>
<xsl:for-each select="$refs[generate-id() = generate-id(key('primary-section',
concat($key, &#34; &#34;, generate-id((ancestor-or-self::book |ancestor-or-self::part
|ancestor-or-self::chapter |ancestor-or-self::appendix |ancestor-or-self::preface
|ancestor-or-self::sect1 |ancestor-or-self::sect2 |ancestor-or-self::sect3
|ancestor-or-self::sect4 |ancestor-or-self::sect5 |ancestor-or-self::index)[last()])))[&scope;][1])]">
<xsl:apply-templates select="." mode="reference">
<xsl:with-param name="scope" select="$scope"/>
</xsl:apply-templates>
</xsl:for-each>
<xsl:if test="$refs/secondary">
<ul>
<xsl:apply-templates select="$refs[secondary and count(.|key('secondary',
concat($key, &#34; &#34;, normalize-space(concat(secondary/@sortas,
secondary[not(@sortas)]))))[&scope;][1]) = 1]" mode="index-secondary">
<xsl:with-param name="scope" select="$scope"/>
<xsl:sort select="translate(normalize-space(concat(secondary/@sortas,
secondary[not(@sortas)])), &lowercase;, &uppercase;)"/>
</xsl:apply-templates>
</ul>
</xsl:if>
</li>
</xsl:template>
 
<xsl:template match="indexterm" mode="index-secondary">
<xsl:param name="scope" select="."/>
<xsl:variable name="key" select="concat(&primary;, &#34; &#34;,
normalize-space(concat(secondary/@sortas, secondary[not(@sortas)])))"/>
<xsl:variable name="refs" select="key('secondary', $key)[&scope;]"/>
<li>
<strong class="secitem">
<xsl:value-of select="secondary"/>
<xsl:text>: </xsl:text>
</strong>
<xsl:for-each select="$refs[generate-id() = generate-id(key('secondary-section',
concat($key, &#34; &#34;, generate-id((ancestor-or-self::book |ancestor-or-self::part
|ancestor-or-self::chapter |ancestor-or-self::appendix |ancestor-or-self::preface
|ancestor-or-self::sect1 |ancestor-or-self::sect2 |ancestor-or-self::sect3
|ancestor-or-self::sect4 |ancestor-or-self::sect5 |ancestor-or-self::index)[last()])))[&scope;][1])]">
<xsl:apply-templates select="." mode="reference">
<xsl:with-param name="scope" select="$scope"/>
</xsl:apply-templates>
</xsl:for-each>
</li>
</xsl:template>
 
<!--Links (This template also fix a bug in the original code)-->
<xsl:template name="reference">
<xsl:param name="scope" select="."/>
<xsl:param name="zones"/>
<xsl:choose>
<xsl:when test="contains($zones, ' ')">
<xsl:variable name="zone" select="substring-before($zones, ' ')"/>
<xsl:variable name="zone2" select="substring-after($zones, ' ')"/>
<xsl:variable name="target" select="key('sections', $zone)[&scope;]"/>
<xsl:variable name="target2" select="key('sections', $zone2)[&scope;]"/>
<a>
<xsl:attribute name="href">
<xsl:call-template name="href.target.uri">
<xsl:with-param name="object" select="$target[1]"/>
</xsl:call-template>
</xsl:attribute>
<xsl:apply-templates select="$target[1]" mode="index-title-content"/>
</a>
<xsl:text> -- </xsl:text>
<a>
<xsl:attribute name="href">
<xsl:call-template name="href.target.uri">
<xsl:with-param name="object" select="$target2[1]"/>
</xsl:call-template>
</xsl:attribute>
<xsl:text>description</xsl:text>
</a>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="zone" select="$zones"/>
<xsl:variable name="target" select="key('sections', $zone)[&scope;]"/>
<a>
<xsl:attribute name="href">
<xsl:call-template name="href.target.uri">
<xsl:with-param name="object" select="$target[1]"/>
</xsl:call-template>
</xsl:attribute>
<xsl:apply-templates select="$target[1]" mode="index-title-content"/>
</a>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Dropping unneeded anchors -->
<xsl:template match="indexterm"/>
 
</xsl:stylesheet>
/tags/LFS-5_1_1/lfs/stylesheets/xhtml/lfs-navigational.xsl
0,0 → 1,98
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
 
<!-- Dropping the HEAD links -->
<xsl:template name="html.head">
<head>
<xsl:call-template name="system.head.content"/>
<xsl:call-template name="head.content"/>
<xsl:call-template name="user.head.content"/>
</head>
</xsl:template>
 
<!-- Header Navigation-->
<xsl:template name="header.navigation">
<xsl:param name="prev" select="/foo"/>
<xsl:param name="next" select="/foo"/>
<xsl:param name="nav.context"/>
<xsl:variable name="home" select="/*[1]"/>
<xsl:variable name="up" select="parent::*"/>
<xsl:variable name="row" select="count($prev) &gt; 0 or (count($up) &gt; 0
and generate-id($up) != generate-id($home)) or count($next) &gt; 0"/>
<xsl:if test="$row and $home != .">
<div class="navheader">
<xsl:if test="$home != .">
<table width="100%" summary="Navigation header">
<tr>
<th colspan="3" align="center">
<h4>
<xsl:apply-templates select="$home" mode="object.title.markup"/>
<xsl:text> - </xsl:text>
<xsl:apply-templates select="$home" mode="object.subtitle.markup"/>
</h4>
</th>
</tr>
<xsl:if test="$up != $home">
<tr>
<th colspan="3" align="center">
<h3>
<xsl:apply-templates select="$up" mode="object.title.markup"/>
</h3>
</th>
</tr>
</xsl:if>
<tr>
<td width="33%" align="left">
<a accesskey="p">
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$prev"/>
</xsl:call-template>
</xsl:attribute>
<xsl:call-template name="navig.content">
<xsl:with-param name="direction" select="'prev'"/>
</xsl:call-template>
</a>
<xsl:text>&#160;</xsl:text>
</td>
<td width="34%" align="center">
<a accesskey="h">
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$home"/>
</xsl:call-template>
</xsl:attribute>
<xsl:call-template name="navig.content">
<xsl:with-param name="direction" select="'home'"/>
</xsl:call-template>
</a>
</td>
<td width="33%" align="right">
<xsl:text>&#160;</xsl:text>
<xsl:if test="count($next)&gt;0">
<a accesskey="n">
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$next"/>
</xsl:call-template>
</xsl:attribute>
<xsl:call-template name="navig.content">
<xsl:with-param name="direction" select="'next'"/>
</xsl:call-template>
</a>
</xsl:if>
</td>
</tr>
</table>
<hr/>
</xsl:if>
</div>
</xsl:if>
</xsl:template>
 
</xsl:stylesheet>
/tags/LFS-5_1_1/lfs/stylesheets/xhtml/lfs-admon.xsl
0,0 → 1,47
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
 
<!-- Use graphics in admonitions -->
<xsl:param name="admon.graphics" select="1"/>
<xsl:param name="admon.graphics.path">../images/</xsl:param>
<xsl:param name="admon.graphics.extension" select="'.png'"/>
 
<!-- Changing the output tagging -->
<xsl:template name="graphical.admonition">
<xsl:variable name="admon.type">
<xsl:choose>
<xsl:when test="local-name(.)='note'">Note</xsl:when>
<xsl:when test="local-name(.)='warning'">Warning</xsl:when>
<xsl:when test="local-name(.)='caution'">Caution</xsl:when>
<xsl:when test="local-name(.)='tip'">Tip</xsl:when>
<xsl:when test="local-name(.)='important'">Important</xsl:when>
<xsl:otherwise>Note</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<div class="admonition">
<div class ="admonhead">
<img alt="[{$admon.type}]">
<xsl:attribute name="src">
<xsl:call-template name="admon.graphic"/>
</xsl:attribute>
</img>
<h3 class="{name(.)}">
<xsl:value-of select="$admon.type"/>
<xsl:if test="title">
<xsl:text>: </xsl:text>
<xsl:value-of select="title"/>
</xsl:if>
</h3>
</div>
<div class="admonbody">
<xsl:apply-templates/>
</div>
</div>
</xsl:template>
 
</xsl:stylesheet>
/tags/LFS-5_1_1/lfs/stylesheets/xhtml/lfs-titles.xsl
0,0 → 1,80
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9- Manuel Canales Esparcia <macana@lfs-es.org> -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
 
<xsl:template name="part.titlepage">
<div class="titlepage">
<h1 class="{name(.)}">
<xsl:value-of select="title"/>
</h1>
</div>
</xsl:template>
 
<xsl:template name="chapter.titlepage">
<div class="titlepage">
<h1 class="{name(.)}">
<xsl:value-of select="title"/>
</h1>
</div>
</xsl:template>
 
<xsl:template name="preface.titlepage">
<div class="titlepage">
<h1 class="{name(.)}">
<xsl:value-of select="title"/>
</h1>
</div>
</xsl:template>
 
<xsl:template name="sect1.titlepage">
<xsl:choose>
<!-- I should find a better test -->
<xsl:when test="position() = 4">
<div class="titlepage">
<xsl:if test="@id">
<a id="{@id}" name="{@id}"/>
</xsl:if>
<h2 class="{name(.)}">
<xsl:value-of select="title"/>
</h2>
</div>
</xsl:when>
<xsl:otherwise>
<div class="titlepage">
<h1 class="{name(.)}">
<xsl:value-of select="title"/>
</h1>
</div>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
 
<xsl:template name="sect2.titlepage">
<xsl:choose>
<xsl:when test="string-length(title) = 0"/>
<xsl:otherwise>
<div class="titlepage">
<xsl:if test="@id">
<a id="{@id}" name="{@id}"/>
</xsl:if>
<h3 class="{name(.)}">
<xsl:value-of select="title"/>
</h3>
</div>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
 
<xsl:template name="dedication.titlepage">
<div class="titlepage">
<h2 class="{name(.)}">
<xsl:value-of select="title"/>
</h2>
</div>
</xsl:template>
 
</xsl:stylesheet>
/tags/LFS-5_1_1/lfs/stylesheets/xhtml/lfs-toc.xsl
0,0 → 1,144
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
<!-- General settings -->
<xsl:param name="generate.toc">
appendix toc
book toc,title,figure,table,example,equation
chapter nop
part toc
preface nop
qandadiv nop
qandaset nop
reference nop
sect1 nop
sect2 nop
sect3 nop
sect4 nop
sect5 nop
section nop
set nop
</xsl:param>
 
<xsl:param name="toc.section.depth">1</xsl:param>
 
<xsl:param name="toc.max.depth">3</xsl:param>
<!-- Making the TOC -->
<xsl:template name="make.toc">
<xsl:param name="toc-context" select="."/>
<xsl:param name="nodes" select="/NOT-AN-ELEMENT"/>
<xsl:if test="$nodes">
<div class="toc">
<h3>
<xsl:call-template name="gentext">
<xsl:with-param name="key">TableofContents</xsl:with-param>
</xsl:call-template>
</h3>
<ul>
<xsl:apply-templates select="$nodes" mode="toc">
<xsl:with-param name="toc-context" select="$toc-context"/>
</xsl:apply-templates>
</ul>
</div>
</xsl:if>
</xsl:template>
<!-- Making the subtocs -->
<xsl:template name="subtoc">
<xsl:param name="toc-context" select="."/>
<xsl:param name="nodes" select="NOT-AN-ELEMENT"/>
<xsl:variable name="subtoc">
<ul>
<xsl:apply-templates mode="toc" select="$nodes">
<xsl:with-param name="toc-context" select="$toc-context"/>
</xsl:apply-templates>
</ul>
</xsl:variable>
<xsl:variable name="depth">
<xsl:choose>
<xsl:when test="local-name(.) = 'sect1'">1</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="depth.from.context"
select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
<li class="{name(.)}">
<xsl:call-template name="toc.line">
<xsl:with-param name="toc-context" select="$toc-context"/>
</xsl:call-template>
<xsl:if test="$toc.section.depth &gt; $depth and count($nodes)&gt;0
and $toc.max.depth &gt; $depth.from.context">
<xsl:copy-of select="$subtoc"/>
</xsl:if>
</li>
</xsl:template>
 
<!--Adding the h* tags and dropping redundats links-->
<xsl:template name="toc.line">
<xsl:param name="toc-context" select="."/>
<xsl:param name="depth" select="1"/>
<xsl:param name="depth.from.context" select="8"/>
<xsl:choose>
<xsl:when test="local-name(.) = 'sect1'">
<a>
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="context" select="$toc-context"/>
</xsl:call-template>
</xsl:attribute>
<xsl:apply-templates select="." mode="titleabbrev.markup"/>
</a>
</xsl:when>
<xsl:when test="local-name(.) = 'chapter' or local-name(.) = 'preface'">
<h4>
<xsl:variable name="label">
<xsl:apply-templates select="." mode="label.markup"/>
</xsl:variable>
<xsl:copy-of select="$label"/>
<xsl:if test="$label != ''">
<xsl:value-of select="$autotoc.label.separator"/>
</xsl:if>
<xsl:apply-templates select="." mode="titleabbrev.markup"/>
</h4>
</xsl:when>
<xsl:when test="local-name(.) = 'part'">
<h3>
<xsl:variable name="label">
<xsl:apply-templates select="." mode="label.markup"/>
</xsl:variable>
<xsl:copy-of select="$label"/>
<xsl:if test="$label != ''">
<xsl:value-of select="$autotoc.label.separator"/>
</xsl:if>
<xsl:apply-templates select="." mode="titleabbrev.markup"/>
</h3>
</xsl:when>
<xsl:otherwise>
<h3>
<a>
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="context" select="$toc-context"/>
</xsl:call-template>
</xsl:attribute>
<xsl:variable name="label">
<xsl:apply-templates select="." mode="label.markup"/>
</xsl:variable>
<xsl:copy-of select="$label"/>
<xsl:if test="$label != ''">
<xsl:value-of select="$autotoc.label.separator"/>
</xsl:if>
<xsl:apply-templates select="." mode="titleabbrev.markup"/>
</a>
</h3>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
 
</xsl:stylesheet>
/tags/LFS-5_1_1/lfs/stylesheets/xhtml/lfs-legalnotice.xsl
0,0 → 1,76
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
 
<!-- Generating the page -->
<xsl:template match="legalnotice" mode="titlepage.mode">
<xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
<xsl:variable name="filename" select="concat($base.dir, 'prologue/legalnotice.html')"/>
<xsl:variable name="title">
<xsl:apply-templates select="." mode="title.markup"/>
</xsl:variable>
<xsl:call-template name="write.chunk">
<xsl:with-param name="filename" select="$filename"/>
<xsl:with-param name="quiet" select="$chunk.quietly"/>
<xsl:with-param name="content">
<html>
<head>
<xsl:call-template name="system.head.content"/>
<xsl:call-template name="head.content"/>
<xsl:call-template name="user.head.content"/>
</head>
<body>
<xsl:call-template name="body.attributes"/>
<div class="{local-name(.)}">
<xsl:apply-templates mode="titlepage.mode"/>
</div>
<hr/>
<div class="navfooter">
<ul class="footerlinks">
<li>
<a accesskey="h">
<xsl:attribute name="href">
<xsl:text>../index.html</xsl:text>
</xsl:attribute>
<xsl:text>Home</xsl:text>
</a>
</li>
</ul>
</div>
</body>
</html>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
 
<!-- Making the link-->
<xsl:template match="copyright" mode="titlepage.mode">
<p class="{name(.)}">
<a>
<xsl:attribute name="href">
<xsl:value-of select="'prologue/legalnotice.html'"/>
</xsl:attribute>
<xsl:call-template name="gentext">
<xsl:with-param name="key" select="'Copyright'"/>
</xsl:call-template>
</a>
<xsl:call-template name="gentext.space"/>
<xsl:call-template name="dingbat">
<xsl:with-param name="dingbat">copyright</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="gentext.space"/>
<xsl:call-template name="copyright.years">
<xsl:with-param name="years" select="year"/>
<xsl:with-param name="print.ranges" select="$make.year.ranges"/>
<xsl:with-param name="single.year.ranges" select="$make.single.year.ranges"/>
</xsl:call-template>
<xsl:call-template name="gentext.space"/>
<xsl:apply-templates select="holder" mode="titlepage.mode"/>
</p>
</xsl:template>
 
</xsl:stylesheet>
/tags/LFS-5_1_1/lfs/stylesheets/xhtml/lfs-mixed.xsl
0,0 → 1,39
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
 
<xsl:template match="screen">
<xsl:choose>
<!-- Temporally hack -->
<xsl:when test="child::* = userinput">
<pre class="{name(.)}">
<kbd class="command">
<xsl:value-of select="."/>
</kbd>
</pre>
</xsl:when>
<!-- This should be fixed in the XML code -->
<!--
<xsl:when test="contains(text() , 'SBU')">
<p class="sbu">
<tt>
<xsl:value-of select="substring-before(text() , 'R')"/>
<br/>
<xsl:value-of select="substring-after(text() , 'U')"/>
</tt>
</p>
</xsl:when>
-->
<xsl:otherwise>
<pre class="{name(.)}">
<xsl:apply-templates/>
</pre>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
 
</xsl:stylesheet>
/tags/LFS-5_1_1/lfs/stylesheets/lfs-nochunks.xsl
0,0 → 1,32
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org>
Based on the original lfs-chunked.xsl created by Matthew Burgess -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
 
<!-- We use XHTML -->
<xsl:import href="http://docbook.sourceforge.net/release/xsl/1.65.1/xhtml/docbook.xsl"/>
 
<!-- Fix encoding issues with default UTF-8 output of the xhtml stylesheet -->
<xsl:output method="html" encoding="ISO-8859-1" indent="no" />
<!-- Including our others customized templates -->
<xsl:include href="xhtml/lfs-admon.xsl"/>
<xsl:include href="xhtml/lfs-index.xsl"/>
<xsl:include href="xhtml/lfs-mixed.xsl"/>
<xsl:include href="xhtml/lfs-navigational.xsl"/>
<!-- The following breaks hyperlinks in the TOC -->
<!-- <xsl:include href="xhtml/lfs-titles.xsl"/> -->
<xsl:include href="xhtml/lfs-toc.xsl"/>
 
<!-- The CSS Stylesheet -->
<xsl:param name="html.stylesheet" select="'lfs.css'"/>
 
<!-- Dropping some unwanted style attributes -->
<xsl:param name="ulink.target" select="''"></xsl:param>
<xsl:param name="css.decoration" select="0"></xsl:param>
</xsl:stylesheet>
/tags/LFS-5_1_1/lfs/stylesheets/lfs-pdf.xsl
0,0 → 1,61
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org>
Based on the original lfs-pdf.xsl created by Matthew Burgess -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
 
<!-- We use FO and FOP as the processor -->
<xsl:import href="http://docbook.sourceforge.net/release/xsl/1.65.1/fo/docbook.xsl"/>
<xsl:param name="fop.extensions" select="1"/>
<xsl:param name="draft.mode" select="'no'"/>
 
<!-- Including our others customized templates -->
<xsl:include href="pdf/lfs-index.xsl"/>
<xsl:include href="pdf/lfs-pagesetup.xsl"/>
 
<!-- Probably want to make the paper size configurable -->
<xsl:param name="paper.type" select="'A4'"/>
 
<!-- Don't hyphenate -->
<xsl:param name="hyphenate">false</xsl:param>
<xsl:param name="alignment">left</xsl:param>
 
<!-- Font size -->
<xsl:param name="body.font.master">8</xsl:param>
<xsl:param name="body.font.size">10pt</xsl:param>
 
<!-- Graphics in admonitions -->
<xsl:param name="admon.graphics" select="1"/>
<xsl:param name="admon.graphics.path"
select="'/usr/share/xml/docbook/xsl-stylesheets-1.65.1/images/'"/>
 
<!-- Shade screen -->
<xsl:param name="shade.verbatim" select="1"/>
 
<!-- TOC generation -->
<xsl:param name="generate.toc">
book toc
part nop
</xsl:param>
<xsl:param name="toc.section.depth">1</xsl:param>
<xsl:param name="generate.section.toc.level" select="-1"/>
<xsl:param name="toc.indent.width" select="18"/>
 
<!-- Page number in Xref-->
<xsl:param name="insert.xref.page.number">yes</xsl:param>
<xsl:template match="*" mode="page.citation">
<xsl:param name="id" select="'???'"/>
<fo:inline keep-together.within-line="always">
<xsl:text>[p.</xsl:text>
<fo:page-number-citation ref-id="{$id}"/>
<xsl:text>]</xsl:text>
</fo:inline>
</xsl:template>
 
<!-- Prevent duplicate e-mails in the Acknowledgments pages-->
<xsl:param name="ulink.show" select="0"/>
 
</xsl:stylesheet>
/tags/LFS-5_1_1/lfs/stylesheets/lfs-print.xsl
0,0 → 1,57
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org>
Based on the original lfs-pdf.xsl created by Matthew Burgess -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
 
<!-- We use FO and FOP as the processor -->
<xsl:import href="http://docbook.sourceforge.net/release/xsl/1.65.1/fo/docbook.xsl"/>
<xsl:param name="fop.extensions" select="1"/>
<xsl:param name="draft.mode" select="'no'"/>
 
<!-- Including our others customized templates -->
<xsl:include href="print/lfs-index.xsl"/>
<xsl:include href="print/lfs-pagesetup.xsl"/>
 
<!-- Probably want to make the paper size configurable -->
<xsl:param name="paper.type" select="'A4'"/>
 
<!-- Printing Style -->
<xsl:param name="double.sided" select="1"/>
<xsl:param name="hyphenate">true</xsl:param>
<xsl:param name="alignment">justify</xsl:param>
<!-- Hyphenate links -->
<xsl:param name="ulink.hyphenate" select="' '"></xsl:param>
 
<!-- Font size -->
<xsl:param name="body.font.master">8</xsl:param>
<xsl:param name="body.font.size">10pt</xsl:param>
 
<!-- TOC stuff -->
<xsl:param name="generate.toc">
book toc
part nop
</xsl:param>
<xsl:param name="toc.section.depth">1</xsl:param>
<xsl:param name="generate.section.toc.level" select="-1"></xsl:param>
<xsl:param name="toc.indent.width" select="18"></xsl:param>
 
<!-- Page number in Xref-->
<xsl:param name="insert.xref.page.number">yes</xsl:param>
<xsl:template match="*" mode="page.citation">
<xsl:param name="id" select="'???'"/>
<fo:inline keep-together.within-line="always">
<xsl:text>[p</xsl:text>
<fo:page-number-citation ref-id="{$id}"/>
<xsl:text>]</xsl:text>
</fo:inline>
</xsl:template>
 
<!-- Prevent duplicate e-mails in the Acknowledgments pages-->
<xsl:param name="ulink.show" select="0"/>
 
</xsl:stylesheet>
/tags/LFS-5_1_1/lfs/stylesheets/lfs-tex.xsl
0,0 → 1,78
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Created by Larry Lawrence <larry@linuxfromscratch.org> -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version='1.0'>
 
<xsl:import href="http://db2latex.sourceforge.net/xsl/docbook.xsl"/>
<xsl:output method="text" encoding="ISO-8859-1" indent="yes"/>
<xsl:variable name="latex.override">
 
\documentclass[12pt]{book}
 
\usepackage{lfs}
\usepackage{fancyhdr}
\usepackage{fancyvrb}
\usepackage{makeidx}
\usepackage{hyperref}
\usepackage{fancybox}
 
\oddsidemargin -0.5in
\evensidemargin -0.625in
\textwidth 7in
\textheight 8.5in
 
%\ifx\pdfoutput\undefined
%\else
%\pdfpagewidth=7in
%\pdfpageheight=8.5in
%\fi
 
\pagestyle{fancy}
\newenvironment{admonition}[2] {
\vspace{8mm}
\hspace{0mm}\newline
\noindent
}
 
 
\fancyhf{}
\fancyhead[LE,RO]{\bfseries\thepage}
\fancyhead[LO]{\bfseries\rightmark}
\fancyhead[RE]{\bfseries\leftmark}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0pt}
\addtolength{\headheight}{3pt}
\fancypagestyle{plain}{%
\fancyhead{}
\renewcommand{\headrulewidth}{0pt}
}
 
 
\hyphenation{change-log cpp-flags ctrlaltdel ma-cros chil-ton}
 
<!-- adds \frontmatter to document -->
 
</xsl:variable>
 
<xsl:variable name="toc.section.depth">1</xsl:variable>
 
<xsl:variable name="latex.book.begindocument">
<xsl:text>\begin{document}&#10;</xsl:text>
<xsl:text>\frontmatter&#10;</xsl:text>
</xsl:variable>
 
<!-- This put each section on a new page in the preface section -->
 
<xsl:template match="preface/sect1">
<xsl:text>&#10;</xsl:text>
<xsl:text>\newpage&#10;</xsl:text>
<xsl:text>\section*{</xsl:text><xsl:copy-of
select="normalize-space(title)"/><xsl:text>}&#10;</xsl:text>
<xsl:apply-templates/>
</xsl:template>
 
 
 
</xsl:stylesheet>
/tags/LFS-5_1_1/lfs/stylesheets/patcheslist.xsl
0,0 → 1,24
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9pre1 - Manuel Canales Esparcia <macana@lfs-es.org>
Based on the original patcheslist.xsl posted by Matthew Burgess -->
 
<!-- This also work again BLFS -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
 
<xsl:output method="text"/>
 
<xsl:template match="//text()">
<xsl:text/>
</xsl:template>
 
<xsl:template match="//ulink">
<xsl:if test="contains(@url, '.patch')">
<xsl:value-of select="@url"/>
<xsl:text>&#x0a;</xsl:text>
</xsl:if>
</xsl:template>
 
</xsl:stylesheet>
/tags/LFS-5_1_1/lfs/stylesheets/lfs.css
0,0 → 1,92
body {
font-weight: normal;
font-size: medium;
font-family: verdana, tahoma, helvetica, arial, sans-serif;
text-align: left;
background: #fff;
}
 
.toc ul, .index ul {
list-style: none;
}
 
li.preface {
margin-left: 2.5em;
}
 
div.book div.titlepage h1.title {
font-weight: bold;
font-size: xx-large;
text-align: center;
}
 
div.book div.titlepage h2.subtitle {
font-weight: bold;
font-size: x-large;
text-align: center;
}
 
div.book div.titlepage h3.author {
font-size: large;
}
 
div.book div.dedication div.titlepage h2.title {
font-weight: normal;
font-size: x-large;
}
 
div.chapter div.titlepage h2.title {
font-weight: bold;
font-size: x-large;
text-align: left;
}
 
div.sect1 div.titlepage h2.title {
font-weight: bold;
font-size: x-large;
text-align: left;
}
 
tt {
font-family: courier, monospace;
}
 
pre.screen {
color: black;
background-color: #dddddd;
}
 
pre.synopsis {
color: black;
background-color: #dddddd;
}
 
div.admonition {
border: medium solid;
width: 90%;
margin: .5em auto;
}
 
div.admonhead h3 {
display: inline;
margin-left: 1.5em;
}
 
div.admonbody {
margin: .5em;
}
 
.command {
font-family: courier, monospace;
}
 
.item {
width: 15em;
float: left;
}
 
.secitem {
font-weight: normal;
width: 12.5em;
float: left;
}
/tags/LFS-5_1_1/lfs/Makefile
0,0 → 1,48
BASEDIR=~/projects/Guides/LFS/HTML
CHUNK_QUIET=0
PDF_OUTPUT=LFS-BOOK.pdf
PRINT_OUTPUT=LFS-BOOK-PRINTABLE.pdf
NOCHUNKS_OUTPUT=LFS-BOOK.html
 
lfs:
xsltproc --xinclude --nonet -stringparam chunk.quietly $(CHUNK_QUIET) \
-stringparam navig.graphics 1 -stringparam navig.graphics.extension ".png" -stringparam navig.graphics.path "../images/" \
-stringparam base.dir $(BASEDIR)/ stylesheets/lfs-chunked.xsl \
index.xml
 
if [ ! -e $(BASEDIR)/stylesheets ]; then \
mkdir -p $(BASEDIR)/stylesheets; \
fi;
cp stylesheets/lfs.css $(BASEDIR)/stylesheets
 
if [ ! -e $(BASEDIR)/images ]; then \
mkdir -p $(BASEDIR)/images; \
fi;
cp /usr/share/sgml/docbook/stylesheet/images/*.png \
$(BASEDIR)/images
cd $(BASEDIR)/; sed -i -e "s@../stylesheets@stylesheets@" \
index.html part1.html part2.html part3.html longindex.html
cd $(BASEDIR)/; sed -i -e "s@../images@images@g" \
index.html part1.html part2.html part3.html longindex.html
 
sh goTidy $(BASEDIR)/
 
pdf:
xsltproc --xinclude --nonet --output lfs.fo stylesheets/lfs-pdf.xsl \
index.xml
sed -i -e "s/inherit/all/" lfs.fo
fop.sh lfs.fo $(PDF_OUTPUT)
 
print:
xsltproc --xinclude --nonet --output lfs-print.fo \
stylesheets/lfs-print.xsl index.xml
sed -i -e "s/inherit/all/" lfs-print.fo
fop.sh lfs-print.fo $(PRINT_OUTPUT)
 
nochunks:
xsltproc --xinclude --nonet --output $(NOCHUNKS_OUTPUT) \
stylesheets/lfs-nochunks.xsl index.xml
tidy -config tidy.conf $(NOCHUNKS_OUTPUT) || true
 
validate:
xmllint --noout --nonet --xinclude --postvalid index.xml
/tags/LFS-5_1_1/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>Déroulement de la construction</title>
<?dbhtml filename="how.html"?>
 
<para>Vous allez construire le système LFS 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é en tant que plateforme de démarrage car
vous aurez besoin d'outils comme un compilateur, un éditeur de liens et un
shell pour construire le nouveau système. Normalement, tous les outils requis
sont disponibles si vous avez sélectionné <quote>développement</quote> comme
option d'installation lorsque vous avez installé le système actuel.</para>
 
<para>Au <xref linkend="chapter-partitioning"/>, vous créerez d'abord une
partition et un système de fichiers Linux, où vous compilerez et installerez
votre nouveau système LFS. Puis dans le <xref
linkend="chapter-getting-materials"/>, vous téléchargerez tous les paquets et
correctifs requis pour construire un système LFS sur le nouveau système de
fichiers. Dans le <xref linkend="chapter-final-preps"/>, vous configurerez un
environnement de qualité pour travailler.</para>
 
<para>Le <xref linkend="chapter-temporary-tools"/> discutera de l'installation
d'un certain nombre de paquets formant la suite basique de développement (ou
<emphasis>ensemble des outils</emphasis>) qui a été utilisée pour construire le
système actuel au <xref linkend="chapter-building-system"/>. Certains de ces
paquets sont nécessaires pour résoudre des dépendances circulaires. Par
exemple, pour compiler un compilateur, vous avez besoin d'un compilateur.</para>
 
<para>La première chose à faire dans le <xref
linkend="chapter-temporary-tools"/> est de construire une première fois
l'ensemble des outils, pour Binutils et GCC. Les programmes de ces paquets
seront liés statiquement pour être utilisés indépendamment du système hôte. La
deuxième chose à faire est de construire Glibc, la bibliothèque C. Glibc sera
compilé avec les programmes de l'ensemble des outils que nous avons justement
créé lors de la première passe. La troisième chose à faire est de construire une
deuxième fois l'ensemble des outils. Cette fois, l'ensemble des outils sera lié
dynamiquement avec la nouvelle construction de Glibc. Le reste des paquets du
<xref linkend="chapter-temporary-tools"/> sont tous construits pendant cette
deuxième passe et liés dynamiquement à la nouvelle Glibc indépendante de l'hôte.
Ceci fait, le processus d'installation de LFS ne dépendra plus de la
distribution hôte, avec l'exception du noyau en cours d'utilisation.</para>
 
<para>Vous pourriez vous dire <quote>que cela semble être énormément de travail
pour simplement s'éloigner de la distribution hôte</quote>. Une explication
technique et complète est fournie au début du <xref
linkend="chapter-temporary-tools"/>, incluant quelques notes sur les différences
entre programmes liés statiquement et programmes liés dynamiquement.</para>
 
<para>Dans le <xref linkend="chapter-building-system"/>, le vrai système LFS
sera construit. Le programme chroot (change root) est utilisé pour entrer dans
un environnement virtuel et pour lancer un nouveau shell dont le répertoire
racine sera la partition LFS. Ceci est très similaire au redémarrage en
indiquant au noyau que la partition racine est la partition LFS. La raison pour
laquelle vous ne redémarrez pas réellement est que la création d'un système
amorçable demande un travail supplémentaire inutile pour l'instant. Mais,
l'avantage majeur de chroot est qu'il vous permet de continuer à utiliser
l'hôte tant que LFS est en cours de construction. Alors que le logiciel est en
cours d'installation, vous pouvez simplement passer sur une autre console
virtuelle ou bureau X et continuer à utiliser l'ordinateur comme
d'habitude.</para>
 
<para>Pour finir l'installation, les scripts de démarrage sont configurés au
<xref linkend="chapter-bootscripts"/>, le noyau et le chargeur de démarrage dans
le <xref linkend="chapter-bootable"/> et le <xref linkend="chapter-finalizing"/>
contient quelques pointeurs pour vous aider après avoir fini le livre. Enfin,
vous être prêt à démarrer votre ordinateur avec votre nouveau système
LFS.</para>
 
<para>Voici, en résumé, la démarche à suivre. Des informations détaillées
sur les différentes étapes vous seront fournies tout au long des chapitres au
fur et à mesure de votre progression. Si tout n'est pas encore clair, ne vous
inquiétez pas, cela ne saurait tarder.</para>
 
<para>Veuillez lire le <xref linkend="chapter-final-preps"/> avec attention car
il explique un certain nombre de points importants qu'il vous faut connaître
avant d'en arriver au <xref linkend="chapter-temporary-tools"/> et
au-delà.</para>
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter01/changelog.xml
0,0 → 1,219
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-scatter-changelog">
<title>Journal des modifications (Changelog)</title>
<?dbhtml filename="changelog.html"?>
 
<para>Il s'agit de la version &version; du livre <quote>Linux From
Scratch</quote>, daté du &releasedate;. Si ce livre est daté de plus de deux
mois old, une nouvelle, et meilleure, version est probablement déjà disponible.
Pour le savoir, merci de vérifier sur 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>Mis à jour&nbsp;:</para>
<itemizedlist>
<listitem><para>autoconf-2.59</para></listitem>
<listitem><para>automake-1.8.4</para></listitem>
<listitem><para>coreutils-5.2.1</para></listitem>
<listitem><para>e2fsprogs-1.35</para></listitem>
<listitem><para>expect-5.41.0</para></listitem>
<listitem><para>file-4.09</para></listitem>
<listitem><para>gcc-3.3.3</para></listitem>
<listitem><para>gettext-0.14.1</para></listitem>
<listitem><para>glibc-2.3.3-lfs-5.1</para></listitem>
<listitem><para>grub-0.94</para></listitem>
<listitem><para>kbd-1.12</para></listitem>
<listitem><para>less-382</para></listitem>
<listitem><para>lfs-bootscripts-2.0.5</para></listitem>
<listitem><para>libtool-2.5.6</para></listitem>
<listitem><para>linux-2.4.26</para></listitem>
<listitem><para>man-pages-1.66</para></listitem>
<listitem><para>modutils-2.4.27</para></listitem>
<listitem><para>ncurses-5.4</para></listitem>
<listitem><para>perl-5.8.4</para></listitem>
<listitem><para>procps-3.2.1</para></listitem>
<listitem><para>psmisc-21.4</para></listitem>
<listitem><para>sed-4.0.9</para></listitem>
<listitem><para>shadow-4.0.4.1</para></listitem>
<listitem><para>tar-1.13.94</para></listitem>
<listitem><para>tcl-8.4.6</para></listitem>
<listitem><para>texinfo-4.7</para></listitem>
<listitem><para>util-linux-2.12a</para></listitem>
</itemizedlist>
</listitem>
 
<listitem><para>Ajoutés&nbsp;:</para>
<itemizedlist>
<listitem><para>iana-etc-1.00</para></listitem>
<listitem><para>inetutils-1.4.2-no_server_man_pages-1.patch</para></listitem>
<listitem><para>make_devices-1.2</para></listitem>
<listitem><para>mktemp-1.5 + mktemp-1.5-add-tempfile.patch</para></listitem>
</itemizedlist>
</listitem>
<listitem><para>Supprimés&nbsp;:</para>
<itemizedlist>
<listitem><para>gcc-3.3.1-suppress-libiberty.patch</para></listitem>
<listitem><para>lfs-utils-0.5</para></listitem>
<listitem><para>MAKEDEV-1.7</para></listitem>
<listitem><para>man-1.5m2-manpath.patch</para></listitem>
<listitem><para>man-1.5m2-pager.patch</para></listitem>
<listitem><para>ncurses-5.3-etip-2.patch</para></listitem>
<listitem><para>ncurses-5.3-vsscanf.patch</para></listitem>
<listitem><para>perl-5.8.0-libc-3.patch</para></listitem>
<listitem><para>procps-3.1.11-locale-fix.patch</para></listitem>
<listitem><para>shadow-4.0.3-newgrp-fix.patch</para></listitem>
<listitem><para>zlib-1.1.4-vsnprintf.patch</para></listitem>
</itemizedlist>
</listitem>
 
<listitem><para>2 juin 2004 [matt]: Prologue - remerciements, ajout de Thomas
Reitelbach comme traducteur allemand</para></listitem>
 
<listitem><para>30 mai 2004 [matt]: Chapitre 6 - vim, correction de la commande
optionelle pour l'appel de la suite de tests</para></listitem>
 
<listitem><para>23 mai 2004 [matt]: Chapitre 6 - kbd, suppression du chemin codé
en dur allant au répertoire source du noyau</para></listitem>
 
<listitem><para>19 mai 2004 [matt]: Chapitre 6 - mktemp, ajout d'instruction
pour installer le script d'emballage tempfile</para></listitem>
 
<listitem><para>18 mai 2004 [manuel]: Chapitre 3 - mise à jour de la liste des
miroirs pour le paquetage Glibc. Correction de plusieurs problèmes de
texte</para></listitem>
 
<listitem><para>17 mai 2004 [winkie]: Chapitre 5 - ajout
d'<quote>AUTOCONF=no</quote> pour la construction de Glibc. Ceci empêche
autoconf de nous causer des problèmes</para></listitem>
 
<listitem><para>16 mai 2004 [jeremy]: Chapitre 9 - ajout d'un bref paragraphe
sur la page de relancement du système pour discuter des paquetages qui
pourraient être utile à ajouter avant le redémarrage du nouveau
système</para></listitem>
 
<listitem><para>15 mai 2004 [matt]: Chapitre 6 - ajout d'un avertissement plus
clair indiquant que make_devices doit être personnalisé</para></listitem>
 
<listitem><para>14 mai 2004 [matt]: Chapitre 3 - ajout du md5sum de glibc
</para></listitem>
 
<listitem><para>14 mai 2004 [matt]: Chapitres 5 &amp; 6 - mise à jour vers
glibc-2.3.3-lfs-5.1</para></listitem>
 
<listitem><para>11 mai 2004 [jeremy]: Prologue - mise à jour de la liste de
l'équipe active sur le projet</para></listitem>
 
<listitem><para>9 mai 2004 [winkie]: Chapitre 6 - suppression des entrées
inutilisées et cassées dans <filename>nsswitch.conf</filename></para></listitem>
 
<listitem><para>7 mai 2004 [matt]: ajout des correctifs lfs-xsl-0.9 de Manuel
</para></listitem>
 
<listitem><para>7 mai 2004 [matt]: correction d'une erreur dans le README
concernant l'appel de make</para></listitem>
 
<listitem><para>3 mai 2004: sortie de LFS 5.1-pre2</para></listitem>
 
<listitem><para>2 mai 2004 [matt]: mise entre guillemets des commandes de
chroot dans le chapitre 6 (bogue #818).</para></listitem>
 
<listitem><para>2 mai 2004 [matt]: suppression de la description de la partie
IV, maintenant disparue, sur la structure du prologue
non-existent part IV from the structure section in the prologue.</para>
</listitem>
 
<listitem><para>1er mai 2004 [jeremy]: ajout de la création des répertoires
/media et /srv ainsi que des deux sous-répertoires sous /media, pour la
disquette et le lecteur de CDRom, comme le demande le FHS - corrige les bogues
#785 et #819.</para></listitem>
 
<listitem><para>14 avril 2004 [jeremy]: mise à jour de lfs-bootscripts-2.0.3,
aucun changement de texte nécessaire</para></listitem>
 
<listitem><para>24 mars 2004 [jeremy]: Chapitre 7 - mise à jour du nouveau
lfs-bootscripts-2.0.2 et modificaction nécessaire à la configuration des scripts
de démarrage</para></listitem>
 
<listitem><para>21 mars 2004 [winkie]: Chapitre 6 - remplacement de Lfs-Utils
avec Iana-Etc et Mktemp.</para></listitem>
 
<listitem><para>27 février 2004 [jeremy]: mise à jour vers
Procps-3.2.0.</para></listitem>
 
<listitem><para>27 février 2004 [jeremy]: mise à jour vers Lfs-utils-0.5 -
corrige une probable attaque de lien symbolique dans iana-get.</para></listitem>
 
<listitem><para>27 février 2004 [jeremy]: Chapitre 6 - modification des
instructions pour que Findutils soit compatible avec le FHS</para></listitem>
 
<listitem><para>26 février 2004 [jeremy]: suppression de la création du
répertoire /usr/etc pour se conformer à FHS - ferme le bogue
775.</para></listitem>
 
<listitem><para>26 février 2004 [jeremy]: mise à jour vers
Linux-2.4.25.</para></listitem>
 
<listitem><para>23 février 2004 [alex]: Chapitres 6 + 9 - nettoyage des sections
<quote>Révision de chroot</quote> et <quote>Reboot</quote>.</para></listitem>
 
<listitem><para>22 février 2004 [alex]: déplacement de la suppression des
symboles de déboguage du système final du chapitre 9 à la fin du chapitre 6.
</para></listitem>
 
<listitem><para>22 février 2004 [alex]: Chapitre 6 - Coreutils et
E2fsprogs: clarification des prérequis pour lancer les tests.</para></listitem>
 
<listitem><para>19 février 2004 [alex]: Chapitre 5 - Suppression des symboles
de déboguage: suppression des <quote>{,share/}</quote> inutiles à partir de
la documentation de la commande <command>rm</command></para></listitem>
 
<listitem><para>14 février 2004 [jeremy]: Chapitre 6 - mise à jour vers
Less-382.</para></listitem>
 
<listitem><para>14 février 2004 [jeremy]: Chapitres 5 + 6 - mise à jour vers
Ncurses-5.4 et suppression de références vers le correctif
etip</para></listitem>
 
<listitem><para>12 février 2004 [jeremy]: Chapitre 6 - suppression du chemin
explicite vers les commandes pwconv et grpconv, depuis que /usr/sbin fait
partie du chemin par défaut</para></listitem>
 
<listitem><para>9 février 2004 [alex]: Chapitre 6 - déplacement de la
section d'installation des scripts de démarrage vers le chapitre
7</para></listitem>
 
<listitem><para>8 février 2004 [matt]: Chapitre 6 - mise à jour vers
Man-pages-1.66.</para></listitem>
 
<listitem><para>7 février 2004 [alex]: Chapitre 1 - déplacement des sections
<quote>Conventions</quote> et <quote>Remerciements</quote> vers la
préface.</para></listitem>
 
<listitem><para>7 février 2004 [alex]: Chapitre 6 - Créer des périphériques:
remplacement du script MAKEDEV par le script make_devices. Contribué par
Matthias Benkmann.</para></listitem>
 
<listitem><para>5 février 2004 [alex]: Chapitre 6 - simplification de
l'installation initiale des en-têtes du noyau par leur copie dans le répertoire
des outils temporaires</para></listitem>
 
<listitem><para>4 février 2004 [alex]: Chapitres 5 + 6 - déplacement de
<quote>Montage de proc et devpts</quote> avant <quote>Chroot</quote>,
suppression d'Util-linux des outils et ajout d'un petit script arch pour
Perl.</para></listitem>
 
</itemizedlist>
 
<para>Sortie de la version 5.1-pre1 le 1er février 2004.</para>
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter01/administrativa.xml
0,0 → 1,106
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-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 de votre système
LFS, si vous avez des questions ou si vous pensez avoir trouvé une erreur de
français 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-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, nous vous demandons au moins de consulter la FAQ LFS (voir
ci-dessus) ainsi que 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 <emphasis>irc.linuxfromscratch.org</emphasis> ou
<emphasis>irc.linux-phreak.net</emphasis>, port 6667. Le canal du support se
nomme #LFS-support.</para>
 
</sect2>
 
 
<sect2 id="ch-scatter-maillists" xreflabel="Chapitre 1 - Listes de diffusion">
<title>Listes de diffusion</title>
 
<para>Le serveur <emphasis>linuxfromscratch.org</emphasis> 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, comment s'y abonner, où
se trouvent leurs archives, allez sur <ulink url="&lfs-root;mail.html"/>.</para>
 
</sect2>
 
 
<sect2 id="ch-scatter-newsserver">
<title>Serveur de nouvelles</title>
 
<para>Toutes les listes de diffusion gérées par
<emphasis>linuxfromscratch.org</emphasis> 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 disponible sur
<emphasis>news.linuxfromscratch.org</emphasis>.</para>
 
</sect2>
 
 
<sect2 id="ch-scatter-wiki">
<title>Wiki</title>
 
<para>Pour plus d'informations sur un paquetage, les mises à jour de versions,
les astuces, les expériences personnelles, et ainsi de suite, voir le Wiki
LFS sur <ulink url="&wiki-root;"/>. Pour aider d'autres personnes, vous pouvez
ajouter vos propres informations ici aussi.</para>
 
</sect2>
 
 
<sect2 id="ch-scatter-references">
<title>Références</title>
 
<para>Si vous avez besoin d'informations plus détaillées sur les paquetages, vous
trouverez des indications très utiles 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 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-5_1_1/lfs/chapter01/askforhelp.xml
0,0 → 1,115
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="prepare-askforhelp">
<title>Demander de l'aide</title>
<?dbhtml filename="askforhelp.html"?>
 
<para>Si vous rencontrez un problème en travaillant sur ce livre, vous devez
tout d'abord vérifier la FAQ sur <ulink url="&faq-root;"/>. Souvent, votre
question a déjà une réponse là-bas. Si ce n'est pas le cas, vous devez essayer
de trouver la source du problème. L'astuce suivante vous donne quelques idées
pour réaliser ceci&nbsp;: <ulink url="&hints-root;errors.txt"/>.</para>
 
<para>Si tout cela échoue, vous verrez que la plupart des personnes sur IRC et
sur les listes de diffusion (voir <xref
linkend="ch-scatter-administrativa"/>) souhaitent vous aider. Mais pour les
assister dans leur diagnostique et dans la résolution de votre problème,
incluez toute information pertinente dans votre demande d'aide.</para>
 
<sect2>
<title>Éléments à mentionner</title>
<para>En dehors d'une explication brève de votre problème, les éléments
essentiels à inclure dans votre demande sont&nbsp;:</para>
 
<itemizedlist>
<listitem><para>la version du livre que vous utilisez (donc
&version;)&nbsp;;</para></listitem>
<listitem><para>la distribution et la version de l'hôte que vous utilisez pour
construire LFS&nbsp;;</para></listitem>
<listitem><para>le paquetage ou la section vous causant des
soucis&nbsp;;</para></listitem>
<listitem><para>le message d'erreur ou le symptôme exact que vous
obtenez&nbsp;;</para></listitem>
<listitem><para>si vous avez dévié, même légèrement, du livre.</para></listitem>
</itemizedlist>
 
<para>Notez que dire que vous avez dévié du livre ne signifie pas que nous ne
vous aiderons pas. Après tout, LFS est une question de choix. Cela nous
aidera simplement à apercevoir les causes possibles de votre problème.</para>
 
</sect2>
 
<sect2>
<title>Problèmes avec configure</title>
 
<para>Quand quelque chose ne va pas durant l'étape où le script configure est lancé, regardez dans le fichier <filename>config.log</filename>. Ce fichier
peut contenir des erreurs rencontrées durant configure qui n'apparaissent
pas à l'écran. Incluez ces lignes si vous décidez de demander de l'aide.
</para>
 
</sect2>
 
<sect2>
<title>Problèmes de compilation</title>
 
<para>Pour nous aider à trouver la cause de votre problème, la sortie écran et
le contenu de nombreux fichiers sont tous les deux très utiles. La sortie écran
du script configure et de l'exécution de make sont aussi très importantes.
N'incluez pas directement tout mais incluez ce qu'il faut. Comme exemple, voici
une partie de la sortie écran de make&nbsp;:</para>
 
<screen>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</screen>
 
<para>Dans ce cas, beaucoup de personnes incluent uniquement la section du bas
où il est écrit&nbsp;:</para>
 
<screen>make [2]: *** [make] Error 1</screen>
 
<para>et la suite. Ce n'est pas suffisant pour diagnostiquer le problème car
cela nous indique seulement que <emphasis>quelque chose</emphasis> s'est mal
passé, pas <emphasis>ce</emphasis> qu'il s'est mal passé. La section complète
du précédent exemple est ce qui aurait dû être envoyé pour nous être utile
car elle inclut la commande qui a été exécutée ainsi que les messages
d'erreur de la commande.</para>
 
<para>Un excellent article sur la façon de demander de l'aide en général sur
Internet a été écrit par Éric S. Raymond. Cet article est disponible sur
<ulink url="http://catb.org/~esr/faqs/smart-questions.html"/>. Lisez-le et
suivez les conseils contenus dans ce document. Vous aurez ainsi plus de chances
d'obtenir une réponse, voire même d'obtenir l'aide dont vous avez besoin.</para>
 
</sect2>
 
<sect2>
<title>Problèmes dans la suite de tests</title>
 
<para>Un grand nombre de paquetages fournissent une suite de tests que,
suivant l'importance du paquetage, nous vous recommandons d'exécuter. Quelque
fois, les paquetages génèrent des échecs erronnés. Si vous les rencontrez,
vérifiez la page Wiki LFS <ulink url="&wiki-root;"/> pour vérifier si nous
nous en sommes déjà aperçus et si nous en avons déjà recherché la raison. Si
nous sommes au courant, alors, généralement, il n'est pas nécessaire de
s'inquiéter.</para>
 
</sect2>
 
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter01/chapter01.xml
0,0 → 1,21
<?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"/>
 
</chapter>
/tags/LFS-5_1_1/lfs/chapter02/mounting.xml
0,0 → 1,51
<?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 que nous avons créé un système de fichiers, nous voulons
pouvoir accéder à la partition. Pour cela, nous devons la monter et devons
choisir pour cela un point de montage. Dans ce livre, nous supposons que le
système de fichiers est monté sur <filename>/mnt/lfs</filename> mais le
répertoire choisi n'a pas d'importance.</para>
 
<para>Choisissez un point de montage et affectez-lui la variable
d'environnement LFS 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
en lançant&nbsp;:</para>
 
<screen><userinput>mkdir -p $LFS
mount /dev/xxx $LFS</userinput></screen>
 
<para>Remplacez <filename>xxx</filename> avec la désignation de votre partition
LFS.</para>
 
<para>Si vous avez décidé d'utiliser plusieurs partitions pour LFS (par
exemple une pour <filename>/</filename> et une autre pour
<filename>/usr</filename>), montez-les de cette façon&nbsp;:</para>
 
<screen><userinput>mkdir -p $LFS
mount /dev/xxx $LFS
mkdir $LFS/usr
mount /dev/yyy $LFS/usr</userinput></screen>
 
<para>Bien sûr, remplacez <filename>xxx</filename> et <filename>yyy</filename>
par les noms de partition appropriés.</para>
 
<para>Vous devez aussi vous assurer que la nouvelle partition n'est pas montée
avec des droits trop restrictifs (comme les options nosuid, nodev et noatime).
Vous pouvez lancer la commande <command>mount</command> sans aucun paramètre
pour connaître les options de montage de la partition LFS. Si vous voyez nosuid,
nodev et/ou noatime, vous aurez besoin de la remonter.</para>
<para>Maintenant que nous nous sommes fait de la place pour travailler, nous
sommes prêt à télécharger les paquets.</para>
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter02/creatingpartition.xml
0,0 → 1,48
<?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 notre nouveau système Linux, nous allons avoir besoin de
place&nbsp;: une partition vide du disque. Si vous n'avez pas de partition
libre et aucun espace sur un de vos disques pour en ajouter une, alors vous
pouvez construire LFS sur la même partition que celle que vous utilisez avec
votre distribution actuelle. Cette procédure n'est pas recommandée pour une
première installation de LFS mais si vous êtes à court d'espace disque et que
vous êtes courageux, jetez un &oelig;il à l'astuce <ulink
url="&hints-root;lfs_next_to_existing_systems.txt"/>.</para>
 
<para>Pour un système minimal, vous aurez besoin d'une partition d'au moins
1,3&nbsp;Go. C'est suffisant pour conserver les archives tar des sources et
pour compiler tous les paquets. Mais si vous avez l'intention d'utiliser le
système LFS comme votre principal système, vous voudrez certainement ajouter
des paquets supplémentaires et aurez donc besoin de plus d'espace que cela.
Comptez environ 2 ou 3&nbsp;Go.</para>
 
<para>Comme nous n'avons jamais assez de RAM dans notre machine, une bonne
idée est d'utiliser une petite partition du disque comme espace de swap. Cet
espace est utilisé par le noyau pour sauvegarder des données rarement
utilisées, ce qui permet de faire de la place en mémoire pour des besoins plus
urgents. La partition de swap de votre système LFS peut être la même que celle
de votre système hôte, donc vous n'aurez pas à en créer une autre si votre
système hôte en utilise déjà une..</para>
 
<para>Lancez un programme de partitionnement de disques comme
<userinput>cfdisk</userinput> ou <userinput>fdisk</userinput> avec un argument
indiquant le disque dur où la nouvelle partition sera créée, par exemple
<filename>/dev/hda</filename> pour le disque primaire IDE. Créez une
partition native Linux et une partition de swap. Merci de vous référer aux
pages man de <userinput>cfdisk</userinput> ou <userinput>fdisk</userinput> si
vous ne savez pas encore utiliser ces programmes.</para>
 
<para>Rappellez-vous la désignation de votre nouvelle partition, quelque chose
comme <filename>hda5</filename>. Ce livre s'y référera en tant que partition
LFS. Si vous avez (maintenant) une partition swap, rappellez-vous aussi de sa
propre désignation. Ces noms seront ensuite nécessaires pour le fichier
<filename>/etc/fstab</filename>.</para>
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter02/creatingfilesystem.xml
0,0 → 1,38
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="space-creatingfilesystem">
<title>Créer un nouveau système de fichiers sur la nouvelle
partition</title>
<?dbhtml filename="creatingfilesystem.html"?>
 
<para>Maintenant que nous disposons d'une partition vierge, nous pouvons
y ajouter un système de fichiers. Le plus utilisé dans le monde Linux est le
système de fichiers étendu 2 (ext2), mais avec la grande capacité des disques
durs de nos jours, les systèmes de fichiers dit journalisés deviennent de plus
en plus populaires. Ici, nous allons créer un système de fichiers ext2 mais les
instructions de construction pour d'autres systèmes de fichiers sont
disponibles sur <ulink
url="&blfs-root;view/stable/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/xxx</userinput></screen>
 
<para>Remplacez <filename>xxx</filename> par le nom de la partition LFS
(quelque chose comme <filename>hda5</filename>).</para>
 
<para>Si vous avez créé une (nouvelle) partition de swap, vous aurez besoin de
l'initialiser (processus connu sous le nom de formattage, ce qui correspond à
ce que vous venez de faire avec <userinput>mke2fs</userinput>) en
exécutant&nbsp;:</para>
 
<screen><userinput>mkswap /dev/yyy</userinput></screen>
 
<para>Remplacez <filename>yyy</filename> par le nom de la partition de
swap.</para>
 
</sect1>
/tags/LFS-5_1_1/lfs/chapter02/introduction.xml
0,0 → 1,14
<?xml version="1.0" encoding="ISO-8859-1"?&g