什么是Filesystem Hierarchy Standard?安装软件如何遵守?

发布时间:2024年01月22日

什么是Filesystem Hierarchy Standard

Filesystem Hierarchy Standard (FHS) 是描述类Unix系统布局惯例的参考标准,被广泛应用于Linux发行版,并在其他类Unix系统中也有使用。它由Linux Foundation维护,最新版本是于2015年6月3日发布的第3.0版。

在FHS中,所有文件和目录都出现在根目录 / 下,即使它们存储在不同的物理或虚拟设备上也是如此。以下是一些常见的目录结构和它们的描述:

  1. /bin: 包含在单用户模式下需要可用的基本命令二进制文件,用于启动系统或修复系统,对所有用户可用(例如,cat、ls、cp)。

  2. /boot: 存放引导加载程序文件,如内核和initrd。

  3. /etc: 存放主机特定的系统范围配置文件,包括各种软件的配置文件,如X Window System、SGML处理软件、X Window System配置文件等。

  4. /home: 包含用户的主目录,存放保存的文件、个人设置等。

  5. /lib: 包含对 /bin 和 /sbin 中的二进制文件至关重要的库文件。

  6. /media: 用于挂载可移动媒体的挂载点,如CD-ROM。

  7. /mnt: 用于临时挂载的文件系统。

  8. /opt: 用于存放附加应用软件包的目录。

  9. /proc: 虚拟文件系统,提供进程和内核信息,通常由系统自动生成并在运行时填充。

  10. /root: root用户的主目录。

  11. /run: 存放运行时变量数据,如自系统上次启动以来的信息,通常在系统启动过程中必须删除或截断。

  12. /sbin: 包含基本的系统二进制文件,如fsck、init、route。

  13. /srv: 存放由此系统提供的站点特定数据,如Web服务器、FTP服务器提供的数据以及版本控制系统的仓库。

  14. /sys: 包含有关设备、驱动程序和一些内核特性的信息。

  15. /tmp: 用于临时文件的目录,通常在系统重新启动时不会保留并可能受到严格的大小限制。

  16. /usr: 用于只读用户数据的次级层次结构,包含大多数(多用户)实用工具和应用程序。

  17. /var: 包含变量文件,其内容在系统正常运行期间预计会不断更改,如日志、spool文件和临时电子邮件文件。

这些目录的组织和用途有助于使Unix/Linux系统的文件布局保持一致性,使得用户和系统管理员能够更容易地理解和管理系统。关于软件安装路径的例子,CMake等软件通常会被安装在 /usr/bin、/usr/lib 等目录下,根据 FHS 的规范进行布局。

安装软件是否符合FHS?

举例,有个软件安装到这些位置:

installed: /usr/local/bin/v2ray
installed: /usr/local/bin/v2ctl
installed: /usr/local/share/v2ray/geoip.dat
installed: /usr/local/share/v2ray/geosite.dat
installed: /usr/local/etc/v2ray/config.json
installed: /var/log/v2ray/
installed: /var/log/v2ray/access.log
installed: /var/log/v2ray/error.log
installed: /etc/systemd/system/v2ray.service
installed: /etc/systemd/system/v2ray@.service

这个软件的安装路径符合 Filesystem Hierarchy Standard (FHS) 的一般规范。以下是对每个路径的简要说明:

  1. /usr/local/bin/v2ray: 该路径符合 FHS 中 /usr/local/bin 的规范,这是存放本地用户安装的软件的标准位置。

  2. /usr/local/bin/v2ctl: 同上,也符合 /usr/local/bin 规范。

  3. /usr/local/share/v2ray/geoip.dat: 该路径符合 FHS 中 /usr/local/share 的规范,用于存放与该软件相关的共享数据。

  4. /usr/local/share/v2ray/geosite.dat: 同上,用于存放共享数据。

  5. /usr/local/etc/v2ray/config.json: 该路径符合 FHS 中 /etc 的规范,用于存放主机特定的系统范围配置文件。

  6. /var/log/v2ray/: 该路径也符合 FHS 中 /var/log 的规范,用于存放日志文件。

  7. /var/log/v2ray/access.log: 同上,用于存放访问日志。

  8. /var/log/v2ray/error.log: 同上,用于存放错误日志。

  9. /etc/systemd/system/v2ray.service: 该路径符合 FHS 中 /etc 的规范,用于存放 systemd 服务的配置文件。

  10. /etc/systemd/system/v2ray@.service: 同上,也是 systemd 服务的配置文件。

这个软件的安装路径是按照 FHS 规范组织的,使其与类Unix系统的布局一致。

在这里插入图片描述

文章来源:https://blog.csdn.net/x1131230123/article/details/135742965
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。