Subversion Repositories svn LFS-FR

Compare Revisions

Ignore whitespace Rev 599 → Rev 600

/tags/LFS-6_3_0/lfs/obfuscate.sh
0,0 → 1,39
#!/bin/bash
 
# obfuscate.sh
# obfuscate email addresses in XML/HTML
# Script written (and slight perl modification) by Archaic <archaic AT linuxfromscratch D0T org>
# Modified from "sed -i" to old style "sed -e" by Manuel Canales <manuel AT linuxfromscratch D0T org>
# to prevent hangs on very long files, like nonckunked books.
# Original Perl expression by Anderson Lizardo <lizardo AT linuxfromscratch D0T org>
# Released under the GNU General Public License
#
# This script currently only seeks out mailto: addresses. If those same
# addresses also appear in plaintext, we need to obfuscate those as well.
#
# This script was made for a very specific purpose so I was a bit lazy in
# writing the regex's.
#
# Please send comments, enhancements, etc. to the above address
 
#set -e # Bail on all errors
 
# First, ensure that we are given a file to process
# if [ $# -lt 1 ]; then
# echo -e "\nYou must provide an input file."
# exit 1
# fi
 
# Nothing like a backup plan!
#cp "$1" "$1".bak
 
for i in `grep -o '"mailto:.*@.*"' ${1} |sed -e 's|^"mailto:||' -e 's|"$||'`; do
link=`echo $i | perl -pe 's/[^\n]/"\\\&#".ord($&)."\;"/ge'`
plaintext=`echo $i | sed -e 's|@| AT |' -e 's|\.| D0T |g'`
cp ${1} ${1}.tmp
sed -e "s|mailto:$i|mailto:$link|" \
-e "s|$i|$plaintext|" ${1}.tmp > ${1}
rm ${1}.tmp
done
#rm $FILE.tmp
#exit 0
/tags/LFS-6_3_0/lfs/chapter01/changelog.xml
0,0 → 1,1555
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-scatter-changelog">
<?dbhtml filename="changelog.html"?>
 
<title>Historique des modifications</title>
 
<para>Il s'agit de la version &version; du livre Linux From Scratch, datant
du &releasedate;. Si ce livre est daté de plus de six
mois, une nouvelle et meilleure version est probablement déjà disponible.
Pour le savoir, merci de vérifier la présence d'une nouvelle version sur
l'un des miroirs via <ulink url="&lfs-root;mirrors.html"/>.</para>
 
<para>Ci-dessous se trouve une liste des modifications apportées depuis la
version précédente du livre.</para>
 
<itemizedlist>
<title>Entrées dans l'historique des modifications:</title>
 
<!-- Changelog template
 
<listitem>
<para>Date</para>
<itemizedlist>
<listitem>
<para>[name] - New changelog entry.</para>
</listitem>
<listitem>
<para>[name] - Previous changelog entry.</para>
</listitem>
</itemizedlist>
</listitem>
-->
 
<listitem>
<para>2007-08-28</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - LFS-6.3 fini.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-08-27</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Mise en place d'une URL de téléchargement de
Shadow plus stable</para>
</listitem>
<listitem>
<para>[dnicholson] - Mise à jour de la page d'avertissement.</para>
</listitem>
<listitem>
<para>[bdubbs] - Passage à Linux-2.6.22.5. Il corrige
<ulink url="&lfs-ticket-root;2064">#2065</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-08-21</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Passage à Linux-2.6.22.4. Corrige
<ulink url="&lfs-ticket-root;2064">#2064</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-08-20</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Ajout d'un correctif à man-db.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-08-19</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Passage à Linux-2.6.22.3, corrige
<ulink url="&lfs-ticket-root;2060">#2060</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Mise à jour des avertissements.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-08-13</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Mise à jour à LFS-Bootscripts-20070813.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-08-11</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Modification pour corriger l'entrée standard
 
lors du test Bash afin de n'affecter que le script de test nécessaire.</para>
</listitem>
<listitem>
<para>[bdubbs] - Création de LFS 6.3-rc-2..</para>
</listitem>
<listitem>
<para>[bdubbs] - Passage à Linux-2.6.22.2, corrige
<ulink url="&lfs-ticket-root;2059">#2059</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-08-08</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Clarifie la description du fichier constant
de règles pour le réseau dans Udev.</para>
</listitem>
<listitem>
<para>[dnicholson] - Redirection de <filename
class="devicefile">/dev/tty</filename> vers l'entrée standard lors
de l'exécution du test de Bash afin d'empêcher les erreurs avec
les droits du terminal.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-08-07</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Ajout du paramètre <parameter>--disable-werror</parameter>
à la passe 1 de Binutils.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-08-06</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Correction et clarification de la typographie du
texte de la page de Perl. Signalé par Shawn.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-07-31</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Mise à jour vers glibc-2.5.1.</para>
</listitem>
<listitem>
<para>[dnicholson] - Mise à jour des règles de udev-config à 20070731 pour être
compatible avec Linux-2.6.22.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-07-30</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Mise à jour des LFS-Bootscripts à 20070730 et
 
ajout de la description d'un nouveau script
 
<command>consolelog</command>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-07-26</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Ajustement de la ligne grep pour gcc Ch. 6
pour ne montrer que la sortie désirée</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-07-24</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Correction de l'installation de la
 
bibliothèque de Ncurses pour retirer le lien symbolique avant d'écrire
un script d'éditeur de lien à cet endroit. Signalé par
Lieven De Keyzer.</para>
</listitem>
<listitem>
<para>[bdubbs] - Création de LFS 6.3-rc-1.</para>
</listitem>
<listitem>
<para>[dnicholson] - Suppression d'utilisations incohérentes de
&amp;&amp; dans le livre.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-07-23</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Passage à Man-Pages-2.63, corrige
<ulink url="&lfs-ticket-root;2050">#2050</ulink>.</para>
</listitem>
<listitem>
<para>[dnicholson] - Ajout de `echo' à la section Créer les liens
symboliques essentiels comme l'exigent les tests de Glibc</para>
</listitem>
<listitem>
<para>[dnicholson] - Ajout d'un échec connu à la page de Glibc au Ch.
6.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-07-18</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Description de la configuration du
 
script de démarrage consolelog.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-07-17</para>
<itemizedlist>
<listitem>
<para>[matthew] - Passage à Man-Pages-2.62, corrige
<ulink url="&lfs-ticket-root;2049">#2049</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à M4-1.4.10, corrige
<ulink url="&lfs-ticket-root;2048">#2048</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Linux-2.6.22.1, corrige
<ulink url="&lfs-ticket-root;2044">#2044</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à E2fsprogs-1.40.2, corrige
<ulink url="&lfs-ticket-root;2042">#2042</ulink>. Supprime le
paramètre de configuration --disable-evms car il n'est plus
reconnu par le script de configuration.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-07-14</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Mise à jour du correctif de mise à jour de la
branche de Glibc vers un nouvel endroit en amont.</para>
</listitem>
<listitem>
<para>[dnicholson] - On a rendu l'installation des en-têtes de
Linux API plus sûre en passant par un répertoire intermédiaire.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-07-06</para>
<itemizedlist>
<listitem>
<para>[manuel] - Mise à jour de stylesheets et Makefile pour utiliser
le nouveau code XSL et Fop-0.93.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-06-30</para>
<itemizedlist>
<listitem>
<para>[matthew] - Ajout de correctifs en amont pour Vim.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Udev-113, corrige
<ulink url="&lfs-ticket-root;2040">#2040</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Texinfo-4.9, corrige
<ulink url="&lfs-ticket-root;2041">#2041</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Tar-1.18, corrige
<ulink url="&lfs-ticket-root;2039">#2039</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Libtool-1.5.24, corrige
<ulink url="&lfs-ticket-root;2038">#2038</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Less-406, corrige
<ulink url="&lfs-ticket-root;2036">#2036</ulink>.</para>
</listitem>
<listitem>
<para>[alexander] - Mise à niveau de la somme de contrôle MD5 de inetutils.
À la base, l'archive tar a été refait avec seulement les changements
passant sous la nouvelle licence GPLv3 ou plus récente, et
on a re-automatisé le paquet.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-06-29</para>
<itemizedlist>
<listitem>
<para>[alexander] - Utilisation d'un lien de téléchargement stable
pour Man-Pages.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-06-28</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Passage à Man-Pages-2.60, corrige
<ulink url="&lfs-ticket-root;2034">#2035</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-06-17</para>
<itemizedlist>
<listitem>
<para>[matthew] - Passage à Udev-112, corrige
<ulink url="&lfs-ticket-root;2030">#2030</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Man-Pages-2.56, corrige
<ulink url="&lfs-ticket-root;2034">#2034</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Linux-2.6.21.5, corrige
<ulink url="&lfs-ticket-root;2027">#2027</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-06-12</para>
<itemizedlist>
<listitem>
<para>[ken] - Passage à file-4.21, corrige
<ulink url="&lfs-ticket-root;2017">#2017</ulink>.</para>
</listitem>
<listitem>
<para>[ken] - Passage à less-403, corrige
<ulink url="&lfs-ticket-root;2019">#2019</ulink>.</para>
</listitem>
<listitem>
<para>[ken] - Passage à man-pages-2.55, corrige
<ulink url="&lfs-ticket-root;2028">#2028</ulink>.</para>
</listitem>
<listitem>
<para>[ken] - Passage à findutils-4.2.31, corrige
<ulink url="&lfs-ticket-root;2025">#2025</ulink>.</para>
</listitem>
<listitem>
<para>[ken] - Passage à tar-1.17, corrige
<ulink url="&lfs-ticket-root;2029">#2029</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-06-10</para>
<itemizedlist>
<listitem>
<para>[manuel] - Ajout d'une note sur les problèmes possibles avec le
LiveCD sur les matériels récents et demande de testeurs. Voir
 
<ulink url="&lfs-ticket-root;1938">#1938</ulink>.</para>
</listitem>
<listitem>
<para>[manuel] - Ajout d'explications aux commandes pour les tests
de Bash. Fermeture de <ulink url="&lfs-ticket-root;1938">#1938</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-06-06</para>
<itemizedlist>
<listitem>
<para>[manuel] - Ajustement des paramètres de langue pour
l'exécution des tests Bash et la commande pour le noyau
 
<command>make menuconfig</command>. Corrige
<ulink url="&lfs-ticket-root;1938">#1938</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-06-05</para>
<itemizedlist>
<listitem>
<para>[manuel] - Mise en relief du fait que les en-têtes dans le
répertoire include du système doit être le même que celui contre
lequel Glibc a été compilé. Corrige <ulink url="&lfs-ticket-root;2024">#2024</ulink>.</para>
</listitem>
<listitem>
<para>[alexander] - Passage à Linux-2.6.21.3, Man-Pages-2.51 et
TCL-8.4.15.
Corrige <ulink url="&lfs-ticket-root;2020">#2020</ulink>,
<ulink url="&lfs-ticket-root;2021">#2021</ulink> et
<ulink url="&lfs-ticket-root;2022">#2022</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-05-13</para>
<itemizedlist>
<listitem>
<para>[matthew] - Passage à Udev-111. Corrige
<ulink url="&lfs-ticket-root;1998">#1998</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Correction d'une agressivité excessive de sed,
qui empêchait l'installation de plusieurs pages de manuel de Shadow
au lieu de seulement éliminer groups(1).</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Man-pages-2.48. Corrige
<ulink url="&lfs-ticket-root;2000">#2000</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-05-07</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Correction de la vérification
de la propreté des outils de construction après GCC
pour se référer au répertoire /usr/local/include. Merci à David
Murphy qui nous l'a signalé.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-05-05</para>
<itemizedlist>
<listitem>
<para>[matthew] - Intégration des derniers correctifs d'origine de Vim.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Udev-110. Corrige
<ulink url="&lfs-ticket-root;1992">#1992</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Intégration des derniers correctifcorrectifs d'origine de
Readline.
</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Psmisc-22.5. Corrige
<ulink url="&lfs-ticket-root;1991">#1991</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Ajout d'un correctif d'origine réparant des
problèmes dans Ncurses découverts par l'outil d'analyse du code
statique Coverity. Corrige <ulink url="&lfs-ticket-root;1995">#1995</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Man-pages-2.46. Corrige
<ulink url="&lfs-ticket-root;1994">#1994</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Linux-2.6.21.1. Corrige
<ulink url="&lfs-ticket-root;1993">#1993</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Intégration des derniers correctifs d'origine de Bash.
</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-04-20</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Passage à LFS-Bootscripts-20070420.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-04-16</para>
<itemizedlist>
<listitem>
<para>[matthew] - Indique la version 1.875 de Bison
dans les paquets requis sur les systèmes hôte. Bash ne fonctionne
pas correctement avec des versions inférieures.
Corrige <ulink url="&lfs-ticket-root;1977">#1977</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Change toutes les références à
<filename>/etc/adjtime</filename> dans le source Util-Linux en
<filename>/var/lib/hwclock/adjtime</filename>. Auparavant, seul
<filename>hwclock/hwclock.c</filename> avait été changé, ce
qui signifiait que les pages de manuel contenaient des références à
des endroits non effectifs sur LFS.
Corrige <ulink url="&lfs-ticket-root;1984">#1984</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Udev-108. Corrige
<ulink url="&lfs-ticket-root;1976">#1976</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Man-pages-2.44. Corrige
<ulink url="&lfs-ticket-root;1987">#1987</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Man-db-2.4.4. Corrige
<ulink url="&lfs-ticket-root;1975">#1975</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à M4-1.4.9. Corrige
<ulink url="&lfs-ticket-root;1983">#1983</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Linux-2.6.20.7. Corrige
<ulink url="&lfs-ticket-root;1986">#1986</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Gzip-1.3.12. Corrige
<ulink url="&lfs-ticket-root;1989">#1989</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Supprime le correctif de File reg_startend. Il
 
n'est pas nécessaire sur les systèmes basés sur Glibc. Merci à Greg
 
Schafer qui nous l'a signalé.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Coreutils-6.9. Corrige
<ulink url="&lfs-ticket-root;1982">#1982</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-04-03</para>
<itemizedlist>
<listitem>
<para>[jhuntwork] - Installe su de coreutils au chapitre 5 en
 
tant que su-tools. Utilise su-tools pour exécuter les tests de coreutils
et de bash en tant que nobody.
Corrige #1877.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-04-01</para>
<itemizedlist>
<listitem>
<para>[jhuntwork] - Passage à linux-2.6.20.4. Mise à jour
des instructions pour linux-headers au chapitre 5 pour synchroniser
les instructions avec le chapitre 6. INSTALL_HDR_PATH n'est plus
retirée de force.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-03-27</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Correction de la typographie dans la section
ré-ajustement.
Signalé par Steve Crosby.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-03-24</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Mise à niveau du correctif de Bash
pour inclure les derniers correctifs d'origine 011-015.</para>
</listitem>
<listitem>
<para>[dnicholson] - Mise à niveau du correctif de
Readline pour inclure les derniers correctifs d'origine 002.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-03-23</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - N'installe pas les en-têtes du noyau dans
<filename class="directory">/usr/include/scsi</filename> car
on préfère ceux fournis par Glibc.</para>
</listitem>
<listitem>
<para>[dnicholson] - Force <command>ldd</command> à utiliser
<command>/bin/bash</command> puisqu'il contient une syntaxe
spécifique à Bash.</para>
</listitem>
<listitem>
<para>[dnicholson] - Lors du ré-ajustement du fichier de specs GCC,
il faut s'assurer que GCC cherchera les en-têtes du système dans /usr/include.
Un complément aux vérifications de la propreté des outils de
construction a été ajouté pour tester cela. Cette réparation
est inspirée de la Linux DIY.</para>
</listitem>
<listitem>
<para>[dnicholson] - Inclusion du correctif de la branche de mise à jour
du Glibc temporaire au chapitre 5 pour aider à minimiser les différences
avec le Glibc final.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-03-21</para>
<itemizedlist>
<listitem>
<para>[manuel] - Mise à jour des sources du livre pour utiliser
DocBook-XML DTD 4.5.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-03-19</para>
<itemizedlist>
<listitem>
<para>[matthew] - Changement du répertoire home par défaut des
nouveaux utilisateurs et modification pour que ne soient pas créés
des fichiers de stockage des mails pour eux. Ajout d'un groupe
<systemitem class="groupname">mail</systemitem> pour que si Shadow
est configuré pour créer des fichiers de stockage du mail pour les
 
nouveaux utilisateurs, il puisse le faire sans générer un
message d'avertissement.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Shadow-4.0.18.1. Corrige
<ulink url="&lfs-ticket-root;1850">#1850</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à Linux-2.6.20.3. Corrige
<ulink url="&lfs-ticket-root;1971">#1971</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à IPRoute2-2.6.20-070313. Corrige
<ulink url="&lfs-ticket-root;1974">#1974</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Mise à jour du correctif de Bash pour
intégrer le dernier correctif d'origine. Corrige
<ulink url="&lfs-ticket-root;1973">#1973</ulink></para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-03-14</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Obligation d'utilisation de l'éditeur de liens du
système hôte à la passe 1 de Binutils et GCC. Cela rend la construction
plus robuste, puisque le compilateur du système hôte peut ne pas
être compatible avec l'éditeur de liens installé à la passe 1 de
Binutils, notamment sur les systèmes hôte Fedora récents. Cette
réparation vient de la Linux FIY.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-03-04</para>
<itemizedlist>
<listitem>
<para>[matthew] - Mentionne les tests de Ncurses. Corrige
<ulink url="&lfs-ticket-root;1954">#1954</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à Vim-7.0-fixes-15.patch qui inclut tous les
correctifs d'origine supérieurs à 206.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Udev-106 et udev-config-20070304. Corrige
<ulink url="&lfs-ticket-root;1969">#1969</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à Findutils-4.2.30. Corrige
<ulink url="&lfs-ticket-root;1967">#1967</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à File-4.20. Corrige
<ulink url="&lfs-ticket-root;1968">#1968</ulink></para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-03-1</para>
<itemizedlist>
<listitem>
<para>[jhuntwork] - Changements grammaticaux mineurs.
Déplacement de certains avertissements et de remarques
afin qu'ils apparaissent avant la commande concernée.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-02-25</para>
<itemizedlist>
<listitem>
<para>[manuel] - La compilation de M4 a été retirée du chapitre .
Aucun autre paquet avant la compilation de M4 au chapitre 6 n'en dépend.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-02-24</para>
<itemizedlist>
<listitem>
<para>[manuel] - Suppression d'avertissements obsolètes relatifs à
l'installation de Bzip2. Merci à Chris Staub qui nous l'a signalé et
a fait le correctif.</para>
</listitem>
<listitem>
<para>[manuel] - Suppression des commandes chmod et chown de l'installation
des en-têtes de linux. Les en-têtes sont maintenant installées avec
leurs propres droits.
Corrige <ulink url="&lfs-ticket-root;1965">#1965</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à Linux-2.6.20.1. Corrige
<ulink url="&lfs-ticket-root;1964">#1964</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Ajout d'un correctif d'origine pour Glibc. Corrige
<ulink url="&lfs-ticket-root;1930">#1930</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à GCC-4.1.2. Corrige
<ulink url="&lfs-ticket-root;1960">#1960</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Ajout d'un correctif d'origine pour Berkeley-DB. Corrige
<ulink url="&lfs-ticket-root;1961">#1961</ulink></para>
</listitem>
<listitem>
<para>[dnicholson] - Ajout de descriptions pour la commande
manquante <command>cpan</command> et <command>prove</command> du
paquet Perl. Signalé par Leonhard Landrock.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-02-23</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Suppression des lignes /usr/local/man de
man_db.conf pour empêcher des résultats redondants. Signalé par
Chris Staub.</para>
</listitem>
<listitem>
<para>[dnicholson] - Application d'un correctif de Chris Staub pour
corriger des commandes et du texte sur les pages du
système de fichier du noyau, de E2fsprogs et de Autoconf.</para>
</listitem>
<listitem>
<para>[dnicholson] - Abandon de l'option -D de la commande
d'installation de la documentation Udev car elle est déjà créée par
udev-config. Signalé par Chris Staub.</para>
</listitem>
<listitem>
<para>[dnicholson] - Correction du texte concernant Udev et qui
n'installait pas de fichier de configuration. Signalé par Chris Staub.</para>
</listitem>
<listitem>
<para>[dnicholson] - Suppression du texte vous suggérant d'éditer
le fichier specs à la main lors de l'ajustement de l'ensemble
d'outils puisqu'il n'est généré que si vous exécutez les commandes
précédentes. Signalé par Chris Staub.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-02-20</para>
<itemizedlist>
<listitem>
<para>[bryan] - Ajout d'un commentaire sur le fait que les liens
symboliques vers le CD peuvent ne pas correspondre à ceux de l'hôte
à la section 7.12.2. Cela doit corriger le reste de
<ulink url="&lfs-ticket-root;1963">#1963</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-02-18</para>
<itemizedlist>
<listitem>
<para>[bryan] - Corrige une syntaxe obsolète utilisée dans l'exemple de
règles pour Udev à la section 7.12.2. Corrige la partie facile de
<ulink url="&lfs-ticket-root;1963">#1963</ulink>. De plus, rajoute la note
sur l'antislash à la fon des lignes de règle d'udev.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-02-17</para>
<itemizedlist>
<listitem>
<para>[bryan] - Utilisation exclusive des règles rule_generator
d'origine pour nommer NIC, et travail pour générer les règles avant
de configurer le script du réseau, afin que l'utilisateur sache
les noms NIC à utiliser. Corrige le reste de
<ulink url="&lfs-ticket-root;1912">#1912</ulink>.</para>
</listitem>
<listitem>
<para>[bryan] - Passage de l'écriture du répertoire des fichiers des règles
des liens symboliques vers le CD à la configuration du du fichier
installé par rule_generator de Udev. Corrige une partie de
<ulink url="&lfs-ticket-root;1912">#1912</ulink>.</para>
</listitem>
<listitem>
<para>[bryan] - Mise à jour des contenus de lfs-bootsscripts.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-02-09</para>
<itemizedlist>
<listitem>
<para>[matthew] - Déplacement de <command>readlink</command> vers
<filename class="directory">/bin</filename> car
<function>sysreadlink</function> dans les fonctions du shell Udev
peut l'appeler avant que <filename class="directory">/usr</filename>
ait été monté. Corrige <ulink url="&lfs-ticket-root;1913">#1913</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Suppression des commandes <command>chmod</command> et
<command>chown</command> de DB, NCurses et Readline car elles ne
sont plus requises avec les versions d'origine récentes. Corrige
<ulink url="&lfs-ticket-root;1953">#1953</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à Udev-105. Corrige
<ulink url="&lfs-ticket-root;1949">#1949</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à Gzip-1.3.11. Corrige
<ulink url="&lfs-ticket-root;1951">#1951</ulink></para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-02-07</para>
<itemizedlist>
<listitem>
<para>[ken] - Passage à Linux-2.6.20. Corrige
<ulink url="&lfs-ticket-root;1950">#1950</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-02-03</para>
<itemizedlist>
<listitem>
<para>[bryan] - Passage à lfs-bootscripts-20070203. Corrige à la fois
<ulink url="&lfs-ticket-root;1948">#1948</ulink> et le script
udev_retry.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-01-31</para>
<itemizedlist>
<listitem>
<para>[matthew] - Ajout d'un commutateur verbeux lors du désemballage des
archives tar glibc-libidn et udev-config. Corrige
<ulink url="&lfs-ticket-root;1932">#1932</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Ne paramètre/exporte plus INPUTRUTRC, puisque ce
n'est pas requis après la mise à jour de Readline-5.2. Corrige
<ulink url="&lfs-ticket-root;1942">#1942</ulink>. Merci à Alexander
Patrakov pour la rapport et le correctif.</para>
</listitem>
<listitem>
<para>[matthew] - Inclut un correctif du mainteneur de Readline afin de
corriger un problème lié au multi-bytes. Corrige
<ulink url="&lfs-ticket-root;1945">#1945</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Inclut plus de réparation d'origine du mainteneur de Bash
dans bash-3.2-fixes-2.patch</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Udev-104. Corrige
<ulink url="&lfs-ticket-root;1941">#1941</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à Tar-1.16.1. Corrige
<ulink url="&lfs-ticket-root;1926">#1926</ulink> et
<ulink url="&lfs-ticket-root;1944">#1944</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à Ncurses-5.6. Corrige
<ulink url="&lfs-ticket-root;1940">#1940</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à Linux-2.6.19.2. Corrige
<ulink url="&lfs-ticket-root;1928">#1928</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à Iproute2-2.6.19-061214. Corrige
<ulink url="&lfs-ticket-root;1936">#1936</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à Gzip-1.3.10. Corrige
<ulink url="&lfs-ticket-root;1924">#1924</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à Gettext-0.16.1. Corrige
<ulink url="&lfs-ticket-root;1925">#1925</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à Findutils-4.2.29. Corrige
<ulink url="&lfs-ticket-root;1923">#1923</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à File-4.19. Corrige
<ulink url="&lfs-ticket-root;1946">#1946</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Coreutils-6.7. Corrige
<ulink url="&lfs-ticket-root;1934">#1934</ulink>.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Bzip2-1.0.4. Corrige
<ulink url="&lfs-ticket-root;1943">#1943</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2007-01-13</para>
<itemizedlist>
<listitem>
<para>[alexander] - Passage à Man-pages-2.43. Corrige
<ulink url="&lfs-ticket-root;1927">#1927</ulink>.</para>
</listitem>
<listitem>
<para>[alexander] - Ne supprime pas les tutoriels Vim. Corrige
<ulink url="&lfs-ticket-root;1937">#1937</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-12-09</para>
<itemizedlist>
<listitem>
<para>[bryan] - Correction de l'entrée pour l'utilisateur &quot;nobody&quot;
dans /etc/passwd au chapitre 6. Corrige
<ulink url="&lfs-ticket-root;1931">#1931</ulink>;
merci à Robert Connolly pour le rapport.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-12-01</para>
<itemizedlist>
<listitem>
<para>[matthew] - Corrige une cassure ICA dans E2fsprogs. Sed doit
être compilé avant E2fsprogs et il faut changer une référence
en dur à
<filename>/bin/rm</filename> en une pointant vers
<filename>/tools/bin/rm</filename> instead. Merci à Greg Schafer pour
nous l'avoir signalé et l'avoir réparé.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-11-25</para>
<itemizedlist>
<listitem>
<para>[jhuntwork] - Ajout d'une note de prudence à la fin du chapitre
5. L'archivage du système temporaire tools doit se faire avant de
commencer le chapitre 6.
Corrige <ulink url="&lfs-ticket-root;1879">#1879</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Nouveau déplacement de <command>mv</command> de
<filename class="directory">/usr/bin</filename> vers
<filename class="directory">/bin</filename>. La mise à jour vers
Coreutils-6.6 le supprimait mal de la liste des fichiers à déplacer.
Merci à Chris Staub pour nous l'avoir signalé.</para>
</listitem>
<listitem>
<para>[matthew] - Empêche Inetutils de compiler et d'installer
<command>ifconfig</command> car LFS utilise <command>ip</command> pour
configurer les interfaces réseau. Merci à Marty Jack pour nous
l'avoir signalé et l'avoir réparé. Corrige
<ulink url="&lfs-ticket-root;1914">#1914</ulink></para>
</listitem>
<listitem>
<para>[jhuntwork] - Correction d'une corruption possible des outils
de test en forçant expect à toujours utiliser /bin/stty et non
/usr/local/bin/stty. Corrige
<ulink url="&lfs-ticket-root;1892">#1892</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à Man-pages-2.42. Corrige
<ulink url="&lfs-ticket-root;1922">#1922</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à Inetutils-no_server_man_pages-2.patch.
Cela supprime les dernières pages de manuel dont on ne veut pas
(rexecd.8). Merci à Joe Ciccone pour nous l'avoir signalé et avoir
mis à jour le correctif. Corrige
<ulink url="&lfs-ticket-root;1915">#1915</ulink></para>
</listitem>
<listitem>
<para>[jhuntwork] - Ajout de 'make headers_install' au chapitre 5
Linux Headers dans un but éducatif et en prévision des changements de
Linux-2.6.19. Voir
<ulink url="&lfs-root;/pipermail/lfs-dev/2006-November/058550.html"> à
ce sujet.</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à M4-1.4.8. Corrige
<ulink url="&lfs-ticket-root;1920">1920</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à Linux-2.6.18.3. Corrige
<ulink url="&lfs-ticket-root;1911">#1911</ulink></para>
</listitem>
<listitem>
<para>[matthew] - chapter08/kernel.xml: Reformulation de
l'avertissement sur le fait d'écraser des en-têtes d'origine
plutôt que celles du noyau nettoyées, de manière à éviter de
mentionner le paquet à présent obsolète Linux-Libc-Headers. Corrige
<ulink url="&lfs-ticket-root;1917">#1917</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à IANA-Etc-2.20. Corrige
<ulink url="&lfs-ticket-root;1916">#1916</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à File-4.18. Corrige
<ulink url="&lfs-ticket-root;1910">#1910</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Passage à Coreutils-6.6. Corrige
<ulink url="&lfs-ticket-root;1919">#1919</ulink></para>
</listitem>
<listitem>
<para>[matthew] - Ajout de Bison aux paquets requis sur le système
hôte puisqu'il est exigé par &bash-fixes-patch;&nbsp;; au chapitre 5 (Corrige
<ulink url="&lfs-ticket-root;1863">#1863</ulink>).</para>
</listitem>
<listitem>
<para>[matthew] - Utilisation des cinq correctifs fournis actuellement
par les mainteneurs d'origine de Bash.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Autoconf-2.61. Corrige
<ulink url="&lfs-ticket-root;1918">#1918</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-11-24</para>
<itemizedlist>
<listitem>
<para>[jhuntwork] - Simplification de l'installation des en-têtes de
Linux au Chapitre 5.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-11-10</para>
<itemizedlist>
<listitem>
<para>[bryan] - Utilisation de 70-persistent-*.rules pour la
personnalisation des liens symboliques et pour nommer NIC, et
ajout de ENV{GENERATED} à la règle du lien symbolique du CD. Aboutit
à ce que le bug #1912 soit réellement corrigé.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-11-05</para>
<itemizedlist>
<listitem>
<para>[bryan] - Effacement du fichier des règles
persistent-net-generator si la persistance de bus-position-based
va être utilisée. Corrige
#1912.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-11-03</para>
<itemizedlist>
<listitem>
<para>[matthew] - Utilisation des numéros de version inscrits dans
<filename>packages.ent</filename> plutôt que ceux des valeurs ancrées
dans la note du <filename>chapter03/packages.xml</filename>.
Suppression de l'avertissement sur les incompatibilités potentielles
avec les scripts de démarrage. Merci à Rainer Wirtz qui nous l'a
signalé.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-10-29</para>
<itemizedlist>
<listitem>
<para>[matthew] - Ajout de commutateurs verbeux à certaines commandes
dans Util-Linux et Vim. Merci à Robert Connolly qui nous l'a signalé.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Vim-7.0-fixes-14.patch. On laisse la
réparation &quot;spellfile&quot; puisqu'elle a été faite à l'origine
par le correctif 076.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-10-28</para>
<itemizedlist>
<listitem>
<para>[matthew] - Passage à TCL-8.4.14.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Tar-1.16, incluant de laisser les correctifs
&quot;gcc4&quot;, &quot;security&quot;, et
&quot;sparse&quot; correctifs qui ne sont plus nécessaires.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Readline-5.2, incluant de laisser le correctif
&quot;fixes&quot; qui n'est plus nécessaire.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Man-Pages-2.41.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Linux-2.6.18.1.</para>
</listitem>
<listitem>
<para>[matthew] - Correction d'un bogue dans Less à cause duquel la
frappe <type>sigset_t</type> n'est pas détectée par le script
<command>configure</command>, qui entraînait le fait que la fonction
<function>sigsetmask</function> était utilisé à la place de celle
<function>sigprocmask</function> que nous préférons. Merci à Robert
Connolly pour nous l'avoir signalé et pour le correctif.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à IPRoute2-2.6.18-20061002.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Inetutils-1.5, incluant de laisser le correctif
&quot;GCC 4 fixes&quot; qui n'est plus nécessaire.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Groff-1.18.1.4.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Gettext-0.16.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Berkeley DB-4.5.20, incluant de laisser
le correctif &quot;fixes&quot; qui n'est plus nécessaire.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Coreutils-6.4.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Bash-3.2, incluant de laisser le correctif
&quot;fixes&quot; et d'ajouter un correctif d'origine qui corrige un bogue
lorsqu'on rentre des commentaires.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Automake-1.10.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-10-23</para>
<itemizedlist>
<listitem>
<para>[bryan] - Ajout d'une explication sur la manière de trouver les
endroits où sont les bus PCI pour les périphériques réseau. Corrige
#1904.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-10-21</para>
<itemizedlist>
<listitem>
<para>[bryan] - Passage à udev-103.</para>
</listitem>
<listitem>
<para>[bryan] - Passage à udev-config-20061021, installation de ses
fichiers de documentation.</para>
</listitem>
<listitem>
<para>[bryan] - Installation des règles communes du paquet udev.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-10-15</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Correction de la page de paramétrage de la console
pour faire référence à l'emplacement correct pour les éléments kbd. Merci à
Norman Urs Baier qui nous a signalé le problème.</para>
</listitem>
<listitem>
<para>[bryan] - Passage à udev-102, suppression du correctif.</para>
</listitem>
<listitem>
<para>[bryan] - Passage à udev-config-20061014.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-10-05</para>
<itemizedlist>
<listitem>
<para>[bryan] - Ajout de udev-101-fix-sas-path_id-1.patch.</para>
</listitem>
<listitem>
<para>[bryan] - Mise à jour de udev-config pour Linux-2.6.18. Cette
version contient aussi le nouveau sous-répertoire doc/, avec des
explications de la plupart des règles.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-10-02</para>
<itemizedlist>
<listitem>
<para>[matthew] - Passage à Texinfo-4.8a.</para>
</listitem>
<listitem>
<para>[matthew] - Mise à jour du texte concernant le support pour
UTF-8 dans la dernière version de Linux. Merci à Alexander Patrakov
pour le correctif.
</para>
</listitem>
<listitem>
<para>[matthew] - Suppression de Linux-Libc-Headers, remplacé par
la cible &quot;make headers_install&quot; à présent disponible dans
les sources d'origine du noyau.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Udev-101.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Psmisc-22.3.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à M4-1.4.7.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Linux-2.6.18.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Glibc-2.5.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à Coreutils-6.3.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-09-23</para>
<itemizedlist>
<listitem>
<para>[bryan] - Héparation de la typographie dans les instructions
de udev-100 (extra/ devrait être extras/). Merci à Balazs Parkanyi
pour sa trouvaille (heads-up).</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-09-22</para>
<itemizedlist>
<listitem>
<para>[bryan] - Réécriture des notes des sections 7.12.1 et
7.13.1 pour mentionner explicitement que les redirections fonctionnent
sans EOF. Corrige #1883.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-09-20</para>
<itemizedlist>
<listitem>
<para>[bryan] - Mise à jour de udev-config pour udev-098 et supérieure.</para>
</listitem>
<listitem>
<para>[dnicholson] - Changement de la note sur l'utilisation d'un Linux
plus récent que celui du livre pour refléter les versions
courantes.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-09-18</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Ajout de liens symboliques vers la libstdc++
temporaire dans la section Liens iymboliques essentiels. Ils sont
nécessaires pour Glibc-2.4.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-09-17</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Mise à jour vers Glibc-2.4. Ajout du correctif de
réparation de iconv et suppression des types Linux obsolètes et des
correctifs syscall inotify. Merci à Matthew Burgess et à
Bryan Kadzban pour leurs suggestions textuelles</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-09-09</para>
<itemizedlist>
<listitem>
<para>[matthew] - Correction de la syntaxe non-POSIX lors des appels
à tail de gzexe. Corrige #1876. Merci à Robert Connolly qui nous l'a
signalé.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à linux-2.6.17.13.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à m4-1.4.6.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-09-06</para>
<itemizedlist>
<listitem>
<para>[bryan] - Changement du sed appliqué à sysvinit, en espérant que
cela soit plus clair (mention explicite de /etc/inittab).</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-08-31</para>
<itemizedlist>
<listitem>
<para>[matthew] - Suppression des fausses accolades de l'exemple de
/etc/resolv.conf. Corrige #1870.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-08-24</para>
<itemizedlist>
<listitem>
<para>[matthew] - Suppression de la réparation d'un débordement de
mémoire dans Coreutils, car il a été corrigé à l'origine.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-08-17</para>
<itemizedlist>
<listitem>
<para>[matthew] - Simplification de la commande qui ajuste le fichier
de specs de GCC. Corrige #1837. Merci à Robery Connolly.</para>
</listitem>
<listitem>
<para>[matthew] - Mention de la suppression de devfs du noyau. Merci à
Peter Ennis.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à linux-2.6.17.8.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à udev-097.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à findutils-4.2.28.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à man-pages-2.39.</para>
</listitem>
<listitem>
<para>[matthew] - Correction des tests de autoconf, qui échouaient
depuis le passage à m4-1.4.5. Merci à Greg Schafer qui nous l'a
signalé.
</para>
</listitem>
<listitem>
<para>[matthew] - Correction d'un débordement de mémoire dans m4-1.4.5
qui fait échouer deux de ses tests. Merci à Greg Schafer qui nous l'a
signalé.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-08-08</para>
<itemizedlist>
<listitem>
<para>[dnicholson] - Mises à jour mineures du texte sur la page Vim.
Merci à Peter Ennis pour nous l'avoir signalé.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-08-05</para>
<itemizedlist>
<listitem>
<para>[matthew] - Ajout d'un lien vers l'emplacement précédent des
versions précédentes de shadow.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-08-03</para>
<itemizedlist>
<listitem>
<para>[manuel] - Insertion de mises à jour issues de la branche 6.2.</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>2006-07-31</para>
<itemizedlist>
<listitem>
<para>[matthew] - Passage à shadow-4.0.17.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à procps-3.2.7.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à man-pages-2.36.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à make-3.81.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à m4-1.4.5.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à gettext-0.15.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à gcc-4.1.1.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à coreutils-5.97.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à bison-2.3.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à binutils-2.17.</para>
</listitem>
<listitem>
<para>[matthew] - Passage à autoconf-2.60.</para>
</listitem>
</itemizedlist>
</listitem>
 
</itemizedlist>
 
<para>LFS 6.2 réalisée le 3 août 2006.</para>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter01/askforhelp.xml
0,0 → 1,151
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-intro-askforhelp">
<?dbhtml filename="askforhelp.html"?>
 
<title>Aide</title>
 
<para>Si vous rencontrez une erreur ou si vous vous posez une question
en travaillant avec ce livre, vérifiez la FAQ sur
 
<ulink url="&faq-root;#generalfaq"/>. Les questions y ont souvent des
réponses. Si
 
votre question n'a pas sa réponse sur cette page, essayez de trouver
la source
 
du problème. L'astuce suivante vous donnera quelques conseils pour
cela&nbsp;: <ulink url="&hints-root;errors.txt"/>.</para>
 
<para>Si votre problème n'est pas listé dans la FAQ, recherchez dans
les listes de discussion sur <ulink
url="&lfs-root;search.html"/>.</para>
 
<para>Nous avons aussi une formidable communauté LFS, volontaire pour
offrir une
 
assistance via les listes de discussion et IRC (voir la section
 
<xref linkend="ch-intro-resources"/> de ce livre). Néanmoins, nous
recevons plusieurs questions de support chaque jour et un grand nombre
d'entre elles ont une réponse dans la FAQ et dans les listes de
discussions. Pour que nous puissions vous offrir la meilleure
assistance possible, vous devez faire quelques recherches de votre
côté. Ceci nous permet de nous concentrer sur les besoins inhabituels.
Si vos recherches ne vous apportent aucune solution, merci d'inclure
toutes les informations adéquates (mentionnées ci-dessous) dans votre
demande d'assistance.</para>
 
<sect2>
<title>Éléments à mentionner</title>
 
<para>À part une brève explication du problème, voici les éléments
essentiels à
 
inclure dans votre demande d'aide&nbsp;:</para>
 
<itemizedlist>
<listitem>
<para>La version du livre que vous utilisez (dans ce cas, &version;)</para>
</listitem>
<listitem>
<para>La distribution hôte (et sa version) que vous utilisez pour créer
LFS</para>
</listitem>
<listitem>
<para>Le paquet ou la section où le problème a été
rencontré</para>
</listitem>
<listitem>
<para>Le message d'erreur exact ou le symptôme reçu</para>
</listitem>
<listitem>
<para>Notez si vous avez dévié du livre </para>
</listitem>
</itemizedlist>
 
<note>
<para>Dévier du livre ne signifie <emphasis>pas</emphasis> que nous
n'allons pas vous aider. Après tout, LFS est basé sur les préférences de
l'utilisateur. Nous préciser les modifications effectuées sur la procédure
établie nous aide à évaluer et à déterminer les causes probables de votre
problème.</para>
</note>
 
</sect2>
 
<sect2>
<title>Problèmes avec le script configure</title>
 
<para>Si quelque chose se passe mal lors de l'exécution du script
<command>configure</command>, regardez le fichier
<filename>config.log</filename> Ce fichier pourrait contenir les
erreurs rencontrées lors de l'exécution de
<command>configure</command> qui n'ont pas été affichées à l'écran.
Incluez les lignes <emphasis>intéressantes</emphasis> si vous avez
besoin d'aide.</para>
 
</sect2>
 
<sect2>
<title>Problèmes de compilation</title>
 
<para>L'affichage écran et le contenu de différents fichiers sont
utiles pour déterminer la cause des problèmes de compilation.
L'affichage de l'écran du script <command>configure</command> et du
<command>make</command> peuvent être utiles. Il n'est pas nécessaire
d'inclure la sortie complète mais incluez suffisamment
d'informations intéressantes. Ci-dessous se trouve un exemple de
type d'informations à inclure à partir de l'affichage écran de
<command>make</command>&nbsp;:</para>
 
<screen><computeroutput>gcc -DALIASPATH=\"/mnt/lfs/usr/share/locale:.\"
-DLOCALEDIR=\"/mnt/lfs/usr/share/locale\"
-DLIBDIR=\"/mnt/lfs/usr/lib\"
-DINCLUDEDIR=\"/mnt/lfs/usr/include\" -DHAVE_CONFIG_H -I. -I.
-g -O2 -c getopt1.c
gcc -g -O2 -static -o make ar.o arscan.o commands.o dir.o
expand.o file.o function.o getopt.o implicit.o job.o main.o
misc.o read.o remake.o rule.o signame.o variable.o vpath.o
default.o remote-stub.o version.o opt1.o
-lutil job.o: In function `load_too_high':
/lfs/tmp/make-3.79.1/job.c:1565: undefined reference
to `getloadavg'
collect2: ld returned 1 exit status
make[2]: *** [make] Error 1
make[2]: Leaving directory `/lfs/tmp/make-3.79.1'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/lfs/tmp/make-3.79.1'
make: *** [all-recursive-am] Error 2</computeroutput></screen>
 
<para>Dans ce cas, beaucoup de personnes n'inclueraient que la
section du
 
bas</para>
 
<screen><computeroutput>make [2]: *** [make] Error 1</computeroutput></screen>
 
<para>Cette information n'est pas suffisante pour diagnostiquer
correctement le problème car il note seulement que quelque chose
s'est mal passé, pas <emphasis>ce</emphasis> qui s'est mal passé. La
section entière, comme dans l'exemple ci-dessus, est ce qui devrait
être sauvée car la commande exécutée et le(s) message(s) d'erreur
associé(s) sont inclus.</para>
 
<para>Un excellent article sur les demandes d'aide sur Internet est
disponible
 
en ligne sur
 
<ulink url="http://catb.org/~esr/faqs/smart-questions.html"/>. Lisez et
suivez les astuces de ce document pour accroître vos chances
d'obtenir l'aide dont vous avez besoin.</para>
 
</sect2>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter01/whatsnew.xml
0,0 → 1,281
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-intro-whatsnew">
<?dbhtml filename="whatsnew.html"?>
 
<title>Quoi de neuf depuis la dernière version</title>
 
<para>Vous trouverez ci-dessous la liste des mises à jour de paquets
opérées depuis la version précédente du livre.</para>
 
<!--
Chaque paquet dans le livre est listé dans la section "Mises à jour".
Commentez ou décommentez selon vos besoins. N'EFFACEZ AUCUNE de ces lignes
à moins que le paquet ne soit retiré entièrement du livre.
-->
 
<itemizedlist>
<title>Mises à jour</title>
 
<listitem>
<para>Autoconf &autoconf-version;</para>
</listitem>
<listitem>
<para>Automake &automake-version;</para>
</listitem>
<listitem>
<para>Bash &bash-version;</para>
</listitem>
<listitem>
<para>Berkeley DB &db-version;</para>
</listitem>
<listitem>
<para>Binutils &binutils-version;</para>
</listitem>
<listitem>
<para>Bison &bison-version;</para>
</listitem>
<listitem>
<para>Bzip2 &bzip2-version;</para>
</listitem>
<listitem>
<para>Coreutils &coreutils-version;</para>
</listitem>
<!--<listitem>
<para>DejaGNU &dejagnu-version;</para>
</listitem>-->
<!--<listitem>
<para>Diffutils &diffutils-version;</para>
</listitem>-->
<listitem>
<para>E2fsprogs &e2fsprogs-version;</para>
</listitem>
<!--<listitem>
<para>Expect &expect-version;</para>
</listitem>-->
<listitem>
<para>File &file-version;</para>
</listitem>
<listitem>
<para>Findutils &findutils-version;</para>
</listitem>
<!--<listitem>
<para>Flex &flex-version;</para>
</listitem>-->
<!--<listitem>
<para>Gawk &gawk-version;</para>
</listitem>-->
<listitem>
<para>GCC &gcc-version;</para>
</listitem>
<listitem>
<para>Gettext &gettext-version;</para>
</listitem>
<listitem>
<para>Glibc &glibc-version;</para>
</listitem>
<!--<listitem>
<para>Grep &grep-version;</para>
</listitem>-->
<listitem>
<para>Groff &groff-version;</para>
</listitem>
<!--<listitem>
<para>GRUB &grub-version;</para>
</listitem>-->
<listitem>
<para>Gzip &gzip-version;</para>
</listitem>
<listitem>
<para>IANA-Etc &iana-etc-version;</para>
</listitem>
<listitem>
<para>Inetutils &inetutils-version;</para>
</listitem>
<listitem>
<para>IPRoute2 &iproute2-version;</para>
</listitem>
<!--<listitem>
<para>Kbd &kbd-version;</para>
</listitem>-->
<listitem>
<para>Less &less-version;</para>
</listitem>
<listitem>
<para>LFS-Bootscripts &lfs-bootscripts-version;</para>
</listitem>
<listitem>
<para>Libtool &libtool-version;</para>
</listitem>
<listitem>
<para>Linux &linux-version;</para>
</listitem>
<listitem>
<para>M4 &m4-version;</para>
</listitem>
<listitem>
<para>Make &make-version;</para>
</listitem>
<!--<listitem>
<para>Man-DB &man-db-version;</para>
</listitem>-->
<listitem>
<para>Man-pages &man-pages-version;</para>
</listitem>
<!--<listitem>
<para>Mktemp &mktemp-version;</para>
</listitem>-->
<!--<listitem>
<para>Module-Init-Tools &module-init-tools-version;</para>
</listitem-->
<listitem>
<para>Ncurses &ncurses-version;</para>
</listitem>
<!--<listitem>
<para>Patch &patch-version;</para>
</listitem>-->
<!--<listitem>
<para>Perl &perl-version;</para>
</listitem>-->
<listitem>
<para>Procps &procps-version;</para>
</listitem>
<listitem>
<para>Psmisc &psmisc-version;</para>
</listitem>
<listitem>
<para>Readline &readline-version;</para>
</listitem>
<!--<listitem>
<para>Sed &sed-version;</para>
</listitem>-->
<listitem>
<para>Shadow &shadow-version;</para>
</listitem>
<!--<listitem>
<para>Sysklogd &sysklogd-version;</para>
</listitem>-->
<!--<listitem>
<para>SysVinit &sysvinit-version;</para>
</listitem>-->
<listitem>
<para>Tar &tar-version;</para>
</listitem>
<listitem>
<para>TCL &tcl-version;</para>
</listitem>
<listitem>
<para>Texinfo &texinfo-version;</para>
</listitem>
<listitem>
<para>Udev &udev-version;</para>
</listitem>
<listitem>
<para>&udev-config;</para>
</listitem>
<!--<listitem>
<para>Util-Linux &util-linux-version;</para>
</listitem>-->
<listitem>
<para>Vim &vim-version;</para>
</listitem>
<!--<listitem>
<para>Zlib &zlib-version;</para>
</listitem>-->
</itemizedlist>
 
<!--<itemizedlist>
<title>Rétrogadation vers</title>
 
<listitem>
<para>PLACEHOLDER</para>
</listitem>
 
</itemizedlist>-->
 
<itemizedlist>
<title>Ajoutés</title>
 
<listitem>
<para>&bash-fixes-patch;</para>
</listitem>
<listitem>
<para>&db-fixes-patch;</para>
</listitem>
<listitem>
<para>&inetutils-man_pages-patch;</para>
</listitem>
<listitem>
<para>&ncurses-coverity-patch;</para>
</listitem>
<listitem>
<para>&readline-fixes-patch;</para>
</listitem>
<listitem>
<para>&util-linux-lseek-patch;</para>
</listitem>
<listitem>
<para>&vim-fixes-patch;</para>
</listitem>
</itemizedlist>
 
<itemizedlist>
<title>Supprimés:</title>
 
<listitem>
<para>bash-3.1-fixes-8.patch </para>
</listitem>
<listitem>
<para>db-4.4.20-fixes-1.patch </para>
</listitem>
<listitem>
<para>glibc-2.3.6-inotify-1.patch </para>
</listitem>
<listitem>
<para>glibc-2.3.6-linux_types-1.patch</para>
</listitem>
<listitem>
<para>gzip-1.3.5-security_fixes-1.patch</para>
</listitem>
<listitem>
<para>inetutils-gcc4_fixes-3.patch</para>
</listitem>
<listitem>
<para>inetutils-no_server_man_pages-1.patch</para>
</listitem>
<listitem>
<para>less-394-signal_fix-1.patch</para>
</listitem>
<listitem>
<para>linux-2.6.17.13-utf8_input-1.patch</para>
</listitem>
<listitem>
<para>Linux-libc-headers 2.6.12.0</para>
</listitem>
<listitem>
<para>ncurses-5.5-fixes-1.patch</para>
</listitem>
<listitem>
<para>readline-5.1-fixes-3.patch</para>
</listitem>
<listitem>
<para>tar-1.15.1-gcc4_fix_tests-1.patch</para>
</listitem>
<listitem>
<para>tar-1.15.1-security_fixes-1.patch</para>
</listitem>
<listitem>
<para>tar-1.15.1-sparse_fix-1.patch</para>
</listitem>
<listitem>
<para>vim-7.0-fixes-7.patch</para>
</listitem>
 
</itemizedlist>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter01/livecd.xml
0,0 → 1,107
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-intro-livecd">
<?dbhtml filename="livecd.html"?>
 
<title>À propos du CD inclus</title>
 
<para>Pour votre confort, nous avons inclus un CD avec ce livre
contenant les paquets de sources nécessaires pour créer un système
Linux From Scratch. Le CD est amorçable et fournit un environnement de
travail stable pour construire LFS. Ce livre se réfère à ce système
comme le <quote>système hôte</quote>. Les images CD sont maintenues
activement et des versions mises à jour sont disponibles sur
 
<ulink url="ftp://ftp.lfs-matrix.net/pub/lfs-livecd/"/></para>
 
<para>En plus des outils requis pour construire LFS, le système hôte
sur le CD a un certain nombre d'autres outils utiles installés&nbsp;:</para>
 
<itemizedlist>
 
<listitem>
<para>Une version HTML de ce livre</para>
</listitem>
 
<listitem>
<para>L'environnement X Window System</para>
</listitem>
 
<listitem>
<para>Outils Web</para>
<itemizedlist>
<listitem>
<para>Wget (récupération de fichiers en ligne de commande)</para>
</listitem>
<listitem>
<para>Lynx (navigateur web texte)</para>
</listitem>
<listitem>
<para>Irssi (client IRC en console)</para>
</listitem>
<listitem>
<para>Firefox (navigateur web graphique)</para>
</listitem>
<listitem>
<para>Xchat (client IRC basé sur X)</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>Éditeurs de texte</para>
<itemizedlist>
<listitem>
<para>Vim</para>
</listitem>
<listitem>
<para>Nano</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>Outils réseau</para>
<itemizedlist>
<listitem>
<para>Serveur et client SSH</para>
</listitem>
<listitem>
<para>Serveur et client NFS</para>
</listitem>
<listitem>
<para>Smbmount (mount.cifs) pour les partages Windows</para>
</listitem>
<listitem>
<para>Subversion</para>
</listitem>
<listitem>
<para>Dhcpcd (client DHCP)</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>Programmes de systèmes de fichiers</para>
<itemizedlist>
<listitem>
<para>Reiserfsprogs</para>
</listitem>
<listitem>
<para>Xfsprogs</para>
</listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>nALFS - Un outil pour automatiser les constructions LFS</para>
</listitem>
 
</itemizedlist>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter01/chapter01.xml
0,0 → 1,21
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<chapter id="chapter-intro" xreflabel="Chapitre 1">
<?dbhtml dir="chapter01"?>
<?dbhtml filename="chapter01.html"?>
 
<title>Introduction</title>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="how.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="whatsnew.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="changelog.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="resources.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="askforhelp.xml"/>
<!--<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="livecd.xml"/>-->
 
</chapter>
/tags/LFS-6_3_0/lfs/chapter01/resources.xml
0,0 → 1,117
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-intro-resources">
<?dbhtml filename="resources.html"?>
 
<title>Ressources</title>
 
<sect2 id="ch-intro-faq">
<title>FAQ</title>
 
<para>Si vous rencontrez des erreurs lors de la construction du
système LFS, si vous avez des questions ou si vous pensez qu'il y a
une erreur de typographie dans ce livre, merci de commencer par
consulter la <acronym>FAQ</acronym> (Foire aux Questions) sur
 
<ulink url="&faq-root;"/>.</para>
 
</sect2>
 
<sect2 id="ch-intro-maillists" xreflabel="Chapitre 1 - Listes de diffusion">
<title>Listes de diffusion</title>
 
<para>Le serveur <uri>linuxfromscratch.org</uri> gère quelques
listes de diffusion utilisées pour le développement du projet LFS.
Ces listes incluent, entre autres, les listes de développement et de
support. Si la FAQ ne résout pas votre problème, la prochaine étape
serait de chercher dans les listes de discussion sur
 
<ulink url="&lfs-root;search.html"/>.</para>
 
<para>Pour connaître les listes disponibles, les conditions
d'abonnement, l'emplacement des archives et quelques autres
informations, allez sur
<ulink url="&lfs-root;mail.html"/>.</para>
 
</sect2>
 
<!-- FIXME: Remove until such time as we have our own News Server, JH 20060105
 
<sect2 id="ch-intro-newsserver">
<title>Serveur de news</title>
 
<para>Les listes de diffusion gérées par
<uri>linuxfromscratch.org</uri> sont aussi accessibles via le
serveur NNTP. Tous les messages envoyés sur une liste de diffusion
sont copiés dans le groupe de nouvelles correspondant, et
vice-versa.</para>
 
<para>Le serveur de nouvelles est situé sur
<uri>news.linuxfromscratch.org</uri>.</para>
 
</sect2> -->
 
<sect2 id="ch-intro-irc">
<title>IRC</title>
 
<para>Plusieurs membres de la communauté LFS offrent une assistance
sur le
 
réseau IRC (Internet Relay Chat) de notre communauté. Avant
d'utiliser ce mode
 
de support, assurez-vous que la réponse à votre question ne se
trouve pas déjà
 
dans la FAQ LFS (voir ci-dessus) ou dans les archives des listes de
diffusion
 
(voir ci-dessous) pour tenter de trouver une réponse à votre
question. Vous
 
trouverez le réseau IRC à l'adresse
<uri>irc.linuxfromscratch.org</uri>. Le canal du support se nomme
#LFS-support.</para>
 
</sect2>
 
<sect2 id="ch-intro-references">
<title>Références</title>
 
<para>Pour plus d'informations sur les paquets, des indications très
utiles sont
 
disponibles dans la page de référence des paquetages LFS située
sur&nbsp;:
<ulink url="http://www.linuxfromscratch.org/~matthew/LFS-references.html"/>.</para>
 
</sect2>
 
<sect2 id="ch-intro-mirrors" xreflabel="Chapitre 1 - Sites miroirs">
<title>Sites miroirs</title>
 
<para>Le projet LFS a un bon nombre de miroirs configurés tout
autour du monde pour faciliter l'accès au site web ainsi que le
téléchargement des paquetages requis. Merci de visiter le site web
de LFS sur
 
<ulink url="&lfs-root;mirrors.html"/> pour obtenir une liste des
miroirs à jour.</para>
 
</sect2>
 
<sect2 id="ch-intro-contactinfo">
<title>Contacts</title>
 
<para>Merci d'envoyer toutes vos questions et commentaires sur les
listes de diffusion LFS (voir ci-dessus).</para>
 
</sect2>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter01/how.xml
0,0 → 1,116
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-intro-how">
<?dbhtml filename="how.html"?>
 
<title>Comment construire un système LFS</title>
 
<para>Le système LFS sera construit en utilisant une distribution
Linux déjà installée (telle que Debian, Mandrake, Red Hat ou SuSE). Ce
système Linux existant (l'hôte) sera utilisé comme point de départ
pour fournir certains programmes nécessaires, ceci incluant un
compilateur, un éditeur de liens et un shell, pour construire le
nouveau système. Sélectionnez l'option <quote>développement</quote>
(<foreignphrase>development</foreignphrase>) lors de l'installation de
la distribution pour disposer de ces outils.</para>
 
<para>Alternativement à l'installation d'une distribution séparée
complète sur votre machine, vous pouvez utiliser le LiveCD Linux From
Scratch. Le CD fonctionne en tant que système hôte, fournissant
tous les outils dont vous avez besoin pour suivre les instructions de
ce livre avec succès. De plus, il contient les paquetages sources,
correctifs et une copie de ce livre. Une fois que vous avez le CD,
aucune connexion réseau et aucun téléchargement supplémentaire n'est
nécessaire. Pour plus d'informations sur le LiveCD LFS ou pour
télécharger une copie, visitez <ulink url="&livecd-root;"/>.</para>
 
<note>
<para>Il se pourrait que le LiveCD LFS ne fonctionne pas sur les
configurations récentes, en ne démarrant pas ou en échouant lors de la
détection des périphériques, comme les disques durs SATA.</para>
 
<para>L'équipe du LiveCD LFS travaille à la correction de ces problèmes,
mais ils ont besoin de votre aide pour le tester, en leur signalant
les problèmes rencontrés, et en collaborant au développement du LiveCD.
</para>
 
<para>Merci d'envoyer les rapports sur le LiveCD LFS ou vos contributions
au développement sur la
<ulink url="mailto:livecd@linuxfromscratch.org">liste de diffusion LFS LiveCD</ulink>.</para>
</note>
 
<para>Le <xref linkend="chapter-partitioning"/> de ce livre décrit comment créer
une nouvelle partition native Linux et un système de fichiers,
c'est-à-dire un emplacement où le nouveau système LFS sera compilé et installé.
Le <xref linkend="chapter-getting-materials"/> explique quels paquets et
correctifs ont besoin d'être téléchargés pour construire un système LFS et
comment les stocker sur le nouveau système de fichiers.
Le <xref linkend="chapter-final-preps"/>
traite de la
configuration pour un environnement de travail approprié. Merci de lire
le <xref linkend="chapter-final-preps"/> avec attention car il explique
plusieurs problèmes importants dont le développeur doit être au courant
avant de commencer à travailler sur le <xref linkend="chapter-temporary-tools"/>
et les chapitres suivants.</para>
 
<para>Le <xref linkend="chapter-temporary-tools"/> explique l'installation d'un
ensemble de paquets qui formera la suite de développement de base (ou ensemble
d'outils) utilisé pour construire le système réel dans le <xref
linkend="chapter-building-system"/>. Certains de ces paquets sont nécessaires
pour résoudre des dépendances circulaires&nbsp;&mdash; par exemple, pour compiler
compilateur, vous avez besoin d'un compilateur.</para>
 
<para>Le <xref linkend="chapter-temporary-tools"/> montre aussi à
l'utilisateur comment construire dans une première passe l'ensemble des
outils, incluant Binutils et GCC (première passe signifiant
basiquement que ces deux paquets principaux seront installés une
deuxième fois). La prochaine étape consiste à construire Glibc, la
bibliothèque C. Glibc sera compilé par les programmes de l'ensemble
d'outils, construits lors de la première passe. Ensuite, une seconde
passe de l'ensemble d'outils sera lancée. Cette fois, l'ensemble
d'outils sera lié dynamiquement avec la Glibc nouvellement construite.
Les paquets restants du <xref linkend="chapter-temporary-tools"/>
seront construits en utilisant l'ensemble d'outils de cette deuxième
passe. Lorsque ceci sera fait, le processus d'installation de LFS ne
dépendra plus de la distribution hôte, à l'exception du noyau en cours
d'exécution.</para>
 
<para>Cet effort consistant à isoler le nouveau système de la distribution hôte
peut sembler excessif mais une explication technique complète est fournie dans
<xref linkend="ch-tools-toolchaintechnotes"/>.</para>
 
<para>Dans le <xref linkend="chapter-building-system"/>, le système
LFS complet est construit. Le programme <command>chroot</command>
(changement de racine) est utilisé pour entrer dans un environnement
virtuel et pour lancer un nouveau shell dont le répertoire racine sera
initialisé à la partition LFS. Ceci ressemble au redémarrage et à
l'instruction au noyau de monter la partition LFS comme partition
racine. Le système ne redémarre pas réellement mais change la racine
parce que la création d'un système démarrable (amorçable) réclame un
travail supplémentaire qui n'est pas encore nécessaire. L'avantage
principal est que <quote>chroot</quote> permet à l'utilisateur de
continuer à utiliser l'hôte pendant la construction de LFS. En
attendant que la compilation d'un paquet se termine, un utilisateur
peut passer sur une console virtuelle (VC) différente ou un bureau X
et continuer à utiliser son ordinateur comme d'habitude.</para>
 
<para>Pour terminer l'installation, les scripts de démarrage sont
configurés dans le <xref linkend="chapter-bootscripts"/>, le noyau et
le chargeur de démarrage sont configurés dans le <xref
linkend="chapter-bootable"/>. Le <xref linkend="chapter-finalizing"/>
contient des informations sur la suite de l'expérience LFS après ce
livre. Après l'implémentation des étapes de ce livre, l'ordinateur
sera prêt à redémarrer dans le nouveau système LFS.</para>
 
<para>Ceci expose rapidement le processus. Des informations détaillées
sur chaque étape sont traitées dans les chapitres suivants avec les
descriptions des paquets. Les éléments qui peuvent sembler compliqués
seront clarifiés et tout ira à sa place, alors que le lecteur
s'embarquera pour l'aventure LFS.</para>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter01/administrativa.xml
0,0 → 1,97
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-scatter-administrativa">
<title>Ressources</title>
<?dbhtml filename="resources.html"?>
 
 
<sect2 id="ch-scatter-faq">
<title>FAQ</title>
 
<para>Si vous rencontrez des problèmes lors de la construction du système
LFS, si vous avez des questions ou si vous pensez qu'il y a une coquille
typographique dans ce livre, merci de commencer par consulter la
<acronym>FAQ</acronym> (Foire aux Questions) sur <ulink
url="&faq-root;"/>.</para>
 
</sect2>
 
 
<sect2 id="ch-scatter-maillists" xreflabel="Chapitre 1 - Listes de diffusion">
<title>Listes de diffusion</title>
 
<para>Le serveur <uri>linuxfromscratch.org</uri> gère quelques listes
de diffusion utilisées pour le développement du projet LFS. Ces listes
incluent, entre autres, les listes de développement et de support. Si la FAQ
ne résout pas votre problème, l'étape suivante est de chercher dans les
liste de discussion (<ulink url="&lfs-root;search.html"/>).</para>
 
<para>Pour connaître les listes disponibles, les conditions d'abonnement,
l'emplacement des archives et quelques autres informations, allez sur
<ulink url="&lfs-root;mail.html"/>.</para>
 
</sect2>
 
 
<sect2 id="ch-scatter-newsserver">
<title>Serveur de nouvelles</title>
 
<para>Les listes de diffusion gérées par <uri>linuxfromscratch.org</uri> sont
aussi accessibles via le serveur NNTP. Tous les messages envoyés sur une liste
de diffusion sont copiés dans le groupe de nouvelles correspondant, et
vice-versa.</para>
 
<para>Le serveur de nouvelles est situé sur
<emphasis>news.linuxfromscratch.org</emphasis>.</para>
 
</sect2>
 
 
<sect2 id="ch-scatter-irc">
<title>IRC</title>
 
<para>Plusieurs membres de la communauté LFS offrent une assistance sur le
réseau IRC (Internet Relay Chat) de notre communauté. Avant d'utiliser ce mode
de support, assurez-vous que la réponse à votre question ne se trouve pas déjà
dans la FAQ LFS (voir ci-dessus) ou dans les archives des listes de diffusion
(voir ci-dessous). Vous
trouverez le réseau IRC à l'adresse <uri>irc.linuxfromscratch.org</uri>, port
6667. Le canal dédié au support se nomme #LFS-support.</para>
 
</sect2>
 
 
<sect2 id="ch-scatter-references">
<title>Références</title>
 
<para>Pour plus d'informations sur les paquets, des indications utiles sont
disponibles sur la page de référence des paquetages LFS située sur&nbsp;:
<ulink url="http://www.109bean.org.uk/LFS-references.html"/>.</para>
 
</sect2>
 
 
<sect2 id="ch-scatter-mirrors" xreflabel="Chapitre 1 - Sites miroirs">
<title>Sites miroirs</title>
 
<para>Le projet LFS a un bon nombre de miroirs configurés tout autour du
monde pour faciliter l'accès au site web ainsi que le téléchargement des
paquetages requis. Merci de visiter le site web de LFS sur <ulink
url="&lfs-root;mirrors.html"/> pour obtenir une liste des miroirs à jour.</para>
 
</sect2>
 
 
<sect2 id="ch-scatter-contactinfo">
<title>Contacts</title>
 
<para>Merci d'envoyer toutes vos questions et commentaires sur les listes
de diffusion LFS (voir ci-dessus).</para>
 
</sect2>
 
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter01/bootcd.xml
0,0 → 1,68
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="prepare-bootcd">
<title>À propos du CD inclus</title>
<?dbhtml filename="bootcd.html"?>
 
<para>Pour vous, nous avons inclus un CD avec ce livre. Il contient toutes les
sources nécessaires pour créer un système Linux From Scratch. Le CD est amorçable
et fournit un environnement de travail stable pour construire LFS. Ce livre se
réfère à ce système comme le <quote>système hôte</quote>.</para>
 
<para>En plus des outils requis pour construire LFS, le système hôte sur le CD
a un certain nombre d'autres outils utiles installés&nbsp;:</para>
 
<itemizedlist>
<listitem><para>Une version HTML de ce livre</para></listitem>
<listitem><para>L'environnement X Window System</para></listitem>
<listitem>
<para>Outils Web</para>
<itemizedlist>
<listitem><para>Wget (récupération de fichiers en
ligne de commande)</para></listitem>
<listitem><para>Lynx (navigateur web en mode
texte)</para></listitem>
<listitem><para>Irssi (client IRC
console)</para></listitem>
<listitem><para>Firefox (navigateur web
graphique X)</para></listitem>
<listitem><para>Xchat (client IRC graphique X)</para></listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>Éditeurs de texte</para>
<itemizedlist>
<listitem><para>Vim</para></listitem>
<listitem><para>Nano</para></listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>Outils réseau</para>
<itemizedlist>
<listitem><para>Serveur et client SSH</para></listitem>
<listitem><para>Serveur et client NFS</para></listitem>
<listitem><para>Smbmount (mount.cifs) pour les partages
Windows</para></listitem>
<listitem><para>Subversion</para></listitem>
<listitem><para>Dhcpcd (client DHCP)</para></listitem>
</itemizedlist>
</listitem>
 
<listitem>
<para>Programmes de systèmes de fichiers</para>
<itemizedlist>
<listitem><para>Reiserfsprogs</para></listitem>
<listitem><para>Xfsprogs</para></listitem>
</itemizedlist>
</listitem>
 
<listitem><para>nALFS - Un outil pour automatiser les constructions
LFS</para></listitem>
</itemizedlist>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter05/tcl.xml
0,0 → 1,135
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-tcl" role="wrap">
<?dbhtml filename="tcl.html"?>
 
<title>Tcl-&tcl-version;</title>
 
<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.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&tcl-ch5-sbu;</seg>
<seg>&tcl-ch5-du;</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 essentiel, 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 qu'on ne comprend pas toujours. 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 Greenwich Mean Time
(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>
 
<para>Installez les en-têtes de Tcl, le prochain paquet, Expect, en a
besoin pour se construire.</para>
 
<screen><userinput>make install-private-headers</userinput></screen>
 
<para>Maintenant, ajoutez un lien symbolique nécessaire&nbsp;:</para>
 
<screen><userinput>ln -sv tclsh8.4 /tools/bin/tclsh</userinput></screen>
 
</sect2>
 
<sect2 id="contents-tcl" role="content">
<title>Contenu de Tcl</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèque installée</segtitle>
 
<seglistitem>
<seg>tclsh (lien vers tclsh8.4) et tclsh8.4</seg> <seg>libtcl8.4.so</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?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_3_0/lfs/chapter05/gettext.xml
0,0 → 1,85
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-gettext" role="wrap">
<?dbhtml filename="gettext.html"?>
 
<title>Gettext-&gettext-version;</title>
 
<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>&gettext-ch5-sbu;</seg>
<seg>&gettext-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Gettext</title>
 
<para>Pour notre paramétrage temporaire des outils, nous n'avons besoin de
compiler et d'installer qu'un binaire de Gettext.</para>
 
<para>Préparez la compilation de Gettext&nbsp;:</para>
 
<screen><userinput>cd gettext-tools
./configure --prefix=/tools --disable-shared</userinput></screen>
 
<variablelist>
<title>Voici la signification des options de configure&nbsp;:</title>
 
<varlistentry>
<term><parameter>--disable-shared</parameter></term>
<listitem>
<para>Nous n'avons besoin d'installer aucune bibliothèque partagée de
Gettext pour le moment, donc ce n'est pas nécessaire de les compiler.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make -C gnulib-lib
make -C src msgfmt</userinput></screen>
 
<para>Comme seul un binaire a été compilé, ce n'est pas possibbe
d'exécuter la suite de tests sans compiler des bibliothèques de support
complémentaires du paquet Gettext. Il n'est donc pas recommandé d'essayer
d'exécuter la suite de tests à cette étape.</para>
 
<para>Installez le binaire <command>msgfmt</command>&nbsp;:</para>
 
<screen><userinput>cp -v src/msgfmt /tools/bin</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_3_0/lfs/chapter05/coreutils.xml
0,0 → 1,79
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-coreutils" role="wrap">
<?dbhtml filename="coreutils.html"?>
 
<title>Coreutils-&coreutils-version;</title>
 
<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>&coreutils-ch5-sbu;</seg>
<seg>&coreutils-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Coreutils</title>
 
<para>Préparez la compilation de Coreutils&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 RUN_EXPENSIVE_TESTS=yes check</userinput>. Le
paramètre <parameter>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>
 
<para>La commande ci-dessus refuse l'installation de <filename>su</filename>
car il ne peut installer l'uid de root en tant qu'utilisateur non
privilégié. En l'installant à la main avec un nom différent, nous pouvons
l'utiliser pour exécuter les tests dans le système final en tant
qu'utilisateur non privilégié et nous conservons un <command>su</command>
utile de notre système hôte effacé dans la PATH. Installez-le
avec&nbsp;:</para>
 
<screen><userinput>cp -v src/su /tools/bin/su-tools</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_3_0/lfs/chapter05/dejagnu.xml
0,0 → 1,84
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-dejagnu" role="wrap">
<?dbhtml filename="dejagnu.html"?>
 
<title>DejaGNU-&dejagnu-version;</title>
 
<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>&dejagnu-ch5-sbu;</seg>
<seg>&dejagnu-ch5-du;</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>
 
<para>Pour tester le résultat, lancez&nbsp;:</para>
<screen><userinput>make check</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">Courte descriptions</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_3_0/lfs/chapter05/binutils-pass1.xml
0,0 → 1,169
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-binutils-pass1" role="wrap">
<?dbhtml filename="binutils-pass1.html"?>
 
<title>Binutils-&binutils-version; - Passe 1</title>
 
<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>&binutils-ch5p1-sbu;</seg>
<seg>&binutils-ch5p1-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
 
<title>Installation de Binutils</title>
 
<para>Il est important que Binutils soit le premier paquet compilé
parce que 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>La documentation de Binutils recommande de construire Binutils
en dehors du répertoire des sources, c'est-à-dire dans un répertoire
de construction dédié&nbsp;:</para>
 
<screen><userinput>mkdir -v ../binutils-build
cd ../binutils-build</userinput></screen>
 
<note>
 
<para>Pour que les valeurs SBU listées dans le reste du livre vous soient
utiles, mesurez le temps pris pour construire ce paquet, de la configuration
jusqu'à la première installation. Pour cela, englobez les trois commandes
dans une commande <command>time</command> de cette façon&nbsp;:
<userinput>time { ./configure ... &amp;&amp; make
&amp;&amp; make install; }</userinput>.</para> </note>
 
<para>Maintenant, préparez la compilation de Binutils&nbsp;:</para>
 
<screen><userinput>CC="gcc -B/usr/bin/" ../binutils-&binutils-version;/configure \
--prefix=/tools --disable-nls --disable-werror</userinput></screen>
 
<variablelist>
<title>Voici la signification des options de configure&nbsp;:</title>
 
<varlistentry>
<term><envar>CC="gcc -B/usr/bin/"</envar></term>
<listitem>
<para>Cela oblige <command>gcc</command> à préférer l'éditeur de lien
du système hôte dans <filename class="directory">/usr/bin</filename>.
C'est nécessaire sur certains systèmes hôtes où le nouveau
<command>ld</command> compilé ici n'est pas compatible avec le
<command>gcc</command> du système hôte.
</para>
</listitem>
</varlistentry>
 
<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 comme i18n car ce n'est pas
nécessaire pour des outils temporaires.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--disable-werror</parameter></term>
<listitem>
<para>Ceci empêche la compilation de s'arrêter lorsqu'interviennent des
événements comme des avertissements du compilateur du système
hôte.</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ée 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
cp -v ld/ld-new /tools/bin</userinput></screen>
 
<variablelist>
<title>Voici la signification des paramètres de make&nbsp;:</title>
 
<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 LIB_PATH=/tools/lib</parameter></term>
<listitem>
<para>Cette option reconstruit tout ce qui se trouve dans le
sous-répertoire <filename class="directory">ld</filename>. Spécifier
la variable makefile <envar>LIB_PATH</envar> en ligne de commande
nous autorise à écraser la valeur par défaut et à la faire pointer
vers notre emplacement temporaire des outils. La valeur de
cette variable spécifie le chemin de recherche des bibliothèques par
défaut pour l'éditeur de liens. Cette préparation est utilisée plus
tard dans le chapitre.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
</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_3_0/lfs/chapter05/introduction.xml
0,0 → 1,82
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-introduction">
<?dbhtml filename="introduction.html"?>
 
<title>Introduction</title>
 
<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>
 
<important>
<para>Avant de lancer les instructions de construction pour un
paquet, le paquet doit être déballé en tant qu'utilisateur
<systemitem class="username">lfs</systemitem>, et vous devez utiliser la
commande <command>cd</command> pour entrer dans le répertoire tout juste créé. Les instructions
de construction supposent que le shell <command>bash</command> est utilisé.</para>
</important>
 
<para>Plusieurs paquets sont corrigés avant d'être compilés, mais
seulement dans le cas où la correction est nécessaire pour résoudre un
problème. Souvent, le correctif est nécessaire à la fois dans ce
chapitre et dans le suivant, mais quelque fois dans seulement un des
deux. Donc, ne vous inquiétez pas lorsque des instructions pour un
correctif téléchargé semblent manquer. Des messages d'avertissements
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; sur une
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>
 
<important>
<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 empêche une mauvaise
configuration lorsque le même paquet est réinstallé un peu plus tard.</para>
</important>
 
<para>Vérifiez une dernière fois que la variable d'environnement
<envar>LFS</envar> est configurée correctement&nbsp;:</para>
 
<screen role="nodump"><userinput>echo $LFS</userinput></screen>
 
<para>Assurez-vous que le résultat 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>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter05/tar.xml
0,0 → 1,65
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-tar" role="wrap">
<?dbhtml filename="tar.html"?>
 
<title>Tar-&tar-version;</title>
 
<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>&tar-ch5-sbu;</seg>
<seg>&tar-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</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_3_0/lfs/chapter05/bzip2.xml
0,0 → 1,59
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-bzip2" role="wrap">
<?dbhtml filename="bzip2.html"?>
 
<title>Bzip2-&bzip2-version;</title>
 
<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>&bzip2-ch5-sbu;</seg>
<seg>&bzip2-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Bzip2</title>
 
<para>Le paquet Bzip2 ne contient pas de script <command>configure</command>.
Compilez-le et testez-le avec&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make PREFIX=/tools install</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont situés dans
<xref linkend="contents-bzip2" role="."/></para>
 
</sect2>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter05/adjusting.xml
0,0 → 1,126
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-adjusting">
<?dbhtml filename="adjusting.html"?>
 
<title>Ajuster l'ensemble d'outils</title>
 
<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">/tools/$(gcc -dumpmachine)/bin</filename>&nbsp;:</para>
 
<screen><userinput>mv -v /tools/bin/{ld,ld-old}
mv -v /tools/$(gcc -dumpmachine)/bin/{ld,ld-old}
mv -v /tools/bin/{ld-new,ld}
ln -sv /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld</userinput></screen>
 
<para>À partir de ce moment, tout sera lié uniquement avec les bibliothèques
comprises dans <filename class="directory">/tools/lib</filename>.</para>
 
<para>La prochaine tâche est de modifier le fichier specs de GCC pour qu'il
pointe vers le nouvel éditeur de liens. Ceci se fait en plaçant le fichier
<quote>specs</quote> de GCC à un endroit où GCC va le chercher par défaut.
Un simple script <command>sed</command> modifie alors l'éditeur de liens
dynamique que GCC utilisera.</para>
 
<para>Par soucis de précision, il est recommandé que la commande
ci-dessus soit copiée/collée.
Assurez-vous d'inspecter visuellement le fichier specs pour vérifier
que toutes les occurrences de <quote>/lib/ld-linux.so.2</quote> ont
été remplacées par <quote>/tools/lib/ld-linux.so.2</quote>&nbsp;:</para>
 
<important>
<para>Au cas où le nom de l'éditeur de liens de la plateforme de
travail est autre que <filename class="libraryfile">ld-linux.so.2</filename>,
remplacez <quote>ld-linux.so.2</quote> par 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>
 
<!-- Ampersands are needed to allow copy and paste -->
<screen><userinput>gcc -dumpspecs | sed 's@^/lib/ld-linux.so.2@/tools&amp;@g' \
> `dirname $(gcc -print-libgcc-file-name)`/specs</userinput></screen>
 
<para>Pendant la procédure de construction, GCC exécute un script
(<command>fixincludes</command>) qui parcourt le système pour déterminer les
fichiers d'en-tête qui pourraient nécessiter une réparation (ils pourraient
contenir des erreurs de syntaxe, par exemple), et qui installe les versions
corrigées dans un répertoire include autonome. Il se peut que, au terme de ce
processus, certains fichiers d'en-tête du système hôte se trouvent placés
dans le répertoire autonome include de GCC. Comme le reste de ce chapitre
n'exige que les en-têtes de GCC et de Glibc, qui ont désormais été installées,
toute en-tête <quote>corrigée</quote> peut être supprimée en toute sécurité. Cela
permet d'éviter toute pollution de l'environnement de construction par les
en-têtes du système hôte. Lancez les commandes suivantes pour supprimer
les fichiers d'en-tête dans le répertoire autonome include de GCC (il se
peut que vous trouviez plus facile de copier-coller les commandes plutôt que
de les saisir à la main, du fait de leur longueur)&nbsp;:</para>
 
<!-- && used to ease copy and pasting -->
<screen><userinput>GCC_INCLUDEDIR=`dirname $(gcc -print-libgcc-file-name)`/include &amp;&amp;
find ${GCC_INCLUDEDIR}/* -maxdepth 0 -xtype d -exec rm -rvf '{}' \; &amp;&amp;
rm -vf `grep -l "DO NOT EDIT THIS FILE" ${GCC_INCLUDEDIR}/*` &amp;&amp;
unset GCC_INCLUDEDIR</userinput></screen>
 
<caution>
<para>Il est impératif à ce moment de s'arrêter et de s'assurer que les
fonctions basiques (compilation et édition des liens) du nouvel ensemble
d'outils fonctionnent comme attendu. Pour réaliser une vérification de
propreté, 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 de l'éditeur de liens dynamique.</para>
 
<para>Si l'affichage diffère ou s'il n'y a aucun affichage, alors
quelque chose ne se passe pas bien. Enquêtez et tracez 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
de propreté 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. Lisez de nouveau <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 <command>echo $PATH</command> 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
<systemitem class="username">lfs</systemitem> 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 en vous
assurant de copier/coller les commandes.</para>
 
<para>Une fois que tout va bien, nettoyez les fichiers de test&nbsp;::</para>
 
<screen><userinput>rm -v dummy.c a.out</userinput></screen>
 
</caution>
 
<note><para>Construire TCL dans la prochaine section servira comme vérification
supplémentaire de la bonne mise en place de l'outil de construction. Si TCL
échoue à la construction, c'est une indication d'un problème avec l'installation
de Binutils, GCC ou Glibc, mais pas avec TCL lui-même.</para></note>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter05/diffutils.xml
0,0 → 1,64
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-diffutils" role="wrap">
<?dbhtml filename="diffutils.html"?>
 
<title>Diffutils-&diffutils-version;</title>
 
<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>&diffutils-ch5-sbu;</seg>
<seg>&diffutils-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</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_3_0/lfs/chapter05/gawk.xml
0,0 → 1,76
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-gawk" role="wrap">
<?dbhtml filename="gawk.html"?>
 
<title>Gawk-&gawk-version;</title>
 
<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>&gawk-ch5-sbu;</seg>
<seg>&gawk-ch5-du;</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=/tools</userinput></screen>
 
<para>Du fait d'un bogue dans le script <command>configure</command>,
Gawk échoue pour détecter certaines caractéristiques du support de la
locale dans Glibc. Ce bogue
conduit à des échecs des suites de test (par exemple Gettext). Contournez
ce problème en ajoutant les définitions de macro manquantes à <filename>config.h</filename>&nbsp;:</para>
 
<screen><userinput>cat &gt;&gt; config.h &lt;&lt; "EOF"
<literal>#define HAVE_LANGINFO_CODESET 1
#define HAVE_LC_MESSAGES 1</literal>
EOF</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester le résultat, 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_3_0/lfs/chapter05/changingowner.xml
0,0 → 1,59
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-changingowner">
<?dbhtml filename="changingowner.html"?>
 
<title>Changer de propriétaire</title>
 
<note>
<para>Les commandes dans la suite de ce livre doivent être exécutées alors
que vous êtes connecté en tant que
<systemitem class="username">root</systemitem> et non connecté en tant que
qu'utilisateur <systemitem class="username">lfs</systemitem>. Contrôlez
à nouveau que <envar>$LFS</envar> est paramétré dans l'environnement de
<systemitem class="username">root</systemitem>.</para>
</note>
 
<para>Pour l'instant, le répertoire
<filename class="directory">$LFS/tools</filename> appartient à l'utilisateur
<systemitem class="username">lfs</systemitem>, un utilisateur
qui n'existe que sur le système hôte. Si le répertoire
<filename class="directory">$LFS/tools</filename> reste ainsi, les fichiers
appartiennent à un ID utilisateur sans compte correspondant. C'est dangereux
car un compte utilisateur créé plus tard pourrait se voir attribuer ce même
ID utilisateur et être propriétaire du répertoire
<filename class="directory">$LFS/tools</filename> et de tous les fichiers
à l'intérieur, les exposant ainsi à des manipulations suspectes.</para>
 
<para>Pour éviter ce problème, vous pourriez ajouter l'utilisateur
<systemitem class="username">lfs</systemitem> au nouveau système LFS
plus tard lorsque vous créeriez le fichier <filename>/etc/passwd</filename>, en prenant garde à
assigner les ID utilisateur et groupe de la même manière que sur le
Système hôte. Mieux encore, changez le propriétaire du répertoire
<filename class="directory">$LFS/tools</filename> en le rendant à l'utilisateur
<systemitem class="username">root</systemitem> en exécutant les commandes
suivantes&nbsp;:</para>
 
<screen><userinput>chown -R root:root $LFS/tools</userinput></screen>
 
<para>Bien que le dossier <filename class="directory">$LFS/tools</filename>
puisse être effacé quand la construction du système sera fini, il peut être conservé
pour construire des systèmes LFS supplémentaires <emphasis>de la même
version du livre</emphasis>. La meilleure façon de sauvegarder
<filename class="directory">$LFS/tools</filename> est celle qui correspond à
vos préférences personnelles et nous laissons le choix au lecteur.</para>
 
<caution>
<para>Si vous souhaitez conserver les outils temporaires pour un usage dans
la construction de futurs systèmes LFS, c'est le moment
<emphasis>à présent</emphasis> de les sauvegarder. Les commandes qu'implique
le chapitre 6 vont modifier les outils actuellement en place, les rendant
inutiles pour de futures constructions.</para>
</caution>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter05/chapter05.xml
0,0 → 1,47
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<chapter id="chapter-temporary-tools" xreflabel="Chapitre 5">
<?dbhtml dir="chapter05"?>
<?dbhtml filename="chapter05.html"?>
 
<title>Construire un système temporaire</title>
 
<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-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="ncurses.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="bzip2.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="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="gawk.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="grep.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="m4.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="patch.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="sed.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="util-linux.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="stripping.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="changingowner.xml"/>
 
</chapter>
/tags/LFS-6_3_0/lfs/chapter05/grep.xml
0,0 → 1,82
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-grep" role="wrap">
<?dbhtml filename="grep.html"?>
 
<title>Grep-&grep-version;</title>
 
<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>&grep-ch5-sbu;</seg>
<seg>&grep-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</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>
 
<variablelist>
<title>Voici la signification des options de configure&nbsp;:</title>
 
<varlistentry>
<term><parameter>--disable-perl-regexp</parameter></term>
<listitem>
<para>Ceci nous assure que le programme <command>grep</command>
ne sera pas lié à une bibliothèque PCRE (Perl Compatible Regular
Expression) 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" role="."/></para>
 
</sect2>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter05/findutils.xml
0,0 → 1,65
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-findutils" role="wrap">
<?dbhtml filename="findutils.html"?>
 
<title>Findutils-&findutils-version;</title>
 
<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>&findutils-ch5-sbu;</seg>
<seg>&findutils-ch5-du;</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=/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_3_0/lfs/chapter05/perl.xml
0,0 → 1,93
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-perl" role="wrap">
<?dbhtml filename="perl.html"?>
 
<title>Perl-&perl-version;</title>
 
<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>&perl-ch5-sbu;</seg>
<seg>&perl-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</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-libc-patch;</userinput></screen>
 
<para>Préparez la compilation de Perl (assurez-vous que la partie de la
commande 'Data/Dumper Fcntl IO POSIX' est saisie correctement&mdash;ce
ne sont que des lettres)&nbsp;:</para>
 
<screen><userinput>./configure.gnu --prefix=/tools -Dstatic_ext='Data/Dumper Fcntl IO POSIX'</userinput></screen>
 
<variablelist>
<title>Voici la signification de l'option de configure&nbsp;:</title>
 
<varlistentry>
<term><parameter>-Dstatic_ext='Data/Dumper Fcntl IO 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
<command>make test</command> obligerait la construction du
reste de Perl, ce qui n'est pas nécessaire actuellement. La suite de tests peut
être exécutée dans le chapitre suivant si désiré.</para>
 
<para>Puis, installez ces outils et leurs bibliothèques&nbsp;:</para>
 
<screen><userinput>cp -v perl pod/pod2man /tools/bin
mkdir -pv /tools/lib/perl5/&perl-version;
cp -Rv lib/* /tools/lib/perl5/&perl-version;</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont disponibles dans
<xref linkend="contents-perl" role="."/></para>
 
</sect2>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter05/linux-headers.xml
0,0 → 1,62
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-linux-headers" role="wrap">
<?dbhtml filename="linux-headers.html"?>
 
<title>Linux-&linux-version; API Headers</title>
 
<indexterm zone="ch-tools-linux-headers">
<primary sortas="a-Linux">Linux</primary>
<secondary>outils, en-têtes API</secondary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
href="../chapter06/linux-headers.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&linux-headers-ch5-sbu;</seg>
<seg>&linux-headers-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Linux API Headers</title>
 
<para>Le noyau Linux a besoin d'exposer une interface de programmation de
l'application (API) pour la bibliothèque C du système (Glibc dans LFS) à
utiliser. Cela est possible en nettoyant certains fichiers d'en-tête C qui
sont laissés dans le paquetage des sources du noyau Linux.</para>
 
<para>Installez les fichiers d'en-têtes&nbsp;:</para>
 
<screen><userinput>make mrproper
make headers_check
make INSTALL_HDR_PATH=dest headers_install
cp -rv dest/include/* /tools/include</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont situés dans
<xref linkend="contents-linux-headers" role="."/></para>
 
</sect2>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter05/gzip.xml
0,0 → 1,65
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-gzip" role="wrap">
<?dbhtml filename="gzip.html"?>
 
<title>Gzip-&gzip-version;</title>
 
<indexterm zone="ch-tools-gzip">
<primary sortas="a-Gzip">Gzip</primary>
<secondary>outils</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>&gzip-ch5-sbu;</seg>
<seg>&gzip-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</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>Pour tester le résultat, 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-gzip" role="."/></para>
 
</sect2>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter05/util-linux.xml
0,0 → 1,76
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-util-linux" role="wrap">
<?dbhtml filename="util-linux.html"?>
 
<title>Util-linux-&util-linux-version;</title>
 
<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>&util-linux-ch5-sbu;</seg>
<seg>&util-linux-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</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 doivent être
compilés&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 -v 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_3_0/lfs/chapter05/texinfo.xml
0,0 → 1,65
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-texinfo" role="wrap">
<?dbhtml filename="texinfo.html"?>
 
<title>Texinfo-&texinfo-version;</title>
 
<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>&texinfo-ch5-sbu;</seg>
<seg>&texinfo-ch5-du;</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=/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_3_0/lfs/chapter05/bash.xml
0,0 → 1,91
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-bash" role="wrap">
<?dbhtml filename="bash.html"?>
 
<title>Bash-&bash-version;</title>
 
<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>&bash-ch5-sbu;</seg>
<seg>&bash-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Bash</title>
 
<para>Appliquez les corrections de plusieurs bogues découverts depuis
la version initiale de Bash-&bash-version;&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&bash-fixes-patch;</userinput></screen>
 
<para>Préparez la compilation de Bash&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools --without-bash-malloc</userinput></screen>
 
<variablelist>
<title>Voici la signification des options de configure&nbsp;:</title>
 
<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
<function>malloc</function> qui est connue pour causer des erreurs de
segmentation. En désactivant cette option, Bash utilisera les fonctions
<function>malloc</function> 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 -vs bash /tools/bin/sh</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont situés dans
<xref linkend="contents-bash" role="."/></para>
 
</sect2>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter05/stripping.xml
0,0 → 1,42
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-stripping">
<?dbhtml filename="stripping.html"?>
 
<title>Supprimer les symboles des fichiers objets</title>
 
<para>Les étapes de cette section sont optionnelles mais si la partition LFS
est plutôt petite, il est intéressant 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 versions 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 <envar>$LFS</envar> à 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_3_0/lfs/chapter05/glibc.xml
0,0 → 1,211
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-glibc" role="wrap">
<?dbhtml filename="glibc.html"?>
 
<title>Glibc-&glibc-version;</title>
 
<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>&glibc-ch5-sbu;</seg>
<seg>&glibc-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Glibc</title>
 
<para>La documentation de Glibc recommande de construire Glibc en dehors du
répertoire des sources, c'est-à-dire dans un répertoire dédié&nbsp;:</para>
 
<screen><userinput>mkdir -v ../glibc-build
cd ../glibc-build</userinput></screen>
 
<para>Ensuite, préparez la compilation de Glibc&nbsp;:</para>
 
<screen><userinput>../glibc-&glibc-version;/configure --prefix=/tools \
--disable-profile --enable-add-ons \
--enable-kernel=2.6.0 --with-binutils=/tools/bin \
--without-gd --with-headers=/tools/include \
--without-selinux</userinput></screen>
 
<variablelist>
<title>Voici la signification des options de configure&nbsp;:</title>
 
<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>
</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>, 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 dit à Glibc de se compiler contre les en-têtes qui
viennent d'être installés dans le répertoire tools, afin qu'il sache
exactement quelles options a le noyau et qu'il puisse s'optimiser en
conséquence.</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é, lancez 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 rencontrez 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>
 
<para>L'étape d'installation de Glibc affichera un message d'avertissement sans
conséquence pour l'absence de
<filename>/tools/etc/ld.so.conf</filename>.
Supprimez ce message avec&nbsp;:</para>
 
<screen><userinput>mkdir -v /tools/etc
touch /tools/etc/ld.so.conf</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Différents pays et cultures ont des conventions variables sur la
façon de communiquer. Ces conventions vont du très simple, telle que la
représentation de la date et de l'heure à du très compliqué, telle que le
langage parlé.
L'<quote>internationalisation</quote> 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.
Néanmoins, pour installer les locales Glibc, utilisez les instructions de
la section <xref linkend="ch-system-glibc" role="."/></para>
</note>
 
</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_3_0/lfs/chapter05/m4.xml
0,0 → 1,65
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-m4" role="wrap">
<?dbhtml filename="m4.html"?>
 
<title>M4-&m4-version;</title>
 
<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>&m4-ch5-sbu;</seg>
<seg>&m4-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</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 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-m4" role="."/></para>
 
</sect2>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter05/gcc-pass1.xml
0,0 → 1,151
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-gcc-pass1" role="wrap">
<?dbhtml filename="gcc-pass1.html"?>
 
<title>GCC-&gcc-version; - Passe 1</title>
 
<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>&gcc-ch5p1-sbu;</seg>
<seg>&gcc-ch5p1-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de GCC</title>
 
<para>La documentation de GCC recommande de ne pas construire GCC dans le
répertoire des sources mais dans un répertoire de construction dédié&nbsp;:</para>
 
<screen><userinput>mkdir -v ../gcc-build
cd ../gcc-build</userinput></screen>
 
<para>Préparez la compilation de GCC&nbsp;:</para>
 
<screen><userinput>CC="gcc -B/usr/bin/" ../gcc-&gcc-version;/configure --prefix=/tools \
--with-local-prefix=/tools --disable-nls --enable-shared \
--enable-languages=c</userinput></screen>
 
<variablelist>
<title>Voici la signification des options de configure&nbsp;:</title>
 
<varlistentry>
<term><envar>CC="gcc -B/usr/bin/"</envar></term>
<listitem>
<para>Ceci oblige <command>gcc</command> à préférer l'éditeur de liens
du système hôte dans <filename class="directory">/usr/bin</filename>.
C'est nécessaire sur certains systèmes hôtes où le nouveau <command>ld</command>
compilé dans la section précédente n'est pas compatible avec le
<command>gcc</command> du système hôte.</para>
</listitem>
</varlistentry>
 
<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>
 
<variablelist>
<title>Voici la signification des paramètres de make&nbsp;:</title>
 
<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
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 -vs gcc /tools/bin/cc</userinput></screen>
 
</sect2>
 
<sect2 role="content">
<title/>
 
<para>Les détails sur ce paquet sont disponibles dans
<xref linkend="contents-gcc" role="."/></para>
 
</sect2>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter05/gcc-pass2.xml
0,0 → 1,230
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-gcc-pass2" role="wrap">
<?dbhtml filename="gcc-pass2.html"?>
 
<title>GCC-&gcc-version; - Pass 2</title>
 
<indexterm zone="ch-tools-gcc-pass2">
<primary sortas="a-GCC">GCC</primary>
<secondary>outils, passe 2</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>&gcc-ch5p2-sbu;</seg>
<seg>&gcc-ch5p2-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Ré-installation de GCC</title>
 
<para>Les outils requis pour tester GCC et Binutils (Tcl, Expect et
DejaGnu) sont maintenant installés. GCC et Binutils peuvent maintenant
être reconstruits en les liant avec la nouvelle Glibc et 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 pourrait être&nbsp;:</para>
 
<screen><computeroutput>The system has no more ptys.
Ask your system administrator to create more.</computeroutput></screen>
 
<para>Si vous obtenez 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>Comme déjà expliqué à la section <xref linkend="ch-tools-adjusting"/>,
en temps normal le script GCC <command>fixincludes</command> est exécuté
afin de réparer des fichiers d'en-tête potentiellement cassés. Comme
GCC-&gcc-version; et Glibc-&glibc-version; ont désormais déjà été installés,
et vu que leur fichiers d'en-têtes respectifs sont connus comme n'ayant
pas besoin de réparation, le script <command>fixincludes</command> n'est
pas utile. Comme mentionné précédemment, il se peut que le script pollue
l'environnement de construction en installant des en-têtes corrigées du
système hôte dans le répertoire autonome include de GCC. L'exécution du
script <command>fixincludes</command> peut être supprimée en lançant les
commandes suivantes&nbsp;:</para>
 
<screen><userinput>cp -v gcc/Makefile.in{,.orig}
sed 's@\./fixinc\.sh@-c true@' gcc/Makefile.in.orig &gt; gcc/Makefile.in</userinput></screen>
 
<para>La construction bootstrap effectuée à la section
<xref linkend="ch-tools-gcc-pass1"/>
a compilé GCC avec le commutateur du compilateur
<option>-fomit-frame-pointer</option> compiler flag. Les constructions
Non-bootstrap ommettent ce commutateur par défaut, donc appliquez le
correctif <command>sed</command> suivant pour l'utiliser afin de
les constructions des compilateurs cohérent&nbsp;:</para>
 
<screen><userinput>cp -v gcc/Makefile.in{,.tmp}
sed 's/^XCFLAGS =$/&amp; -fomit-frame-pointer/' gcc/Makefile.in.tmp \
&gt; gcc/Makefile.in</userinput></screen>
 
<para>Appliquez le correctif suivant pour changer l'emplacement par défaut
de l'éditeur de liens dynamiques de GCC (généralement
<filename class="libraryfile">ld-linux.so.2</filename>)&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&gcc-specs-patch;</userinput></screen>
 
<para>Le correctif ci-dessus supprime aussi
<filename class="directory">/usr/include</filename> du chemin de recherche
des en-têtes
de GCC. Corriger maintenant plutôt qu'ajuster le fichier specs après
l'installation nous assure que l'éditeur de liens dynamiques sera utilisé
lors de la construction de GCC. C'est-à-dire, tous les binaires finaux (et
temporaires) créés lors de la construction seront liés à la nouvelle Glibc.</para>
 
<important>
<para>Les correctifs ci-dessus sont critiques pour s'assurer
une construction avec succès. N'oubliez pas de l'appliquer..</para>
</important>
 
<para>De nouveau, créez un répertoire de construction
séparé&nbsp;:</para>
 
<screen><userinput>mkdir -v ../gcc-build
cd ../gcc-build</userinput></screen>
 
<para>Avant de commencer la construction de GCC, rappelez-vous de 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 \
--with-local-prefix=/tools --enable-clocale=gnu \
--enable-shared --enable-threads=posix \
--enable-__cxa_atexit --enable-languages=c,c++ \
--disable-libstdcxx-pch</userinput></screen>
 
<variablelist>
<title>Voici la signification des nouvelles options de configure&nbsp;:</title>
 
<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 (Application
Binary Interface) à 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
<function>__cxa_atexit</function>, plutôt que
<function>atexit</function>, 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 garantie que les compilateurs
C et C++ seront construits.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--disable-libstdcxx-pch</parameter></term>
<listitem>
<para>Ce commutateur empêche la construction de l'en-tête précompilé
(PCH) de
<filename class="libraryfile">libstdc++</filename>. Il prend beaucoup
d'espace et nous n'en avons aucune utilité.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Il n'est pas nécessaire d'utiliser la cible
<parameter>bootstrap</parameter> maintenant car le compilateur utilisé pour
compiler ce GCC a été construit avec
exactement la même version des sources de GCC utilisées précédemment.</para>
 
<para>La compilation est maintenant terminée. Comme mentionné plus tôt,
lancer les suites de test pour les outils temporaires de ce chapitre n'est pas
nécessaire. Néanmoins, pour exécuter la suite de tests de GCC, lancez la
commande suivante&nbsp;:</para>
 
<screen><userinput>make -k check</userinput></screen>
 
<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 garanti que certaines erreurs apparaîtront.</para>
 
<para>Pour des précisions sur l'échec de tests qui revêtent une importance
particulière, merci de lire <xref linkend="ch-system-gcc" role="."/></para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
href="adjusting.xml"
xpointer="xpointer(/sect1/caution[1])"/>
 
</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_3_0/lfs/chapter05/ncurses.xml
0,0 → 1,90
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-ncurses" role="wrap">
<?dbhtml filename="ncurses.html"?>
 
<title>Ncurses-&ncurses-version;</title>
 
<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>&ncurses-ch5-sbu;</seg>
<seg>&ncurses-ch5-du;</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=/tools --with-shared \
--without-debug --without-ada --enable-overwrite</userinput></screen>
 
<variablelist>
<title>Voici la signification des options de configure&nbsp;:</title>
 
<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_3_0/lfs/chapter05/expect.xml
0,0 → 1,167
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-expect" role="wrap">
<?dbhtml filename="expect.html"?>
 
<title>Expect-&expect-version;</title>
 
<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>&expect-ch5-sbu;</seg>
<seg>&expect-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Expect</title>
 
<para>Tout d'abord, corrigez un bogue aboutissant 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-spawn-patch;</userinput></screen>
 
<para>Ensuite, forcez le script configure de expect à utiliser
<filename>/bin/stty</filename> au lieu d'un
<filename>/usr/local/bin/stty</filename> qu'il pourrait trouver sur le
système hôte. Cela garantira que nos outils de test demeurent propres
pour les constructions finales de l'ensemble d'outils&nbsp;:</para>
 
<screen><userinput>cp configure{,.bak}
sed 's:/usr/local/bin:/bin:' configure.bak &gt; configure</userinput></screen>
 
<para>Construisez maintenant le paquet&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools --with-tcl=/tools/lib \
--with-tclinclude=/tools/include --with-x=no</userinput></screen>
 
<variablelist>
<title>Voici la signification des options de configure&nbsp;:</title>
 
<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=/tools/include</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 des en-têtes de Tcl.</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 ressort. Du coup, les échecs de la suite de
tests ne sont pas surprenants et ne sont pas considérés comme
critiques.</para>
 
<para>Installez-le&nbsp;:</para>
 
<screen><userinput>make SCRIPTS="" install</userinput></screen>
 
<variablelist>
<title>Voici la signification du paramètre de make&nbsp;:</title>
 
<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>
 
</sect2>
 
<sect2 id="contents-expect" role="content">
<title>Contenu d'Expect</title>
 
<segmentedlist>
<segtitle>Programme installé</segtitle>
<segtitle>Bibliothèque installée</segtitle>
 
<seglistitem>
<seg>expect</seg>
<seg>libexpect-&expect-lib-version;.a</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Courte description</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-&expect-lib-version;.a</filename></term>
<listitem>
<para>Contient des fonctions qui permettent à Expect d'être utilisé comme une
extension Tcl ou d'être utilisé directement à partir du langage C ou du langage
C++ (sans Tcl)</para>
<indexterm zone="ch-tools-expect libexpect">
<primary sortas="c-libexpect-&expect-lib-version;">libexpect-&expect-lib-version;</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter05/toolchaintechnotes.xml
0,0 → 1,282
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-toolchaintechnotes">
<?dbhtml filename="toolchaintechnotes.html"?>
 
<title>Notes techniques sur l'ensemble d'outils</title>
 
<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ée la triplette cible. La plupart du temps, 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
habituelleme
 
<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
l'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 ce que vous pourriez imaginer. Un GCC ou
une Glibc mal configuré peut aboutir à un ensemble d'outils
subtilement cassé, et l'impact d'une telle cassure ne se verrait pas
avant la fin de la construction de la distribution complète. Un échec
dans la suite de tests surlignera habituellement cette erreur
avant que trop de travail supplémentaire n'ait été réalisé.</para>
 
<para>Binutils installe son assembleur et son éditeur de liens à deux endroits, <filename class="directory">/tools/bin</filename> et
<filename class="directory">/tools/$TARGET_TRIPLET/bin</filename>. Les outils dans un
emplacement sont liés en dur à l'autre. Un aspect important de l'éditeur
de liens est son ordre de recherche des bibliothèques. Vous pouvez obtenir
des informations détaillées à 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>Vous pouvez obtenir des informations détaillées à 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 comprenant 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 le outils
binaires utilisés, et l'utilisation des commutateurs
<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
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;nom du binaire&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 aboutira à des
programmes GCC ayant le nom de l'éditeur de liens provenant du
répertoire
 
<filename class="directory">/lib</filename> 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 aboutira à 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>
 
<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>
 
<!-- FIXME: Removed as part of the fix for bug 1061 - we no longer build pass1
packages statically, therefore this explanation isn't required
 
<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, donnant 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, aboutissant à 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 mémoire
vive. Troisièmement, quand une fonction d'une 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. Sur le plan éducatif, 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_3_0/lfs/chapter05/flex.xml
0,0 → 1,78
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-flex" role="wrap">
<?dbhtml filename="flex.html"?>
 
<title>Flex-&flex-version;</title>
 
<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>&flex-ch5-sbu;</seg>
<seg>&flex-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Flex</title>
 
<para>Flex contient des bogues connus. Vous pouvez les corriger grâce au
correctif suivant&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&flex-fixes-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 de manuel
en conséquence. Cela ne fonctionne pas sur la plupart des systèmes, et la
page par défaut est très bien, donc assurez-vous qu'elle ne sera pas
régé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 de ce paquet sont situés dans
<xref linkend="contents-flex" role="."/></para>
 
</sect2>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter05/patch.xml
0,0 → 1,64
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-patch" role="wrap">
<?dbhtml filename="patch.html"?>
 
<title>Patch-&patch-version;</title>
 
<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>&patch-ch5-sbu;</seg>
<seg>&patch-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Patch</title>
 
<para>Préparez la compilation de Patch&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/tools</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>
 
</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_3_0/lfs/chapter05/bison.xml
0,0 → 1,65
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-bison" role="wrap">
<?dbhtml filename="bison.html"?>
 
<title>Bison-&bison-version;</title>
 
<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>&bison-ch5-sbu;</seg>
<seg>&bison-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</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 de ce paquet sont situés dans
<xref linkend="contents-bison" role="."/></para>
 
</sect2>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter05/sed.xml
0,0 → 1,65
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-sed" role="wrap">
<?dbhtml filename="sed.html"?>
 
<title>Sed-&sed-version;</title>
 
<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>&sed-ch5-sbu;</seg>
<seg>&sed-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</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_3_0/lfs/chapter05/make.xml
0,0 → 1,64
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-make" role="wrap">
<?dbhtml filename="make.html"?>
 
<title>Make-&make-version;</title>
 
<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>&make-ch5-sbu;</seg>
<seg>&make-ch5-du;</seg>
</seglistitem>
</segmentedlist>
 
</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_3_0/lfs/chapter05/binutils-pass2.xml
0,0 → 1,100
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-tools-binutils-pass2" role="wrap">
<?dbhtml filename="binutils-pass2.html"?>
 
<title>Binutils-&binutils-version; - Passe 2</title>
 
<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>&binutils-ch5p2-sbu;</seg>
<seg>&binutils-ch5p2-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Ré-installation de Binutils</title>
 
<para>Créez de nouveau un répertoire de construction séparé&nbsp;:</para>
 
<screen><userinput>mkdir -v ../binutils-build
cd ../binutils-build</userinput></screen>
 
<para>Préparez la compilation de Binutils&nbsp;:</para>
 
<screen><userinput>../binutils-&binutils-version;/configure --prefix=/tools \
--disable-nls --with-lib-path=/tools/lib</userinput></screen>
 
<variablelist>
<title>Voici la signification des nouvelles options de configure&nbsp;:</title>
 
<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, aboutissant 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 précédemment, 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
cp -v ld/ld-new /tools/bin</userinput></screen>
 
 
</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_3_0/lfs/chapter05/udev.xml
0,0 → 1,68
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-udev" role="wrap">
<title>Udev-&udev-version;</title>
<?dbhtml filename="udev.html"?>
 
<indexterm zone="ch-tools-udev">
<primary sortas="a-Udev">Udev</primary>
<secondary>outils</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/udev.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,2&nbsp;SBU</seg><seg>5,2&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/udev.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
</sect2>
 
<sect2 role="installation">
<title>Installation d'Udev</title>
 
<para>Le programme <command>udevstart</command> code en dur le chemin vers le
programme <command>udev</command>, ce qui va créer des problèmes car
<command>udev</command> a été installé à un emplacement non standard. Corrigez
ceci en exécutant ces commandes&nbsp;:</para>
 
<screen><userinput>sed -i 's@/sbin/udev@/tools/sbin/udev@g' udevstart.c</userinput></screen>
 
<para>De plus, assurez-vous que <command>udev</command> recherche
ses fichiers de configuration au bon endroit&nbsp;:</para>
 
<screen><userinput>sed -i 's@/etc@/tools/etc@g' etc/udev/udev.conf.in</userinput></screen>
 
<para>Maintenant, compilez Udev&nbsp;:</para>
 
<screen><userinput>make prefix=/tools etcdir=/tools/etc</userinput></screen>
 
<para>Ce paquet ne propose pas de suite de tests.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make DESTDIR=/tools udevdir=/dev install</userinput></screen>
 
<para>La configuration par défaut d'Udev est loin d'être idéale, installez
en remplacement ces fichiers de configuration spécifiques à LFS&nbsp;:</para>
 
<screen><userinput>cp ../udev-config-2.permissions \
/tools/etc/udev/permissions.d/00-lfs.permissions
cp ../udev-config-1.rules /tools/etc/udev/rules.d/00-lfs.rules</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-udev" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_3_0/lfs/chapter05/linux-libc-headers.xml
0,0 → 1,59
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-linux-libc-headers" role="wrap">
<title>Linux-Libc-Headers-&linux-libc-headers-version;</title>
<?dbhtml filename="linux-libc-headers.html"?>
 
<indexterm zone="ch-tools-linux-libc-headers">
<primary sortas="a-Linux-Libc-Headers">Linux-Libc-Headers</primary>
<secondary>outils, en-têtes</secondary></indexterm>
 
<sect2 role="package"><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
href="../chapter06/linux-libc-headers.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>26,9&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
href="../chapter06/linux-libc-headers.xml"
xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
 
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Linux-Libc-Headers</title>
 
<para>Pendant des années, la pratique était d'utiliser les en-têtes
<quote>bruts</quote> du noyau (directement extraits de l'archive tar du noyau) dans
<filename class="directory">/usr/include</filename> mais, ces dernières années, les
développeurs du noyau ont pris fortement position contre cet état de fait. Ceci
a donné naissance au projet Linux-Libc-Headers, conçu pour offrir
une version stable de l'interface de programmation des applications (API) des
en-têtes du noyau Linux.</para>
 
<para>Installez les fichiers d'en-têtes&nbsp;:</para>
 
<screen><userinput>cp -Rv include/asm-i386 /tools/include/asm
cp -Rv include/linux /tools/include</userinput></screen>
 
<para>Si votre architecture n'est pas i386 (compatible), modifiez la première
commande comme nécessaire.</para>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-linux-libc-headers" role="."/></para>
</sect2>
 
</sect1>
 
/tags/LFS-6_3_0/lfs/chapter05/kernel-headers.xml
0,0 → 1,76
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-kernel-headers" role="wrap">
<title>En-têtes Linux-&linux-version;</title>
<?dbhtml filename="kernel-headers.html"?>
 
<indexterm zone="ch-tools-kernel-headers">
<primary sortas="a-Linux">Linux</primary>
<secondary>outils, en-tête</secondary></indexterm>
 
<sect2 role="package"><title/>
<para>Le paquet du noyau Linux contient les sources ainsi que les fichiers
d'en-têtes utilisés par Glibc.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0,1&nbsp;SBU</seg><seg>186&nbsp;Mo</seg></seglistitem>
</segmentedlist>
 
<segmentedlist>
<segtitle>L'installation des en-têtes Linux dépend de</segtitle>
<seglistitem><seg>Coreutils et Make</seg></seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation des en-têtes du noyau</title>
 
<para>Comme certains paquets se réfèrent aux fichiers d'en-têtes du
noyau, c'est le moment de déballer l'archive du noyau, puis de
configurer et copier les fichiers requis à un endroit où <command>gcc</command>
pourra les trouver plus tard.</para>
 
<para>Préparez l'installation des en-têtes avec&nbsp;:</para>
 
<screen><userinput>make mrproper</userinput></screen>
 
<para>Ceci nous assure que le répertoire du noyau est totalement propre.
Il est recommandé d'exécuter cette commande à <emphasis>chaque</emphasis>
compilation du noyau. Ne supposez pas que le contenu du répertoire soit propre après
le déballage.</para>
 
<para>Créez le fichier <filename class="headerfile">include/linux/version.h</filename>&nbsp;:</para>
 
<screen><userinput>make include/linux/version.h</userinput></screen>
 
<beginpage/>
 
<para>Créez le lien symbolique spécifique à la plateforme
<filename class="symlink">include/asm</filename>&nbsp;:</para>
 
<screen><userinput>make include/asm</userinput></screen>
 
<para>Installez les fichiers d'en-têtes spécifiques à la platforme&nbsp;:</para>
 
<screen><userinput>mkdir /tools/glibc-kernheaders
cp -HR include/asm /tools/glibc-kernheaders
cp -R include/asm-generic /tools/glibc-kernheaders</userinput></screen>
 
<para>Enfin, installez les autres fichiers d'en-têtes du noyau&nbsp;:</para>
 
<screen><userinput>cp -R include/linux /tools/glibc-kernheaders</userinput></screen>
 
</sect2>
 
<sect2 role="content"><title/>
<para>Les détails sur ce paquet sont situés dans <xref
linkend="contents-kernel" role="."/></para>
</sect2>
 
</sect1>
/tags/LFS-6_3_0/lfs/prologue/organization.xml
0,0 → 1,45
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="pre-organization">
<?dbhtml filename="organization.html"?>
 
<title>Structure</title>
 
<para>Ce livre est divisé en plusieurs parties.</para>
 
<sect2>
<title>Partie I - Introduction</title>
 
<para>La première partie donne quelques informations importantes,
comme par exemple sur la façon d'installer LFS. Cette section fournit
aussi des méta-informations sur le livre.</para>
</sect2>
 
<sect2>
<title>Partie II - Préparation de la construction</title>
 
<para>La deuxième partie décrit comment préparer le processus de
construction&nbsp;: création d'une partition, téléchargement des
paquets et compilation d'outils temporaires.</para>
</sect2>
 
<sect2>
<title>Partie III - Construction du système LFS</title>
 
<para>La troisième partie guide le lecteur tout au long de la
construction du système LFS&nbsp;: compilation et installation de
tous les paquets un par un, initialisation des scripts de démarrage
et installation du noyau. Le système Linux basique résultant est la
fondation à partir de laquelle d'autres logiciels peuvent être
construits pour étendre le système de la façon désirée. À la fin du
livre se trouve une référence facile à utiliser et listant tous les
programmes, bibliothèques et fichiers importants qui ont été
installés.</para>
</sect2>
 
</sect1>
/tags/LFS-6_3_0/lfs/prologue/prerequisites.xml
0,0 → 1,64
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="pre-prerequisites">
<?dbhtml filename="prerequisites.html"?>
 
<title>Prérequis</title>
 
<para>Construire un système LFS n'est pas une tâche facile. Cela
requiert un certain niveau de connaissance en administration de
système Unix pour résoudre les problèmes et exécuter correctement les
commandes listées. En particulier, au strict minimum, le lecteur
devrait avoir déjà la capacité d'utiliser la ligne de commande (le
shell) pour copier et déplacer des fichiers et des répertoires, pour
lister le contenu de répertoires et de fichiers, et pour changer de
répertoire. Il est aussi attendu que le lecteur dispose d'une
connaissance raisonnable de l'utilisation et de l'installation de
logiciels Linux.</para>
 
<para>Comme le livre LFS attend <emphasis>au moins</emphasis> ce
simple niveau de connaissance, les différents forums de support LFS
seront peu capables de vous fournir une assistance en dessous de ce
niveau&nbsp;; vous finirez par remarquer que vos questions n'auront
pas de réponses ou que vous serez renvoyé à la liste des lectures
principales avant installation.</para>
 
<para>Avant de construire un système LFS, nous recommandons de lire
les guides pratiques suivants&nbsp;:</para>
 
<itemizedlist>
<listitem>
<para>Software-Building-HOWTO
<ulink url="http://www.tldp.org/HOWTO/Software-Building-HOWTO.html"/></para>
 
<para>C'est un guide complet sur la construction et l'installation
<quote>générique</quote> de logiciels Unix sous Linux.</para>
</listitem>
 
<listitem>
<para>The Linux Users' Guide
<ulink url="http://www.linuxhq.com/guides/LUG/guide.html"/></para>
 
<para>Ce guide couvre l'utilisation de différents logiciels
Linux.</para>
</listitem>
 
<listitem>
<para>The Essential Pre-Reading Hint
<ulink url="&hints-root;essential_prereading.txt"/></para>
 
<para>C'est une astuce LFS écrite spécifiquement pour les nouveaux utilisateurs
Linux. C'est principalement une liste de liens de sources excellentes
d'informations sur une grande gamme de thèmes. Toute personne essayant
d'installer LFS devrait au moins avoir une certaine compréhension de la majorité
des thèmes de cette astuce...</para>
</listitem>
 
</itemizedlist>
 
</sect1>
/tags/LFS-6_3_0/lfs/prologue/typography.xml
0,0 → 1,87
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="pre-typography">
<?dbhtml filename="typography.html"?>
 
<title>Typographie</title>
 
<para>Pour faciliter ce qui suit, voici quelques conventions typographiques
suivies tout au long de ce livre. Cette section contient quelques exemples du
format typographique trouvé dans Linux From Scratch.</para>
 
<screen role="nodump"><userinput>./configure --prefix=/usr</userinput></screen>
 
<para>Ce style de texte est conçu pour être tapé exactement de la même
façon qu'il est vu sauf si le texte indique le contraire. Il est aussi
utilisé dans les sections d'explications pour identifier les commandes
référencées.</para>
<screen><computeroutput>install-info: unknown option '--dir-file=/mnt/lfs/usr/info/dir'</computeroutput></screen>
 
<para>Ce style de texte (texte à largeur fixe) montre une sortie
d'écran, probablement le résultat de commandes. Ce format est aussi
utilisé pour afficher des noms de fichiers, comme
<filename>/etc/ld.so.conf</filename>.</para>
 
<para><emphasis>Emphasis</emphasis></para>
 
<para>Ce style de texte est utilisé dans différents buts dans ce
livre. Son but principal est de préciser les points importants.</para>
 
<para><ulink url="&lfs-root;"/></para>
 
<para>Ce format est utilisé pour les liens, ceux de la communauté LFS
et ceux référençant des pages externes. Cela inclut les guides
pratiques, les emplacemen de téléchargement et des sites web.</para>
 
<screen role="nodump"><userinput>cat &gt; $LFS/etc/group &lt;&lt; "EOF"
<literal>root:x:0:
bin:x:1:
......</literal>
EOF</userinput></screen>
 
<para>Ce format est utilisé principalement lors de la création de
fichiers de configuration. La première commande indique au système de
créer le fichier <filename>$LFS/etc/group</filename> à partir de ce
qui est saisi jusqu'à ce que la séquence de fin de fichier (EOF) soit
rencontrée. Donc, cette section entière est généralement saisie de la
même façon.</para>
 
<para><replaceable>&lt;TEXTE A REMPLACER&gt;</replaceable></para>
 
<para>Ce format est utilisé pour intégrer du texte qui ne devra pas
être saisi tel quel et qui ne devra pas être copié/collé.</para>
 
<para><replaceable>[TEXTE FACULTATIF]</replaceable></para>
 
<para>Ce format est utilisé pour intégrer du texte qui est facultatif</para>
 
<para><filename>passwd(5)</filename></para>
 
<para>Ce format est utilisé pour faire référence à une page de manuel
spécifique (noté après comme une page <quote>man</quote>). Le nombre
entre parenthèses indique une section spécifique à l'intérieur de
<command>man</command>. Par exemple, <command>passwd</command> a deux
pages man. Pour les instructions d'installation de LFS, ces deux pages
man seront situées dans
<filename>/usr/share/man/man1/passwd.1</filename> et
<filename>/usr/share/man/man5/passwd.5</filename>. Ces deux pages man
comprennent des informations différentes. Quand le livre utilise
<filename>passwd(5)</filename>, il fait spécifiquement référence à
<filename>/usr/share/man/man5/passwd.5</filename>. <command>man
passwd</command> affichera la première page man qu'il trouvera et qui
aura une correspondance avec <quote>passwd</quote>, à priori
<filename>/usr/share/man/man1/passwd.1</filename>. Dans cet exemple,
vous devrez exécuter <command>man 5 passwd</command> pour lire cette
page spécifique. Il devrait être noté que la plupart des pages man
n'ont pas de noms de page dupliqués dans les différentes sections. Du
coup, <command>man <replaceable>[nom
programme]</replaceable></command> est généralement suffisant.</para>
 
</sect1>
 
/tags/LFS-6_3_0/lfs/prologue/dedication.xml
0,0 → 1,11
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE dedication PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<dedication>
<title>Dédicace</title>
<para>Ce livre est dédié</para>
</dedication>
/tags/LFS-6_3_0/lfs/prologue/preface.xml
0,0 → 1,22
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<preface id="preface">
<?dbhtml dir="prologue"?>
<?dbhtml filename="preface.html"?>
 
<title>Préface</title>
 
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="foreword.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="audience.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="prerequisites.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="hostreqs.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="typography.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="organization.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="errata.xml"/>
 
</preface>
/tags/LFS-6_3_0/lfs/prologue/bookinfo.xml
0,0 → 1,66
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<bookinfo>
<title>Linux From Scratch</title>
<subtitle>Version &version;</subtitle>
 
 
<authorgroup>
<author>
<firstname>Gerard</firstname>
<surname>Beekmans</surname>
</author>
</authorgroup>
 
 
<copyright id="copyright">
<year>1999&ndash;2007</year>
<holder>Gerard Beekmans</holder>
</copyright>
 
<legalnotice>
<para>Copyright (c) 1999&ndash;2007, Gerard Beekmans</para>
 
<para>Tous droits réservés.</para>
 
<para>La redistribution et l'utilisation de ces sources et des binaires,
avec ou sans modifications, sont autorisées dans les conditions suivantes&nbsp;:</para>
 
<itemizedlist>
<listitem>
<para>Les redistributions sous quelque forme que ce soit doivent mentionner
le copyright ci-dessus, la présente liste de conditions et les
avertissements ci-dessous</para>
</listitem>
<listitem>
<para>Ni le nom of <quote>Linux From Scratch</quote> ni le nom de ses
contributeurs ne peut être utilisé pour la garantie ou la promotion
de produits tirés de ce contenu sans consentement préalable écrit</para>
</listitem>
<listitem>
<para>Tout dérivé de Linux From Scratch deit contenir une réfïrence au
projet <quote>Linux From Scratch</quote>..</para>
</listitem>
</itemizedlist>
 
<para>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS <quote>AS IS</quote> AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</para>
 
</legalnotice>
 
</bookinfo>
/tags/LFS-6_3_0/lfs/prologue/foreword.xml
0,0 → 1,76
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="pre-foreword">
<?dbhtml filename="foreword.html"?>
 
<title>Avant-propos</title>
 
<para>Mes aventures dans Linux ont commencé en 1998 lorsque j'ai
téléchargé et installé ma première distribution. Après avoir travaillé
dessus un bon moment, j'ai découvert des problèmes que j'aurais
vraiment aimé voir améliorer. Par exemple, je n'aimais pas
l'arrangement des scripts de démarrage ou la façon dont les programmes
étaient configurés par défaut. J'ai essayé un certain nombre d'autres
distributions pour corriger ces problèmes, cependant chacune avait ses
avantages et ses inconvénients. Finalement, j'ai réalisé que si je
voulais avoir une pleine satisfaction de mon système Linux, je devais
le construire à partir de rien.</para>
 
<para>Qu'est-ce que cela signifie&nbsp;? Je me suis résolu à ne pas
utiliser de paquets déjà compilés, quels qu'ils soient, et à ne pas
utiliser de CD-ROM ou de disques d'amorçage qui installeraient des
outils de base. J'utiliserais mon système Linux actuel pour développer
mon propre système personnalisé. Ce système Linux
<quote>parfait</quote> aurait alors la force des autres systèmes sans
avoir leurs faiblesses. Au début, l'idée était un peu écrasante mais
j'ai conservé l'idée qu'un système pourrait être construit en se
conformant à mes besoins et désirs plutôt qu'à un standard qui ne
correspondrait pas à ce que je cherchais.</para>
 
<para>Après avoir rencontré quelques problèmes comme des dépendances
circulaires et erreurs à la compilation, j'ai créé un système Linux
personnalisé entièrement opérationnel et convenant à des besoins
individuels. Ce processus m'a aussi permis de créer des systèmes Linux
compacts et précis, bien plus rapides et prenant moins de place que
des systèmes d'exploitation traditionnels. J'ai appelé ce système LFS,
soit <quote>Linux From Scratch</quote> (Linux à partir de
rien).</para>
 
<para>Lorsque j'ai partagé mes objectifs et mes expériences avec
d'autres membres de la communauté Linux, il est devenu apparent qu'il
y avait un sérieux intérêt dans les idées que j'avais mises en avant
lors de mes aventures Linux. De tels systèmes LFS personnalisés
rencontraient non seulement les spécification et pré-requis des
utilisateurs mais servaient aussi comme opportunité idéale
d'apprentissage pour les programmeurs et les administrateurs système,
afin d'améliorer leurs connaissances sous Linux. De cet intérêt est né
le projet <emphasis>Linux From Scratch</emphasis>.</para>
 
<para>Le livre <quote><emphasis>Linux From Scratch</emphasis></quote>
fournit aux lecteurs la base et les instructions pour concevoir et
créer des systèmes Linux personnalisés. Ce livre met en lumière le
projet Linux from Scratch et les bénéfices de l'utilisation de ce
système. Les utilisateurs peuvent dicter tous les aspects de leur
système, ceci incluant la répartition des répertoires, la
configuration des scripts et la sécurité. Le système résultant sera
compilé directement à partir du code source et l'utilisateur sera
capable de spécifier où, pourquoi et comment les programmes sont
installés. Ce livre permet aux lecteurs de personnaliser complètement
les systèmes Linux suivant leurs besoins et donne plus de contrôle aux
utilisateurs sur leur système</para>
 
<para>J'espère que vous passerez un bon moment en travaillant sur
votre propre système LFS et que vous apprécierez les nombreux
bénéfices qu'apporte un système qui est réellement <emphasis>le
vôtre</emphasis>.</para>
 
<literallayout>--
Gerard Beekmans
gerard@linuxfromscratch.org</literallayout>
 
</sect1>
/tags/LFS-6_3_0/lfs/prologue/hostreqs.xml
0,0 → 1,154
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="pre-hostreqs">
<?dbhtml filename="hostreqs.html"?>
 
<title>Prérequis du système hôte</title>
 
<para>Votre système hôte doit contenir les logiciels suivants dans leur
version minimum indiquée. Cela ne devrait pas poser de problème sur la
plupart des distributions Linux modernes. Notez également que
certaines distributions placeront les en-tête des logiciels
dans un répertoire distinct des paquets, ayant souvent la forme
<quote>&lt;nom-du-paquet&gt;-devel</quote> ou
<quote>&lt;nom-du-paquet&gt;-dev</quote>. Assurez-vous qu'ils sont
installés si votre distribution les fournit.</para>
 
<itemizedlist spacing="compact">
 
<listitem>
<para><emphasis role="strong">Bash-2.05a</emphasis></para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Binutils-2.12</emphasis> (les versions
supérieures à &binutils-version; ne sont pas recommendées car elles n'ont
pas été testées)</para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Bison-1.875</emphasis></para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Bzip2-1.0.2</emphasis></para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Coreutils-5.0</emphasis> (ou Sh-Utils-2.0,
Textutils-2.0 et Fileutils-4.1)</para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Diffutils-2.8</emphasis></para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Findutils-4.1.20</emphasis></para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Gawk-3.0</emphasis></para>
</listitem>
 
<listitem>
<!-- Gcc-2.95.3 déterriore des tests quand on utilise CC="gcc -B/usr/bin/"
dans les *-sections pass1-->
<para><emphasis role="strong">Gcc-3.0.1</emphasis> (les versions
supérieures à &gcc-version; ne sont pas recommendées car elles n'ont
pas été testées)</para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Glibc-2.2.5</emphasis> (les versions
supérieures à &glibc-version; ne sont pas recommendées car elles n'ont
pas été testées)</para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Grep-2.5</emphasis></para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Gzip-1.2.4</emphasis></para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Linux Kernel-2.6.x</emphasis>
(compilées avec GCC-3.0 or supérieur)</para>
 
<para>Cette version du noyau est requise car le support pour le
<quote>thread-local storage</quote> de Binutils ne sera pas compilé et la
suite de
tests NPTL (<foreignphrase>Native POSIX Threading Library</foreignphrase>
produira une erreur de segmentation (segfault) si le noyau du système
hôte n'est pas au moins à la version 2.6.x, compilé avec une version 3.0
ou supérieure de GCC.</para>
 
<para>Si le noyau hôte est plus ancien que le 2.6.x, ou s'il n'a pas
été compilé avec le compilateur GCC-3.0 (ou supérieur),
vous devrez remplacer le noyau par un nouveau qui satisfait ces
spécifications. Vous pouvez employer deux méthodes pour résoudre ceci.
Vous pouvez d'abord voir si votre distribution Linux fournit un paquet
pour le noyau 2.6. Si tel est le cas, vous pouvez l'installer. Si
votre distribution n'offre pas un paquet pour le noyau 2.6, ou si vous
préférez l'installer, vous pouvez compiler un noyau 2.6 vous-même.
Les instructions pour la compilation du noyau et la configuration du
chargeur de démarrage (en suppossant que le système hôte utilise GRUB)
sont <xref linkend="chapter-bootable"/>.</para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Make-3.79.1</emphasis></para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Patch-2.5.4</emphasis></para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Sed-3.0.2</emphasis></para>
</listitem>
 
<listitem>
<para><emphasis role="strong">Tar-1.14</emphasis></para>
</listitem>
 
</itemizedlist>
 
<para>Pour voir si votre système hôte a toutes les versions nécessaires,
exécutez ceci&nbsp;:</para>
 
<screen role="nodump"><userinput>cat &gt; version-check.sh &lt;&lt; "EOF"
<literal>#!/bin/bash
 
# Simple script to list version numbers of critical development tools
 
bash --version | head -n1 | cut -d" " -f2-4
echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-4
bison --version | head -n1
bzip2 --version 2&gt;&amp;1 &lt; /dev/null | head -n1 | cut -d" " -f1,6-
echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2
diff --version | head -n1
find --version | head -n1
gawk --version | head -n1
gcc --version | head -n1
/lib/libc.so.6 | head -n1 | cut -d" " -f1-7
grep --version | head -n1
gzip --version | head -n1
cat /proc/version
make --version | head -n1
patch --version | head -n1
sed --version | head -n1
tar --version | head -n1</literal>
 
EOF
 
bash version-check.sh</userinput></screen>
 
</sect1>
/tags/LFS-6_3_0/lfs/prologue/audience.xml
0,0 → 1,107
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="pre-audience">
<?dbhtml filename="audience.html"?>
 
<title>Public visé</title>
 
<para>Il y a beaucoup de raisons qui pousseraient quelqu'un à vouloir
lire ce livre. La raison principale est d'installer un système LFS à
partir du code source. La question que beaucoup de personnes se posent
est <quote>pourquoi se fatiguer à installer manuellement un système
Linux depuis le début alors qu'il suffit de télécharger une
distribution existante&nbsp;?</quote>. C'est une bonne question.</para>
 
<para>Une raison importante de l'existence de LFS est d'apprendre
comment fonctionne un système Linux de l'intérieur. Construire un
système LFS vous apprend tout ce qui fait que Linux fonctionne, et
comment les choses interagissent et dépendent les unes des autres, et
le plus important, vous apprend à le personnaliser afin qu'il soit à
votre goût et réponde à vos besoins.</para>
 
<para>Un avantage clé de LFS est qu'il permet aux utilisateurs d'avoir
plus de contrôle sur votre système sans avoir à dépendre d'une
implémentation créée par quelqu'un d'autre. Avec LFS,
<emphasis>vous</emphasis> êtes maintenant sur le siège du conducteur
et <emphasis>vous</emphasis> êtes capable de décider chaque aspect du
système comme la
disposition des répertoires ou la configuration des scripts de
démarrage. Vous saurez également exactement où, pourquoi et comment
les programmes sont installés.</para>
 
<para>Un autre avantage de LFS est la possibilité de créer un système
Linux très compact. Lors de l'installation d'une distribution
habituelle, l'utilisateur est amené à inclure beaucoup de programmes qui
ne seront jamais utilisés. Ces programmes occupent de l'espace disque
et font parfois perdre des cycles CPU précieux. Il n'est pas difficile
de construire un système LFS de moins de 100&nbsp;Mo, ce qui est très
petit comparé à la majorité des installations existantes. Cela vous
semble-t-il toujours beaucoup&nbsp;? Certains d'entre nous ont
travaillé afin de créer un système LFS minuscule. Nous avons installé
un système spécialisé pour faire fonctionner le serveur web
Apache&nbsp;; l'espace disque total occupé était approximativement de
8&nbsp;Mo. Avec plus de dépouillement encore, cela peut être ramené à
5&nbsp;Mo ou moins. Essayez donc d'en faire autant avec une
distribution courante&nbsp;! C'est seulement un des points bénéfiques
de la conception de votre propre implémentation d'un système
Linux.</para>
 
<para>Si nous devions comparer une distribution Linux à un hamburger
que vous achetez à un fast-food, vous n'avez aucune idée de
ce que vous mangez. LFS ne vous donne pas un hamburger, mais la
recette pour faire un hamburger. Cela permet aux utilisateurs de
prudemment l'inspecter, d'enlever les ingrédients non désirés et, par
la même occasion, de rajouter des ingrédients qui correspondent mieux
à la saveur qu'ils attendent de ce hamburger. Quand vous êtes
satisfait des ingrédients, vous passez à l'étape suivante en les
combinant ensemble. Vous avez désormais la chance de pouvoir le faire
de la façon dont vous le souhaitez&nbsp;: grillez-le, faites-le cuire
au four, faites-le frire, faites-le au barbecue ou mangez-le
cru.</para>
 
<para>Une autre analogie que nous pouvons utiliser est de comparer LFS
à une maison construite. LFS fournit les plans de la maison, mais
c'est à vous de la construire. LFS vous donne la liberté d'ajuster les
plans pendant tout le processus, le personnalisant suivant les besoins
et préférences des utilisateurs.</para>
 
<para>Un autre avantage d'un système Linux personnalisé est un
surcroît de sécurité. Vous compilerez le système complet à partir de
la base, ce qui vous permet de tout vérifier, si vous le voulez, et
d'appliquer tous les correctifs de sécurité désirés. Il n'est plus
nécessaire d'attendre que quelqu'un d'autre vous fournisse un paquet
réparant une faille de sécurité. À moins que vous examiniez vous-mêmes
le patch et que vous l'appliquiez, vous n'avez aucune garantie que le
nouveau paquet ait été compilé correctement et que les réparations
résolvent effectivement le problème.</para>
 
<para>Le but de Linux From Scratch est de construire un système
complet et utilisable, en ce qui concerne les fondations. Les lecteurs
qui ne souhaitent pas construire leur propre système à partir de rien
pourraient ne pas bénéficier des informations contenues dans ce livre.
Si vous voulez seulement savoir ce qui se passe pendant le démarrage
de l'ordinateur, nous vous recommandons le guide pratique <quote>De la
mise sous tension à l'invite de commande de Bash</quote>, disponible
sur <ulink
url="http://www.traduc.org/docs/HOWTO/lecture/From-PowerUp-To-Bash-Prompt-HOWTO.html"/>
ou, en anglais, sur <ulink url="http://axiom.anu.edu.au/~okeefe/p2b/"/> ou sur le site du projet de documentation Linux (TLDP)
<ulink
url="http://www.tldp.org/HOWTO/From-PowerUp-To-Bash-Prompt-HOWTO.html"/>.
Ce guide pratique construit un système qui est similaire à celui de ce
livre mais qui se concentre strictement sur la création d'un système
capable de démarrer jusqu'à l'invite de BASH. Prenez en compte vos
objectifs. Si vous souhaitez construire un système Linux tout en
apprenant, alors ce livre est votre meilleur choix possible.</para>
 
<para>Il existe trop de bonnes raisons de construire votre système LFS
pour pouvoir toutes les lister ici. Cette section n'aborde que la
partie visible de l'iceberg. En continuant dans votre expérience de
LFS, vous trouverez la puissance que donnent l'information et la
connaissance.</para>
 
</sect1>
/tags/LFS-6_3_0/lfs/prologue/errata.xml
0,0 → 1,23
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="pre-errata">
<?dbhtml filename="errata.html"?>
 
<title>Errata</title>
 
<para>Le logiciel utilisé pour créer un système LFS est constamment mis à jour
et amélioré. Les messages d'avertissements pour la sécurité et les corrections
de bogues pourraient survenir après la sortie du livre LFS. Pour vérifier si
les versions du paquetage ou les instructions de cette version de LFS ont
besoin de modifications pour corriger les vulnérabilités en terme de sécurité
ou toute autre correction de bogue, merci de visiter <ulink
url="&errata;"/> avant de commencer votre construction. Vous devez noter toute modification et
les appliquer à la bonne section du livre pendant votre progression lors de
la construction du système LFS.</para>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter06/aboutdebug.xml
0,0 → 1,65
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-system-aboutdebug">
<?dbhtml filename="aboutdebug.html"?>
 
<title>À propos des symboles de débogage</title>
 
<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 routine.</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 <command>bash</command> avec les symboles de débogage&nbsp;:
1200&nbsp;Ko</para>
</listitem>
<listitem>
<para>un binaire <command>bash</command> 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 sur
 
<ulink url="&hints-root;optimization.txt"/>.</para>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter06/gettext.xml
0,0 → 1,396
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-system-gettext" role="wrap">
<?dbhtml filename="gettext.html"?>
 
<title>Gettext-&gettext-version;</title>
 
<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 langues natives (<foreignphrase>Native Language
Support</foreignphrase> ou NLS), pour afficher des
messages dans la langue native de l'utilisateur.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&gettext-ch6-sbu;</seg>
<seg>&gettext-ch6-du;</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 5 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, gettext.sh,
gettextize, hostname, msgattrib, msgcat, msgcmp, msgcomm, msgconv, msgen,
msgexec, msgfilter, msgfmt, msggrep, msginit, msgmerge, msgunfmt, msguniq,
ngettext, recode-sr-latin 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>gettext.sh</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>
</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></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>, initialise
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 binaires 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 de
<emphasis>&lt;string&gt;</emphasis> et les flux de
<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ées 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_3_0/lfs/chapter06/shadow.xml
0,0 → 1,573
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-system-shadow" role="wrap">
<?dbhtml filename="shadow.html"?>
 
<title>Shadow-&shadow-version;</title>
 
<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>&shadow-ch6-sbu;</seg>
<seg>&shadow-ch6-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Shadow</title>
 
<note>
<para>Si vous aimeriez multiplier l'usage des mots de passe efficaces,
reportez-vous à
<ulink url="&blfs-root;view/svn/postlfs/cracklib.html"/> pour l'installation
de Cracklib avant de compiler Shadow. Puis ajoutez
<parameter>--with-libcrack</parameter> à la commande <command>configure</command>
ci-dessous.</para>
</note>
 
<para>Réparez un bogue dans les programmes
<command>useradd</command> et <command>usermod</command> qui les
empêche d'accepter des noms de groupe plutôt que des nombres ID de
groupe avec <option>-g</option>&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&shadow-useradd-patch;</userinput></screen>
 
<para>Préparez la compilation de Shadow&nbsp;:</para>
 
<screen><userinput>./configure --libdir=/lib --sysconfdir=/etc --enable-shared \
--without-selinux</userinput></screen>
 
<variablelist>
<title>Voici la signification des options de configuration&nbsp;:</title>
 
<varlistentry>
<term><parameter>--without-selinux</parameter></term>
<listitem>
<para>Le support pour SELinux est activé par défaut, mais selinux
n'est pas compilé dans un système LFS de base. Le script
<command>configure</command> échouera si vous n'utilisez pas cette
option.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Désactivez l'installation du programme
<command>groups</command> et de sa page man car Coreutils fournit
une meilleure version&nbsp;:</para>
 
<screen><userinput>sed -i 's/groups$(EXEEXT) //' src/Makefile
find man -name Makefile -exec sed -i 's/groups\.1 / /' {} \;</userinput></screen>
 
<para>Désactivez l'installation des pages de manuel en chinois et en
coréen, puisque Man-DB ne peut pas les formater
correctement&nbsp;:</para>
 
<screen><userinput>sed -i -e 's/ ko//' -e 's/ zh_CN zh_TW//' man/Makefile</userinput></screen>
 
<para>Shadow fournit d'autres pages de manuel dans l'encodage UTF-8.
Man-DB peut afficher ces dernières dans les encodages recommandés en
utilisant le script <command>convert-mans</command> que nous avons
installé&nbsp;:</para>
 
<screen><userinput>for i in de es fi fr id it pt_BR; do
convert-mans UTF-8 ISO-8859-1 man/${i}/*.?
done
 
for i in cs hu pl; do
convert-mans UTF-8 ISO-8859-2 man/${i}/*.?
done
 
convert-mans UTF-8 EUC-JP man/ja/*.?
convert-mans UTF-8 KOI8-R man/ru/*.?
convert-mans UTF-8 ISO-8859-9 man/tr/*.?</userinput></screen>
 
<para id="shadow-login_defs">Au lieu d'utiliser la méthode
<emphasis>crypt</emphasis> par défaut, utilisez la méthode
<emphasis>MD5</emphasis> plus sécurisée du chiffrement de mot de
passe, qui autorise aussi les mots de passe plus longs que huit
caractères. Il est également nécessaire de changer l'endroit
obsolète de <filename class="directory">/var/spool/mail</filename>
pour les boîtes e-mail de l'utilisateur que Shadow utilise par
défaut en l'endroit <filename class="directory">/var/mail</filename>
utilisé actuellement&nbsp;:</para>
 
<screen><userinput>sed -i -e 's@#MD5_CRYPT_ENAB.no@MD5_CRYPT_ENAB yes@' \
-e 's@/var/spool/mail@/var/mail@' etc/login.defs</userinput></screen>
 
<note>
<para>Si vous avez compilé Shadow avec le support pour Cracklib, lancez
ce qui suit&nbsp;:</para>
 
<screen role="nodump"><userinput>sed -i 's@DICTPATH.*@DICTPATH\t/lib/cracklib/pw_dict@' \
etc/login.defs</userinput></screen>
</note>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Ce paquet n'est pas fourni avec une suite de tests.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Déplacez un programme mal placé au bon endroit&nbsp;:</para>
 
<screen><userinput>mv -v /usr/bin/passwd /bin</userinput></screen>
 
<para>Déplacez les bibliothèques de Shadow dans des emplacements
plus appropriés&nbsp;:</para>
 
<screen><userinput>mv -v /lib/libshadow.*a /usr/lib
rm -v /lib/libshadow.so
ln -sfv ../../lib/libshadow.so.0 /usr/lib/libshadow.so</userinput></screen>
 
</sect2>
 
<sect2 id="conf-shadow" role="configuration">
<title>Configuration de 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>La configuration du stock de Shadow pour l'utilitaire
<command>useradd</command> ne convient pas aux systèmes LFS.
Utilisez les commandes pour changer le répertoire personnel par défaut
des nouveaux utilisateurs et empêcher la création de fichiers de
traçage de mail&nbsp;:</para>
 
<screen><userinput>useradd -D -b /home
sed -i 's/yes/no/' /etc/default/useradd</userinput></screen>
 
</sect2>
 
<sect2 role="configuration">
<title>Configurer le mot de passe de root</title>
 
<para>Choisissez un mot de passe pour l'utilisateur
<emphasis>root</emphasis> et configurez-le avec&nbsp;:</para>
 
<screen role="nodump"><userinput>passwd root</userinput></screen>
 
</sect2>
 
<sect2 id="contents-shadow" role="content">
<title>Contenu de Shadow</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
<segtitle>Bibliothèques installées</segtitle>
 
<seglistitem>
<seg>chage, chfn, chgpasswd, chpasswd, chsh, expiry, faillog, gpasswd,
groupadd, groupdel, groupmems, groupmod, grpck, grpconv, grpunconv,
lastlog, login, logoutd, newgrp, newusers, nologin, passwd, pwck,
pwconv, pwunconv, sg (lien vers newgrp), su, 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 entre des
modifications obligatoires du 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="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="groupmems">
<term><command>groupmems</command></term>
<listitem>
<para>Permet à un utilisateur d'administrer la liste des membres de
son groupe sans avoir besoin des privilèges du super utilisateur</para>
<indexterm zone="ch-system-shadow groupmems">
<primary sortas="b-groupmems">groupmems</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="groupmod">
<term><command>groupmod</command></term>
<listitem>
<para>Est utilisé pour modifier le nom ou le GID du groupe</para>
<indexterm zone="ch-system-shadow groupmod">
<primary sortas="b-groupmod">groupmod</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grpck">
<term><command>grpck</command></term>
<listitem>
<para>Vérifie l'intégrité des fichiers
<filename>/etc/group</filename> et
<filename>/etc/gshadow</filename></para>
<indexterm zone="ch-system-shadow grpck">
<primary sortas="b-grpck">grpck</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="grpconv">
<term><command>grpconv</command></term>
<listitem>
<para>Cré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="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="nologin">
<term><command>nologin</command></term>
<listitem>
<para>Affiche un message selon lequel un compte n'est pas disponible.
Destiné à être utilisé comme shell par défaut pour des comptes qui
ont été désactivés</para>
<indexterm zone="ch-system-shadow nologin">
<primary sortas="b-nologin">nologin</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>
<para>Lance un shell en substituant les ID de l'utilisateur et du
groupe</para>
<indexterm zone="ch-system-shadow su">
<primary sortas="b-su">su</primary>
</indexterm>
</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> ou
<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> ou
<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_3_0/lfs/chapter06/kbd.xml
0,0 → 1,383
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-system-kbd" role="wrap">
<?dbhtml filename="kbd.html"?>
 
<title>Kbd-&kbd-version;</title>
 
<indexterm zone="ch-system-kbd">
<primary sortas="a-Kbd">Kbd</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<para>Le paquet Kbd contient les fichiers de plan de codage et des
outils pour le clavier.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&kbd-ch6-sbu;</seg>
<seg>&kbd-ch6-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Kbd</title>
 
<para>Le comportement des touches Effacement et Supprimer n'est pas
logique dans les tables de correspondance du clavier du paquet Kbd.
Le correctif suivant répare ce problème pour les tables de
correspondance du clavier de i386&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&kbd-backspace-patch;</userinput></screen>
 
<para>Après la correction, la touche Effacement génère le caractère
de code 127, et la touche Supprimer génère une séquence
d'échappement bien connue.</para>
 
<para>Appliquez un correctif à Kbd pour corriger un bogue dans
<command>setfont</command> provoqué lors de la compilation avec
GCC-&gcc-version;&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&kbd-gcc4_fixes-patch;</userinput></screen>
 
<para>Préparez la compilation de Kbd&nbsp;:</para>
 
<screen><userinput>./configure --datadir=/lib/kbd</userinput></screen>
 
<variablelist>
<title>Voici la signification des options de configuration&nbsp;:</title>
 
<varlistentry>
<term><parameter>--datadir=/lib/kbd</parameter></term>
<listitem>
<para>Cette option place les données de type de clavier dans un répertoire
qui sera toujours sur la partition racine au lieu du
<filename class="directory">/usr/share/kbd</filename> par
défaut.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Ce paquet n'est pas fourni avec une suite de tests.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<note>
<para>Pour certaines langues (comme le biélorusse), le paquet Kbd ne
fournit pas une table de correspondance utile, puisque le contenu
<quote>de</quote> la table assume l'encodage ISO-8859-5, et la table
CP1251 est normalement utilisée. Les utilisateurs de telles langues doivent
télécharger les tables de correspondance qui conviennent séparément.</para>
</note>
 
<para>Certains des scripts du paquet LFS-Bootscripts dépendent de
<command>kbd_mode</command>, <command>openvt</command>, et de
<command>setfont</command>. Comme
 
<filename class="directory">/usr</filename> peut ne pas être
disponible lors des premières étapes du démarrage, ces binaires
doivent être sur la partition racine&nbsp;:</para>
 
<screen><userinput>mv -v /usr/bin/{kbd_mode,openvt,setfont} /bin</userinput></screen>
 
 
 
 
</sect2>
 
<sect2 id="contents-kbd" role="content">
<title>Contenu de Kbd</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
 
<seglistitem>
<seg>chvt, deallocvt, dumpkeys, fgconsole, getkeycodes, kbd_mode,
kbdrate, loadkeys, loadunimap,
mapscrn, openvt, psfaddtable (lien vers psfxtable), psfgettable (lien vers
psfxtable), psfstriptable (lien vers psfxtable), psfxtable, resizecons,
setfont, setkeycodes, setleds, setmetamode,
showconsolefont, showkey, unicode_start et unicode_stop</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="chvt">
<term><command>chvt</command></term>
<listitem>
<para>Change le terminal virtuel en avant plan</para>
<indexterm zone="ch-system-kbd chvt">
<primary sortas="b-chvt">chvt</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="deallocvt">
<term><command>deallocvt</command></term>
<listitem>
<para>Désalloue les terminaux virtuels inutilisés</para>
<indexterm zone="ch-system-kbd deallocvt">
<primary sortas="b-deallocvt">deallocvt</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dumpkeys">
<term><command>dumpkeys</command></term>
<listitem>
<para>Affiche les tables de traduction du clavier</para>
<indexterm zone="ch-system-kbd dumpkeys">
<primary sortas="b-dumpkeys">dumpkeys</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="fgconsole">
<term><command>fgconsole</command></term>
<listitem>
<para>Affiche le numéro du terminal virtuel actif</para>
<indexterm zone="ch-system-kbd fgconsole">
<primary sortas="b-fgconsole">fgconsole</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="getkeycodes">
<term><command>getkeycodes</command></term>
<listitem>
<para>Affiche la table de correspondance des <quote>scancode</quote> avec
les <quote>keycode</quote></para>
<indexterm zone="ch-system-kbd getkeycodes">
<primary sortas="b-getkeycodes">getkeycodes</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="kbd_mode">
<term><command>kbd_mode</command></term>
<listitem>
<para>Affiche ou initialise le mode du clavier</para>
<indexterm zone="ch-system-kbd kbd_mode">
<primary sortas="b-kbd_mode">kbd_mode</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="kbdrate">
<term><command>kbdrate</command></term>
<listitem>
<para>Initialise les taux de répétition et de délai du clavier</para>
<indexterm zone="ch-system-kbd kbdrate">
<primary sortas="b-kbdrate">kbdrate</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="loadkeys">
<term><command>loadkeys</command></term>
<listitem>
<para>Charge les tables de traduction du clavier</para>
<indexterm zone="ch-system-kbd loadkeys">
<primary sortas="b-loadkeys">loadkeys</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="loadunimap">
<term><command>loadunimap</command></term>
<listitem>
<para>Charge la table de correspondance du noyau unicode-police</para>
<indexterm zone="ch-system-kbd loadunimap">
<primary sortas="b-loadunimap">loadunimap</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mapscrn">
<term><command>mapscrn</command></term>
<listitem>
<para>Un programme obsolète utilisé pour charger une table de
correspondance
des caractères de sortie définie par l'utilisateur dans le pilote de la
console. Ceci est maintenant fait par <command>setfont</command></para>
<indexterm zone="ch-system-kbd mapscrn">
<primary sortas="b-mapscrn">mapscrn</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="openvt">
<term><command>openvt</command></term>
<listitem>
<para>Lance un programme sur un nouveau terminal virtuel (VT)</para>
<indexterm zone="ch-system-kbd openvt">
<primary sortas="b-openvt">openvt</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="psfaddtable">
<term><command>psfaddtable</command></term>
<listitem>
<para>Un lien vers <command>psfxtable</command></para>
<indexterm zone="ch-system-kbd psfaddtable">
<primary sortas="b-psfaddtable">psfaddtable</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="psfgettable">
<term><command>psfgettable</command></term>
<listitem>
<para>Un lien vers <command>psfxtable</command></para>
<indexterm zone="ch-system-kbd psfgettable">
<primary sortas="b-psfgettable">psfgettable</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="psfstriptable">
<term><command>psfstriptable</command></term>
<listitem>
<para>Un lien vers <command>psfxtable</command></para>
<indexterm zone="ch-system-kbd psfstriptable">
<primary sortas="b-psfstriptable">psfstriptable</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="psfxtable">
<term><command>psfxtable</command></term>
<listitem>
<para>Gére les tables de caractères Unicode pour les polices de la
console</para>
<indexterm zone="ch-system-kbd psfxtable">
<primary sortas="b-psfxtable">psfxtable</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="resizecons">
<term><command>resizecons</command></term>
<listitem>
<para>Change l'idée du noyau sur la taille de la console</para>
<indexterm zone="ch-system-kbd resizecons">
<primary sortas="b-resizecons">resizecons</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="setfont">
<term><command>setfont</command></term>
<listitem>
<para>Modifie les polices EGA/VGA
(<foreignphrase>Enhanced Graphic Adapter</foreignphrase>-<foreignphrase>Video Graphics Array</foreignphrase>
sur la console</para>
<indexterm zone="ch-system-kbd setfont">
<primary sortas="b-setfont">setfont</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="setkeycodes">
<term><command>setkeycodes</command></term>
<listitem>
<para>Charge les entrées de la table de correspondance entre scancode et
keycode, utile si vous avez des touches inhabituelles sur votre clavier</para>
<indexterm zone="ch-system-kbd setkeycodes">
<primary sortas="b-setkeycodes">setkeycodes</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="setleds">
<term><command>setleds</command></term>
<listitem>
<para>Initialise les drapeaux et LED du clavier</para>
<indexterm zone="ch-system-kbd setleds">
<primary sortas="b-setleds">setleds</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="setmetamode">
<term><command>setmetamode</command></term>
<listitem>
<para>Définit la gestion des touches meta du clavier</para>
<indexterm zone="ch-system-kbd setmetamode">
<primary sortas="b-setmetamode">setmetamode</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="showconsolefont">
<term><command>showconsolefont</command></term>
<listitem>
<para>Affiche la police de l'écran pour la console EGA/VGA</para>
<indexterm zone="ch-system-kbd showconsolefont">
<primary sortas="b-showconsolefont">showconsolefont</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="showkey">
<term><command>showkey</command></term>
<listitem>
<para>Affiche les scancodes, keycodes et codes ASCII des touches appuyées sur
le clavier</para>
<indexterm zone="ch-system-kbd showkey">
<primary sortas="b-showkey">showkey</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="unicode_start">
<term><command>unicode_start</command></term>
<listitem>
<para>Met le clavier et la console en mode UNICODE. N'utilisez pas ce
programme sauf si votre fichier de correspondance est encodé en ISO-8859-1.
Pour les autres encodages, cet utilitaire donne de mauvais résultats.</para>
<indexterm zone="ch-system-kbd unicode_start">
<primary sortas="b-unicode_start">unicode_start</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="unicode_stop">
<term><command>unicode_stop</command></term>
<listitem>
<para>Ramène le clavier et la console dans le mode avant UNICODE</para>
<indexterm zone="ch-system-kbd unicode_stop">
<primary sortas="b-unicode_stop">unicode_stop</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter06/perl.xml
0,0 → 1,453
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-system-perl" role="wrap">
<?dbhtml filename="perl.html"?>
 
<title>Perl-&perl-version;</title>
 
<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>&perl-ch6-sbu;</seg>
<seg>&perl-ch6-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Perl</title>
 
<para>Tout d'abord, créer un fichier <filename>/etc/hosts</filename>
basique pour être référencé dans un des fichiers de configuration de
Perl en tant que suite de tests optionnelle&nbsp;:</para>
 
<screen><userinput>echo "127.0.0.1 localhost $(hostname)" &gt; /etc/hosts</userinput></screen>
 
<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 \
-Dman1dir=/usr/share/man/man1 \
-Dman3dir=/usr/share/man/man3 \
-Dpager="/usr/bin/less -isR"</userinput></screen>
 
<variablelist>
<title>Voici la signification de l'option de configure&nbsp;:</title>
 
<varlistentry>
<term><parameter>-Dpager="/usr/bin/less -isR"</parameter></term>
<listitem>
<para>Ceci corrige une erreur dans la façon dont <command>perldoc</command>
fait appel au programme <command>less</command>.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>-Dman1dir=/usr/share/man/man1
-Dman3dir=/usr/share/man/man3</parameter></term>
<listitem>
<para>is decision.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
 
<userinput>make test</userinput>.</para>
 
<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, cpan, dprofpp, enc2xs, find2perl, h2ph, h2xs,
instmodsh, libnetcfg, perl, perl&perl-version; (lien vers perl),
perlbug, perlcc, perldoc, perlivp, piconv, pl2pm, pod2html, pod2latex,
pod2man, pod2text, pod2usage, podchecker, podselect, prove,
psed (lien vers s2p), pstruct (lien vers c2ph), s2p, splain et
xsubpp</seg>
<seg>Plusieurs centaines qui ne peuvent pas être toutes 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="cpan">
<term><command>cpan</command></term>
<listitem>
<para>Interagit avec le réseau d'archive Perl global
(<foreignphrase>Comprehensive Perl Archive Network</foreignphrase>,
CPAN) à partir de la ligne de commande</para>
<indexterm zone="ch-system-perl cpan">
<primary sortas="b-cpan">cpan</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="enc2xs">
<term><command>enc2xs</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 enc2xs">
<primary sortas="b-enc2xs">enc2xs</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="instmodsh">
<term><command>instmodsh</command></term>
<listitem>
<para>Script shell pour examiner les modules Perl installés, et
pouvant même créer une archive tar à partir d'un module installé</para>
<indexterm zone="ch-system-perl instmodsh">
<primary sortas="b-instmodsh">instmodsh</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="prove">
<term><command>prove</command></term>
<listitem>
<para>Outil en ligne de commande pour lancer des tests liés au module
Test::Harness.</para>
<indexterm zone="ch-system-perl prove">
<primary sortas="b-prove">prove</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>
stabs</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>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_3_0/lfs/chapter06/util-linux.xml
0,0 → 1,789
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-system-util-linux" role="wrap">
<?dbhtml filename="util-linux.html"?>
 
<title>Util-linux-&util-linux-version;</title>
 
<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>&util-linux-ch6-sbu;</seg>
<seg>&util-linux-ch6-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Notes de compatibilité FHS</title>
 
<para>Le FHS recommande d'utiliser le répertoire
 
<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 -e 's@etc/adjtime@var/lib/hwclock/adjtime@g' \
-i $(grep -rl '/etc/adjtime' .)
mkdir -pv /var/lib/hwclock</userinput></screen>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Util-linux</title>
 
<para>Util-linux échoue lors de sa compilation avec les nouvelles
versions des en-têtes du noyau Linux. Les correctifs suivants
corrigent proprement ce problème&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&util-linux-cramfs-patch;
patch -Np1 -i ../&util-linux-lseek-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>
 
<variablelist>
<title>Voici la signification des paramètres de make&nbsp;:</title>
 
<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>Cela empêche le programme <command>sln</command> (une version
de <command>ln</command> liée de façon statique déjà installée
par Glibc) d'être compilé et installée à nouveau.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Ce paquetage ne vient pas avec une suite de tests.</para>
 
<para>Installez le paquetage&nbsp;:</para>
 
<screen><userinput>make HAVE_KILL=yes HAVE_SLN=yes install</userinput></screen>
 
</sect2>
 
<sect2 id="contents-utillinux" role="content">
<title>Contenu de 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, flock, fsck.cramfs, fsck.minix, getopt, hexdump, hwclock, ipcrm,
ipcs, isosize, line, logger, look, losetup, mcookie, mkfs, mkfs.bfs,
mkfs.cramfs, mkfs.minix, mkswap, more, mount, namei, pg, pivot_root,
ramsize (lien vers rdev), raw, rdev, readprofile, rename, renice, rev,
rootflags (lien vers rdev), script, setfdprm, setsid, setterm, sfdisk,
swapoff (lien vers swapon), swapon, tailf, 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>Filtre 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 plusieurs 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 un disque amovible</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="flock">
<term><command>flock</command></term>
<listitem>
<para>Acquiert le verrouillage d'un fichier puis exécute
une commande en maintenant le verrouillage</para>
<indexterm zone="ch-system-util-linux flock">
<primary sortas="b-flock">flock</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="fsck.cramfs">
<term><command>fsck.cramfs</command></term>
<listitem>
<para>Réalise un test de cohérence 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 cohérence 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 (inter-process communication) 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>Initialise 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 type à 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="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="tailf">
<term><command>tailf</command></term>
<listitem>
<para>Observe la croissance d'un fichier journal. Affiche les 10
dernières lignes d'un fichier journal, puis continue à afficher toute
nouvelle entrée dans le fichier journal dès qu'elle est créée</para>
<indexterm zone="ch-system-util-linux tailf">
<primary sortas="b-tailf">tailf</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_3_0/lfs/chapter06/texinfo.xml
0,0 → 1,208
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-system-texinfo" role="wrap">
<?dbhtml filename="texinfo.html"?>
 
<title>Texinfo-&texinfo-version;</title>
 
<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 conversion des pages Info.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&texinfo-ch6-sbu;</seg>
<seg>&texinfo-ch6-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Texinfo</title>
 
<para>Le programme <command>info</command> fait des suppositions
comme celle selon laquelle une chaîne occupe le même nombre de
cellules de caractère sur l'écran et d'octets en mémoire, et
celle-ci peut casser la chaîne n'importe où, ce qui échoue dans les
locales fondées sur UTF-8. Le correctif ci-dessous les rend valides
en les transformant en messages en anglais quand une locale
multibyte est utilisé&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&texinfo-multibyte-patch;</userinput></screen>
 
<para>Texinfo permet aux utilisateurs locaux d'écraser des fichiers
arbitraires avec une attaque de lien symbolique sur les fichiers
temporaires. Appliquez le correctif suivant pour supprimer ce
problème&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&texinfo-tempfile_fix-patch;</userinput></screen>
 
<para>Préparez la compilation de Texinfo&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Pour tester les résultats, lancez&nbsp;:
 
<userinput>make check</userinput>.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>De manière optionnelle, installez les composants appartenant à une
installation TeX&nbsp;:</para>
 
<!--
FIXME: doesn't the TeX installation in BLFS overwrite files there?
-->
 
<screen><userinput>make TEXMF=/usr/share/texmf install-tex</userinput></screen>
 
<variablelist>
<title>Voici la signification du paramètre de make&nbsp;:</title>
 
<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 Makefile 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 role="nodump"><userinput>cd /usr/share/info
rm dir
for f in *
do install-info $f dir 2&gt;/dev/null
done</userinput></screen>
 
</sect2>
 
<sect2 id="contents-texinfo" role="content">
<title>Contenu de Texinfo</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
 
<seglistitem>
<seg>info, infokey, install-info, makeinfo, texi2dvi, texi2pdf 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="texi2pdf">
<term><command>texi2pdf</command></term>
<listitem>
<para>Utilisé pour formater le document Texinfo indiqué en un fichier
PDF (<foreignphrase>Portable Document Format</foreignphrase>)</para>
<indexterm zone="ch-system-texinfo texi2pdf">
<primary sortas="b-texi2pdf">texi2pdf</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_3_0/lfs/chapter06/creatingdirs.xml
0,0 → 1,74
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-system-creatingdirs">
<?dbhtml filename="creatingdirs.html"?>
 
<title>Créer les répertoires</title>
 
<para>Il est temps de créer la hiérarchie de répertoires sur le système de
fichiers LFS. Créez une hiérarchie de répertoires standards en lançant les
commandes suivantes&nbsp;:</para>
 
<screen><userinput>mkdir -pv /{bin,boot,etc/opt,home,lib,mnt,opt}
mkdir -pv /{media/{floppy,cdrom},sbin,srv,var}
install -dv -m 0750 /root
install -dv -m 1777 /tmp /var/tmp
mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src}
mkdir -pv /usr/{,local/}share/{doc,info,locale,man}
mkdir -v /usr/{,local/}share/{misc,terminfo,zoneinfo}
mkdir -pv /usr/{,local/}share/man/man{1..8}
for dir in /usr /usr/local; do
ln -sv share/{man,doc,info} $dir
done
mkdir -v /var/{lock,log,mail,run,spool}
mkdir -pv /var/{opt,cache,lib/{misc,locate},local}</userinput></screen>
 
<para>Par défaut, les répertoires sont créés avec les droits 755, ce
qui n'est pas souhaitable pour tous les répertoires. Dans la commande ci-dessus,
deux modifications seront
effectuées&mdash;une
pour le répertoire principal de <systemitem class="username">root</systemitem>,
et une autre pour les répertoires des fichiers
temporaires.</para>
 
<para>Le premier changement de droit nous assure que n'importe qui ne
pourra pas entrer dans le répertoire
<filename class="directory">/root</filename>&mdash;de façon identique à ce que ferait un
utilisateur pour son répertoire principal. Le deuxième changement assure que
tout utilisateur peut écrire dans les répertoires
<filename class="directory">/tmp</filename> et
<filename class="directory">/var/tmp</filename>, mais ne peut pas supprimer les fichiers
des autres utilisateurs. Cette dernière interdiction est due au
<quote>sticky bit</quote>, le bit (1) le plus haut dans le masque 1777.</para>
 
<sect2>
<title>Remarques à propos de la conformité FHS</title>
 
<para>L'arborescence de répertoires est basée sur le standard FHS
(Filesystem Hierarchy Standard), disponible sur
<ulink url="http://www.pathname.com/fhs/"/>. Outre le FHS, nous créons
des liens symboliques pour la compatibilité pour les répertoires
<filename class="directory">man</filename>,
<filename class="directory">doc</filename>, et
<filename class="directory">info</filename> vu que beaucoup de paquetages
essaient encore d'installer leur documentation dans
<filename class="directory">/usr/&lt;répertoire&gt;</filename> ou <filename
class="directory">/usr/local/&lt;répertoire&gt;</filename> au lieu de
<filename class="directory">/usr/share/&lt;répertoire&gt;</filename> ou
<filename class="directory">/usr/local/share/&lt;répertoire&gt;</filename>.
Le FHS stipule aussi l'existence de <filename class="directory">/usr/local/games</filename>
et <filename class="directory">/usr/share/games</filename>. Le FHS
n'est pas précis en ce qui concerne la structure du sous-répertoire
<filename class="directory">/usr/local/share</filename>,
donc
nous créons seulement les répertoires nécessaires. Néanmoins, n'hésitez pas à
créer ces répertoires si vous préférez vous conformer plus strictement au FHS.</para>
 
</sect2>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter06/sysvinit.xml
0,0 → 1,324
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-system-sysvinit" role="wrap">
<?dbhtml filename="sysvinit.html"?>
 
<title>Sysvinit-&sysvinit-version;</title>
 
<indexterm zone="ch-system-sysvinit">
<primary sortas="a-Sysvinit">Sysvinit</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<para>Le paquet Sysvinit contient des programmes de contrôle du
démarrage, de l'exécution et de l'arrêt de votre système.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&sysvinit-ch6-sbu;</seg>
<seg>&sysvinit-ch6-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Sysvinit</title>
 
<para>Lorsque les niveaux d'exécution changent (par exemple, lors de
l'arrêt du système), <command>init</command> envoie des signaux de
fin aux processus qu'<command>init</command> a lui-même lancé et qui
ne devraient plus s'exécuter dans le nouveau niveau d'exécution. En
faisant ceci, <command>init</command> affiche des messages comme
<quote>Sending processes the TERM signal</quote> (NdT&nbsp;: Envoi
du signal TERM aux processus) ce qui semble impliquer qu'il envoie
ce signal à tous les processus en cours d'exécution. Pour éviter
cette mauvaise interprétation, modifiez les sources pour que ce
message soit remplacé par <quote>Sending processes started by init
the TERM signal</quote> (NdT&nbsp;: Envoi du signal TERM aux
processus lancés par init)&nbsp;:</para>
 
<screen><userinput>sed -i 's@Sending processes@&amp; configured via /etc/inittab@g' \
src/init.c</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make -C src</userinput></screen>
 
<para>Ce paquet n'est pas fourni avec une suite de tests.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make -C src install</userinput></screen>
 
</sect2>
 
<sect2 id="conf-sysvinit" role="configuration">
<title>Configuration de Sysvinit</title>
 
<indexterm zone="conf-sysvinit">
<primary sortas="a-Sysvinit">Sysvinit</primary>
<secondary>configuration</secondary>
</indexterm>
 
<indexterm zone="conf-sysvinit">
<primary sortas="e-/etc/inittab">/etc/inittab</primary>
</indexterm>
 
<para>Créez un nouveau fichier <filename>/etc/inittab</filename> en
lançant ce qui suit&nbsp;:</para>
 
<screen><userinput>cat &gt; /etc/inittab &lt;&lt; "EOF"
<literal># Begin /etc/inittab
 
id:3:initdefault:
 
si::sysinit:/etc/rc.d/init.d/rc sysinit
 
l0:0:wait:/etc/rc.d/init.d/rc 0
l1:S1:wait:/etc/rc.d/init.d/rc 1
l2:2:wait:/etc/rc.d/init.d/rc 2
l3:3:wait:/etc/rc.d/init.d/rc 3
l4:4:wait:/etc/rc.d/init.d/rc 4
l5:5:wait:/etc/rc.d/init.d/rc 5
l6:6:wait:/etc/rc.d/init.d/rc 6
 
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
 
su:S016:once:/sbin/sulogin
 
1:2345:respawn:/sbin/agetty tty1 9600
2:2345:respawn:/sbin/agetty tty2 9600
3:2345:respawn:/sbin/agetty tty3 9600
4:2345:respawn:/sbin/agetty tty4 9600
5:2345:respawn:/sbin/agetty tty5 9600
6:2345:respawn:/sbin/agetty tty6 9600
 
# End /etc/inittab</literal>
EOF</userinput></screen>
 
</sect2>
 
<sect2 id="contents-sysvinit" role="content">
<title>Contenu de Sysvinit</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
 
<seglistitem>
<seg>bootlogd, halt, init, killall5, last, lastb (lien vers last), mesg,
mountpoint, pidof (lien vers killall5), poweroff (lien vers halt),
reboot (lien vers halt), runlevel, shutdown, sulogin,
telinit (lien vers init), utmpdump et wall</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="bootlogd">
<term><command>bootlogd</command></term>
<listitem>
<para>Trace les messages de démarrage dans le journal</para>
<indexterm zone="ch-system-sysvinit bootlogd">
<primary sortas="b-bootlogd">bootlogd</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="halt">
<term><command>halt</command></term>
<listitem>
<para>Lance normalement <command>shutdown</command> avec l'option
<parameter>-h</parameter>, sauf s'il est déjà au niveau d'exécution 0, puis il
demande au noyau d'arrêter le système. Mais, tout d'abord, il note dans le
fichier <filename>/var/log/wtmp</filename> que le système est en cours d'arrêt</para>
<indexterm zone="ch-system-sysvinit halt">
<primary sortas="b-halt">halt</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="init">
<term><command>init</command></term>
<listitem>
<para>Le premier processus à être exécuté lorsque le noyau a initialisé le
matériel et qui prend la main sur le processus de démarrage et démarre
tous les processus qui lui ont été indiqués</para>
<indexterm zone="ch-system-sysvinit init">
<primary sortas="b-init">init</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="killall5">
<term><command>killall5</command></term>
<listitem>
<para>Envoie un signal à tous les processus sauf les processus de sa propre
session, de façon à ne pas tuer le shell ayant lancé le script qui l'a appelé</para>
<indexterm zone="ch-system-sysvinit killall5">
<primary sortas="b-killall5">killall5</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="last">
<term><command>last</command></term>
<listitem>
<para>Affiche le dernier utilisateur connecté (et déconnecté) en cherchant dans
le fichier <filename>/var/log/wtmp</filename>. Il peut aussi afficher
les démarrages et arrêts du système ainsi que les changements de
niveaux d'exécution</para>
<indexterm zone="ch-system-sysvinit last">
<primary sortas="b-last">last</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="lastb">
<term><command>lastb</command></term>
<listitem>
<para>Affiche les tentatives échouées de connexions tracées dans
<filename>/var/log/btmp</filename></para>
<indexterm zone="ch-system-sysvinit lastb">
<primary sortas="b-lastb">lastb</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mesg">
<term><command>mesg</command></term>
<listitem>
<para>Contrôle si les autres utilisateurs peuvent envoyer des messages au
terminal de l'utilisateur courant</para>
<indexterm zone="ch-system-sysvinit mesg">
<primary sortas="b-mesg">mesg</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mountpoint">
<term><command>mountpoint</command></term>
<listitem>
<para>Vérifie si le répertoire est un point de montage</para>
<indexterm zone="ch-system-sysvinit mountpoint">
<primary sortas="b-mountpoint">mountpoint</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="pidof">
<term><command>pidof</command></term>
<listitem>
<para>Indique le PID des programmes précisés</para>
<indexterm zone="ch-system-sysvinit pidof">
<primary sortas="b-pidof">pidof</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="poweroff">
<term><command>poweroff</command></term>
<listitem>
<para>Indique au noyau d'arrêter le système et de couper l'ordinateur (voir
<command>halt</command>)</para>
<indexterm zone="ch-system-sysvinit poweroff">
<primary sortas="b-poweroff">poweroff</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="reboot">
<term><command>reboot</command></term>
<listitem>
<para>Indique au noyau de redémarrer le système (voir
<command>halt</command>)</para>
<indexterm zone="ch-system-sysvinit reboot">
<primary sortas="b-reboot">reboot</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="runlevel">
<term><command>runlevel</command></term>
<listitem>
<para>Indique le niveau d'exécution actuel et précédent comme précisé dans
l'enregistrement du dernier niveau d'exécution dans <filename>/var/run/utmp</filename></para>
<indexterm zone="ch-system-sysvinit runlevel">
<primary sortas="b-runlevel">runlevel</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="shutdown">
<term><command>shutdown</command></term>
<listitem>
<para>Arrête proprement le système en le signalant à tous les processus et à
tous les utilisateur connectés</para>
<indexterm zone="ch-system-sysvinit shutdown">
<primary sortas="b-shutdown">shutdown</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="sulogin">
<term><command>sulogin</command></term>
<listitem>
<para>Permet la connexion de <systemitem class="username">root</systemitem>.
Il est normalement appelé par
<command>init</command> lorsque le système passe en mono-utilisateur</para>
<indexterm zone="ch-system-sysvinit sulogin">
<primary sortas="b-sulogin">sulogin</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="telinit">
<term><command>telinit</command></term>
<listitem>
<para>Indique à <command>init</command> dans quel niveau d'exécution
entrer</para>
<indexterm zone="ch-system-sysvinit telinit">
<primary sortas="b-telinit">telinit</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="utmpdump">
<term><command>utmpdump</command></term>
<listitem>
<para>Affiche le contenu du fichier de connexion donné dans un format plus
agréable</para>
<indexterm zone="ch-system-sysvinit utmpdump">
<primary sortas="b-utmpdump">utmpdump</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="wall">
<term><command>wall</command></term>
<listitem>
<para>Écrit un message à l'intention de tous les utilisateurs connectés</para>
<indexterm zone="ch-system-sysvinit wall">
<primary sortas="b-wall">wall</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter06/pkgmgt.xml
0,0 → 1,256
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-system-pkgmgt">
<?dbhtml filename="pkgmgt.html"?>
 
<title>Gestion de paquetages</title>
 
<para>La gestion de paquetages est un ajout souvent demandé au livre
LFS. Un gestionnaire de paquetages permet de conserver une trace des
fichiers installés, simplifiant ainsi leur suppression ou leur mise à
jour. Avant tout, NON&mdash;cette section ne parle pas d'un gestionnaire
de paquetages particulier, elle n'en recommande pas non plus. Elle fait
un tour des techniques les plus populaires pour indiquer comment elles
fonctionnent. Le gestionnaire parfait de paquetages pourrait faire
partie de ces techniques ou pourrait être une combinaison d'une ou
plusieurs techniques. Cette section mentionne brièvement les problèmes
pouvant survenir lors de la mise à jour des paquetages.</para>
 
<para>Parmi les raisons de l'absence d'un gestionnaire de paquetages
mentionné dans LFS ou BLFS&nbsp;:</para>
 
<itemizedlist>
<listitem>
<para>S'occuper de la gestion de paquetages est en dehors des buts de ces
livres&mdash; visant à apprendre comment un système Linux est construit.</para>
</listitem>
 
<listitem>
<para>Il existe de nombreuses solutions pour la gestion de paquetages,
chacune ayant des forces et ses faiblesses. En inclure une qui
satisfait tout le monde est difficile.</para>
</listitem>
</itemizedlist>
 
<para>Des astuces ont été écrites sur le thème de la gestion de
paquetages. Visitez le <ulink url="&hints-index;">Projet des
astuces</ulink> et voyez celui qui satisfait vos besoins.</para>
 
<sect2>
<title>Problèmes de mise à jour</title>
 
<para>Un gestionnaire de paquetages facilite la mise à jour des
nouvelles versions au moment de leur sortie. Généralement, les
instructions dans les livres LFS et BLFS peuvent être utilisées pour les
nouvelles versions. Voici quelques points à connaître pour une mise à
jour de paquetages, spécifiquement sur un système en cours de
fonctionnement</para>
 
<itemizedlist>
<listitem>
<para>Il est recommandé, si un des outils de l'ensemble des outils
(glibc, gcc, binutils) doit être mis à jour avec une nouvelle version
mineure, de reconstruire LFS. Bien que vous <emphasis>pourriez</emphasis>
être capable de ne pas reconstruire tous les paquetages dans leur ordre
de dépendances. Nous ne vous le recommandons pas. Par exemple, si
glibc-2.2.x a besoin d'être mis à jour vers glibc-2.3.x, il est
préférable de reconstruire. Pour les mises à jour encore plus
mineures, une simple réinstallation fonctionne généralement mais cela
n'est pas garanti. Par exemple, mettre à jour de glibc-2.3.1 à
glibc-2.3.2 ne causera aucun problème.</para>
</listitem>
 
<listitem>
<para>Si un paquetage contenant une bibliothèque partagée est mise à jour et
si le nom de cette dernière est modifié, alors les paquetages liées
dynamiquement à la bibliothèque devront être recompilés pour être liés
à la nouvelle bibliothèque. (Notez qu'il n'y a aucun corrélation entre
la version du paquetage et le nom de la bibliothèque.) Par exemple,
considérez un paquetage foo-1.2.3 qui installe une bibliothèque
partagée de nom
<filename class='libraryfile'>libfoo.so.1</filename>.
Disons que vous mettez à jour le
paquetage avec une nouvelle version foo-1.2.4 qui installe une
bibliothèque partagée de nom
<filename class='libraryfile'>libfoo.so.2</filename>. Dans ce cas, tous les
paquetages liés dynamiquement à
<filename class='libraryfile'>libfoo.so.1</filename> doivent être recompilés
pour être liés à
<filename class='libraryfile'>libfoo.so.2</filename>. Notez que vous ne devez pas supprimer
les anciennes bibliothèques jusqu'à ce que les paquetages indépendants
soient recompilés.</para>
</listitem>
</itemizedlist>
 
</sect2>
 
<sect2>
<title>Techniques de gestion de paquetages</title>
 
<para>Ce qui suit est une liste de techniques habituelles de gestion de
paquetages. Avant de prendre une décision sur un gestionnaire de
paquetages, faites une recherche sur les différentes techniques et
notamment leurs faiblesses.</para>
 
<sect3>
<title>Tout est dans ma tête&nbsp;!</title>
 
<para>Oui, c'est une technique de gestion de paquetages. Certains n'éprouvent
pas le besoin d'un gestionnaire de paquetages parce qu'ils connaissent
très bien les paquetages et connaissent les fichiers installés par chaque
paquetage. Certains utilisateurs n'en ont pas besoin parce qu'ils
planifient la reconstruction entière de LFS lorsqu'un paquetage est
modifié.</para>
 
</sect3>
 
<sect3>
<title>Installer dans des répertoires séparés</title>
 
<para>C'est une gestion des paquetages tellement simple qu'elle ne nécessite
aucun paquetage supplémentaire pour gérer les installations. Chaque
paquetage est installé dans un répertoire séparé. Par exemple, le
paquetage foo-1.1 est installé dans
<filename class='directory'>/usr/pkg/foo-1.1</filename>
et un lien symboique est créé vers
<filename class='directory'>/usr/pkg/foo-1.1</filename>. Lors de l'installation de
la nouvelle version foo-1.2, elle est installée dans
<filename class='directory'>/usr/pkg/foo-1.2</filename>
et l'ancien lien symbolique est remplacé par un lien symbolique vers la
nouvelle version.</para>
 
<para>Les variables d'environnement telles que <envar>PATH</envar>,
<envar>LD_LIBRARY_PATH</envar>, <envar>MANPATH</envar>,
<envar>INFOPATH</envar> et <envar>CPPFLAGS</envar>
ont besoin d'être étendues pour inclure
<filename>/usr/pkg/foo</filename>. Pour plus que quelques paquetages, ce
schéma devient ingérable.</para>
 
</sect3>
 
<sect3>
<title>Gestion de paquetage par lien symbolique</title>
 
<para>C'est une variante de la technique précédente. Chaque paquetage est
installé de façon similaire au schéma précédent. Mais au lieu de réaliser
le lien symbolique, chaque fichier dispose d'un lien symbolique vers
son équivalent dans la hiérarchie
<filename class='directory'>/usr</filename>. Ceci supprime le besoin d'étendre les variables
d'environnement. Bien que les liens symboliques peuvent être créés par
l'utilisateur, pour automatiser la création, certains gestionnaires de
paquetages ont été écrit avec cette approche. Parmi les plus populaires se
trouvent Stow, Epkg, Graft et Depot.</para>
 
<para>L'installation doit être faussée, de façon à ce que chaque paquetage pense
qu'il est installé dans
<filename class="directory">/usr</filename> alors qu'en réalité il est installé dans la
hiérarchie <filename class="directory">/usr/pkg</filename>.
Installer de cette manière n'est généralement pas une
tâche triviale. Par exemple, considérez que vous installez un paquetage
libfoo-1.1. Les instructions suivantes pourraient ne pas installer
correctement le paquetage&nbsp;:</para>
 
<screen role="nodump"><userinput>./configure --prefix=/usr/pkg/libfoo/1.1
make
make install</userinput></screen>
 
<para>L'installation fonctionnera mais les paquetages dépendants pourraient ne
pas lier libfoo comme vous vous y attenderiez. Si vous compilez un
paquetage qui se lie à
<filename class='libraryfile'>/usr/pkg/libfoo/1.1/lib/libfoo.so.1</filename>
au lieu de <filename class='libraryfile'>/usr/lib/libfoo.so.1</filename>
comme vous le prévoyez. La bonne approche est d'utiliser la stratégie
<envar>DESTDIR</envar> pour fausser l'installation du paquetage. Cette approche
fonctionne ainsi&nbsp;:</para>
 
<screen role="nodump"><userinput>./configure --prefix=/usr
make
make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen>
 
<para>La plupart des paquetages supportent cette approche mais elle pose
problème à certains. Pour les paquetages non compatibles, vous pouvez soit
les installer manuellement soit trouver plus simple d'installer les
paquetages problématiques dans
<filename class='directory'>/opt</filename>.</para>
 
</sect3>
 
<sect3>
<title>Basé sur le temps</title>
 
<para>Avec cette technique, un fichier est balisé avec l'heure avant
l'installation du paquetage. Après l'installation, une simple utilisation
de la commande
<command>find</command> avec les options appropriées peut générer une trace de
tous les fichiers installés après que le fichier temps ne soit créé.
install-log est un gestionnaire de paquetages écrit avec cette approche.</para>
 
<para>Bien que ce schéma a l'avantage d'être simple, il a deux inconvénients. Si
à l'installation, les fichiers sont installés sans balise de temps autre
que l'heure actuelle, ces fichiers ne seront pas suivis par le
gestionnaire de paquetages. De plus, ce schéma peut seulement être utilisé
lorsqu'un seul paquetage est installé à la fois. Les traces ne sont pas
fiables si deux paquetages sont installés dans deux consoles différentes.</para>
 
</sect3>
 
<sect3>
<title>Basé sur LD_PRELOAD</title>
 
<para>Avec cette approche, une bibliothèque est préchargée avant l'installation.
Lors de l'utilisation de cette dernière, cette bibliothèque trace les paquetages en cours
d'installation en s'attachant eux-même aux différents exécutables comme
<command>cp</command>, <command>install</command>, <command>mv</command>
et trace les appels système qui modifient le système de
fichiers. Pour que cette approche fonctionne, tous les exécutables ont
besoin d'être liés dynamiquement sans bit suid ou sgid. Le préchargement
de la bibliothèque pourrait causer quelques effets de bord involontaires
lors de l'installation ; donc, réalisez quelques tests pour vous assurer
que le gestionnaire de paquetages ne casse rien et trace bien tous les
fichiers appropriés.</para>
 
</sect3>
 
<sect3>
<title>Créer des archives de paquetages</title>
 
<para>Dans ce schéma, l'installation d'un paquetage est faussé dans un
répertoire séparé comme décrit plus haut. Après l'installation, une
archive du paquetage est créée en utilisant les fichiers installés.
L'archive est ensuite utilisée pour installer le paquetage soit sur la
machine locale soit même sur d'autres machines.</para>
 
<para>Cette approche est utilisée par la plupart des gestionnaires de paquetages
trouvés dans les distributions commerciales. Les exemples de gestionnaires
qui suivent cette approche sont RPM (qui est parfois requis par la
<ulink url="http://lsbbook.gforge.freestandards.org/package.html#RPM">Spécification
de base de Linux Standard</ulink>), pkg-utils, apt de Debian, et le
système de portage de Gentoo. Une astuce décrivant comment adopter ce
style de gestion de paquetages pour les systèmes LFS se trouve à
<ulink url="&hints-root;fakeroot.txt"/>.</para>
 
</sect3>
 
<sect3>
<title>Gestion basée sur les utilisateurs</title>
 
<para>Ce schéma, unique à LFS, a été décrit par Matthias Benkmann et est
disponible sur le <ulink url="&hints-index;">Projet des astuces</ulink>.
Dans ce schéma, chaque paquetage
est installé en tant qu'utilisateur séparé dans les emplacements
standards. Les fichiers appartenant à un paquetage sont facilement
identifiés grâce à l'identifiant de l'utilisateur. Les fonctionnalités et
avantages de cette approche sont trop complexes pour les décrire dans
cette section. Pour plus de détails, voir l'astuce sur
<ulink url="&hints-root;more_control_and_pkg_man.txt"/>.</para>
 
</sect3>
 
</sect2>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter06/man-db.xml
0,0 → 1,483
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-system-man-db" role="wrap">
<?dbhtml filename="man-db.html"?>
 
<title>Man-DB-&man-db-version;</title>
 
<indexterm zone="ch-system-man-db">
<primary sortas="a-Man-DB">Man-DB</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<para>Le paquet Man-DB contient des programmes pour trouver et voir
des pages de manuel.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&man-db-ch6-sbu;</seg>
<seg>&man-db-ch6-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation de Man-DB</title>
 
<para>Vous devez faire quatre ajustements aux sources de
Man-DB.</para>
 
<para>Le premier modifie la place des pages de manuel traduites
fournies avec Man-DB, afin qu'elles soient accessibles avec les
locales traditionnelle et UTF-8&nbsp;:</para>
 
<screen><userinput>mv man/de{_DE.88591,}
mv man/es{_ES.88591,}
mv man/it{_IT.88591,}
mv man/ja{_JP.eucJP,}
sed -i 's,\*_\*,??,' man/Makefile.in</userinput></screen>
 
<para>Le second changement est une substitution
<command>sed</command> pour effacer les lignes
<quote>/usr/man</quote> et <quote>/usr/local/man</quote> dans le
fichier <filename>man_db.conf</filename> pour empêcher les résultats
redondants lors de l'utilisation des programmes comme
<command>whatis</command>&nbsp;:</para>
 
<screen><userinput>sed -i -e '\%\t/usr/man%d' -e '\%\t/usr/local/man%d' src/man_db.conf.in</userinput></screen>
 
<para>Le troisième changement précise les programmes que Man-DB doit
pouvoir trouver lors de l'exécution, mais qui n'ont pas encore été
installés&nbsp;:</para>
 
<screen><userinput>cat &gt;&gt; include/manconfig.h.in &lt;&lt; "EOF"
<literal>#define WEB_BROWSER "exec /usr/bin/lynx"
#define COL "/usr/bin/col"
#define VGRIND "/usr/bin/vgrind"
#define GRAP "/usr/bin/grap"</literal>
EOF</userinput></screen>
 
<para>Le programme <command>col</command> fait partie du paquet
Util-linux, <command>lynx</command> est un navigateur web en mode
texte (voir BLFS pour les instructions d'installation),
<command>vgrind</command> convertit des sources de programme en
entrée Groff, et <command>grap</command> est utile pour présenter
des graphes dans des documents Groff. Les programmes
<command>vgrind</command> et <command>grap</command> ne sont
normalement pas nécessaires pour visualiser les pages de manuel. Ils
ne font pas partie de LFS ou de BLFS, mais vous devriez pouvoir les
installer vous-même après avoir fini LFS si vous le
souhaitez.</para>
 
<para>Finalement, appliquez un correctif aux sources pour corriger
des erreurs de sortie si la page de man est prématurément annulée en
tapant la touche 'q'.</para>
 
<screen><userinput>patch -Np1 -i ../&man-db-fixes-patch;</userinput></screen>
 
<para>Préparez la compilation de man-DB&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr --enable-mb-groff --disable-setuid</userinput></screen>
 
<variablelist>
<title>Voici la signification des options de configuration&nbsp;:</title>
 
<varlistentry>
<term><parameter>--enable-mb-groff</parameter></term>
<listitem>
<para>Ceci dit au programme <command>man</command> d'utiliser les
périphériques Groff <quote>ascii8</quote> et <quote>nippon</quote>
pour formater des pages de manuel non ISO-8859-1.</para>
</listitem>
</varlistentry>
 
<varlistentry>
<term><parameter>--disable-setuid</parameter></term>
<listitem>
<para>Ceci empêche que le programme <command>man</command> se voit
attribué l'ID de l'utilisateur <systemitem class="username">man</systemitem>.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Ce paquet n'est pas fourni avec une suite de tests.</para>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Certains paquets fournissent des pages de man UTF-8 que cette
version de <command>man</command> n'est pas capable d'afficher. Le
script suivant permettra à certaines d'entre elles d'être converties
dans les codages attendus montrés dans la table ci-dessous. Man-DB
s'attend à ce que les pages de manuel soit dans les codages de la
table, et les convertira au besoin dans l'encodage de la locale
actuelle quand ils les affichera, afin qu'elles s'affichent en
locales UTF-8 et traditionelle. Ce script étant conçu ici pour une
utilisation limitée pendant la compilation du système, pour des
données publiques, nous n'allons pas nous ennuyer à vérifier les
erreurs, ni utiliser un nom de fichier temporaire
imprévisible&nbsp;:</para>
 
<screen><userinput>cat &gt;&gt; convert-mans &lt;&lt; "EOF"
<literal>#!/bin/sh -e
FROM="$1"
TO="$2"
shift ; shift
while [ $# -gt 0 ]
do
FILE="$1"
shift
iconv -f "$FROM" -t "$TO" "$FILE" >.tmp.iconv
mv .tmp.iconv "$FILE"
done</literal>
EOF
install -m755 convert-mans /usr/bin</userinput></screen>
 
<para>Vous pouvez trouver des informations supplémentaires sur la
compression des pages de man et d'info dans le livre BLFS sur
<ulink url="&blfs-root;view/cvs/postlfs/compressdoc.html"/>.</para>
 
</sect2>
 
<sect2>
<title>Pages de manuel non anglaises dans LFS</title>
 
<para>Les distributions Linux ont différentes politiques sur
l'encodage des caractères dans lequel les pages de man sont stockées
dans le système de fichiers. Par exemple, RedHat conserve toutes les
pages de manuel en UTF-8, tandis que Debian utilise des encodages
spécifiques à chaque langue (la plupart du temps 8-bit). Ceci est
lié à l'incompatibilité des paquets avec les pages de manuel
adaptées à différentes distributions.</para>
 
<para>LFS utilise les mêmes conventions que Debian. On a choisi cela
car Man-DB ne comprend pas les pages de manuel stockées en UTF-8. Or,
pour nos objectifs, Man-DB est préférable à Man car il fonctionne
sans configuration complémentaire quelque soit la locale. Enfin,
jusqu'à maintenant, il n'y a pas d'implémentation de la
convention RedHat qui fonctionne entièrement.
<command>groff</command> de RedHat est connu pour ne pas formater
le texte.</para>
 
<para>La relation entre les codes de langue et l'encodage attendu
des pages de manuel est référencée ci-dessous. Man-DB les convertit
automatiquement vers l'encodage de la locale lors de leur
visualisation.</para>
 
<!-- Origin: man-db-2.4.3/src/encodings.c -->
<table>
<title>Encodage de caractère attendu des pages de manuel</title>
<?dbfo table-width="2.5in" ?>
 
<tgroup cols="2">
 
<colspec colnum="1" colwidth="1.5in"/>
<colspec colnum="2" colwidth="1in"/>
 
<thead>
<row>
<entry>Langue (code)</entry>
<entry>Encodage</entry>
</row>
</thead>
 
<tbody>
<row>
<entry>Danois (da)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>Allemand (de)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>Anglais (en)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>Espagnol (es)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>Finnois (fi)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>Français (fr)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>Irlandais (ga)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>Galicien (gl)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>Indonésien (id)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>Islandais (is)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>Italien (it)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>Néerlandais (nl)</entry>
<entry>ISO-8859-1</entry>
</row>
<!-- FIXME: BUG: "no" is deprecated, should use "nb" or "nn" and
symlinks -->
<row>
<entry>Norvégien (no)</entry>
<entry>ISO-8859-1</entry>
</row>
<!-- END BUG -->
<row>
<entry>Portugais (pt)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>Suédois (sv)</entry>
<entry>ISO-8859-1</entry>
</row>
<!-- Languages below require patched groff -->
<row>
<entry>Tchèque (cs)</entry>
<entry>ISO-8859-2</entry>
</row>
<row>
<entry>Croate (hr)</entry>
<entry>ISO-8859-2</entry>
</row>
<row>
<entry>Hongrois (hu)</entry>
<entry>ISO-8859-2</entry>
</row>
<row>
<entry>Japonais (ja)</entry>
<entry>EUC-JP</entry>
</row>
<row>
<entry>Coréen (ko)</entry>
<entry>EUC-KR</entry>
</row>
<row>
<entry>Polonais (pl)</entry>
<entry>ISO-8859-2</entry>
</row>
<row>
<entry>Russe (ru)</entry>
<entry>KOI8-R</entry>
</row>
<row>
<entry>Slovaque (sk)</entry>
<entry>ISO-8859-2</entry>
</row>
<row>
<entry>Turc (tr)</entry>
<entry>ISO-8859-9</entry>
</row>
</tbody>
 
</tgroup>
 
</table>
 
<note>
<para>Les pages de manuel dont la langue ne figure pas dans la liste ne
sont pas supportées. Le norvégien ne fonctionne pas maintenant à cause du
passage de la locale no_NO à nb_NO, et le coréen n'est pas fonctionnel à
cause d'un correctif de Groff incomplet.</para>
</note>
 
<para>Si dès l'origine les pages de manuel sont distribuées dans le
même encodage que celui attendu par Man-DB, les pages de manuel
peuvent être copiées dans
 
<filename class="directory">/usr/share/man/<replaceable>&lt;langue
code&gt;</replaceable></filename>. Par exemple, vous pouvez
installer les pages de manuel en français
 
(<ulink url="http://ccb.club.fr/man/man-fr-1.58.0.tar.bz2"/>) par la
commande suivante&nbsp;:</para>
 
<screen role="nodump"><userinput>mkdir -p /usr/share/man/fr
cp -rv man? /usr/share/man/fr</userinput></screen>
 
<para>Si à l'origine les pages de manuel sont distribuées en UTF-8
(par exemple, <quote>pour RedHat</quote>) au lieu du codage indiqué
dans la table ci-dessus, elles doivent être converties de l'UTF-8
vers le codage listé dans la table avant d'être installées. Cela peut
se faire avec <command>convert-mans</command>. Par exemple, vous
pouvez installer les pages de manuel en espagnol (<ulink
url="http://ditec.um.es/~piernas/manpages-es/man-pages-es-1.55.tar.bz2"/>)
avec les commandes suivantes&nbsp;:</para>
 
<screen role="nodump"><userinput>mv man7/iso_8859-7.7{,X}
convert-mans UTF-8 ISO-8859-1 man?/*.?
mv man7/iso_8859-7.7{X,}
make install</userinput></screen>
 
<note>
<para>Le besoin d'exclure le fichier <filename>man7/iso_8859-7.7</filename>
du processus de conversion qui est déjà en ISO-8859-1 est un bogue
de mise en paquet dans man-pages-es-1.55. Les futures versions ne
devraient pas nécessiter cette tâche supplémentaire.</para>
</note>
 
</sect2>
 
<sect2 id="contents-man-db" role="content">
<title>Contenu de Man-DB</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
 
<seglistitem>
<seg>accessdb, apropos, catman, convert-mans,lexgrog, man, mandb,
manpath, whatis et zsoelim</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Descriptions courtes</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="accessdb">
<term><command>accessdb</command></term>
<listitem>
<para>Transforme le contenu de la base de données <command>whatis</command>
en format lisible par un humain</para>
<indexterm zone="ch-system-man-db accessdb">
<primary sortas="b-accessdb">accessdb</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="apropos">
<term><command>apropos</command></term>
<listitem>
<para>Recherche la base de données <command>whatis</command> et
affiche les descriptions courtes des commandes système qui contiennent une
chaîne donnée</para>
<indexterm zone="ch-system-man-db apropos">
<primary sortas="b-apropos">apropos</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="catman">
<term><command>catman</command></term>
<listitem>
<para>Crée ou met à jour les pages de manuel préformatées</para>
<indexterm zone="ch-system-man-db catman">
<primary sortas="b-catman">catman</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="convert-mans">
<term><command>convert-mans</command></term>
<listitem>
<para>Reformate des pages de manuel afin que Man-DB puisse les afficher</para>
<indexterm zone="ch-system-man-db convert-mans">
<primary sortas="b-convert-mans">convert-mans</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="lexgrog">
<term><command>lexgrog</command></term>
<listitem>
<para>Affiche des informations en résumé d'une ligne à propos d'une
page de manuel donnée</para>
<indexterm zone="ch-system-man-db lexgrog">
<primary sortas="b-lexgrog">lexgrog</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="man">
<term><command>man</command></term>
<listitem>
<para>Formate et affiche les pages de manuel demandées</para>
<indexterm zone="ch-system-man-db man">
<primary sortas="b-man">man</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="mandb">
<term><command>mandb</command></term>
<listitem>
<para>Crée ou met à jour la base de données <command>whatis</command></para>
<indexterm zone="ch-system-man-db mandb">
<primary sortas="b-mandb">mandb</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="manpath">
<term><command>manpath</command></term>
<listitem>
<para>Affiche le contenu de $MANPATH ou (si $MANPATH n'est pas paramé!ré)
d'un chemin de recherche convenable basé sur les paramètres de l'environnement
de l'utilisateur</para>
<indexterm zone="ch-system-man-db manpath">
<primary sortas="b-manpath">manpath</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="whatis">
<term><command>whatis</command></term>
<listitem>
<para>Recherche la base de données <command>whatis</command> et
affiche les descriptions courtes des commandes système qui contiennent
le mot-clé donné sous la forme d'un mot séparé</para>
<indexterm zone="ch-system-man-db whatis">
<primary sortas="b-whatis">whatis</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="zsoelim">
<term><command>zsoelim</command></term>
<listitem>
<para>Lit des fichiers et remplace les lignes de la forme
<emphasis>fichier .so</emphasis> par le contenu du <emphasis>fichier</emphasis>
mentionné</para>
<indexterm zone="ch-system-man-db zsoelim">
<primary sortas="b-zsoelim">zsoelim</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/tags/LFS-6_3_0/lfs/chapter06/coreutils.xml
0,0 → 1,1119
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<sect1 id="ch-system-coreutils" role="wrap">
<?dbhtml filename="coreutils.html"?>
 
<title>Coreutils-&coreutils-version;</title>
 
<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>&coreutils-ch6-sbu;</seg>
<seg>&coreutils-ch6-du;</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-uname-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-suppress-patch;</userinput></screen>
 
<para>POSIX exige que les programmes de Coreutils reconnaissent les
limites des caractères correctement même dans des locales multibyte.
Le correctif suivant corrige cette rigidité et d'autres bogues liés
à l'internationalisation&nbsp;:</para>
 
<screen><userinput>patch -Np1 -i ../&coreutils-i18n-patch;</userinput></screen>
 
<para>Afin de passer les tests ajoutés par ce correctif, les droits
du fichier test doivent être modifiés&nbsp;:</para>
 
<screen><userinput>chmod +x tests/sort/sort-mb-tests</userinput></screen>
 
<note>
<para>Autrefois, on a trouvé beaucoup de bogues dans ce correctif.
Lorsque vous signalez aux mainteneurs de Coreutils de nouveaux bogues,
merci de vérifier d'abord qu'ils sont reproduisibles sans ce correctif.</para>
</note>
 
<para>Maintenant, préparez la compilation de Coreutils&nbsp;:</para>
 
<screen><userinput>./configure --prefix=/usr</userinput></screen>
 
<para>Compilez le paquet&nbsp;:</para>
 
<screen><userinput>make</userinput></screen>
 
<para>Passez à <quote>Installez le paquet</quote> si vous n'exécutez
pas la suite de test.</para>
 
<para>Maintenant, la suite de tests peut être lancée. Tout d'abord,
lancez les quelques tests qui ont besoin d'être lancés en tant que
 
<systemitem class="username">root</systemitem>&nbsp;:</para>
 
<screen><userinput>make NON_ROOT_USERNAME=nobody check-root</userinput></screen>
 
<para>Nous allons exécuter le reste des tests en tant qu'utilisateur
<systemitem class="username">nobody</systemitem>. Certains tests
exigent cependant que l'utilisateur soit membre de plus d'un groupe.
Afin que ces tests ne soient pas sautés, nous allons ajouter un
groupe temporaire et créer un utilisateur
 
<systemitem class="username">nobody</systemitem> à
part&nbsp;:</para>
 
<screen><userinput>echo "dummy:x:1000:nobody" &gt;&gt; /etc/group</userinput></screen>
 
<para>Maintenant, lancez les tests&nbsp;:</para>
 
<screen><userinput>su-tools nobody -s /bin/bash -c "make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen>
 
<para>Supprimez le groupe temporaire&nbsp;:</para>
 
<screen><userinput>sed -i '/dummy/d' /etc/group</userinput></screen>
 
<para>Installez le paquet&nbsp;:</para>
 
<screen><userinput>make install</userinput></screen>
 
<para>Déplacez quelques programmes aux emplacements spécifiés par le
FHS&nbsp;:</para>
 
<screen><userinput>mv -v /usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} /bin
mv -v /usr/bin/{false,hostname,ln,ls,mkdir,mknod,mv,pwd,readlink,rm} /bin
mv -v /usr/bin/{rmdir,stty,sync,true,uname} /bin
mv -v /usr/bin/chroot /usr/sbin</userinput></screen>
 
<para>Certains des scripts du paquet LFS-Bootscripts dépendent de
<command>head</command>, <command>sleep</command>, et
<command>nice</command>. Comme
 
<filename class="directory">/usr</filename> pourrait ne pas être
disponible dans les premières phases du démarrage, ces binaires ont
besoin d'être sur la partition root&nbsp;:</para>
 
<screen><userinput>mv -v /usr/bin/{head,sleep,nice} /bin</userinput></screen>
 
</sect2>
 
 
<sect2 id="contents-coreutils" role="content">
<title>Contenu de Coreutils</title>
 
<segmentedlist>
<segtitle>Programmes installés</segtitle>
 
<seglistitem>
<seg>base64, 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, sha224sum, sha256sum,
sha384sum, sha512sum, shred, shuf, 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="base64">
<term><command>base64</command></term>
<listitem>
<para>Encode et décode des données selon la spécification de la
base64 (RFC 3548)</para>
<indexterm zone="ch-system-coreutils base64">
<primary sortas="b-base64">basename</primary>
</indexterm>
</listitem>
</varlistentry>
 
<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é
<filename class="directory">/</filename> comme répertoire racine</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 et le nombre de blocs donnés
tout en réalisant des conversions optionnelles</para>
<indexterm zone="ch-system-coreutils dd">
<primary sortas="b-dd">dd</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="df">
<term><command>df</command></term>
<listitem>
<para>Affiche l'espace disque disponible (et utilisé) sur tous les systèmes de fichiers
montés, ou seulement sur les systèmes de fichiers contenant les
fichiers donnés</para>
<indexterm zone="ch-system-coreutils df">
<primary sortas="b-df">df</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dir">
<term><command>dir</command></term>
<listitem>
<para>Liste le contenu de chaque répertoire donné (identique à la commande
<command>ls</command>)</para>
<indexterm zone="ch-system-coreutils dir">
<primary sortas="b-dir">dir</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dircolors">
<term><command>dircolors</command></term>
<listitem>
<para>Affiche les commandes pour initialiser la variable d'environnement <envar>LS_COLOR</envar>
ce qui permet de changer le schéma de couleurs utilisé
par <command>ls</command></para>
<indexterm zone="ch-system-coreutils dircolors">
<primary sortas="b-dircolors">dircolors</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dirname">
<term><command>dirname</command></term>
<listitem>
<para>Supprime le suffixe qui ne représente pas le répertoire dans un nom de fichier donné</para>
<indexterm zone="ch-system-coreutils dirname">
<primary sortas="b-dirname">dirname</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="du">
<term><command>du</command></term>
<listitem>
<para>Affiche le total de l'espace disque utilisé par le répertoire actuel, ou
par chacun des répertoires donnés incluant tous les sous-répertoires, ou par
chacun des fichiers donnés</para>
<indexterm zone="ch-system-coreutils du">
<primary sortas="b-du">du</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="echo">
<term><command>echo</command></term>
<listitem>
<para>Affiche les chaînes données</para>
<indexterm zone="ch-system-coreutils echo">
<primary sortas="b-echo">echo</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="env">
<term><command>env</command></term>
<listitem>
<para>Lance une commande dans un environnement modifié</para>
<indexterm zone="ch-system-coreutils env">
<primary sortas="b-env">env</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="expand">
<term><command>expand</command></term>
<listitem>
<para>Convertit les tabulations en espaces</para>
<indexterm zone="ch-system-coreutils expand">
<primary sortas="b-expand">expand</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="expr">
<term><command>expr</command></term>
<listitem>
<para>Évalue des expressions</para>
<indexterm zone="ch-system-coreutils expr">
<primary sortas="b-expr">expr</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="factor">
<term><command>factor</command></term>
<listitem>
<para>Affiche les facteurs premiers de tous les entiers spécifiés</para>
<indexterm zone="ch-system-coreutils factor">
<primary sortas="b-factor">factor</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="false">
<term><command>false</command></term>
<listitem>
<para>Ne fait rien. Il renvoie toujours 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">
<term><command>groups</command></term>
<listitem>
<para>Affiche les groupes auxquels appartient un utilisateur</para>
<indexterm zone="ch-system-coreutils groups">
<primary sortas="b-groups">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 FIFO (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 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 une 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 le 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 plaçant les lignes correspondantes
l'une à côté de l'autre, 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 forme 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
chaque mot dans son contexte</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>