现在准备创建 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) ln -sv lib /lib64
ln -sv lib /usr/lib64
ln -sv lib /usr/local/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}

【LFS 系列】从零开始 DIY Linux 系统:(六)构建 LFS 系统 - 创建目录_运维

【LFS 系列】从零开始 DIY Linux 系统:(六)构建 LFS 系统 - 创建目录_centos_02

【LFS 系列】从零开始 DIY Linux 系统:(六)构建 LFS 系统 - 创建目录_文件系统_03

【LFS 系列】从零开始 DIY Linux 系统:(六)构建 LFS 系统 - 创建目录_linux_04

【LFS 系列】从零开始 DIY Linux 系统:(六)构建 LFS 系统 - 创建目录_运维_05

一般目录默认会按 755 的权限创建,但是这并不适用于所有的目录。

在上面的命令里,有两个改动:一个是 root 用户的主目录,另一个是存放临时文件的目录。

  • 第一个模式改动能保证不是所有人都能进入 /root 目录:同样的一般用户也需要为他/她的主目录设置这样的模式。
  • 第二个模式改动能保证所有用户都可以写目录 /tmp 和 /var/tmp。

还增加了一个所谓的 “粘滞位”的限制,即位掩码 0x1777 中最高位的比特(1)。

关于 FHS 兼容性

这个目录树是基于文件系统目录结构标准(FHS)(参考:​​https://wiki.linuxfoundation.org/en/FHS​​)。

FHS 标准还规定了要有 /usr/local/games 和 /usr/share/games 目录。另外 FHS 标准关于/usr/local/share 里子目录的结构要求并不清晰,所以我们只创建了我们需要的目录。

不过,如果你更喜欢严格遵守 FHS 标准,创建这些目录也不会有问题。



本次分享到此结束啦~

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。

❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️