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