|
FreeBSD 一直持續的在發展,如果想要和最新的版本同步,FreeBSD 有一套很簡單的機置讓我們輕鬆的將系統整個更新,需要的只是磁碟空間和等待的時間而已。
更新成最新版一定會最好嗎?!我覺得系統跑得穩和安全應該是比較重要,最好在更新完原始碼後先注意更版的說明 ( /usr/src/UPDATING 和 http://people.freebsd.org/~bmah/relnotes/ ) ,?K且先在測試的機器上測試一陣子後再決定是否要將所有 Servers 更新。
make world 會更新 /bin , /sbin , /stand , /boot 和 /usr ( /usr/local 下的除外 ) ,簡單的說:就是當初我們用光碟剛裝好的那些東西。
以目前的 4.x版 (Stable) ?碚f,在開始進行之前要先確認一下:/usr/src , /usr/obj 所在的 partition 至少有 800 MB 以上的剩餘空間,不然就得將 /usr/src , /usr/obj 以 soft link 的方法連結到空間比較大的地方
更新步驟
取得最新的原始碼 ( CVSup / CVS / CTM )
編譯所有的系統程式 ( make buildworld )
編譯?K安裝新的核心 ( make buildkernel , make installkernel )
安裝新的系統程式 ( make installworld )
更新系統設定檔 ( mergemaster )
取得原始碼
FreeBSD 提供 CVSup,CVS,CTM 三種方式?硗高^網路更新整個系統的原始碼,下面介紹如何以 CVSup ?砣〉米钚碌脑即a。
1.第一次使用先將現有的完整 source ( 安裝光碟上就有 ) 放到 /usr/src 中
mount /cdrom
cd /cdrom/src
sh install.sh all
2.安裝 cvsup 的 package
pkg_add -v ftp://ftp.tku.edu.tw/OS/FreeBSD/ ... thout-gui-16.1f.tgz
最新的應該是 cvsup-without-gui-16.1h.tgz (2003/08/06)
3.修改 cvsup 的設定檔
cp /usr/share/examples/cvsup/stable-supfile /usr/local/etc
ee /usr/local/etc/stable-supfile 修改 CVSup 的服務主機
將裡面的 *default host=CHANGE_THIS.FreeBSD.org 改為
*default host=cvsup.tw.FreeBSD.org 交大資工
或是 *default host=cvsup8.tw.FreeBSD.org 淡江大學
以網路最近的為原則
改好後存檔
4.開始取得 source
/usr/local/bin/cvsup /usr/local/etc/stable-supfile
接下?砭停佟佟ズ炔栊菹⒁幌!!
註:在有防火?的環境中
必須開放 TCP Port 5999 才可以和 CVSup 主機通?
編譯?K更新程式
cd /usr/src
make buildworld
make buildkernel KERNCONF=MYBSD
make installkernel KERNCONF=MYBSD
make installworld
mergemaster
註:MYBSD 是自訂的 kernel 設定檔
mergemaster 前最好先將 /etc 備份下?硪苑廊f一
FAQ
make world 完的東西如何以 NFS 分享給其它機器升級
Server 端:
1.新增或修改 /etc/exports ,裡面加上下面這行
--------------------------------------------------------------------------------
/usr/src /usr/obj -ro
--------------------------------------------------------------------------------
2.編寫啟動 nfs 服務的 script
ee nfs.sh 內容如下:
--------------------------------------------------------------------------------
#!/bin/sh -
if [ -r /etc/exports ]; then
echo -n ' portmat'
portmap
echo -n ' mountd'
mountd -n
echo -n ' nfsd'
nfsd -u -t -n 1
echo -n ' rpc.statd'
rpc.statd
fi
--------------------------------------------------------------------------------
3.啟動 NFS 服務
sh nfs.sh
4.測試:
執行 showmount -e localhost 應該會看到下面的內容
--------------------------------------------------------------------------------
Exports list on localhost:
/usr/src Everyone
/usr/obj Everyone
--------------------------------------------------------------------------------
預備升級的 Client 端
mount -t nfs xxx:/usr/src /usr/src
mount -t nfs xxx:/usr/obj /usr/obj
cd /usr/src
make installworld
make installkernel KERNCONF=MYBSD
mergemaster
都 OK. 了就
umount /usr/src
umount /usr/obj
註:xxx 是 server 的 host name 或是 IP
make world 的時間要?M久的,如何加快速度
1.編譯系統核心記得加入下面兩選項
options SOFTUPDATES
options UFS_DIRHASH
還要記得將 /usr/src , /usr/obj 所在的 partition 啟動 softupdate
2.進入 single mode 做編譯可以加快一點,不過效果不顯著啦! |
|