6.5. 创建目录

现在需要在 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 的主目录, 另一个是包含临时文件的目录。

第一个修改能保证不是所有人都能进入 /root —— 一般用户也可以为他/她的主目录设置同样的 0750 权限码。 第二个修改保证任何用户都可写入 /tmp/var/tmp 目录, 但不能从中删除其他用户的文件,因为所谓的 粘滞位 (sticky bit),即八进制权限码 1777 的最高位 (1) 阻止这样做。

6.5.1. FHS 兼容性注记

这个目录树是基于 Filesystem Hierarchy Standard (FHS) (可以在 https://wiki.linuxfoundation.org/en/FHS 查阅)建立的。 FHS 标准还规定了某些可选的目录, 例如 /usr/local/games/usr/share/games。 我们只创建了必要的目录,如果您需要的话可以自己创建可选这些可选目录。