本書の中では環境変数 LFS
を何度も用います。 LFS
システムのビルド作業時には常に定義しておくことを忘れないでください。 この変数は LFS
パーティションとして選んだマウントポイントを定義します。 例えば /mnt/lfs
というものです。 他の名前にしても構いません。 LFS
を別のパーティションにビルドする場合、このマウントポイントはそのパーティションを示すようにしてください。
ディレクトリを取り決めたら、変数を以下のコマンドにより設定します。
export LFS=/mnt/lfs
上のように変数を定義しておくと、例えば mkdir $LFS/tools といったコマンドを、この通りに入力することで実行できるので便利です。 これが実行されると、シェルが「$LFS」を「/mnt/lfs」に (あるいは変数にセットされている別のディレクトリに) 置換して処理してくれます。
ファイルモード生成マスク (umask) を 022
に設定します。
ホストディストロがこれとは違う値をデフォルトとしている場合を考慮して行うものです。
umask 022
umask を 022 に設定しておけば、新たに生成するファイルやディレクトリは、所有者のみが書き込み可能となり、他ユーザーは読み込みおよび (ディレクトリについての) 検索についてのみ可能となります。 (これはシステムコール open(2) がこのデフォルトモードを利用する前提としており、新規ファイルのモードは 644、新規ディレクトリは 755 となります。) LFS システムにおいて、デフォルト値を緩めすぎればセキュリティモードを生み出すことになり、逆に厳しすぎれば、ビルドや LFS システム利用自体に不都合な問題を引き起こすことにもなります。
$LFS
がセットされていて、umask は 022
に設定されていることを忘れずに確認してください。 特に、別ユーザーでログインし直した場合
(su コマンドによって
root
ユーザーや別のユーザーでログインした場合)
には、忘れずに確認してください。
echo $LFS
上の出力結果が LFS システムのビルドディレクトリであることを確認してください。 本書に示す例に従っている場合は
/mnt/lfs
が表示されるはずです。
umask が正しく設定されているかどうかを以下により確認してください。
umask
出力結果は 022
となっているはずです。
上の 2 つのコマンドの出力が正しくない場合は、冒頭に示したコマンド実行により $LFS
変数に正しいディレクトリを設定し、umask には 022
を設定してください。
LFS
変数と umask を確実に設定しておくために、ローカルの
.bash_profile
および /root/.bash_profile
に上記変数を export コマンド、mask
コマンドを記述しておく方法もあります。 なお /etc/passwd
ファイルにて LFS
変数を必要とするユーザーは、シェルとして bash
を利用するようにしてください。 .bash_profile
ファイルはログインプロセスの一部として機能するためです。
もう一つ気にかけることとして、ホストシステム上にログ出力を行う方法に関してです。
グラフィカルディスプレイマネージャーを通じてログ出力を行うと、仮想端末が起動する際に、ユーザー独自の .bash_profile
は普通は用いられません。 この場合は、各ユーザー用と
root
用の .bashrc
に上記コマンドを追加してください。 ここでディストリビューションの中には、"if"
テストを利用して残りの .bashrc
を実行しないようにしているものがあります。 非対話形式を利用する場合は、そのテストの直前に上記コマンドを追加してください。