さてそれでは LFS システムにいくつかの構造を作ります。まずディレクトリツリーを作りましょう。次のようなコマンドを実行して、多かれ少かれ標準的なツリーを作ります。
mkdir -p /{bin,boot,dev/{pts,shm},etc/opt,home,lib,mnt,proc} mkdir -p /{root,sbin,tmp,usr/local,var,opt} for dirname in /usr /usr/local do mkdir $dirname/{bin,etc,include,lib,sbin,share,src} ln -s share/{man,doc,info} $dirname mkdir $dirname/share/{dict,doc,info,locale,man} mkdir $dirname/share/{nls,misc,terminfo,zoneinfo} mkdir $dirname/share/man/man{1,2,3,4,5,6,7,8} done mkdir /var/{lock,log,mail,run,spool} mkdir -p /var/{tmp,opt,cache,lib/misc,local} mkdir /opt/{bin,doc,include,info} mkdir -p /opt/{lib,man/man{1,2,3,4,5,6,7,8}} |
ディレクトリはデフォルトの設定では許可属性のモード 775 で作られますが、これはすべてのディレクトリに対しては望ましくありません。 二つ変更をします。一つは root のホームディレクトリで、もう一つは一時ファイルのためのディレクトリです。
chmod 0750 /root chmod 1777 /tmp /var/tmp |
一つ目のモード変更は、通常のユーザーがそのホームディレクトリにするのと同じように、正確に誰も /root ディレクトリへ入れないようにします。 二つ目のモード変更はどのユーザーも /tmp と /var/tmp へ書き込めるようにしますが、他のユーザーのファイルを削除できなくします。 後者はいわゆる "sticky ビット" ー 1777 ビットマスクの最上位ビット ー によって禁じられます。
ディレクトリツリーを FHS 標準( http://www.pathname.com/fhs/ で利用できます)に準拠しました。 上で作ったディレクトリツリーに加えて、この規格は /usr/local/games と /usr/share/games の存在を規定していますが、基本的なシステムにはこれらはいりません。 しかし、お使いのシステムを FHS 準拠にあわせるのはご自由にどうぞ。 /usr/local/share サブディレクトリの構造に関して、FHS は厳密に規定していませんから、本書で必要だと思うディレクトリをここで作成しました。