这文件系统层次结构标准(FHS) 是 Linux 安装上根文件树的正式编码,继承自 Unix 和 POSIX 的早期版本,并随后进行了调整。它根据各种历史惯例差异标准化了熟悉的/home
、/etc
、/usr
、/var
等的确切用法,并解决了可以添加或不添加特定于应用程序和特定于站点的文件名的问题。
历史上,基本的 Linux 安装将整个树放在单个文件系统上,尽管某些变体使用了单独的分区/home
,大概是为了便于备份和迁移。
最近,Btrfs已得到越来越多的采用,它允许单个分区托管各种子卷。子卷很有吸引力,因为它们可以在快照中捕获,并且不需要预先分配空间。
子卷到 FSH 上节点的映射似乎差异很大。尊重此类事项的合理标准和政策非常重要,有助于支持系统上有关快照和相关问题的文件的最佳管理。
以下是一些观察结果:
- 德班似乎将整个树放在根目录下的单个子卷上。
- 乌班图似乎为 分配一个子卷
/home
,并为根树的其余部分分配另一个子卷。 - 架构Linux
/var/log
似乎通过将和放置/var/cache
在单独的子卷中来扩展 Debian 所采用的分离。 - 开放SUSE有一个子卷用于,、、、 和
/var
各有一个子卷,还有一个用于根树的其余部分,还有一个用于每个已安装的 grub 体系结构。/home
/root
/usr/local
/opt
/srv
是否有任何标准试图解决各种设计考虑因素并统一各种操作系统所采用的方法?是否就如何协调各种文件树节点的功能与快照策略达成一致?
答案1
不,这样的标准还没有出现。
答案2
FWIW CIS 安全标准对于拥有自己的文件系统的优点有明确的观点。 cisecurity.org/cis-benchmarks
@steve,我不明白你对问题主题的评论
CIS(或 USG STIG)基准暗示一种以安全为幌子的标准,用于为/home
或/var
或/usr
以及位于 Linux 文件系统顶层的许多其他文件夹中的一些文件夹创建单独的分区,如您的 FHS 链接所述。我熟悉的基准测试在过去的几个基准测试版本中删除了许多文件夹,现在只需要在单独的分区上使用/home
和/var
,否则这是一个安全发现:rolleyes:。/var/log/audit
他们的讨论声明是仅有的 对不同路径使用单独的文件系统可以保护系统免受因文件系统已满或故障而导致的故障。 作为读者,我将让你来找出这个逻辑中的所有漏洞。
将各种目录安装为单独的分区允许管理员安装此类分区的能力,例如noexec
,nosuid
或者使用启用配额的文件系统,这可以提供一些安全优势,但通常是管理组织的好处。但是做这样的事情并没有“标准”,当你提到 Debian、Arch、OpenSUSE 时,它们都采用了不同的分区方案……在我看来,它们受到 CIS 基准、“安全”心态和任何温暖的模糊作为卖点。
“标准”应该是 Linux 管理员对分区方案的建议,因为他们认为适合满足当前环境的需求。您可以整天争论哪些文件夹应该放在单独的分区上,哪些文件夹不应该放在单独的分区上,这都是出于合法的原因,这就是为什么这个特定事物的标准不可能真正发生。
我认为这是一个很好的问题,特别是对于 BTRFS 而言;我会调查 BTRFS 是否关心子卷和快照及其其他功能的分区(我怀疑不关心,但老实说不能肯定地告诉你)。