就檔案的屬性來說,在找 FreeBSD 的檔案時我們可以依以下原則:
設定檔
/etc/*.*
/usr/local/etc/*.*
自動執行的 scripts
scripts 類似 DOS 的批次檔,裡面放了預計要執行的指令。
/etc/rc.* (系統預設的,不建議更動)
/etc/rc.local (可加入自己要執行的命令,類似 autoexec.bat)
/usr/local/etc/rc.d/*.sh (要執行就下: xxx.sh start ,停止就下: xxx.sh stop)
說明:/usr/local/etc/rc.d 中的 scripts 如果不想自動執行就把它改成不是 .sh 結尾。例如:將apache.sh
改成 apache.sh.bak ,這樣 apache 就不會自動啟動,反之亦然。
系統預設的程式
/bin/*.*
/sbin/*.*
/usr/bin/*.*
/usr/sbin/*.*
自行安裝的程式
/usr/local/bin/*.*
/usr/local/sbin/*.*
網路服務的程式
/usr/libexec/*.* 或 /usr/sbin/*.*
/usr/local/libexec/*.* 或 /usr/local/sbin/*.*
記錄
/var/log/*.*
信件
/var/mail/*.* (使用者的信箱,與帳號同名的檔案)
/var/spool/mqueue/*.* 或 /var/spool/clientmqueue/*.* (等待傳送的信件)
資料庫
/var/db/*.*
重要檔案備份檔
/var/backups
文件,範例
/usr/share/*.* 或 /usr/local/share
/bin |
一般使用者指令,都是系統必備的 |
/sbin |
系統程式和管理工具,也是系統必備的 |
/etc |
系統設定檔和開機時會用到的 script,使用者的密碼檔、群組檔、預設的DNS資料庫檔......等,此目錄是備份及系統轉移時一定要保存的目錄 |
/boot |
放的是 kernel 啟動時的設定檔及程序 |
/modules |
kernel 的模組,例如裡面的 if_* 就是支援用動態載入的網卡modules |
/modules.old |
舊 kernel 的 modules 備份,如果核心還沒重編譯,不會有這個目錄 |
/sys |
kernel 的 source code,是一個 soft link,其實就是 /usr/src/sys |
/compat |
為和其它作業系統相容(執行別的系統程式)所需要的函式庫 |
/dev |
device node(裝置結點檔),可用 /dev/MAKEDEV 來產生 |
/root |
root 的 home directory,大部份的人都沒有把 root 的信件轉給另一個普通帳號,或是有時就用 root
login ,並在這個目錄下存很多檔案,這個目錄常常是吃掉 / 最大空間的兇手,要注意,以免爆掉了 |
/stand |
放的都是安裝磁片上的程式,可供作系統設定或緊急修復系統用,最好用的就是 sysinstall |
/cdrom |
空的目錄,一般會把 cdrom 掛在這裡 |
/mnt |
空的目錄,暫時 mount 其它檔案系統用 |
/tmp |
和 /var/tmp 一樣,是用來放暫存檔用,只是 /var/tmp 中的東西重新開機後仍會存,在而 /tmp 在開機時會自動清除 |
/usr |
放的是使用者會用到的工具、應用軟體...... |
/var |
這個目錄下一般放的是寫入很頻繁的資料,像記錄檔、資料庫、信件、暫存檔......鈴鋃滿目 |
/home |
這裡一般習慣是放一般使用者的個人目錄及檔案 |
由於 FreeBSD 對於檔案目錄的使用有一定的邏輯,如果規劃的好, 相信在做系統昇級或資料備份時就不會感到頭痛了
如果可以將 / , /usr , /usr/local , /var , /tmp , /home 各自獨立在不同分割區
會有一些好處
狀況一:系統昇級(重灌)
只要將 /etc /root 下的東西備份到 /home 下
重權時新系統會用到的 / , /usr 就可以放心的做掉,灌新資料
等更新完了再把原 /etc/ 中有用的資料,如:帳號資料、群組資料、啟動設定......等
有用的資料還原到新的 /etc 中即可立即恢復運作。
狀況二:檔案系統損毀
有時因為停電或其它因素,資料寫到一半完蛋了,修復也無解,照上面的分割,
/ , /usr , /usr/local 維持系統基本運作的目錄因為幾乎沒有寫入的機會,
損失會最小,不會因為經常寫入資料的 /var 死掉了,系統也跟著掛了