linux目录配置FHS

    FHS 在于规范每个特点目录下应该要放置什么样的数据例如/etc应该要放置设置文件,/bin与/sbin则应该要放置可执行文件等等。


四种交互作用形态


可分享的shareable 不可分享的unshareable
不变的  static /usr(软件放置位置)

/etc(配置文件)

/opt(第三方软件) /boot (开机与内核文件)
可变的 ariable /var/mail(用户文件信箱) /var/run(程序相关)
/var/spool/news(新闻组) /var/lock(程序相关)


FHS建议:根目录所在的分区越小,系统性能就越好,根目录所在的文件系统也较不容易发生问题


下面列出一个表格,总结一些重要目录放置的文件内容:


目录

                        应放置文件内容

   /bin

放置一些在单用户维护模式下还能被操作的命令,主要有:cat,chmod,chown,date,mv,mkdir,cp,bash等命令

     /boot

放置开机会使用到的文件,包括Linux内核文件以及开机菜单与开机所需配置文件

   /dev

以文件形式存放任何设备与接口设备,比较重要的文件:/dev/null,/dev/zero,/dev/tty,/dev/lp*,/dev/hd*,/dev/sd*等

   /etc

系统主要的配置文件几乎都放置在这个目录内。FHS建议:不要将可执行文件放到这个目录,比较重要的文件:/etc/inittab,/etc/init.d,/etc/modprobe.conf,/etc/X11,/etc/sysconfig等

   /home

系统默认的用户主文件夹,~代表当前用户主文件夹

   /lib

放置在开机时会用到的函数库,以及在/bin或/sbin下面的命令会调用的函数库,/lib/modules这个目录放置的驱动程序文件,尤其重要

   /media

此目录下的文件都是可删除的设备,www.linuxidc.com常见文件名:/media/cdrom

   /mnt

用来暂时挂载某些额外设备

   /opt

第三方软件放置的目录

   /root

系统管理员的主文件夹,/root应该和根目录放在同一个分区中

   /srv

存放网络服务所需取用的数据,如:www服务需要的网页数据就可以放置在/srv/www里面

   /tmp

任何人都可以访问这个目录,这是用于暂时放置文件的地方,重要的数据都不可以放到这个目录里面,FHS建议:每次开机时都清空一下这个目录

   /sbin

放置了开机过程所需的命令,包括开机、修复、还原系统所需的命令



注意:

开机过程中,只要根目录会被挂载,其他分区则是在开机完成后才会持续进行挂载,所以在根目录下与开机相关的目录都不能与根目录放到不同的分区

从上表可以轻易得出,下列五个目录一定不可与根目录分开:

/etc----配置文件

/bin----重要执行文件

/dev----所需要的设备文件

/lib----执行文件所需要的函数库与内核所需的模块

/sbin----重要的系统执行文件

linux
/usr

根据FHS规范的第二层内容,在/usr目录下,包含系统的主要程序、图形界面所需要的文件、额外的函数库、本机自行安装的软件,以及共享的目录与文件。它有点像Windows操作系统中的“Program files”与“Windows”这两个目录的结合。在此目录下的重要子目录有:

  • /usr/bin,/usr/sbin:一般身份用户与系统管理员可执行文件放置目录

  • /usr/include:c/c++等程序语言的文件头(header)与包含文件(include)放置处,当以tarball方式(*.tar.gz的方式安装软件)安装某些数据时,会使用到里面的许多包含文件。

  • /usr/lib:各种应用软件的函数库文件放置目录。

  • /usr/local:本机自行安装的软件默认放置的目录。当前也适用于/opt目录。在安装完Linux之后,基本上所有的配置都有了,但软件总是可以升级的,例如要升级代理服务,则通常软件默认的安装地方就是/usr/local中。当安装完之后所得到的执行文件,为了与系统原执行文件区分,升级后的执行文件通常放在/usr/local/bin中。建议将后来才安装的软件放在这里,便于管理。

  • /usr/share:共享文件放置的目录,例如/usr/share/doc目录放置一些系统帮助文件、/usr/share/man放置manpage文件。

  • /usr/src:Linux系统相关的程序代码放置目录,例如/usr/src/linux为核心源码。

  • /usr/X11R6:系统内的X Window System所需的执行文件几乎都放在这里。

/var

这个目录也很重要,也是FHS规范的第二层目录内容。它主要放置系统执行过程中经常变化的文件,例如缓存(cache)或者是随时更改的日志文件(log file)。此外,某些软件执行过程中会写入的数据库文件,例如MySQL数据库,也都写入这个目录中。它下面的主要目录有:

  • /var/cache:程序文件在运行过程中的一些暂存盘。

  • /var/lib:程序执行的过程中,使用的数据文件放置的目录。例如locate数据库与MySQL及rpm等数据库系统,都写在这个目录中。

  • /var/log:登录文件放置的目录,很重要。例如/var/log/messages就是总管所有登录文件的文件。

  • /var/lock:某些设备具有一次性写入的特性,例如tab(磁带机),此时,为了避免被其他人干扰正在运行的操作,会将该设备lock(锁)起来,以确定该设备只能被单一程序所用。

  • /var/run:某些程序或者是服务启动后,会将它们的PID放在这个目录下。

  • /var/spool:是一些队列数据存放的地方。例如主机收到电子邮件后,就会放到/var/spool/mail中,若信件暂时发不出去,就会放到/var/spool/mqueue目录下,用户工作任务分配(cron)则是放在/var/spool/cron中。




FHS(Filesystem Hierarchy Standard)文件层递结构标准,在UNIX/Linux系统中(当然还包括一些非标准的UNIX系统,例如BSD),为了防止目录定义混乱,人们制定了这个标准。标准的内容很少,似乎写的有点繁琐,这里,我将它的大致目录结构列出来,比较明了一点。
有关FHS的详细内容,可以参阅:http://www.pathname.com/fhs/  (他的官方网址)

/   根目录

/bin    常用的命令 binary file 的目录

/boot   存放系统启动时必须读取的档案,包括核心 (kernel) 在内

    /boot/grub/menu.lst   GRUB设置

    /boot/vmlinuz   内核

    /boot/initrd     核心解压缩所需 RAM Disk

/dev    系统周边设备    

/etc    系统相关设定文件

    /etc/DIR_COLORS   设定颜色

    /etc/HOSTNAME   设定用户的节点名

    /etc/NETWORKING   只有YES标明网络存在

    /etc/host.conf 文件说明用户的系统如何查询节点名

    /etc/hosts 设定用户自已的IP与名字的对应表

    /etc/hosts.allow 设置允许使用inetd的机器使用

    /etc/hosts.deny 设置不允许使用inetd的机器使用

    /etc/hosts.equiv 设置远端机不用密码

    /etc/inetd.conf 设定系统网络守护进程inetd的配置

    /etc/gateways 设定路由器

    /etc/protocols 设定系统支持的协议

    /etc/named.boot 设定本机为名字服务器的配置文件

    /etc/sysconfig/network-scripts/ifcfg-eth0   设置IP

    /etc/resolv.conf    设置DNS

    /etc/X11 X Window的配置文件,xorg.conf 或 XF86Config 这两个 X Server 的设定档

    /etc/fstab    记录开机要mount的文件系统

    /etc/inittab 设定系统启动时init进程将把系统设置成什么样的runlevel

    /etc/issue 记录用户登录前显示的信息

    /etc/group 设定用户的组名与相关信息

    /etc/passwd 帐号信息

    /etc/shadow 密码信息

    /etc/sudoers 可以sudo命令的配置文件

    /etc/securetty 设定哪些终端可以让root登录

    /etc/login.defs 所有用户登录时的缺省配置

    /etc/exports 设定NFS系统用的

    /etc/init.d/   所有服务的预设启动 script 都是放在这里的,例如要启动或者关闭

    /etc/xinetd.d/ 这就是所谓的 super daemon 管理的各项服务的设定文件目录

    /etc/modprobe.conf   内核模块额外参数设定

    /etc/syslog.conf   日志设置文件

/home   使用者家目录

/lib    系统会使用到的函数库

    /lib/modules   kernel 的相关模块

    /var/lib/rpm   rpm套件安装处

/lost+found    系统不正常产生错误时,会将一些遗失的片段放置于此目录下

/mnt     外设的挂载点

/media   与/mnt类似

/opt     主机额外安装的软件

/proc    虚拟目录,是内存的映射

     /proc/version   内核版本

      /proc/sys/kernel   系统内核功能

/root    系统管理员的家目录

/sbin    系统管理员才能执行的指令

/srv     一些服务启动之后,这些服务所需要取用的数据目录

/tmp     一般使用者或者是正在执行的程序暂时放置档案的地方

/usr     最大的目录,存许应用程序和文件

   /usr/X11R6:   X-Window目录

   /usr/src:    Linux源代码

   /usr/include:系统头文件

   /usr/openwin 存放SUN的OpenWin

   /usr/man 在线使用手册

   /usr/bin           使用者可执行的 binary file 的目录

   /usr/local/bin     使用者可执行的 binary file 的目录

   /usr/lib           系统会使用到的函数库

   /usr/local/lib     系统会使用到的函数库

   /usr/sbin          系统管理员才能执行的指令

   /usr/local/sbin    系统管理员才能执行的指令

/var   日志文件

  /var/log/secure    记录登入系统存取数据的档案,例如 pop3, ssh, telnet, ftp 等都会记录在此档案中

   /var/log/wtmp      记录登入者的讯息数据, last

   /var/log/messages 几乎系统发生的错误讯息

   /var/log/boot.log 记录开机或者是一些服务启动的时候,所显示的启动或关闭讯息

   /var/log/maillog   纪录邮件存取或往来( sendmail 与 pop3 )的使用者记录

   /var/log/cron      记录 crontab 这个例行性服务的内容

   /var/log/httpd, /var/log/news, /var/log/mysqld.log, /var/log/samba, /var/log/procmail.log:

   分别是几个不同的网络服务的记录文件


你可能感兴趣的:(linux,配置文件,根目录,第三方软件,执行文件)