1. 概要
「VirtualBox」上に、「FreeBSD 13.3 RELEASE」のマシンがあります。
これを「FreeBSD 13.4 RELEASE」にアップデートするところからやってみます。
アップデート前のマシンは、いくつかのサーバアプリケーションをインストールしたものです。
2. ports の更新
放置しておいたので、アップデートの発生している、「ports」が山ほどあります。
全部更新しておきます。
更新時に、トラブルがあったのが。
・bash-completion
これは、「make deinstall clean」して、「make」「make reinstall」で通りました。
「mysql」は、バージョンがなくなっているので、再インストールの必要がありますが、アップグレードの後でもいいかなと思っています。
結局、丸三日くらいかかりました。
3. パッチをあてる
仮想マシンの現在の状況を見てみます。
$ uname -a
FreeBSD ns.vm.sing.ne.jp 13.3-RELEASE FreeBSD 13.3-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.3-RELEASE from update1.freebsd.org... done.
Fetching metadata index... done.
Fetching 2 metadata files... done.
Inspecting system... done.
Preparing to download files... done.
Fetching 76 patches.....10....20....30....40....50....60....70... done.
Applying patches... done.
Fetching 17 files... ....10... done.
The following files will be added as part of updating to
13.3-RELEASE-p8:
/usr/src/tests/sys/netpfil/pf/icmp6.sh
・・・ 以下略 ・・・
Space と q で進めていきます。
ラストに。
WARNING: FreeBSD 13.3-RELEASE is approaching its End-of-Life date.
It is strongly recommended that you upgrade to a newer
release within the next 1 month.
と表示されています。
コマンドを実行した時点が、2024年11月14日で、「FreeBSD 13.3 RELEASE」のサポート終了が、2024年12月31日になので、「早くせろ」ということですな。
アップデート。
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: 844.
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.3-RELEASE-p7 FreeBSD 13.3-RELEASE-p7 GENERIC amd64
「FreeBSD 13.3-RELEASE」から「FreeBSD 13.3-RELEASE-p7」へ変わっています。
4. GENERIC boot を用意しておく
マイナーアップデートなので必要でないはずですが、一応メディアだけは用意しておきます。
「.iso」ファイルをダウンロードして、それをマウントするのが手っ取り早い。
カーネルさえあればいいので、「DVD」メディアでなく、「CD」メディアで十分。
ダウンロード。
mkdir -pv /tmp/disk
curl https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/13.3/FreeBSD-13.3-RELEASE-amd64-disc1.iso --output /tmp/disk/FreeBSD-13.3-RELEASE-amd64-disc1.iso
5. バージョンアップ
バージョンアップ。
「root」ユーザ権限で。
freebsd-update -r 13.4-RELEASE upgrade
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 13.3-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 で答えます。
以降、メッセージはなるべく省略して、入力が必要な個所のみ記述します。
基本的に、デフォルトのコンフィグレーションファイルと異なるものは「conflicts」でっせといって下記のように表示されます。
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...
Enter を押すと、「vi」が起動して、相違のある部分が表示されますので、残す部分以外は削除していきます。
起動できなくなるような編集をしない限りは、最悪、後でも編集しなおせるので、最低限必要な箇所を編集していきます。
同様に、編集の発生しているコンフィグレーションファイルが、次々に編集対象になります。
あるいは、下記のように。
The following changes, which occurred between FreeBSD 13.3-RELEASE and
FreeBSD 13.4-RELEASE have been merged into /etc/hosts:
--- current version
+++ new version
@@ -14,18 +14,18 @@
#
# Imaginary network.
#10.0.0.2 myname.my.domain myname
#10.0.0.3 myfriend.my.domain myfriend
#
-# According to RFC 1918, you can use the following IP networks for
-# private nets which will never be connected to the Internet:
+# According to RFC 1918, you can use the following IP blocks for
+# private internets:
#
-# 10.0.0.0 - 10.255.255.255
-# 172.16.0.0 - 172.31.255.255
-# 192.168.0.0 - 192.168.255.255
+# 10.0.0.0 - 10.255.255.255 (10/8 prefix)
+# 172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
+# 192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
#
-# In case you want to be able to connect to the Internet, you need
+# In case you want to make addresses available on the Internet, you need
# real official assigned numbers. Do not try to invent your own network
# numbers but instead get one from your network provider (if any) or
# from your regional registry (ARIN, APNIC, LACNIC, RIPE NCC, or AfriNIC.)
#
192.168.100.196 ns.vm.sing.ne.jp
Does this look reasonable (y/n)?
前のバージョンから、減る個所を「-」、今度のバージョンで増える箇所を「+」で表示して。
「どうね?」と、きいてきます。
たいてい、y Enter で問題ないでしょう。
上記のたぐいが、一通り終わったら、下記のように。
The following files will be removed as part of updating to
13.4-RELEASE-p1:
/boot/kernel/amr.ko
/boot/kernel/amr_cam.ko
・・・ 略 ・・・
/boot/kernel/snd_maestro.ko
/boot/kernel/snd_mss.ko
:
更新するファイルをずらずらと表示してきます。
Space または 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. 再起動後
再起動後にログインしたときのログイン時のメッセージが
FreeBSD 13.4-RELEASE-p1 GENERIC
となっております。
再度、「root」ユーザ権限で。
/usr/sbin/freebsd-update install
この下のメッセージの途中は、時間がかかります。
1~2時間は、覚悟した方がいいかもです。
Creating snapshot of existing boot environment... done.
Installing updates...
Restarting sshd after upgrade
Performing sanity check on sshd configuration.
Stopping sshd.
Waiting for PIDS: 818.
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.
メジャーアップデートのときは、サードパーティのソフトウェアをアップデートしたうえで、再度「freebsd-update」せよ、というメッセージが出力されますが。
今回は、マイナーアップグレードなので、それは、ないようです。
一応、「ports」の更新を確認しておきます。
git -C /usr/ports pull
portsdb -Fu
portversion -v | grep '<'
2024年11月14日時点で、更新はありませんでした。
「MySQL」のアップグレードについては、別途メモを残します。