/trunk/lfs/entities/preface.ent |
---|
1,6 → 1,5 |
<!ENTITY preface SYSTEM "../preface/preface.xml"> |
<!ENTITY pf-foreword SYSTEM "../preface/foreword.xml"> |
<!ENTITY pf-whoread SYSTEM "../preface/whoread.xml"> |
<!ENTITY pf-whonotread SYSTEM "../preface/whonotread.xml"> |
<!ENTITY pf-audience SYSTEM "../preface/audience.xml"> |
<!ENTITY pf-prerequisites SYSTEM "../preface/prerequisites.xml"> |
<!ENTITY pf-organization SYSTEM "../preface/organization.xml"> |
/trunk/lfs/chapter01/changelog.xml |
---|
87,6 → 87,21 |
</itemizedlist> |
</para></listitem> |
<listitem><para>14 septembre 2003 [greg]: Chapitre 6 - Créer les liens |
symboliques essentiels: Ajout d'un lien symbolique /usr/lib/libgcc_s.so.1 pour |
permettre à gcc abi_check de se lancer. La future NPTL en a aussi besoin. |
</para></listitem> |
<listitem><para>13 septembre 2003 [jwrober]: Ajout de texte de l'astuce PLFS sur |
la page du chapitre 6 pour créer passwd et group: bug 596.</para></listitem> |
<listitem><para>13 septembre 2003 [jwrober]: Mise à jour de la page "Comment les |
choses se dérouleront-elles" pour inclure plus de texte de l'astuce PLFS. |
</para></listitem> |
<listitem><para>13 septembre 2003 [jwrober]: Assemblage des pages whoread et |
whonotread en une seule page.</para></listitem> |
<listitem><para>13 septembre 2003 [greg]: Chapitre 2 - Ajout d'une nouvelle |
section concernant les suites de tests.</para></listitem> |
/trunk/lfs/chapter01/how.xml |
---|
4,12 → 4,12 |
<para>Vous allez construire le système LFS en utilisant une distribution Linux |
déjà installée, telle que Debian, Mandrake, Red Hat, etc. Le système Linux |
existant sera utilisé en tant que plateforme de démarrage, parce que vous |
aurez besoin d'outils comme un compilateur, un éditeur de liens, un éditeur de |
texte, et d'autres outils de développement pour créer le système. D'ordinaire, |
les outils requis sont disponibles par défaut si vous avez sélectionné |
"développement" comme option d'installation lorsque vous avez installé le |
système actuel.</para> |
existant (l'hôte) sera utilisé en tant que plateforme de démarrage, parce que |
vous aurez besoin d'outils comme un compilateur, un éditeur de liens, un |
éditeur de texte, et d'autres outils de développement pour construire le |
nouveau système. D'ordinaire, les outils requis sont disponibles par défaut si |
vous avez sélectionné <quote>développement</quote> comme option d'installation |
lorsque vous avez installé le système actuel.</para> |
<para>Après avoir téléchargé les packages nécessaires à la constitution d'un |
système LFS, vous devrez créer une nouvelle partition native Linux et son |
17,26 → 17,52 |
</para> |
<para>L'étape suivante, le chapitre 5, discutera de l'installation d'un certain |
nombre de packages formant la suite basique de développement qui a été utilisé |
pour construire le système actuel. Certains de ces packages sont nécessaire |
pour résoudre certaines dépendances circulaires. Par exemple, pour compiler un |
compilateur, vous avez besoin d'un compilateur.</para> |
nombre de packages formant la suite basique de développement (ou ensemble des |
outils) qui a été utilisé pour construire le système actuel au chapitre 6. |
Certains de ces packages sont nécessaire pour résoudre certaines dépendances |
circulaires. Par exemple, pour compiler un compilateur, vous avez besoin d'un |
compilateur.</para> |
<para>La première chose à faire dans le chapitre 5 est de construire une |
première fois l'ensemble des outils, pour Binutils et GCC. Les programmes de |
ces packages seront liés statiquement pour être utilisé indépendamment du |
système hôte. La deuxième chose à faire est de construire Glibc, la |
bibliothèque C. Glibc sera construit avec les programmes de l'ensemble des |
bibliothèque C. Glibc sera coompilé avec les programmes de l'ensemble des |
outils que nous avons justement créé lors de la première passe.</para> |
<para>La prochaine chose à faire est de construire une deuxième fois |
<para>La troisième chose à faire est de construire une deuxième fois |
l'ensemble des outils. Cette fois, l'ensemble des outils sera lié dynamiquement |
avec la nouvelle construction de Glibc. Le reste des packages du chapitre 5 |
sont tous construit pendant cette deuxième passe et liés dynamiquement à la |
nouvelle Glibc. Ceci fait, le processus d'installation de LFS ne dépendra plus |
de la distribution hôte, avec l'exception du noyau en cours d'utilisation. |
</para> |
nouvelle Glibc indépendante de l'hôte. Ceci fait, le processus d'installation |
de LFS ne dépendra plus de la distribution hôte, avec l'exception du noyau en |
cours d'utilisation. Ceci est connu sous la dénomination de <quote>self |
contained</quote> et <quote>self hosted</quote>. Il existe une discussion sur |
les différences entre des programmes statiquement et dynamiquement liés au |
début du chapitre 5.</para> |
<para>Vous pourriez vous dire <quote>que cela semble être énormément de travail |
pour simplement s'éloigner de la distribution hôte</quote>. Prenons quelques |
minutes pour parler de cela. Le travail évoqué dans le construction des packages |
du chapitre 5 est nécessaire pour s'assurer que très peu d'informations de votre |
hôte seront inclus dans votre nouveau système LFS. Lorsque vous construisez |
les deux premiers packages du chapitre 5, Binutils et GCC, ils seront compilés |
statiquement. Cela signifie que la version de la bibliothèque C de votre |
distribution hôte sera intégrée dans tous les programmes binaires que vous avez |
compilés. Ceci va causer des problèmes pour vous tout au long de la route (ils |
ont été bien documenté). La Glibc de l'hôte est habituellement une quantité |
inconnue et peut contenir des bugs ou tout autre chose que nous ne connaissons |
pas jusqu'à ce qu'il soit trop tard. Un problème bien connu est que les binaires |
liés statiquement sur les systèmes à base de Glibc-2.2.x contenant des appels à |
la fonction getpwuid() s'arrêtent brutalement lorsqu'ils sont lancés sur un |
système à base de Glibc-2.3.x. Vous allez construire un système basé sur la |
Glibc-2.3.x. Vous ne voulez pas construire quelque chose que va s'arrêter sans |
raison, n'est-ce pas? Finalement, les tests autoconf de Glibc produisent des |
résultats différents suivant qu'une Glibc existante est découverte sur la |
distribution hôte. Ceci peut amener des incohérences et stimule les petites |
corrections hâtives. Avec ceci en tête, vous pouvez voir que l'effort |
supplémentaire pour compiler Binutils et GCC deux fois est nécessaire.</para> |
<para>Dans le chapitre 6, le vrai système LFS sera construit. Le programme |
chroot (change root) est utilisé pour entrer dans un environnement virtuel et |
pour lancer un nouveau shell dont le répertoire racine sera la partition LFS. |
/trunk/lfs/chapter02/abouttestsuites.xml |
---|
12,7 → 12,7 |
<para>Certaines des suites de tests sont plus importantes que d'autres. Par |
exemple, les suites de test des packages formant le coeur de l'ensemble des |
outils, GCC, Binutils et la bibliothèque C Glibc, sont de la plus grande |
outils -- GCC, Binutils et la bibliothèque C Glibc -- sont de la plus grande |
importance étant donné leur position centrale dans un système fonctionnel. |
Mais, faites attention, les suites de tests pour GCC et Glibc peuvent prendre |
beaucoup de temps pour se terminer, spécialement sur du matériel lent.</para> |
/trunk/lfs/chapter05/lockingglibc.xml |
---|
40,9 → 40,9 |
<para>Dernièrement, il existe une possibilité que certains fichiers include de |
l'hôte système se trouvent dans le répertoire include privé de gcc. Ceci peut |
se produire parce que la procédure fixincludes de GCC. Nous expliquerons un peu |
mieux ceci dans ce chapitre. Pour l'instant, lancez les commandes suivantes |
pour éliminer cette possibilité.</para> |
se produire parce que la procédure fixincludes de GCC est lancée en tant que partie |
la construction GCC. Nous expliquerons un peu mieux ceci dans ce chapitre. Pour |
l'instant, lancez les commandes suivantes pour éliminer cette possibilité.</para> |
<para><screen><userinput>rm -f /tools/lib/gcc-lib/*/*/include/{pthread.h,bits/sigthread.h}</userinput></screen></para> |
/trunk/lfs/chapter05/whystatic.xml |
---|
55,27 → 55,17 |
re-compilation. |
</para> |
<para> |
Mais alors, si l'attachement dynamique gagne autant d'espace, pourquoi allons |
nous attacher statiquement tous les programmes de ce chapitre ? |
La raison est que nous ne voulons pas compiler une <filename>glibc</filename> |
temporaire ici. Et nous faisons cela juste pour gagner un peu de temps |
-- environ 14 SBUs. Une autre raison est que la version de la Glibc du |
système LFS pourrait ne pas être compatible avec celle de notre système hôte. |
Les applicationc compilées avec la Glibs de notre système hôte risqueraient |
de ne pas fonctionner proprement (ou même pas du tout) sur le système LFS |
</para> |
<para>Mais si l'édition de liens dynamiques sauve tant de place disque, pourquoi |
choisissons-nous de lier les deux premiers packages de ce chapitre de façon |
statique? La raison est que nous les rendons indépendants des bibliothèques |
présentes sur votre système hôte. Et, si vous êtes pressé, vous pouvez passer |
présentes sur votre système hôte. L'avantage est que, si vous êtes pressé, vous pouvez passer |
le deuxième tour avec GCC et Binutils et utiliser seulement les versions |
statiques pour compiler le reste de ce chapitre et les quelques premiers |
packages du suivant. Comme ,dans le chapitre suivant, nous serons entré dans la |
prison chroot de la partition LFS et que la Glibc de votre système hôte ne sera |
plus disponible, les programmes provenant de GCC et Binutils doivent être |
indépendants, c'est-à-dire liés statiquement.</para> |
indépendants, c'est-à-dire liés statiquement. Nénamoins, nous vous recommendons |
forcément de ne <emphasis>pas</emphasis> oublier la deuxième passe.</para> |
</sect1> |
/trunk/lfs/chapter06/pwdgroup.xml |
---|
46,6 → 46,13 |
être choisis librement par l'utilisateur, car les packages bien écrits ne |
dépendent pas du numéro GID mais utilisent le nom du groupe.</para> |
<para>Enfin, nous nous reconnectons dans l'environnement chroot. La résolution |
des noms d'utilisateur et des noms de groupe commencera à fonctionner |
immédiatement après la création des fichiers <filename>/etc/passwd</filename> |
et <filename>/etc/group</filename>, parce que nous avons installé une Glibc |
complète au chapitre 5. Ceci supprimer l'invite <quote>I have no name!</quote>. |
</para> |
<para><screen><userinput>exec /tools/bin/bash --login |
set +h</userinput></screen></para> |
/trunk/lfs/chapter06/createfiles.xml |
---|
12,6 → 12,7 |
ln -s /tools/bin/{rm,mv,chmod,chgrp} /bin |
ln -s /tools/bin/{perl,msgfmt,xgettext,msgmerge,install} /usr/bin |
ln -s /tools/bin/{sort,gawk,cmp} /usr/bin |
ln -s /tools/lib/libgcc_s.so.1 /usr/lib |
ln -s bash /bin/sh |
ln -s ../usr/bin/install /bin</userinput></screen></para> |
/trunk/lfs/preface/preface.xml |
---|
3,8 → 3,7 |
<?dbhtml filename="preface.html" dir="preface"?> |
&pf-foreword; |
&pf-whoread; |
&pf-whonotread; |
&pf-audience; |
&pf-prerequisites; |
&pf-organization; |
/trunk/lfs/preface/audience.xml |
---|
0,0 → 1,91 |
<sect1 id="pre-audience"> |
<title>Audience</title> |
<?dbhtml filename="audience.html" dir="preface"?> |
<sect2> |
<title>Qui voudrait lire ce livre</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. La question |
que beaucoup de personnes se posent est "pourquoi se fatiguer à installer |
manuellement un système Linux depuis le début alors qu'il suffit de télécharger |
une distribution existante?". 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 que vous avez 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, vous êtes maintenant sur le siège conducteur et êtes capable de |
décider chaque aspect de votre système, comme la disposition des répertoires |
ou la configuration des scripts de démarrage. Vous saurez également |
exactement où, pourquoi et comment les programmes sont installés.</para> |
<para>Un autre avantage de LFS est la possibilité de créer un système Linux très |
compact. Quand vous installez une distribution courante, vous finissez par |
installer beaucoup de programmes que vous n'utiliserez jamais de votre vie. Ils |
sont juste là et occupent un espace disque précieux. Il n'est pas difficile |
de construire un système LFS de moins de 100 Mo. Cela vous semble-t-il toujours |
beaucoup ? Certains d'entre nous ont travaillé afin de créer un système LFS |
minuscule. Nous avons installé un système juste suffisant pour faire |
fonctionner le serveur web Apache; l'espace disque total occupé était |
approximativement de 8 Mo. Avec plus de dépouillement encore, cela peut être |
ramené à 5 Mo ou moins. Essayez donc d'en faire autant avec une distribution |
courante!</para> |
<para>Si nous devions comparer une distribution Linux à un hamburger que vous |
achetez au restaurant fast-food, vous n'avez aucune idée de ce que vous mangez. |
LFS ne vous donne pas un hamburger, mais la recette pour faire un hamburger. |
Cela vous permet de prudemment l'inspecter, d'enlever les ingrédients non |
désirés, et par la même occasion vous permet de rajouter des ingrédients qui |
correspondent mieux à la saveur que vous attendez 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: 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 vous donnera les murs de la maison, mais c'est à vous |
de la construire, en vous donnant la liberté d'ajuster vos plans comme vous le |
souhaitez.</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é que vous voulez ou devez appliquer. Vous n'avez pas à attendre que |
quelqu'un d'autre vous fournisse un package réparant une faille de sécurité. |
Malgrès tout vous n'avez aucune garantie que le nouveau package résolve le |
problème de manière adéquate. Vous ne pourrez jamais savoir si une faille de |
sécurité est réparée si vous ne le faites pas vous-même.</para> |
</sect2> |
<sect2> |
<title>Qui ne voudrait pas lire ce livre</title> |
<para>Si vous ne souhaitez pas contruire votre propre système à partir des |
sources, alors vous ne voudrez probablement pas lire ce livre. Notre but est de |
construire les fondations d'un système complet et utilisable. Si vous souhaitez |
seulement connaître ce qui se passe lorsque votre ordinateur démarre, alors nous |
vous recommandons le document HOWTO <quote>From-PowerUp-To-Bash-Prompt</quote>. |
Ce HOWTO construit un système basique similaire à celui de ce livre, mais il |
s'occupe de la création d'un système capable de démarrer jusqu'au prompt BASH. |
</para> |
<para>Pendant que vous réfléchissez à celui que vous allez lire, cherchez votre |
objectif. Si vous souhaitez construire un système Linux tout en apprenant, alors |
ce livre est certainement le meilleur choix. Si votre objectif est strictement |
éducatif, et que vous n'avez aucune envie d'utiliser le système en question, |
alors le HOWTO <quote>From-PowerUp-To-Bash-Prompt</quote> est probablement le |
meilleur choix.</para> |
<para>Le HOWTO <quote>From-PowerUp-To-Bash-Prompt</quote> est disponible sur |
<ulink url="http://axiom.anu.edu.au/~okeefe/p2b/"/>.</para> |
</sect2> |
</sect1> |
/trunk/lfs/index.xml |
---|
3,8 → 3,8 |
"/usr/share/docbook/docbookx.dtd" [ |
<!ENTITY version "20030913"> |
<!ENTITY releasedate "13 septembre 2003"> |
<!ENTITY version "20030914"> |
<!ENTITY releasedate "14 septembre 2003"> |
<!ENTITY nbsp " "> |
<!ENTITY ftp-root "ftp://ftp.linuxfromscratch.org"> |
17,7 → 17,7 |
<!ENTITY tldp-root "http://www.tldp.org/"> |
<!ENTITY all-version "cvs-20030831-estimate"> |
<!ENTITY all-size-mb "105 MB"> |
<!ENTITY all-size-mb "105 Mo"> |
<!ENTITY book SYSTEM "book.xml"> |
<!ENTITY bookinfo SYSTEM "bookinfo.xml"> |