Linux 管理员手册(2)
本章说明标准Linux目录树的重要部分,基于FSSTND文件系统标准。概述根据不一样的目的和给定的要求将目录树分为若干分离的文件系统的通常方法。也说明一些其余方法。bootstrap
背景网络
本章松散地基于Linux文件系统标准FSSTND版本1.2(见参考书目[Qui95]),它意图创建一个如何组织Linux系统目录树的标准。这样一个标准具备易于写或port(移植?)Linux软件、管理Linux系统的优势,由于全部东西都将在他们的通常地方。此标准没有强制全部人听从的权威,但它有最多的Linux distributions的支持。若是没有什么特殊的理由,不听从FSSTND不是个好主意。 FSSTND意图听从Unix传统和当前趋势,使熟悉其余Unix系统的人对Linux系统更容易接受(反之亦然)。工具
本章并不是如FSSTND那么详细。一个系统管理员应该阅读FSSTND以获得所有的理解。ui
本章不详细解释全部文件。其意图并不是说明每一个文件,而是从文件系统的视角给出系统的一个概览。每一个文件的更多的信息在本手册或man页的其余地方。设计
有意将全目录树能够分为小的部分,每一个部分能够在本身的磁盘或分区上,以能为磁盘容量所容纳,并易于备份及其余系统管理。主要部分是根、/usr 、/var 和 /home 文件系统。每一个部分有不一样的目的。目录树已被设计成能在Linux机器的网络中很好地工做,能够经过只读设备(如CDROM)或NFS网络共享文件系统的一些部分。orm
下面说明目录树不一样部分的任务。文档
每台机器都有根文件系统(通常在本地盘中,固然也能够在RAM盘或网络盘中),它包含系统引导和使其余文件系统得以mount所必要的文件,根文件系统应该有单用户状态所必须的足够的内容。还应该包括修复损坏系统、恢复备份等的工具。get
/usr 文件系统包含全部命令、库、man页和其余通常操做中所需的不改变的文件。 /usr 应该没有对给定机器特定的文件,也不该该有通常使用中要修改的文件。这样容许此文件系统中的文件经过网络共享,这样能够更有效,由于这样节省了磁盘空间(/usr 很容易是数百兆),且易于管理(当升级应用时,只有主/usr 须要改变,而无须改变每台机器) 即便此文件系统在本地盘上,也能够只读mount,以减小系统崩溃时文件系统的损坏。it
/var 文件系统包含会改变的文件,好比spool目录(mail、news、打印机等用的), log文件、formatted manual pages和暂存文件。传统上/var 的全部东西曾在 /usr 下的某个地方,但这样/usr 就不可能只读安装了。io
/home 文件系统包含用户家目录,即系统上的全部实际数据。将家目录分到本身的目录树或文件系统中易于备份,其余部分常常没必要备份,至少没必要常常备份(它们不多改变)。一个大的/home 可能要分为若干文件系统,须要在/home 下加一级名字,如/home/students 、/home/staff 等。
虽然上面将不一样的部分称为文件系统,但它们没必要是真的分离的文件系统。若是系统是小的单用户系统,而用户但愿简单化,能够很容易地放在一个文件系统中。根据磁盘容量和不一样目的所需分配的空间,目录树也能够分到不一样的文件系统中。重要的是使用标准的名字,即便/var 和/usr 在同一分区上,名字/usr/lib/libc.a 和/var/adm/messages 必须能工做,例如将/var 下的文件移动到/usr/var ,并将/var 做为/usr/var 的符号链接。
Unix文件结构根据目的来分组文件,即全部的命令在一个地方,全部的数据在另外一个地方,全部的文档又在一个地方,等等。另外一个方法是根据属于的程序分组文件,即全部Emacs文件在一个目录中,全部TeX文件在另外一个中,等等。后一种方法的问题是文件难于共享(程序目录常常同时包含静态可共享的和动态不可共享的文件),有时难于查找 (例如man页在极大数量的地方,使man程序查找它们极其困难)。
根文件系统
根文件系统通常应该比较小,由于包括严格的文件和一个小的不常常改变的文件系统不容易损坏。损坏的根文件系统通常意味着除非用特定的方法(例如从软盘)系统没法引导,因此不该该冒这个险。
根目录通常不含任何文件,除了可能的标准的系统引导映象,一般叫/vmlinuz 。全部其余文件在根文件系统的子目录中。
/bin
引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。
/sbin
相似/bin ,但不给普通用户使用,虽然若是必要且容许时可使用。
/etc
特定机器的配置文件。
/root
root用户的家目录。
/lib
根文件系统上的程序所需的共享库。
/lib/modules
核心可加载模块,特别是那些恢复损坏系统时引导所需的(例如网络和文件系统驱动)。
/dev
设备文件。
/tmp
临时文件。引导启动后运行的程序应该使用/var/tmp ,而不是/tmp ,由于前者可能在一个拥有更多空间的磁盘上。
/boot
引导加载器(bootstrap loader)使用的文件,如LILO。核心映象也常常在这里,而不是在根目录。若是有许多核心映象,这个目录可能变得很大,这时可能使用单
兄弟连IT教育 www.itxdl.cn