FreeBSDのサーバのバージョンをアップデートした。
シリアルコンソールをつなぐのも面倒だったので、リモートから全部やってみた。
つまり、/usr/src/Makefileに書いてある手順
# 1. `cd /usr/src' (or to the directory containing your source tree). # 2. `make buildworld' # 3. `make buildkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC). # 4. `make installkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC). # [steps 3. & 4. can be combined by using the "kernel" target] # 5. `reboot' (in single user mode: boot -s from the loader prompt). # 6. `mergemaster -p' # 7. `make installworld' # 8. `make delete-old' # 9. `mergemaster' (you may wish to use -i, along with -U or -F). # 10. `reboot' # 11. `make delete-old-libs' (in case no 3rd party program uses them anymore)
のうち、5の代わりにデーモンを全部終了させる。つまりこんな感じ。
# cd /usr/src # make -j 4 buildworld >& /root/log/buildworld_TOBY_8.3R-p1_20120507.log & # make -j 4 buildkernel >& /root/log/buildkernel_TOBY_8.3R-p1_20120507.log & # make installkernel
ビルド中はtail -fして終わるのを待ち、終わったら、カーネルのインストール。その後、リブートせず、サーバプロセスを全部終了させる。たとえば、/etc/rc.d/named stopのように、rc.dの起動スクリプトをひたすらstopを引数にして実行する。
そして、sshd以外のデーモンがすべて終了したら次の作業。
# mergemater -p # make installworld # make delete-old # mergemaster # reboot
これで無事再起動してくるのを待つ。
Copyright (c) 1992-2012 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 8.3-RELEASE-p1 #4: Mon May 7 23:28:56 JST 2012 ueda@toby:/usr/obj/usr/src/sys/TOBY i386 Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel(R) Atom(TM) CPU D510 @ 1.66GHz (1666.66-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x106ca Family = 6 Model = 1c Stepping = 10 Features=0xbfebfbff Features2=0x40e31d AMD Features=0x20100000 AMD Features2=0x1 TSC: P-state invariant real memory = 2147483648 (2048 MB) avail memory = 2085040128 (1988 MB) ACPI APIC Table: FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs FreeBSD/SMP: 1 package(s) x 2 core(s) x 2 HTT threads cpu0 (BSP): APIC ID: 0 cpu1 (AP/HT): APIC ID: 1 cpu2 (AP): APIC ID: 2 cpu3 (AP/HT): APIC ID: 3 (以下省略)