Subversion Repositories svn LFS-FR

Compare Revisions

Ignore whitespace Rev 558 → Rev 560

/tags/LFS-6_1/lfs/chapter04/addinguser.xml
0,0 → 1,91
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-addinguser">
<title>Ajouter l'utilisateur LFS</title>
<?dbhtml filename="addinguser.html"?>
 
<para>Lorsque vous êtes connecté en tant qu'utilisateur
<emphasis>root</emphasis>, faire une simple erreur peut endommager voire
dévaster votre système. Donc, nous recommandons de construire les paquets
dans ce chapitre en tant qu'utilisateur non privilégié. Vous pouvez bien sûr
utiliser votre propre nom d'utilisateur mais, pour faciliter l'établissement
d'un environnement de travail propre, créez un nouvel utilisateur
nommé <emphasis>lfs</emphasis> comme membre d'un nouveau groupe
<emphasis>lfs</emphasis> et utilisez-le lors du processus d'installation.
En tant que <emphasis>root</emphasis>, lancez les commandes suivantes pour créer
le nouvel utilisateur&nbsp;:</para>
 
<screen><userinput>groupadd lfs
useradd -s /bin/bash -g lfs -m -k /dev/null lfs</userinput></screen>
 
<para>Voici la signification des options en ligne de commande&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>-s /bin/bash</parameter></term>
<listitem><para>Ceci fait de <command>bash</command> le shell par défaut de
l'utilisateur <emphasis>lfs</emphasis>.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>-g lfs</parameter></term>
<listitem><para>Cette option ajoute l'utilisateur <emphasis>lfs</emphasis> au
groupe <emphasis>lfs</emphasis>.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>-m</parameter></term>
<listitem><para>Ceci crée un répertoire personnel pour l'utilisateur
<emphasis>lfs</emphasis>.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>-k /dev/null</parameter></term>
<listitem><para>Ce paramètre empêche tout copie possible de fichiers provenant
du répertoire squelette (par défaut, <filename
class="directory">/etc/skel</filename>) en modifiant son emplacement par le
périphérique spécial null.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>lfs</parameter></term>
<listitem><para>Ceci est le nom réel pour le groupe et l'utilisateur
créé.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Pour vous connecter en tant qu'utilisateur <emphasis>lfs</emphasis> (et
non pas de passer à l'utilisateur <emphasis>lfs</emphasis> alors que vous êtes
connecté en tant que <emphasis>root</emphasis>, ce qui ne requiert pas de mot
de passe pour l'utilisateur <emphasis>lfs</emphasis>), donnez un mot de passe à
<emphasis>lfs</emphasis>&nbsp;:</para>
 
<screen><userinput>passwd lfs</userinput></screen>
 
<para>Donnez-lui un accès complet à <filename
class="directory">$LFS/tools</filename> en indiquant que
<emphasis>lfs</emphasis> est le propriétaire du répertoire&nbsp;:</para>
 
<screen><userinput>chown lfs $LFS/tools</userinput></screen>
 
<para>Si un répertoire de travail séparé a été créé comme suggéré, faites
que l'utilisateur <emphasis>lfs</emphasis> soit aussi le propriétaire de ce
répertoire&nbsp;:</para>
 
<screen><userinput>chown lfs $LFS/sources</userinput></screen>
 
<para>Ensuite, connectez-vous en tant que <emphasis>lfs</emphasis>. Ceci peut
se faire via une console virtuelle, avec le gestionnaire d'affichage ou avec
la commande suivante de substitution d'utilisateur&nbsp;:</para>
 
<screen><userinput>su - lfs</userinput></screen>
 
<para>Le <quote><command>-</command></quote> indique à <command>su</command> de
lancer un shell de connexion. La différence entre un shell de connexion et un
autre se trouve dans la page man <filename>bash(1)</filename> et dans
<command>info bash</command>.</para>
 
</sect1>
/tags/LFS-6_1/lfs/chapter04/abouttestsuites.xml
0,0 → 1,54
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="prepare-abouttestsuites">
<title>À propos des suites de tests</title>
<?dbhtml filename="abouttestsuites.html"?>
 
<para>La plupart des paquets disposent d'une suite de tests. Lancer cette suite
de tests pour un paquet nouvellement construit est généralement une bonne idée
car cela peut apporter une vérification comme quoi tout a été compilé
correctement. Une suite de tests réussissant l'ensemble des vérifications prouve
généralement que le paquet fonctionne à peu près comme le développeur en
avait l'intention. Néanmoins, cela ne garantit pas que le paquet ne contient pas
de bogues.</para>
 
<para>Certaines des suites de tests sont plus importantes que d'autres. Par
exemple, les suites de tests des paquets formant le c&oelig;ur de l'ensemble des
outils (GCC, Binutils et Glibc, la bibliothèque C) sont de la plus grande
importance étant donné leur rôle central dans un système fonctionnel. Les suites
de tests pour GCC et Glibc peuvent prendre beaucoup de temps pour se terminer,
spécialement sur du matériel lent, mais ils sont nécessaires.</para>
 
<note><para>L'expérience nous a montré qu'il y a peu à gagner en lançant ces
suites de tests au <xref linkend="chapter-temporary-tools"/>. Il n'y a pas
d'échappatoire au fait que le système hôte exerce toujours une influence sur
les tests dans ce chapitre, occasionnant fréquemment des échecs étonnants et
inexplicables. Comme les outils construit dans le <xref
linkend="chapter-temporary-tools"/> sont temporaires et éventuellement
supprimés. Pour le lecteur habituel de ce livre, nous recommandons de ne pas
lancer les suites de tests dans le <xref linkend="chapter-temporary-tools"/>
pour l'utilisateur de base. Les instructions de lancement de ces suites de test
sont fournies pour les testeurs et les développeurs mais elles sont réellement
optionnelles pour tous les autres.</para></note>
 
<note><para>Un problème commun lors du lancement des suites de test pour
Binutils et GCC est de manquer de pseudo-terminaux (PTY). Le
symptôme est un nombre inhabituellement haut de tests ayant échoués. Ceci peut
arriver pour un certain nombre de raisons. La plus raisonnable est que le
système hôte ne dispose pas d'un système de fichiers <systemitem
class="filesystem">devpts</systemitem> file configuré correctement. Ce problème
est discuté avec plus de détails dans le <xref
linkend="chapter-temporary-tools"/>.</para></note>
 
<para>Quelques fois, les suites de test des paquets échoueront mais pour des
raisons dont les développeurs sont conscient et qu'ils ont estimé non critiques.
Consultez les traces situées dans <ulink url="&test-results;"/> pour vérifier si
ces échecs sont attendus. Ce site est valide pour tous les tests effectués dans
ce livre.</para>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter04/settingenviron.xml
0,0 → 1,97
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-settingenviron">
<title>Configurer l'environnement</title>
<?dbhtml filename="settingenvironment.html"?>
 
<para>Configurez un bon environnement de travail en créant deux nouveaux
fichiers de démarrage pour le shell <command>bash</command>. En étant connecté
en tant qu'utilisateur <emphasis>lfs</emphasis>, lancez la commande suivante
pour créer un nouveau <filename>.bash_profile</filename>&nbsp;:</para>
 
<screen><userinput>cat &gt; ~/.bash_profile &lt;&lt; "EOF"
<literal>exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash</literal>
EOF</userinput></screen>
 
<para>Lorsque vous êtes connecté en tant que <emphasis>lfs</emphasis>, le shell
initial est habituellement un shell de <emphasis>connexion</emphasis> qui lit
le fichier <filename>/etc/profile</filename> de l'hôte (contenant probablement
quelques configurations et variables d'environnement) et puis
<filename>.bash_profile</filename>. La commande <command>exec env
-i.../bin/bash</command> dans le fichier <filename>.bash_profile</filename>
remplace le shell en cours avec un nouveau ayant un environnement complètement
vide sauf pour les variables <envar>HOME</envar>, <envar>TERM</envar> et
<envar>PS1</envar>. Ceci nous assure qu'aucune variable d'environnement non
souhaitée et potentiellement dangereuse, provenant du système hôte, ne
parvienne dans l'environnement de construction. La technique utilisée ici
s'assure de ce but d'environnement propre.</para>
 
<para>La nouvelle instance du shell est un shell <emphasis>sans
connexion</emphasis>, qui ne lit donc pas les fichiers
<filename>/etc/profile</filename> et <filename>.bash_profile</filename> mais
plutôt le fichier <filename>.bashrc</filename>. Créez le fichier
<filename>.bashrc</filename> maintenant&nbsp;:</para>
 
<screen><userinput>cat &gt; ~/.bashrc &lt;&lt; "EOF"
<literal>set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL PATH</literal>
EOF</userinput></screen>
 
<para>La commande <command>set +h</command> désactive la fonction de hachage de
<command>bash</command>. D'habitude, le hachage est une fonctionnalité utile.
<command>bash</command> utilise une table de hachage pour se rappeler le chemin
complet des fichiers exécutables pour éviter d'avoir à chercher dans
<envar>PATH</envar> à chaque fois qu'il doit trouver le même exécutable.
Néanmoins, les nouveaux outils devraient être utilisés dès leur installation.
En désactivant la fonction de hachage, le shell cherchera en permanence dans
<envar>PATH</envar> lorsqu'un programme doit être exécuté. Ainsi, le shell
trouvera les nouveaux outils compilés dans <filename
class="directory">$LFS/tools</filename> dès qu'ils sont disponibles et sans se
rappeler de la version précédente du même programme mais dans un autre
emplacement.</para>
 
<para>Configurer le masque de création de fichier (umask) à 022 nous assure que
les nouveaux fichiers et répertoires créés sont modifiables uniquement par
leurs propriétaires mais lisibles et exécutables par tout le monde (en
supposant que les modes par défait sont utilisés par l'appel système open(2),
les nouveaux fichiers finiront avec les droits 644 et les répertoires avec
755).</para>
 
<para>La variable <envar>LFS</envar> devrait être configurée avec le point de
montage choisi.</para>
 
<para>La variable <envar>LC_ALL</envar> contrôle la localisation de certains
programmes, faisant que leurs messages suivent les conventions d'un pays
spécifié. Si le système hôte utilise une version de Glibc plus ancienne que la
2.2.4, avoir <envar>LC_ALL</envar> initialisé à quelque chose d'autre que
<quote>POSIX</quote> ou <quote>C</quote> (pendant ce chapitre) pourrait poser
des problèmes si vous quittez l'environnement chroot et souhaitez y retourner
plus tard. Initialiser <envar>LC_ALL</envar> à <quote>POSIX</quote> ou
<quote>C</quote> (les deux sont équivalents) nous assure que tout fonctionnera
comme attendu dans l'environnement chroot.</para>
 
<para>En plaçant <filename class="directory">/tools/bin</filename> au début du
<envar>PATH</envar> standard, tous les programmes installées dans <xref
linkend="chapter-temporary-tools"/> sont récupérés par le shell immédiatement
après leur installation. Ceci, combiné avec la désactivation du hachage, limite
le risque que d'anciens programmes de l'hôte soient utilisés alors que les mêmes
programmes sont disponibles depuis l'environnement du chapitre 5.</para>
 
<beginpage/>
 
<para>Enfin, pour avoir un environnement complètement préparé pour la
construction des outils temporaires, récupérez le source du profile de
l'utilisateur tout juste créé&nbsp;:</para>
 
<screen><userinput>source ~/.bash_profile</userinput></screen>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter04/aboutsbus.xml
0,0 → 1,44
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="prepare-aboutsbus">
<title>À propos des SBU</title>
<?dbhtml filename="aboutsbus.html"?>
 
<para>Beaucoup de personnes souhaitent savoir combien de temps la compilation
et l'installation de chaque paquet va prendre. Mais, Linux from Scratch est
construit sur tant de systèmes différents qu'il est impossible de donner des
temps précis. Le plus gros paquet (Glibc) prendra approximativement vingt
minutes sur les systèmes les plus rapides mais pourrait prendre environ trois
jours sur les moins rapides. Au lieu de donner les temps constatés, l'unité
de construction standard (<emphasis>Standard Binutils Unit</emphasis>) est
utilisée.</para>
 
<para>La mesure SBU fonctionne ainsi. Le premier paquet lié statiquement,
que vous compilez dans ce livre, est Binutils lors du <xref
linkend="chapter-temporary-tools"/>. Le temps que prend la compilation de ce
paquet est ce que nous appelons <quote>SBU</quote>. Tous les autres temps
de compilation sont exprimés relativement à ce temps.</para>
 
<para>Par exemple, considérez un paquet spécifique dont le temps de compilation
correspond à 4,5&nbsp;SBU. Ceci signifie que s'il vous a fallu 10 minutes pour
compiler et installer la première passe de Binutils, alors vous savez que cela prendra
environ 45 minutes pour construire ce paquet. Heureusement, la plupart des
temps de construction sont bien plus courts que celui de Binutils.</para>
 
<para>En général, les SBU ne sont pas vraiment précis car ils dépendent de trop
de facteurs, dont la version de GCC sur votre machine hôte. Notez que les SBU
sont encore moins précis sur les machines multi-processeurs (SMP). Ils sont
fournis ici pour donner une estimation du temps nécessaire pour installer un
paquetage mais ces nombres peuvent varier de plusieurs dizaines de minutes dans
certains cas.</para>
 
<para>Si vous souhaitez voir des chronométrages réels pour des machines
spécifiques, nous recommandons la page d'accueil de <quote>The LinuxFromScratch
SBU</quote> sur <ulink url="&lfs-root;~bdubbs/"/>.</para>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter04/creatingtoolsdir.xml
0,0 → 1,46
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-creatingtoolsdir">
<title>Créer le répertoire $LFS/tools</title>
<?dbhtml filename="creatingtoolsdir.html"?>
 
<para>Tous les programmes compilés dans le <xref
linkend="chapter-temporary-tools"/> seront installés dans <filename
class="directory">$LFS/tools</filename> pour les tenir séparés des programmes
compilés dans le <xref linkend="chapter-building-system"/>. Les programmes
compilés ici sont seulement des outils temporaires et ne prendront pas part
au système LFS final. En les conservant dans un répertoire séparé, nous
pourrons facilement les supprimer plus tard. Ceci nous aide aussi à les
empêcher de finir dans les répertoires de production de votre hôte (facile à
faire par accident dans le <xref linkend="chapter-temporary-tools"/>).</para>
 
<para>Créez le répertoire requis en lançant la commande suivante
en tant qu'utilisateur <emphasis>root</emphasis>&nbsp;:</para>
 
<screen><userinput>mkdir $LFS/tools</userinput></screen>
 
<para>La prochaine étape consiste en la création du lien symbolique
<filename class="symlink">/tools</filename> sur votre système
<emphasis>hôte</emphasis>. Il pointera vers le répertoire que vous venez de
créer sur la partition LFS. Lancez cette commande en tant
qu'utilisateur <emphasis>root</emphasis>&nbsp;:</para>
 
<screen><userinput>ln -s $LFS/tools /</userinput></screen>
 
<note><para>La commande ci-dessus est correcte. La commande
<command>ln</command> a quelques variations syntaxiques, assurez-vous de
vérifier <command>info coreutils ln</command> et la page man
<filename>ln(1)</filename> avant de rapporter ce que vous pensez être une
erreur.</para></note>
 
<para>Le lien symbolique créé nous permet de compiler notre ensemble d'outils de
façon à ce qu'il se réfère à <filename>/tools</filename>, ce qui signifie que le
compilateur, l'assembleur et l'éditeur de liens fonctionneront tous dans ce
chapitre (alors que nous utilisons toujours quelques outils provenant de l'hôte)
et dans le suivant (lorsque nous serons en <quote>chroot</quote> sur la
partition LFS).</para>
 
</sect1>
/tags/LFS-6_1/lfs/chapter04/aboutlfs.xml
0,0 → 1,36
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="prepare-aboutlfs">
<title>À propos de $LFS</title>
<?dbhtml filename="aboutlfs.html"?>
 
<para>Tout au long de ce livre, la variable d'environnement <envar>LFS</envar>
sera utilisée de nombreuses fois. Il est vitale que cette variable soit toujours
définie. Elle doit pointer vers le point de montage choisi pour la partition
LFS. Vérifiez que votre variable <envar>LFS</envar> est correctement configurée
avec&nbsp;:</para>
 
<screen><userinput>echo $LFS</userinput></screen>
 
<para>Assurez-vous que la sortie affiche le chemin vers le point de
montage de la partition LFS, c'est-à-dire <filename
class="directory">/mnt/lfs</filename> si l'exemple fourni a été suivi. Si
cet affichage est mauvais, vous pouvez toujours initialiser la variable
avec&nbsp;:</para>
 
<screen><userinput>export LFS=/mnt/lfs</userinput></screen>
 
<para>Avoir cette variable initialisée est tout à votre bénéfice car des
commandes telles que <userinput>mkdir $LFS/tools</userinput> peuvent être
saisies de façon littérale. Votre shell remplacera <quote>$LFS</quote> par
<quote>/mnt/lfs</quote> (ou par ce chemin avec lequel vous avez initialisé la
variable) lorsqu'il exécutera la ligne de commande.</para>
 
<para>N'oubliez pas de vérifier que <envar>$LFS</envar> est initialisé à chaque
fois que vous entrez dans l'environnement (par exemple, avec <quote>su</quote>
pour <emphasis>root</emphasis> ou un autre utilisateur).</para>
 
</sect1>
/tags/LFS-6_1/lfs/chapter04/chapter04.xml
0,0 → 1,19
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<chapter id="chapter-final-preps" xreflabel="Chapitre 4">
<?dbhtml dir="chapter04"?>
<title>Dernières préparations</title>
<?dbhtml filename="chapter04.html"?>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="aboutlfs.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingtoolsdir.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="addinguser.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="settingenviron.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="aboutsbus.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="abouttestsuites.xml"/>
 
</chapter>
/tags/LFS-6_1/lfs/chapter05/introduction.xml
0,0 → 1,75
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-introduction">
<title>Introduction</title>
<?dbhtml filename="introduction.html"?>
<para>Ce chapitre montre comment compiler et installer un système Linux minimal.
Ce système ne contiendra que les outils nécessaires pour commencer la
construction du système LFS final dans <xref linkend="chapter-building-system"/>
et de créer un environnement de travail avec plus de facilité pour l'utilisateur
que ne le permettrait un environnement minimum.</para>
 
<para>Il y a deux étapes dans la construction de ce système minimal. La première
étape consiste à construire un ensemble d'outils tous nouveaux et indépendant de
l'hôte (compilateur, assembleur, éditeur de liens, bibliothèques et quelques
outils). La deuxième étape utilise cet ensemble d'outils pour construire tous
les autres outils essentiels.</para>
 
<para>Les fichiers compilés dans ce chapitre vont être installés sous le
répertoire <filename class="directory">$LFS/tools</filename>, de façon
à les garder séparés des fichiers installés dans le chapitre suivant et des
répertoires de production de votre hôte. Comme tous les paquets compilés ici
sont simplement temporaires, nous ne voulons pas polluer le futur système
LFS.</para>
<para>Avant de lancer les instructions de construction pour un paquet, le
paquet doit être déballé en tant qu'utilisateur
<emphasis>lfs</emphasis> et la commande <userinput>cd</userinput> doit être
utilisé pour entrer dans le répertoire tout juste créé. Les instructions
de construction supposent que le shell <command>bash</command> est utilisé.
</para>
 
<para>Plusieurs paquets sont corrigés avant d'être compilés, mais seulement
dans le cas où la correction est nécessaire pour résoudre un problème.
Souvent, le correctif est nécessaire à la fois dans ce chapitre et dans le
suivant, mais quelque fois dans seulement un des deux. Donc, ne vous inquiétez
pas lorsque des instructions pour un correctif téléchargé semblent manquer.
Des messages d'avertissements sur un décalage (<emphasis>offset</emphasis>) ou
sur autre chose (<emphasis>fuzz</emphasis>) peuvent apparaître lors de
l'application d'un correctif. Ne vous inquiétez pas pour ces messages, le
correctif a bien été appliqué.</para>
 
<para>Pendant la compilation de la plupart des paquets, plusieurs messages
d'avertissement du compilateur défileront sur votre écran. Ceci est normal et
peut être ignoré sans danger. Ces messages d'avertissement ne sont que des
avertissements&mdash;des avertissements sur un utilisation obsolète, mais pas
invalide, de la syntaxe de C ou de C++. Les standards C changent assez souvent
et quelques paquets continuent à utiliser les anciens standards. Ce n'est pas
un véritable problème mais cela provoque les messages.</para>
 
<para>Après l'installation de chaque paquet, supprimez son répertoire source et
son répertoire de construction, sauf si nous vous le demandons spécifiquement.
Supprimer les sources permet de gagner de la place mais empêche aussi une mauvaise
configuration lorsque le même paquet est réinstallé un peu plus tard. Seuls
trois paquets ont besoin de conserver leur répertoire de sources et de
construction pendant un moment pour que leur contenu soit utilisé par des
commandes suivantes. Faites particulièrement attention à ces rappels.
</para>
 
<para>Vérifiez une dernière fois que la variable d'environnement
<envar>LFS</envar> est configurée correctement&nbsp;:</para>
<screen><userinput>echo $LFS</userinput></screen>
<para>Assurez-vous que le résultat contient le bon répertoire vers le point de
montage de la partition LFS, qui est <filename
class="directory">/mnt/lfs</filename> suivant notre exemple.</para>
<screen><userinput>echo $LFS</userinput></screen>
</sect1>
/tags/LFS-6_1/lfs/chapter05/stripping.xml
0,0 → 1,37
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-stripping">
<title>Supprimer les symboles des fichiers objets</title>
<?dbhtml filename="stripping.html"?>
 
<para>Les étapes de cette section sont optionnelles mais si le partition LFS
est plutôt petite, il est bénéfique d'apprendre que des éléments inutiles sont
supprimables. Les exécutables et les bibliothèques que vous avez construit
jusqu'à maintenant contiennent jusqu'à 130&nbsp;Mo de symboles de débogages
inutiles. Supprimez ces symboles avec&nbsp;:</para>
 
<screen><userinput>strip --strip-debug /tools/lib/*
strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
 
<para>La dernière des commandes ci-dessus laissera de côté une vingtaine de
fichiers en indiquant qu'elle ne reconnaît pas leur format. La
plupart sont des scripts et non pas des binaires.</para>
 
<para>Faites attention à ne <emphasis>pas</emphasis> utiliser
<parameter>--strip-unneeded</parameter> sur les bibliothèques. Cela détruirait
les statiques et les paquets devraient être de nouveau construits.</para>
 
<para>Pour sauver encore 30&nbsp;Mo, supprimez toute la
documentation&nbsp;:</para>
 
<screen><userinput>rm -rf /tools/{info,man}</userinput></screen>
 
<para>Il y aura maintenant au moins 850&nbsp;Mo d'espace disque libre sur le
système de fichiers LFS à utiliser pour construire et installer Glibc dans la
prochaine phase. Si vous pouvez construire et installer Glibc, vous pourrez
aussi construire et installer le reste.</para>
 
</sect1>
/tags/LFS-6_1/lfs/chapter05/glibc.xml
0,0 → 1,221
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-glibc" role="wrap">
<title>Glibc-&glibc-version;</title>
<?dbhtml filename="glibc.html"?>
 
<indexterm zone="ch-tools-glibc">
<primary sortas="a-Glibc">Glibc</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>11,8&nbsp;SBU</seg><seg>454&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Glibc</title>
 
<para>Ce paquet est connu pour avoir des soucis quand les options d'optimisation
par défaut (en incluant les options <parameter>-march</parameter> et
<parameter>-mcpu</parameter>) sont modifiées. Donc, si des variables d'environnement
qui surchargent les optimisations par défaut, telles que <envar>CFLAGS</envar>
et <envar>CXXFLAGS</envar>, ont été définies, supprimez cette initialisation
pour la construction de Glibc.</para>
 
<para>Il devrait être noté que compiler Glibc de toute autre façon que celle
proposée par le livre compromet la stabilité du système.</para>
 
<para>Glibc échoue sur deux tests lorsque le noyau en cours d'exécution est
le 2.6.11.x. Le problème est dû aux tests eux-mêmes et n'a rien à voir avec la
libc ou le noyau. Si vous planifiez d'exécuter la suite de tests, appliquez
ce correctif&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../glibc-&glibc-version;-fix_test-1.patch</userinput></screen>
 
<para>La documentation de Glibc recommande de construire Glibc en dehors du
répertoire des sources, c'est-à-dire dans un répertoire dédié&nbsp;:</para>
 
<screen><userinput>mkdir ../glibc-build
cd ../glibc-build</userinput></screen>
 
<para>Ensuite, préparez la compilation de Glibc&nbsp;:</para>
 
<screen><userinput>../glibc-&glibc-version;/configure --prefix=/tools \
--disable-profile --enable-add-ons \
--enable-kernel=2.6.0 --with-binutils=/tools/bin \
--without-gd --with-headers=/tools/include \
--without-selinux</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--disable-profile</parameter></term>
<listitem><para>Ceci construit les bibliothèques sans les informations de
profilage. Enlevez cette option si le profilage sur les outils temporaires est
nécessaire.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-add-ons</parameter></term>
<listitem><para>Ceci indique à Glibc d'utiliser le composant NPTL comme
bibliothèque de threads.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-kernel=2.6.0</parameter></term>
<listitem><para>Ceci indique à Glibc de compiler la bibliothèque avec le support
des noyaux 2.6.x.</para><beginpage/></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--with-binutils=/tools/bin</parameter></term>
<listitem><para>Bien que pas nécessaire, ce commutateur nous assure qu'il ne
reste aucune erreur provenant des programmes Binutils lors de la construction
de Glibc.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--without-gd</parameter></term>
<listitem><para>Ce commutateur empêche la construction du programme
<command>memusagestat</command>, programme qui insiste pour être lié avec les
bibliothèques de l'hôte (libgd, libpng, libz et ainsi de suite).</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--with-headers=/tools/include</parameter></term>
<listitem><para>Ceci indique à Glibc de se compiler lui-même avec les en-têtes
récemment installés dans le répertoire des outils, de façon à ce qu'il sache
exactement de quelles fonctionnalités disposent le noyau et qu'il puisse
s'optimiser correctement.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--without-selinux</parameter></term>
<listitem><para>Lors de la construction à partir d'hôtes qui incluent la
fonctionnalité SELinux (par exemple Fedora Core 3), Glibc construira le support
pour SELinux. Comme l'environnement d'outils LFS ne contient pas de support
pour SELinux, une Glibc compilée avec ce support ne fonctionnera pas
correctement.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Lors de cette étape, le message d'avertissement suivant peut
apparaître&nbsp;:</para>
 
<blockquote><screen><computeroutput>configure: WARNING:
*** These auxiliary programs are missing or
*** incompatible versions: msgfmt
*** some features will be disabled.
*** Check the INSTALL file for required versions.</computeroutput></screen></blockquote>
 
<para>Le programme <command>msgfmt</command>, manquant ou incompatible, ne
pose généralement pas de problème mais certaines personnes pensent qu'il peut
poser problème lors de l'exécution de la suite de tests. Ce programme
<command>msgfmt</command> fait partie du paquet Gettext que la distribution hôte
devrait fournir. Si <command>msgfmt</command> est présent mais semble
incompatible, mettez à jour le paquet Gettext du système hôte ou continuez sans
et voyez si la suite de tests continue son exécution sans problèmes.</para>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>La compilation est maintenant terminée. Comme dit plus tôt, lancer les
suites de tests pour les outils temporaires de ce chapitre n'est pas nécessaire.
Pour exécuter la suite de tests Glibc, si désiré, lancer la commande
suivante&nbsp;:</para>
 
<screen><userinput>make check</userinput></screen>
 
<para>Pour une discussion sur les échecs de tests qui ont une importance
particulière, merci de voir <xref linkend="ch-system-glibc" role="."/></para>
 
<para>Dans ce chapitre, certains tests peuvent être perturbés par des outils
existants ou par des problèmes d'environnement sur le système hôte. Les échecs
de la suite de tests de Glibc dans ce chapitre ne portent typiquement pas à
conséquence. La bibliothèque Glibc installée dans <xref
linkend="chapter-building-system"/> est celle qui sera utilisée à la fin, donc
c'est celle qui aura besoin de passer la plupart des tests (y compris dans <xref
linkend="chapter-building-system"/>, certains échecs pourraient survenir, par
exemple celui des mathématiques).</para>
 
<para>Si vous expérimentez un échec, prenez-en note puis continuez en
ré-exécutant la commande <command>make check</command>. La suite de tests devrait
reprendre là où elle a quitté précédemment. Cette séquence d'arrêt/relancement
est annulée en lançant la commande <command>make -k check</command>. En
utilisant cette option, assurez-vous de tracer la sortie pour que le journal des
traces puisse être examiné plus tard pour les différents échecs.</para>
 
<beginpage/>
<para>L'étape d'installation de Glibc affichera un message d'avertissement sans
conséquence pour l'absence de <filename>/tools/etc/ld.so.conf</filename>.
Supprimez ce message avec&nbsp;:</para>
 
<screen><userinput>mkdir /tools/etc
touch /tools/etc/ld.so.conf</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Différents pays et cultures ont des conventions variables sur la façon de
communiquer. Ces conventions vont du très simple, telle que la représentation de
la date et de l'heure à du très compliqué, telle que le langage parlé.
L'internationalisation des programmes GNU fonctionne en utilisant les
locales.</para>
 
<note><para>Si les suites de tests ne seront pas exécutés dans ce chapitre
(suivant ainsi notre recommandation), il y a peu d'intérêts à installer les
locales maintenant. Les bonnes locales seront installées dans le chapitre
suivant.</para></note>
 
<para>Néanmoins, pour installer les locales Glibc, utilisez la commande
suivante&nbsp;:</para>
 
<screen><userinput>make localedata/install-locales</userinput></screen>
 
<para>Pour gagner du temps, une alternative au lancement de la commande
précédente (qui génère et installe chaque locale que Glibc connaît) est
d'installer seulement les locales voulues et nécessaires. Ceci peut se faire
en utilisant la commande <command>localedef</command>. Des informations sur
cette commande sont situées dans le fichier <filename>INSTALL</filename> des
sources de Glibc. Néanmoins, il existe un certain nombre de locales essentielles
pour réussir les tests des futurs paquets, en particulier les tests de
<emphasis>libstdc++</emphasis> pour GCC. Les instructions suivantes installeront
l'ensemble minimale de locales nécessaires pour que les tests réussissent&nbsp;:</para>
 
<screen><userinput>mkdir -p /tools/lib/locale
localedef -i de_DE -f ISO-8859-1 de_DE
localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro
localedef -i en_HK -f ISO-8859-1 en_HK
localedef -i en_PH -f ISO-8859-1 en_PH
localedef -i en_US -f ISO-8859-1 en_US
localedef -i es_MX -f ISO-8859-1 es_MX
localedef -i fa_IR -f UTF-8 fa_IR
localedef -i fr_FR -f ISO-8859-1 fr_FR
localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro
localedef -i it_IT -f ISO-8859-1 it_IT
localedef -i ja_JP -f EUC-JP ja_JP</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-glibc" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter05/m4.xml
0,0 → 1,53
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-m4" role="wrap">
<title>M4-&m4-version;</title>
<?dbhtml filename="m4.html"?>
 
<indexterm zone="ch-tools-m4">
<primary sortas="a-M4">M4</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/m4.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>2,8&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/m4.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de M4</title>
 
<para>Préparez la compilation de M4&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquetage&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;: <userinput>make
check</userinput>.</para>
 
<para>Installez le paquetage&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquetage sont situés dans <xref
linkend="contents-m4" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter05/gcc-pass2.xml
0,0 → 1,207
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-gcc-pass2" role="wrap">
<title>GCC-&gcc-version; - Passe 2</title>
<?dbhtml filename="gcc-pass2.html"?>
 
<indexterm zone="ch-tools-gcc-pass2">
<primary sortas="a-GCC">GCC</primary>
<secondary>outils, passe 2</secondary></indexterm>
 
<sect2 role="package"><title/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>11,0&nbsp;SBU</seg><seg>292&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gcc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Re-installation de GCC</title>
 
<para>Ce paquet est connu pour avoir des soucis quand les options d'optimisation
par défaut (en incluant les options <parameter>-march</parameter> et
<parameter>-mcpu</parameter>) sont modifiées. Donc, si des variables d'environnement
qui surchargent les optimisations par défaut, telles que <envar>CFLAGS</envar>
et <envar>CXXFLAGS</envar>, ont été définies, supprimez cette initialisation
pour la construction de GCC.</para>
 
<para>Les outils requis pour tester GCC et Binutils (Tcl, Expect et DejaGnu)
sont maintenant installés. GCC et Binutils peuvent maintenant être reconstruit
en les liant avec la nouvelle Glibc et en les testant correctement (si
vous souhaitez lancer les suites de tests dans ce chapitre). Merci de noter que
ces suites de tests dépendent énormément de pseudos terminaux (PTY) fonctionnels
fournis par votre distribution hôte. Les PTY sont le plus souvent implémentés
via le système de fichiers <systemitem class="filesystem">devpts</systemitem>.
Vérifiez si le système hôte est correctement configuré en réalisant un simple
test&nbsp;:</para>
 
<screen><userinput>expect -c "spawn ls"</userinput></screen>
 
<para>Le résultat devrait être&nbsp;:</para>
 
<screen><computeroutput>The system has no more ptys.
Ask your system administrator to create more.</computeroutput></screen>
 
<para>Si vous récupérez le message ci-dessus, la distribution hôte n'est pas
correctement configurée pour les PTY. Dans ce cas, il ne sert à rien de lancer
les suites de tests de GCC et Binutils jusqu'à la correction de ce problème.
Merci de consulter la FAQ LFS sur <ulink url="&lfs-root;/lfs/faq.html#no-ptys"/>
pour plus d'informations sur la façon de faire fonctionner les PTY.</para>
 
<para>Tout d'abord, corrigez un problème connu et faites un ajustement
essentiel&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-no_fixincludes-1.patch
patch -Np1 -i ../gcc-&gcc-version;-specs-2.patch</userinput></screen>
 
<para>Le premier correctif désactive le script GCC <command>fixincludes</command>.
Ceci a déjà été mentionné brièvement mais une explication plus en détail de
fixincludes est apportée ici. Sous des circonstances normales, le script GCC
<command>fixincludes</command> parcourt le système pour trouver les fichiers
d'en-tête qui ont besoin d'être corrigé. Il pourrait trouver que certains des
fichiers d'en-têtes de Glibc sur le système devraient être corrigés, les
corriger et les placer dans le répertoire des en-têtes privés de GCC. Dans le
<xref linkend="chapter-building-system"/>, après avoir installé la nouvelle Glibc, ce
répertoire serait recherché avant le répertoire include du système, faisant que
GCC trouverait les en-têtes corrigés du système hôte qui ne correspondront
certainement pas à la version de Glibc actuellement utilisée pour le système
LFS.</para>
 
<para>Le deuxième correctif modifie l'emplacement par défaut de l'éditeur de
liens dynamiques de GCC (généralement <filename
class="libraryfile">ld-linux.so.2</filename>). Il supprime aussi <filename
class="directory">/usr/include</filename> du chemin de recherche des includes
de GCC. Corriger maintenant plutôt qu'ajuster le fichier specs après
l'installation nous assure que l'éditeur de liens dynamiques sera utilisé lors
de la construction de GCC. C'est-à-dire, tous les binaires finaux (et
temporaires) créés lors de la construction seront liés à la nouvelle Glibc.</para>
 
<beginpage/>
 
<important><para>Les correctifs ci-dessus sont critiques pour s'assurer une
construction avec succès. N'oubliez pas de les appliquer.</para></important>
 
<para>De nouveau, créez un répertoire de construction séparé&nbsp;:</para>
 
<screen><userinput>mkdir ../gcc-build
cd ../gcc-build</userinput></screen>
 
<para>Avant de commencer la construction de GCC, rappelez-vous de désinitialiser
toute variable d'environnement surchargeant les options d'optimisation par
défaut.</para>
 
<para>Maintenant, préparez la compilation de GCC&nbsp;:</para>
 
<screen><userinput>../gcc-&gcc-version;/configure --prefix=/tools \
--libexecdir=/tools/lib --with-local-prefix=/tools \
--enable-clocale=gnu --enable-shared \
--enable-threads=posix --enable-__cxa_atexit \
--enable-languages=c,c++ --disable-libstdcxx-pch</userinput></screen>
 
<para>Voici la signification des nouvelles options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--enable-clocale=gnu</parameter></term>
<listitem><para>Cette option nous assure que le bon modèle de locale est
sélectionné pour les bibliothèques C++ sous toutes les circonstances. Si le
script configure trouve la locale <emphasis>de_DE</emphasis> installée, il
sélectionnera le bon modèle de locale gnu. Néanmoins, si la locale
<emphasis>de_DE</emphasis> n'est pas installée, il existe un risque de
construire des bibliothèques C++ incompatibles avec ABI à cause du choix d'un
mauvais modèle générique de locale.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-threads=posix</parameter></term>
<listitem><para>Ceci active la gestion des exceptions C++ pour le code
multi-threadé.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-__cxa_atexit</parameter></term>
<listitem><para>Cette option autorise l'utilisation de
<emphasis>__cxa_atexit</emphasis>, plutôt que <emphasis>atexit</emphasis>,
pour enregistrer les destructeurs C++ des objets statiques locaux et globaux.
Cette option est essentielle pour la gestion des destructeurs en compatibilité
complète avec les standards. Il affecte aussi l'ABI C++ et donc résulte en des
bibliothèques partagées et des programmes C++ interopérables avec les autres
distributions Linux.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-languages=c,c++</parameter></term>
<listitem><para>Cette option est nécessaire pour s'assurer que les compilateurs
C et C++ seront construits.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--disable-libstdcxx-pch</parameter></term>
<listitem><para>Ce commutateur empêche la construction de l'en-tête précompilé
(PCH) de <filename class="libraryfile">libstdc++</filename>. Il prend beaucoup
d'espace et nous n'en avons aucune utilité.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Il n'est pas nécessaire d'utiliser la cible <parameter>bootstrap</parameter>
maintenant car le compilateur utilisé pour compiler ce GCC a été construit avec
exactement la même version des sources de GCC utilisées précédemment.</para>
 
<beginpage/>
 
<para>La compilation est maintenant terminée. Comme mentionné plus tôt,
lancer les suites de test pour les outils temporaires de ce chapitre n'est pas
nécessaire. Néanmoins, pour exécuter la suite de tests de GCC, lancez la
commande suivante&nbsp;:</para>
 
<screen><userinput>make -k check</userinput></screen>
 
<para>L'option <parameter>-k</parameter> est utilisée pour faire en sorte que
toute la suite de tests est exécutée et qu'elle ne s'arrête pas au premier
échec. La suite de tests GCC est très complète et il est pratiquement garantie
que certaines erreurs apparaîtront. Pour obtenir un résumé des résultats de la
suite de tests, lancez ceci&nbsp;:</para>
 
<screen><userinput>../gcc-&gcc-version;/contrib/test_summary</userinput></screen>
 
<para>Pour un simple résumé, envoyez la sortie sur un tube suivi de
<userinput>grep -A7 Summ</userinput>.</para>
 
<para>Les résultats peuvent être comparés à ceux postés sur <ulink
url="&test-results;"/>.</para>
 
<para>Quelques échecs inattendus ne peuvent souvent pas être évités. Les
développeurs GCC sont généralement au courant mais ne les ont pas encore
résolus. À moins que vos tests soient grandement différents de ceux de l'URL
ci-dessus, vous pouvez continuer sans crainte.</para>
 
<para>Installez le paquet&nbsp;:</para>
<screen><userinput>make install</userinput></screen>
 
<note><para>À ce moment, il est fortement recommandé de répéter la vérification
que nous avions réalisé dans ce chapitre. Référez-vous à <xref
linkend="ch-tools-adjusting"/> et répétez le test de compilation. Si les
résultats sont mauvais, alors la raison probable en est l'oubli de l'application
du correctif "GCC Specs" mentionné ci-dessus.</para></note>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-gcc" role="."/></para>
</sect2>
 
 
</sect1>
/tags/LFS-6_1/lfs/chapter05/toolchaintechnotes.xml
0,0 → 1,228
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-toolchaintechnotes">
<title>Notes techniques sur l'ensemble d'outils</title>
<?dbhtml filename="toolchaintechnotes.html"?>
 
<para>Cette section explique certains détails rationnels et techniques
derrière la méthode de construction. Il n'est pas essentiel de comprendre
immédiatement tout ce qui se trouve dans cette section. La plupart des
informations seront plus claires après avoir réalisé réellement une
construction complète. Cette section peut servir de référence à tout moment
lors du processus de construction.</para>
 
<para>Le but global de <xref linkend="chapter-temporary-tools"/> est de fournir
un environnement temporaire où nous pouvons utiliser chroot à partir duquel
nous pouvons produit une construction propre, sans soucis, du système LFS
cible dans <xref linkend="chapter-building-system"/>. Tout au long du chemin,
nous nous séparons du système hôte autant que possible et, se faisant, nous
construisons un ensemble d'outils qui se tient. Il devrait être noté que le
processus de construction a été conçu pour minimiser les risques pour les
nouveaux lecteurs et pour fournir une valeur éducative maximale en même temps.
</para>
 
<important>
<para>Avant de continuer, faites attention au nom de la plateforme de travail,
souvent appelé la triplette cible. De nombreuses fois, la triplette cible sera
probablement <emphasis>i686-pc-linux-gnu</emphasis>. Une façon simple de
déterminer le nom de la triplette cible est de lancer le script
<command>config.guess</command> venant avec le source pour un grand nombre de
paquetages. Déballez les sources de Binutils, lancez le script
<userinput>./config.guess</userinput> et notez la sortie.</para>
 
<para>De même, faites attention au nom de l'éditeur de liens de la plateforme,
souvent appelé le chargeur dynamique (à ne pas confondre avec l'éditeur de liens
<command>ld</command> faisant partie de Binutils). Le chargeur dynamique fourni
par Glibc trouve et charge les bibliothèques partagées nécessaires à un programme
pour s'exécuter, puis l'exécute. Le nom de l'éditeur dynamique sera habituellement
<filename class="libraryfile">ld-linux.so.2</filename>. Sur des plateformes moins
connues, le nom pourrait être <filename class="libraryfile">ld.so.1</filename>
alors que les nouvelles plateformes 64 bits pourraient être nommées encore
différemment. Le nom de l'éditeur de liens dynamiques de la plateforme peut
être déterminé en cherchant dans le répertoire
<filename class="directory">/lib</filename> du système hôte. Une façon certaine
de déterminer le nom est d'inspecter un binaire au hasard de la hôte système en
exécutant&nbsp;: <userinput>readelf -l &lt;nom du binaire&gt; | grep interpreter</userinput>
et de noter le résultat. La référence faisant autorité couvrant toutes les
plateformes est dans le fichier <filename>shlib-versions</filename> à la racine
du répertoire des sources de Glibc.</para>
</important>
 
<para>Quelques points techniques sur la façon dont fonctionne la méthode de
construction <xref linkend="chapter-temporary-tools"/>&nbsp;:</para>
 
<itemizedlist>
<listitem><para>Le processus est similaire dans son principe à la
cross-compilation où les outils installés dans le même préfixe fonctionnent
en coopération et utilisent, du coup, un peu de <quote>magie</quote> GNU
</para></listitem>
 
<listitem><para>Une manipulation attentionnée du chemin de recherche des
bibliothèques de l'éditeur de liens standard vous assure que les programmes
sont liés seulement avec les bibliothèques choisies</para></listitem>
 
<listitem><para>Une manipulation attentionnée du fichier
<filename>specs</filename> de <command>gcc</command> indique au compilateur
l'éditeur de liens dynamique cible à utiliser</para></listitem>
</itemizedlist>
 
<para>Binutils est tout d'abord installé parce que les exécutions de Glibc et
GCC par <command>configure</command> réalisent quelques tests de fonctionnalités
sur l'assembleur et l'éditeur de liens pour déterminer quelle fonctionnalité
logicielle activer ou désactiver. Ceci est plus important que vous pourriez
supposer. Un GCC ou une Glibc mal configurée peut résulter en un ensemble
d'outils subtilement cassé, où l'impact d'une telle cassure ne se montrerait
pas avant la fin de la construction de la distribution complète. Un échec dans
la suite de tests surlignera habituellement sur cette erreur avant que trop de
travail supplémentaire n'ait été réalisé.</para>
 
<beginpage/>
 
<para>Binutils installe son assembleur et son éditeur de liens à deux endroits,
<filename class="directory">/tools/bin</filename> et <filename
class="directory">/tools/$TARGET_TRIPLET/bin</filename>. Les outils dans un
emplacement sont liés en dur à l'autre. Une facette importante de l'éditeur
de liens est son ordre de recherche des bibliothèques. Des informations
détaillées peuvent être obtenues à partir de <command>ld</command> en lui
passant le commutateur <parameter>--verbose</parameter>. Par exemple, un
<userinput>ld --verbose | grep SEARCH</userinput> illustrera les chemins de
recherche réels et leur ordre. Il montre quels fichiers sont liés par
<command>ld</command> en compilant un programme de test et en passant le
commutateur <parameter>--verbose</parameter> à l'éditeur de liens. Par exemple,
<userinput>gcc dummy.c -Wl,--verbose 2&gt;&amp;1 | grep
succeeded</userinput> affichera tous les fichiers ouverts avec succès lors de
l'édition des liens.</para>
 
<para>Le prochain paquetage installé est GCC. Un exemple de ce qui peut être vu
pendant son exécution de <command>configure</command> est&nbsp;:</para>
 
<screen><computeroutput>checking what assembler to use...
/tools/i686-pc-linux-gnu/bin/as
checking what linker to use... /tools/i686-pc-linux-gnu/bin/ld</computeroutput></screen>
 
<para>C'est important pour les raisons mentionnées ci-dessus. Cela démontre
aussi que le script configure de GCC ne cherche pas les répertoires PATH pour
trouver les outils à utiliser. Néanmoins, lors d'une opération normale de
<command>gcc</command>, les mêmes chemins de recherche ne sont pas forcément
utilisés. Pour trouver quel éditeur de liens standard <command>gcc</command>
utilisera, lancez&nbsp;: <userinput>gcc
-print-prog-name=ld</userinput>.</para>
 
<para>Des informations détaillées peuvent être obtenues à partir de
<command>gcc</command> en lui fournissant l'option en ligne de commande
<parameter>-v</parameter> lors de la compilation d'un programme de tests.
Par exemple, <userinput>gcc -v dummy.c</userinput> affichera des informations
détaillées sur les étapes du préprocesseur, de la compilation et de l'assemblage,
ceci incluant les chemins de recherche inclus par <command>gcc</command> et
leur ordre.</para>
 
<para>Le prochain paquetage installé est Glibc. Les plus importantes
considérations pour construire Glibc est le compilateur, les outils binaires
et les en-têtes du noyau. Le compilateur n'est généralement pas un problème
car Glibc utilise toujours le <command>gcc</command> trouvé dans un répertoire
du <envar>PATH</envar>. Les outils binaires et les en-têtes du noyau peuvent
être un peu plus compliqués. Du coup, ne prenez pas de risque et utilisez les
options disponibles de configure pour renforcer les bonnes sélections. Après
l'exécution de <command>configure</command>, vérifiez le contenu du fichier
<filename>config.make</filename> dans le répertoire <filename
class="directory">glibc-build</filename> pour tous les détails importants. Notez
l'utilisation de <parameter>CC="gcc -B/tools/bin/"</parameter> pour contrôler les
outils binaires utilisés, et l'utilisation de <parameter>-nostdinc</parameter>
et <parameter>-isystem</parameter> pour contrôler le chemin de recherche des
en-têtes du compilateur. Ces éléments soulignent un aspect important du paquetage
Glibc &mdash; il est auto-suffisant en terme de machinerie de construction et ne
se repose généralement pas sur l'ensemble d'outils par défaut.</para>
 
<para>Après l'installation de Glibc, réalisez les ajustements pour vous assurer
que la recherche et l'édition de liens prennent seulement place à l'intérieur
du préfixe <filename class="directory">/tools</filename>. Installez un
<command>ld</command> ajusté qui a un chemin de recherche limité, codé en dur,
vers <filename class="directory">/tools/lib</filename>. Puis, modifiez le
fichier specs de <command>gcc</command> pour pointer vers le nouvel éditeur de
liens dynamique dans <filename class="directory">/tools/lib</filename>. Cette
dernière étape est vitale pour le processus complet. Comme mentionné ci-dessus,
un chemin en dur vers un éditeur de liens est intégré dans chaque exécutable
ainsi que dans chaque exécutable partagé (ELF). Ceci peut être inspecté en
exécutant&nbsp;: <userinput>readelf -l &lt;name of binary&gt; | grep
interpreter</userinput>. Modifier le fichier specs de gcc nous assure que chaque
programme compilé à partir de maintenant et jusqu'à la fin de ce chapitre
utilisera le nouvel éditeur de liens dynamiques dans <filename
class="directory">/tools/lib</filename>.</para>
 
<para>Le besoin d'utiliser le nouvel éditeur de liens dynamique est aussi la
raison pour laquelle le correctif Specs est appliqué lors de la seconde passe
de GCC. Échouer sur ce point résultera en des programmes GCC ayant le nom de
l'éditeur de liens provenant du répertoire <filename
class="directory">/lib</filename> du système hôte intégré en eux, ce qui
empêchera le but de s'éloigner de l'hôte.</para>
 
<para>Lors de la seconde passe de Binutils, nous sommes capable d'utiliser
l'option <parameter>--with-lib-path</parameter> de configure pour contrôler
le chemin de recherche des bibliothèques de <command>ld</command>. À partir de
là, l'ensemble d'outils principal est contenu en lui-même. Le reste des
paquetages de <xref linkend="chapter-temporary-tools"/> se construit à partir de
la nouvelle Glibc dans <filename class="directory">/tools</filename>.</para>
 
<beginpage/>
 
<para>Avant d'entrer dans l'environnement chroot dans <xref
linkend="chapter-building-system"/>, le premier paquetage majeur à être installé
est Glibc, à cause de sa nature auto-suffisante mentionnée ci-dessus. Une fois
que Glibc est installée dans <filename class="directory">/usr</filename>,
réalisez une rapide modification des valeurs par défaut de l'ensemble des outils
puis continuez la construction du reste du système LFS cible.</para>
 
<!-- Supprimé en tant que poartie de la correction du bogue 1061 -
nous n'avons plus besoin de construire statiquement les paquetages de
la première passe... du coup, cette explication n'est plus nécessaire -->
 
<!--<sect2>
<title>Notes sur l'édition de liens statiques</title>
 
<para>EN dehors de leur tâches spécifiques, la plupart des programmes doivent
réaliser un grand nombre d'opérations habituelles, voire triviales. Elles
incluent l'allocation de mémoire, la recherche dans des répertoire, la lecture
et l'écriture de fichiers, la gestion des chaînes de caractères, la
reconnaissance de modèles, l'arithmétique et d'autres tâches. Au lieu d'obliger
chaque programme à réinventer la roue, le système GNU fournit toutes ces
fonctions de base dans des bibliothèques toutes prêtes. La bibliothèque majeure
sur un système Linux est Glibc.</para>
 
<para>Il existe deux façons de lier les fonctions d'une bibliothèque dans un
programme qui les utilise &mdash; statiquement ou dynamiquement. Quand un
programme est lié statiquement, le code des fonctions utilisées est inclus
dans l'exécutable, résultant en un gros programme. Quand un programme est lié
dynamiquement, il inclut une référence à l'éditeur de liens, le nom de la
bibliothèque et le nom de la fonction, résultant en un exécutable bien plus
petit. Une troisième option est d'utiliser l'interface de programmation de
l'éditeur de liens (voir la page man <filename>dlopen(3)</filename> pour plus
d'informations).</para>
 
<para>L'édition de liens dynamiques est le comportement par défaut sur Linux et
a trois avantages majeurs sur l'édition de liens statiques. Tout d'abord, seule
une copie du code exécutable de la bibliothèque est nécessaire sur le disque
dur, à la place de plusieurs copies du même code inclus dans plusieurs
programmes, sauvegardant ainsi de l'espace disque. Deuxièmement, quand plusieurs
programmes utilisent la même fonction de bibliothèque en même temps, seule une
copie du code de la fonction est requis en mémoire, sauvegardant ainsi de la
place. Troisièmement, quand une fonction d'un bibliothèque est corrigée ou
améliorée, seule la bibliothèque doit être recompilée au lieu de recompiler tous
les programmes utilisant ladite fonction.</para>
 
<para>Si l'édition de liens dynamiques a plusieurs avantages, alors pourquoi
utilisons-nous l'édition statique pour les deux premiers paquetages dans ce
chapitre&nbsp;? Il y a trois raisons &mdash; historique, éducative et technique.
La raison historique est que les versions antérieures de LFS liaient statiquement
tous les programmes de ce chapitre. Éducative, connaître les différences entre
statique et dynamique est utile. Le bénéfice technique est un élément gagné pour
l'indépendance sur le système hôte, signifiant que les programmes peuvent être
utilisés indépendamment du système hôte. Néanmoins, il est bon de noter qu'une
construction réussie de LFS peut toujours se faire quand les deux premiers
paquetages de LFS sont construits dynamiquement.</para>
 
</sect2> -->
 
</sect1>
/tags/LFS-6_1/lfs/chapter05/coreutils.xml
0,0 → 1,73
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-coreutils" role="wrap">
<title>Coreutils-&coreutils-version;</title>
<?dbhtml filename="coreutils.html"?>
 
<indexterm zone="ch-tools-coreutils">
<primary sortas="a-Coreutils">Coreutils</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/coreutils.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,9&nbsp;SBU</seg><seg>53,3&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/coreutils.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Coreutils</title>
 
<para>Préparez la compilation de Coreutils&nbsp;:</para>
 
<screen><userinput>DEFAULT_POSIX2_VERSION=199209 ./configure --prefix=/tools</userinput></screen>
 
<para>Ce paquet a un problème lorsqu'il est compilé avec des versions de Glibc
plus anciennes que la 2.3.2. Certains outils de Coreutils (tels que
<command>head</command>, <command>tail</command> et <command>sort</command>)
rejetteront leur syntaxe traditionnelle, une syntaxe utilisée depuis environ
30&nbsp;ans. Cette ancienne syntaxe est si ancrée que la compatibilité doit
être préservée jusqu'à ce que les endroits où elle est utilisée pourront être
mis à jour. La compatibilité descendante est obtenue en initialisant la
variable d'environnement <envar>DEFAULT_POSIX2_VERSION</envar> à
<quote>199209</quote> dans la commande ci-dessus. Si vous ne voulez pas que
Coreutils soit compatible avec la syntaxe traditionnelle, oubliez simplement
d'initialiser la variable d'environnement <envar>DEFAULT_POSIX2_VERSION</envar>.
Il est important de se rappeler que faire ceci aura des conséquences, dont la
correction des nombreux paquets utilisant toujours l'ancienne syntaxe. Il est
donc fortement recommander de suivre exactement les instructions comme indiquées
ci-dessus.</para>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make RUN_EXPENSIVE_TESTS=yes check</userinput>. Le paramètre
<parameter condition="html">RUN_EXPENSIVE_TESTS=yes</parameter>
<parameter condition="pdf">RUN_EXPENSIVE_ TESTS=yes</parameter> indique à la
suite de tests de lancer quelques tests supplémentaires, considérés relativement
coûteux (en terme de puissance CPU et d'utilisation mémoire) mais habituellement
sans problème sous Linux.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-coreutils" role="." />.</para>
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter05/binutils-pass1.xml
0,0 → 1,146
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-binutils-pass1" role="wrap">
<title>Binutils-&binutils-version; - Passe 1</title>
<?dbhtml filename="binutils-pass1.html"?>
 
<indexterm zone="ch-tools-binutils-pass1">
<primary sortas="a-Binutils">Binutils</primary>
<secondary>outils, passe 1</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/binutils.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>1,0&nbsp;SBU</seg><seg>170&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/binutils.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Binutils</title>
 
<para>Il est important que Binutils soit le premier paquet compilé parce
que à la fois Glibc et GCC réalisent différents tests sur l'éditeur de liens et
l'assembleur disponibles pour déterminer leur propres fonctionnalités à activer.
</para>
 
<para>Ce paquet est connu pour avoir des soucis quand les options d'optimisation
par défaut (en incluant les options <parameter>-march</parameter> et
<parameter>-mcpu</parameter>) sont modifiées. Donc, si des variables d'environnement
qui surchargent les optimisations par défaut, telles que <envar>CFLAGS</envar>
et <envar>CXXFLAGS</envar>, ont été définies, supprimez cette initialisation
pour la construction de Binutils.</para>
 
<para>La documentation de Binutils recommande de construire Binutils en dehors
du répertoire des sources, c'est-à-dire dans un répertoire de construction
dédié&nbsp;:</para>
 
<screen><userinput>mkdir ../binutils-build
cd ../binutils-build</userinput></screen>
 
<note><para>Pour que les valeurs SBU listées dans le reste du livre vous soient
utiles, mesurez le temps pris pour construire ce paquet, de la configuration
jusqu'à la première installation. Pour cela, englobez les trois commandes
dans une commande <command>time</command> de cette façon&nbsp;:
<userinput>time { ./configure ... &amp;&amp; make &amp;&amp; make
install; }</userinput>.</para></note>
 
<para>Maintenant, préparez la compilation de Binutils&nbsp;:</para>
 
<screen><userinput>../binutils-&binutils-version;/configure --prefix=/tools --disable-nls</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--prefix=/tools</parameter></term>
<listitem><para>Ceci indique au script configure de se préparer à installer les
programmes Binutils dans le répertoire <filename
class="directory">/tools</filename>.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--disable-nls</parameter></term>
<listitem><para>Ceci désactive l'internationalisation car ce n'est pas
nécessaire pour des outils temporaires.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Continuez avec la compilation du paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>La compilation est maintenant terminée. Normalement, la suite de tests
devrait être lancé mais, à ce moment, l'ensemble de travail de la suite de tests (Tcl,
Expect et DejaGnu) n'est pas encore en place. Les bénéfices à lancer les tests
maintenant seraient minimes car les programmes de la première passe seront
bientôt remplacés par ceux de la seconde.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Ensuite, préparez l'éditeur de liens pour la phase
d'<quote>ajustement</quote> un peu plus tard&nbsp;:</para>
 
<screen><userinput>make -C ld clean
make -C ld LIB_PATH=/tools/lib</userinput></screen>
 
<para>Voici la signification des paramètres de make&nbsp;:</para>
 
<itemizedlist>
<listitem><para><userinput>-C ld clean</userinput>&nbsp;: Ceci indique au
programme make de supprimer tous les fichiers compilés du
sous-répertoire <filename class="directory">ld</filename>.</para></listitem>
 
<listitem><para><userinput>-C ld LIB_PATH=/tools/lib</userinput>&nbsp;:
Cette option reconstruit tout ce qui se trouve dans le sous-répertoire
<filename class="directory">ld</filename>. Spécifier la variable makefile
the <envar>LIB_PATH</envar> en ligne de commande nous autorise à écraser la valeur par défaut et à
la faire pointer vers notre emplacement temporaire des outils. La valeur de
cette variable spécifie le chemin de recherche des bibliothèques par défaut pour
l'éditeur de liens. Cette préparation est utilisée plus tard dans le chapitre.</para></listitem>
</itemizedlist>
 
<variablelist>
<varlistentry>
<term><parameter>-C ld clean</parameter></term>
<listitem><para>Ceci indique au programme make de supprimer tous les fichiers
compilés du sous-répertoire <filename class="directory">ld</filename>.
</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>-C ld LDFLAGS="-all-static"
LIB_PATH=/tools/lib</parameter></term>
<listitem><para>Cette option reconstruit tout ce qui se trouve dans le
sous-répertoire <filename class="directory">ld</filename>. Spécifier la
variable <envar>LIB_PATH</envar> en ligne de commande du makefile nous
autorise à écraser la valeur par défaut et à la faire pointer vers notre
emplacement temporaire des outils. La valeur de cette variable spécifie le
chemin de recherche des bibliothèques par défaut pour l'éditeur de liens.
Cette préparation est utilisée plus tard dans le chapitre.</para></listitem>
</varlistentry>
</variablelist>
 
<warning><para><emphasis>Ne supprimez pas encore</emphasis> les répertoires de
construction et des sources dont vous aurez encore besoin dans leur état actuel
un peu plus tard dans ce chapitre.</para></warning>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-binutils" role="." /></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter05/tcl.xml
0,0 → 1,126
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-tcl" role="wrap">
<title>Tcl-&tcl-version;</title>
<?dbhtml filename="tcl.html"?>
 
<indexterm zone="ch-tools-tcl"><primary sortas="a-Tcl">Tcl</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Tcl contient le langage de commandes des outils
(<foreignphrase>Tool Command Language</foreignphrase>).</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,9&nbsp;SBU</seg><seg>23,3&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make et Sed</seg></seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Tcl</title>
 
<para>Ce paquet et les deux suivants (Expect et DejaGNU) sont installés
uniquement pour supporter les suites de tests de GCC et Binutils. Installer ces
trois paquets dans un but de tests pourrait sembler excessif mais c'est très
rassurant, voire essentielle, de savoir que les outils les plus importants
fonctionnent correctement. Même si les suites de tests ne sont pas exécutées dans
ce chapitre (elles ne sont pas obligatoires), ces paquets sont nécessaires pour
lancer les suites de tests du <xref linkend="chapter-building-system"/>.</para>
 
<para>Préparez la compilation de Tcl&nbsp;:</para>
 
<screen><userinput>cd unix
./configure --prefix=/tools</userinput></screen>
 
<para>Construisez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>TZ=UTC make test</userinput>. La suite de tests de Tcl
est connue pour ses échecs sous certaines conditions concernant l'hôte,
conditions toujours pas comprises. Du coup, des échecs de la suite de tests ne
sont pas surprenants ici et ne doivent pas être considérés comme critiques. Le
paramètre <parameter>TZ=UTC</parameter> initialise le fuseau horaire avec le
temps universel coordonné (<foreignphrase>Coordinated Universal
Time</foreignphrase> soit l'UTC) connu aussi sous le nom de
<foreignphrase>Greenwich Mean Time</foreignphrase> (GMT), mais seulement pour
la durée de l'exécution de la suite de tests. Ceci nous assure que les tests
d'horloge fonctionneront correctement. Des détails sur la variable
d'environnement <envar>TZ</envar> sont fournis dans <xref
linkend="chapter-bootscripts"/>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<warning><para><emphasis>Ne supprimez pas encore</emphasis> le répertoire des
sources <filename class="directory">tcl&tcl-version;</filename> car le paquet suivant a
besoin des en-têtes.</para></warning>
 
<para>Initialisez une variable avec le chemin complet du répertoire actuel.
Le prochain paquetage, Expect, utilisera cette variable pour trouver les en-têtes
de Tcl.</para>
 
<screen><userinput>cd ..
export TCLPATH=`pwd`</userinput></screen>
 
<para>Maintenant, créez un lien symbolique nécessaire&nbsp;:</para>
 
<screen><userinput>ln -s tclsh8.4 /tools/bin/tclsh</userinput></screen>
 
<beginpage/>
 
</sect2>
 
<sect2 id="contents-tcl" role="content"><title>Contenu de Tcl</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèque installée</segtitle>
<seglistitem><seg>tclsh (lien vers tclsh8.4) et tclsh8.4</seg><seg>libtcl8.4.so</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="tclsh8.4">
<term><command>tclsh8.4</command></term>
<listitem>
<para>Le shell de commandes Tcl</para>
<indexterm zone="ch-tools-tcl tclsh8.4"><primary sortas="b-tclsh8.4">tclsh8.4</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tclsh">
<term><command>tclsh</command></term>
<listitem>
<para>Un lien vers tclsh8.4</para>
<indexterm zone="ch-tools-tcl tclsh"><primary sortas="b-tclsh">tclsh</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libtcl8.4.so">
<term><filename class="libraryfile">libtcl8.4.so</filename></term>
<listitem>
<para>La bibliothèque Tcl</para>
<indexterm zone="ch-tools-tcl libtcl8.4.so"><primary sortas="c-libtcl8.4.so">libtcl8.4.so</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter05/gettext.xml
0,0 → 1,78
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-gettext" role="wrap">
<title>Gettext-&gettext-version;</title>
<?dbhtml filename="gettext.html"?>
 
<indexterm zone="ch-tools-gettext">
<primary sortas="a-Gettext">Gettext</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gettext.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,5&nbsp;SBU</seg><seg>63&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gettext.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Gettext</title>
 
<para>Préparez la compilation de Gettext&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools --disable-libasprintf \
--without-csharp</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--disable-libasprintf</parameter></term>
<listitem><para>Ce commutateur indique à Gettext de ne pas construire la
bibliothèque <filename class="libraryfile">asprintf</filename>. Parce que rien
dans ce chapitre ou le suivant ne requiert cette bibliothèque et que Gettext
est reconstruit plus tard, l'exclure sauve du temps et de l'espace.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--without-csharp</parameter></term>
<listitem><para>Ceci nous assure que Gettext ne contruira pas le support du
compilateur C# qui pourrait être présent sur l'hôte mais qui ne sera pas
disponible une fois que nous serons entrés dans l'environnement du
<command>chroot</command>.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make check</userinput>. Ceci peut prendre beaucoup de temps, environ
7&nbsp;SBU. La suite de tests Gettext est connue pour avoir des échecs sous
certaines conditions liées à l'hôte, par exemple lorsqu'il trouve un
compilateur Java sur l'hôte. Un correctif expérimental désactivant Java est
disponible à partir du projet des correctifs LFS sur
<ulink url="&lfs-root;patches/"/>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-gettext" role="."/></para>
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter05/tar.xml
0,0 → 1,53
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-tar" role="wrap">
<title>Tar-&tar-version;</title>
<?dbhtml filename="tar.html"?>
 
<indexterm zone="ch-tools-tar">
<primary sortas="a-Tar">Tar</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/tar.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>12,7&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/tar.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Tar</title>
 
<para>Préparez la compilation de Tar&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;: <userinput>make
check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-tar" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter05/bzip2.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-tools-bzip2" role="wrap">
<title>Bzip2-&bzip2-version;</title>
<?dbhtml filename="bzip2.html"?>
 
<indexterm zone="ch-tools-bzip2">
<primary sortas="a-Bzip2">Bzip2</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/bzip2.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>3,5&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/bzip2.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Bzip2</title>
 
<para>Le paquet Bzip2 ne contient pas de script <command>configure</command>.
Compilez-le avec&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, exécutez&nbsp;:
<userinput>make test</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make PREFIX=/tools install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-bzip2" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter05/adjusting.xml
0,0 → 1,116
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-adjusting">
<title>Ajuster l'atelier des outils</title>
<?dbhtml filename="adjusting.html"?>
 
<para>Maintenant que les bibliothèques C temporaires ont été installées, tous
les outils compilés dans le reste de ce chapitre doivent être liés avec ces
bibliothèques. Pour accomplir cela, l'éditeur de liens et le fichier specs du
compilateur doivent être ajustés.</para>
 
<para>L'éditeur de liens ajusté (à la fin de la première passe de Binutils)
est installé en lançant la commande suivante à partir du répertoire <filename
class="directory">binutils-build</filename>&nbsp;:</para>
 
<screen><userinput>make -C ld install</userinput></screen>
 
<para>À partir de ce moment, tout sera lié uniquement avec les bibliothèques
comprises dans <filename class="directory">/tools/lib</filename>.</para>
 
<note><para>Si l'avertissement précédent de différencier les répertoires source
et de conversion de Binutils à partir de la première passe n'a pas été suivi,
ignorez simplement la commande ci-dessus. Le résultat en est une petite chance
de programmes de tests toujours liés avec les bibliothèques de l'hôte. Ce n'est
pas idéal mais ce n'est pas un problème majeur. La situation est corrigée à
l'installation de la deuxième passe de Binutils un peu plus tard.</para></note>
 
<para>Maintenant que l'éditeur de liens ajusté est installé, les répertoires
source et de construction de Binutils doivent être supprimés.</para>
 
<para>La prochaine tâche est de modifier le fichier specs de GCC pour qu'il
pointe vers le nouvel éditeur de liens. Un simple script sed devrait y
parvenir&nbsp;:</para>
 
<!-- Ampersands are needed to allow copy and paste -->
 
<screen><userinput>SPECFILE=`gcc --print-file specs` &amp;&amp;
sed 's@ /lib/ld-linux.so.2@ /tools/lib/ld-linux.so.2@g' \
$SPECFILE &gt; tempspecfile &amp;&amp;
mv -f tempspecfile $SPECFILE &amp;&amp;
unset SPECFILE</userinput></screen>
 
<para><phrase condition="html">Il est recommandé que la commande ci-dessus soit
copiée/collée pour assurer la précision de la commande.</phrase>
Autrement, le fichier specs est éditable manuellement. Ceci est fait en
remplaçant chaque occurrence de <quote>/lib/ld-linux.so.2</quote> par
<quote>/tools/lib/ld-linux.so.2</quote>.</para>
<para>Assurez-vous d'inspecter visuellement le fichier specs pour vérifier que
la modification attendue a été réellement réalisée.</para>
 
<important><para>Au cas où le nom de l'éditeur de liens de la plateforme de
travail est autre que <filename>ld-linux.so.2</filename>, remplacez
<filename>ld-linux.so.2</filename> avec le nom de l'éditeur de liens de votre
plateforme dans les commandes ci-dessus. Référez-vous à <xref
linkend="ch-tools-toolchaintechnotes" role=","/> si
nécessaire.</para></important>
 
<para>Enfin, il existe un risque que certains fichiers include du système hôte
aient trouvé leur chemin vers le répertoire include privé de GCC. Ceci peut
arriver à cause du processus <quote>fixincludes</quote> de GCC fonctionnant en
tant que partie de la construction GCC. Ceci est expliquer un peu plus tard
dans ce chapitre. Lancez les commandes suivantes pour éliminer cette
possibilité&nbsp;:</para>
 
<screen><userinput>rm -f
/tools/lib/gcc/*/*/include/{pthread.h,bits/sigthread.h}</userinput></screen>
 
<beginpage/>
 
<caution><para>Il est impératif à ce moment de s'arrêter et de s'assurer que les
fonctions basiques (compilation et édition des liens) du nouvel atelier d'outils
fonctionnent comme attendu. Pour réaliser une vérification de santé, lancez les
commandes suivantes&nbsp;:</para>
 
<screen><userinput>echo 'main(){}' &gt; dummy.c
cc dummy.c
readelf -l a.out | grep ': /tools'</userinput></screen>
 
<para>Si tout fonctionne correctement, il ne devrait pas y avoir d'erreurs et
la sortie de la dernière commande sera de la forme&nbsp;:</para>
 
<screen><computeroutput>[Requesting program interpreter:
/tools/lib/ld-linux.so.2]</computeroutput></screen>
 
<para>Notez que <filename class="directory">/tools/lib</filename> apparaît comme
préfixe du chargeur dynamique.</para>
 
<para>Si l'affichage diffère ou s'il n'y a aucun affichage, alors quelque chose
ne se passe pas bien. Investiguez et retracez vos étapes pour trouver où se
cache le problème et comment le corriger. Ce problème doit être corrigé avant
de continuer. Tout d'abord, relancez la vérification en utilisant
<command>gcc</command> au lieu de <command>cc</command>. Si cela fonctionne,
le lien symbolique <filename class="symlink">/tools/bin/cc</filename> est
manquant. Revisitez <xref linkend="ch-tools-gcc-pass1" role=","/> et installez
le lien symbolique. Ensuite, assurez-vous que le <envar>PATH</envar> est
correct. Ceci se vérifie en lançant <userinput>echo $PATH</userinput> et en
vérifiant que <filename class="directory">/tools/bin</filename> est en tête de
la liste. Si le <envar>PATH</envar> est mauvais, cela pourrait signifier que
vous n'êtes pas connecté en tant qu'utilisateur <emphasis>lfs</emphasis> ou que
quelque chose s'est mal passé dans <xref linkend="ch-tools-settingenviron"
role="."/> Une autre possibilité est que quelque chose a pu mal se passer
avec la correction du fichier specs ci-dessus. Dans ce cas, refaites la
modification de ce fichier<phrase condition="html"> en vous assurant de
copier/coller les lignes comme cela était recommandé</phrase>.</para>
 
<para>Une fois satisfait, nettoyez les fichiers de test&nbsp;:</para>
 
<screen><userinput>rm dummy.c a.out</userinput></screen>
</caution>
 
 
</sect1>
/tags/LFS-6_1/lfs/chapter05/diffutils.xml
0,0 → 1,52
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-diffutils" role="wrap">
<title>Diffutils-&diffutils-version;</title>
<?dbhtml filename="diffutils.html"?>
 
<indexterm zone="ch-tools-diffutils">
<primary sortas="a-Diffutils">Diffutils</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/diffutils.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>5,6&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/diffutils.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Diffutils</title>
 
<para>Préparez la compilation de Diffutils&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Ce paquet ne contient pas de suite de tests.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-diffutils" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter05/gawk.xml
0,0 → 1,53
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-gawk" role="wrap">
<title>Gawk-&gawk-version;</title>
<?dbhtml filename="gawk.html"?>
 
<indexterm zone="ch-tools-gawk">
<primary sortas="a-Gawk">Gawk</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gawk.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>16,4&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gawk.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Gawk</title>
 
<para>Préparez la compilation de Gawk&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-gawk" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter05/chapter05.xml
0,0 → 1,45
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<chapter id="chapter-temporary-tools" xreflabel="Chapitre 5">
<?dbhtml dir="chapter05"?>
<title>Construire un système temporaire</title>
<?dbhtml filename="chapter05.html"?>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="toolchaintechnotes.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="binutils-pass1.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc-pass1.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="linux-libc-headers.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="glibc.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="adjusting.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="tcl.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="expect.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="dejagnu.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc-pass2.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="binutils-pass2.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gawk.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="coreutils.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bzip2.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gzip.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="diffutils.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="findutils.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="make.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grep.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sed.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gettext.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ncurses.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="patch.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="tar.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="texinfo.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bash.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="m4.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bison.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="flex.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="util-linux.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="perl.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="stripping.xml"/>
 
</chapter>
/tags/LFS-6_1/lfs/chapter05/grep.xml
0,0 → 1,66
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-grep" role="wrap">
<title>Grep-&grep-version;</title>
<?dbhtml filename="grep.html"?>
 
<indexterm zone="ch-tools-grep">
<primary sortas="a-Grep">Grep</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/grep.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>4,5&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/grep.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Grep</title>
 
<para>Préparez la compilation de Grep&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools \
--disable-perl-regexp</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--disable-perl-regexp</parameter></term>
<listitem><para>Ceci nous assure que <command>grep</command> ne sera pas lié à
une bibliothèque PCRE qui pourrait être présente sur l'hôte et qui ne serait
pas disponible une fois que nous serons entrés dans l'environnement
<command>chroot</command>.
</para></listitem>
</varlistentry>
</variablelist>
 
<para>Compilez les programmes&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-grep"/>.</para>
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter05/findutils.xml
0,0 → 1,53
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-findutils" role="wrap">
<title>Findutils-&findutils-version;</title>
<?dbhtml filename="findutils.html"?>
 
<indexterm zone="ch-tools-findutils">
<primary sortas="a-Findutils">Findutils</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/findutils.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>8,9&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/findutils.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Findutils</title>
 
<para>Préparez la compilation de Findutils&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-findutils" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter05/perl.xml
0,0 → 1,83
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-perl" role="wrap">
<title>Perl-&perl-version;</title>
<?dbhtml filename="perl.html"?>
 
<indexterm zone="ch-tools-perl">
<primary sortas="a-Perl">Perl</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/perl.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,8&nbsp;SBU</seg><seg>79,8&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/perl.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Perl</title>
 
<para>Tout d'abord, adaptez quelques chemins codés en dur vers la
bibliothèque C en appliquant le correctif suivant&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../perl-&perl-version;-libc-1.patch</userinput></screen>
 
<para>Préparez la compilation de Perl (assurez-vous que la partie de la
commande marquée <quote>IO Fcntl POSIX</quote> est saisie correctement, ce ne
sont que des lettres)&nbsp;:</para>
 
<screen><userinput>./configure.gnu --prefix=/tools -Dstatic_ext='IO Fcntl POSIX'</userinput></screen>
 
<para>Voici la signification de l'option de configure&nbsp;:</para>
 
<itemizedlist>
<listitem><para><userinput>-Dstatic_ext='IO Fcntl POSIX'</userinput>&nbsp;:
ceci indique à Perl de construire l'ensemble minimal d'extensions statiques
nécessaires à l'installation et au test du paquet Coreutils dans le prochain
chapitre.</para></listitem>
</itemizedlist>
 
<variablelist>
<varlistentry>
<term><parameter>-Dstatic_ext='IO Fcntl POSIX'</parameter></term>
<listitem><para>Ceci indique à Perl de construire l'ensemble minimal
d'extensions statiques nécessaires à l'installation et au test du paquet
Coreutils dans le prochain chapitre.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Seulement une partie des outils de ce paquetage doit être
construit&nbsp;:</para>
 
<screen><userinput>make perl utilities</userinput></screen>
 
<para>Bien que Perl est fourni avec une suite de tests, il n'est pas recommandé
de l'exécuter maintenant. Seules des parties de Perl ont été construites et
l'exécution de <userinput>make test</userinput> obligerait la construction du
reste de Perl, ce qui n'est pas nécessaire actuellement. La suite de tests peut
être exécuté dans le chapitre suivant si désiré.</para>
 
<para>Puis, installez ces outils et leurs bibliothèques&nbsp;:</para>
 
<screen><userinput>cp perl pod/pod2man /tools/bin
mkdir -p /tools/lib/perl5/&perl-version;
cp -R lib/* /tools/lib/perl5/&perl-version;</userinput></screen>
 
</sect2>
 
<sect2 roel="content"><title/>
<para>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-perl" role="."/></para>
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter05/gzip.xml
0,0 → 1,52
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-gzip" role="wrap">
<title>Gzip-&gzip-version;</title>
<?dbhtml filename="gzip.html"?>
 
<indexterm zone="ch-tools-gzip">
<primary sortas="a-Gzip">Gzip</primary>
<secondary>tools</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gzip.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>2,2&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gzip.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Gzip</title>
 
<para>Préparez la compilation de Gzip&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Ce paquet ne dispose pas de suite de tests.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-gzip" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter05/util-linux.xml
0,0 → 1,62
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-util-linux" role="wrap">
<title>Util-linux-&util-linux-version;</title>
<?dbhtml filename="util-linux.html"?>
 
<indexterm zone="ch-tools-util-linux">
<primary sortas="a-Util-linux">Util-linux</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/util-linux.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>8,9&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/util-linux.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Util-linux</title>
 
<para>Util-linux n'utilise pas les en-têtes et bibliothèques tout juste
installés dans le répertoire <filename class="directory">/tools</filename> par
défaut. Ceci est corrigé en modifiant le script configure&nbsp;:</para>
 
<screen><userinput>sed -i 's@/usr/include@/tools/include@g' configure</userinput></screen>
 
<para>Préparez la compilation de Util-linux&nbsp;:</para>
 
<screen><userinput>./configure</userinput></screen>
 
<para>Compilez quelques routines d'aide&nbsp;:</para>
 
<screen><userinput>make -C lib</userinput></screen>
 
<para>Seuls quelques utilitaires contenus dans ce paquet sont nécessaires&nbsp;:</para>
 
<screen><userinput>make -C mount mount umount
make -C text-utils more</userinput></screen>
 
<para>Ce paquet ne fournit pas de suite de tests.</para>
 
<para>Copiez ces programmes dans le répertoire des outils temporaires:&nbsp;:</para>
 
<screen><userinput>cp mount/{,u}mount text-utils/more /tools/bin</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-utillinux" role="." /></para>
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter05/texinfo.xml
0,0 → 1,53
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-texinfo" role="wrap">
<title>Texinfo-&texinfo-version;</title>
<?dbhtml filename="texinfo.html"?>
 
<indexterm zone="ch-tools-texinfo">
<primary sortas="a-Texinfo">Texinfo</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/texinfo.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>14,7&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/texinfo.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Texinfo</title>
 
<para>Préparez la compilation de Texinfo&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;: <userinput>make
check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails de ce paquet sont situés dans <xref
linkend="contents-texinfo" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter05/bash.xml
0,0 → 1,79
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-bash" role="wrap">
<title>Bash-&bash-version;</title>
<?dbhtml filename="bash.html"?>
 
<indexterm zone="ch-tools-bash">
<primary sortas="a-Bash">Bash</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
href="../chapter06/bash.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>1,2&nbsp;SBU</seg><seg>20,7&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
href="../chapter06/bash.xml"
xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Bash</title>
 
<!-- Edit Me -->
<para>Bash a un problème lorsqu'il est compilé avec les nouvelles versions de
Glibc, le faisant s'arrêter brutalement. Cette commande corrige ce
problème&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../bash-&bash-version;-avoid_WCONTINUED-1.patch</userinput></screen>
 
<para>Préparez la compilation de Bash&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools --without-bash-malloc</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--without-bash-malloc</parameter></term>
<listitem><para>Cette option désactive l'utilisation par Bash de la fonction
d'allocation mémoire (malloc) qui est connue pour causer des erreurs de
segmentation. En désactivant cette option, Bash utilisera les fonctions malloc
de Glibc qui sont plus stables.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make tests</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Créez un lien pour les programmes qui utilisent <command>sh</command>
comme shell&nbsp;:</para>
 
<screen><userinput>ln -s bash /tools/bin/sh</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref linkend="contents-bash" role="."/></para>
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter05/linux-libc-headers.xml
0,0 → 1,59
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-linux-libc-headers" role="wrap">
<title>Linux-Libc-Headers-&linux-libc-headers-version;</title>
<?dbhtml filename="linux-libc-headers.html"?>
 
<indexterm zone="ch-tools-linux-libc-headers">
<primary sortas="a-Linux-Libc-Headers">Linux-Libc-Headers</primary>
<secondary>outils, en-têtes</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
href="../chapter06/linux-libc-headers.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>26,9&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
href="../chapter06/linux-libc-headers.xml"
xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Linux-Libc-Headers</title>
 
<para>Pendant des années, la pratique commune était d'utiliser les en-têtes
<quote>bruts</quote> du noyau (directement de l'archive tar du noyau) dans
<filename class="directory">/usr/include</filename> mais, au fil des ans, les
développeurs du noyau ont pris fortement position contre cet état de fait. Ceci
a donné naissance au projet Linux-Libc-Headers, qui a été conçu pour maintenir
une version stable de l'interface de programmation des applications (API) des
en-têtes du noyau Linux.</para>
 
<para>Installez les fichiers d'en-têtes&nbsp;:</para>
 
<screen><userinput>cp -R include/asm-i386 /tools/include/asm
cp -R include/linux /tools/include</userinput></screen>
 
<para>Si votre architecture n'est pas i386 (compatible), ajustez la première
commande en accord.</para>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-linux-libc-headers" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter05/gcc-pass1.xml
0,0 → 1,125
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-gcc-pass1" role="wrap">
<title>GCC-&gcc-version; - Passe 1</title>
<?dbhtml filename="gcc-pass1.html"?>
 
<indexterm zone="ch-tools-gcc-pass1">
<primary sortas="a-GCC">GCC</primary>
<secondary>outils, passe 1</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gcc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>4,4&nbsp;SBU</seg><seg>219&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gcc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de GCC</title>
 
<para>Ce paquet est connu pour avoir des soucis quand les options d'optimisation
par défaut (en incluant les options <parameter>-march</parameter> et
<parameter>-mcpu</parameter>) sont modifiées. Donc, si des variables d'environnement
qui surchargent les optimisations par défaut, telles que <envar>CFLAGS</envar>
et <envar>CXXFLAGS</envar>, ont été définies, supprimez cette initialisation
pour la construction de GCC.</para>
 
<para>La documentation de GCC recommande de ne pas construire GCC dans le
répertoire des sources mais dans un répertoire de construction dédié&nbsp;:
</para>
 
<screen><userinput>mkdir ../gcc-build
cd ../gcc-build</userinput></screen>
 
<para>Préparez la compilation de GCC&nbsp;:</para>
 
<screen><userinput>../gcc-&gcc-version;/configure --prefix=/tools \
--libexecdir=/tools/lib --with-local-prefix=/tools \
--disable-nls --enable-shared --enable-languages=c</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--with-local-prefix=/tools</parameter></term>
<listitem><para>Le but de cette option est de supprimer <filename
class="directory">/usr/local/include</filename> du chemin de recherche des
fichiers include de <command>gcc</command>. Ce n'est pas absolument
essentiel&nbsp;; néanmoins, c'est une aide pour minimiser l'influence du
système hôte.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-shared</parameter></term>
<listitem><para>Cette option permet la construction de <filename
class="libraryfile">libgcc_s.so.1</filename> et <filename
class="libraryfile">libgcc_eh.a</filename>. Disposer de <filename
class="libraryfile">libgcc_eh.a</filename> nous assure que le script configure
de Glibc (le prochain paquet à compiler) produira de bons résultats.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-languages=c</parameter></term>
<listitem><para>Cette option nous assure que seul le compilateur C sera
construit.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Continuez avec la compilation du paquet&nbsp;:</para>
 
<screen><userinput>make bootstrap</userinput></screen>
 
<beginpage/>
 
<para>Voici la signification des paramètres de make&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>bootstrap</parameter></term>
<listitem><para>Cette cible ne compile pas GCC une seule fois mais plusieurs
fois. Il utilise les programmes compilés dans le premier tour pour se compiler
une deuxième fois, puis une troisième fois. Il compare alors les deuxième et
troisième compilations pour s'assurer qu'il arrive à se reproduire lui-même
sans fautes, ce qui semble vouloir dire qu'il a été compilé correctement.
</para></listitem>
</varlistentry>
</variablelist>
 
<para>La compilation est maintenant terminée. À ce point, la suite de tests
devrait être lancée. Mais, comme nous l'avons dit plus tôt, l'ensemble de
travail de la suite de tests n'est pas encore en place. Les bénéfices à lancer
les tests maintenant seraient minimes car les programmes de la première passe
seront bientôt remplacés.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>En touche finale, créez un lien symbolique. Beaucoup de programmes
et de scripts lancent <command>cc</command> au lieu de <command>gcc</command>,
ceci pour conserver des programmes génériques et donc utilisables sur tout type
de système Unix où le compilateur GNU C n'est pas toujours installé. Utiliser
<command>cc</command> permet de libérer l'administrateur système dans son choix
du compilateur C à installer.</para>
 
<screen><userinput>ln -s gcc /tools/bin/cc</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-gcc" role="."/></para>
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter05/ncurses.xml
0,0 → 1,72
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-ncurses" role="wrap">
<title>Ncurses-&ncurses-version;</title>
<?dbhtml filename="ncurses.html"?>
 
<indexterm zone="ch-tools-ncurses">
<primary sortas="a-Ncurses">Ncurses</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/ncurses.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,7&nbsp;SBU</seg><seg>27,5&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/ncurses.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Ncurses</title>
 
<para>Préparez la compilation de Ncurses&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools --with-shared \
--without-debug --without-ada --enable-overwrite</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--without-ada</parameter></term>
<listitem><para>Ceci nous assure que Ncurses ne construira pas le support du
compilateur Ada qui pourrait être présent sur l'hôte mais qui ne sera pas
disponible lorsque nous entrerons dans l'environnement <command>chroot</command>.
</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--enable-overwrite</parameter></term>
<listitem><para>Ceci indique à Ncurses d'installer les fichiers d'en-tête dans
<filename class="directory">/tools/include</filename> au lieu de <filename
class="directory">/tools/include/ncurses</filename> pour s'assurer que les
autres paquets trouveront bien les en-têtes de Ncurses.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Ce paquet ne fournit pas de suite de tests.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-ncurses" role="."/></para>
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter05/expect.xml
0,0 → 1,143
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-expect" role="wrap">
<title>Expect-&expect-version;</title>
<?dbhtml filename="expect.html"?>
 
<indexterm zone="ch-tools-expect"><primary sortas="a-Expect">Expect</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Expect contient un programme pour réaliser des dialogues
scriptés avec d'autres programmes interactifs.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>4,0&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make, Sed et Tcl</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation d'Expect</title>
 
<para>Tout d'abord, corrigez un bogue résultant en de nombreux faux échecs lors
de l'exécution de la suite de tests de GCC&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../expect-&expect-version;-spawn-1.patch</userinput></screen>
 
<para>Maintenant, préparez la compilation d'Expect&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools --with-tcl=/tools/lib \
--with-tclinclude=$TCLPATH --with-x=no</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--with-tcl=/tools/lib</parameter></term>
<listitem><para>Ceci nous assure que le script configure trouve l'installation
Tcl dans l'emplacement temporaire des outils à la place d'un résidant sur le
système hôte.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--with-tclinclude=$TCLPATH</parameter></term>
<listitem><para>Ceci indique explicitement à Expect où trouver le répertoire
des sources de Tcl et ses en-têtes internes. Utiliser cette option évite
certaines conditions d'échec pour <command>configure</command> s'il ne peut
pas découvrir automatiquement l'emplacement de ce répertoire.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--with-x=no</parameter></term>
<listitem><para>Ceci indique au script configure de ne pas chercher Tk (le
composant interface de Tcl) ou les bibliothèques d'X Window System, les deux
pouvant résider sur le système hôte mais n'existant pas sur l'environnement
temporaire.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Construisez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make test</userinput>. Notez que la suite de tests d'Expect est
connue pour avoir de nombreux échecs sous certaines conditions de l'hôte,
conditions qui ne sont pas de notre contrôle. Du coup, les échecs de la
suite de tests ne sont pas surprenantes et ne sont pas considérés comme
critiques.)</para>
 
<para>Installez-le&nbsp;:</para>
 
<screen><userinput>make SCRIPTS="" install</userinput></screen>
 
<para>Voici la signification du paramètre de make&nbsp;:</para>
 
<itemizedlist>
<listitem><para><userinput>SCRIPTS=""</userinput>&nbsp;: Ceci empêche
l'installation de scripts expect supplémentaires non
nécessaires.</para></listitem>
</itemizedlist>
 
<variablelist>
<varlistentry>
<term><parameter>SCRIPTS=""</parameter></term>
<listitem><para>Ceci empêche l'installation de scripts expect supplémentaires
non nécessaires.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Maintenant, supprimez la variable <envar>TCLPATH</envar>&nbsp;:</para>
 
<screen><userinput>unset TCLPATH</userinput></screen>
 
<para>Les répertoires des sources de Tcl et d'Expect peuvent maintenant être
supprimés.</para>
 
</sect2>
 
<sect2 id="contents-expect" role="content"><title>Contenu d'Expect</title>
 
<segmentedlist>
<segtitle>Programme installé</segtitle>
<segtitle>Bibliothèque installée</segtitle>
<seglistitem><seg>expect</seg><seg>libexpect-5.42.a</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="expect">
<term><command>expect</command></term>
<listitem>
<para>Communique avec les autres programmes interactifs suivant un script.</para>
<indexterm zone="ch-tools-expect expect"><primary sortas="b-expect">expect</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libexpect">
<term><filename class="libraryfile">libexpect-5.42.a</filename></term>
<listitem>
<para>Contient des fonctions qui permettent à Expect d'être utilisé comme une
extension Tcl ou d'être utilisé directement à partir du langage C ou du langage
C++ (sans Tcl)</para>
<indexterm zone="ch-tools-expect libexpect"><primary
sortas="c-libexpect-5.42">libexpect-5.42</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter05/flex.xml
0,0 → 1,65
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-flex" role="wrap">
<title>Flex-&flex-version;</title>
<?dbhtml filename="flex.html"?>
 
<indexterm zone="ch-tools-flex">
<primary sortas="a-Flex">Flex</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/flex.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,6&nbsp;SBU</seg><seg>22,5&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/flex.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Flex</title>
 
<para>Flex contient quelques bogues connus. Ils sont corrigés avec le correctif
suivant&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../flex-&flex-version;-debian_fixes-3.patch</userinput></screen>
 
<para>GNU autotools détectera que le code source de Flex a été modifé par le
correctif précédent et tente de mettre à jour la page man en accord. Ceci ne
fonctionne pas sur certains systèmes et la page par défaut est suffisante, donc
assurez-vous qu'elle n'est pas regénérée&nbsp;:</para>
 
<screen><userinput>touch doc/flex.1</userinput></screen>
 
<para>Maintenant, préparez la compilation de Flex&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-flex" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter05/patch.xml
0,0 → 1,56
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-patch" role="wrap">
<title>Patch-&patch-version;</title>
<?dbhtml filename="patch.html"?>
 
<indexterm zone="ch-tools-patch">
<primary sortas="a-Patch">Patch</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/patch.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>1,5&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/patch.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Patch</title>
 
<para>Préparez la compilation de Patch&nbsp;:</para>
 
<screen><userinput>CPPFLAGS=-D_GNU_SOURCE ./configure --prefix=/tools</userinput></screen>
 
<para>Le commutateur du préprocesseur <parameter>-D_GNU_SOURCE</parameter>
n'est nécessaire que sur la plateforme PowerPC. Il peut être oublié pour les
autres.</para>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Ce paquet ne fournit pas de suite de tests.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-patch" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter05/bison.xml
0,0 → 1,53
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-bison" xreflabel="Bison" role="wrap">
<title>Bison-&bison-version;</title>
<?dbhtml filename="bison.html"?>
 
<indexterm zone="ch-tools-bison">
<primary sortas="a-Bison">Bison</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/bison.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,6&nbsp;SBU</seg><seg>10,0&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/bison.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Bison</title>
 
<para>Préparez la compilation de Bison&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-bison" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter05/sed.xml
0,0 → 1,53
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-sed" role="wrap">
<title>Sed-&sed-version;</title>
<?dbhtml filename="sed.html"?>
 
<indexterm zone="ch-tools-sed">
<primary sortas="a-Sed">Sed</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/sed.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>8,4&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/sed.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Sed</title>
 
<para>Préparez la compilation de Sed&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails de ce paquet sont situés dans <xref
linkend="contents-sed" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter05/make.xml
0,0 → 1,53
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-make" role="wrap">
<title>Make-&make-version;</title>
<?dbhtml filename="make.html"?>
 
<indexterm zone="ch-tools-make">
<primary sortas="a-Make">Make</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/make.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>7,1&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/make.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Make</title>
 
<para>Préparez la compilation de Make&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails de ce paquet sont situés dans <xref
linkend="contents-make" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter05/dejagnu.xml
0,0 → 1,67
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-dejagnu" role="wrap">
<title>DejaGNU-&dejagnu-version;</title>
<?dbhtml filename="dejagnu.html"?>
 
<indexterm zone="ch-tools-dejagnu"><primary sortas="a-DejaGNU">DejaGNU</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet DejaGNU contient un ensemble de travail pour tester d'autres
programmes.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>6,1&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de DejaGNU</title>
 
<para>Préparez la compilation de DejaGNU&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</userinput></screen>
 
<para>Construisez et installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-dejagnu" role="content"><title>Contenu de DejaGNU</title>
 
<segmentedlist>
<segtitle>Programme installé</segtitle>
<seglistitem><seg>runtest</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="runtest">
<term><command>runtest</command></term>
<listitem>
<para>Un script d'emballage qui trouve le bon shell <command>expect</command>,
puis qui lance DejaGNU</para>
<indexterm zone="ch-tools-dejagnu runtest"><primary sortas="b-runtest">runtest</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter05/binutils-pass2.xml
0,0 → 1,97
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-binutils-pass2" role="wrap">
<title>Binutils-&binutils-version; - Passe 2</title>
<?dbhtml filename="binutils-pass2.html"?>
 
<indexterm zone="ch-tools-binutils-pass2">
<primary sortas="a-Binutils">Binutils</primary>
<secondary>outils, passe 2</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
href="../chapter06/binutils.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>1,5&nbsp;SBU</seg><seg>114&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
href="../chapter06/binutils.xml"
xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Ré-installation de Binutils</title>
 
<para>Ce paquet est connu pour avoir des soucis quand les options d'optimisation
par défaut (en incluant les options <parameter>-march</parameter> et
<parameter>-mcpu</parameter>) sont modifiées. Donc, si des variables d'environnement
qui surchargent les optimisations par défaut, telles que <envar>CFLAGS</envar>
et <envar>CXXFLAGS</envar>, ont été définies, supprimez cette initialisation
pour la construction de Binutils.</para>
 
<para>Créez de nouveau un répertoire de construction séparé&nbsp;:</para>
 
<screen><userinput>mkdir ../binutils-build
cd ../binutils-build</userinput></screen>
 
<para>Préparez la compilation de Binutils&nbsp;:</para>
 
<screen><userinput>../binutils-&binutils-version;/configure --prefix=/tools \
--disable-nls --enable-shared --with-lib-path=/tools/lib</userinput></screen>
 
<para>Voici la signification des nouvelles options de configure&nbsp;:
</para>
 
<variablelist>
<varlistentry>
<term><parameter>--with-lib-path=/tools/lib</parameter></term>
<listitem><para>Ceci indique au script configure de spécifier le chemin de
recherche des bibliothèques lors de la compilation de Binutils, résultant au
passage de <filename class="directory">/tools/lib</filename> à l'éditeur de
liens. Ceci empêche l'éditeur de liens de chercher dans tous les répertoires de
bibliothèques de l'hôte.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>La compilation est maintenant terminée. Comme dit plutôt, lancer les
suites de tests n'est pas nécessaire pour les outils temporaires dans ce
chapitre. Néanmoins, pour lancer la suite de tests Binutils, lancez la commande
suivante&nbsp;:</para>
 
<screen><userinput>make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
<screen><userinput>make install</userinput></screen>
 
<para>Maintenant, préparez l'éditeur de liens pour la phase de
<quote>ré-ajustement</quote> du prochain chapitre&nbsp;:</para>
 
<screen><userinput>make -C ld clean
make -C ld LIB_PATH=/usr/lib:/lib</userinput></screen>
 
<warning><para><emphasis>Ne supprimez pas encore</emphasis> les répertoires des
sources et de construction de Binutils. Ces répertoires seront nécessaires pour
le prochain chapitre dans l'état où ils sont actuellement.</para></warning>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont disponibles dans <xref
linkend="contents-binutils" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter05/kernel-headers.xml
0,0 → 1,76
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-kernel-headers" role="wrap">
<title>En-têtes Linux-&linux-version;</title>
<?dbhtml filename="kernel-headers.html"?>
 
<indexterm zone="ch-tools-kernel-headers">
<primary sortas="a-Linux">Linux</primary>
<secondary>outils, en-tête</secondary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet du noyau Linux contient les sources ainsi que les fichiers
d'en-têtes utilisés par Glibc.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>186&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation des en-têtes Linux dépend de</segtitle>
<seglistitem><seg>Coreutils et Make</seg></seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation des en-têtes du noyau</title>
 
<para>Comme certains paquets ont besoin de se référer aux fichiers d'en-tête du
noyau, c'est le bon moment pour déballer l'archive du noyau maintenant, les
configurer et copier les fichiers requis à un endroit où <command>gcc</command>
pourra les trouver plus tard.</para>
 
<para>Préparez l'installation des en-têtes avec&nbsp;:</para>
 
<screen><userinput>make mrproper</userinput></screen>
 
<para>Ceci nous assure que le répertoire du noyau est totalement propre.
Il est recommandé que cette commande soit exécutée à <emphasis>chaque</emphasis>
compilation du noyau. Ne supposez pas que le contenu du répertoire soit propre après
le déballage.</para>
 
<para>Créez le fichier <filename class="headerfile">include/linux/version.h</filename>&nbsp;:</para>
 
<screen><userinput>make include/linux/version.h</userinput></screen>
 
<beginpage/>
 
<para>Créez le lien symbolique spécifique à la plateforme
<filename class="symlink">include/asm</filename>&nbsp;:</para>
 
<screen><userinput>make include/asm</userinput></screen>
 
<para>Installez les fichiers d'en-têtes spécifiques à la platforme&nbsp;:</para>
 
<screen><userinput>mkdir /tools/glibc-kernheaders
cp -HR include/asm /tools/glibc-kernheaders
cp -R include/asm-generic /tools/glibc-kernheaders</userinput></screen>
 
<para>Enfin, installez les autres fichiers d'en-têtes du noyau&nbsp;:</para>
 
<screen><userinput>cp -R include/linux /tools/glibc-kernheaders</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-kernel" role="."/></para>
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter05/udev.xml
0,0 → 1,68
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-udev" role="wrap">
<title>Udev-&udev-version;</title>
<?dbhtml filename="udev.html"?>
 
<indexterm zone="ch-tools-udev">
<primary sortas="a-Udev">Udev</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/udev.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>5,2&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/udev.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation d'Udev</title>
 
<para>Le programme <command>udevstart</command> code en dur le chemin vers le
programme <command>udev</command>, ce qui causerait des problèmes car
<command>udev</command> a été installé à un emplacement non standard. Corrigez
ceci en exécutant ce qui suit&nbsp;:</para>
 
<screen><userinput>sed -i 's@/sbin/udev@/tools/sbin/udev@g' udevstart.c</userinput></screen>
 
<para>De plus, assurez-vous que <command>udev</command> connaisse le bon
emplacement pour rechercher ses fichiers de configuration&nbsp;:</para>
 
<screen><userinput>sed -i 's@/etc@/tools/etc@g' etc/udev/udev.conf.in</userinput></screen>
 
<para>Maintenant, compilez Udev&nbsp;:</para>
 
<screen><userinput>make prefix=/tools etcdir=/tools/etc</userinput></screen>
 
<para>Ce paquet ne fournit pas de suite de tests.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make DESTDIR=/tools udevdir=/dev install</userinput></screen>
 
<para>La configuration par défaut d'Udev est loin d'être idéale, donc installez
les fichiers de configuration spécifiques à LFS&nbsp;:</para>
 
<screen><userinput>cp ../udev-config-2.permissions \
/tools/etc/udev/permissions.d/00-lfs.permissions
cp ../udev-config-1.rules /tools/etc/udev/rules.d/00-lfs.rules</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-udev" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter02/creatingpartition.xml
0,0 → 1,56
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="space-creatingpartition">
<title>Créer une nouvelle partition</title>
<?dbhtml filename="creatingpartition.html"?>
 
<para>Comme la plupart des autres systèmes d'exploitation, LFS est habituellement
installé dans une partition dédiée. L'approche recommandée pour la construction
d'un système LFS est d'utiliser une partition vide disponible ou, si vous avez
assez d'espace non partitionné, d'en créer une. Néanmoins, un système LFS (en fait,
même plusieurs systèmes LFS) peuvent aussi être installés sur une partition déjà
occupée par un autre système d'exploitation. Les différents systèmes cohabiteront
en paix. Le document
<ulink url="&hints-root;lfs_next_to_existing_systems.txt"><phrase
condition="pdf">&hints-root;lfs_next_to_existing_ systems.txt</phrase></ulink>
expliquer comment implémenter ceci alors que ce livre se base sur la méthode
utilisant une partition vierge pour l'installation.</para>
 
<para>Un système minimal requiert une partition d'environ 1,3&nbsp;Go. C'est
suffisant pour conserver toutes les archives tar des sources et pour compiler
tous les paquets. Néanmoins, si le système LFS a pour but d'être un système
Linux primaire, des logiciels supplémentaires seront probablement installés et
réclameront une place supplémentaire (entre 2 et 3&nbsp;Go). Le système LFS
lui-même ne prendre pas tout cet espace. Une grande partie de cet espace
est requis pour fournir un espace libre suffisant mais temporaire. Compiler des
paquets peut demander beaucoup d'espace disque qui sera récupéré après
l'installation du paquet.</para>
 
<para>Parce qu'il n'y a pas toujours assez de mémoire (RAM) disponible pour les
processus de compilation, une bonne idée est d'utiliser une petite partition
comme espace d'échange (swap). Cet espace est utilisé par le noyau pour stocker
des données rarement utilisées et pour laisser plus de place disponible aux
processus actifs. La partition de swap pour un système LFS peut être le même que
celui utilisé par le système hôte, donc une autre partition n'a pas besoin
d'être créé si votre système hôte a déjà cette configuration.</para>
 
<para>Lancez un programme de partitionnement de disques tel que
<command>cfdisk</command> ou <command>fdisk</command> avec une option en ligne
de commande nommant le disque dur sur lequel la nouvelle partition sera
créée&mdash;par exemple <filename class="devicefile">/dev/hda</filename> pour
un disque IDE. Créez une partition Linux native et, si nécessaire, une partition
de swap. Merci de vous référer aux pages man de <command>cfdisk(8)</command> ou
<command>fdisk(8)</command> si vous ne savez pas encore utiliser le
programme.</para>
 
<para>Rappelez-vous de la désignation de la nouvelle partition (c'est-à-dire
<filename class="devicefile">hda5</filename>). Ce livre y fera référence en
tant que la partition LFS. Rappelez-vous aussi de la désignation de la
partition swap. Ces noms seront nécessaires après pour le fichier
<filename>/etc/fstab</filename>.</para>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter02/creatingfilesystem.xml
0,0 → 1,68
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="space-creatingfilesystem">
<title>Créer un système de fichiers sur la partition</title>
<?dbhtml filename="creatingfilesystem.html"?>
 
<para>Maintenant qu'une partition vierge est prête, le système de fichiers peut
être créé. Le système le plus communément utilisé dans le monde Linux est le
système de fichiers étendu, deuxième version, (plus connu sous son acronyme,
ext2), mais avec les nouveaux disques haute capacité, les systèmes de fichiers
journalisés deviennent de plus en plus populaires. Nous créerons un système de
fichiers ext2. Les instructions de construction d'autres systèmes de fichiers
sont disponibles dans <ulink url="&blfs-root;view/svn/postlfs/filesystems.html"><phrase
condition="pdf">&blfs-root;view/svn/ postlfs/filesystems.html</phrase></ulink>.</para>
 
<para>Pour créer un système de fichiers ext2 sur la partition LFS, lancez ce
qui suit&nbsp;:</para>
 
<screen><userinput>mke2fs /dev/<replaceable>[xxx]</replaceable></userinput></screen>
 
<para>Remplacez <replaceable>[xxx]</replaceable> avec le nom de la partition LFS
(<filename class="devicefile">hda5</filename> dans notre exemple
précédent).</para>
 
<note><para>Quelques distributions hôtes utilisent des fonctionnalités
personnalisées dans leur outil de création de systèmes de fichiers (e2fsprogs).
Ceci peut poser des problèmes lors du démarrage dans votre nouveau LFS au
chapitre 9 car toutes ces fonctionnalités ne seront pas supportées par la version
d'e2fsprogs installée par LFS&nbsp; si vous obtenez une erreur similaire à
<quote>unsupported filesystem features, upgrade your e2fsprogs</quote>. Pour
vérifier que votre système hôte utilise des améliorations personnalisées, utilisez
la commande suivante&nbsp;:</para>
 
<screen><userinput>debugfs -R feature /dev/<replaceable>[xxx]</replaceable></userinput></screen>
 
<para>Si la sortie contient des fonctionnalités autres que dir_index, filetype,
large_file, resize_inode ou sparse_super, alors votre système hôte pourrait avoir
des améliorations personnalisées. Dans ce cas, pour éviter tout problème ultérieur,
vous devez compiler le paquetage e2fsprogs et utiliser les binaires résultant de
cette compilation pour re-créer le système de fichiers sur votre partition
LFS&nbsp;:</para>
 
<screen><userinput>cd /tmp
tar xjf /path/to/sources/e2fsprogs-&e2fsprogs-version;.tar.bz2
cd e2fsprogs-&e2fsprogs-version;
mkdir build
cd build
../configure
make #note that we intentionally don't 'make install' here!
./misc/mke2fs /dev/<replaceable>[xxx]</replaceable>
cd /tmp
rm -rf e2fsprogs-&e2fsprogs-version;</userinput></screen>
</note>
 
<para>Si une partition de swap a été créée, elle devra être initialisée, pour
pouvoir être utilisée, en exécutant la commande ci-dessous. Si vous utilisez déjà
une partition de swap, il n'est pas nécessaire de la formater.</para>
 
<screen><userinput>mkswap /dev/<replaceable>[yyy]</replaceable></userinput></screen>
 
<para>Remplacez <replaceable>[yyy]</replaceable> avec le nom de la partition de
swap.</para>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter02/mounting.xml
0,0 → 1,54
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="space-mounting">
<title>Monter la nouvelle partition</title>
<?dbhtml filename="mounting.html"?>
 
<para>Maintenant qu'un système de fichiers a été créé, la partition doit être
accessible. Pour cela, la partition a besoin d'être montée sur un point de
montage choisi. Pour ce livre, il est supposé que le système de fichiers est
monté sous <filename class="directory">/mnt/lfs</filename> mais le choix du
répertoire vous appartient.</para>
 
<para>Choisissez un point de montage et affectez-le à la variable
d'environnement <envar>LFS</envar> en lançant&nbsp;:</para>
 
<screen><userinput>export LFS=/mnt/lfs</userinput></screen>
 
<para>Maintenant, créez le point de montage et montez le système de fichiers
LFS en lançant&nbsp;:</para>
 
<screen><userinput>mkdir -p $LFS
mount /dev/<replaceable>[xxx]</replaceable> $LFS</userinput></screen>
 
<para>Remplacez <replaceable>[xxx]</replaceable> avec la désignation de la
partition LFS.</para>
 
<para>Si vous utilisez plusieurs partitions pour LFS (c'est-à-dire une pour
<filename class="directory">/</filename> et une autre pour <filename
class="directory">/usr</filename>), montez-les en utilisant&nbsp;:</para>
 
<screen><userinput>mkdir -p $LFS
mount /dev/<replaceable>[xxx]</replaceable> $LFS
mkdir $LFS/usr
mount /dev/<replaceable>[yyy]</replaceable> $LFS/usr</userinput></screen>
 
<para>Remplacez <replaceable>[xxx]</replaceable> et
<replaceable>[yyy]</replaceable> avec les noms de partition appropriés.</para>
 
<para>Assurez-vous que cette nouvelle partition n'est pas montée avec des
droits trop restrictifs (telles que les options nosuid, nodev ou noatime.
Lancez la commande <command>mount</command> sans aucun paramètre pour voir les
options configurées pour la partition LFS montée. Si
<parameter>nosuid</parameter>, <parameter>nodev</parameter> et/ou
<parameter>noatime</parameter> sont configurées, la partition devra être
remontée.</para>
 
<para>Maintenant qu'il existe un endroit établi pour travailler, il est temps
de télécharger ces paquets.</para>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter02/introduction.xml
0,0 → 1,14
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="space-introduction">
<title>Introduction</title>
<?dbhtml filename="introduction.html"?>
 
<para>Dans ce chapitre, la partition qui contiendra le système LFS est
préparée. Nous créerons la partition elle-même, lui ajouterons un système de
fichiers et nous la monterons.</para>
 
</sect1>
/tags/LFS-6_1/lfs/chapter02/chapter02.xml
0,0 → 1,24
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<chapter id="chapter-partitioning" xreflabel="Chapitre 2">
<?dbhtml dir="chapter02"?>
<title>Préparer une nouvelle partition</title>
<?dbhtml filename="chapter02.html"?>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingpartition.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingfilesystem.xml"/>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mounting.xml"/>
 
 
</chapter>
/tags/LFS-6_1/lfs/chapter06/revisedchroot.xml
0,0 → 1,30
<?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, en rentrant dans l'environnement chroot après
l'avoir quitté, utilisez 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 en est que les programmes dans <filename
class="directory">/tools</filename> ne sont plus nécessaires. Comme ils ne sont
plus nécessaires, vous pouvez supprimer le répertoire <filename
class="directory">/tools</filename> si vous le voulez ou l'archiver dans un
fichier tar et le conserver pour construire un autre système.</para>
 
<note><para>Supprimer <filename class="directory">/tools</filename> effacera
aussi les copies temporaires de Tcl, Expect et DejaGnu, qui ont été utilisé
pour lancer les tests de l'ensemble des outils. Si vous avez besoin de ces
programmes plus tard, vous devrez les recompiler et les ré-installer. Le livre
BLFS a les bonnes instructions pour le faire.</para></note>
 
</sect1>
/tags/LFS-6_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 du système LFS. C'est-à-dire, nous entrons avec chroot
dans le mini système Linux temporaire, faisons quelques préparations finales
et lançons l'installation de tous les paquets un par un.</para>
<para>L'installation du logiciel est simple. Bien que, dans beaucoup de cas,
les instructions d'installation pourraient être plus courtes et plus génériques,
nous avons opté pour fournir les instructions complètes pour chaque paquet et
minimiser ainsi les possibilités d'erreurs. La clé pour apprendre ce qui fait
fonctionner un système Linux est de savoir à quoi sert chaque paquet et pourquoi
l'utilisateur (ou le système) en a besoin. Pour chaque paquet installé, un
résumé de son contenu est donné, suivant par des descriptions concises de chaque
programme et de chaque bibliothèque que le paquet a installé.</para>
 
<para>En utilisant les optimisations du compilateur fournies dans ce chapitre,
merci de lire l'astuce sur l'optimisation sur <ulink
url="&hints-root;optimization.txt"/>. Les optimisations du compilateur peuvent
faire qu'un programme s'exécute plus rapidement mais elles peuvent aussi causer
des difficultés et des problèmes de compilation à l'exécution de ce programme.
Si un paquet refuse de compiler lors de l'utilisation d'optimisation, essayez
de le compiler sans optimisation pour voir si cela corrige le problème. Même si
le paquet compile avec les optimisations, il y a un risque qu'il pourrait avoir
été mal compilé à cause des interactions complexes entre le code et les outils
de construction. Le petit potentiel de gains réussi en utilisant les
optimisations de compilation est souvent ridicule comparé aux risques. Les
utilisateurs construisant une LFS pour la première fois sont encouragés à
construire sans optimisations personnalisées. Le système sera toujours très
rapide et restera stable en même temps.</para>
 
<para>L'ordre dans lequel les paquets sont installés dans ce chapitre a besoin
d'être strictement suivi pour s'assurer qu'aucun programme n'acquiert
accidentellement un chemin ayant comme référence <filename
class="directory">/tools</filename> en dur. Pour la même raison, ne compilez
pas les paquets en parallèle. La compilation en parallèle permet de gagner du
temps (tout particulièrement sur les machines à plusieurs CPU), mais cela
pourrait résulter en un programme contenant un chemin codé en dur vers
<filename class="directory">/tools</filename>, ce qui empêchera le programme
de fonctionner si ce répertoire est supprimé.</para>
 
<para>Avant les instructions d'installation, chaque page d'installation fournit
des informations sur le paquet, incluant une description concise de ce qu'il
contient, approximativement combien de temps prendra la construction et les
autres paquets nécessaires lors de cette étape de construction. Suivant les
instructions d'installation, il existe une liste de programmes et de
bibliothèques (avec quelques brèves descriptions de ceux-ci) que le paquet
installe.</para>
 
<para>Pour garder trace du paquet qui installe certains fichiers spécifiques,
un gestionnaire de paquet peut être utilisé. Pour un aperçu général des
différents styles de gestionnaires de paquets, merci de vous référer à <ulink
url="&blfs-root;view/svn/introduction/important.html"/><phrase condition="pdf">
<ulink url="&blfs-root;view/svn/ introduction/important.html"/></phrase>. Pour
une méthode de gestion des paquets spécifiquement tournée vers LFS, nous
recommandons <ulink url="&hints-root;more_control_and_pkg_man.txt"/>.</para>
 
<note><para>Le reste de ce libre est à réaliser en étant connecté en tant
qu'utilisateur <emphasis>root</emphasis> et non plus en tant qu'utilisateur
<emphasis>lfs</emphasis>. De plus, vérifiez de nouveau que la variable
<envar>$LFS</envar> est bien configurée.</para></note>
 
</sect1>
/tags/LFS-6_1/lfs/chapter06/aboutdebug.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-aboutdebug">
<title>Symboles de débogage</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ébogage (avec l'option <parameter>-g</parameter>
de <command>gcc</command>). Ceci signifie que, lors du débogage d'un programme
ou d'une bibliothèque compilé avec les informations de débogage, 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ébogage font grossir le
programme ou la bibliothèque de façon significative. Ce qui suit est un exemple
de l'espace occupé par ces symboles&nbsp;:</para>
 
<itemizedlist>
 
<listitem><para>un binaire bash avec les symboles de débogage&nbsp;:
1200&nbsp;Ko</para></listitem>
 
<listitem><para>un binaire bash sans les symboles de débogage&nbsp;:
480&nbsp;Ko</para></listitem>
 
<listitem><para>les fichiers Glibc et GCC (<filename
class="directory">/lib</filename> et <filename
class="directory">/usr/lib</filename>) avec les symboles de débogage&nbsp;:
87&nbsp;Mo</para></listitem>
 
<listitem><para>les fichiers Glibc et GCC sans les symboles de débogage&nbsp;:
16&nbsp;Mo</para></listitem>
 
</itemizedlist>
 
<para>Les tailles peuvent varier suivant le compilateur et la bibliothèque C
utilisés mais, lors d'une comparaison de programmes avec et sans symboles de
débogages, la différence sera généralement d'un facteur de deux à cinq.</para>
 
<para>Comme la plupart des gens n'utiliseront jamais un débogueur sur leur
système, beaucoup d'espace disque peut être gagné en supprimant ces symboles.
La prochaine section montre comment supprimer tous les symboles de débogage des
programmes et bibliothèques. Des informations supplémentaires sur l'optimisation
du système sont disponibles sous forme d'astuce sur <ulink
url="&hints-root;optimization.txt"/>.</para>
 
</sect1>
/tags/LFS-6_1/lfs/chapter06/readline.xml
0,0 → 1,116
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-readline" role="wrap">
<title>Readline-&readline-version;</title>
<?dbhtml filename="readline.html"?>
 
<indexterm zone="ch-system-readline"><primary sortas="a-Readline">Readline</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Readline est un ensemble de bibliothèques qui offrent des
fonctionnalités d'édition de la ligne de commande et d'historique.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,11&nbsp;SBU</seg><seg>9,1&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Binutils, Coreutils, Diffutils, Gawk,
GCC, Glibc, Grep, Make, Ncurses et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Readline</title>
 
<para>Le correctif suivant inclut une correction pour un problème où Readline
affiche parfois seulement 33 caractères sur une ligne puis continue sur la
suivante. Il inclut aussi d'autres corrections recommandées par l'auteur de
Readline.</para>
 
<screen><userinput>patch -Np1 -i ../readline-&readline-version;-fixes-1.patch</userinput></screen>
 
<para>Préparez la compilation de Readline&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --libdir=/lib</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make SHLIB_XLDFLAGS=-lncurses</userinput></screen>
 
<para>Voici la signification de l'option de make&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>SHLIB_XLDFLAGS=-lncurses</parameter></term>
<listitem><para>Cette option force Readline à se lier à la bibliothèque
<filename class="libraryfile">libncurses</filename>.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Donnez aux bibliothèques dynamiques de Readline plus de droits
appropriés&nbsp;:</para>
 
<screen><userinput>chmod 755 /lib/lib{readline,history}.so*</userinput></screen>
 
<para>Maintenant, déplacez les bibliothèques dynamiques à un emplacement plus
appropriées&nbsp;:</para>
 
<screen><userinput>mv /lib/lib{readline,history}.a /usr/lib</userinput></screen>
 
<para>Ensuite, supprimez les fichiers <filename class="extension">.so</filename>
dans <filename class="directory">/lib</filename> et créez un lien vers <filename
class="directory">/usr/lib</filename>.</para>
 
<screen><userinput>rm /lib/lib{readline,history}.so
ln -sf ../../lib/libreadline.so.5 /usr/lib/libreadline.so
ln -sf ../../lib/libhistory.so.5 /usr/lib/libhistory.so</userinput></screen>
 
<beginpage/>
 
</sect2>
 
<sect2 id="contents-readline" role="content"><title>Contenu de Readline</title>
<segmentedlist>
<segtitle>Bibliothèques installées</segtitle>
<seglistitem><seg>libhistory.[a,so] et libreadline.[a,so]</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="libhistory">
<term><filename class="libraryfile">libhistory</filename></term>
<listitem>
<para>Fournit une interface utilisateur cohérente pour rappeler des lignes
dans l'historique</para>
<indexterm zone="ch-system-readline libhistory"><primary sortas="c-libhistory">libhistory</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libreadline">
<term><filename class="libraryfile">libreadline</filename></term>
<listitem>
<para>Aide à une cohérence dans l'interface utilisateur pour des programmes
discrets qui ont besoin d'une interface en ligne de commande</para>
<indexterm zone="ch-system-readline libreadline"><primary sortas="c-libreadline">libreadline</primary></indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter06/gettext.xml
0,0 → 1,320
<?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" role="wrap">
<title>Gettext-&gettext-version;</title>
<?dbhtml filename="gettext.html"?>
 
<indexterm zone="ch-system-gettext"><primary sortas="a-Gettext">Gettext</primary></indexterm>
 
<sect2 role="package"><title/>
<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>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>1,2&nbsp;SBU</seg><seg>65,1&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Bison, Coreutils,
Diffutils, Gawk, GCC, Glibc, Grep, Make et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<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>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 id="contents-gettext" role="content"><title>Contenu de Gettext</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèques installées</segtitle>
<seglistitem><seg>autopoint, config.charset, config.rpath, envsubst, gettext,
gettextize, hostname, msgattrib, msgcat, msgcmp, msgcomm, msgconv, msgen,
msgexec, msgfilter, msgfmt, msggrep, msginit, msgmerge, msgunfmt, msguniq,
ngettext et xgettext</seg>
<seg>libasprintf.[a,so], libgettextlib.so, libgettextpo.[a,so] et libgettextsrc.so</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="autopoint">
<term><command>autopoint</command></term>
<listitem>
<para>Copie les fichiers d'infrastructure standard gettext en un paquet source</para>
<indexterm zone="ch-system-gettext autopoint"><primary sortas="b-autopoint">autopoint</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="config.charset">
<term><command>config.charset</command></term>
<listitem>
<para>Affiche une table des caractères dépendante du système</para>
<indexterm zone="ch-system-gettext config.charset"><primary sortas="b-config.charset">config.charset</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="config.rpath">
<term><command>config.rpath</command></term>
<listitem>
<para>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 config.rpath"><primary sortas="b-config.rpath">config.rpath</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="envsubst">
<term><command>envsubst</command></term>
<listitem>
<para>Substitue les variables d'environnement dans des chaînes de format shell</para>
<indexterm zone="ch-system-gettext envsubst"><primary sortas="b-envsubst">envsubst</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gettext">
<term><command>gettext</command></term>
<listitem>
<para>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 gettext"><primary sortas="b-gettext">gettext</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gettextize">
<term><command>gettextize</command></term>
<listitem>
<para>Copie tous les fichiers standard Gettext dans le répertoire de haut
niveau d'un paquet, pour commencer son internationalisation</para>
<indexterm zone="ch-system-gettext gettextize"><primary sortas="b-gettextize">gettextize</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="hostname-gettext">
<term><command>hostname</command></term>
<listitem>
<para>Affiche un nom d'hôte réseau sous plusieurs formats</para>
<indexterm zone="ch-system-gettext hostname-gettext"><primary sortas="b-hostname-gettext">hostname</primary></indexterm>
<beginpage/></listitem>
</varlistentry>
 
<varlistentry id="msgattrib">
<term><command>msgattrib</command></term>
<listitem>
<para>Filtre les messages d'un catalogue de traduction suivant leurs attributs
et manipule les attributs</para>
<indexterm zone="ch-system-gettext msgattrib"><primary sortas="b-msgattrib">msgattrib</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="msgcat">
<term><command>msgcat</command></term>
<listitem>
<para>Concatène et fusionne les fichiers <filename class="extension">.po</filename> donnés</para>
<indexterm zone="ch-system-gettext msgcat"><primary sortas="b-msgcat">msgcat</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="msgcmp">
<term><command>msgcmp</command></term>
<listitem>
<para>Compare deux fichiers <filename class="extension">.po</filename>
pour vérifier que les deux contiennent le même
ensemble de chaînes msgid</para>
<indexterm zone="ch-system-gettext msgcmp"><primary sortas="b-msgcmp">msgcmp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="msgcomm">
<term><command>msgcomm</command></term>
<listitem>
<para>trouve les messages qui sont
communs aux fichiers <filename class="extension">.po</filename></para>
<indexterm zone="ch-system-gettext msgcomm"><primary sortas="b-msgcomm">msgcomm</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="msgconv">
<term><command>msgconv</command></term>
<listitem>
<para>Convertit un catalogue
de traduction en un autre codage de caractères</para>
<indexterm zone="ch-system-gettext msgconv"><primary sortas="b-msgconv">msgconv</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="msgen">
<term><command>msgen</command></term>
<listitem>
<para>Crée un catalogue de traduction
anglais</para>
<indexterm zone="ch-system-gettext msgen"><primary sortas="b-msgen">msgen</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="msgexec">
<term><command>msgexec</command></term>
<listitem>
<para>Applique une commande pour
toutes les traductions d'un catalogue de traduction</para>
<indexterm zone="ch-system-gettext msgexec"><primary sortas="b-msgexec">msgexec</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="msgfilter">
<term><command>msgfilter</command></term>
<listitem>
<para>Applique un filtre à toutes
les traductions d'un catalogue de traductions</para>
<indexterm zone="ch-system-gettext msgfilter"><primary sortas="b-msgfilter">msgfilter</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="msgfmt">
<term><command>msgfmt</command></term>
<listitem>
<para>Génère un catalogue binaire de
messages à partir d'un catalogue de traductions</para>
<indexterm zone="ch-system-gettext msgfmt"><primary sortas="b-msgfmt">msgfmt</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="msggrep">
<term><command>msggrep</command></term>
<listitem>
<para>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 msggrep"><primary sortas="b-msggrep">msggrep</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="msginit">
<term><command>msginit</command></term>
<listitem>
<para>Crée un nouveau fichier <filename class="extension">.po</filename>, initialisant la méta-information avec des valeurs de
l'environnement de l'utilisateur</para>
<indexterm zone="ch-system-gettext msginit"><primary sortas="b-msginit">msginit</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="msgmerge">
<term><command>msgmerge</command></term>
<listitem>
<para>Combine deux traductions brutes
en un seul fichier</para>
<indexterm zone="ch-system-gettext msgmerge"><primary sortas="b-msgmerge">msgmerge</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="msgunfmt">
<term><command>msgunfmt</command></term>
<listitem>
<para>Décompile un catalogue de
messages binaire en un texte brut de la traduction</para>
<indexterm zone="ch-system-gettext msgunfmt"><primary sortas="b-msgunfmt">msgunfmt</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="msguniq">
<term><command>msguniq</command></term>
<listitem>
<para>Unifie les traductions dupliquées en un catalogue de traduction</para>
<indexterm zone="ch-system-gettext msguniq"><primary sortas="b-msguniq">msguniq</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ngettext">
<term><command>ngettext</command></term>
<listitem>
<para>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 ngettext"><primary sortas="b-ngettext">ngettext</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="xgettext">
<term><command>xgettext</command></term>
<listitem>
<para>Extrait les lignes de messages traduisibles à partir des fichiers source donnés pour réaliser la première traduction de modèle</para>
<indexterm zone="ch-system-gettext xgettext"><primary sortas="b-xgettext">xgettext</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libasprintf">
<term><filename class="libraryfile">libasprintf</filename></term>
<listitem>
<para>Définit la classe <emphasis>autosprintf</emphasis>, qui rend les routines de sortie formatée C utilisables dans les
programmes C++ pour utiliser les chaînes <emphasis>&lt;string&gt;</emphasis> et les flux
<emphasis>&lt;iostream&gt;</emphasis></para>
<indexterm zone="ch-system-gettext libasprintf"><primary sortas="c-libasprintf">libasprintf</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libgettextlib">
<term><filename class="libraryfile">libgettextlib</filename></term>
<listitem>
<para>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 libgettextlib"><primary sortas="c-libgettextlib">libgettextlib</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libgettextpo">
<term><filename class="libraryfile">libgettextpo</filename></term>
<listitem>
<para>Utilisé pour écrire
les programmes spécialisés qui s'occupent des fichiers <filename
class="extension">.po</filename>. Cette bibliothèque
est utilisée lorsque les applications standards livrés avec Gettext ne vont pas
suffire (comme <command>msgcomm</command>, <command>msgcmp</command>,
<command>msgattrib</command> et <command>msgen</command>)</para>
<indexterm zone="ch-system-gettext libgettextpo"><primary sortas="c-libgettextpo">libgettextpo</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libgettextsrc">
<term><filename class="libraryfile">libgettextsrc</filename></term>
<listitem>
<para>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>
<indexterm zone="ch-system-gettext libgettextsrc"><primary sortas="c-libgettextsrc">libgettextsrc</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
 
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter06/module-init-tools.xml
0,0 → 1,147
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-module-init-tools" role="wrap">
<title>Module-Init-Tools-&module-init-tools-version;</title>
<?dbhtml filename="module-init-tools.html"?>
 
<indexterm zone="ch-system-module-init-tools"><primary sortas="a-Module-Init-Tools">Module-Init-Tools</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Module-Init-Tools contient des programmes de gestion des modules
des noyaux Linux pour les versions 2.5.47 et ultérieures.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>4,9&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Bison,
Coreutils, Diffutils, Flex, GCC, Glibc, Grep, M4, Make et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Module-Init-Tools</title>
 
<para>Module-Init-Tools tente de ré-écrire sa page man
<filename>modprobe.conf</filename> lors de la construction. Ceci n'est pas
nécessaire et repose aussi sur la commande <command>docbook2man</command>
&mdash; qui n'est pas installé dans LFS. Lancez la commande suivante pour
éviter ceci&nbsp;:</para>
 
<screen><userinput>touch modprobe.conf.5</userinput></screen>
 
<para>Préparez la compilation de Module-Init-Tools&nbsp;:</para>
 
<screen><userinput>./configure --prefix="" --enable-zlib</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--enable-zlib</parameter></term>
<listitem><para>Ceci permet au paquetage Module-Init-Tools de gérer les modules
noyau compressés.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-module-init-tools" role="content"><title>Contenu de Module-Init-Tools</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>depmod, insmod,
insmod.static, lsmod (lien vers insmod), modinfo, modprobe (lien vers
insmod) et rmmod (lien vers insmod)</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="depmod">
<term><command>depmod</command></term>
<listitem>
<para>Crée un fichier de dépendances basé sur les symboles trouvés dans
l'ensemble de modules existants&nbsp;; ce fichier de dépendances est utilisé
par <command>modprobe</command> pour charger automatiquement les modules requis
</para>
<indexterm zone="ch-system-module-init-tools depmod"><primary sortas="b-depmod">depmod</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="insmod">
<term><command>insmod</command></term>
<listitem>
<para>Installe un module chargeable dans le noyau en cours d'exécution</para>
<indexterm zone="ch-system-module-init-tools insmod"><primary sortas="b-insmod">insmod</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="insmod.static">
<term><command>insmod.static</command></term>
<listitem>
<para>Une version compilée statiquement de <command>insmod</command></para>
<indexterm zone="ch-system-module-init-tools insmod.static"><primary
sortas="b-insmod.static">insmod.static</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="lsmod">
<term><command>lsmod</command></term>
<listitem>
<para>Liste les modules déjà chargés</para>
<indexterm zone="ch-system-module-init-tools lsmod"><primary sortas="b-lsmod">lsmod</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="modinfo">
<term><command>modinfo</command></term>
<listitem>
<para>Examine un fichier objet associé à un module du noyau et affiche toute
information qu'il peut récupérer</para>
<indexterm zone="ch-system-module-init-tools modinfo"><primary sortas="b-modinfo">modinfo</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="modprobe">
<term><command>modprobe</command></term>
<listitem>
<para>Utilise un fichier de dépendances, créé par
<command>depmod</command>, pour charger automatiquement les modules adéquats</para>
<indexterm zone="ch-system-module-init-tools modprobe"><primary sortas="b-modprobe">modprobe</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rmmod">
<term><command>rmmod</command></term>
<listitem>
<para>Décharge les modules du noyau en cours d'exécution</para>
<indexterm zone="ch-system-module-init-tools rmmod"><primary sortas="b-rmmod">rmmod</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter06/shadow.xml
0,0 → 1,485
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-shadow" role="wrap">
<title>Shadow-&shadow-version;</title>
<?dbhtml filename="shadow.html"?>
 
<indexterm zone="ch-system-shadow"><primary
sortas="a-Shadow">Shadow</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Shadow contient des programmes de gestion de mots de passe
d'une façon sécurisée.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,4&nbsp;SBU</seg><seg>13,7&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Bison, Coreutils, Diffutils, GCC, Gettext,
Glibc, Grep, Make et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Shadow</title>
 
<para>Préparez la compilation de Shadow&nbsp;:</para>
 
<screen><userinput>./configure --libdir=/lib --enable-shared</userinput></screen>
 
<para>Supprimez l'installation du programme <command>groups</command> et de sa
page man car Coreutils fournit une meilleure version&nbsp;:</para>
 
<screen><userinput>sed -i 's/groups$(EXEEXT) //' src/Makefile
sed -i '/groups/d' man/Makefile</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para id="shadow-limits-login_access">Shadow utilise deux fichiers pour
configurer les paramétrages d'authentification du système. Installez ces deux
fichiers de configuration&nbsp;:</para>
 
<indexterm zone="shadow-limits-login_access"><primary
sortas="e-/etc/limits">/etc/limits</primary></indexterm>
<indexterm zone="shadow-limits-login_access"><primary
sortas="e-/etc/login.access">/etc/login.access</primary></indexterm>
 
<screen><userinput>cp etc/{limits,login.access} /etc</userinput></screen>
 
<para id="shadow-login_defs">Au lieu d'utiliser la méthode
<emphasis>crypt</emphasis> par défaut, nous voulons utiliser la méthode
<emphasis>MD5</emphasis> plus sécurisée pour le cryptage des mots de passe, qui
autorise aussi une taille de mot de passe de plus de huit caractères. Il est
aussi nécessaire de modifier l'emplacement obsolète <filename
class="directory">/var/spool/mail</filename> des boîtes de courrier
électronique des utilisateurs pour que Shadow utilise par défaut le nouveau
<filename class="directory">/var/mail</filename> disponible maintenant. Ces
deux points se réalisent en modifiant le fichier de configuration adéquat tout
en le copiant à sa destination&nbsp;:</para>
 
<indexterm zone="shadow-login_defs"><primary
sortas="e-/etc/login.defs">/etc/login.defs</primary></indexterm>
 
<screen><userinput>sed -e's@#MD5_CRYPT_ENAB.no@MD5_CRYPT_ENAB yes@' \
-e 's@/var/spool/mail@/var/mail@' \
etc/login.defs.linux &gt; /etc/login.defs</userinput></screen>
 
<para>Déplacez un programme au bon emplacement&nbsp;:</para>
 
<screen><userinput>mv /usr/bin/passwd /bin</userinput></screen>
 
<para>Déplacez les bibliothèques de Shadow dans des emplacements plus
appropriés&nbsp;:</para>
 
<screen><userinput>mv /lib/libshadow.*a /usr/lib
rm /lib/libshadow.so
ln -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.so</userinput></screen>
 
<beginpage/>
 
<para>L'option <parameter>-D</parameter> du programme
<filename>useradd</filename> requiert le répertoire <filename
class="directory">/etc/default</filename> pour fonctionner
correctement&nbsp;:</para>
 
<screen><userinput>mkdir /etc/default</userinput></screen>
 
</sect2>
 
 
<sect2 id="conf-shadow" role="configuration"><title>Configurer Shadow</title>
<indexterm zone="conf-shadow">
<primary sortas="a-Shadow">Shadow</primary>
<secondary>configuration</secondary></indexterm>
 
<para>Ce paquet contient des outils pour ajouter, modifier, supprimer
des utilisateurs et des groupes, initialiser et changer leur mots de
passe, et bien d'autres tâches administratives. Pour une explication complète
de ce que signifie <emphasis>password shadowing</emphasis>, jetez un &oelig;il
dans le fichier <filename>doc/HOWTO</filename> à l'intérieur du répertoire
source. Il reste une chose à garder à l'esprit si vous décidez d'utiliser le
support de Shadow&nbsp;: les programmes qui ont besoin de vérifier les mots de
passe (gestionnaires d'affichage, programmes FTP, démons pop3 et ainsi de
suite) ont besoin d'être <emphasis>compatible avec shadow</emphasis>,
c'est-à-dire qu'ils ont besoin d'être capables de fonctionner avec des mots de
passe shadow.</para>
 
<para>Pour activer les mots de passe shadow, lancez la commande
suivante&nbsp;:</para>
 
<screen><userinput>pwconv</userinput></screen>
 
<para>Pour activer les mots de passe shadow pour les groupes,
lancez&nbsp;:</para>
 
<screen><userinput>grpconv</userinput></screen>
 
<para>Sous des circonstances normales, vous n'avez pas encore créé de mots
de passe. Néanmoins, si vous revenez plus tard dans cette section pour activer
les mots de passe shadow, réinitialisez tous les mots de passe des utilisateurs
actuels avec la commande <command>passwd</command> et les mots de passe des
groupes avec la commande <command>gpasswd</command>.</para>
 
</sect2>
 
 
<sect2 role="configuration">
<title>Configurer le mot de passe de root</title>
 
<para>Choisissez un mot de passe pour l'utilisateur <emphasis>root</emphasis>
et configurez-le avec&nbsp;:</para>
 
<screen><userinput>passwd root</userinput></screen>
</sect2>
 
<sect2 id="contents-shadow" role="content"><title>Contenu de Shadow</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèques installées</segtitle>
<seglistitem><seg>chage, chfn, chpasswd, chsh, expiry, faillog, gpasswd,
groupadd, groupdel, groupmod, groups, grpck, grpconv, grpunconv, lastlog,
login, logoutd, mkpasswd, newgrp, newusers, passwd, pwck, pwconv, pwunconv, sg
(lien vers newgrp), useradd, userdel, usermod, vigr (lien vers vipw) et
vipw</seg>
<seg>libshadow.[a,so]</seg>
</seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="chage">
<term><command>chage</command></term>
<listitem>
<para>Utilisé pour modifier le nombre maximum de jours avant d'obliger un
changement de mot de passe</para>
<indexterm zone="ch-system-shadow chage"><primary
sortas="b-chage">chage</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="chfn">
<term><command>chfn</command></term>
<listitem>
<para>Utilisé pour modifier le nom complet de l'utilisateur et quelques autres
informations</para>
<indexterm zone="ch-system-shadow chfn"><primary
sortas="b-chfn">chfn</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="chpasswd">
<term><command>chpasswd</command></term>
<listitem>
<para>Utilisé pour mettre à jour les mots de passe d'une série de compte en une
fois</para>
<indexterm zone="ch-system-shadow chpasswd"><primary
sortas="b-chpasswd">chpasswd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="chsh">
<term><command>chsh</command></term>
<listitem>
<para>Utilisé pour modifier le shell de connexion par défaut d'un
utilisateur</para>
<indexterm zone="ch-system-shadow chsh"><primary
sortas="b-chsh">chsh</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="expiry">
<term><command>expiry</command></term>
<listitem>
<para>vérifie et renforce la politique d'expiration des mots de passe</para>
<indexterm zone="ch-system-shadow expiry"><primary
sortas="b-expiry">expiry</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="faillog">
<term><command>faillog</command></term>
<listitem>
<para>Est utilisé pour examiner les traces d'échecs de connexions, pour
configurer le nombre maximum d'échecs avant qu'un compte ne soit bloqué ou pour
réinitialiser le nombre d'échecs</para>
<indexterm zone="ch-system-shadow faillog"><primary
sortas="b-faillog">faillog</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gpasswd">
<term><command>gpasswd</command></term>
<listitem>
<para>Est utilisé pour ajouter et supprimer des membres et des administrateurs
aux groupes</para>
<indexterm zone="ch-system-shadow gpasswd"><primary
sortas="b-gpasswd">gpasswd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="groupadd">
<term><command>groupadd</command></term>
<listitem>
<para>Crée un groupe avec le nom donné</para>
<indexterm zone="ch-system-shadow groupadd"><primary
sortas="b-groupadd">groupadd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="groupdel">
<term><command>groupdel</command></term>
<listitem>
<para>Supprime le groupe ayant le nom donné</para>
<indexterm zone="ch-system-shadow groupdel"><primary
sortas="b-groupdel">groupdel</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="groupmod">
<term><command>groupmod</command></term>
<listitem>
<para>Est utilisé pour modifier le nom ou le GID du groupe</para>
<indexterm zone="ch-system-shadow groupmod"><primary
sortas="b-groupmod">groupmod</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="groups">
<term><command>groups</command></term>
<listitem>
<para>Indique les groupes d'appartenance des utilisateurs indiqués</para>
<indexterm zone="ch-system-shadow groups"><primary
sortas="b-groups">groups</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grpck">
<term><command>grpck</command></term>
<listitem>
<para>Vérifie l'intégrité des fichiers <filename>/etc/group</filename>
et <filename>/etc/gshadow</filename></para>
<indexterm zone="ch-system-shadow grpck"><primary
sortas="b-grpck">grpck</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grpconv">
<term><command>grpconv</command></term>
<listitem>
<para>Ccrée ou met à jour le fichier shadow à partir du fichier group
standard</para>
<indexterm zone="ch-system-shadow grpconv"><primary
sortas="b-grpconv">grpconv</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grpunconv">
<term><command>grpunconv</command></term>
<listitem>
<para>Met à jour <filename>/etc/group</filename> à partir de
<filename>/etc/gshadow</filename> puis supprime ce dernier</para>
<indexterm zone="ch-system-shadow grpunconv"><primary
sortas="b-grpunconv">grpunconv</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="lastlog">
<term><command>lastlog</command></term>
<listitem>
<para>Indique les connexions les plus récentes de tous les utilisateurs ou d'un
utilisateur donné</para>
<indexterm zone="ch-system-shadow lastlog"><primary
sortas="b-lastlog">lastlog</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="login">
<term><command>login</command></term>
<listitem>
<para>Est utilisé par le système pour permettre aux utilisateurs de se
connecter</para>
<indexterm zone="ch-system-shadow login"><primary
sortas="b-login">login</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="logoutd">
<term><command>logoutd</command></term>
<listitem>
<para>Est un démon utilisé pour renforcer les restrictions sur les temps et
ports de connexion</para>
<indexterm zone="ch-system-shadow logoutd"><primary
sortas="b-logoutd">logoutd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mkpasswd">
<term><command>mkpasswd</command></term>
<listitem>
<para>Crypte les mots de passe au hasard</para>
<indexterm zone="ch-system-shadow mkpasswd"><primary
sortas="b-mkpasswd">mkpasswd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="newgrp">
<term><command>newgrp</command></term>
<listitem>
<para>Est utilisé pour modifier le GID courant pendant une session de
connexion</para>
<indexterm zone="ch-system-shadow newgrp"><primary
sortas="b-newgrp">newgrp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="newusers">
<term><command>newusers</command></term>
<listitem>
<para>Est utilisé pour créer ou mettre à jour toute une série de comptes
utilisateur en une fois</para>
<indexterm zone="ch-system-shadow newusers"><primary
sortas="b-newusers">newusers</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="passwd">
<term><command>passwd</command></term>
<listitem>
<para>Est utilisé pour modifier le mot de passe d'un utilisateur ou d'un
groupe</para>
<indexterm zone="ch-system-shadow passwd"><primary
sortas="b-passwd">passwd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pwck">
<term><command>pwck</command></term>
<listitem>
<para>Vérifie l'intégrité des fichiers de mots de passe,
<filename>/etc/passwd</filename> et <filename>/etc/shadow</filename></para>
<indexterm zone="ch-system-shadow pwck"><primary
sortas="b-pwck">pwck</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pwconv">
<term><command>pwconv</command></term>
<listitem>
<para>Crée ou met à jour le fichier de mots de passe shadow à partir du fichier
password habituel</para>
<indexterm zone="ch-system-shadow pwconv"><primary
sortas="b-pwconv">pwconv</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pwunconv">
<term><command>pwunconv</command></term>
<listitem>
<para>Met à jour <filename>/etc/passwd</filename> à partir de
<filename>/etc/shadow</filename> puis supprime ce dernier</para>
<indexterm zone="ch-system-shadow pwunconv"><primary
sortas="b-pwunconv">pwunconv</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="sg">
<term><command>sg</command></term>
<listitem>
<para>Exécute une commande donnée lors de
l'initialisation du GID de l'utilisateur à un groupe donné</para>
<indexterm zone="ch-system-shadow sg"><primary
sortas="b-sg">sg</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="su">
<term><command>su</command></term>
<listitem>
<indexterm zone="ch-system-shadow su"><primary
sortas="b-su">su</primary></indexterm>
<para>Lance un shell en substituant les ID de l'utilisateur et du groupe</para>
</listitem>
</varlistentry>
 
<varlistentry id="useradd">
<term><command>useradd</command></term>
<listitem>
<para>Crée un nouvel utilisateur avec le nom donné ou met à jour les
informations par défaut du nouvel utilisateur</para>
<indexterm zone="ch-system-shadow useradd"><primary
sortas="b-useradd">useradd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="userdel">
<term><command>userdel</command></term>
<listitem>
<para>Supprime le compte utilisateur indiqué</para>
<indexterm zone="ch-system-shadow userdel"><primary
sortas="b-userdel">userdel</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="usermod">
<term><command>usermod</command></term>
<listitem>
<para>Est utilisé pour modifier le nom de connexion de l'utilisateur, son UID
(<foreignphrase>User Identification</foreignphrase>, soit Identification
Utilisateur), shell, groupe initial, répertoire personnel et ainsi de
suite</para>
<indexterm zone="ch-system-shadow usermod"><primary
sortas="b-usermod">usermod</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="vigr">
<term><command>vigr</command></term>
<listitem>
<para>Édite les fichiers <filename>/etc/group</filename> et
<filename>/etc/gshadow</filename></para>
<indexterm zone="ch-system-shadow vigr"><primary
sortas="b-vigr">vigr</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="vipw">
<term><command>vipw</command></term>
<listitem>
<para>Édite les fichiers <filename>/etc/passwd</filename> et
<filename>/etc/shadow</filename></para>
<indexterm zone="ch-system-shadow vipw"><primary
sortas="b-vipw">vipw</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libshadow">
<term><filename class="libraryfile">libshadow</filename></term>
<listitem>
<para>Contient des fonctions utilisées par la plupart des programmes de ce
paquet</para>
<indexterm zone="ch-system-shadow libshadow"><primary
sortas="c-libshadow">libshadow</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter06/bzip2.xml
0,0 → 1,194
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-bzip2" role="wrap">
<title>Bzip2-&bzip2-version;</title>
<?dbhtml filename="bzip2.html"?>
 
<indexterm zone="ch-system-bzip2"><primary sortas="a-Bzip2">Bzip2</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Bzip2 contient des programmes de compression et décompression
de fichiers. Compresser des fichiers texte avec <command>bzip2</command>
permettent d'atteindre un taux de compression bien meilleur qu'avec
l'outil <command>gzip</command> traditionnel.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>3,9&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc et Make</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Bzip2</title>
 
<para>Préparez la compilation de Bzip2 avec&nbsp;:</para>
 
<screen><userinput>make -f Makefile-libbz2_so
make clean</userinput></screen>
 
<para>Le commutateur <parameter>-f</parameter> fera que Bzip2 sera construit
en utilisant un fichier <filename>Makefile</filename> différent, dans ce cas
le fichier <filename>Makefile-libbz2_so</filename>, qui crée une bibliothèque
<filename class="libraryfile">libbz2.so</filename> dynamique et lie les outils
Bzip2 avec.</para>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make test</userinput></para>
 
<para>En cas de réinstallation de Bzip2, effectuez un
<userinput>rm -f /usr/bin/bz*</userinput> en premier, sinon les prochains
<command>make install</command> échoueront.</para>
 
<para>Installez les programmes&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Installez le binaire dynamique <command>bzip2</command> dans le répertoire
<filename class="directory">/bin</filename>, créez les liens symboliques
nécessaires et nettoyez&nbsp;:</para>
 
<screen><userinput>cp 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}
ln -s bzip2 /bin/bunzip2
ln -s bzip2 /bin/bzcat</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-bzip2" role="content"><title>Contenu de Bzip2</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèques installées</segtitle>
<seglistitem><seg>bunzip2 (lien vers bzip2), bzcat (lien vers bzip2), bzcmp,
bzdiff, bzegrep, bzfgrep, bzgrep, bzip2, bzip2recover, bzless et bzmore</seg>
<seg>libbz2.[a,so]</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="bunzip2">
<term><command>bunzip2</command></term>
<listitem>
<para>Décompresse les fichiers compressés avec bzip</para>
<indexterm zone="ch-system-bzip2 bunzip2"><primary sortas="b-bunzip2">bunzip2</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="bzcat">
<term><command>bzcat</command></term>
<listitem>
<para>Décompresse vers la sortie standard</para>
<indexterm zone="ch-system-bzip2 bzcat"><primary sortas="b-bzcat">bzcat</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="bzcmp">
<term><command>bzcmp</command></term>
<listitem>
<para>Lance <command>cmp</command> sur des fichiers compressés avec bzip</para>
<indexterm zone="ch-system-bzip2 bzcmp"><primary sortas="b-bzcmp">bzcmp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="bzdiff">
<term><command>bzdiff</command></term>
<listitem>
<para>Lance <command>diff</command> sur des fichiers compressés avec bzip</para>
<indexterm zone="ch-system-bzip2 bzdiff"><primary sortas="b-bzdiff">bzdiff</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="bzgrep">
<term><command>bzgrep</command></term>
<listitem>
<para>Lance <command>grep</command> sur des fichiers compressés avec bzip</para>
<indexterm zone="ch-system-bzip2 bzgrep"><primary sortas="b-bzgrep">bzgrep</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="bzegrep">
<term><command>bzegrep</command></term>
<listitem>
<para>Lance <command>egrep</command> sur des fichiers compressés avec bzip</para>
<indexterm zone="ch-system-bzip2 bzegrep"><primary sortas="b-bzegrep">bzegrep</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="bzfgrep">
<term><command>bzfgrep</command></term>
<listitem>
<para>Lance <command>fgrep</command> sur des fichiers compressés avec bzip</para>
<indexterm zone="ch-system-bzip2 bzfgrep"><primary sortas="b-bzfgrep">bzfgrep</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="bzip2">
<term><command>bzip2</command></term>
<listitem>
<para>Compresse les fichiers en utilisant l'algorithme de compression de texte
par tri de blocs de Burrows-Wheeler avec le codage Huffman&nbsp;; le taux de
compression est meilleur que celui auquel parviennent les outils de compression
plus conventionnels utilisant les algorithmes <quote>Lempel-Ziv</quote>, comme
<command>gzip</command></para>
<indexterm zone="ch-system-bzip2 bzip2"><primary sortas="b-bzip2">bzip2</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="bzip2recover">
<term><command>bzip2recover</command></term>
<listitem>
<para>Essaie de récupérer des données à partir de fichiers endommagés, compressés
avec bzip</para>
<indexterm zone="ch-system-bzip2 bzip2recover"><primary sortas="b-bzip2recover">bzip2recover</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="bzless">
<term><command>bzless</command></term>
<listitem>
<para>Lance <command>less</command> sur des fichiers compressés avec bzip</para>
<indexterm zone="ch-system-bzip2 bzless"><primary sortas="b-bzless">bzless</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="bzmore">
<term><command>bzmore</command></term>
<listitem>
<para>Lance <command>more</command> sur des fichiers compressés avec bzip</para>
<indexterm zone="ch-system-bzip2 bzmore"><primary sortas="b-bzmore">bzmore</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libbz2">
<term><filename class="libraryfile">libbz2*</filename></term>
<listitem>
<para>La bibliothèque implémentant la compression de données sans perte par tri
de blocs, utilisant l'algorithme de Burrows-Wheeler</para>
<indexterm zone="ch-system-bzip2 libbz2"><primary sortas="c-libbz2*">libbz2*</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter06/kernfs.xml
0,0 → 1,38
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-kernfs">
<title>Monter les systèmes de fichiers virtuels du noyau</title>
<?dbhtml filename="kernfs.html"?>
 
<para>Différents systèmes de fichiers exportés par le noyau sont utilisés pour
communiquer avec le noyau. Ces systèmes de fichiers sont virtuels par le fait
qu'aucun espace disque n'est utilisé pour eux. Le contenu de ces systèmes de
fichiers réside en mémoire.</para>
 
<para>Commencez en créant les répertoires dans lesquels les systèmes de fichiers
seront montés&nbsp;:</para>
 
<screen><userinput>mkdir -p $LFS/{proc,sys}</userinput></screen>
 
<para>Maintenant, montez les systèmes de fichiers&nbsp;:</para>
 
<screen><userinput>mount -t proc proc $LFS/proc
mount -t sysfs sysfs $LFS/sys</userinput></screen>
 
<para>Rappelez-vous que si vous stoppez le système LFS et que vous le relancez,
il est important de vérifier que ces systèmes de fichiers sont montés avant
d'entrer dans l'environnement chroot.</para>
 
<para>Des systèmes de fichiers supplémentaires seront bientôt montés à
l'intérieur de l'environnement chroot. Pour garder l'hôte à jour, réalisez un
<quote>faux montage</quote> pour chacun d'entre eux maintenant&nbsp;:</para>
 
<screen><userinput>mount -f -t tmpfs tmpfs $LFS/dev
mount -f -t tmpfs tmpfs $LFS/dev/shm
mount -f -t devpts -o gid=4,mode=620 devpts $LFS/dev/pts</userinput></screen>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter06/gawk.xml
0,0 → 1,128
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-gawk" role="wrap">
<title>Gawk-&gawk-version;</title>
<?dbhtml filename="gawk.html"?>
 
<indexterm zone="ch-system-gawk"><primary sortas="a-Gawk">Gawk</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Gawk contient des programmes de manipulation de fichiers texte.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>16,4&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Gawk</title>
 
<para>Préparez la compilation de Gawk&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --libexecdir=/usr/lib</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 id="contents-gawk" role="content"><title>Contenu de Gawk</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>awk (lien vers gawk), gawk, gawk-&gawk-version;, grcat, igawk,
pgawk, pgawk-&gawk-version; et pwcat</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="awk">
<term><command>awk</command></term>
<listitem>
<para>Un lien vers <command>gawk</command></para>
<indexterm zone="ch-system-gawk awk"><primary sortas="b-awk">awk</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gawk">
<term><command>gawk</command></term>
<listitem>
<para>Un programme de manipulation de fichiers texte. C'est l'implémentation
GNU d'<command>awk</command></para>
<indexterm zone="ch-system-gawk gawk"><primary sortas="b-gawk">gawk</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gawk-version">
<term><command>gawk-&gawk-version;</command></term>
<listitem>
<para>Un lien vers <command>gawk</command></para>
<indexterm zone="ch-system-gawk gawk-version"><primary sortas="b-gawk-&gawk-version;">gawk-&gawk-version;</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grcat">
<term><command>grcat</command></term>
<listitem>
<para>Sauvegarde la base de données des groupes, <filename>/etc/group</filename></para>
<indexterm zone="ch-system-gawk grcat"><primary sortas="b-grcat">grcat</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="igawk">
<term><command>igawk</command></term>
<listitem>
<para>Donne à <command>gawk</command> la capacité d'inclure des fichiers</para>
<indexterm zone="ch-system-gawk igawk"><primary sortas="b-igawk">igawk</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pgawk">
<term><command>pgawk</command></term>
<listitem>
<para>La version de profilage de <command>gawk</command></para>
<indexterm zone="ch-system-gawk pgawk"><primary sortas="b-pgawk">pgawk</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pgawk-version">
<term><command>pgawk-&gawk-version;</command></term>
<listitem>
<para>Lien vers <command>pgawk</command></para>
<indexterm zone="ch-system-gawk pgawk-version"><primary sortas="b-pgawk-&gawk-version;">pgawk-&gawk-version;</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pwcat">
<term><command>pwcat</command></term>
<listitem>
<para>Sauvegarde la base de données des mots de passe, <filename>/etc/passwd</filename></para>
<indexterm zone="ch-system-gawk pwcat"><primary sortas="b-pwcat">pwcat</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter06/binutils.xml
0,0 → 1,278
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-binutils" role="wrap">
<title>Binutils-&binutils-version;</title>
<?dbhtml filename="binutils.html"?>
 
<indexterm zone="ch-system-binutils"><primary sortas="a-Binutils">Binutils</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Binutils contient un éditeur de liens, un assembleur et
d'autres outils pour gérer des fichiers objets.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>1,3&nbsp;SBU</seg><seg>158&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Bison, Coreutils, Diffutils, Flex, GCC, Gettext,
Glibc, Grep, M4, Make, Perl, Sed et Texinfo</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Binutils</title>
 
<para>Ce paquet est connu pour avoir des soucis quand les options d'optimisation
par défaut (en incluant les options <parameter>-march</parameter> et
<parameter>-mcpu</parameter>) sont modifiées. Donc, si des variables d'environnement
qui surchargent les optimisations par défaut, telles que <envar>CFLAGS</envar>
et <envar>CXXFLAGS</envar>, ont été définies, supprimez cette initialisation
pour la construction de Binutils.</para>
 
<para>Vérifiez que les pseudo-terminaux (PTY) fonctionnent correctement dans
l'environnement chroot. Vérifiez que tout est bien configuré en effectuant un
test simple&nbsp;:</para>
 
<screen><userinput>expect -c "spawn ls"</userinput></screen>
 
<para>Si le message suivant apparaît, l'environnement chroot n'est pas configuré
correctement pour des opérations sur les PTY&nbsp;:</para>
 
<screen><computeroutput>The system has no more ptys.
Ask your system administrator to create more.</computeroutput></screen>
 
<para>Ce problème doit être résolu avant de lancer les suites de tests pour
Binutils et GCC.</para>
 
<para>La documentation de Binutils recommande de construire Binutils à
l'extérieur du répertoire des sources dans un répertoire dédié&nbsp;:</para>
 
<screen><userinput>mkdir ../binutils-build
cd ../binutils-build</userinput></screen>
 
<para>Préparez la compilation de Binutils&nbsp;:</para>
 
<screen><userinput>../binutils-&binutils-version;/configure --prefix=/usr \
--enable-shared</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make tooldir=/usr</userinput></screen>
 
<para>Normalement, le répertoire tooldir (celui où seront placés les
exécutables) est configuré avec <filename
class="directory">$(exec_prefix)/$(target_alias)</filename>. Par exemple, les
machines i686 l'étendront en <filename
class="directory">/usr/i686-pc-linux-gnu</filename>. Comme il s'agit d'un
système personnalisé, nous n'avons pas besoin d'un répertoire spécifique à notre
cible dans <filename class="directory">/usr</filename>. <filename
class="directory">$(exec_prefix)/$(target_alias)</filename> serait utilisée si
le système avait pour but une cross-compilation (par exemple, compiler un paquet
sur une machine Intel qui génère du code pouvant être exécuté sur des machines
PowerPC).</para>
 
<important><para>La suite de tests de Binutils dans cette section est
considérée comme critique. Ne pas la laissez passer, quelqu'en soit la
raison.</para></important>
 
<para>Testez les résultats&nbsp;:</para>
 
<screen><userinput>make check</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make tooldir=/usr install</userinput></screen>
 
<para>Installez le fichier d'en-tête <filename
class="headerfile">libiberty</filename>, requis par certains paquets&nbsp;:
</para>
 
<screen><userinput>cp ../binutils-&binutils-version;/include/libiberty.h /usr/include</userinput></screen>
 
</sect2>
 
<sect2 id="contents-binutils" role="content"><title>Contenu de Binutils</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèques installées</segtitle>
<seglistitem><seg>addr2line, ar, as, c++filt, gprof, ld, nm, objcopy, objdump,
ranlib, readelf, size, strings et strip</seg>
<seg>libiberty.a, libbfd.[a,so] et libopcodes.[a,so]</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="addr2line">
<term><command>addr2line</command></term>
<listitem>
<para>Traduit les adresses de programme en noms de fichier et numéros de
ligne&nbsp;; suivant une adresse et le nom d'un exécutable, il utilise les
informations de débogage disponibles dans l'exécutable pour déterminer le
fichier source et le numéro de ligne associé à cette adresse</para>
<indexterm zone="ch-system-binutils addr2line"><primary sortas="b-addr2line">addr2line</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ar">
<term><command>ar</command></term>
<listitem>
<para>Crée, modifie et extrait à partir d'archives</para>
<indexterm zone="ch-system-binutils ar"><primary sortas="b-ar">ar</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="as">
<term><command>as</command></term>
<listitem>
<para>Un assembleur qui assemble la sortie de <command>gcc</command> en un
fichier objet</para>
<indexterm zone="ch-system-binutils as"><primary sortas="b-as">as</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="c-filt">
<term><command>c++filt</command></term>
<listitem>
<para>Utilisé par l'éditeur de liens pour récupérer les symboles C++ et Java,
et pour empêcher les fonctions surchargées d'arrêter brutalement le programme
</para>
<indexterm zone="ch-system-binutils c-filt"><primary sortas="b-c++filt">c++filt</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gprof">
<term><command>gprof</command></term>
<listitem>
<para>Affiche les données de profilage d'appels dans un graphe</para>
<indexterm zone="ch-system-binutils gprof"><primary sortas="b-gprof">gprof</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ld">
<term><command>ld</command></term>
<listitem>
<para>Un éditeur de liens combinant un certain nombre d'objets et de fichiers
archives en un seul fichier, en déplaçant leur données et en regroupant les
références de symboles</para>
<indexterm zone="ch-system-binutils ld"><primary sortas="b-ld">ld</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="nm">
<term><command>nm</command></term>
<listitem>
<para>Liste les symboles disponibles dans un fichier objet</para>
<indexterm zone="ch-system-binutils nm"><primary sortas="b-nm">nm</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="objcopy">
<term><command>objcopy</command></term>
<listitem>
<para>Traduit un type de fichier objet en un autre</para>
<indexterm zone="ch-system-binutils objcopy"><primary sortas="b-objcopy">objcopy</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="objdump">
<term><command>objdump</command></term>
<listitem>
<para>Affiche des informations sur le fichier objet donné, les options
contrôlant les informations à afficher&nbsp;; l'information affichée est
surtout utile aux programmeurs qui travaillent sur les outils de compilation
</para>
<indexterm zone="ch-system-binutils objdump"><primary sortas="b-objdump">objdump</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ranlib">
<term><command>ranlib</command></term>
<listitem>
<para>Génère un index du contenu d'une archive et le stocke dans l'archive&nbsp;;
l'index liste tous les symboles définis par les membres de l'archive qui sont
des fichiers objet déplaçables</para>
<indexterm zone="ch-system-binutils ranlib"><primary sortas="b-ranlib">ranlib</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="readelf">
<term><command>readelf</command></term>
<listitem>
<para>Affiche des informations sur les binaires du type ELF</para>
<indexterm zone="ch-system-binutils readelf"><primary sortas="b-readelf">readelf</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="size">
<term><command>size</command></term>
<listitem>
<para>Liste les tailles des sections et la taille totale pour les fichiers
objets donnés</para>
<indexterm zone="ch-system-binutils size"><primary sortas="b-size">size</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="strings">
<term><command>strings</command></term>
<listitem>
<para>Affiche, pour chaque fichier donné, la séquence de caractères affichables
qui sont d'au moins la taille spécifiée (par défaut, 4)&nbsp;; pour les fichiers
objets, il affiche, par défaut, seulement les chaînes des sections
d'initialisation et de chargement alors que pour les autres types de fichiers,
il parcourt le fichier entier</para>
<indexterm zone="ch-system-binutils strings"><primary sortas="b-strings">strings</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="strip">
<term><command>strip</command></term>
<listitem>
<para>Supprime les symboles des fichiers objets</para>
<indexterm zone="ch-system-binutils strip"><primary sortas="b-strip">strip</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libiberty">
<term><filename class="libraryfile">libiberty</filename></term>
<listitem>
<para>contient des routines utilisées par différents programmes GNU comme
<command>getopt</command>, <command>obstack</command>,
<command>strerror</command>, <command>strtol</command> et
<command>strtoul</command></para>
<indexterm zone="ch-system-binutils libiberty"><primary sortas="c-libiberty">libiberty</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libbfd">
<term><filename class="libraryfile">libbfd</filename></term>
<listitem>
<para>La bibliothèque des descripteurs de fichiers binaires
(<foreignphrase>Binary File Descriptor</foreignphrase>)</para>
<indexterm zone="ch-system-binutils libbfd"><primary sortas="c-libbfd">libbfd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libopcodes">
<term><filename class="libraryfile">libopcodes</filename></term>
<listitem>
<para>Une bibliothèque de gestion des opcodes&mdash;la <quote>version
lisible</quote> des instructions du processeur&nbsp;; elle est utilisée pour
construire des outils comme <command>objdump</command>.</para>
<indexterm zone="ch-system-binutils libopcodes"><primary sortas="c-libopcodes">libopcodes</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1/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 le répertoire
<filename class="directory">/tools</filename> peut être supprimé une fois le
système LFS terminé, il peut être conservé pour construire d'autres systèmes LFS.
Si ce répertoire est conservé tel qu'il est, les fichiers appartiennent à un
identifieur sans compte correspondant. Ceci est dangereux car par la suite un
compte utilisateur pourrait obtenir cet identifieur 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, ajoutez 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
identifieur utilisateur et groupe. Sinon, affectez le contenu du répertoire
<filename class="directory">/tools</filename> à l'utilisateur
<emphasis>root</emphasis> en lançant la commande suivante&nbsp;:
</para>
 
<screen><userinput>chown -R 0:0 /tools</userinput></screen>
 
<para>La commande utilise <parameter>0:0</parameter> au lieu de
<parameter>root:root</parameter> car <command>chown</command> n'est pas capable
de résoudre le nom <quote>root</quote> tant que le fichier des mots de passe
n'est pas créé. Ce livre suppose que vous avez exécuté la commande
<command>chown</command>.</para>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter06/chapter06.xml
0,0 → 1,74
<?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="kernfs.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="devices.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="linux-libc-headers.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="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="readline.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="inetutils.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="iproute2.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="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="hotplug.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="module-init-tools.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="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="udev.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="aboutdebug.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="strippingagain.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="revisedchroot.xml"/>
 
</chapter>
/tags/LFS-6_1/lfs/chapter06/grub.xml
0,0 → 1,131
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-grub" role="wrap">
<title>Grub-&grub-version;</title>
<?dbhtml filename="grub.html"?>
 
<indexterm zone="ch-system-grub"><primary sortas="a-Grub">Grub</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Grub contient un chargeur de démarrage, le <foreignphrase>GRand
Unified Bootloader</foreignphrase>.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>10,0&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make, Ncurses et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Grub</title>
 
<para>Ce paquet est connu pour avoir des soucis quand les options d'optimisation
par défaut (en incluant les options <parameter>-march</parameter> et
<parameter>-mcpu</parameter>) sont modifiées. Donc, si des variables d'environnement
qui surchargent les optimisations par défaut, telles que <envar>CFLAGS</envar>
et <envar>CXXFLAGS</envar>, ont été définies, supprimez cette initialisation
pour la construction de Grub.</para>
 
<para>Préparez la compilation de Grub&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Notez que les résultats des tests afficheront toujours l'erreur
<quote>ufs2_stage1_5 is too big</quote>. Ceci est dû à un problème du
compilateur mais peut être ignoré sauf si vous planifiez de démarrer à partir
d'une partition LFS. Normalement, les partitions sont uniquement utilisées par
les stations de travail Sun.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install
mkdir /boot/grub
cp /usr/lib/grub/i386-pc/stage{1,2} /boot/grub</userinput></screen>
 
<para>Remplacez <filename class="directory">i386-pc</filename> par le
répertoire adéquat pour le matériel utilisé.</para>
 
<para>Le répertoire <filename class="directory">i386-pc</filename> contient
aussi un certain nombre de fichiers <filename>*stage1_5</filename>, différents
suivant les différents systèmes de fichiers. Jetez un &oelig;il aux fichiers
disponibles et copiez les bons dans le répertoire <filename
class="directory">/boot/grub</filename>. La plupart des utilisateurs copieront
les fichiers <filename>e2fs_stage1_5</filename> et/ou
<filename>reiserfs_stage1_5</filename>.</para>
 
</sect2>
 
<sect2 id="contents-grub" role="content"><title>Contenu de Grub</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>grub, grub-install,
grub-md5-crypt, grub-terminfo et mbchk</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="grub">
<term><command>grub</command></term>
<listitem>
<para>Le shell de commande pour Grub</para>
<indexterm zone="ch-system-grub grub"><primary sortas="b-grub">grub</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grub-install">
<term><command>grub-install</command></term>
<listitem>
<para>Installe GRUB sur le périphérique spécifié</para>
<indexterm zone="ch-system-grub grub-install"><primary sortas="b-grub-install">grub-install</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grub-md5-crypt">
<term><command>grub-md5-crypt</command></term>
<listitem>
<para>Crypte un mot de passe au format MD5</para>
<indexterm zone="ch-system-grub grub-md5-crypt"><primary sortas="b-grub-md5-crypt">grub-md5-crypt</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grub-terminfo">
<term><command>grub-terminfo</command></term>
<listitem>
<para>Génère une commande terminfo à partir d'un nom terminfo. Il est
utilisable si vous avez un terminal non usuel</para>
<indexterm zone="ch-system-grub grub-terminfo"><primary sortas="b-grub-terminfo">grub-terminfo</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mbchk">
<term><command>mbchk</command></term>
<listitem>
<para>Vérifie le format d'un noyau multi-boot</para>
<indexterm zone="ch-system-grub mbchk"><primary sortas="b-mbchk">mbchk</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter06/findutils.xml
0,0 → 1,137
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-findutils" role="wrap">
<title>Findutils-&findutils-version;</title>
<?dbhtml filename="findutils.html"?>
 
<indexterm zone="ch-system-findutils"><primary sortas="a-Findutils">Findutils</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Findutils contient des programmes de recherche de fichiers.
Ces programmes sont fournis pour rechercher récursivement dans une hiérarchie
de répertoires et pour créer, maintenir et chercher dans une base de données
(souvent plus rapide que la recherche récursive mais moins fiable si la base de
données n'a pas été mise à jour récemment).</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>9,4&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Findutils</title>
 
<para>Préparez la compilation de Findutils&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --libexecdir=/usr/lib/locate \
--localstatedir=/var/lib/misc</userinput></screen>
 
<para>L'option 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>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
</sect2>
 
<sect2 id="contents-findutils" role="content"><title>Contenu de Findutils</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>bigram, code, find, frcode, locate, updatedb et xargs</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="bigram">
<term><command>bigram</command></term>
<listitem>
<para>Était auparavant utilisé pour créer les bases de données
<command>locate</command></para>
<indexterm zone="ch-system-findutils bigram"><primary sortas="b-bigram">bigram</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="code">
<term><command>code</command></term>
<listitem>
<para>Était auparavant utilisé pour créer les bases de données
<command>locate</command>. Il est l'ancêtre de <command>frcode</command>.
</para>
<indexterm zone="ch-system-findutils code"><primary sortas="b-code">code</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="find">
<term><command>find</command></term>
<listitem>
<para>Cherche dans les hiérarchies de répertoires donnés les fichiers
correspondant à un critère spécifié</para>
<indexterm zone="ch-system-findutils find"><primary sortas="b-find">find</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="frcode">
<term><command>frcode</command></term>
<listitem>
<para>est appelé par <command>updatedb</command> pour compacter la liste des
noms de fichiers. Il utilise front-compression, réduisant la taille de la base
de données d'un facteur de 4 à 5</para>
<indexterm zone="ch-system-findutils frcode"><primary sortas="b-frcode">frcode</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="locate">
<term><command>locate</command></term>
<listitem>
<para>recherche à travers la base de données des noms de fichiers et renvoie
les noms contenant une certaine chaîne ou correspondant à un certain modèle
</para>
<indexterm zone="ch-system-findutils locate"><primary sortas="b-locate">locate</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="updatedb">
<term><command>updatedb</command></term>
<listitem>
<para>met à jour la base de données <command>locate</command>. Il parcourt le
système de fichiers entier (en incluant les autres systèmes de fichiers
actuellement montés, sauf si le contraire est spécifié) et place tous les noms
de fichiers qu'ils trouvent dans la base de données</para>
<indexterm zone="ch-system-findutils updatedb"><primary sortas="b-updatedb">updatedb</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="xargs">
<term><command>xargs</command></term>
<listitem>
<para>Peut être utilisé pour lancer une commande donnée sur une liste de fichiers</para>
<indexterm zone="ch-system-findutils xargs"><primary sortas="b-xargs">xargs</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter06/perl.xml
0,0 → 1,367
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-perl" role="wrap">
<title>Perl-&perl-version;</title>
<?dbhtml filename="perl.html"?>
 
<indexterm zone="ch-system-perl"><primary
sortas="a-Perl">Perl</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Perl contient le langage pratique d'extraction et de rapport
(<foreignphrase>Practical Extraction and Report Language</foreignphrase>).</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>2,9&nbsp;SBU</seg><seg>137&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
Gawk, GCC, Glibc, Grep, Make et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Perl</title>
 
<para>Si vous voulez avoir un contrôle total sur la façon dont Perl est
configuré, lancez le script interactif <command>Configure</command>
et choisissez la façon dont le paquet est construit. Si les valeurs par défaut
détectées automatiquement sont convenables, préparez la compilation de
Perl ainsi&nbsp;:</para>
 
<screen><userinput>./configure.gnu --prefix=/usr -Dpager="/bin/less -isR"</userinput></screen>
 
<para>Voici la signification de l'option de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>-Dpager="/bin/less -isR"</parameter></term>
<listitem><para>Ceci corrige une erreur dans le code de
<command>perldoc</command> lors de l'appel du programme
<command>less</command>.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour exécuter la suite de tests, créez tout d'abord un fichier
<filename>/etc/hosts</filename> basique, nécessaire à
quelques tests pour résoudre le nom <emphasis>localhost</emphasis>&nbsp;:</para>
 
<screen><userinput>echo "127.0.0.1 localhost $(hostname)" &gt; /etc/hosts</userinput></screen>
 
<para>Maintenant, lancez les tests si vous le souhaitez&nbsp;:</para>
 
<screen><userinput>make test</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 id="contents-perl" role="content"><title>Contenu de Perl</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèques installées</segtitle>
<seglistitem><seg>a2p, c2ph, dprofpp, enc2xs,
find2perl, h2ph, h2xs, libnetcfg, perl, perl&perl-version; (lien vers perl),
perlbug, perlcc, perldoc, perlivp, piconv, pl2pm, pod2html, pod2latex, pod2man,
pod2text, pod2usage, podchecker, podselect, psed (lien vers s2p), pstruct (lien
vers c2ph), s2p, splain et xsubpp</seg>
<seg>Quelques centaines qui ne pourraient pas toutes être listées
ici</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="a2p">
<term><command>a2p</command></term>
<listitem>
<para>Traduit awk en perl</para>
<indexterm zone="ch-system-perl a2p"><primary
sortas="b-a2p">a2p</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="c2ph">
<term><command>c2ph</command></term>
<listitem>
<para>Affiche les structures C comme si elles étaient générées à partir de
<command>cc -g -S</command></para>
<indexterm zone="ch-system-perl c2ph"><primary
sortas="b-c2ph">c2ph</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dprofpp">
<term><command>dprofpp</command></term>
<listitem>
<para>Affiche les données profile de Perl</para>
<indexterm zone="ch-system-perl dprofpp"><primary
sortas="b-dprofpp">dprofpp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="en2cxs">
<term><command>en2cxs</command></term>
<listitem>
<para>construit une extension Perl pour
le module Encode, soit à partir de <foreignphrase>Unicode Character
Mappings</foreignphrase> soit à partir de <foreignphrase>Tcl Encoding
Files</foreignphrase></para>
<indexterm zone="ch-system-perl en2cxs"><primary
sortas="b-en2cxs">en2cxs</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="find2perl">
<term><command>find2perl</command></term>
<listitem>
<para>Traduit les commandes <command>find</command> en Perl</para>
<indexterm zone="ch-system-perl find2perl"><primary
sortas="b-find2perl">find2perl</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="h2ph">
<term><command>h2ph</command></term>
<listitem>
<para>Convertit les fichiers d'en-têtes C <filename
class="extension">.h</filename> en fichiers d'en-têtes Perl <filename
class="extension">.ph</filename></para>
<indexterm zone="ch-system-perl h2ph"><primary
sortas="b-h2ph">h2ph</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="h2xs">
<term><command>h2xs</command></term>
<listitem>
<para>Convertit les fichiers d'en-têtes C <filename
class="extension">.h</filename> en extensions Perl</para>
<indexterm zone="ch-system-perl h2xs"><primary
sortas="b-h2xs">h2xs</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libnetcfg">
<term><command>libnetcfg</command></term>
<listitem>
<para>Peut être utilisé pour configurer <filename
class="libraryfile">libnet</filename></para>
<indexterm zone="ch-system-perl libnetcfg"><primary
sortas="b-libnetcfg">libnetcfg</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="perl">
<term><command>perl</command></term>
<listitem>
<para>Combine quelques-unes des meilleures fonctionnalités de C,
<command>sed</command>, <command>awk</command> et <command>sh</command>
en un langage style couteau suisse</para>
<indexterm zone="ch-system-perl perl"><primary
sortas="b-perl">perl</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="perl-version">
<term><command>perl&perl-version;</command></term>
<listitem>
<para>Un lien vers <command>perl</command></para>
<indexterm zone="ch-system-perl perl-version"><primary
sortas="b-perl&perl-version;">perl&perl-version;</primary></indexterm>
</listitem>
</varlistentry>
 
 
<varlistentry id="perlbug">
<term><command>perlbug</command></term>
<listitem>
<para>Utilisé pour générer des rapports de bogues sur Perl ou les modules
l'accompagnant et pour les envoyer par courrier électronique</para>
<indexterm zone="ch-system-perl perlbug"><primary
sortas="b-perlbug">perlbug</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="perlcc">
<term><command>perlcc</command></term>
<listitem>
<para>Génère des exécutables à partir des programmes Perl</para>
<indexterm zone="ch-system-perl perlcc"><primary
sortas="b-perlcc">perlcc</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="perldoc">
<term><command>perldoc</command></term>
<listitem>
<para>Affiche une partie de la documentation au format pod, embarquée dans le
répertoire d'installation de Perl ou dans un script Perl</para>
<indexterm zone="ch-system-perl perldoc"><primary
sortas="b-perldoc">perldoc</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="perlivp">
<term><command>perlivp</command></term>
<listitem>
<para>La procédure de vérification d'installation de Perl (<foreignphrase>Perl
Installation Verification Procedure</foreignphrase>). Il peut être utilisé pour
vérifier que Perl et ses bibliothèques ont été installés correctement</para>
<indexterm zone="ch-system-perl perlivp"><primary
sortas="b-perlivp">perlivp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="piconv">
<term><command>piconv</command></term>
<listitem>
<para>une version Perl du convertisseur de codage des caractères
<command>iconv</command></para>
<indexterm zone="ch-system-perl piconv"><primary
sortas="b-piconv">piconv</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pl2pm">
<term><command>pl2pm</command></term>
<listitem>
<para>un outil simple pour la conversion des fichiers Perl4 <filename
class="extension">.pl</filename> en modules Perl5 <filename
class="extension">.pm</filename></para>
<indexterm zone="ch-system-perl pl2pm"><primary
sortas="b-pl2pm">pl2pm</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pod2html">
<term><command>pod2html</command></term>
<listitem>
<para>Convertit des fichiers à partir du format pod vers le format HTML</para>
<indexterm zone="ch-system-perl pod2html"><primary
sortas="b-pod2html">pod2html</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pod2latex">
<term><command>pod2latex</command></term>
<listitem>
<para>Convertit des fichiers à partir du format pod vers le format LaTeX</para>
<indexterm zone="ch-system-perl pod2latex"><primary
sortas="b-pod2latex">pod2latex</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pod2man">
<term><command>pod2man</command></term>
<listitem>
<para>Convertit des fichiers à partir du format pod vers une entrée formatée
*roff</para>
<indexterm zone="ch-system-perl pod2man"><primary
sortas="b-pod2man">pod2man</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pod2text">
<term><command>pod2text</command></term>
<listitem>
<para>Convertit des fichiers à partir du format pod vers du texte ANSI</para>
<indexterm zone="ch-system-perl pod2text"><primary
sortas="b-pod2text">pod2text</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pod2usage">
<term><command>pod2usage</command></term>
<listitem>
<para>Affiche les messages d'usage à partir des documents embarqués pod</para>
<indexterm zone="ch-system-perl pod2usage"><primary
sortas="b-pod2usage">pod2usage</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="podchecker">
<term><command>podchecker</command></term>
<listitem>
<para>Vérifie la syntaxe du format pod des fichiers de documentation</para>
<indexterm zone="ch-system-perl podchecker"><primary
sortas="b-podchecker">podchecker</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="podselect">
<term><command>podselect</command></term>
<listitem>
<para>Affiche les sections sélectionnées de la documentation pod</para>
<indexterm zone="ch-system-perl podselect"><primary
sortas="b-podselect">podselect</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="psed">
<term><command>psed</command></term>
<listitem>
<para>Une version Perl de l'éditeur en flux <command>sed</command></para>
<indexterm zone="ch-system-perl psed"><primary
sortas="b-psed">psed</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pstruct">
<term><command>pstruct</command></term>
<listitem>
<para>affiche les structures C générées à partir de <command>cc -g
-S</command></para>
<indexterm zone="ch-system-perl pstruct"><primary
sortas="b-pstruct">pstruct</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="s2p">
<term><command>s2p</command></term>
<listitem>
<para>Traduit les scripts <command>sed</command> en perl</para>
<indexterm zone="ch-system-perl s2p"><primary
sortas="b-s2p">s2p</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="splain">
<term><command>splain</command></term>
<listitem>
<para>est utilisé pour forcer la verbosité des messages d'avertissement avec
Perl</para>
<indexterm zone="ch-system-perl splain"><primary
sortas="b-splain">splain</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="xsubpp">
<term><command>xsubpp</command></term>
<listitem>
<para>Convertit le code Perl XS en code C</para>
<indexterm zone="ch-system-perl xsubpp"><primary
sortas="b-xsubpp">xsubpp</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter06/procps.xml
0,0 → 1,193
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-procps" role="wrap">
<title>Procps-&procps-version;</title>
<?dbhtml filename="procps.html"?>
 
<indexterm zone="ch-system-procps"><primary sortas="a-Procps">Procps</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Procps contient des programmes pour surveiller les
processus.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>2,3&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, GCC, Glibc, Make et
Ncurses</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Procps</title>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 id="contents-procps" role="content"><title>Contenu de Procps</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèque installée</segtitle>
<seglistitem><seg>free, kill, pgrep, pkill, pmap, ps, skill, snice, sysctl, tload, top, uptime,
vmstat, w et watch</seg>
<seg>libproc.so</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="free">
<term><command>free</command></term>
<listitem>
<para>Indique le total de mémoire libre et utilisé sur le système à la fois pour la mémoire
physique et pour la mémoire swap</para>
<indexterm zone="ch-system-procps free"><primary sortas="b-free">free</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="kill">
<term><command>kill</command></term>
<listitem>
<para>Envoie des signaux aux processus</para>
<indexterm zone="ch-system-procps kill"><primary sortas="b-kill">kill</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pgrep">
<term><command>pgrep</command></term>
<listitem>
<para>Recherche les processus suivant leur nom et autres attributs</para>
<indexterm zone="ch-system-procps pgrep"><primary sortas="b-pgrep">pgrep</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pkill">
<term><command>pkill</command></term>
<listitem>
<para>Envoie des signaux aux processus suivant leur nom et autres attributs</para>
<indexterm zone="ch-system-procps pkill"><primary sortas="b-pkill">pkill</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pmap">
<term><command>pmap</command></term>
<listitem>
<para>Affiche le plan mémoire du processus désigné</para>
<indexterm zone="ch-system-procps pmap"><primary sortas="b-pmap">pmap</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ps">
<term><command>ps</command></term>
<listitem>
<para>Donne un aperçu des processus en cours d'exécution</para>
<indexterm zone="ch-system-procps ps"><primary sortas="b-ps">ps</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="skill">
<term><command>skill</command></term>
<listitem>
<para>Envoie des signaux aux processus correspondant à un critère donné</para>
<indexterm zone="ch-system-procps skill"><primary sortas="b-skill">skill</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="snice">
<term><command>snice</command></term>
<listitem>
<para>Modifie les priorités des processus suivant le critère donné</para>
<indexterm zone="ch-system-procps snice"><primary sortas="b-snice">snice</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="sysctl">
<term><command>sysctl</command></term>
<listitem>
<para>Modifie les paramètres du noyau en cours d'exécution</para>
<indexterm zone="ch-system-procps sysctl"><primary sortas="b-sysctl">sysctl</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tload">
<term><command>tload</command></term>
<listitem>
<para>Affiche un graphe de la charge système actuelle</para>
<indexterm zone="ch-system-procps tload"><primary sortas="b-tload">tload</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="top">
<term><command>top</command></term>
<listitem>
<para>Affiche une liste des processus demandant le maximum de ressources CPU&nbsp;;
il fournit un affichage agréable sur l'activité du processeur en temps réel</para>
<indexterm zone="ch-system-procps top"><primary sortas="b-top">top</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="uptime">
<term><command>uptime</command></term>
<listitem>
<para>Affiche le temps d'exécution du système, le nombre d'utilisateurs
connectés et les moyennes de charge système</para>
<indexterm zone="ch-system-procps uptime"><primary sortas="b-uptime">uptime</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="vmstat">
<term><command>vmstat</command></term>
<listitem>
<para>Affiche les statistiques de mémoire virtuelle, donne des informations sur
les processus, la mémoire, la pagination, le nombre de blocs en
entrées/sorties, les échappements et l'activité CPU</para>
<indexterm zone="ch-system-procps vmstat"><primary sortas="b-vmstat">vmstat</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="w">
<term><command>w</command></term>
<listitem>
<para>Affiche les utilisateurs actuellement connectés, où et depuis quand</para>
<indexterm zone="ch-system-procps w"><primary sortas="b-w">w</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="watch">
<term><command>watch</command></term>
<listitem>
<para>Lance une commande de manière répétée, affichant le premier écran de sa
sortie&nbsp;; ceci vous permet de surveiller la sortie</para>
<indexterm zone="ch-system-procps watch"><primary sortas="b-watch">watch</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libproc">
<term><filename class="libraryfile">libproc</filename></term>
<listitem>
<para>Contient les fonctions utilisées par la plupart des programmes de ce paquet</para>
<indexterm zone="ch-system-procps libproc"><primary sortas="c-libproc">libproc</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter06/automake.xml
0,0 → 1,217
<?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" role="wrap">
<title>Automake-&automake-version;</title>
<?dbhtml filename="automake.html"?>
 
<indexterm zone="ch-system-automake"><primary sortas="a-Automake">Automake</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Automake contient des programmes de génération de Makefile
à utiliser avec Autoconf.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>8,8&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Autoconf, Bash, Coreutils,
Diffutils, Grep, M4, Make, Perl et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<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" role="content"><title>Contenu d'Automake</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>acinstall, aclocal, aclocal-&automake-version;,
automake, automake-&automake-version;,
compile, config.guess, config.sub, depcomp, elisp-comp, install-sh, mdate-sh,
missing, mkinstalldirs, py-compile, symlink-tree et ylwrap</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="acinstall">
<term><command>acinstall</command></term>
<listitem>
<para>Un script qui installe des fichiers M4, style aclocal</para>
<indexterm zone="ch-system-automake acinstall"><primary sortas="b-acinstall">acinstall</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="aclocal">
<term><command>aclocal</command></term>
<listitem>
<para>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 aclocal"><primary sortas="b-aclocal">aclocal</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="aclocal-version">
<term><command>aclocal-&automake-version;</command></term>
<listitem>
<para>Un lien vers <command>aclocal</command></para>
<indexterm zone="ch-system-automake aclocal-version"><primary
sortas="b-aclocal-&automake-version;">aclocal-&automake-version;</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="automake">
<term><command>automake</command></term>
<listitem>
<para>Un outil pour générer automatiquement des fichiers
<filename>Makefile.in</filename> à partir de fichiers
<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 le fichier
<filename>configure.in</filename>, il trouve automatiquement chaque fichier
<filename>Makefile.am</filename> approprié et génère le fichier
<filename>Makefile.in</filename> correspondant</para>
<indexterm zone="ch-system-automake automake"><primary sortas="b-automake">automake</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="automake-version">
<term><command>automake-&automake-version;</command></term>
<listitem>
<para>Un lien vers <command>automake</command></para>
<indexterm zone="ch-system-automake automake-version"><primary
sortas="b-automake-&automake-version;">automake-&automake-version;</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="compile">
<term><command>compile</command></term>
<listitem>
<para>Un emballage pour les compilateurs</para>
<indexterm zone="ch-system-automake compile"><primary sortas="b-compile">compile</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="config.guess">
<term><command>config.guess</command></term>
<listitem>
<para>Un script qui tente de deviner un triplet canonique pour la construction
donnée, l'hôte ou l'architecture de la cible</para>
<indexterm zone="ch-system-automake config.guess"><primary sortas="b-config.guess">config.guess</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="config.sub">
<term><command>config.sub</command></term>
<listitem>
<para>Un script contenant une sous-routine de validation de configuration</para>
<indexterm zone="ch-system-automake config.sub"><primary sortas="b-config.sub">config.sub</primary></indexterm>
<beginpage/></listitem>
</varlistentry>
 
<varlistentry id="depcomp">
<term><command>depcomp</command></term>
<listitem>
<para>Un script pour compiler un programme de façon à ce que les informations
de dépendances soient générées en plus de la sortie désirée</para>
<indexterm zone="ch-system-automake depcomp"><primary sortas="b-depcomp">depcomp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="elisp-comp">
<term><command>elisp-comp</command></term>
<listitem>
<para>Compile le code Lisp d'Emacs</para>
<indexterm zone="ch-system-automake elisp-comp"><primary sortas="b-elisp-comp">elisp-comp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="install-sh">
<term><command>install-sh</command></term>
<listitem>
<para>Un script qui installe un programme, un script ou un fichier de données</para>
<indexterm zone="ch-system-automake install-sh"><primary sortas="b-install-sh">install-sh</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mdate-sh">
<term><command>mdate-sh</command></term>
<listitem>
<para>Un script qui affiche la date de modification d'un fichier ou
répertoire</para>
<indexterm zone="ch-system-automake mdate-sh"><primary sortas="b-mdate-sh">mdate-sh</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="missing">
<term><command>missing</command></term>
<listitem>
<para>Un script agissant comme remplaçant pour les programmes GNU manquants
lors d'une installation</para>
<indexterm zone="ch-system-automake missing"><primary sortas="b-missing">missing</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mkinstalldirs">
<term><command>mkinstalldirs</command></term>
<listitem>
<para>Un script qui crée un ensemble de répertoires</para>
<indexterm zone="ch-system-automake mkinstalldirs"><primary sortas="b-mkinstalldirs">mkinstalldirs</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="py-compile">
<term><command>py-compile</command></term>
<listitem>
<para>Compile un programme Python</para>
<indexterm zone="ch-system-automake py-compile"><primary sortas="b-py-compile">py-compile</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="symlink-tree">
<term><command>symlink-tree</command></term>
<listitem>
<para>Un script créant un ensemble de liens à partir d'un ensemble de répertoires</para>
<indexterm zone="ch-system-automake symlink-tree"><primary sortas="b-symlink-tree">symlink-tree</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ylwrap">
<term><command>ylwrap</command></term>
<listitem>
<para>Un emballage pour <command>lex</command> et <command>yacc</command></para>
<indexterm zone="ch-system-automake ylwrap"><primary sortas="b-ylwrap">ylwrap</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter06/util-linux.xml
0,0 → 1,700
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-util-linux" role="wrap">
<title>Util-linux-&util-linux-version;</title>
<?dbhtml filename="util-linux.html"?>
 
<indexterm zone="ch-system-util-linux"><primary
sortas="a-Util-linux">Util-linux</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Util-linux contient différents outils. Parmi eux se trouvent
des outils de gestion des systèmes de fichiers, de consoles, de partitions et
des messages.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>11,6&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc,
Grep, Make, Ncurses, Sed et Zlib</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Notes de compatibilité FHS</title>
 
<para>Le FHS recommande d'utiliser <filename
class="directory">/var/lib/hwclock</filename> au lieu de l'habituel
<filename class="directory">/etc</filename> comme emplacement du fichier
<filename>adjtime</filename>. Pour rendre <command>hwclock</command> compatible
avec le FHS, lancez ce qui suit&nbsp;:</para>
 
<screen><userinput>sed -i 's@etc/adjtime@var/lib/hwclock/adjtime@g' \
hwclock/hwclock.c
mkdir -p /var/lib/hwclock</userinput></screen>
 
</sect2>
 
<sect2 role="installation">
<title>Installation d'Util-linux</title>
 
<para>Util-linux échoue lors de sa compilation avec les nouvelles versions de
Linux-Libc-Headers. Le correctif suivant corrige proprement ce
problème&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../util-linux-&util-linux-version;-cramfs-1.patch</userinput></screen>
 
<para>Préparez la compilation d'Util-linux&nbsp;:</para>
 
<screen><userinput>./configure</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make HAVE_KILL=yes HAVE_SLN=yes</userinput></screen>
 
<para>Voici la signification des paramètres de make&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>HAVE_KILL=yes</parameter></term>
<listitem><para>Ceci empêche le programme <command>kill</command> (déjà
installé par Procps) d'être construit et installé de nouveau.</para></listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>HAVE_SLN=yes</parameter></term>
<listitem><para>Ceci empêche le programme <command>sln</command> (un
<command>ln</command> lié statiquement déjà installé par Glibc) d'être
construit et installé de nouveau.</para></listitem>
</varlistentry>
</variablelist>
 
<para>Ce paquetage ne vient pas avec une suite de tests.</para>
 
<para>Installez le paquetage et déplacez le binaire <command>logger</command>
dans <filename class="directory">/bin</filename> car il est nécessaire pour le
paquetage LFS-Bootscripts&nbsp;:</para>
 
<screen><userinput>make HAVE_KILL=yes HAVE_SLN=yes install
mv /usr/bin/logger /bin</userinput></screen>
 
</sect2>
 
<sect2 id="contents-utillinux" role="content"><title>Contenu
d'Util-linux</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>agetty, arch, blockdev, cal, cfdisk, chkdupexe, col, colcrt,
colrm, column, ctrlaltdel, cytune, ddate, dmesg, elvtune, fdformat, fdisk,
fsck.cramfs, fsck.minix, getopt, hexdump, hwclock, ipcrm, ipcs, isosize, line,
logger, look, losetup, mcookie, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix,
mkswap, more, mount, namei, pg, pivot_root, ramsize (lien vers rdev), raw,
rdev, readprofile, rename, renice, rev, rootflags (lien vers rdev), script,
setfdprm, setsid, setterm, sfdisk, swapdev, swapoff (lien vers swapon), swapon,
tunelp, ul, umount, vidmode (lien vers rdev), whereis et
write</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="agetty">
<term><command>agetty</command></term>
<listitem>
<para>Ouvre un port tty, demande un nom de connexion puis appelle le programme
<command>login</command></para>
<indexterm zone="ch-system-util-linux agetty"><primary
sortas="b-agetty">agetty</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="arch">
<term><command>arch</command></term>
<listitem>
<para>Affiche l'architecture de la machine</para>
<indexterm zone="ch-system-util-linux arch"><primary
sortas="b-arch">arch</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="blockdev">
<term><command>blockdev</command></term>
<listitem>
<para>Permet aux utilisateurs d'appeler les ioctl d'un périphérique bloc à
partir de la ligne de commande</para>
<indexterm zone="ch-system-util-linux blockdev"><primary
sortas="b-blockdev">blockdev</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="cal">
<term><command>cal</command></term>
<listitem>
<para>Affiche un calendrier simple</para>
<indexterm zone="ch-system-util-linux cal"><primary
sortas="b-cal">cal</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="cfdisk">
<term><command>cfdisk</command></term>
<listitem>
<para>Manipule la table des partitions du périphérique donné</para>
<indexterm zone="ch-system-util-linux cfdisk"><primary
sortas="b-cfdisk">cfdisk</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="chkdupexe">
<term><command>chkdupexe</command></term>
<listitem>
<para>Trouve les exécutables dupliqués</para>
<indexterm zone="ch-system-util-linux chkdupexe"><primary
sortas="b-chkdupexe">chkdupexe</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="col">
<term><command>col</command></term>
<listitem>
<para>Filtre les retours chariot inversés</para>
<indexterm zone="ch-system-util-linux col"><primary
sortas="b-col">col</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="colcrt">
<term><command>colcrt</command></term>
<listitem>
<para>filtrer la sortie de <command>nroff</command> pour les terminaux manquant
de capacités comme le texte barré ou les demi-lignes</para>
<indexterm zone="ch-system-util-linux colcrt"><primary
sortas="b-colcrt">colcrt</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="colrm">
<term><command>colrm</command></term>
<listitem>
<para>Filtre les colonnes données</para>
<indexterm zone="ch-system-util-linux colrm"><primary
sortas="b-colrm">colrm</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="column">
<term><command>column</command></term>
<listitem>
<para>Formate un fichier donné en de nombreuses colonnes</para>
<indexterm zone="ch-system-util-linux column"><primary
sortas="b-column">column</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ctrlaltdel">
<term><command>ctrlaltdel</command></term>
<listitem>
<para>Initialise la combinaison des touches Ctrl+Alt+Del pour une
réinitialisation matérielle ou logicielle</para>
<indexterm zone="ch-system-util-linux ctrlaltdel"><primary
sortas="b-ctrlaltdel">ctrlaltdel</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="cytune">
<term><command>cytune</command></term>
<listitem>
<para>Est utilisé pour paramétrer finement les pilotes de lignes séries des
cartes Cyclades</para>
<indexterm zone="ch-system-util-linux cytune"><primary
sortas="b-cytune">cytune</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ddate">
<term><command>ddate</command></term>
<listitem>
<para>Donne la date discordienne ou convertit la date grégorienne en une date
discordienne</para>
<indexterm zone="ch-system-util-linux ddate"><primary
sortas="b-ddate">ddate</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dmesg">
<term><command>dmesg</command></term>
<listitem>
<para>Affiche les messages du noyau lors du démarrage</para>
<indexterm zone="ch-system-util-linux dmesg"><primary
sortas="b-dmesg">dmesg</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="elvtune">
<term><command>elvtune</command></term>
<listitem>
<para>Est utilisé pour configurer finement les performances et l'interactivité
d'un périphérique bloc</para>
<indexterm zone="ch-system-util-linux elvtune"><primary
sortas="b-elvtune">elvtune</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="fdformat">
<term><command>fdformat</command></term>
<listitem>
<para>Réalise un formatage de bas niveau sur une disquette</para>
<indexterm zone="ch-system-util-linux fdformat"><primary
sortas="b-fdformat">fdformat</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="fdisk">
<term><command>fdisk</command></term>
<listitem>
<para>Est utilisé pour manipuler la table de partitions du périphérique
donné</para>
<indexterm zone="ch-system-util-linux fdisk"><primary
sortas="b-fdisk">fdisk</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="fsck.cramfs">
<term><command>fsck.cramfs</command></term>
<listitem>
<para>Réalise un test de consistance sur le système de fichiers Cramfs du
périphérique donné</para>
<indexterm zone="ch-system-util-linux fsck.cramfs"><primary
sortas="b-fsck.cramfs">fsck.cramfs</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="fsck.minix">
<term><command>fsck.minix</command></term>
<listitem>
<para>Réalise un test de consistence sur le système de fichiers Minix du
périphérique donné</para>
<indexterm zone="ch-system-util-linux fsck.minix"><primary
sortas="b-fsck.minix">fsck.minix</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="getopt">
<term><command>getopt</command></term>
<listitem>
<para>Analyse les options sur la ligne de commande donnée</para>
<indexterm zone="ch-system-util-linux getopt"><primary
sortas="b-getopt">getopt</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="hexdump">
<term><command>hexdump</command></term>
<listitem>
<para>Affiche le fichier indiqué en hexadécimal ou dans un autre format
donné</para>
<indexterm zone="ch-system-util-linux hexdump"><primary
sortas="b-hexdump">hexdump</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="hwclock">
<term><command>hwclock</command></term>
<listitem>
<para>Lit ou initialise l'horloge matériel, aussi appelée horloge RTC
(<foreignphrase>Real-Time Clock</foreignphrase>, horloge à temps réel) ou
horloge BIOS (<foreignphrase>Basic Input-Output System</foreignphrase>)</para>
<indexterm zone="ch-system-util-linux hwclock"><primary
sortas="b-hwclock">hwclock</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ipcrm">
<term><command>ipcrm</command></term>
<listitem>
<para>Supprime la ressource IPC donnée</para>
<indexterm zone="ch-system-util-linux ipcrm"><primary
sortas="b-ipcrm">ipcrm</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ipcs">
<term><command>ipcs</command></term>
<listitem>
<para>Fournit l'information de statut IPC</para>
<indexterm zone="ch-system-util-linux ipcs"><primary
sortas="b-ipcs">ipcs</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="isosize">
<term><command>isosize</command></term>
<listitem>
<para>Affiche la taille d'un système de fichiers iso9660</para>
<indexterm zone="ch-system-util-linux isosize"><primary
sortas="b-isosize">isosize</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="line">
<term><command>line</command></term>
<listitem>
<para>Copie une simple ligne</para>
<indexterm zone="ch-system-util-linux line"><primary
sortas="b-line">line</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="logger">
<term><command>logger</command></term>
<listitem>
<para>Enregistre le message donné dans les traces système</para>
<indexterm zone="ch-system-util-linux logger"><primary
sortas="b-logger">logger</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="look">
<term><command>look</command></term>
<listitem>
<para>Affiche les lignes commençant avec la chaîne donnée</para>
<indexterm zone="ch-system-util-linux look"><primary
sortas="b-look">look</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="losetup">
<term><command>losetup</command></term>
<listitem>
<para>Initialiser et contrôle les périphériques loop</para>
<indexterm zone="ch-system-util-linux losetup"><primary
sortas="b-losetup">losetup</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mcookie">
<term><command>mcookie</command></term>
<listitem>
<para>génère des cookies magiques, nombres hexadécimaux aléatoires sur 128
bits, pour <command>xauth</command></para>
<indexterm zone="ch-system-util-linux mcookie"><primary
sortas="b-mcookie">mcookie</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mkfs">
<term><command>mkfs</command></term>
<listitem>
<para>Construit un système de fichiers sur un périphérique (habituellement une
partition du disque dur)</para>
<indexterm zone="ch-system-util-linux mkfs"><primary
sortas="b-mkfs">mkfs</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mkfs.bfs">
<term><command>mkfs.bfs</command></term>
<listitem>
<para>Crée un système de fichiers bfs de SCO (Santa Cruz Operations)</para>
<indexterm zone="ch-system-util-linux mkfs.bfs"><primary
sortas="b-mkfs.bfs">mkfs.bfs</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mkfs.cramfs">
<term><command>mkfs.cramfs</command></term>
<listitem>
<para>Crée un système de fichiers cramfs</para>
<indexterm zone="ch-system-util-linux mkfs.cramfs"><primary
sortas="b-mkfs.cramfs">mkfs.cramfs</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mkfs.minix">
<term><command>mkfs.minix</command></term>
<listitem>
<para>Crée un système de fichiers Minix</para>
<indexterm zone="ch-system-util-linux mkfs.minix"><primary
sortas="b-mkfs.minix">mkfs.minix</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mkswap">
<term><command>mkswap</command></term>
<listitem>
<para>initialise le périphérique ou le fichier à utiliser comme swap</para>
<indexterm zone="ch-system-util-linux mkswap"><primary
sortas="b-mkswap">mkswap</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="more">
<term><command>more</command></term>
<listitem>
<para>est un filtre pour visualiser un texte un écran à la fois</para>
<indexterm zone="ch-system-util-linux more"><primary
sortas="b-more">more</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mount">
<term><command>mount</command></term>
<listitem>
<para>Attache le système de fichiers du périphérique donné sur un répertoire
spécifié dans le système de fichiers</para>
<indexterm zone="ch-system-util-linux mount"><primary
sortas="b-mount">mount</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="namei">
<term><command>namei</command></term>
<listitem>
<para>Affiche les liens symboliques dans les chemins donnés</para>
<indexterm zone="ch-system-util-linux namei"><primary
sortas="b-namei">namei</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pg">
<term><command>pg</command></term>
<listitem>
<para>Affiche un fichier texte un écran à la fois</para>
<indexterm zone="ch-system-util-linux pg"><primary
sortas="b-pg">pg</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pivot_root">
<term><command>pivot_root</command></term>
<listitem>
<para>Fait en sorte que le système de fichiers donné soit le nouveau système de
fichiers racine du processus actuel</para>
<indexterm zone="ch-system-util-linux pivot_root"><primary
sortas="b-pivot_root">pivot_root</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ramsize">
<term><command>ramsize</command></term>
<listitem>
<para>Initialise la taille du disque RAM dans une image amorçable</para>
<indexterm zone="ch-system-util-linux ramsize"><primary
sortas="b-ramsize">ramsize</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="raw">
<term><command>raw</command></term>
<listitem>
<para>Utilisé pour envoyer une requête et initialiser le périphérique racine et
d'autres choses dans une image amorçable</para>
<indexterm zone="ch-system-util-linux raw"><primary
sortas="b-raw">raw</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rdev">
<term><command>rdev</command></term>
<listitem>
<para>Utilisé pour envoyer une requête et initialiser le périphérique racine et
d'autres choses dans une image amorçable</para>
<indexterm zone="ch-system-util-linux rdev"><primary
sortas="b-rdev">rdev</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="readprofile">
<term><command>readprofile</command></term>
<listitem>
<para>Lit les informations
de profilage du noyau</para>
<indexterm zone="ch-system-util-linux readprofile"><primary
sortas="b-readprofile">readprofile</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rename">
<term><command>rename</command></term>
<listitem>
<para>Renomme les fichiers donnés, remplaçant une chaîne donnée par une
autre</para>
<indexterm zone="ch-system-util-linux rename"><primary
sortas="b-rename">rename</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="renice">
<term><command>renice</command></term>
<listitem>
<para>Modifie la priorité des processus exécutés</para>
<indexterm zone="ch-system-util-linux renice"><primary
sortas="b-renice">renice</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rev">
<term><command>rev</command></term>
<listitem>
<para>Inverse les lignes d'un fichier donné</para>
<indexterm zone="ch-system-util-linux rev"><primary
sortas="b-rev">rev</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rootflags">
<term><command>rootflags</command></term>
<listitem>
<para>Initialise les options racine d'une image amorçable</para>
<indexterm zone="ch-system-util-linux rootflags"><primary
sortas="b-rootflags">rootflags</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="script">
<term><command>script</command></term>
<listitem>
<para>Crée un script à partir d'une session du terminal, de tout ce qui est
affiché sur un terminal</para>
<indexterm zone="ch-system-util-linux script"><primary
sortas="b-script">script</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="setfdprm">
<term><command>setfdprm</command></term>
<listitem>
<para>Initialise les paramètres de disquette fournis par l'utilisateur</para>
<indexterm zone="ch-system-util-linux setfdprm"><primary
sortas="b-setfdprm">setfdprm</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="setsid">
<term><command>setsid</command></term>
<listitem>
<para>Lance le programme donné dans une nouvelle session</para>
<indexterm zone="ch-system-util-linux setsid"><primary
sortas="b-setsid">setsid</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="setterm">
<term><command>setterm</command></term>
<listitem>
<para>Initialise les attributs du terminal</para>
<indexterm zone="ch-system-util-linux setterm"><primary
sortas="b-setterm">setterm</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="sfdisk">
<term><command>sfdisk</command></term>
<listitem>
<para>Est un manipulateur de table de partitions disque</para>
<indexterm zone="ch-system-util-linux sfdisk"><primary
sortas="b-sfdisk">sfdisk</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="swapdev">
<term><command>swapdev</command></term>
<listitem>
<para>Initialise le périphérique swap dans une image amorçable</para>
<indexterm zone="ch-system-util-linux swapdev"><primary
sortas="b-swapdev">swapdev</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="swapoff">
<term><command>swapoff</command></term>
<listitem>
<para>Désactive les périphériques et fichiers de pagination et de swap</para>
<indexterm zone="ch-system-util-linux swapoff"><primary
sortas="b-swapoff">swapoff</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="swapon">
<term><command>swapon</command></term>
<listitem>
<para>Active les périphériques et fichiers de pagination et de swap, et liste
les périphériques et fichiers en cours d'utilisation.</para>
<indexterm zone="ch-system-util-linux swapon"><primary
sortas="b-swapon">swapon</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tunelp">
<term><command>tunelp</command></term>
<listitem>
<para>Est utilisé pour paramétrer finement une imprimante ligne</para>
<indexterm zone="ch-system-util-linux tunelp"><primary
sortas="b-tunelp">tunelp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ul">
<term><command>ul</command></term>
<listitem>
<para>Un filtre pour traduire les souslignements en séquences d'échappement
indiquant un souslignement pour le terminal utilisé</para>
<indexterm zone="ch-system-util-linux ul"><primary
sortas="b-ul">ul</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="umount">
<term><command>umount</command></term>
<listitem>
<para>Déconnecte un système de fichiers à partir de la hiérarchie de fichiers
du système</para>
<indexterm zone="ch-system-util-linux umount"><primary
sortas="b-umount">umount</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="vidmode">
<term><command>vidmode</command></term>
<listitem>
<para>Initialise le mode vidéo d'une image amorçable</para>
<indexterm zone="ch-system-util-linux vidmode"><primary
sortas="b-vidmode">vidmode</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="whereis">
<term><command>whereis</command></term>
<listitem>
<para>Affiche l'emplacement du binaire, les sources et la page de manuel de la
commande donnée</para>
<indexterm zone="ch-system-util-linux whereis"><primary
sortas="b-whereis">whereis</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="write">
<term><command>write</command></term>
<listitem>
<para>Envoie un message à l'utilisateur donné <emphasis>sauf si</emphasis>
l'utilisateur a désactivé de tels messages</para>
<indexterm zone="ch-system-util-linux write"><primary
sortas="b-write">write</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter06/texinfo.xml
0,0 → 1,150
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-texinfo" role="wrap">
<title>Texinfo-&texinfo-version;</title>
<?dbhtml filename="texinfo.html"?>
 
<indexterm zone="ch-system-texinfo"><primary sortas="a-Texinfo">Texinfo</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Texinfo contient des programmes de lecture, écriture et
de conversion des pages Info.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>14,7&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Texinfo</title>
 
<para>Préparez la compilation de Texinfo&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>De manière optionnelle, installez les composants appartenant à une
installation TeX&nbsp;:</para>
 
<screen><userinput>make TEXMF=/usr/share/texmf install-tex</userinput></screen>
 
<para>Voici la signification du paramètre de make&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>TEXMF=/usr/share/texmf</parameter></term>
<listitem><para>La variable <envar>TEXMF</envar> du Makefile contient
l'emplacement de la racine de votre répertoire TeX si, par exemple, un paquet
TeX sera installé plus tard.</para></listitem>
</varlistentry>
</variablelist>
 
<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 être non
synchronisé avec les pages info. Si le fichier
<filename>/usr/share/info/dir</filename> a besoin d'être re-créé, les commandes
suivantes accompliront cette tâche&nbsp;:</para>
 
<screen><userinput>cd /usr/share/info
rm dir
for f in *
do install-info $f dir 2&gt;/dev/null
done</userinput></screen>
 
<beginpage/>
 
</sect2>
 
<sect2 id="contents-texinfo" role="content"><title>Contenu de Texinfo</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>info, infokey, install-info,
makeinfo, texi2dvi et texindex</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="info">
<term><command>info</command></term>
<listitem>
<para>Utilisé pour lire des pages info similaires aux pages man mais qui
vont souvent plus loin que la simple explication des arguments disponibles. Par exemple,
comparez <command>man bison</command> et <command>info bison</command>.</para>
<indexterm zone="ch-system-texinfo info"><primary sortas="b-info">info</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="infokey">
<term><command>infokey</command></term>
<listitem>
<para>Compile un fichier source contenant des personnalisations Info en un format
binaire</para>
<indexterm zone="ch-system-texinfo infokey"><primary sortas="b-infokey">infokey</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="install-info">
<term><command>install-info</command></term>
<listitem>
<para>Utilisé pour installer les pages info&nbsp;; il met à jour les entrées
dans le fichier index d'<command>info</command></para>
<indexterm zone="ch-system-texinfo install-info"><primary sortas="b-install-info">install-info</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="makeinfo">
<term><command>makeinfo</command></term>
<listitem>
<para>Traduit les sources Texinfo données dans différents autres langages&nbsp;:
pages info, texte ou HTML</para>
<indexterm zone="ch-system-texinfo makeinfo"><primary sortas="b-makeinfo">makeinfo</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="texi2dvi">
<term><command>texi2dvi</command></term>
<listitem>
<para>Utilisé pour formater le document Texinfo indiqué en un fichier
indépendant des périphériques, pouvant être édité</para>
<indexterm zone="ch-system-texinfo texi2dvi"><primary sortas="b-texi2dvi">texi2dvi</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="texindex">
<term><command>texindex</command></term>
<listitem>
<para>Utilisé pour trier les fichiers d'index de Texinfo</para>
<indexterm zone="ch-system-texinfo texindex"><primary sortas="b-texindex">texindex</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter06/strippingagain.xml
0,0 → 1,53
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-strippingagain">
<title>Supprimer de nouveau les symboles des fichiers objets</title>
<?dbhtml filename="strippingagain.html"?>
 
<para>Si l'utilisateur initial n'est pas un développeur et ne pense pas faire
de débogage sur les logiciels du système, la taille du système peut être
diminué d'environ 200&nbsp;Mo en supprimant les symboles de débogage contenus
dans les binaires et dans les bibliothèques. Ceci ne pose pas de problème
autre que le fait de ne plus pouvoir les déboguer.</para>
 
<para>La plupart des personnes qui utilisent la commande mentionnée ci-dessous
ne rencontrent aucune difficulté. Néanmoins, il est facile de faire une erreur
de saisie et rendre le nouveau système complètement inutilisable, donc avant
d'exécuter la commande <command>strip</command>, il est recommandé de faire
une sauvegarde de l'état actuel.</para>
 
<para>Avant d'exécuter la suppression de ces symboles, faites particulièrement
attention qu'aucun des binaires concernés ne sont en cours d'exécution. Si vous
n'êtes pas sûr que l'utilisateur est entré dans chroot avec la commande donnée
dans <xref linkend="ch-system-chroot" role=","/> quittez le chroot&nbsp;:</para>
 
<screen><userinput>logout</userinput></screen>
 
<para>Puis, retournez-y&nbsp;:</para>
 
<screen><userinput>chroot $LFS /tools/bin/env -i \
HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
/tools/bin/bash --login</userinput></screen>
 
<para>Maintenant, les binaires et les bibliothèques peuvent être traitées en
toute sécurité&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 seront rapportés comme ayant un format non
reconnu. Ces messages d'avertissement indiquent que ces fichiers sont des
scripts et non pas des binaires.</para>
 
<para>SI l'espace disque devient très restreint, l'option
<parameter>--strip-all</parameter> peut être utilisée sur les binaires compris
dans <filename class="directory">/{,usr/}{bin,sbin}</filename> pour gagner
quelques mégaoctets de plus. N'utilisez pas cette option sur les bibliothèques
&mdash;cela les détruirait.</para>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter06/glibc.xml
0,0 → 1,759
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-glibc" role="wrap">
<title>Glibc-&glibc-version;</title>
<?dbhtml filename="glibc.html"?>
 
<indexterm zone="ch-system-glibc"><primary
sortas="a-Glibc">Glibc</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Glibc contient la bibliothèque C principale. Cette bibliothèque
fournit toutes les routines basiques pour allouer de la mémoire, rechercher des
répertoires, ouvrir et fermer des fichiers, les lire et les écrire, gérer
les chaînes, faire correspondre des modèles, faire de l'arithmétique et
ainsi de suite.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>12,3&nbsp;SBU</seg><seg>476&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Gettext,
Grep, Make, Perl, Sed et Texinfo</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Glibc</title>
 
<para>Ce paquet est connu pour avoir des soucis quand les options
d'optimisation par défaut (en incluant les options
<parameter>-march</parameter> et <parameter>-mcpu</parameter>) sont modifiées.
Donc, si des variables d'environnement qui surchargent les optimisations par
défaut, telles que <envar>CFLAGS</envar> et <envar>CXXFLAGS</envar>, ont été
définies, supprimez cette initialisation pour la construction de GCC.</para>
 
<para>Le système de construction de la Glibc est très bien fait et s'installera
parfaitement, même si notre fichier specs pour le compilateur et l'éditeur de
liens pointent toujours vers <filename class="directory">/tools</filename>. Les
specs et l'éditeur de liens ne peuvent pas être ajustés avant l'installation de
la Glibc parce que les tests d'autoconf de Glibc donneraient alors des
résultats faussés, défaussant ainsi notre but d'achever une construction
propre.</para>
 
<para>L'archive tar linuxthreads contient les pages man pour les bibliothèques
de threading installées par Glibc. Déballez l'archive tar à l'intérieur du
répertoire source Glibc&nbsp;:</para>
 
<screen><userinput>tar -xjvf /sources/glibc-linuxthreads-&glibc-version;.tar.bz2</userinput></screen>
 
<para>Glibc contient deux tests qui échoueront si le noyau en cours d'exécution
est un 2.6.11.x. Le problème se situe sur les tests eux-même, pas avec la libc
ou le noyau. Ce correctif corrige le problème&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../glibc-&glibc-version;-fix_test-1.patch</userinput></screen>
 
<para>La documentation de Glibc recommande de construire Glibc en dehors du
répertoire des sources dans un répertoire de construction dédié&nbsp;:</para>
 
<screen><userinput>mkdir ../glibc-build
cd ../glibc-build</userinput></screen>
 
<para>Préparez la compilation de Glibc&nbsp;:</para>
 
<screen><userinput>../glibc-&glibc-version;/configure --prefix=/usr \
--disable-profile --enable-add-ons \
--enable-kernel=2.6.0 --libexecdir=/usr/lib/glibc</userinput></screen>
 
<para>Voici la signification des options de configure&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--libexecdir=/usr/lib/glibc</parameter></term>
<listitem><para>Ceci modifie l'emplacement du programme
<filename>pt_chown</filename>, dont la valeur par défaut est <filename
class="directory">/usr/libexec</filename>, par <filename
class="directory">/usr/lib/glibc</filename>.</para></listitem>
</varlistentry>
</variablelist>
 
<beginpage/>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<important><para>Dans cette section, la suite de tests de Glibc est considérée
comme critique. Ne pas la laissez passer quelque soient les
circonstances.</para></important>
 
<para>Testez les résultats&nbsp;:</para>
 
<screen><userinput>make check</userinput></screen>
 
<para>La suite de tests Glibc est grandement dépendante de certaines fonctions
de l'hôte système, en particulier le noyau. En général, la suite de tests Glibc
devrait toujours réussir. Néanmoins, dans certaines circonstances, quelques
échecs sont inévitables. Voici une liste des problèmes les plus
fréquents&nbsp;:</para>
 
<itemizedlist>
<listitem><para>Les tes <emphasis>math</emphasis> échouent quelque fois lors de
leur exécution sur des systèmes où le processeur n'est pas un Intel ou un AMD
authentique. Certains paramétrages d'optimisation sont aussi un facteur connu
pour ce type de problèmes.</para></listitem>
 
<listitem><para>Les tests <emphasis>gettext</emphasis> échouent quelque fois à
cause de problèmes sur le système hôte, les raisons exactes n'étant pas encore
claires.</para></listitem>
 
<listitem><para>Si vous avez monté la partition LFS avec l'option
<parameter>noatime</parameter>, le test <emphasis>atime</emphasis> échouera.
Comme mentionné dans <xref linkend="space-mounting"/>, n'utilisez pas l'option
<parameter>noatime</parameter> lors de la construction de LFS.</para></listitem>
 
<listitem><para>Lors d'une exécution sur un matériel ancien et lent, quelques
tests peuvent échouer à cause de délais excédés.</para></listitem>
</itemizedlist>
 
<para>Bien que ce ne soit qu'un simple message, l'étape d'installation de
Glibc se plaindra de l'absence de <filename>/etc/ld.so.conf</filename>.
Supprimez ce message d'avertissement avec&nbsp;:</para>
 
<screen><userinput>touch /etc/ld.so.conf</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Les locales qui permettent à votre système de répondre en une langue
différente n'ont pas été installées avec la commande ci-dessus. Installez-les
avec ceci&nbsp;:</para>
 
<screen><userinput>make localedata/install-locales</userinput></screen>
 
<para>Pour gagner du temps, une alternative à la commande précédente (qui
génère et installe toutes les locales qu'il connaît) est d'installer uniquement
les locales que vous souhaitez et dont vous avez besoin. Ceci se fait en
utilisant la commande <command>localedef</command>. Des informations sur cette
commande sont disponibles dans le fichier <filename>INSTALL</filename> des
sources de Glibc. Néanmoins, il existe un certain nombre de locales
essentielles pour réussir les tests des paquets futurs, en particulier les
tests de <emphasis>libstdc++</emphasis>. Les instructions suivantes,
contrairement à la cible <parameter>install-locales</parameter> ci-dessus,
installeront l'ensemble minimal des locales nécessaires pour que les tests se
passent dans de bonnes conditions&nbsp;:</para>
 
<screen><userinput>mkdir -p /usr/lib/locale
localedef -i de_DE -f ISO-8859-1 de_DE
localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro
localedef -i en_HK -f ISO-8859-1 en_HK
localedef -i en_PH -f ISO-8859-1 en_PH
localedef -i en_US -f ISO-8859-1 en_US
localedef -i es_MX -f ISO-8859-1 es_MX
localedef -i fa_IR -f UTF-8 fa_IR
localedef -i fr_FR -f ISO-8859-1 fr_FR
localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro
localedef -i it_IT -f ISO-8859-1 it_IT
localedef -i ja_JP -f EUC-JP ja_JP</userinput></screen>
 
<para>Certaines locales installées par la commande <command>make
localedata/install-locales</command> ci-dessus ne sont pas supportées
correctement par certaines applications comprises dans les livres LFS et BLFS.
À cause des différents problèmes survenus parce que les développeurs des
applications ont fait dex choix qui ont cassé ces locales, LFS ne devrait pas
être utilisé avec des locales qui utilisent des ensembles de caractères à
plusieurs octets (ceci incluant UTF-8) ou l'ordre d'écriture de droite à gauche.
De nombreux correctifs officieux et instables sont requis pour corriger
ces problèmes et il a été décidé par les développeurs de LFS que ces locales
complexes ne seraient pas supportées. Ceci s'applique aussi aux locales
ja_JP et fa_IR&mdash;elles ont été installés seulement pour que les tests de
GCC et Gettext réussissent bien que le programme <command>watch</command>
(un composant du paquetage Procps) ne fonctionne pas correctement avec elles.
Différents essais pour contourner ces restrictions sont documentés dans les
astuces relatives à l'internationalisation.</para>
 
<para>Construisez les pages man de linuxthreads qui sont une
grande référence à l'API des threads (applicable aussi à NPTL)&nbsp;:</para>
 
<screen><userinput>make -C
../glibc-&glibc-version;/linuxthreads/man</userinput></screen>
 
<para>Installez ces pages&nbsp;:</para>
 
<screen><userinput>make -C ../glibc-&glibc-version;/linuxthreads/man
install</userinput></screen>
 
</sect2>
 
<sect2 id="conf-glibc" role="configuration"><title>Configurer Glibc</title>
<indexterm zone="conf-glibc"><primary
sortas="e-/etc/nsswitch.conf">/etc/nsswitch.conf</primary></indexterm>
<indexterm zone="conf-glibc"><primary
sortas="e-/etc/localtime">/etc/localtime</primary></indexterm>
 
<para>Le fichier <filename>/etc/nsswitch.conf</filename> doit être créé
parce que, bien que Glibc en fournisse un par défaut lorsque ce fichier est
manquant ou corrompu, les valeurs par défaut de Glibc ne fonctionnent pas bien
dans un environnement en réseau. De plus, le fuseau horaire a besoin d'être
configuré.</para>
 
<para>Créez un nouveau fichier <filename>/etc/nsswitch.conf</filename> en
lançant ce qui suit&nbsp;:</para>
 
<screen><userinput>cat &gt; /etc/nsswitch.conf &lt;&lt; "EOF"
<literal># Début /etc/nsswitch.conf
 
passwd: files
group: files
shadow: files
 
hosts: files dns
networks: files
 
protocols: files
services: files
ethers: files
rpc: files
 
# Fin /etc/nsswitch.conf</literal>
EOF</userinput></screen>
 
<para>Pour déterminer dans quel fuseau horaire vous vous situez, lancez le
script suivant&nbsp;:</para>
 
<screen><userinput>tzselect</userinput></screen>
 
<para>Lorsque avoir répondu à quelques questions sur votre emplacement, le
script affichera le nom du fuseau horaire (quelque chose comme
<emphasis>EST5EDT</emphasis> ou <emphasis>Canada/Eastern</emphasis>). Ensuite,
créez le fichier <filename>/etc/localtime</filename> en lançant&nbsp;:</para>
 
<screen><userinput>cp --remove-destination
/usr/share/zoneinfo/<replaceable>[xxx]</replaceable> \
/etc/localtime</userinput></screen>
 
<para>Remplacez <replaceable>[xxx]</replaceable> avec le nom du fuseau horaire
que <command>tzselect</command> a fourni (c'est-à-dire Canada/Eastern).</para>
 
<para>Voici la signification de l'option de cp&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>--remove-destination</parameter></term>
<listitem><para>Ceci est nécessaire pour forcer la suppression du lien
symbolique déjà existant. La raison pour laquelle nous copions plutôt que de
simplement créer un lien symbolique est de se couvrir de la situation où
<filename class="directory">/usr</filename> serait une partition séparée. Ceci
pourrait arriver, par exemple, en démarrant en mode simple
utilisateur.</para></listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
<sect2 id="conf-ld" role="configuration">
<title>Configurer le chargeur dynamique</title>
<indexterm zone="conf-ld"><primary
sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary></indexterm>
 
<para>Par défaut, le chargeur dynamique (<filename
class="libraryfile">/lib/ld-linux.so.2</filename>) cherche les bibliothèques
partagées, nécessaires aux programmes lors de leur exécution, dans <filename
class="directory">/lib</filename> et <filename
class="directory">/usr/lib</filename>. Néanmoins, s'il existe des bibliothèques
dans d'autres répertoires que <filename class="directory">/lib</filename> et
<filename class="directory">/usr/lib</filename>, leur emplacement doit être
ajouté dans le fichier <filename>/etc/ld.so.conf</filename> pour que le
chargeur dynamique les trouve. <filename
class="directory">/usr/local/lib</filename> et <filename
class="directory">/opt/lib</filename> sont deux répertoires connus pour
contenir des bibliothèques supplémentaires, donc ajoutez ces deux
répertoires au chemin de recherche du chargeur dynamique.</para>
 
<para>Créez un nouveau fichier <filename>/etc/ld.so.conf</filename> en lançant
ce qui suit&nbsp;:</para>
 
<screen><userinput>cat &gt; /etc/ld.so.conf &lt;&lt; "EOF"
<literal># Début /etc/ld.so.conf
 
/usr/local/lib
/opt/lib
 
# Fin /etc/ld.so.conf</literal>
EOF</userinput></screen>
 
</sect2>
 
<sect2 id="contents-glibc" role="content"><title>Contenu de Glibc</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèques installées</segtitle>
<seglistitem><seg>catchsegv, gencat, getconf,
getent, iconv, iconvconfig, ldconfig, ldd, lddlibc4, locale,
localedef, mtrace, nscd, nscd_nischeck, pcprofiledump, pt_chown, rpcgen,
rpcinfo, sln, sprof, tzselect, xtrace, zdump et zic</seg>
<seg>ld.so, libBrokenLocale.[a,so],
libSegFault.so, libanl.[a,so], libbsd-compat.a, libc.[a,so],
libcrypt.[a,so], libdl.[a,so], libg.a, libieee.a, libm.[a,so], libmcheck.a,
libmemusage.so, libnsl.a, libnss_compat.so, libnss_dns.so, libnss_files.so,
libnss_hesiod.so, libnss_nis.so, libnss_nisplus.so, libpcprofile.so,
libpthread.[a,so], libresolv.[a,so], librpcsvc.a, librt.[a,so],
libthread_db.so et libutil.[a,so]</seg></seglistitem>
</segmentedlist>
 
<beginpage/>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="catchsegv">
<term><command>catchsegv</command></term>
<listitem>
<para>Peut être utilisé pour créer une trace de la pile lorsqu'un programme
s'arrête avec une erreur de segmentation</para>
<indexterm zone="ch-system-glibc catchsegv"><primary
sortas="b-catchsegv">catchsegv</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gencat">
<term><command>gencat</command></term>
<listitem>
<para>Génère des catalogues de messages</para>
<indexterm zone="ch-system-glibc gencat"><primary
sortas="b-gencat">gencat</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="getconf">
<term><command>getconf</command></term>
<listitem>
<para>Affiche les valeurs de configuration du système pour les variables
spécifiques du système de fichiers</para>
<indexterm zone="ch-system-glibc getconf"><primary
sortas="b-getconf">getconf</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="getent">
<term><command>getent</command></term>
<listitem>
<para>Récupère les entrées à partir d'une base de données administrative</para>
<indexterm zone="ch-system-glibc getent"><primary
sortas="b-getent">getent</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="iconv">
<term><command>iconv</command></term>
<listitem>
<para>Réalise une conversion de l'ensemble des caractères</para>
<indexterm zone="ch-system-glibc iconv"><primary
sortas="b-iconv">iconv</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="iconvconfig">
<term><command>iconvconfig</command></term>
<listitem>
<para>Crée un fichier de configuration pour le module <command>iconv</command>
fastloading</para>
<indexterm zone="ch-system-glibc iconvconfig"><primary
sortas="b-iconvconfig">iconvconfig</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ldconfig">
<term><command>ldconfig</command></term>
<listitem>
<para>Configure les liens du chargeur dynamique</para>
<indexterm zone="ch-system-glibc ldconfig"><primary
sortas="b-ldconfig">ldconfig</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ldd">
<term><command>ldd</command></term>
<listitem>
<para>Indique les bibliothèques partagées requises pour chaque programme ou
bibliothèque partagée</para>
<indexterm zone="ch-system-glibc ldd"><primary
sortas="b-ldd">ldd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="lddlibc4">
<term><command>lddlibc4</command></term>
<listitem>
<para>Assiste <command>ldd</command> avec des fichiers objets</para>
<indexterm zone="ch-system-glibc lddlibc4"><primary
sortas="b-lddlibc4">lddlibc4</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="locale">
<term><command>locale</command></term>
<listitem>
<para>Indique au compilateur d'activer ou de désactiver l'utilisation des
locales POSIX pour les opérations internes</para>
<indexterm zone="ch-system-glibc locale"><primary
sortas="b-locale">locale</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="localedef">
<term><command>localedef</command></term>
<listitem>
<para>Compile les spécifications des locales</para>
<indexterm zone="ch-system-glibc localedef"><primary
sortas="b-localedef">localedef</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mtrace">
<term><command>mtrace</command></term>
<listitem>
<para>Lit et interprète un fichier de trace mémoire et affiche un résumé dans
un format lisible par un humain</para>
<indexterm zone="ch-system-glibc mtrace"><primary
sortas="b-mtrace">mtrace</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="nscd">
<term><command>nscd</command></term>
<listitem>
<para>Un démon pour les services de noms fournissant un cache pour les requêtes
les plus communes</para>
<indexterm zone="ch-system-glibc nscd"><primary
sortas="b-nscd">nscd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="nscd_nischeck">
<term><command>nscd_nischeck</command></term>
<listitem>
<para>Vérifie si le mode sécurisé est nécessaire pour les recherches NIS+</para>
<indexterm zone="ch-system-glibc nscd_nischeck"><primary
sortas="b-nscd_nischeck">nscd_nischeck</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pcprofiledump">
<term><command>pcprofiledump</command></term>
<listitem>
<para>Affiche des informations générées par un profilage du PC</para>
<indexterm zone="ch-system-glibc pcprofiledump"><primary
sortas="b-pcprofiledump">pcprofiledump</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pt_chown">
<term><command>pt_chown</command></term>
<listitem>
<para>un programme d'aide pour que <command>grantpt</command> initialise les
droits des propriétaires, groupes et autres d'un pseudo-terminal esclave</para>
<indexterm zone="ch-system-glibc pt_chown"><primary
sortas="b-pt_chown">pt_chown</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rpcgen">
<term><command>rpcgen</command></term>
<listitem>
<para>Génère du code C pour implémenter le protocole RPC (<foreignphrase>Remote
Procecure Call</foreignphrase>)</para>
<indexterm zone="ch-system-glibc rpcgen"><primary
sortas="b-rpcgen">rpcgen</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rpcinfo">
<term><command>rpcinfo</command></term>
<listitem>
<para>Fait un appel RPC à un serveur RPC</para>
<indexterm zone="ch-system-glibc rpcinfo"><primary
sortas="b-rpcinfo">rpcinfo</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="sln">
<term><command>sln</command></term>
<listitem>
<para>Un programme <command>ln</command> lié statiquement</para>
<indexterm zone="ch-system-glibc sln"><primary
sortas="b-sln">sln</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="sprof">
<term><command>sprof</command></term>
<listitem>
<para>Lit et affiche les données de profilage des objets partagés</para>
<indexterm zone="ch-system-glibc sprof"><primary
sortas="b-sprof">sprof</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tzselect">
<term><command>tzselect</command></term>
<listitem>
<para>Demande à l'utilisateur l'emplacement géographique du système et donne la
description du fuseau horaire correspondante</para>
<indexterm zone="ch-system-glibc tzselect"><primary
sortas="b-tzselect">tzselect</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="xtrace">
<term><command>xtrace</command></term>
<listitem>
<para>Trace l'exécution d'un programme en affichant la fonction en cours
d'exécution</para>
<indexterm zone="ch-system-glibc xtrace"><primary
sortas="b-xtrace">xtrace</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="zdump">
<term><command>zdump</command></term>
<listitem>
<para>Afficheur de fuseau horaire</para>
<indexterm zone="ch-system-glibc zdump"><primary
sortas="b-zdump">zdump</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="zic">
<term><command>zic</command></term>
<listitem>
<para>Compilateur de fuseau horaire</para>
<indexterm zone="ch-system-glibc zic"><primary
sortas="b-zic">zic</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ld.so">
<term><filename class="libraryfile">ld.so</filename></term>
<listitem>
<para>Le programme d'aide des bibliothèques partagées exécutables</para>
<indexterm zone="ch-system-glibc ld.so"><primary
sortas="c-ld.so">ld.so</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libBrokenLocale">
<term><filename class="libraryfile">libBrokenLocale</filename></term>
<listitem>
<para>Utilisé par des programmes comme Mozilla pour résoudre les locales
cassées</para>
<indexterm zone="ch-system-glibc libBrokenLocale"><primary
sortas="c-libBrokenLocale">libBrokenLocale</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libSegFault">
<term><filename class="libraryfile">libSegFault</filename></term>
<listitem>
<para>Un gestionnaire de signaux d'erreurs de segmentation</para>
<indexterm zone="ch-system-glibc libSegFault"><primary
sortas="c-libSegFault">libSegFault</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libanl">
<term><filename class="libraryfile">libanl</filename></term>
<listitem>
<para>Une bibliothèque asynchrone de recherche de noms</para>
<indexterm zone="ch-system-glibc libanl"><primary
sortas="c-libanl">libanl</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libbsd-compat">
<term><filename class="libraryfile">libbsd-compat</filename></term>
<listitem>
<para>Fournit la portabilité nécessaire pour faire fonctionner certains
programmes BSD sous Linux</para>
<indexterm zone="ch-system-glibc libbsd-compat"><primary
sortas="c-libbsd-compat">libbsd-compat</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libc">
<term><filename class="libraryfile">libc</filename></term>
<listitem>
<para>La principale bibliothèque C</para>
<indexterm zone="ch-system-glibc libc"><primary
sortas="c-libc">libc</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libcrypt">
<term><filename class="libraryfile">libcrypt</filename></term>
<listitem>
<para>La bibliothèque de cryptographie</para>
<indexterm zone="ch-system-glibc libcrypt"><primary
sortas="c-libcrypt">libcrypt</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libdl">
<term><filename class="libraryfile">libdl</filename></term>
<listitem>
<para>La bibliothèque de l'interface du chargeur dynamique</para>
<indexterm zone="ch-system-glibc libdl"><primary
sortas="c-libdl">libdl</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libg">
<term><filename class="libraryfile">libg</filename></term>
<listitem>
<para>Une bibliothèque d'exécution pour <command>g++</command></para>
<indexterm zone="ch-system-glibc libg"><primary
sortas="c-libg">libg</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libieee">
<term><filename class="libraryfile">libieee</filename></term>
<listitem>
<para>La bibliothèque des nombres flottants IEEE (<foreignphrase>Institute
of Electrical and Electronic Engineers</foreignphrase>)</para>
<indexterm zone="ch-system-glibc libieee"><primary
sortas="c-libieee">libieee</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libm">
<term><filename class="libraryfile">libm</filename></term>
<listitem>
<para>La bibliothèque mathématique</para>
<indexterm zone="ch-system-glibc libm"><primary
sortas="c-libm">libm</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libmcheck">
<term><filename class="libraryfile">libmcheck</filename></term>
<listitem>
<para>Contient du code à lancer au démarrage</para>
<indexterm zone="ch-system-glibc libmcheck"><primary
sortas="c-libmcheck">libmcheck</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libmemusage">
<term><filename class="libraryfile">libmemusage</filename></term>
<listitem>
<para>Utilisé par <command>memusage</command> pour collecter des informations
sur l'utilisation mémoire d'un programme</para>
<indexterm zone="ch-system-glibc libmemusage"><primary
sortas="c-libmemusage">libmemusage</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libnsl">
<term><filename class="libraryfile">libnsl</filename></term>
<listitem>
<para>La bibliothèque de services réseau</para>
<indexterm zone="ch-system-glibc libnsl"><primary
sortas="c-libnsl">libnsl</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libnss">
<term><filename class="libraryfile">libnss</filename></term>
<listitem>
<para>Les bibliothèques <quote>Name Service Switch</quote>, contenant des
fonctions de résolution de noms d'hôtes, de noms d'utilisateurs, de noms de
groupes, d'alias, de services, de protocoles et ainsi de suite</para>
<indexterm zone="ch-system-glibc libnss"><primary
sortas="c-libnss">libnss</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libpcprofile">
<term><filename class="libraryfile">libpcprofile</filename></term>
<listitem>
<para>Contient des fonctions de profilage utilisées pour tracer le temps CPU
dépensé sur les lignes de code source</para>
<indexterm zone="ch-system-glibc libpcprofile"><primary
sortas="c-libpcprofile">libpcprofile</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libpthread">
<term><filename class="libraryfile">libpthread</filename></term>
<listitem>
<para>La bibliothèque threads POSIX</para>
<indexterm zone="ch-system-glibc libpthread"><primary
sortas="c-libpthread">libpthread</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libresolv">
<term><filename class="libraryfile">libresolv</filename></term>
<listitem>
<para>Contient des fonctions de création, d'envoi et d'interprétation de
paquets pour les serveurs de noms de domaine Internet</para>
<indexterm zone="ch-system-glibc libresolv"><primary
sortas="c-libresolv">libresolv</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="librpcsvc">
<term><filename class="libraryfile">librpcsvc</filename></term>
<listitem>
<para>Contient des fonctions apportant différents services RPC</para>
<indexterm zone="ch-system-glibc librpcsvc"><primary
sortas="c-librpcsvc">librpcsvc</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="librt">
<term><filename class="libraryfile">librt</filename></term>
<listitem>
<para>Contient des fonctions fournissant la plupart des interfaces spécifiées
par l'extension temps réel de POSIX.1b</para>
<indexterm zone="ch-system-glibc librt"><primary
sortas="c-librt">librt</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libthread_db">
<term><filename class="libraryfile">libthread_db</filename></term>
<listitem>
<para>Contient des fonctions utiles pour construire des débogueurs de programmes
multi-threads</para>
<indexterm zone="ch-system-glibc libthread_db"><primary
sortas="c-libthread_db">libthread_db</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libutil">
<term><filename class="libraryfile">libutil</filename></term>
<listitem>
<para>Contient du code pour les fonctions <quote>standard</quote> utilisées par
de nombreux outils Unix</para>
<indexterm zone="ch-system-glibc libutil"><primary
sortas="c-libutil">libutil</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter06/hotplug.xml
0,0 → 1,190
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-hotplug" xreflabel="Hotplug" role="wrap">
<title>Hotplug-&hotplug-version;</title>
<?dbhtml filename="hotplug.html"?>
 
<indexterm zone="ch-system-hotplug"><primary sortas="a-Hotplug">Hotplug</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquetage Hotplug contient des scripts qui réagissent aux événements
hotplug générés par le noyau. De tels événements correspondent à chaque
modification de l'état du noyau, visible dans le système de fichiers <systemitem
class="filesystem">sysfs</systemitem>, c'est-à-dire l'ajout et la suppression
de matériels. Ce paquetage détecte aussi le matériel existant lors du démarrage
et insère les modules adéquats dans le noyau en cours d'exécution.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,01&nbsp;SBU</seg><seg>460&nbsp;Ko</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Coreutils, Find, Gawk et Make</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Hotplug</title>
 
<para>Installez le paquetage Hotplug&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Copiez un fichier que la cible <quote>install</quote> oublie.</para>
 
<screen><userinput>cp etc/hotplug/pnp.distmap /etc/hotplug</userinput></screen>
 
<para>Supprimez le script de démarrage qu'Hotplug installe car nous allons
utiliser le script inclus dans le paquetage LFS-Bootscripts&nbsp;:</para>
 
<screen><userinput>rm -rf /etc/init.d</userinput></screen>
 
<para>La découverte via Hotplug des périphériques réseau n'est pas encore
supportée par le paquetage LFS-Bootscripts. Pour cette raison, supprimez l'agent
hotplug pour le réseau&nbsp;:</para>
 
<screen><userinput>rm -f /etc/hotplug/net.agent</userinput></screen>
 
<para>Créez un répertoire pour stocker les <foreignphrase>firmware</foreignphrase>
pouvant être chargés par <command>hotplug</command>&nbsp;:</para>
 
<screen><userinput>mkdir /lib/firmware</userinput></screen>
 
</sect2>
 
<sect2 id="contents-hotplug" role="content"><title>Contenu de Hotplug</title>
 
<segmentedlist>
<segtitle>Programme installé</segtitle>
<segtitle>Scripts installés</segtitle>
<segtitle>Fichiers installés</segtitle>
<seglistitem><seg>hotplug</seg>
<seg>/etc/hotplug/*.rc, /etc/hotplug/*.agent</seg>
<seg>/etc/hotplug/hotplug.functions, /etc/hotplug/blacklist, /etc/hotplug/{pci,usb},
/etc/hotplug/usb.usermap, /etc/hotplug.d et /var/log/hotplug/events</seg></seglistitem>
</segmentedlist>
 
<beginpage/>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="hotplug">
<term><command>hotplug</command></term>
<listitem>
<para>Ce script est appelé par défaut par le noyau Linux lorsque quelque chose
modifie son état interne (par exemple, un nouveau périphérique est ajouté ou
un périphérique existant est supprimé)</para>
<indexterm zone="ch-system-hotplug hotplug"><primary
sortas="b-hotplug">hotplug</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="hotplug-rc">
<term><command>/etc/hotplug/*.rc</command></term>
<listitem>
<para>Ces scripts sont utilisés pour le branchement à froid, par exemple détecter
et agir avec le matériel déjà présents lors du démarrage du système. Ils sont
appelés par le script de démarrage <filename>hotplug</filename> inclus dans le
paquetage LFS-Bootscripts. Les scripts <command>*.rc</command> essaient de récupérer
les événements hotplug qui ont été perdus lors du démarrage du système parce que,
par exemple, le système de fichiers root n'a pas été monté par le noyau</para>
<indexterm zone="ch-system-hotplug hotplug-rc"><primary
sortas="d-/etc/hotplug/*.rc">/etc/hotplug/*.rc</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="hotplug-agent">
<term><command>/etc/hotplug/*.agent</command></term>
<listitem>
<para>Ces scripts sont appelés par <command>hotplug</command> en réponse à
différents types d'événements hotplug générés par le noyau. Leur action revient
à insérer les modules correspondant du noyau et à appeler tous scripts fournis
par l'utilisateur</para>
<indexterm zone="ch-system-hotplug hotplug-agent"><primary
sortas="d-/etc/hotplug/*.agent">/etc/hotplug/*.agent</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="hotplug-blacklist">
<term><filename>/etc/hotplug/blacklist</filename></term>
<listitem>
<para>Ce fichier contient la liste des modules qui ne devraient jamais être
insérés dans le noyau par les scripts Hotplug</para>
<indexterm zone="ch-system-hotplug hotplug-blacklist"><primary
sortas="e-/etc/hotplug/blacklist">/etc/hotplug/blacklist</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="hotplug-functions">
<term><filename>/etc/hotplug/hotplug.functions</filename></term>
<listitem>
<para>Ce fichier contient les fonctions communes utilisées par d'autres scripts
dans le paquetage Hotplug</para>
<indexterm zone="ch-system-hotplug hotplug-functions"><primary
sortas="e-/etc/hotplug/hotplug.functions">/etc/hotplug/hotplug.functions</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="hotplug-subdirs">
<term><filename class="directory">/etc/hotplug/{pci,usb}</filename></term>
<listitem>
<para>Ces répertoires contiennent des gestionnaires d'événements hotplug écrits
par les utilisateurs</para>
<indexterm zone="ch-system-hotplug hotplug-subdirs"><primary
sortas="e-/etc/hotplug/{pci,usb}">/etc/hotplug/{pci,usb}</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="hotplug-usb.usermap">
<term><filename>/etc/hotplug/usb.usermap</filename></term>
<listitem>
<para>Ce fichier contient des règles pour déterminer quel gestionnaire défini
par l'utilisateur appeler pour chaque périphérique USB, suivant l'identifieur
du vendeur et d'autres attributs</para>
<indexterm zone="ch-system-hotplug hotplug-usb.usermap"><primary
sortas="e-/etc/hotplug/usb.usermap">/etc/hotplug/usb.usermap</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="hotplug-hotplug.d">
<term><filename class="directory">/etc/hotplug.d</filename></term>
<listitem>
<para>Ce répertoire contient des programmes (ou des liens symboliques vers ces
programmes) intéressés pour recevoir des événements hotplug. Par exemple, Udev
place son lien symbolique ici lors de l'installation</para>
<indexterm zone="ch-system-hotplug hotplug-hotplug.d"><primary
sortas="e-/etc/hotplug.d">/etc/hotplug.d</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="hotplug-firmware">
<term><filename class="directory">/lib/firmware</filename></term>
<listitem>
<para>Ce répertoire contient le firmware pour les périphériques qui ont besoin
que leur firmware soit chargé avant d'être utilisable</para>
<indexterm zone="ch-system-hotplug hotplug-firmware"><primary
sortas="e-/lib/firmware">/lib/firmware</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="hotplug-events">
<term><filename>/var/log/hotplug/events</filename></term>
<listitem>
<para>Ce fichier contient tous les événements que <command>hotplug</command> a
appelé depuis le démarrage</para>
<indexterm zone="ch-system-hotplug hotplug-events"><primary
sortas="e-/var/log/hotplug/events">/var/log/hotplug/events</primary></indexterm>
</listitem>
</varlistentry>
 
</variablelist>
</sect2>
</sect1>
/tags/LFS-6_1/lfs/chapter06/devices.xml
0,0 → 1,85
<?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-devices">
<title>Peupler /dev</title>
<?dbhtml filename="devices.html"?>
 
<indexterm zone="ch-system-devices"><primary sortas="e-/dev">/dev/*</primary></indexterm>
 
<sect2>
<title>Créer les n&oelig;uds périphériques initiaux</title>
 
<para>Lorsque le noyau démarre le système, il requiert la présence de quelques
n&oelig;uds périphériques, en particulier les périphériques <filename
class="devicefile">console</filename> et <filename
class="devicefile">null</filename>. Créez-les en lançant les commandes
suivantes&nbsp;:</para>
 
<screen><userinput>mknod -m 600 /dev/console c 5 1
mknod -m 666 /dev/null c 1 3</userinput></screen>
</sect2>
 
<sect2>
<title>Monter tmpfs et peupler /dev</title>
 
<para>La méthode recommandée pour peupler le répertoire <filename
class="directory">/dev</filename> de périphériques est de monter un système de
fichiers virtuel (comme <systemitem class="filesystem">tmpfs</systemitem>) sur
le répertoire <filename class="directory">/dev</filename>, et d'autoriser la
création dynamique des périphériques sur le système de fichiers virtuels une
fois qu'ils sont détectés ou que quelque chose tente d'y accéder. Ceci est
fait généralement lors du démarrage. Comme ce nouveau système n'a pas encore
été démarré, il est nécessaire de faire ce que le paquetage LFS-Bootscripts
aurait fait en montant <filename class="directory">/dev</filename>&nbsp;:</para>
 
<screen><userinput>mount -n -t tmpfs none /dev</userinput></screen>
 
<para>Le paquetage Udev est celui qui va créé les périphériques dans le répertoire
<filename class="directory">/dev</filename>. Comme il ne sera installé que plus
tard lors de ce processus, créez manuellement l'ensemble minimum de n&oelig;uds
de périphériques nécessaire pour terminer la construction de ce système&nbsp;:</para>
 
<screen><userinput>mknod -m 622 /dev/console c 5 1
mknod -m 666 /dev/null c 1 3
mknod -m 666 /dev/zero c 1 5
mknod -m 666 /dev/ptmx c 5 2
mknod -m 666 /dev/tty c 5 0
mknod -m 444 /dev/random c 1 8
mknod -m 444 /dev/urandom c 1 9
chown root:tty /dev/{console,ptmx,tty}</userinput></screen>
 
<para>Certains liens symboliques et répertoires sont requis par LFS qui les crée
lors du démarrage du système grâce au paquetage LFS-Bootscripts. Comme il s'agit
d'un environnement chroot et que nous n'avons pas démarré avec lui, ces liens
symboliques et répertoires doivent être créés ici&nbsp;:</para>
 
<screen><userinput>ln -s /proc/self/fd /dev/fd
ln -s /proc/self/fd/0 /dev/stdin
ln -s /proc/self/fd/1 /dev/stdout
ln -s /proc/self/fd/2 /dev/stderr
ln -s /proc/kcore /dev/core
mkdir /dev/pts
mkdir /dev/shm</userinput></screen>
 
<para>Enfin, montez les bons systèmes de fichiers virtuels (noyau) sur les
répertoires nouvellement créés:</para>
 
<screen><userinput>mount -t devpts -o gid=4,mode=620 none /dev/pts
mount -t tmpfs none /dev/shm</userinput></screen>
 
<beginpage/>
<para>Les commandes <command>mount</command> exécutées ci-dessus pourraient
causer les messages d'avertissement suivants&nbsp;:</para>
 
<screen><computeroutput>can't open /etc/fstab: No such file or directory.</computeroutput></screen>
 
<para>Ce fichier&mdash;<filename>/etc/fstab</filename>&mdash;n'a pas été encore
créé mais il n'est pas non plus requis pour le bon montage des systèmes de
fichiers. De cette façon, le message peut être ignoré sans crainte.</para>
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter06/ncurses.xml
0,0 → 1,216
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-ncurses" role="wrap">
<title>Ncurses-&ncurses-version;</title>
<?dbhtml filename="ncurses.html"?>
 
<indexterm zone="ch-system-ncurses"><primary sortas="a-Ncurses">Ncurses</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Ncurses contient les bibliothèques de gestion des écrans type
caractère, indépendant des terminaux.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,6&nbsp;SBU</seg><seg>18,6&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
Gawk, GCC, Glibc, Grep, Make et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Ncurses</title>
 
<para>Préparez la compilation de Ncurses&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --with-shared --without-debug</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Ce paquet ne fournit pas de suite de tests.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Donnez les droits en exécution des bibliothèques Ncurses&nbsp;:</para>
 
<screen><userinput>chmod 755 /usr/lib/*.&ncurses-version;</userinput></screen>
 
<para>Corrigez une bibliothèque qui ne devrait pas être
exécutable&nbsp;:</para>
 
<screen><userinput>chmod 644 /usr/lib/libncurses++.a</userinput></screen>
 
<para>Déplacez les bibliothèques dans le répertoire <filename
class="directory">/lib</filename> où elles sont supposées être&nbsp;:</para>
 
<screen><userinput>mv /usr/lib/libncurses.so.5* /lib</userinput></screen>
 
<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>
 
<beginpage/>
 
</sect2>
 
<sect2 id="contents-ncurses" role="content"><title>Contenu de Ncurses</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèques installées</segtitle>
<seglistitem><seg>captoinfo (lien vers tic), clear, infocmp, infotocap (lien vers tic),
reset (lien vers tset), tack, tic, toe, tput et tset</seg>
<seg>libcurses.[a,so] (lien vers libncurses.[a,so]), libform.[a,so], libmenu.[a,so],
libncurses++.a, libncurses.[a,so] et libpanel.[a,so]</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="captoinfo">
<term><command>captoinfo</command></term>
<listitem>
<para>Convertit une description termcap en description terminfo</para>
<indexterm zone="ch-system-ncurses captoinfo"><primary sortas="b-captoinfo">captoinfo</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="clear">
<term><command>clear</command></term>
<listitem>
<para>Efface l'écran si possible</para>
<indexterm zone="ch-system-ncurses clear"><primary sortas="b-clear">clear</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="infocmp">
<term><command>infocmp</command></term>
<listitem>
<para>Compare ou affiche les descriptions terminfo</para>
<indexterm zone="ch-system-ncurses infocmp"><primary sortas="b-infocmp">infocmp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="infotocap">
<term><command>infotocap</command></term>
<listitem>
<para>Convertit une description terminfo en description termcap</para>
<indexterm zone="ch-system-ncurses infotocap"><primary sortas="b-infotocap">infotocap</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="reset">
<term><command>reset</command></term>
<listitem>
<para>Réinitialise un terminal avec ses valeurs par défaut</para>
<indexterm zone="ch-system-ncurses reset"><primary sortas="b-reset">reset</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tack">
<term><command>tack</command></term>
<listitem>
<para>Vérificateur d'actions terminfo&nbsp;; il est principalement utilisé pour tester la
correction d'une entrée dans la base de données terminfo</para>
<indexterm zone="ch-system-ncurses tack"><primary sortas="b-tack">tack</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tic">
<term><command>tic</command></term>
<listitem>
<para>Le compilateur d'entrée de description terminfo, traduisant un fichier terminfo au format
source dans un format binaire nécessaire pour les routines des bibliothèques ncurses. Un fichier
terminfo contient des informations sur les capacités d'un terminal particulier</para>
<indexterm zone="ch-system-ncurses tic"><primary sortas="b-tic">tic</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="toe">
<term><command>toe</command></term>
<listitem>
<para>Liste tous les types de terminaux disponibles, donnant pour chacun d'entre eux son nom
principal et sa description</para>
<indexterm zone="ch-system-ncurses toe"><primary sortas="b-toe">toe</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tput">
<term><command>tput</command></term>
<listitem>
<para>Rend les valeurs de capacités dépendant du terminal disponibles au shell&nbsp;; il peut
aussi être utilisé pour réinitialiser un terminal ou pour afficher son nom long</para>
<indexterm zone="ch-system-ncurses tput"><primary sortas="b-tput">tput</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tset">
<term><command>tset</command></term>
<listitem>
<para>Peut être utilisé pour initialiser des terminaux</para>
<indexterm zone="ch-system-ncurses tset"><primary sortas="b-tset">tset</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libcurses">
<term><filename class="libraryfile">libcurses</filename></term>
<listitem>
<para>Un lien vers <filename>libncurses</filename></para>
<indexterm zone="ch-system-ncurses libcurses"><primary sortas="c-libcurses">libcurses</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libncurses">
<term><filename class="libraryfile">libncurses</filename></term>
<listitem>
<para>Contient des fonctions pour afficher du texte de plusieurs façons compliquées sur un écran
de terminal&nbsp;; un bon exemple d'utilisation de ces fonctions est le menu affiché par
le <command>make menuconfig</command> du noyau</para>
<indexterm zone="ch-system-ncurses libncurses"><primary sortas="c-libncurses">libncurses</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libform">
<term><filename class="libraryfile">libform</filename></term>
<listitem>
<para>Contient des fonctions pour implémenter des formes</para>
<indexterm zone="ch-system-ncurses libform"><primary sortas="c-libform">libform</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libmenu">
<term><filename class="libraryfile">libmenu</filename></term>
<listitem>
<para>Contient des fonctions pour implémenter des menus</para>
<indexterm zone="ch-system-ncurses libmenu"><primary sortas="c-libmenu">libmenu</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libpanel">
<term><filename class="libraryfile">libpanel</filename></term>
<listitem>
<para>Contient des fonctions pour implémenter des panneaux</para>
<indexterm zone="ch-system-ncurses libpanel"><primary sortas="c-libpanel">libpanel</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter06/gcc.xml
0,0 → 1,210
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-gcc" role="wrap">
<title>GCC-&gcc-version;</title>
<?dbhtml filename="gcc.html"?>
 
<indexterm zone="ch-system-gcc"><primary sortas="a-GCC">GCC</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet GCC contient la collection de compilateurs GNU, qui inclut les
compilateurs C et C++.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>11,7&nbsp;SBU</seg><seg>451&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, Findutils,
Gawk, Gettext, Glibc, Grep, Make, Perl, Sed et Texinfo</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de GCC</title>
 
<para>Ce paquet est connu pour avoir des soucis quand les options d'optimisation
par défaut (en incluant les options <parameter>-march</parameter> et
<parameter>-mcpu</parameter>) sont modifiées. Donc, si des variables d'environnement
qui surchargent les optimisations par défaut, telles que <envar>CFLAGS</envar>
et <envar>CXXFLAGS</envar>, ont été définies, supprimez cette initialisation
pour la construction de GCC.</para>
 
<para>Appliquez seulement le correctif No-Fixincludes (et pas 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>La compilation de GCC échoue pour certains paquets en dehors d'une
installation LFS de base (par exemple, Mozilla et kdegraphics) si GCC est utilisé
avec les dernières versions de Binutils. Appliquez le correctif suivant pour
corriger ce problème&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-linkonce-1.patch</userinput></screen>
 
<para>Appliquez une substitution <command>sed</command> qui supprimera
l'installation de <filename class="libraryfile">libiberty.a</filename>. À la
place, la version de <filename class="libraryfile">libiberty.a</filename> fournie
par Binutils sera utilisée&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>Préparez la compilation de GCC&nbsp;:</para>
 
<screen><userinput>../gcc-&gcc-version;/configure --prefix=/usr \
--libexecdir=/usr/lib --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>Dans cette section, la suite de tests pour GCC est considérée
critique. Ne pas la laisser passer quelque soient les circonstances.</para></important>
 
<para>Testez les résultats mais ne vous arrêtez pas aux erreurs&nbsp;:</para>
 
<screen><userinput>make -k check</userinput></screen>
 
<para>Quelques erreurs sont connues et ont été indiquées dans le chapitre
précédent. 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 nécessaire.</para>
 
<para>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 class="directory">/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 appeler
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
réalisées 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 le correctif GCC Specs ait été
mal appliqué à partir de <xref linkend="chapter-temporary-tools"/>.</para></note>
 
</sect2>
 
<sect2 id="contents-gcc" role="content"><title>Contenu de GCC</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèques installées</segtitle>
<seglistitem><seg>c++, cc (lien vers gcc), cpp, g++, gcc, gccbug et gcov</seg>
<seg>libgcc.a, libgcc_eh.a, libgcc_s.so, libstdc++.[a,so] et libsupc++.a</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="cc">
<term><command>cc</command></term>
<listitem>
<para>Le compilateur C</para>
<indexterm zone="ch-system-gcc cc"><primary sortas="b-cc">cc</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="cpp">
<term><command>cpp</command></term>
<listitem>
<para>Le préprocesseur C&nbsp;; il est utilisé par le compilateur pour
l'extension des instructions #include, #define et d'autres instructions similaires
dans les fichiers sources</para>
<indexterm zone="ch-system-gcc cpp"><primary sortas="b-cpp">cpp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="c">
<term><command>c++</command></term>
<listitem>
<para>Le compilateur C++</para>
<indexterm zone="ch-system-gcc c"><primary sortas="b-c++">c++</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="g">
<term><command>g++</command></term>
<listitem>
<para>Le compilateur C++</para>
<indexterm zone="ch-system-gcc g"><primary sortas="b-g++">g++</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gcc">
<term><command>gcc</command></term>
<listitem>
<para>Le compilateur C</para>
<indexterm zone="ch-system-gcc gcc"><primary sortas="b-gcc">gcc</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gccbug">
<term><command>gccbug</command></term>
<listitem>
<para>Un script shell utilisé pour aider à la création de bons rapports de bogues</para>
<indexterm zone="ch-system-gcc gccbug"><primary sortas="b-gccbug">gccbug</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gcov">
<term><command>gcov</command></term>
<listitem>
<para>Un outil de tests&nbsp;; il est utilisé pour analyser les programmes et
savoir où des optimisations seraient suivies du plus d'effet</para>
<indexterm zone="ch-system-gcc gcov"><primary sortas="b-gcov">gcov</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libgcc">
<term><filename class="libraryfile">libgcc</filename></term>
<listitem>
<para>contient un support en exécution pour <command>gcc</command></para>
<indexterm zone="ch-system-gcc libgcc"><primary sortas="c-libgcc*">libgcc*</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libstdc">
<term><filename class="libraryfile">libstdc++</filename></term>
<listitem>
<para>La bibliothèque C++ standard</para>
<indexterm zone="ch-system-gcc libstdc"><primary sortas="c-libstdc++">libstdc++</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libsupc">
<term><filename class="libraryfile">libsupc++</filename></term>
<listitem>
<para>Fournit des routines de support pour le langage de programmation C++</para>
<indexterm zone="ch-system-gcc libsupc"><primary sortas="c-libsupc++">libsupc++</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter06/flex.xml
0,0 → 1,137
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-flex" role="wrap">
<title>Flex-&flex-version;</title>
<?dbhtml filename="flex.html"?>
 
<indexterm zone="ch-system-flex"><primary sortas="a-Flex">Flex</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Flex contient un outil de génération de programmes
reconnaissant des modèles de texte.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>22,5&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Bison, Coreutils, Diffutils,
GCC, Gettext, Glibc, Grep, M4, Make et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Flex</title>
 
<para>Flex contient quelques bogues connus. Corrigez-les avec le correctif
suivant&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../flex-&flex-version;-debian_fixes-3.patch</userinput></screen>
 
<para>GNU autotools détecte que le code source de Flex a été modifié par le
correctif précédent et essaie de mettre à jour la page man en accord. Ceci ne
fonctionne pas sur beaucoup de systèmes et la page par défaut est bonne, donc
assurez-vous qu'elle ne soit pas regénérée&nbsp;:</para>
 
<screen><userinput>touch doc/flex.1</userinput></screen>
 
<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 check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Quelques paquets s'attendent à trouver la bibliothèque <filename
class="libraryfile">lex</filename> dans <filename
class="directory">/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édécesseur <command>lex</command>. Pour supporter ces
programmes, créez un script d'emballage nommé <filename>lex</filename> appelant
<filename>flex</filename> en mode d'émulation <command>lex</command>&nbsp;:</para>
 
<screen><userinput>cat &gt; /usr/bin/lex &lt;&lt; "EOF"
<literal>#!/bin/sh
# Begin /usr/bin/lex
 
exec /usr/bin/flex -l "$@"
 
# End /usr/bin/lex</literal>
EOF
chmod 755 /usr/bin/lex</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-flex" role="content"><title>Contenu de Flex</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèque installée</segtitle>
<seglistitem><seg>flex, flex++ (lien vers flex) et lex</seg>
<seg>libfl.a</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="flex">
<term><command>flex</command></term>
<listitem>
<para>Un outil pour générer des programmes reconnaissant des modèles dans un
texte&nbsp;; cela permet une grande diversité pour spécifier les règles de
recherche de modèle, éradiquant ainsi le besoin de développer un programme
spécialisé</para>
<indexterm zone="ch-system-flex flex"><primary sortas="b-flex">flex</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="flex-">
<term><command>flex++</command></term>
<listitem>
<para>Appelle une version de <command>flex</command> utilisée exclusivement par
les analyseurs C++</para>
<indexterm zone="ch-system-flex flex-"><primary sortas="b-flex++">flex++</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="lex">
<term><command>lex</command></term>
<listitem>
<para>Un script qui exécute <command>flex</command> en mode d'émulation
<command>lex</command></para>
<indexterm zone="ch-system-flex lex"><primary sortas="b-lex">lex</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libfl.a">
<term><filename class="libraryfile">libfl.a</filename></term>
<listitem>
<para>La bibliothèque <filename class="libraryfile">flex</filename></para>
<indexterm zone="ch-system-flex libfl.a"><primary sortas="c-libfl.a">libfl.a</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter06/chroot.xml
0,0 → 1,58
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="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 du système final LFS. 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 <parameter>-i</parameter> donnée à la commande
<command>env</command> effacera toutes les variables de l'environnement chroot.
Après cela, seules les variables <envar>HOME</envar>, <envar>TERM</envar>,
<envar>PS1</envar> et <envar>PATH</envar> sont toujours initialisées. La
construction <parameter>TERM=$TERM</parameter> initialisera la variable
<envar>TERM</envar> à 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
<envar>CFLAGS</envar> ou <envar>CXXFLAGS</envar>, 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
<envar>LFS</envar> parce que tout le travail sera restreint au système de
fichiers LFS car le shell pense que <filename class="directory">$LFS</filename>
est maintenant la racine (<filename class="directory">/</filename>.</para>
 
<para>Notez que <filename class="directory">/tools/bin</filename> arrive
dernier dans le <envar>PATH</envar>. Ceci signifie qu'un outil temporaire ne
sera plus utilisé une fois que la version finale sera utilisée. Ceci survient
quand 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>Il est important 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 rappeler de commencer
par monter les systèmes de fichiers <systemitem
class="filesystem">proc</systemitem> et <systemitem
class="filesystem">devpts</systemitem> (discutés dans la section précédente) et
d'entrer de nouveau dans chroot avant de continuer les installations.</para>
 
<para>Notez que l'invite de <command>bash</command> 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-6_1/lfs/chapter06/zlib.xml
0,0 → 1,109
<?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" role="wrap">
<title>Zlib-&zlib-version;</title>
<?dbhtml filename="zlib.html"?>
 
<indexterm zone="ch-system-zlib"><primary sortas="a-Zlib">Zlib</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Zlib contient des routines de compression et décompression
utilisées par quelques programmes.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>2,7&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Binutils, Coreutils, GCC, Glibc, Make et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Zlib</title>
 
<para>Zlib a une vulnérabilité de type dépassement de tampon, pouvant amener
à une attaque de type déni de service. Le correctif suivant corrige le
problème&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../zlib-&zlib-version;-security_fix-1.patch</userinput></screen>
 
<note><para>Zlib est connu pour mal construire sa bibliothèque partagée si
<envar>CFLAGS</envar> fait partie de l'environnement. En initialisant une
variable <envar>CFLAGS</envar>, assurez-vous d'ajouter la directive
<parameter>-fPIC</parameter> à la variable <envar>CFLAGS</envar> 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 --libdir=/lib</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
<userinput>make check</userinput>.</para>
 
<para>Installez la bibliothèque partagée&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>La commande précédente a installé un fichier <filename
class="extension">.so</filename> dans <filename
class="directory">/lib</filename>. Nous le supprimerons et créerons de nouveau
un lien vers <filename class="directory">/usr/lib</filename>:</para>
 
<screen><userinput>rm /lib/libz.so
ln -sf ../../lib/libz.so.&zlib-version; /usr/lib/libz.so</userinput></screen>
 
<para>Construisez aussi la bibliothèque 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>Corrigez les droits sur la bibliothèque statique&nbsp;:</para>
 
<screen><userinput>chmod 644 /usr/lib/libz.a</userinput></screen>
 
</sect2>
 
<sect2 id="contents-zlib" role="content"><title>Contenu de Zlib</title>
 
<segmentedlist>
<segtitle>Bibliothèques installées</segtitle>
<seglistitem><seg>libz.[a,so]</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="libz">
<term><filename class="libraryfile">libz</filename></term>
<listitem>
<para>Contient des fonctions de compression et décompression utilisées par
quelques programmes</para>
<indexterm zone="ch-system-zlib libz"><primary sortas="c-libz">libz</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter06/groff.xml
0,0 → 1,388
<?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" role="wrap">
<title>Groff-&groff-version;</title>
<?dbhtml filename="groff.html"?>
 
<indexterm zone="ch-system-groff"><primary sortas="a-Groff">Groff</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Groff contient des programmes de formatage de texte.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,5&nbsp;SBU</seg><seg>38,7&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
Gawk, GCC, Glibc, Grep, Make et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Groff</title>
 
<para>Groff s'attend à ce que la variable d'environnement <envar>PAGE</envar>
contienne la taille par défaut du papier. Pour les habitants des États-Unis,
<parameter>PAGE=letter</parameter> est approprié. Ailleurs,
<parameter>PAGE=A4</parameter> est préférable.</para>
 
<para>Préparez la compilation de Groff&nbsp;:</para>
 
<screen><userinput>PAGE=<replaceable>[taille_papier]</replaceable> ./configure --prefix=/usr</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>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" role="content"><title>Contenu de Groff</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>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)</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="addftinfo">
<term><command>addftinfo</command></term>
<listitem>
<para>Lit un fichier de polices troff et ajoute quelques informations métriques
supplémentaire sur la police qui est utilisé par le système
<command>groff</command></para>
<indexterm zone="ch-system-groff addftinfo"><primary sortas="b-addftinfo">addftinfo</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="afmtodit">
<term><command>afmtodit</command></term>
<listitem>
<para>Crée un fichier de police à utiliser avec <command>groff</command> et
<command>grops</command></para>
<indexterm zone="ch-system-groff afmtodit"><primary sortas="b-afmtodit">afmtodit</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="eqn">
<term><command>geqn</command></term>
<listitem>
<para>Compile les descriptions d'équations imbriquées dans les fichiers d'entrées
de troff pour obtenir des commandes comprises par
<command>troff</command></para>
<indexterm zone="ch-system-groff eqn"><primary sortas="b-eqn">eqn</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="eqn2graph">
<term><command>eqn2graph</command></term>
<listitem>
<para>Convertit une équation EQN troff en
une image améliorée</para>
<indexterm zone="ch-system-groff eqn2graph"><primary sortas="b-eqn2graph">eqn2graph</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="geqn">
<term><command>eqn</command></term>
<listitem>
<para>Un lien vers <command>eqn</command></para>
<indexterm zone="ch-system-groff geqn"><primary sortas="b-geqn">geqn</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grn">
<term><command>grn</command></term>
<listitem>
<para>Un préprocesseur <command>groff</command> pour les
fichiers gremlin</para>
<indexterm zone="ch-system-groff grn"><primary sortas="b-grn">grn</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grodvi">
<term><command>grodvi</command></term>
<listitem>
<para>Un pilote pour <command>groff</command> qui
produit un format dvi TeX</para>
<indexterm zone="ch-system-groff grodvi"><primary sortas="b-grodvi">grodvi</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="groff">
<term><command>groff</command></term>
<listitem>
<para>Une interface au système de formatage de document groff. Normalement, il
lance le programme <command>troff</command> et un post-processeur approprié au
périphérique sélectionné</para>
<indexterm zone="ch-system-groff groff"><primary sortas="b-groff">groff</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="groffer">
<term><command>groffer</command></term>
<listitem>
<para>Affiche des fichiers groff et des pages man sur des terminaux X et tty</para>
<indexterm zone="ch-system-groff groffer"><primary sortas="b-groffer">groffer</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grog">
<term><command>grog</command></term>
<listitem>
<para>Lit des fichiers et devine les options
<parameter>-e</parameter>, <parameter>-man</parameter>,
<parameter>-me</parameter>, <parameter>-mm</parameter>,
<parameter>-ms</parameter>, <parameter>-p</parameter>,
<parameter>-s</parameter> et <parameter>-t</parameter> de
<command>groff</command>, requises pour l'impression des fichiers. Il indique
la commande <command>groff</command> incluant ces options</para>
<indexterm zone="ch-system-groff grog"><primary sortas="b-grog">grog</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grolbp">
<term><command>grolbp</command></term>
<listitem>
<para>Un pilote <command>groff</command> pour les imprimantes Canon CAPSL
(imprimantes laser de la série LBP-4 et LBP-8)</para>
<indexterm zone="ch-system-groff grolbp"><primary sortas="b-grolbp">grolbp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grolj4">
<term><command>grolj4</command></term>
<listitem>
<para>Un pilote pour <command>groff</command> produisant une sortie au format
PCL5, intéressant les imprimantes HP Laserjet 4</para>
<indexterm zone="ch-system-groff grolj4"><primary sortas="b-grolj4">grolj4</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grops">
<term><command>grops</command></term>
<listitem>
<para>Traduit la sortie de GNU <command>troff</command> en Postscript</para>
<indexterm zone="ch-system-groff grops"><primary sortas="b-grops">grops</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grotty">
<term><command>grotty</command></term>
<listitem>
<para>Traduit la sortie de GNU <command>troff</command> en un format compatible
pour les périphériques de type machine à écrire</para>
<indexterm zone="ch-system-groff grotty"><primary sortas="b-grotty">grotty</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="gtbl">
<term><command>gtbl</command></term>
<listitem>
<para>Un lien vers <command>tbl</command></para>
<indexterm zone="ch-system-groff gtbl"><primary sortas="b-gtbl">gtbl</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="hpftodit">
<term><command>hpftodit</command></term>
<listitem>
<para>Crée un fichier de polices à utiliser avec <command>groff -Tlj4</command>
à partir d'un fichier métrique de police HP</para>
<indexterm zone="ch-system-groff hpftodit"><primary sortas="b-hpftodit">hpftodit</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="indxbib">
<term><command>indxbib</command></term>
<listitem>
<para>Crée un index inversé d'un fichier spécifié, index utilisé par les bases
de données bibliographiques avec <command>refer</command>,
<command>lookbib</command> et <command>lkbib</command></para>
<indexterm zone="ch-system-groff indxbib"><primary sortas="b-indxbib">indxbib</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="lkbib">
<term><command>lkbib</command></term>
<listitem>
<para>recherche dans les bases de données bibliographiques pour des références
contenant certaines clés et indique toute référence trouvée</para>
<indexterm zone="ch-system-groff lkbib"><primary sortas="b-lkbib">lkbib</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="lookbib">
<term><command>lookbib</command></term>
<listitem>
<para>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 lookbib"><primary sortas="b-lookbib">lookbib</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mmroff">
<term><command>mmroff</command></term>
<listitem>
<para>Un pré-processeur pour <command>groff</command></para>
<indexterm zone="ch-system-groff mmroff"><primary sortas="b-mmroff">mmroff</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="neqn">
<term><command>neqn</command></term>
<listitem>
<para>Formate les équations pour une
sortie ASCII (<foreignphrase>American Standard Code for Information
Interchange</foreignphrase>)</para>
<indexterm zone="ch-system-groff neqn"><primary sortas="b-neqn">neqn</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="nroff">
<term><command>nroff</command></term>
<listitem>
<para>Un script qui émule la commande <command>nroff</command> en utilisant <command>groff</command></para>
<indexterm zone="ch-system-groff nroff"><primary sortas="b-nroff">nroff</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pfbtops">
<term><command>pfbtops</command></term>
<listitem>
<para>Traduit une police Postscript au
format <filename class="extension">.pfb</filename> en ASCII</para>
<indexterm zone="ch-system-groff pfbtops"><primary sortas="b-pfbtops">pfbtops</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pic">
<term><command>pic</command></term>
<listitem>
<para>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 <command>troff</command></para>
<indexterm zone="ch-system-groff pic"><primary sortas="b-pic">pic</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pic2graph">
<term><command>pic2graph</command></term>
<listitem>
<para>Convertit un diagramme PIC en
une image améliorée</para>
<indexterm zone="ch-system-groff pic2graph"><primary sortas="b-pic2graph">pic2graph</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="post-grohtml">
<term><command>post-grohtml</command></term>
<listitem>
<para>Traduit la sortie de GNU
troff <command>troff</command> en html</para>
<indexterm zone="ch-system-groff post-grohtml"><primary sortas="b-post-grohtml">post-grohtml</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pre-grohtml">
<term><command>pre-grohtml </command></term>
<listitem>
<para>Traduit la sortie de GNU
<command>troff</command> en html</para>
<indexterm zone="ch-system-groff pre-grohtml"><primary sortas="b-pre-grohtml">pre-grohtml</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="refer">
<term><command>refer</command></term>
<listitem>
<para>Copie le contenu d'un fichier sur la
sortie standard, sauf pour les lignes entre les symboles
<emphasis>.[</emphasis> et <emphasis>.]</emphasis> interprétées comme des
citations, et les lignes entre <emphasis>.R1</emphasis> et
<emphasis>.R2</emphasis> interprétées comme des commandes sur la façon de
gérer les citations</para>
<indexterm zone="ch-system-groff refer"><primary sortas="b-refer">refer</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="soelim">
<term><command>soelim</command></term>
<listitem>
<para>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 soelim"><primary sortas="b-soelim">soelim</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tbl">
<term><command>tbl</command></term>
<listitem>
<para>Compile les descriptions des tables
imbriquées dans les fichiers d'entrées troff en commandes comprises par
<command>troff</command></para>
<indexterm zone="ch-system-groff tbl"><primary sortas="b-tbl">tbl</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tfmtodit">
<term><command>tfmtodit</command></term>
<listitem>
<para>Crée un fichier de police
à utiliser avec <command>groff -Tdvi</command></para>
<indexterm zone="ch-system-groff tfmtodit"><primary sortas="b-tfmtodit">tfmtodit</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="troff">
<term><command>troff</command></term>
<listitem>
<para>Est hautement compatible avec la commande Unix <command>troff</command>.
Habituellement, il devrait être appelé en utilisant la commande
<command>groff</command>, 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 troff"><primary sortas="b-troff">troff</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="zsoelim">
<term><command>zsoelim</command></term>
<listitem>
<para>Un lien vers <command>soelim</command></para>
<indexterm zone="ch-system-groff zsoelim"><primary sortas="b-zsoelim">zsoelim</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
 
/tags/LFS-6_1/lfs/chapter06/less.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-less" role="wrap">
<title>Less-&less-version;</title>
<?dbhtml filename="less.html"?>
 
<indexterm zone="ch-system-less"><primary sortas="a-Less">Less</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Less contient un visualisateur de fichiers texte.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>2,3&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make, Ncurses et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Less</title>
 
<para>Préparez la compilation de Less&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --bindir=/bin --sysconfdir=/etc</userinput></screen>
 
<para>Voici la signification de l'option de configure&nbsp;:</para>
 
<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>
<variablelist>
<varlistentry>
<term><parameter>--sysconfdir=/etc</parameter></term>
<listitem><para>Cette option
indique aux programmes créés par le paquet de chercher leurs fichiers de
configuration dans <filename class="directory">/etc</filename>.</para></listitem>
</varlistentry>
</variablelist>
 
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
</sect2>
 
<sect2 id="contents-less" role="content"><title>Contents of Less</title>
 
<segmentedlist>
<segtitle>Installed programs</segtitle>
<seglistitem><seg>less, lessecho et lesskey</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="less">
<term><command>less</command></term>
<listitem>
<para>un visualisateur de fichiers. Il affiche le contenu du fichier donné,
vous permettant d'aller vers le haut et vers le bas, de chercher des chaînes
et de sauter vers des repères</para>
<indexterm zone="ch-system-less less"><primary sortas="b-less">less</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="lessecho">
<term><command>lessecho</command></term>
<listitem>
<para>nécessaire pour étendre les meta-caractères, comme <emphasis>*</emphasis>
et <emphasis>?</emphasis>, dans les noms de fichiers de systèmes Unix</para>
<indexterm zone="ch-system-less lessecho"><primary sortas="b-lessecho">lessecho</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="lesskey">
<term><command>lesskey</command></term>
<listitem>
<para>utilisé pour spécifier les
associations de touches pour <command>less</command></para>
<indexterm zone="ch-system-less lesskey"><primary sortas="b-lesskey">lesskey</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_1/lfs/chapter06/pwdgroup.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-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"
<literal>root:x:0:0:root:/root:/bin/bash</literal>
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"
<literal>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:
video:x:12:
utmp:x:13:
usb:x:14:</literal>
EOF</userinput></screen>
 
<para>Les groupes créés ne font pas partie d'un standard&mdash;ils ont été
choisis en partie suite aux pré-requis de la configuration d'Udev dans la
section suivante et en partie par une convention commune employée par un
certain nombre de distributions Linux existantes. LSB (Linux Standard Base,
disponible sur <ulink url="http://www.linuxbase.org"/>) recommande seulement
que, en plus du groupe <quote>root</quote> disposant d'un GID 0, un groupe
<quote>bin</quote> de GID 1 soit présent. Tous les autres noms de groupe et GID
associés sont choisis librement par l'administrateur du système car les
programmes bien écrits ne dépendent pas des numéros de GID mais utilisent
plutôt le nom du groupe.</para>
 
<para>Pour supprimer l'invite <quote>I have no name!</quote>, commencez un
nouveau shell. Comme un Glibc complet a été installé dans le
<xref linkend="chapter-temporary-tools"/> et que les fichiers
<filename>/etc/passwd</filename> et <filename>/etc/group</filename> ont été créés, la résolution des noms d'utilisateur et des noms de groupe devraient fonctionner.</para>
 
<screen><userinput>exec /tools/bin/bash --login +h</userinput></screen>
 
<para>Notez l'utilisation de la directive <parameter>+h</parameter>. Ceci
indique à <command>bash</command> de ne pas utiliser son hachage interne des
chemins. Sans cette directive, <command>bash</command> se rappelerait le
chemin vers les binaires qu'il a exécuté. Pour utiliser les binaires dès leur
installation, l'option <parameter>+h</parameter> sera utilisée pour toute 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
journaux 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}
chgrp utmp /var/run/utmp /var/log/lastlog
chmod 664 /var/run/utmp /var/log/lastlog</userinput></screen>
 
<para>Le fichier <filename>/var/run/utmp</filename> enregistre les utilisateurs
actuellement connectés. 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-6_1/lfs/chapter06/iproute2.xml
0,0 → 1,329
<?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-iproute2" role="wrap">
<title>IPRoute2-&iproute2-version;</title>
<?dbhtml filename="iproute2.html"?>
<indexterm zone="ch-system-iproute2">
<primary sortas="a-iproute2">IPRoute2</primary>
</indexterm>
<sect2 role="package">
<title/>
<para>Le paquet IPRoute2 contient des programmes pour le réseau, basique
ou avancé, basé sur IPV4.
</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem>
<seg>0,1&nbsp;SBU</seg>
<seg>4,3&nbsp;Mo</seg>
</seglistitem>
</segmentedlist>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem>
<seg>GCC, Glibc, Make, Linux-Headers et Sed</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation d'IPRoute2</title>
<para>Le binaire <command>arpd</command> inclus dans ce paquet est dépendant
de Berkeley DB. Comme <command>arpd</command> n'est pas un prérequis
commun sur un système Linux de base, supprimez la dépendance sur
Berkeley DB en appliquant le correctif avec la commande ci-dessous. Si
le binaire <command>arpd</command> est nécessaire, les instructions
pour compiler Berkeley DB sont disponibles dans le livre BLFS sur <ulink
url="&blfs-root;view/svn/server/databases.html#db"/>.
</para>
 
<screen><userinput>patch -Np1 -i ../iproute2-&iproute2-patch-version;-remove_db-1.patch</userinput></screen>
 
<para>Préparez la compilation d'IPRoute2&nbsp;:</para>
<screen><userinput>./configure </userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make SBINDIR=/sbin</userinput></screen>
 
<para>Voici la signification de l'option de make&nbsp;:</para>
 
<variablelist>
<varlistentry>
<term><parameter>SBINDIR=/sbin</parameter></term>
<listitem><para>Ceci nous assure que les binaires IPRoute2 seront installés
dans <filename class="directory">/sbin</filename>. C'est le bon emplacement
suivant la FHS parce que certains des binaires IPRoute2 sont utilisés dans
les scripts de démarrage.</para>
</listitem>
</varlistentry>
</variablelist>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make SBINDIR=/sbin install</userinput></screen>
</sect2>
 
<sect2 id="contents-iproute2" role="content">
<title>Contenu d'IPRoute2</title>
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem>
<seg>ctstat (lien vers lnstat), ifcfg, ifstat, ip, lnstat, nstat, routef,
routel, rtacct, rtmon, rtpr, rtstat (lien vers lnstat), ss et tc.</seg>
</seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="ctstat">
<term>
<command>ctstat</command>
</term>
<listitem>
<para>Outil donnant le statut de la connexion</para>
<indexterm zone="ch-system-iproute2 ctstat">
<primary sortas="b-ctstat">ctstat</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ifcfg">
<term>
<command>ifcfg</command>
</term>
<listitem>
<para>Un emballage en script shell pour la commande
<command>ip</command></para>
<indexterm zone="ch-system-iproute2 ifcfg">
<primary sortas="b-ifcfg">ifcfg</primary>
</indexterm>
</listitem>
</varlistentry>
 
 
<varlistentry id="ifstat">
<term>
<command>ifstat</command>
</term>
<listitem>
<para>Affiche les statistiques des interfaces, incluant le nombre de
de paquets émis et transmis par l'interface.</para>
<indexterm zone="ch-system-iproute2 ifstat">
<primary sortas="b-ifstat">ifstat</primary>
</indexterm>
<beginpage/>
</listitem>
</varlistentry>
 
<varlistentry id="ip">
<term>
<command>ip</command>
</term>
<listitem>
 
<para>L'exécutable principal. Il a plusieurs fonctions&nbsp;:</para>
 
<para><command>ip link <replaceable>[périphérique]</replaceable></command>
autorise les utilisateurs à regarder l'état des périphériques
et à faire des changements.
</para>
 
<para><command>ip addr</command> autorise les utilisateurs à regarder
les adresses et leurs propriétés, à ajouter de nouvelles adresses
et à supprimer les anciennes.
</para>
 
<para><command>ip neighbor</command> autorise les utilisateurs à
regarder dans les liens des voisins et dans leurs propriétés,
à ajouter de nouvelles entrées et à supprimer les anciennes.
</para>
 
<para><command>ip rule</command> autorise les utilisateurs à regarder
les politiques de routage et à les modifier.
</para>
 
<para><command>ip route</command> autorise les utilisateurs à regarder
la table de routage et à modifier les règles de routage.
</para>
 
<para><command>ip tunnel</command> autorise les utilisateurs à regarder
les tunnels IP et leurs propriétés, et à les modifier.
</para>
 
<para><command>ip maddr</command> autorise les utilisateurs à
regarder adresses multicast et leurs propriétés, et à les
changer.
</para>
 
<para><command>ip mroute</command> autorise les utilisateurs à
configurer, modifier ou supprimer le routage multicast.
</para>
 
<para><command>ip monitor</command> autorise les utilisateurs à
surveiller en continu l'état des périphériques, des adresses et
des routes.
</para>
<indexterm zone="ch-system-iproute2 ip">
<primary sortas="b-ip">ip</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="lnstat">
<term>
<command>lnstat</command>
</term>
<listitem>
<para>Fournit les statistiques réseau Linux. C'est un remplacement
plus généraliste et plus complet de l'ancien programme
<command>rtstat</command></para>
<indexterm zone="ch-system-iproute2 lnstat">
<primary sortas="b-lnstat">lnstat</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="nstat">
<term>
<command>nstat</command>
</term>
<listitem>
<para>Affiche les statistiques réseau.</para>
<indexterm zone="ch-system-iproute2 nstat">
<primary sortas="b-nstat">nstat</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="routef">
<term>
<command>routef</command>
</term>
<listitem>
<para>Un composant de <command>ip route</command> pour vider les
tables de routage.
</para>
<indexterm zone="ch-system-iproute2 routef">
<primary sortas="b-routef">routef</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="routel">
<term>
<command>routel</command>
</term>
<listitem>
<para>Un composant de <command>ip route</command> pour afficher les
tables de routage.
</para>
<indexterm zone="ch-system-iproute2 routel">
<primary sortas="b-routel">routel</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rtacct">
<term>
<command>rtacct</command>
</term>
<listitem>
<para>Affiche le contenu de <filename>/proc/net/rt_acct</filename></para>
<indexterm zone="ch-system-iproute2 rtacct">
<primary sortas="b-rtacct">rtacct</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rtmon">
<term>
<command>rtmon</command>
</term>
<listitem>
<para>Outil de surveillance de routes.</para>
<indexterm zone="ch-system-iproute2 rtmon">
<primary sortas="b-rtmon">rtmon</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rtpr">
<term>
<command>rtpr</command>
</term>
<listitem>
<para>Convertit la sortie de <command>ip -o</command> en un format
lisibles</para>
<indexterm zone="ch-system-iproute2 rtpr">
<primary sortas="b-rtpr">rtpr</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rtstat">
<term>
<command>rtstat</command>
</term>
<listitem>
<para>Outil de statut de routes</para>
<indexterm zone="ch-system-iproute2 rtstat">
<primary sortas="b-rtstat">rtstat</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ss">
<term>
<command>ss</command>
</term>
<listitem>
<para>Similaire à la commande <command>netstat</command>&nbsp;;
affiche les connexions actives</para>
<indexterm zone="ch-system-iproute2 ss">
<primary sortas="b-ss">ss</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tc">
<term>
<command>tc</command>
</term>
<listitem>
<para>Exécutable de contrôle du trafic&nbsp;; utile pour
l'implémentation de la qualité de service (QOS) et de la classe
de service (COS)
</para>
 
<para><command>tc qdisc</command> autorise les utilisateurs à
configurer la discipline de queues
</para>
 
<para><command>tc class</command> autorise les utilisateurs à configurer
les classes suivant la planification de la discipline de queues
</para>
 
<para><command>tc estimator</command> autorise les utilisateurs à
estimer le flux réseau dans un réseau
</para>
 
<para><command>tc filter</command> autorise les utilisateurs à
configurer les filtres de paquets pour QOS/COS
</para>
 
<para><command>tc policy</command> autorise les utilisateurs à
configurer les politiques QOS/COS
</para>
<indexterm zone="ch-system-iproute2 ss">
<primary sortas="b-tc">tc</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>
/tags/LFS-6_1/lfs/chapter06/coreutils.xml
0,0 → 1,847
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-coreutils" role="wrap">
<title>Coreutils-&coreutils-version;</title>
<?dbhtml filename="coreutils.html"?>
 
<indexterm zone="ch-system-coreutils"><primary sortas="a-Coreutils">Coreutils</primary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet Coreutils contient des outils pour afficher et configurer les
caractéristiques basiques d'un système.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,9&nbsp;SBU</seg><seg>52,8&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, GCC,
Gettext, Glibc, Grep, Make, Perl et Sed</seg></seglistitem>
</segmentedlist>
</sect2>
 
<sect2 role="installation">
<title>Installation de Coreutils</title>
 
<para>Un problème connu avec le programme <command>uname</command> provenant de
ce paquet est que l'option <parameter>-p</parameter> renvoie toujours
<computeroutput>unknown</computeroutput>. Le correctif suivant corrige ce
comportement pour les architectures Intel&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../coreutils-&coreutils-version;-uname-2.patch</userinput></screen>
 
<para>Empêchez Coreutils d'installer des binaires qui pourraient être installés
plus tard par d'autres paquets&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i \
../coreutils-&coreutils-version;-suppress_uptime_kill_su-1.patch</userinput></screen>
 
<para>Maintenant, préparez la compilation de Coreutils&nbsp;:</para>
 
<screen><userinput>DEFAULT_POSIX2_VERSION=199209 ./configure --prefix=/usr</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>La suite de tests de Coreutils fait quelques suppositions sur la présence
d'utilisateurs et de groupes systèmes qui ne sont pas valides à l'intérieur de
l'environnement minimal qui existe pour le moment. Du coup, des éléments
supplémentaires doivent être configurés avant de lancer ces tests. Allez
directement à <quote>Installez le paquet</quote> si vous ne comptez pas lancer
les tests.</para>
 
<para>Créez deux groupes et un utilisateur&nbsp;:</para>
 
<screen><userinput>echo "dummy1:x:1000:" &gt;&gt; /etc/group
echo "dummy2:x:1001:dummy" &gt;&gt; /etc/group
echo "dummy:x:1000:1000:::/bin/bash" &gt;&gt; /etc/passwd</userinput></screen>
 
<para>Maintenant, la suite de tests peut être lancée. Tout d'abord,
lancez les quelques tests qui ont besoin d'être lancé en tant que
<emphasis>root</emphasis>&nbsp;:</para>
 
<screen><userinput>make NON_ROOT_USERNAME=dummy check-root</userinput></screen>
 
<para>Puis, lancez le reste des tests en tant qu'utilisateur
<emphasis>dummy</emphasis>&nbsp;:</para>
 
<screen><userinput>src/su dummy -c "make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen>
 
<para>Une fois les tests terminés, supprimez l'utilisateur et les
groupes&nbsp;:</para>
 
<screen><userinput>sed -i '/dummy/d' /etc/passwd /etc/group</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Déplacez quelques programmes aux bons emplacements&nbsp;:</para>
 
<screen><userinput>mv /usr/bin/{[,basename,cat,chgrp,chmod,chown,cp,dd,df} /bin
mv /usr/bin/{date,echo,false,head,hostname,install,ln} /bin
mv /usr/bin/{ls,mkdir,mknod,mv,pwd,rm,rmdir,sync} /bin
mv /usr/bin/{sleep,stty,test,touch,true,uname} /bin
mv /usr/bin/chroot /usr/sbin</userinput></screen>
 
<para>Finalement, créez un lien symbolique pour être compatible avec la
FHS&nbsp;:</para>
 
<screen><userinput>ln -s ../../bin/install /usr/bin</userinput></screen>
 
</sect2>
 
<sect2 id="contents-coreutils" role="content"><title>Contenu de Coreutils</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<seglistitem><seg>basename, cat, chgrp, chmod, chown, chroot, cksum,
comm, cp, csplit, cut, date, dd, df, dir, dircolors, dirname, du,
echo, env, expand, expr, factor, false, fmt, fold, groups, head,
hostid, hostname, id, install, join, link, ln, logname, ls, md5sum,
mkdir, mkfifo, mknod, mv, nice, nl, nohup, od, paste, pathchk, pinky,
pr, printenv, printf, ptx, pwd, readlink, rm, rmdir, seq, sha1sum,
shred, sleep, sort, split, stat, stty, sum, sync, tac, tail, tee,
test, touch, tr, true, tsort, tty, uname, unexpand, uniq, unlink,
users, vdir, wc, who, whoami et yes</seg></seglistitem>
</segmentedlist>
 
<variablelist><bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="basename">
<term><command>basename</command></term>
<listitem>
<para>Supprime tout le chemin et un suffixe donné à partir du nom de fichier donné</para>
<indexterm zone="ch-system-coreutils basename"><primary sortas="b-basename">basename</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="cat">
<term><command>cat</command></term>
<listitem>
<para>Concatène des fichiers sur la sortie standard</para>
<indexterm zone="ch-system-coreutils cat"><primary sortas="b-cat">cat</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="chgrp">
<term><command>chgrp</command></term>
<listitem>
<para>Change le groupe propriétaire de certains fichiers et répertoires.</para>
<indexterm zone="ch-system-coreutils chgrp"><primary sortas="b-chgrp">chgrp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="chmod">
<term><command>chmod</command></term>
<listitem>
<para>Change les droits de chaque fichier donné avec le mode indiqué. Le mode
peut être soit une représentation symbolique des modifications à faire soit un
nombre octal représentant les nouveaux droits</para>
<indexterm zone="ch-system-coreutils chmod"><primary sortas="b-chmod">chmod</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="chown">
<term><command>chown</command></term>
<listitem>
<para>Modifie le propriétaire utilisateur et/ou groupe de certains fichiers et
répertoires</para>
<indexterm zone="ch-system-coreutils chown"><primary sortas="b-chown">chown</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="chroot">
<term><command>chroot</command></term>
<listitem>
<para>Lance une commande avec le répertoire spécifié comme répertoire racine
(<filename class="directory">/</filename>)</para>
<indexterm zone="ch-system-coreutils chroot"><primary sortas="b-chroot">chroot</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="cksum">
<term><command>cksum</command></term>
<listitem>
<para>Affiche la somme de vérification CRC (Cyclic Redundancy Check) et le nombre d'octets de chaque fichier</para>
<indexterm zone="ch-system-coreutils cksum"><primary sortas="b-cksum">cksum</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="comm">
<term><command>comm</command></term>
<listitem>
<para>Compare deux fichiers triés, affichant sur trois colonnes, les lignes
uniques et les lignes communes</para>
<indexterm zone="ch-system-coreutils comm"><primary sortas="b-comm">comm</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="cp">
<term><command>cp</command></term>
<listitem>
<para>Copie des fichiers</para>
<indexterm zone="ch-system-coreutils cp"><primary sortas="b-cp">cp</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="csplit">
<term><command>csplit</command></term>
<listitem>
<para>Divise un fichier donné sur plusieurs fichiers indiqués, les séparant par
des modèles donnés ou des numéros de lignes. Il affiche le nombre total
d'octets pour chaque nouveau fichier</para>
<indexterm zone="ch-system-coreutils csplit"><primary sortas="b-csplit">csplit</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="cut">
<term><command>cut</command></term>
<listitem>
<para>Affiche des parties de lignes, sélectionnant ces parties suivant des
champs ou positions donnés</para>
<indexterm zone="ch-system-coreutils cut"><primary sortas="b-cut">cut</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="date">
<term><command>date</command></term>
<listitem>
<para>Affiche l'heure actuelle dans le format donné ou initialise la date
système</para>
<indexterm zone="ch-system-coreutils date"><primary sortas="b-date">date</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dd">
<term><command>dd</command> </term>
<listitem>
<para>Copie un fichier en utilisant la taille de bloc donnée et le nombre, tout
en réalisant des conversions optionnelles</para>
<indexterm zone="ch-system-coreutils dd"><primary sortas="b-dd">dd</primary></indexterm>
<beginpage/></listitem>
</varlistentry>
 
<varlistentry id="df">
<term><command>df</command></term>
<listitem>
<para>Affiche l'espace disque disponible (et utilisé) sur tous les systèmes de fichiers montés, ou seulement sur les systèmes de fichiers contenant les fichiers donnés</para>
<indexterm zone="ch-system-coreutils df"><primary sortas="b-df">df</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dir">
<term><command>dir</command></term>
<listitem>
<para>Liste le contenu de chaque répertoire donné (identique à la commande
<command>ls</command>)</para>
<indexterm zone="ch-system-coreutils dir"><primary sortas="b-dir">dir</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dircolors">
<term><command>dircolors</command></term>
<listitem>
<para>Affiche les commandes pour initialiser la variable d'environnement
<envar>LS_COLOR</envar>, ce qui permet de changer le schéma de couleurs utilisé
par <command>ls</command></para>
<indexterm zone="ch-system-coreutils dircolors"><primary sortas="b-dircolors">dircolors</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dirname">
<term><command>dirname</command></term>
<listitem>
<para>Supprime le suffixe qui ne représente pas le répertoire dans un nom de fichier donné</para>
<indexterm zone="ch-system-coreutils dirname"><primary sortas="b-dirname">dirname</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="du">
<term><command>du</command></term>
<listitem>
<para>Affiche le total de l'espace disque utilisé par le répertoire actuel, ou
par chacun des répertoires donnés incluant tous les sous-répertoires, ou par
chacun des fichiers donnés</para>
<indexterm zone="ch-system-coreutils du"><primary sortas="b-du">du</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="echo">
<term><command>echo</command></term>
<listitem>
<para>Affiche les chaînes données</para>
<indexterm zone="ch-system-coreutils echo"><primary sortas="b-echo">echo</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="env">
<term><command>env</command></term>
<listitem>
<para>Lance une commande dans un environnement modifié</para>
<indexterm zone="ch-system-coreutils env"><primary sortas="b-env">env</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="expand">
<term><command>expand</command></term>
<listitem>
<para>Convertit les tabulations en espaces</para>
<indexterm zone="ch-system-coreutils expand"><primary sortas="b-expand">expand</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="expr">
<term><command>expr</command></term>
<listitem>
<para>Évalue des expressions</para>
<indexterm zone="ch-system-coreutils expr"><primary sortas="b-expr">expr</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="factor">
<term><command>factor</command></term>
<listitem>
<para>Affiche les facteurs premiers de tous les entiers spécifiés</para>
<indexterm zone="ch-system-coreutils factor"><primary sortas="b-factor">factor</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="false">
<term><command>false</command></term>
<listitem>
<para>Ne fait rien. Il renvoie toujours un un code d'erreur indiquant
l'échec</para>
<indexterm zone="ch-system-coreutils false"><primary sortas="b-false">false</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="fmt">
<term><command>fmt</command></term>
<listitem>
<para>Reformate les paragraphes dans les fichiers donnés</para>
<indexterm zone="ch-system-coreutils fmt"><primary sortas="b-fmt">fmt</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="fold">
<term><command>fold</command></term>
<listitem>
<para>Emballe les lignes des fichiers donnés</para>
<indexterm zone="ch-system-coreutils fold"><primary sortas="b-fold">fold</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="groups-coreutils">
<term><command>groups</command></term>
<listitem>
<para>Affiche les groupes auxquels appartient un utilisateur</para>
<indexterm zone="ch-system-coreutils groups-coreutils"><primary sortas="b-groups-coreutils">groups</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="head">
<term><command>head</command></term>
<listitem>
<para>Affiche les dix premières lignes (ou le nombre demandé de lignes) pour chaque fichier précisé</para>
<indexterm zone="ch-system-coreutils head"><primary sortas="b-head">head</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="hostid">
<term><command>hostid</command></term>
<listitem>
<para>Affiche l'identifieur numérique de l'hôte en hexadécimal</para>
<indexterm zone="ch-system-coreutils hostid"><primary sortas="b-hostid">hostid</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="hostname">
<term><command>hostname</command></term>
<listitem>
<para>Affiche ou initialise le nom de l'hôte</para>
<indexterm zone="ch-system-coreutils hostname"><primary sortas="b-hostname">hostname</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="id">
<term><command>id</command></term>
<listitem>
<para>Affiche l'identifieur effectif de l'utilisateur courant ou de l'utilisateur
précisé, l'identifieur du groupe et les groupes auxquels appartient cet
utilisateur</para>
<indexterm zone="ch-system-coreutils id"><primary sortas="b-id">id</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="install">
<term><command>install</command> </term>
<listitem>
<para>Copie les fichiers en initialisant leur droits et, si possible, leur propriétaire et groupe</para>
<indexterm zone="ch-system-coreutils install"><primary sortas="b-install">install</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="join">
<term><command>join</command></term>
<listitem>
<para>Joint à partir de deux fichiers les lignes qui ont des champs de jointure identiques</para>
<indexterm zone="ch-system-coreutils join"><primary sortas="b-join">join</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="link">
<term><command>link</command></term>
<listitem>
<para>Crée un lien physique avec le nom de donné vers le fichier indiqué</para>
<indexterm zone="ch-system-coreutils link"><primary sortas="b-link">link</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ln">
<term><command>ln</command></term>
<listitem>
<para>Crée des liens symboliques ou physiques entre des fichiers</para>
<indexterm zone="ch-system-coreutils ln"><primary sortas="b-ln">ln</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="logname">
<term><command>logname</command></term>
<listitem>
<para>Indique le nom de connexion de l'utilisateur actuel</para>
<indexterm zone="ch-system-coreutils logname"><primary sortas="b-logname">logname</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ls">
<term><command>ls</command></term>
<listitem>
<para>Liste le contenu de chaque répertoire donné</para>
<indexterm zone="ch-system-coreutils ls"><primary sortas="b-ls">ls</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="md5sum">
<term><command>md5sum</command></term>
<listitem>
<para>Affiche ou vérifie les sommes de vérification MD5 (Message Digest 5)</para>
<indexterm zone="ch-system-coreutils md5sum"><primary sortas="b-md5sum">md5sum</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mkdir">
<term><command>mkdir</command></term>
<listitem>
<para>Crée des répertoires avec les noms donnés</para>
<indexterm zone="ch-system-coreutils mkdir"><primary sortas="b-mkdir">mkdir</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mkfifo">
<term><command>mkfifo</command></term>
<listitem>
<para>Crée des fichiers FIFOs (First-In, First-Out, un <quote>tube nommé</quote> dans le
vocable d'Unix) avec les noms donnés</para>
<indexterm zone="ch-system-coreutils mkfifo"><primary sortas="b-mkfifo">mkfifo</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mknod">
<term><command>mknod</command></term>
<listitem>
<para>Crée des noeuds périphérique avec les noms donnés. Un noeud périphérique est un fichier
spécial de type caractère ou bloc, ou encore un FIFO</para>
<indexterm zone="ch-system-coreutils mknod"><primary sortas="b-mknod">mknod</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mv">
<term><command>mv</command></term>
<listitem>
<para>Déplace ou renomme des fichiers ou répertoires</para>
<indexterm zone="ch-system-coreutils mv"><primary sortas="b-mv">mv</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="nice">
<term><command>nice</command></term>
<listitem>
<para>Lance un programme avec un priorité modifiée</para>
<indexterm zone="ch-system-coreutils nice"><primary sortas="b-nice">nice</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="nl">
<term><command>nl</command></term>
<listitem>
<para>Numérote les lignes des fichiers donnés</para>
<indexterm zone="ch-system-coreutils nl"><primary sortas="b-nl">nl</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="nohup">
<term><command>nohup</command></term>
<listitem>
<para>Lance une commande immune aux arrêts brutaux, dont la sortie est redirigée vers un
journal de traces</para>
<indexterm zone="ch-system-coreutils nohup"><primary sortas="b-nohup">nohup</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="od">
<term><command>od</command></term>
<listitem>
<para>Affiche les fichiers en octal ou sous d'autres formes</para>
<indexterm zone="ch-system-coreutils od"><primary sortas="b-od">od</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="paste">
<term><command>paste</command></term>
<listitem>
<para>Joint les fichiers donnés en faisant plaçant les lignes correspondantes ligne par ligne
en les séparant par des caractères de tabulation</para>
<indexterm zone="ch-system-coreutils paste"><primary sortas="b-paste">paste</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pathchk">
<term><command>pathchk</command></term>
<listitem>
<para>Vérifie que les noms de fichier sont valides ou portables</para>
<indexterm zone="ch-system-coreutils pathchk"><primary sortas="b-pathchk">pathchk</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pinky">
<term><command>pinky</command></term>
<listitem>
<para>Un client <quote>finger</quote> léger. Il affiche quelques informations sur les
utilisateurs indiqués</para>
<indexterm zone="ch-system-coreutils pinky"><primary sortas="b-pinky">pinky</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pr">
<term><command>pr</command></term>
<listitem>
<para>Fait de la pagination, principalement en colonne, des fichiers pour une impression</para>
<indexterm zone="ch-system-coreutils pr"><primary sortas="b-pr">pr</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="printenv">
<term><command>printenv</command></term>
<listitem>
<para>Affiche l'environnement</para>
<indexterm zone="ch-system-coreutils printenv"><primary sortas="b-printenv">printenv</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="printf">
<term><command>printf</command></term>
<listitem>
<para>Affiche les arguments donnés suivant le format demandé, un peu comme la fonction C
printf</para>
<indexterm zone="ch-system-coreutils printf"><primary sortas="b-printf">printf</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ptx">
<term><command>ptx</command></term>
<listitem>
<para>Produit un index permuté à partir du contenu des fichiers indiqués, avec le contexte de
chaque mot</para>
<indexterm zone="ch-system-coreutils ptx"><primary sortas="b-ptx">ptx</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pwd">
<term><command>pwd</command></term>
<listitem>
<para>Indique le nom du répertoire courant</para>
<indexterm zone="ch-system-coreutils pwd"><primary sortas="b-pwd">pwd</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="readlink">
<term><command>readlink</command></term>
<listitem>
<para>Indique la valeur du lien symbolique</para>
<indexterm zone="ch-system-coreutils readlink"><primary sortas="b-readlink">readlink</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rm">
<term><command>rm</command></term>
<listitem>
<para>Supprime des fichiers ou des répertoires</para>
<indexterm zone="ch-system-coreutils rm"><primary sortas="b-rm">rm</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="rmdir">
<term><command>rmdir</command></term>
<listitem>
<para>Supprime des répertoires s'ils sont vides</para>
<indexterm zone="ch-system-coreutils rmdir"><primary sortas="b-rmdir">rmdir</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="seq">
<term><command>seq</command></term>
<listitem>
<para>Affiche une séquence de nombres, à l'intérieur d'une échelle et avec un incrément
spécifié</para>
<indexterm zone="ch-system-coreutils seq"><primary sortas="b-seq">seq</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="sha1sum">
<term><command>sha1sum</command></term>
<listitem>
<para>Affiche ou vérifie des sommes de vérification 160-bit SHA1</para>
<indexterm zone="ch-system-coreutils sha1sum"><primary sortas="b-sha1sum">sha1sum</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="shred">
<term><command>shred</command></term>
<listitem>
<para>Efface les fichiers indiqués en écrivant dessus des modèles aléatoires pour rendre la
récupération des données très difficile</para>
<indexterm zone="ch-system-coreutils shred"><primary sortas="b-shred">shred</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="sleep">
<term><command>sleep</command></term>
<listitem>
<para>Fait une pause d'un certain temps</para>
<indexterm zone="ch-system-coreutils sleep"><primary sortas="b-sleep">sleep</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="sort">
<term><command>sort</command></term>
<listitem>
<para>Trie les lignes des fichiers donnés</para>
<indexterm zone="ch-system-coreutils sort"><primary sortas="b-sort">sort</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="split">
<term><command>split</command></term>
<listitem>
<para>Divise les fichiers donnés en plusieurs pièces, par taille ou par nombre de lignes</para>
<indexterm zone="ch-system-coreutils split"><primary sortas="b-split">split</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="stat">
<term><command>stat</command></term>
<listitem>
<para>Affiche le statut du fichier ou du système de fichiers</para>
<indexterm zone="ch-system-coreutils stat"><primary sortas="b-stat">stat</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="stty">
<term><command>stty</command></term>
<listitem>
<para>Initialise ou affiche les paramètres de la ligne du terminal</para>
<indexterm zone="ch-system-coreutils stty"><primary sortas="b-stty">stty</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="sum">
<term><command>sum</command></term>
<listitem>
<para>Affiche la somme de vérification et le nombre de blocs pour chacun des fichiers
donnés</para>
<indexterm zone="ch-system-coreutils sum"><primary sortas="b-sum">sum</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="sync">
<term><command>sync</command></term>
<listitem>
<para>Vide les tampons du système de fichiers. Cela force l'enregistrement des blocs modifiés
sur disque et met à jour le superbloc</para>
<indexterm zone="ch-system-coreutils sync"><primary sortas="b-sync">sync</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tac">
<term><command>tac</command></term>
<listitem>
<para>Concatène les fichiers donnés à l'envers</para>
<indexterm zone="ch-system-coreutils tac"><primary sortas="b-tac">tac</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tail">
<term><command>tail</command></term>
<listitem>
<para>Affiche les dix dernières lignes (ou le nombre de lignes indiqué) pour chaque fichier
précisé</para>
<indexterm zone="ch-system-coreutils tail"><primary sortas="b-tail">tail</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="tee">
<term><command>tee</command></term>
<listitem>
<para>Lit à partir de l'entrée standard en écrivant à la fois sur la sortie standard et sur les
fichiers indiqués</para>
<indexterm zone="ch-system-coreutils tee"><primary sortas="b-tee">tee</primary></indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="test">
<term&g