freebsd-update - 13.2 RELEASE → 13.3 RELEASE - 仮想環境で実験

クラウディア 
1. 概要
2. ports の更新
3. パッチをあてる
4. GENERIC boot を用意しておく
5. バージョンアップ
6. 再起動後

1. 概要

 「VirtualBox」上に、「FreeBSD 13.2 RELEASE」のマシンがありますので、これを「FreeBSD 13.3 RELEASE」にアップデートするところからやってみます。  アップデート前のマシンは、いくつかのサーバアプリケーションをインストールしたものです。

2. ports の更新

 放置しておいたので、アップデートの発生している、「ports」が山ほどあります。  全部更新しておきます。

3. パッチをあてる

 仮想マシンの現在の状況を見てみます。

$ uname -a
FreeBSD ns.vm.sing.ne.jp 13.2-RELEASE FreeBSD 13.2-RELEASE MYKERNEL amd64
 パッチがあたっていないので、パッチをあてるところから・・・。  以下、「root」ユーザ権限で。

freebsd-update fetch
 メッセージは長々と出力されるので割愛します。

Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching public key from update1.freebsd.org... done.
Fetching metadata signature for 13.2-RELEASE from update1.freebsd.org... done.
Fetching metadata index... done.
Fetching 2 metadata files... done.
Inspecting system... done.
Preparing to download files... done.
Fetching 302 patches.....10....20....30....40....50....60....70....80....90....100....110....120....130....140....150....160....170....180....190....200....210....220....230....240....250....260....270....280....290....300. done.
Applying patches... done.
Fetching 96 files... ....10....20....30....40....50....60....70....80....90... done.
The following files will be added as part of updating to
13.2-RELEASE-p11:
/etc/ssl/certs/0179095f.0
/etc/ssl/certs/08063a00.0

・・・	略	・・・

/usr/share/certs/trusted/HARICA_TLS_ECC_Root_CA_2021.pem
/usr/share/certs/trusted/HARICA_TLS_RSA_Root_CA_2021.pem
:
 Spaceq で進めていきます。  最後に、下記が出力されます。

WARNING: FreeBSD 13.2-RELEASE is approaching its End-of-Life date.
It is strongly recommended that you upgrade to a newer
release within the next 2 months.
 「FreeBSD 13.2-RELEASE」の残りの命は、あとわずかなので、早くアップグレードせろちゅうことですな。  アップデート。

freebsd-update install
 メッセージは、これだけ。  これでも、「sshd」やらで出力されている分、いつもより長いです。

Creating snapshot of existing boot environment... done.
Installing updates...
Restarting sshd after upgrade
Performing sanity check on sshd configuration.
Stopping sshd.
Waiting for PIDS: 903.
Performing sanity check on sshd configuration.
Starting sshd.
Scanning //usr/share/certs/blacklisted for certificates...
Scanning //usr/share/certs/trusted for certificates...
Scanning //usr/local/share/certs for certificates...
 done.
 再起動。

shutdown -r now
 更新を確認。

uname -a

FreeBSD ns.vm.sing.ne.jp 13.2-RELEASE-p11 FreeBSD 13.2-RELEASE-p11 GENERIC amd64
 「FreeBSD 13.2-RELEASE」から「FreeBSD 13.2-RELEASE-p11」へ変わっています。

4. GENERIC boot を用意しておく

 今回、マイナバージョンのアップグレードなので、「kernel」ファイルは必要ないかと思います。  もし必要になったら、以下の手順で用意します。  「.iso」ファイルをダウンロードして、それをマウントするのが手っ取り早い。  カーネルさえあればいいので、「DVD」メディアでなく、「CD」メディアで十分。  ダウンロード。

mkdir -pv /tmp/disk
cd /tmp/disk
curl https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/13.2/FreeBSD-13.2-RELEASE-amd64-disc1.iso --output FreeBSD-13.2-RELEASE-amd64-disc1.iso
 マウント。

cd /tmp/disk
mdconfig -a -t vnode -f FreeBSD-13.2-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

5. バージョンアップ

 バージョンアップ。  「root」ユーザ権限で。

freebsd-update -r 13.3-RELEASE upgrade

Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 13.2-RELEASE from update1.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 で答えます。  以降、メッセージはなるべく省略して、入力が必要な個所のみ記述します。

The following file could not be merged automatically: /etc/group
Press Enter to edit this file in vi and resolve the conflicts
manually...
 上記は、「/etc/group」を書き換えているので、「これでええんかい?」ちゅなことです。  Enter を入力すれば、「vi」が起動しますので、よかように編集します。  同じようなことをしていきます。  以降、同様のものが、以下のように続きます。

The following file could not be merged automatically: /etc/mail/mailer.conf
Press Enter to edit this file in vi and resolve the conflicts
manually...

The following file could not be merged automatically: /etc/master.passwd
Press Enter to edit this file in vi and resolve the conflicts
manually..

The following file could not be merged automatically: /etc/ntp.conf
Press Enter to edit this file in vi and resolve the conflicts
manually...
 「/etc/group」は、なんかしくったかな?  こんな風に表示されました。

The following changes, which occurred between FreeBSD 13.2-RELEASE and
FreeBSD 13.3-RELEASE have been merged into /etc/group:
--- current version
+++ new version
@@ -1,7 +1,5 @@
-# $FreeBSD$
-#
 wheel:*:0:root,hogehoge
 daemon:*:1:
 kmem:*:2:
 sys:*:3:
 tty:*:4:
@@ -29,10 +27,11 @@
 uucp:*:66:
 dialer:*:68:
 network:*:69:
 audit:*:77:
 www:*:80:
+u2f:*:116:
 ntpd:*:123:
 _ypldap:*:160:
 hast:*:845:
 tests:*:977:
 nogroup:*:65533:
 Does this look reasonable (y/n)?
 なんか、増えたり減ったりしています。  最悪、再起動後に編集するつもりで。  y Enter。  似たようなものが、下記のファイルにも出力されましたが。

/etc/hosts
/etc/ntp.conf
/etc/rc.conf
/etc/rc.d/ntpd
/etc/shells
/etc/sysctl.conf
 同様に進めていきます。  この後、変更分のファイルがずらずらと表示されますが、q を連打して、進行します。  最終的に、下記を表示して終了します。

To install the downloaded upgrades, run "/usr/sbin/freebsd-update install".
 ってことで、インストール。

/usr/sbin/freebsd-update install
 下記のメッセージが表示されます。

Creating snapshot of existing boot environment... done.
Installing updates...
Kernel updates have been installed.  Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.
 再起動。

shutdown -r now

6. 再起動後

 再起動後にログインしたときのログイン時のメッセージが

Last login: Mon Apr  1 12:42:00 2024 from 172.20.10.3
FreeBSD 13.3-RELEASE-p1 GENERIC
 となっております。  再度。  「root」ユーザ権限で。

/usr/sbin/freebsd-update install
 この下のメッセージの途中は、えらく時間がかかるのです。

Creating snapshot of existing boot environment... done.
Installing updates...rm: ///usr/src/contrib/llvm-project/libcxx/include/__tuple: is a directory
rm: ///usr/src/contrib/llvm-project/libcxx/include/__string: is a directory
rm: ///usr/include/c++/v1/__tuple: is a directory
rm: ///usr/include/c++/v1/__string: is a directory

Restarting sshd after upgrade
Performing sanity check on sshd configuration.
Stopping sshd.
Waiting for PIDS: 899.
Performing sanity check on sshd configuration.
Starting sshd.
Scanning //usr/share/certs/blacklisted for certificates...
Scanning //usr/share/certs/trusted for certificates...
Scanning //usr/local/share/certs for certificates...
 done.
 なんか、いつもと違うメッセージが出力されて、いささか気がかりではありますが、一応、アップグレードできた模様。  メジャーバージョンのアップグレードとは違って、「pkg bootstrap -f」は、必要ないようですが。  一応、ここは、「ports」を更新して。

git -C /usr/ports pull
portsdb -Fu
 して。

portversion -v | grep '<'
 で、見ると、アップデートは、発生していませんでした。  今回は、これで安定しました。
ハイスピードプラン神戸養蜂場メンズミレットU-NEXT