1. 概要
例によって「VirtualBox」上に、「FreeBSD 14.3 RELEASE」のマシンがあります。
これを「FreeBSD 14.4 RELEASE」にアップデートしてみます。
アップデート前のマシンは、いくつかのサーバアプリケーションをインストールしたものです。
2. ports の更新
アップデートの発生している「ports」があれば、すべて更新しておきます。
途中、トラブルがあれば、「FreeBSD - メンテナンス・トラブルシュート - pkg・ports」や、その他のページをご参照ください。
3. パッチをあてる
仮想マシンの現在の状況を見てみます。
uname -a
FreeBSD ns.vm.sing.ne.jp 14.3-RELEASE-p7 FreeBSD 14.3-RELEASE-p7 GENERIC amd64
パッチがないか、確認するところから・・・。
以下、「root」ユーザ権限で。
freebsd-update fetch
メッセージは長々と出力されるので割愛します。
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 14.3-RELEASE from update2.freebsd.org... done.
Fetching metadata index... done.
Fetching 2 metadata patches.. done.
Applying metadata patches... done.
Inspecting system... done.
Preparing to download files... done.
Fetching 59 patches.....10....20....30....40....50.... done.
Applying patches... done.
Fetching 85 files... ....10....20....30....40....50....60....70....80.. done.
The following files will be added as part of updating to
14.3-RELEASE-p9:
/usr/src/tests/sys/kern/jail_lookup_root.c
The following files will be updated as part of updating to
14.3-RELEASE-p9:
/bin/freebsd-version
/boot/kernel/alq.ko
/boot/kernel/cd9660.ko
/boot/kernel/ctl.ko
/boot/kernel/cxgbei.ko
/boot/kernel/dtrace.ko
/boot/kernel/ext2fs.ko
/boot/kernel/fdescfs.ko
/boot/kernel/filemon.ko
/boot/kernel/firmware.ko
/boot/kernel/fusefs.ko
/boot/kernel/geom_md.ko
/boot/kernel/hwpmc.ko
/boot/kernel/ibcore.ko
/boot/kernel/if_ovpn.ko
/boot/kernel/imgact_binmisc.ko
/boot/kernel/ipmi_linux.ko
/boot/kernel/iscsi.ko
/boot/kernel/kernel
/boot/kernel/krpc.ko
/boot/kernel/linprocfs.ko
/boot/kernel/linux.ko
/boot/kernel/linux64.ko
/boot/kernel/linux_common.ko
/boot/kernel/linuxkpi.ko
/boot/kernel/mfi_linux.ko
/boot/kernel/mlx5ib.ko
/boot/kernel/mqueuefs.ko
/boot/kernel/mrsas_linux.ko
/boot/kernel/msdosfs.ko
/boot/kernel/nfscl.ko
/boot/kernel/nfscommon.ko
Space と q で進めていきます。
プロンプトが返ってきたら。アップデート。
freebsd-update install
下記のメッセージが、表示されます。
Creating snapshot of existing boot environment... done.
Installing updates...
Restarting sshd after upgrade
Performing sanity check on sshd configuration.
Stopping sshd.
Waiting for PIDS: 1802.
Performing sanity check on sshd configuration.
Starting sshd.
done.
再起動。
shutdown -r now
再起動後に、更新を確認。
uname -a
FreeBSD ns.vm.sing.ne.jp 14.3-RELEASE-p9 FreeBSD 14.3-RELEASE-p9 GENERIC amd64
「FreeBSD 14.3-RELEASE-p7」から「FreeBSD 14.3-RELEASE-p9」へ変わっています。
4. GENERIC boot を用意しておく
今回、マイナバージョンのアップグレードなので、「kernel」ファイルを求められることはないでしょうが。
もし必要になったら、以下の手順で用意します。
「.iso」ファイルをダウンロードして、それをマウントするのが手っ取り早い。
カーネルさえあればいいので、「DVD」メディアでなく、「CD」メディアで十分。
ダウンロード。
mkdir -pv /tmp/disk
curl https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/14.3/FreeBSD-14.3-RELEASE-amd64-disc1.iso --output /tmp/disk/FreeBSD-14.3-RELEASE-amd64-disc1.iso
マウント。
cd /tmp/disk
mdconfig -a -t vnode -f FreeBSD-14.3-RELEASE-amd64-disc1.iso -u -0
mount -t cd9660 -o ro /dev/md0 /mnt
「GENERIC boot」を抽出。
cd /mnt/usr/freebsd-dist/
tar -C/ -xvf kernel.txz boot/kernel/kernel
アンマウント。
cd
umount /mnt
mdconfig -d -u 0
注意。ここで、「kernel」がリセットされますので。
「ipfw」を有効にしている場合は、いったん無効にしておきます。
そうしないと、システムアップデート後に再起動すると、「SSH」でログインできなくなります。
service ipfw stop
vi /etc/rc.conf
下記の行をコメントアウトします。
firewall_enable="YES"
firewall_type="/usr/local/etc/firewall.conf"
5. バージョンアップ
バージョンアップ。
「root」ユーザ権限で。
freebsd-update -r 14.4-RELEASE upgrade
root@ns.vm.sing.ne.jp /home/hogehoge # freebsd-update -r 14.4-RELEASE upgrade
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 14.3-RELEASE from update2.freebsd.org... done.
Fetching metadata index... done.
Fetching 1 metadata files... done.
Inspecting system... done.
The following components of FreeBSD seem to be installed:
kernel/generic kernel/generic-dbg src/src world/base world/lib32
The following components of FreeBSD do not seem to be installed:
world/base-dbg world/lib32-dbg
Does this look reasonable (y/n)?
yEnter で答えます。
この後、「ntpd」「/etc/ssl/openssl.cnf」の設定について、同様の質問がありましたが、同様に答えました。
以降、メッセージはなるべく省略して、入力が必要な個所のみ記述します。
途中、ページ送りで、中断する箇所は、Space と q で進めていきます。
最後は、下記を出力して、プロンプトが返ってきます。
To install the downloaded upgrades, run 'freebsd-update [options] install'.
アップグレード。
freebsd-update install
Creating snapshot of existing boot environment... done.
Installing updates...
Kernel updates have been installed. Please reboot and run
'freebsd-update [options] install' again to finish installing updates.
ちゅうことで、再起動。
shutdown -r now
6. 再起動後
「root」ユーザ権限で。
freebsd-update install
Creating snapshot of existing boot environment... done.
Installing updates...
Restarting sshd after upgrade
Performing sanity check on sshd configuration.
Stopping sshd.
Waiting for PIDS: 1790.
Performing sanity check on sshd configuration.
Starting sshd.
done.
バージョンを確認します。
uname -a
FreeBSD ns.vm.sing.ne.jp 14.4-RELEASE FreeBSD 14.4-RELEASE releng/14.4-n273675-a456f852d145 GENERIC amd64
「ports」の更新を確認します。
git -C /usr/ports pull
portversion -v | grep '<'
[Reading data from pkg(8) ... - 426 packages found - done]
この時点で、更新はないようです。
これで、アップデートは完了です。