天天看點

Linux目錄服務

目錄配置FHS

随着Linux 開發産品或distributions 越來越多,如果每個人都按照自己的想法配置目錄結構放置配置檔案,那麼就會造成很多管理的困擾,基于此後來FHS(filesystem hierarchy standary)标準出現了,其主要目的是希望使用者可以了解到已按照軟體通常放置于那個目錄下

可分享 不可分享
不變的 /usr(軟體放置處) /etc(配置檔案)
/opt(第三方軟體) /boot(開機與核心相關)
可變的 /var/mail /var/run(程式相關)
/var/spool/news /var/lock(程式相關)

其中不變的内容不因Linux distributions不同而改變其目錄結構

可分享内容在網絡上可分享給其他系統挂載使用

目錄 應放置的檔案内容
/ 根目錄root(/),一般建議在根目錄下隻有目錄,不要直接有檔案。根目錄 是啟動時系統第一個載入的分區,是以所有啟動過程中會用到的檔案都應該放在這個分區中。舉例來說,/etc、/bin、/dev、/lib、/sbin這 5個子目錄都應該與根目錄連在一起,不可獨立成為某個分區。

/bin,/usr/bin,

/usr/local/bin

放置使用者可執行的二進制檔案的目錄。
/boot 放置Linux系統啟動時用到的檔案。啟動會用到Linux的核心檔案。這個目錄下面的檔案vmlinuz就是Linux的核心。這一點非常重要,如果引導程式(loader)選擇grub,那麼這個目錄内還有/boot/grub子目錄。
/dev 在Linux系統上,任何裝置都以檔案類型存放在這個目錄中,例如鍵盤、鼠 标、硬碟、CD光牒等。在此目錄下的檔案會多出兩個屬性,分别是主裝置号(major device number)與輔裝置号(minor device number)。系統核心就是通過這兩個号碼來判斷裝置的。重要的檔案有/dev/null、/dev/tty[1-6]、/dev/ttyS*、 /dev/lp*、/dev/hd*、/dev/sd*等。
/etc 系統主要的設定檔案幾乎都放在這個目錄内,例如人員的賬号密碼檔案、各種服務 的起始檔案等。一般來說,這個目錄下的各檔案屬性是可以讓一般使用者檢視的,但隻有root有權修改。在此目錄下的檔案幾乎都是ASII的純文字檔案。不 過,FHS建議不要在這個目錄中放置可執行檔案。比較重要的檔案有:/etc/inittab、/etc/init.d、/etc /modprobe.conf、/etc/X11、/etc/fstab、/etc/sysconfig等。
/home 這是系統預設的家目錄(home directory)。

/lib,/usr/lib,

/usr/local/lib

系統使用的函數庫的目錄。程式在運作過程中,可能會調用一些額外的參數,這需要函數庫的協助。這些函數庫就放在此處。比較重要的是/lib/modules目錄内有核心的相關子產品。
/lost+found 系統出現異常,産生錯誤時,會将一些遺失的片段放于此目錄下,通常這個目錄會自動出現在某個分區頂層的目錄下。
/mnt/media 這是軟碟與CD光牒的預設載入點。通常軟碟挂在/mnt/floppy下,CD光牒挂在/mnt/cdrom下。
/opt 這是給主機額外安裝軟體所放的目錄。舉例來說,FC4使用Fedora團隊開發的軟體,如果想要自行安裝新的KDE桌面軟體,可以将該軟體安裝在這個目錄下。不過,以前的Linux系統中,我們還是習慣放在/usr/local目錄下。
/proc 這個目錄本身是一個“虛拟檔案系統”,它放置的資料都在記憶體中,例如系統核 心、外部裝置的狀态及網絡狀态等。因為這個目錄下的資料都在記憶體中,是以本身不占任何硬碟空間。比較重要的檔案有/proc/cpuinfo、/proc /dma、/proc/interrupts、/proc/ioports、/proc/net/*等。
/root 系統管理者(root)的家目錄。之是以放在這裡,是因為系統第一個啟動就載入的分區為/,而我們希望/root能夠與/放在同一塊分區上。

/sbin,/usr/sbin,

/usr/local/sbin

放一些系統管理者才會用到的可執行指令,例如:fdisk、mke2fs、fsck、mkswap、mount等。與/bin不太一樣的地方是,這幾個目錄是給root系統管理用的。但目錄下的執行檔案可以讓一般使用者用來“檢視”而不能設定。
/srv 一些服務啟動之後,這些服務所需要通路的資料目錄。舉例來說,WWW伺服器需要的網頁資料就可以放在/srv/www中。
/tmp 這是讓一般使用者或者是正在執行的程式臨時放置檔案的地方。這個目錄是任何人都能通路的,是以需要定期清理。當然,重要資料不可放在此目錄中。
/usr 根據FHS規範的第二層内容,在/usr目錄下,包含系統的主要程式、圖形界面 所需要的檔案、額外的函數庫、本機自行安裝的軟體,以及共享的目錄與檔案。它有點像Windows作業系統中的“Program files”與“Windows”這兩個目錄的結合。在此目錄下的重要子目錄有:
  • /usr/bin,/usr/sbin:一般身份使用者與系統管理者可執行檔案放置目錄
  • /usr/include:c/c++等程式語言的檔案頭(header)與包含檔案(include)放置處,當以tarball方式(*.tar.gz的方式安裝軟體)安裝某些資料時,會使用到裡面的許多包含檔案。
  • /usr/lib:各種應用軟體的函數庫檔案放置目錄。
  • /usr/local:本機自行安裝的軟體預設放置的目錄。目前也适用于 /opt目錄。在安裝完Linux之後,基本上所有的配置都有了,但軟體總是可以更新的,例如要更新代理服務,則通常軟體預設的安裝地方就是/usr /local中。當安裝完之後所得到的執行檔案,為了與系統原執行檔案區分,更新後的執行檔案通常放在/usr/local/bin中。建議将後來才安裝 的軟體放在這裡,便于管理。
  • /usr/share:共享檔案放置的目錄,例如/usr/share/doc目錄放置一些系統幫助檔案、/usr/share/man放置manpage檔案。
  • /usr/src:Linux系統相關的程式代碼放置目錄,例如/usr/src/linux為核心源碼。
  • /usr/X11R6:系統内的X Window System所需的執行檔案幾乎都放在這裡。
/var 這個目錄也很重要,也是FHS規範的第二層目錄内容。它主要放置系統執行過程中 經常變化的檔案,例如緩存(cache)或者是随時更改的日志檔案(log file)。此外,某些軟體執行過程中會寫入的資料庫檔案,例如MySQL資料庫,也都寫入這個目錄中。它下面的主要目錄有:
  • /var/cache:程式檔案在運作過程中的一些暫存盤。
  • /var/lib:程式執行的過程中,使用的資料檔案放置的目錄。例如locate資料庫與MySQL及rpm等資料庫系統,都寫在這個目錄中。
  • /var/log:登入檔案放置的目錄,很重要。例如/var/log/messages就是總管所有登入檔案的檔案。
  • /var/lock:某些裝置具有一次性寫入的特性,例如tab(錄音帶機),此時,為了避免被其他人幹擾正在運作的操作,會将該裝置lock(鎖)起來,以确定該裝置隻能被單一程式所用。
  • /var/run:某些程式或者是服務啟動後,會将它們的PID放在這個目錄下。
  • /var/spool:是一些隊列資料存放的地方。例如主機收到電子郵件後,就會放到/var/spool/mail中,若信件暫時發不出去,就會放到/var/spool/mqueue目錄下,使用者工作任務配置設定(cron)則是放在/var/spool/cron中。