现在准备创建 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) mkdir -v /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
的 home 目录,另一个是存放临时文件的目录。
第一个模式改动能保证不是所有人都能进入 /root
目录——同样一般用户也需要为他/她的 home 目录设置这样的模式。第二个模式改动能保证所有用户对目录 /tmp
和 /var/tmp
都是可写的,但又不能移除其他用户的文件。后面的这个限制是由所谓的「粘滞位」实现的,即位掩码 1777 中的最高位(1)。
这个目录树是基于文件系统目录结构标准(FHS)(参看 https://refspecs.linuxfoundation.org/fhs.shtml)。FHS
标准还规定了要有 /usr/local/games
和
/usr/share/games
目录。我们只创建了我们需要的目录。然而,如果你更喜欢严格遵守 FHS 标准,创建这些目录也无妨。