Mar 24 2003

Adapt your FreeBSD in other slices

Published by foxfair at 11:17 pm under Computer

如何讓 FreeBSD 能在更換系統的同時降低重建系統跟安裝binary的陣痛,許久以來我一直在找最好的方法,有時候是因為直接把舊系統的硬碟往新系統一插,希望在改動作少的狀況下最快上線運作,於是我有了這樣的安排… 1. 妥善規劃目錄。通常我的規劃都是這樣:

/ (root directory): 300M - 500M swap: 2X RAM /home: 4G or bigger /d: other space

原則:/usr裡面,obj跟ports不要跟/use同一個slice,這樣是方便make world的時候分散同 一個slice下讀寫資料的瓶頸,ports常做cvsup,裡面的distfiles常常也保留了許多陳年資料 (若你不常清理),所以可以把distfiles移到/d下面,所以/usr下面的規劃就變成這樣:

obj -> /home/obj ports -> /d/ports src -> /d/src.5

2.備份系統檔案,/etc & /usr/local/etc是兩個重點,如果你很重視歷史紀錄,那麼/var/log不可不備。除此之外當然就是使用者最關心的/home目錄了。除此之外如果有跑public service比如說bbs,web或是blog,記得把這些資料都備份起來。備份週期可依照自己的需要及資料重要度做調整,但是備份一定要做!這是唯一解救你快速脫離重建系統惡夢的捷徑。

3.mergemaster is your friend!如果你的系統很久沒升級,make world以後,還需要手動升級一些系統設定檔才行。這時候就要利用mergemaster了,詳細的使用狀況其實很容易找到文件,man page先看完大概就會了。

4.keep it stupid,and keep it simple.有時候最笨的方法就是最快的方法,能binary upgrade的時候就幫幫自己的忙,別一頭栽進去猛做make world,那失敗重compile的時間夠你執行 sysinstall很多次了!

ps: binary upgrade 就是利用 /stand/sysinstall 直接安裝所有binary檔案跟必要的系統檔案。sysinstall 除了能安裝新系統外,也有好用的Custom功能。唯一要注意的只有兩點,一個是選定Label的時候不要執行newfs! 因為這樣會把硬碟裡的舊資料都清空,這就變成reformat HDD的大災難了。另一個是要改Options裡的Release Name,比方說現在的系統是 3.4-STABLE,你想把他升級成4.7-RELEASE,那麼這裡的Release Name就該改成4.7-RELEASE,然後選定Distribution(要安裝哪幾個部分, 通常升級上去以後,我都會再做一次make world,所以這裡都只用Minimal或Custom),Media的部分可自行選用,如果知道一個確實的FTP URL要自己鍵入詳細的link,那也是無妨。

這樣安裝完畢以後,系統脫胎換骨,感覺煥然一新,又可以保留舊有的資料,啊!真是兩全其美。喔!對了,mergemaster並不會更改所有的系統檔案,很多時候會發生如我前一篇(<a href="http://www.fomokka.net/foxfair/archives/Individual/2003/0323.html">MergeMaster and PR</a>)所講的,漏掉了一兩個檔案,這就是負責系統升級的管理者的責任,該一個一個去找出漏網之魚藏在哪裡了。

Comments RSS

Leave a Reply