6.5. 创建目录树

现在我们在 LFS 分区中创建目录树结构,用下列命令能创建一个标准的目录树:

install -dv /{bin,boot,dev,etc/opt,home,lib,mnt}
install -dv /{sbin,srv,usr/local,var,opt}
install -dv /root -m 0750
install -dv /tmp /var/tmp -m 1777
install -dv /media/{floppy,cdrom}
install -dv /usr/{bin,include,lib,sbin,share,src}
ln -sv share/{man,doc,info} /usr
install -dv /usr/share/{doc,info,locale,man}
install -dv /usr/share/{misc,terminfo,zoneinfo}
install -dv /usr/share/man/man{1,2,3,4,5,6,7,8}
install -dv /usr/local/{bin,etc,include,lib,sbin,share,src}
ln -sv share/{man,doc,info} /usr/local
install -dv /usr/local/share/{doc,info,locale,man}
install -dv /usr/local/share/{misc,terminfo,zoneinfo}
install -dv /usr/local/share/man/man{1,2,3,4,5,6,7,8}
install -dv /var/{lock,log,mail,run,spool}
install -dv /var/{opt,cache,lib/{misc,locate},local}
install -dv /opt/{bin,doc,include,info}
install -dv /opt/{lib,man/man{1,2,3,4,5,6,7,8}}

缺省的目录的权限模式为 755,但也并非所有的目录都如此。以上的命令有两处有所不一样:一个是 root 用户的目录,另外两个是临时文件目录。

第一个权限模式的不同之处是确保禁止任何人进入到 /root 目录中——同样的,这个模式也适用于让其它的普通用户可以工作在自己的目录中。第二个权限模式的不同之处是确保所有用户都可以写 /tmp/var/tmp 目录,但不能从中删除其它用户的文件,这是由"sticky位",也就是"1777"中的"1"来设定的。

6.5.1. FHS 兼容性注意事项

我们的目录树是按照 FHS(Filesystem Hierarchy Standard) 标准(http://www.pathname.com/fhs/)创建的。除了上面创建的目录外,该标准还规定了必须有 /usr/local/games/usr/share/games 两个目录,但是作为一个基本系统,我们并不需要这些。如果你要完全的遵守 FHS 标准的话,就自己建立这两个目录。至于 /usr/local/share 目录下的子目录,FHS 标准规定得并不严格,所以我们就创建了(在我们看来)需要的子目录。