Subversion Repositories svn LFS-FR

Rev

Rev 1344 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
475 gleu 1
<?xml version="1.0" encoding="ISO-8859-1"?>
589 gleu 2
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
475 gleu 4
  <!ENTITY % general-entities SYSTEM "../general.ent">
5
  %general-entities;
6
]>
589 gleu 7
 
475 gleu 8
<sect1 id="ch-tools-settingenviron">
589 gleu 9
  <?dbhtml filename="settingenvironment.html"?>
475 gleu 10
 
589 gleu 11
  <title>Configurer l'environnement</title>
475 gleu 12
 
589 gleu 13
  <para>Configurez un bon environnement de travail en créant deux
14
  nouveaux fichiers de démarrage pour le shell <command>bash</command>.
15
  En étant connecté en tant qu'utilisateur
1347 jmengual 16
  <systemitem class="username">hlfs</systemitem>, lancez la commande
589 gleu 17
  suivante pour créer un nouveau
18
  <filename>.bash_profile</filename>&nbsp;:</para>
19
 
517 gleu 20
<screen><userinput>cat &gt; ~/.bash_profile &lt;&lt; "EOF"
21
<literal>exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash</literal>
22
EOF</userinput></screen>
475 gleu 23
 
589 gleu 24
  <para>Lorsque vous êtes connecté en tant que
1347 jmengual 25
  <systemitem class="username">hlfs</systemitem>, le shell
589 gleu 26
  initial est habituellement un shell de <emphasis>login</emphasis> qui lit
27
  le fichier
28
  <filename>/etc/profile</filename> de l'hôte (contenant probablement
29
  quelques configurations et variables d'environnement) et puis
30
  <filename>.bash_profile</filename>. La commande
475 gleu 31
 
589 gleu 32
  <command>exec env  -i.../bin/bash</command> dans le fichier
33
  <filename>.bash_profile</filename> remplace le shell en cours avec un
34
  nouveau ayant un environnement complètement vide sauf pour les
35
  variables <envar>HOME</envar>, <envar>TERM</envar>, et
36
  <envar>PS1</envar>. Ceci nous assure qu'aucune variable
37
  d'environnement non souhaitée et potentiellement dangereuse, provenant
38
  du système hôte, ne parvienne dans l'environnement de construction. La
39
  technique utilisée ici s'assure de ce but d'environnement
40
  propre.</para>
41
 
42
  <para>La nouvelle instance du shell est un shell
43
  <emphasis>non-login</emphasis>, qui ne lit donc pas les fichiers
44
  <filename>/etc/profile</filename> ou
45
  <filename>.bash_profile</filename>, mais plutôt le fichier
46
  <filename>.bashrc</filename> file. Créez maintenant le fichier
47
  <filename>.bashrc</filename>&nbsp;:</para>
48
 
517 gleu 49
<screen><userinput>cat &gt; ~/.bashrc &lt;&lt; "EOF"
50
<literal>set +h
475 gleu 51
umask 022
1347 jmengual 52
HLFS=/mnt/hlfs
475 gleu 53
LC_ALL=POSIX
1347 jmengual 54
HLFS_TGT=$(uname -m)-lfs-linux-gnu
475 gleu 55
PATH=/tools/bin:/bin:/usr/bin
1347 jmengual 56
export HLFS LC_ALL HLFS_TGT PATH</literal>
517 gleu 57
EOF</userinput></screen>
475 gleu 58
 
589 gleu 59
  <para>La commande <command>set +h</command> désactive la fonction de
60
  hachage de <command>bash</command>. D'habitude, le hachage est une
61
  fonctionnalité utile&mdash;<command>bash</command> utilise une table
62
  de hachage pour se rappeler le chemin complet des fichiers exécutables
63
  pour éviter d'avoir à chercher dans <envar>PATH</envar> à chaque fois
64
  qu'il doit trouver le même exécutable. Néanmoins, les nouveaux outils
65
  devraient être utilisés dès leur installation. En désactivant la
66
  fonction de hachage, le shell cherchera en permanence dans
67
  <envar>PATH</envar> lorsqu'un programme doit être exécuté. Ainsi, le
68
  shell
69
  trouvera les nouveaux outils compilés dans
1347 jmengual 70
  <filename class="directory">$HLFS/tools</filename> dès qu'ils sont
589 gleu 71
  disponibles et sans se rappeler de la version précédente du même
72
  programme mais dans un autre emplacement.</para>
475 gleu 73
 
589 gleu 74
  <para>Configurer le masque de création de fichier (umask) à 022 nous
75
  assure que les nouveaux fichiers et répertoires créés sont modifiables
76
  uniquement par leurs propriétaires mais lisibles et exécutables par
77
  tout le monde (en supposant que les modes par défaut sont utilisés par
78
  l'appel système <function>open(2)</function> les nouveaux fichiers
79
  finiront avec les droits 644 et les répertoires avec ceux 755).</para>
475 gleu 80
 
1347 jmengual 81
  <para>La variable <envar>HLFS</envar> devrait être configurée avec le
589 gleu 82
  point de montage choisi.</para>
475 gleu 83
 
589 gleu 84
  <para>La variable <envar>LC_ALL</envar>  contrôle la localisation de
85
  certains programmes, faisant que leurs messages suivent les
86
  conventions d'un pays spécifié. Si le système hôte utilise une version
87
  de Glibc plus ancienne que la 2.2.4, avoir <envar>LC_ALL</envar>
88
  initialisé à quelque chose d'autre que <quote>POSIX</quote> ou
89
  <quote>C</quote> (pendant ce chapitre) pourrait poser des problèmes si
90
  vous quittez l'environnement chroot et souhaitez y retourner plus
91
  tard. Initialiser <envar>LC_ALL</envar> à <quote>POSIX</quote> ou
92
  <quote>C</quote> (les deux sont équivalents) nous assure que tout
93
  fonctionnera comme attendu dans l'environnement chroot.</para>
731 texou 94
 
1347 jmengual 95
  <para>La variable <envar>HLFS_TGT</envar> initialise une description de
986 jmengual 96
  machine compatible mais par défaut lors de la construction  de notre
731 texou 97
  compilateur et de notre éditeur de liens croisés et lors de la compilation
1111 jmengual 98
  de notre chaîne d'outils temporaire. Vous trouverez plus d'informations dans
731 texou 99
  <xref linkend="ch-tools-toolchaintechnotes" role=""/>.</para>
555 gleu 100
 
589 gleu 101
  <para>En plaçant <filename class="directory">/tools/bin</filename> au
667 texou 102
  début du <envar>PATH</envar> standard, tous les programmes installés
589 gleu 103
  dans <xref linkend="chapter-temporary-tools"/> sont récupérés par le
104
  shell immédiatement après leur installation. Ceci, combiné avec la
105
  désactivation du hachage, limite le risque que d'anciens programmes de
106
  l'hôte soient utilisés alors que les mêmes programmes sont disponibles
107
  depuis l'environnement du chapitre 5.</para>
475 gleu 108
 
589 gleu 109
  <para>Enfin, pour avoir un environnement complètement préparé pour la
667 texou 110
  construction des outils temporaires, chargez le profil de l'utilisateur
111
  tout juste créé&nbsp;:</para>
589 gleu 112
 
475 gleu 113
<screen><userinput>source ~/.bash_profile</userinput></screen>
114
 
115
</sect1>