FHS文件系统结构标准(第三章)

3. 根目录系统
3.1 目的
3.2 需求
3.3 具体选择
3.4 /bin: 基本用户二进制指令(所有用户)
3.5 /boot :启动加载的静态文件
3.6 /dev:设备文件夹
3.7 /etc: 主机系统配置
3.8 /home:用户主目录
3.9 /lib : 基本共享库和核心模块
3.10 /lib<qual>:备用格式基本共享库
3.11 /media:可移动媒体安装区域,挂载点
3.12 /mnt: 临时文件系统安装的挂载点
3.13 /opt:附加应用软件程序包
3.14/root: root用户的主目录
3.15 /sbin: 二进制系统
3.16/srv:系统提供的数据服务
3.17 /tmp: 临时文件

第三章 根目录文件系统

         3.1 目的

         根目录的内容必须适合引导、恢复、备份和修复系统。

         - 要引导系统,在根目录下必须有足够的空间去安装其他文件系统。这包括功能、配置、引导加载信息和其他必要的启动数据。/usr,/opt和/var用于以上功能并可以加载在其他分区或文件系统上。

         - 为了恢复或修复系统,这些功能需要经验性诊断,并在根目录下修复系统

         - 为了恢复系统,这些功能的系统备份应当位于根目录下。

         提示!

                   首先应平衡两种思路,要么把尽量多的东西放进根目录,要么把根目录做的尽可能小。因为一些原因,我们选择后者。

                   - 它偶尔会从很小的媒体上安装

                   - 根目录包含很多系统相关的配置文件。包括系统核心,主机名称等等。这意味着根目录不需要经常共享。保持根目录的小型化可以避免非共享文件占用大量空间。这也保证了工作台可以在很小的本地磁盘中安装。

                   - 当你的根目录位于一个较大分区时,其他人可能只有一个较小分区。当你安装了大量文件,就可能与其他小分区用户不兼容。如果你是一位开发者,应当考虑大量用户的配置情况。

                   - 根目录下的磁盘错误的严重性高于其他目录。越小的根目录越容易避免系统问题。

         3.2 要求

                   以下路径或符号前面需要加/

                  

路径

描述

bin

基础二进制命令

boot

启动加载器的静态文件

dev

设备目录

etc

主机系统配置

lib

基础共享库和核心模块

media

可移动介质挂载点

mnt

临时文件挂载点

opt

附加程序软件包

sbin

基本二进制系统

srv

系统服务数据

tmp

临时文件

usr

二级层级

var

变量

         表中每个目录下面都会单独介绍,/usr 和 /var 因为比较复杂拥有独立章节。

         3.3特别要求

                   以下路径或符号前面需要加/

路径

描述

home

用户主目录

lib<qual>

备用格式基本共享库

root

root用户主目录

表中每个目录下面都会单独介绍

         3.4 /bin:基本用户二进制程序(所有用户)

                   3.4.1 目的

                   /bin包含的命令可以被系统管理员和普通用户调用,当没有其他文件系统被安装是也可。它同样包含由脚本间接使用的命令。

                 3.4.2 要求

                 /bin是没有子目录的。

                 /bin应拥有下列命令或符号

命令

描述

cat

串联文件至标准输出

chgrp

更改文件组所有权

chmod

更改文件访问权限

chown

更改文件所有者和群组

cp

复制文件和目录

date

打印或设定时间和日期

dd

转换并复制文件

df

报告文件系统磁盘使用情况

dmesg

打印或控制核心信息缓存

echo

显示一行文本

false

不成功的

hostname

显示或更改系统主机名

kill

传送信号或进程

in

在文件间建立链接

login

在系统中开始一个会议?session

ls

列出目录内容

mkdir

建立目录

mknod

制作一个块或字符特殊文件

more

翻阅文本

mount

安装一个文件系统

mv

移除或重命名文件

ps

报告进程状态

pwd

打印当前工作目录的名称

rm

移除文件或目录

rmdir

移除空的目录

sed

sed流编辑器

sh

Bourne命令行

sty

改变打印终端线设定

su

改变用户ID

sync

刷新文件系统缓冲区

true

成功

umount

卸载文件系统

uname

打印系统名称

如果/bin/sh 不是真的Bourneshell,它补习是真实shell命令的硬链接或符号链接。

[和测试命令必须放在/bin或/ usr / bin中。

注意:

         当调用bash和sh命令时,bash的表现会有不同。使用符号链接时,用户可以轻易分辨/bin/sh 不是真正的Bourne shell。

         [和测试命令将被包含为二进制,参见POSIX.2标准。 

         3.4.3特别要求

         下列程序或符号链接,必须在/bin目录下。如果关联子程序被安装:

命令

描述

csh

C shell

ed

ed编辑器

tar

tar实现功能

cpio

cpio实现功能

gzip

GNU压缩

gunzip

GNU解压

zcat

GNU解压

netstat

网络统计

ping

ICMP网络测试

如果存在gunzip和zcat程序,它们必须是gzip的符号或硬链接。 /bin / csh可以是/ bin / tcsh或/ usr / bin / tcsh的符号链接。

         注意:

         tar,gzip,cpio命令将被添加以保证系统恢复。

         相反,如果根分区没有恢复,这些二进制命令将被忽略。如果系统计划通过网络恢复,ftp或tftp必须在根分区可用。

         3.5 /boot 启动加载器的静态文件

                  3.5.1目的

                            这个目录包含了启动进程所需的一切,除了不需要启动时间和安装的配置文件。/boot存储的数据调用在核心开始执行用户程序之前。这可能包括保存的主引导扇区和扇区映射文件。

                   3.5.3 特别要求

                            操作系统核心必须安装在/或/boot目录下。

          3.6 /dev: 设备文件

                  3.6.1目的

                            /dev目录存放特殊的或设备文件

                   3.6.2 特别要求

                            如果/dev 路径下设备要求被手动创建,那么/dev必须包含命令“MAKEDEV”。也可以包含MAKEDEV.local用于本地设备。

                            如果需要,MAKEDEV需要对系统中可能被找到的设备提供规定,而不是履行特殊的安装。

        

         3.7 /etc: 主机系统配置

         3.7.1 目的

                   /etc 层级包含配置文件。配置文件属于本地文件,用于控制操作程序,它必须是静态的,不能是可执行的二进制程序。

         3.7.2 要求

                   /etc 目录下不能有二进制。

                   /etc 应包含下面的目录,符号链接

目录

描述

opt

配置/opt

X11

配置X windows系统

sgml

配置SGML

xml

配置XML

下面的文件,链接必须在/etc目录下,如果相关子系统被安装: 

文件

描述

csh.login

C shell 登录的系统范围初始化文件

exports

NFS文件系统访问控制表

fstab

文件系统静态信息

ftpusers

FTP守护程序用户访问控制列表

gateways

列出路由网关的文件

gettydefs

getty使用的速度和终端设置

group

用户群文件

host.conf

解析器配置文件

hosts

主机名静态信息

hosts.allow

TCP包装器的主机访问文件

hosts.deny

TCP包装器的主机访问文件

hosts.equiv

对于rlogin,rsh,rcp的受信主机列表

hosts.lpd

lpd的受信主机列表

inetd.conf

inetd的配置文件

inittab

init的配置文件

issue

预登录信息和识别文件

ld.so.conf

搜寻共享库的其余目录的列表

motd

远程登录信息的每日文件

mtab

文件系统动态信息

mtools.conf

mtools

networks

网络名称静态信息

passwd

密码文件

printcap

lpd打印能力数据库

profile

sh shell登录系统初始化文件

protocols

IP协议列表

resolv.conf

解析器配置文件

rpc

RPC协议列表

securetty

根目录登录的TTY访问控制

services

网络服务端口名称

shells

有效登录shell的路径名

syslog.conf

syslogd配置文件

3.7.4-3.7.7 略 

3.8 /home:用户主目录

         3.8.1 目标

         /home 是一个标准的概念,但显然是特定于站点的文件系统。他用于区别不同用户。因此,程序不应当依赖这个路径。

         3.8.2 要求

                   应用程序的用户特殊配置文件应当保存于home路径下,并以“ . ” 开头。如果一个应用程序需要创建多于一个点 开头的文件,那么应该放在 点 开头的子目录下。这种情况下配置文件不应该以 点 开头。

3.9 /lib 必要的共享库和核心模块

         3.9.1 目标

                   /lib 目录包含在根文件系统下启动系统和运行执行的共享库镜像,二进制代码在/bin和/sbin下。

         3.9.2 要求

                   至少一个文件名模式是存在的: 

文件

描述

libc.so.*

C库的动态链接

ld*

执行时链接器/加载器

如果安装了C预处理器,/lib/cpp应当涉及。

3.9.3 特殊要求

如果安装了子系统,下列目录需安装在/lib下

文件

描述

modules

可加载核心库

 3.10/lib<qual> 可替代格式必要共享库

         3.10.1 目的

                   系统如果有多个/lib目录变种,用于支持独立的二进制格式。

         3.10.2 要求

                   如果多个目录存在,要求与/lib相同。除非/lib<qual>/cpp没有被要求。

3.11 ./media: 可移动媒体的挂载点

         3.11.1 目的

                   该目录下包含子目录用于挂载可移动媒体例如软盘,光驱等。

         注意:

                   过去挂载点位于/mnt下,现在要改过来。

         3.11.2 略

3.12. /mnt:临时安装的文件系统的挂载点

         3.12.1 目的

                   路径用于提供给系统管理员临时安装的文件系统。这个目录下的内容是本地事务,不应当影响正在运行的程序。

                   这个路径不能用于安装程序:必须使用系统未使用的合适的临时目录。

3.13 /opt: 附加应用程序软件包

         3.13.1 目的

                   /opt 被保留用于安装附加应用程序软件包

                   安装在/opt的软件包必须将其静态文件放置于/opt/<package>或/opt/<provider>路径树下,其中<package>是描述软件包的名字,<provider>是提供者LANANA注册名称。

         3.13.2 略        

         3.14/root: root用户的主目录

                   3.14.1目的

                            root帐户的主目录可以由开发人员或本地首选项确定,但这是默认位置。

         3.15./sbin: 系统二进制文件

                   3.15.1目的

                            系统管理员使用的功能存储在/sbin,/usr/sbin以及/usr/local/sbin。 /sbin包含的二进制文件基本用于启动,恢复,重建,修复系统,对/bin进行补充。在/usr后执行的程序被认为是安装在/usr/sbin的。本地安装的系统管理员程序应当放在/usr/local/sbin里。

                   3.15.2&3.15.3要求与特殊要求

        

命令

描述

shutdown

关闭系统

fastboot

重启系统而不检查硬盘

fasthalt

停止系统而不检查硬盘

fdisk

分区表操纵器

fsck

文件系统检查与修复

fsck.*

特殊文件系统检查与修复

getty

getty程序

halt

停止系统

ifconfig

配置网络接口

init

初始化进程

mkfs

建立文件系统

mkfs.*

建立特殊文件系统

mkswap

建立交换区域

reboot

重启系统

route

IP路由表程序

swapon

打开翻页与交换

swapoff

关闭翻页与交换

update

守护进程定期刷新文件系统缓存

          3.16/srv 系统数据服务略

         3.17/tmp 临时文件夹略

         Notes略



猜你喜欢

转载自blog.csdn.net/oscar_liu/article/details/81055691