两个都hier(7)
和file-hierarchy(7)
手册页声称描述了传统的文件系统层次结构。然而,它们之间存在一些差异。例如,hier(7)
描述了/opt
和/var/crash
,但file-hierarchy(7)
没有描述。这两种描述有什么区别。真正的 Linux 系统使用哪一种?
答案1
手册hier
页有着悠久的历史,可以追溯到1979年的Unix第七版。Linux操作系统中的手册页并不是原始的Unix操作系统,而是一个克隆版本。
在世纪之交,FreeBSD 人员记录了现有的长期实践,即系统管理员为自己的系统调整内容,并且优秀的系统管理员会更改该手册页以匹配本地调整。
当然,Linux 操作系统在 doco 方面是出了名的糟糕。发行版维护人员很少将手册hier
页完全调整为实际操作系统(如果有调整的话)。例如,Debian 根本不修补它,只是提供hier
来自 Michael Kerrisk 的 Linux Manpages 项目的底层通用手册页按原样。
(BSD 通常具有更强大的传统,即人们对操作系统进行更改,包括更改其所做的 doco。因此,他们的 doco 更好。但不幸的是,它本身在某些领域仍然过时。例子:自 2.9BSD 以来,FreeBSD 的命令手册ul
已经缺失该工具的大部分内容.)
所以伦纳特·珀特林写道他自己的 systemd 手册页,file-hierarchy
2014 年。正如你所看到的,尽管它声称它确实是不是比页面“更小” hier
。对于初学者来说,它记录了有关用户主目录的大量其他内容。
因此,有两个不同的手册页来自两组不同的人,他们自己都不是发行版的维护者,他们实际上决定了这些东西。
简单的事实是,真正的基于 Linux 的操作系统遵循两者都不。有一些来自 vanilla systemd 的发行版变体,file-hierarchy
发行版维护者不会将其修补到页面中;正如所提到的,该hier
页面通常也不会得到本地修补。
他们不遵守Linux 文件系统层次结构标准而且。一些操作系统故意偏离它,其中一些操作系统记录了这一点。一些 Linux 操作系统故意不引用它,例如 GoboLinux。从进一步的阅读中你可以看到,Arch Linux 曾经引用过它,但后来放弃了它。
(尽管我没有做过严格的调查,但我强烈怀疑 Arch Linux 放弃了FHS是转折点,并且坚持FHS现在对于 Linux 操作系统来说这是例外而不是常态。)
对于许多 Linux 操作系统来说,只需不是一个单独的手册页。实际的操作系统将是hier
、file-hierarchy
、Linux 文件系统层次结构标准,以及具有不同程度文档的单独操作系统规范。
进一步阅读
- 乔纳森·德博因·波拉德 (2016)。 ”地名词典”。小吃指南。软件。
- 平阮 (2004-07-30)。Linux 文件系统层次结构。版本 0.65。 Linux 文档项目。
- https://wiki.archlinux.org/index.php/Frequently_asked_questions#Does_Arch_follow_the_Linux_Foundation.27s_Filesystem_Hierarchy_Standard_.28FHS.29.3F
- https://netarky.com/programming/arch_linux/Arch_Linux_directory_struct.html
- https://wiki.gentoo.org/wiki/Complete_Handbook/Users_and_the_Linux_file_system#Linux_file_system_hierarchy
- https://www.suse.com/support/kb/doc/?id=7004448
- https://sta.li/filesystem/
- 丹尼尔·J·伯恩斯坦。根目录。 cr.yp.to。
答案2
hier(7)
来自手册页项目,并且应该反映文件系统层次结构标准。
file-hierarchy(7)
来自系统, 和
描述了这些规范的一个更最小、更现代化的子集,它更严格地定义了 systemd 对文件系统层次结构所做的建议和限制。
特别是,后者更详细地描述了每个文件系统的使用和约束:它是主机本地的还是可以共享的,它是持久的还是可以tmpfs
支持的,程序应该如何找到它,等等。
每个真正的 Linux 系统都有自己的文件系统策略,通常紧密基于 FHS。例如,Debian 的政策基于 FHS 3.0 版,但有一些例外。使用 systemd 的发行版(现在包括大多数非嵌入式发行版)最终在实践中遵循 systemd 要求。