hier(7)
和手册页都file-hierarchy(7)
声称描述了传统的文件系统层次结构。但是,它们之间存在一些差异。例如,hier(7)
描述/opt
and /var/crash
,但file-hierarchy(7)
不描述。这两种描述有什么区别。真正的 Linux 系统使用哪一种?
hier(7)
和手册页都file-hierarchy(7)
声称描述了传统的文件系统层次结构。但是,它们之间存在一些差异。例如,hier(7)
描述/opt
and /var/crash
,但file-hierarchy(7)
不描述。这两种描述有什么区别。真正的 Linux 系统使用哪一种?
手册页的
hier
历史可以追溯到 1979 年的 Unix 第七版。Linux 操作系统中的那个不是原始的 Unix,而是一个克隆。在世纪之交,FreeBSD 人员记录了现有的长期实践,即系统管理员为自己的系统调整内容,并且优秀的系统管理员更改该手册页以匹配本地调整。
当然,Linux 操作系统在 doco 方面是出了名的糟糕。发行版维护者很少将
hier
手册页完全调整到实际操作系统,如果它被调整的话。例如,Debian 根本不打补丁,只是按原样提供来自 Michael Kerrisk 的 Linux Manpages Project的底层通用hier
手册页。(BSD 具有更强大的传统,即那些对操作系统进行更改的人,包括在他们所做的事情中更改其 doco。因此,他们的 doco 更好。但它本身在某些领域仍然过时了。对于示例:该
ul
命令的 FreeBSD 手册自 2.9BSD 以来一直缺少该工具的大部分内容。)因此,Lennart Poettering在 2014 年为 systemd 编写了自己的手册页
file-hierarchy
。如您所见,尽管它声称它确实并不hier
比页面“更小” 。对于初学者,它记录了有关用户主目录的大量附加内容。因此,有两个不同的手册页来自两组不同的人,他们自己都不是发行版维护者,他们实际上决定了这些东西。
一个简单的事实是,真正的基于 Linux 的操作系统都不遵守任何. vanilla systemd 有一些发行版变体,发行版维护者不会将其修补到
file-hierarchy
页面中;并且如前所述,该hier
页面通常也不会在本地修补。此外,它们不遵守Linux 文件系统层次结构标准。几个操作系统故意偏离它,其中一些记录了这一点。一些 Linux 操作系统故意完全不引用它,例如 GoboLinux。从进一步阅读中可以看出,Arch Linux 曾经引用它,但后来放弃了它。
(尽管我没有做过严格的调查,但我强烈怀疑 Arch Linux 放弃FHS是一个转折点,坚持FHS是现在 Linux 操作系统的例外而不是规范。)
对于许多 Linux 操作系统来说,根本就没有一个单独的手册页。实际的操作系统将是Linux Filesystem Hierarchy Standard和具有不同程度文档的各个操作系统规范的混合
hier
体。file-hierarchy
进一步阅读
hier(7)
来自man-pages project,应该反映Filesystem Hierarchy Standard。file-hierarchy(7)
来自systemd,并且特别是,后者更详细地描述了每个文件系统的使用和约束:它是主机本地的还是可以共享的,它是持久的还是可以
tmpfs
支持的,程序应该如何找到它等等。每个真正的 Linux 系统都有自己的文件系统策略,通常非常接近 FHS。例如,Debian 的政策基于 FHS 3.0 版,但有一些例外。使用 systemd 的发行版(现在包括大多数非嵌入式发行版)最终在实践中遵循 systemd 要求。