精華區beta FreeBSD 關於我們 聯絡資訊
※ 本文轉錄自 [Daily] 看板 作者: DarkKiller (悸動) 看板: Daily 標題: [doc] 遠端 4.7 -> 5.0 時間: Wed Dec 18 03:33:51 2002 理論上這種 major version 的升級應該要在機器前面進行,不過純粹是手癢 練習,希望對於一些逼不得以需要 remote upgrade 的 admin 有幫助 :p 不過本人不能保證您機器在 upgrade 過程中不會有問題就是了,請自行負擔 相關風險 :p 我個人是使用一台 P3-800、1G RAM、單顆 36GB SCSI 硬碟 (沒有 IDE 硬碟) 從頭安裝 4.7-RELEASE,安裝 cvsup-without-gui (以 packages 安裝)、 sudo (by ports)、vim-lite (by ports),然後 make update & kernel 到 4.7-RELEASE-p2 後遠端嘗試 upgrade 到 5.0-RC (RELENG_5_0)。 中間失敗過兩次,每次失敗後都是從頭開始安裝測試。 下面僅敘述 4.7-RELEASE-p2 到 5.0-RC 的過程。 * 將 /usr/src 以及 /usr/obj 砍掉,以 /stand/sysinstall 安裝 5.0-DP1 的 src/sbase 即可 (到 Options 裡調整,讓他安裝的是 5.0-DP1)。 * 修改 /usr/local/etc/stable-supfile,將 RELENG_4_7 換為 RELENG_5_0。 * 到 /usr/src 下 make update 將 5.0-RC 的 source tree 抓回來。 * make buildworld (不可加 -jN),此時可以先開另外一個窗修改 /usr/src/sys/i386/conf 下的 kernel config file。 Note: 不可拿舊的 kernel config file 直接用!而且記得要保留 COMPAT_FREEBSD4。 * 接下來進行 make buildkernel KERNCONF=GSLIN (不可加 -jN)。 * cp /usr/src/sys/i386/conf/GENERIC.hints /boot/device.hints * 將 /boot/device.hints 裡面最後一行加入 hint.acpi.0.disabled="1"。 * make installkernel KERNCONF=GSLIN * cd /usr/src/sys/boot; make install * 執行 mergemaster,將系統拉拉雜雜的東西都更新。 * 把自己的 id 加到 /etc/group 裡面 wheel 這個 group,以免 sudo 爛掉的 時候連 su 都不能用。 * 修改 /etc/rc,在最前面的地方 (也就是一開始註解結束的地方) 加入: if [ -r /gslin.notok ]; then /sbin/mount -u / /sbin/mount -a cd /usr/src /usr/bin/make installworld /bin/rm -f /gslin.notok /sbin/unmount -a /sbin/reboot fi * touch /gslin.notok * reboot,然後祈禱十到十五分鐘後機器是正常的... * 如果正常開起來了,重新安裝所有的 packages (用 portupgrade 很方便)。 -- Resistance is futile. <[email protected]> -- ※ Origin: 邪惡小鹿鹿 <Deer.twbbs.org> ◆ From: news.math.nctu.edu.tw