Next: The root filesystem
Up: Overview of the Directory
Previous: Overview of the Directory
本章松散地基于Linux文件系统标准FSSTND版本1.2(见参考书目[Qui95]),
它意图建立一个如何组织Linux系统目录树的标准。这样一个标准具有易于写或port(移植?)Linux软件、管理Linux系统的优点,
因为所有东西都将在他们的一般地方。
此标准没有强制所有人遵从的权威,但它有最多的Linux distributions的支持。
如果没有什么特殊的理由,不遵从FSSTND不是个好主意。
FSSTND意图遵从Unix传统和当前趋势,使熟悉其他Unix系统的人对Linux系统更容易接受(反之亦然)。
本章并非如FSSTND那么详细。一个系统管理员应该阅读FSSTND以得到全部的理解。
本章不详细解释所有文件。其意图并非说明每个文件,而是从文件系统的视角给出系统的一个概览。
每个文件的更多的信息在本手册或man页的其他地方。
有意将全目录树可以分为小的部分,每个部分可以在自己的磁盘或分区上,以能为磁盘容量所容纳,并易于备份及其他系统管理。
主要部分是根、/usr 、/var 和
/home 文件系统(见图 3.1)。
每个部分有不同的目的。
目录树已被设计成能在Linux机器的网络中很好地工作,可以通过只读设备(如CDROM)或NFS网络共享文件系统的一些部分。
图3.1:部分UNIX目录树。虚线指出分区限制。
下面说明目录树不同部分的任务。
-
每台机器都有根文件系统(一般在本地盘中,当然也可以在RAM盘或网络盘中),它包含系统引导和使其他文件系统得以mount所必要的文件,
根文件系统应该有单用户状态所必须的足够的内容。还应该包括修复损坏系统、恢复备份等的工具。
-
/usr 文件系统包含所有命令、库、man页和其他一般操作中所需的不改变的文件。
/usr 应该没有对给定机器特定的文件,也不应该有一般使用中要修改的文件。
这样允许此文件系统中的文件通过网络共享,这样可以更有效,因为这样节省了磁盘空间(/usr 很容易是数百兆),
且易于管理(当升级应用时,只有主/usr 需要改变,而无须改变每台机器)
即使此文件系统在本地盘上,也可以只读mount,以减少系统崩溃时文件系统的损坏。
-
/var 文件系统包含会改变的文件,比如spool目录(mail、news、打印机等用的),
log文件、formatted manual pages和暂存文件。传统上/var 的所有东西曾在
/usr 下的某个地方,但这样/usr 就不可能只读安装了。
-
/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程序查找它们极其困难)。
Next: The root filesystem
Up: Overview of the Directory
Previous: Overview of the Directory
Lars Wirzenius
Sun Jun 29 13:31:22 EEST 1997