LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2847|回复: 1

怎么make world (转)

[复制链接]
发表于 2003-10-23 00:59:49 | 显示全部楼层 |阅读模式
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 做編譯可以加快一點,不過效果不顯著啦!
发表于 2003-10-23 17:33:40 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表