文件系統層次標准FHS的詳細介紹


  Filesystem Hierarchy Standard (文件系統層次標准,FHS)標准依據文件系統使用的頻繁與否與是否允講使用者隨意更動, 而將目錄定義成四種交互作用的形態,具體如下:

  

  • 可分享的:可以分享給其他系統掛載使用的目錄,所以包括執行文件與用戶的郵件等數據, 是能夠分享給網絡上其他主機掛載用的目錄;
  • 不可分享的:自己機器上面運作的裝置檔案或者是與程序有關的 socket 檔案等, 由於僅與自身機器有關,所以當然就不適合分享給其他主機了。
  • 變的:有些數據是不會經常變動的,跟隨着 distribution 而不變動。 例如函式庫、文件說明文件、系統管理員所管理的主機服務配置文件等等;
  • 可變動的:經常改變的數據,例如登錄文件、一般用戶可自行收受的新聞組等。

  事實上,FHS針對目錄樹架構僅定義出三層目錄下應該放置哪些數據,分別是下面三個目錄:

  • /(根目錄):與開機系統有關;
  • /usr(unix software resource):與軟件安裝執行有關;
  • /var(variable):與系統運作過程有關。

  下面分別對上述三層目錄進行詳細的闡述。

  (1) /(根目錄)

  根目錄是整個系統最重要的一個目錄,因為不但所有的目錄都是由根目錄衍生出來的,同時根目錄也與開機/還原/系統修復等動作有關。由於系統開機時需要特定的開機軟件、核心檔案、開機所需程序、函式庫等等檔案數據,若系統出現錯誤時,根目錄也必須要包含有能夠修復文件系統的程序才行。因為根目錄是如此重要,所以在FHS的要求方面,希望根目錄不要放在非常大的分割槽中,因為越大的分割槽會放入越多的數據,如此一來根目錄所在分割槽就可能會有較多發生錯誤的機會。

  因此通常情況下,根目錄所在分割槽應該越小越好,且應用程序所安裝的軟件最好不要與根目錄放在同一個分割槽中,保持根目錄越小越好。如此不但性能較佳,同時根目錄所在的文件系統也較不容易放生錯誤。下表為FHS所定義的根目錄下應該要有的次目錄的介紹:

  除此之外,Linux下還有幾個其他的目錄也需要了解一下,如下表:

    

  在Linux中,因為根目錄與開機有關,開機過程中僅有根目錄會被掛載,其他分割槽則是在開機完成之后才會持續的進行掛載行為。因此,根目錄下與開機過程有關的目錄就不能夠與根目錄放到不同的分割槽中。下面這五個目錄則是與開機密不可分而不能與根目錄分開的目錄。

  • /etc:配置文件
  • /bin:重要執行檔。與一般用戶及單人模式下操作有關的指令。
  • /dev:裝置和接口配置相關的檔案
  • /lib:執行檔所需要的函式庫與核心所需的模塊
  • /sbin:與系統管理員操作有關的指令

  (2) /usr

  根據FHS的定義,/usr里面放置的數據屬於可分享的但不可變動的數據。類似於Windows系統的C:\Windows與C:\Program Files這兩個目錄的綜合體。建議所有軟件開發者將他們餓數據合理的分別放置在這個目錄下的次目錄中,而不是自行建立該軟件自己獨立的目錄。

  (3) /var

  /var目錄主要針對常態性變動的檔案,包括快取(cache)、登陸檔(log file)、以及某些軟件運作所產生的檔案,包括程序檔案(lock file, run file),或者例如MySQL數據庫的檔案等等。常見的次目錄有:

  綜上即為FHS標准,接下來,我們將整個目錄樹以圖標的方法來顯示,並且將較為重要的檔案數據列出來。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM