[doc] 遠端 4.7 -> 5.0
※ 本文轉錄自 [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.
<gslin@ccreader.nctu.edu.tw>
--
※ Origin: 邪惡小鹿鹿 <Deer.twbbs.org> ◆ From: news.math.nctu.edu.tw
FreeBSD 近期熱門文章
PTT數位生活區 即時熱門文章