FreeBSD   分割區空間分配

.逸晨


在進行分割區空間分配之前,理應先對各目錄的用途有個理解,並針對自已的工作所需來予以規劃。
底下我們就先來針對 FreeBSD 的基本目錄構造,做些簡介。
目錄名稱目錄功用
/ (根目錄)用來存放核心 (kernel) 及開機必備的檔案,諸如︰/boot、/etc、/bin、/sbin、/dev、/mnt、/modules、/root、/stand、/tmp 等目錄,皆是預設放置於此分割區空間。
此分割區也是當系統出現問題,以單使用者模式進入時唯一自動掛載的可運行空間,所以除了 /tmp 目錄外,通常都不會再將其他目錄另行掛載到其他分割區上。
它所需的空間不會很大,剛安裝完大約十幾 MB 左右,分個 100 ~ 300 MB 給它是個不錯的抉擇。
/boot開機流程中所需的檔案及設定檔皆存放於此。
/bin & /sbin在『單使用者 (Single User)』與『多使用者 (Multi-User)』模式下,都會用得到的一般使用者指令,這些指令都是開機時必備的。
它們將被安置於 root 分割區。
/bin 與 /sbin 的差別在於 /bin 存放著一般操作性的指令;而 /sbin 則存放著與系統管理有關的操作指令。
/dev裝置節點檔 (device node) 的存放目錄。
Unix-Like 系統是透過裝置檔與您的所有週邊裝置做溝通的,這點與 Window 系統有極大的不同。
/dev/MAKEDEV 是產生這些節點檔的工具程式,請於 shell 下達 man MAKEDEV 來查閱詳細說明。
/etc系統設定檔及指令稿 (script) 所存放的所在目錄。
使用者密碼檔以及群組設定檔也放置於此,因此,/etc 目錄可說是最重要的目錄了。
/home使用者的家目錄。
如果沒有為此目錄規劃專屬分割區的話,它將會歸屬到 /usr/home 的模式,並於根目錄下做一 /home 的連結目錄。
/mnt這個目錄通常是空的,專們用來當作暫時掛載 (mount) 檔案系統之用,如︰光碟片或磁碟片。
/modules核心 (kernel) 模組存放的地方。
/root系統管理者 (root) 帳號的家目錄。
/stand 在安裝過程中所用到的指令皆存放於此,另外亦存放了許多系統指令,供您做緊急修復時使用。
/tmp暫存檔案區。
大部份程式皆會於運作中建立暫存檔,此目錄即為此存在。
建議將此目錄改連結到 /home/tmp,以減少根目錄分割區存取的機率。
/usr此目錄包含了大部份的使用者指令、應用程式、資料庫及技術手冊。
/usr/bin & /usr/sbin 存放一般的使用者指令、程式編輯器、應用軟體、系統服務程式 (daemon)、系統工具等等。
與 /bin & /sbin 相同,/bin 存放一般操作產的指令,而 /sbin 存放與系統管理或服務程式有關的指令。
/usr/include存放著標準的 C 語言標頭檔,供程式開發使用。
/usr/lib系統函式庫
/usr/libdata系統工具的資料庫。
/usr/libexec供其他程式呼叫執行的系統服務程式 (daemon) 及系統工具。
/usr/local存放非 FreeBSD 內附的應用程式、設定檔、資料庫、C 語言標頭檔........等等。
所有自行再安裝的應用程式,預設皆放置於此目錄下及其子目錄,您最好不要去改變這個傳統,這樣系統維護起來也才會方便。
/usr/local 預設是空目錄,當您開始安裝軟體或有做某些系統設定時,軟體會自行建立相關所需的目錄及檔案,當然,有時您可能會需要手動建立。
/usr/ports要在 FreeBSD 安裝軟體,除了 package 與 tarball 的方式之外,這是第三種方式。上千種的軟體皆存放於此等您選用。
/usr/obj編譯 FreeBSD 系統時所用的編譯暫存區。
/usr/share系統軟體的資料庫。
/usr/src存放 FreeBSD 系統的原始程式碼。想深入把玩 FreeBSD 的人,這兒是必走之路。
/usr/X11R6X11R6 (即 XFree86) 的所有程式、設定檔、標頭檔、函式庫、字型.......等等,皆存放於此。
簡言之,所有與 Xwindow 有關的檔案皆放在這兒。
/var存放使用者信件、系統記錄檔、系統暫存檔以及輸出緩衝區。
這些檔案是 FreeBSD 每日皆會對其做存取的動作,為它特別規劃一個專有的分割區,如果可以,最好是能夠與其他存取頻繁的檔案系統處於不同的實體裝置上,這樣可避免影響到其它目錄 下類似的檔案存取機制。
一般來說它並不需要多大的空間,50MB ~ 300MB 足以應付一般的需求,不過也可能有需要規劃到 1GB 的可能性,比如說廣告公司的列印伺服器。
SWAP記憶體交換空間 (即俗稱的虛擬記憶體)。
系統開始執行後,便會使用到記憶體,再加上您的操作軟體,再多的記憶體都會有使用完的時刻,然而有些軟體雖然尚在執行中,但其在記憶體中所佔用的容量並未在運作或無需馬上運作,此時 SWAP 便發揮其作用了。
系統會將佔用著記憶體但並未或無需馬上運作的程序,先移到 SWAP 上,將空間挪出來給真正需要的程序來使用,待有空間之後,再將 SWAP 上需要運作的程序移到實體記憶體上運作。
如果您有設置一個以上的 Primary Slice 給 FreeBSD 的話,將 SWAP 平均分散到每個 Primary Slice 上是聰明的抉擇,因為 FreeBSD 會依情況需要,將記憶體中需要挪移的程序,移至較不忙碌的 SWAP 中,而不是等到其中的一個 SWAP 用完或不夠用時,才使用另一個 SWAP。
再考量一下實體物理限制,如果 Primary Slice 是分散於不同的實體硬碟上,將 SWAP 平均分散到不同顆硬碟上的 Primary Slice,將可以得到更加的效率。

還記得在磁碟標韱 (Disk Label) 章節中所提到的嗎?
FreeBSD 將每一個主要分層 (Primary Slice) 又細分為 a、b、c、d、e、f、g、h 合計八個邏輯分層 (Logical Slice),而其中 a、b、c、d 又各有其特定的用途,等於每個 Primary Slice 只剩下四個 Logical Slice 可以讓您隨意規劃分配掛載,所以實該好好想想如何的配置較能符合自已所需。
一般來說,當只有一個 Primary Slice 可用時,我們通常會做如下劃分︰
ad0 -> Primary Slice 2 (ad0s2)
分割區掛載點 (目錄名)描述
ad0s2a/ 根目錄。100MB 是合理的大小,如有特殊需求 300MB 該已夠用。
ad0s2b <none>
SWAP
SWAP 記憶體交換空間 (即俗稱的虛擬記憶體)。
一般來說是您的實體記憶體 (RAM) 的 2 ~ 3 倍容量。
現今記憶體的價格已經很便宜了,每部電腦上基本配備已都高達 128 MB 了,光是實體記憶體就可能已足夠您工作上的需求,因此您可能會覺得並不需要設置它。
但是別忘了,軟體相對的也愈寫愈肥大,對於記憶體的需求也可能相對的提高,所以無論如何也意思一下劃分個 32MB ~ 64MB 的空間來分擔實體記憶體的辛勞吧,同時也可省掉日後可能發生的麻煩。
ad0s2e/var 請參閱『目錄結構簡介』章節。
ad0s2f/usr 剩餘的空間全部給 /usr

如果有二個 Primary Slice 且分佈在不同顆硬碟可用時,我們通常會做如下劃分︰
ad0 -> Primary Slice 2 (ad0s2)
ad0 -> Primary Slice 1 (ad1s1)
分割區掛載點 (目錄名)描述
ad0s2a/ 根目錄。100MB 是合理的大小,如有特殊需求 300MB 該已夠用。
ad0s2b <none>
SWAP
預計使用的 SWAP 容量的一半。
ad0s2e/var 請參閱『目錄結構簡介』章節。
ad0s2f/usr 剩餘的空間全部給 /usr
ad1s1b <none>
SWAP
預計使用的 SWAP 容量的一半。
ad1s1e /usr/local剩餘空間的二分之一或三分之二
ad1s1f /home剩餘的空間全部給 /home

很少人可以一次就找出某工作性質最符合需求的分割配置,這是需要時間與無次數的經驗累積,才能找出自已滿意的模式。
如果您是新手,您可以先只分割成 /、swap 兩個分割區,先試玩一陣子後,再來查看各目錄所需的空間容量,如此應該可以減少許多錯誤的嚐試。
不過這種分割方式有個缺點,就是一旦系統當機可能會造成檔案損毀,此時可能整個檔案系統都有危險,而需重新再安裝過;且無法依照應用程式的需求來使用不同的檔案系統參數。

好了,現在我們可以前往『Disklabel 編輯器』來設定分割區的 Disk label 與指定 Logical Slice 的掛載點。


上一篇返回首頁目錄索引章節目錄回上一頁Page UP下一篇

最佳瀏灠環境︰Mozilla & 1024x768