现在我们在 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 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(Filesystem Hierarchy Standard)标准(http://www.pathname.com/fhs/)。除了
FHS 外,我们还为 man
,doc
和 info
目录建立了兼容性符号链接,以便于让这些软件包的文档装在 /usr/<directory>
或 /usr/local/<directory>
而不是 /usr/share/<directory>
或 /usr/local/share/<directory>
。除了上面创建的目录外,LFS
标准还规定了必须有 /usr/local/games
和
/usr/share/games
两个目录,但是作为一个基本系统,我们并不需要这些。如果你要完全的遵守 FHS 标准的话,就自己建立这两个目录。至于
/usr/local/share
目录下的子目录,FHS
标准规定得并不严格,所以我们就创建了(在我们看来)需要的子目录。