2005-06-05

λ FreeBSD 4.11 から 5.4 に更新

/usr/src/UPDATING より

[make sure you have good level 0 dumps]
[maybe fix /etc/fstab]        [7]
make buildworld         [9]
make buildkernel KERNCONF=YOUR_KERNEL_HERE      [8]
cp sys/${MACHINE}/conf/GENERIC.hints /boot/device.hints [2]
make installkernel KERNCONF=YOUR_KERNEL_HERE
cd sys/boot ; make STRIP="" install         [6]
            [1]
[reboot in single user]       [3]
/usr/src/etc/rc.d/preseedrandom       [10]
mergemaster -p          [5]
rm -rf /usr/include/g++
make installworld
mergemaster -i          [4]
[reboot]

maybe fix /etc/fstab の注は、/dev/ad0a だったら /dev/ad0s1a に変更みたいな話だったが、 むしろ mfs による /tmp の行を消すのが重要。 /usr/src/etc/rc.d/preseedrandom は やらなくても大丈夫だった。

作業中は、PAM関係が一番はまる。

  • make installkernel によって /etc/pam.d が作成された瞬間に、/etc/pam.conf が無効になった
  • make installworld 後、バージョン違いにより FreeBSD-4.x バイナリの PAM が利用できなくなった

特に sudo の認証が PAM 経由なので、sudo による作業は事実上不可能。 sudo のアップグレードが完了するまでは su または直接 root ログインして作業した方がよい。 いずれにせよリモート作業は無理だな。

上記の手順の後に行った作業

# /usr/local/sbin/portinstall -fP security/sudo
sudo /usr/local/sbin/portinstall -P misc/compat4x
sudo /usr/local/sbin/portupgrade -arfPWw # ずばっと更新

…10時間ぐらいかかった。やはりアップグレードは割に合わんかも。 よほどの事情がない限りニューマシンで構築しなおすか 4.x でがんばる方がよさげ。

本日のツッコミ(全4件) [ツッコミを入れる]
λ otsune (2005-06-05 07:00)

http://www.freebsd.org/releases/5.4R/migration-guide.html
5 Notes on Upgrading from FreeBSD 4.X

src/UPDATINGはこのあたりに書いてあることより省略気味なんですね。

λ 上美谷 (2005-06-05 07:20)

やってないうちで fsck -p のとこがいちばんやばそう

λ kasumi (2005-06-05 19:47)

うちは、4.6→5.4を無難にクリーンインストールする予定です。

λ ef (2005-06-05 21:46)

UFS2 への移行もあるのでクリーンインストールが出来る場合は、それがベストだと思います。
ヘッダーや共有ライブラリの残骸があると configure が誤動作したり色々とトラブルの原因にもなりますし、どの道「片道切符」なので。

[]