環境を設定する

ユーザ lfs でログインしている間、適切な作業環境を設定するために以下のコマンドを実行します。

cat > ~/.bash_profile << "EOF"
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
EOF

source ~/.bash_profile

set +h コマンドは bash のハッシュ機能を無効にします。 普通ハッシュは便利な機能で、bash は同じ実行ファイルを探すのにその都度パスを検索することを避けるため、実行ファイルのフルパス名を憶えるためのハッシュテーブルを使います。 しかし、インストールしてすぐに使えるツールをインストールしたいのです。 ハッシュ機能を無効にすることで、"対話的な" コマンド(たとえば make, patch, sed, cp など)は、構築作業中いつも最新版を使うことになります。

ユーザファイル作成マスクを 022 に設定することは新しく作成したファイルやディレクトリをその所有者にのみ書き込み可能で、その他のユーザーには読み込み、実行可能にします。

LFS 変数はもちろん選択したマウントポイントに設定しなければいけません。

LC_ALL 変数は、特定の地域の習慣に従うメッセージを作って、あるプログラムの地域化を管理します。 もしお使いのホストシステムが Glibc の 2.2.4 よりも古いバージョンを使っていて、この章の間に LC_ALL を "POSIX" か "C" 以外に設定すると、 chroot 環境から出て、再度戻ろうとすると、トラブルを引き起こすかもしれません。 LC_ALL を "POSIX" (または同義の "C" ) に設定することで chroot 環境ですべてが期待通りにいくようにします。

標準のパスに /tools/bin を含めたので、この章全体でずっと書いているように、構築したツール類はあとの構築過程の間、使えるようになります。

CC と CXX, CPP, LD_LIBRARY_PATH, LD_PRELOAD 環境変数はすべて、第 5 章の toolchain を壊す危険性があります。ですので、アクシデントを防ぐためにこれらを解除します。

さてそれでは、作ったばかりのプロフィールをソース( source コマンド)した後で、あとの章で役に立ってくれる暫定的なツールを構築する準備ができました。