现在,我们在LFS文件系统里创建一些目录结构。通过执行下面的命令,来创建标准的目录树:
mkdir -pv /{bin,boot,etc/opt,home,lib,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/{doc,info,locale,man} mkdir -v /usr/{,local/}share/{misc,terminfo,zoneinfo} mkdir -pv /usr/{,local/}share/man/man{1..8} for dir in /usr /usr/local; do ln -sv share/{man,doc,info} $dir done case $(uname -m) in x86_64) ln -sv lib /lib64 && ln -sv lib /usr/lib64 ;; esac mkdir -v /var/{lock,log,mail,run,spool} mkdir -pv /var/{opt,cache,lib/{misc,locate},local}
缺省的创建目录的权限模式为 755, 但也并非所有的目录都如此。 以上的命令有两处有所不同: 一个是 root
用户的主目录,另外两个是临时文件目录。
第一个权限模式的改变是确保其他人不能进入到 /root
目录中——同样的, 这个模式也适用于让其它的普通用户可以工作在自己的目录中。第二个权限模式的改变, 确保任何用户都可以写 /tmp
和 /var/tmp
目录, 但不能从中删除其它用户的文件, 这是由"sticky位", 也就是"1777"中的最高位"1"来设定的。
我们的目录树是按照文件系统层次标准 (FHS) (请参考 http://www.pathname.com/fhs/)。
除了 FHS外,我们还为 man
, doc
, 和 info
目录建立了兼容性的符号链接, 因为很多软件包还会试图将它们的帮助文档安装到 /usr/<directory>
或 /usr/local/<directory>
而不是
/usr/share/<directory>
或
/usr/local/share/<directory>
目录。
FHS 还规定必须有 /usr/local/games
和 /usr/share/games
两个目录, 但是作为一个基本系统, 我们并不需要这些。 如果你要完全的遵守 FHS 标准的话,就自己建立这两个目录。至于 /usr/local/share
目录下的子目录,FHS 标准规定得并不严格, 所以我们就创建了(在我们看来)需要的子目录。