FHS

来源:互联网 发布:中国网络歌曲 编辑:程序博客网 时间:2024/06/18 17:47

Linux目录配置:

 Linux目录配置标准:FHS(FileSystem Hierarchy Standard)    实际上,FHS一直在根据过去的使用经验进行改版,FHS根据文件系统使用频繁与否与是否允许用户随意改动,而将目录目录定义成四种交互作用的形态:

这里写图片描述

/       根目录是整个系统最重要的一个目录,所有的目录都是根目录衍生出来的,同时根目录还与开机、还原 、系统修复等操作有关        

第一部分:FHS要求必须要存在的目录。

/bin 存放普通命令的目录,同时/bin还比较特殊,因为/bin存放的是当用户维护模式下还能够被操作的命令。

/boot 存放开机会使用的文件,Linux的内核文件以及开机菜单与开机所需配置文件等     Linux Kernel常用的文件名是vmlinuz , 如果使用的是grup引导加载程序,则会存在/boot/grub/这个目录 
/dev    存放设备访问入口文件,比较重要的是/dev/null ,/dev/zero , /dev/tty , /dev/lp* , /dev/hd* , /dev/sd* /etc  存放配置相关的文件
/lib    存放库文件,放置的是系统开机时会使用到的函数库,以及/bin或/sbin下面的命令会调用的函数库而已。可以看成“外挂”,某些命令必须依靠这些“外挂”才能顺利的完成程序执行之意。其中/lib/module/这个目录
 /media  存放的是内核相关模块(驱动程序) /media    存放可删除设备,如软盘、光盘、DVD等设备,常用的文件名/media/cdrom 、/media/floppy
/mnt    用于暂时挂载某些额外设备文件 /opt 常用于第三方软件安装目录
 /sbin  管理员使用的命令,常用来设置系统环境
/srv  可以视为"service"缩写,存放一些网络服务所需的数据文件,常见WWW、FTP,举例WWW服务需要的网络数据可以存放在/srv/www/目录 /tmp   存放暂时文件
 /run   早期的FHS规定系统开机后所产生的各项信息要放置在/var/run目录下,新版的FHS则规范到/run下面。由于/run可以使用内存来防真,因为性能上会好很多。
  /usr  第二层FHS设置    
  /var  第二层FHS设置

第二部分:FHS建议可以存放的目录

 /home  普通用户家目录 /lib<qual>  存放与/lib不同的格式的二进制函数库,例如支持64位的   /lib64 函数库等 /root  管理员的家目录
以上是FHS对根目录所定义的标准 注意一下几个目录: 
/lost+found   这个目录是使用标准的ext2/ext3/ext4文件系统格式才会产生的一个目录,目的在于当文件系统发生错误时,   将一些遗失的片段放置到这个目录下。不过如果使用的是 xfs 文件系统的话,就不会存在这个目录了!
/proc   这个目录本身是一个“虚拟文件系统(Virtual filesystem)”,它放置的数据都是在内存当中的,例如系统内核、进程信息、周边设备的状态及网络状态等,这个目录下的数据都是在内存当中,所以本身不占任何磁盘空间。比较重要的文件例如:/proc/cpuinfo , /proc/dma , /proc/interrupts ,/proc/ioports , /proc/net/*等等
 /sys   也是虚拟文件系统,记录内核与系统硬件相关的信息。包括目前已载入的内核模块与内核侦测到的硬件设备信息等等。这个目录同样不占硬盘容量喔!
 早期 Linux 在设计的时候,若发生问题时,救援模式通常仅挂载根目录而已,因此有五个重 要的目录被要求一定要与根目录放置在一起, 那就是 /etc, /bin, /dev, /lib, /sbin 这五个重要目 录。现在许多的 Linux distributions 由于已经将许多非必要的文件移出 /usr 之外了, 所以 /usr 也是越来越精简,同时因为 /usr 被建议为“即使挂载成为只读,系统还是可以正常运行”的 模样,所以救援模式也能同时挂载 /usr 喔! 例如我们的这个 CentOS 7.x版本在救援模式的 情况下就是这样。因此那个五大目录的限制已经被打破了呦!例如 CentOS 7.x 就已经将 /sbin, /bin,/lib 通通移动到 /usr 下面了哩!   

现在来谈谈/usr和/var /usr的意义与内容


/usr的意义与内容:
根据FHS基本定义,/usr存放可分享的静态数据(shareable,static)  usr是Unix Software Resource缩写,FHS建议 所有软件开发者,应该将他们的数据合理的分别放置到这个目录下的次目录,而不要自行创 建该软件自己独立的目录。

第一部分:FHS要求必须要存在的目录

 /usr/bin   新的 CentOS 7 已经将全部的使用者指令放置于此,而使用链接文件的方式将 /bin 链接至此 /usr/lib 基本上,与 /lib 功能相同,所以 /lib 就是链接到此目录中的! /usr/local 系统管理员在本机自行安装自己下载的软件(非distribution默认提供者),建议安装到此目录  /usr/sbin不过基本功能与 /sbin 也差不多, 因此目前 /sbin 就是链接到此目录中的。  /usr/share    放置只读架构的数据文件,当然也包括共享文件。常见的目录/usr/share/doc /usr/share/doc /usr/share/zoneinfo    

第二部分:FHS建议可以存在的目录

 /usr/games /usr/include /usr/libexec   某些不被一般使用者惯用的可执行文件或脚本(script)等等,都会放置此目录中  /usr/lib64     与/lib64功能相同  /usr/src       一般源代码放置在此处,linux kernel代码放置在/usr/src/linux下     

/var的意义与内容:
如果/usr是安装时会占用较大的磁盘空间,那么/var就是在系统运行后才会渐渐占用硬盘容量的目录。 因为/var目录主要针对常态性变动文件,例如高速缓存(cache)、登录文件(log file)、日志文件(log)、程序文件(lock file、run file) 第一部分:FHS要求必须要存在的目录 /var/cache/     应用程序本身运行过程中会产生的一些暂存盘 /var/lib/      程序本身执行的过程中,需要使用到的数据文件放置的目录。在此目录下各自的软件应该要有各自的目录 /var/lock/     某些设备或者是文件资源一次只能被一个应用程序所使用,如果同时有两 个程序使用该设备时,就可能产生一些错误的状况,因此就得要将该设备 上锁(lock),以确保该设备只会给单一软件所使用。  /var/log//var/mail/ /var/run/  /var/spool/
0 0