解析Linux系統根檔案系統的目錄樹(轉)

ba發表於2007-08-15
解析Linux系統根檔案系統的目錄樹(轉)[@more@]  目錄樹可以分為小的部分,每個部分可以在自己的磁碟或分割槽上。主要部分是根、/usr 、/var 和 /home 檔案系統。每個部分有不同的目的。

  每臺機器都有根檔案系統,它包含系統引導和使其他檔案系統得以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程式查詢它們極其困難)。

  根檔案系統

  根檔案系統一般應該比較小,因為包括嚴格的檔案和一個小的不經常改變的檔案系統不容易損壞。損壞的根檔案系統一般意味著除非用特定的方法(例如從軟盤)系統無法引導。

  根目錄一般不含任何檔案,除了可能的標準的系統引導映象,通常叫/vmlinuz 。所有其他檔案在根檔案系統的子目錄中。

  /bin :引導啟動所需的命令或普通使用者可能用的命令(可能在引導啟動後)。

  /sbin :類似/bin ,但不給普通使用者使用,雖然如果必要且允許時可以使用。

  /etc :特定機器的配置檔案。

  /root:root使用者的家目錄。

  /lib :根檔案系統上的程式所需的共享庫。

  /lib/modules :核心可載入模組,特別是那些恢復損壞系統時引導所需的(例如網路和檔案系統驅動)。

  /dev :裝置檔案。

  /tmp :臨時檔案。引導啟動後執行的程式應該使用/var/tmp ,而不是/tmp ,因為前者可能在一個擁有更多空間的磁碟上。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-959721/,如需轉載,請註明出處,否則將追究法律責任。

相關文章