<sect1 id="ch05-settingenviron">
<!--
<title>Setting up the environment</title>
-->
<title>環境を設定する</title>
<?dbhtml filename="settingenvironment.html" dir="chapter05"?>

<!--
<para>While logged in as user <emphasis>lfs</emphasis>, issue the
following commands to set up a good work environment:</para>
-->
<para>ユーザ <emphasis>lfs</emphasis> でログインしている間、適切な作業環境を設定するために以下のコマンドを実行します。</para>

<screen><userinput>cat &gt; ~/.bash_profile &lt;&lt; "EOF"</userinput>
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
PATH=/tools/bin:$PATH
export LFS LC_ALL PATH
unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD
<userinput>EOF

source ~/.bash_profile</userinput></screen>

<!--
<para>The <userinput>set +h</userinput> command turns off
<userinput>bash</userinput>'s hash function. Normally hashing is a useful
feature: <userinput>bash</userinput> uses a hash table to remember the
full pathnames of executable files to avoid searching the PATH time and time
again to find the same executable. However, we'd like the new tools to be
used as soon as they are installed.  By switching off the hash function, our
"interactive" commands (<userinput>make</userinput>,
<userinput>patch</userinput>, <userinput>sed</userinput>,
<userinput>cp</userinput> and so forth) will always use
the newest available version during the build process.</para>
-->
<para><userinput>set +h</userinput> コマンドは <userinput>bash</userinput> のハッシュ機能を無効にします。
普通ハッシュは便利な機能で、<userinput>bash</userinput> は同じ実行ファイルを探すのにその都度パスを検索することを避けるため、実行ファイルのフルパス名を憶えるためのハッシュテーブルを使います。
しかし、インストールしてすぐに使えるツールをインストールしたいのです。
ハッシュ機能を無効にすることで、"対話的な" コマンド（たとえば <userinput>make</userinput>, <userinput>patch</userinput>, <userinput>sed</userinput>, <userinput>cp</userinput> など）は、構築作業中いつも最新版を使うことになります。</para>

<!--
<para>Setting the user file-creation mask to 022 ensures that newly created
files and directories are only writable for their owner, but readable and
executable for anyone.</para>
-->
<para>ユーザファイル作成マスクを 022 に設定することは新しく作成したファイルやディレクトリをその所有者にのみ書き込み可能で、その他のユーザーには読み込み、実行可能にします。</para>
 
<!--
<para>The LFS variable should of course be set to the mount point you
chose.</para>
-->
<para>LFS 変数はもちろん選択したマウントポイントに設定しなければいけません。</para>

<!--
<para>The LC_ALL variable controls the localization of certain programs,
making their messages follow the conventions of a specified country. If your
host system uses a version of Glibc older than 2.2.4,
having LC_ALL set to something other than "POSIX" or "C" during this chapter
may cause trouble if you exit the chroot environment and wish to return later.
By setting LC_ALL to "POSIX" (or "C", the two are equivalent)  we ensure that
everything will work as expected in the chroot environment.</para>
-->
<para>LC_ALL 変数は、特定の地域の習慣に従うメッセージを作って、あるプログラムの地域化を管理します。
もしお使いのホストシステムが Glibc の 2.2.4 よりも古いバージョンを使っていて、この章の間に LC_ALL を "POSIX" か "C" 以外に設定すると、
chroot 環境から出て、再度戻ろうとすると、トラブルを引き起こすかもしれません。
LC_ALL を "POSIX" (または同義の "C" ) に設定することで chroot 環境ですべてが期待通りにいくようにします。</para>

<!--
<para>We prepend <filename>/tools/bin</filename> to the standard PATH so
that, as we move along through this chapter, the tools we build will get used
during the rest of the building process.</para>
-->
<para>標準のパスに <filename>/tools/bin</filename> を含めたので、この章全体でずっと書いているように、構築したツール類はあとの構築過程の間、使えるようになります。</para>

<!--
<para>The CC, CXX, CPP, LD_LIBRARY_PATH and LD_PRELOAD environment variables all
have the potential to cause havoc with our Chapter 5 toolchain. We therefore
unset them to prevent any chance of this happening.</para>
-->
<para>CC と CXX, CPP, LD_LIBRARY_PATH, LD_PRELOAD 環境変数はすべて、第 5 章の toolchain を壊す危険性があります。ですので、アクシデントを防ぐためにこれらを解除します。</para>

<!--
<para>Now, after sourcing the just-created profile, we're all set to begin
building the temporary tools that will support us in later chapters.</para>
-->
<para>さてそれでは、作ったばかりのプロフィールをソース（ source コマンド）した後で、あとの章で役に立ってくれる暫定的なツールを構築する準備ができました。</para>

</sect1>

