Linux文件系统架构

本文将介绍类Unix系统中一系列文件目录存放的基本原则与标准。这篇向导旨在为系统的交互性、系统的管理工具、开发工具、脚本提供支持,使其在所有系统中更加统一。本文参考

1.介绍

这篇标准主要是为了帮助软件预测将要安装的目录和路径,以及帮助用户定位已安装的文件路径。本文为文件系统的每个区域提供指导原则,同时也会列举不被包括在这个原则中的一些情况及一些历史冲突案例。

2.文件系统

这篇标准假定操作系统是底层是兼容文件系统层次结构标准(Filesystem Hierarchy Standard, FHS),并且遵循大多数UNIX文件系统的基本安全标准。

文件系统的设计中明确两个重要的区别:可分享与不可分享静态与动态。大体上文件将基于这两个区别来决定它应该存放于哪个目录。

  • 可分享:存储在一台主机中的文件可以被其他主机使用;
  • 不可分享:即不可分享的文件;
  • 静态:包括二进制文件、库文件、文档文件和其他在没有管理员干预下无法改动的文件;
  • 动态:即非静态的。

相关说明:

可分享文件可以被其他主机使用,然而并不是所用文件系统层次架构中的文件都是可分享的,即系统都是有一些本地存储包括在不可分享文件中,如果一个文件系统所需要的文件都存储在另一台主机中,通过挂载在本机中挂载几个目录将使得访问这些文件变得极为方便。

静态文件与动态文件必须要做出隔离,因为静态文件不像是动态文件,它可以已只读的形式被存储在媒介上,并且不需要像动态文件一样定期的进行备份。

以下是遵循文件系统层次架构标准的示例:

Shareable Unshareable
static /usr /etc
/opt /boot
variable /var/mail /var/run
/var/spool/news /var/lock

3.文件系统根目录