LFS ファイルシステムにおけるディレクトリ構成を作り出していきます。 以下のコマンドを実行して標準的なディレクトリを生成します。
mkdir -pv /{bin,boot,etc/{opt,sysconfig},home,lib/firmware,mnt,opt} mkdir -pv /{media/{floppy,cdrom},sbin,srv,var} install -dv -m 0750 /root install -dv -m 1777 /tmp /var/tmp mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src} mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man} mkdir -v /usr/{,local/}share/{misc,terminfo,zoneinfo} mkdir -v /usr/libexec mkdir -pv /usr/{,local/}share/man/man{1..8} case $(uname -m) in x86_64) ln -sv lib /lib64 ln -sv lib /usr/lib64 ln -sv lib /usr/local/lib64 ;; esac mkdir -v /var/{log,mail,spool} ln -sv /run /var/run ln -sv /run/lock /var/lock mkdir -pv /var/{opt,cache,lib/{color,misc,locate},local}
ディレクトリは標準ではパーミッションモード 755 で生成されますが、すべてのディレクトリをこのままとするのは適当ではありません。
上のコマンド実行ではパーミッションを変更している箇所が二つあります。 一つは root
ユーザーのホームディレクトリに対してであり、もう一つはテンポラリディレクトリに対してです。
パーミッションモードを変更している一つめは /root
ディレクトリに対して、他のユーザーによるアクセスを制限するためです。
通常のユーザーが持つ、自分自身のホームディレクトリへのアクセス権設定と同じことを行ないます。 二つめのモード変更は
/tmp
ディレクトリや /var/tmp
ディレクトリに対して、どのユーザーも書き込み可能とし、ただし他のユーザーが作成したファイルは削除できないようにします。 ビットマスク
1777 の最上位ビット、いわゆる「スティッキービット
(sticky bit)」を用いて実現します。
本書のディレクトリ構成は標準ファイルシステム構成 (Filesystem Hierarchy Standard; FHS)
に基づいています。(その情報は https://wiki.linuxfoundation.org/en/FHS
に示されています。) FHS では、任意のディレクトリとして /usr/local/games
や /usr/share/games
などを規定しています。
したがって本書では必要なディレクトリのみを作成していくことにします。
他のディレクトリについては、どうぞ自由に取り決めて作成してください。