FreeBSD 13.1 にアップグレードする事が出来たのでメモ書きする事にしました。

作業時間

筆者の環境では、約3時間ほどで作業が完了する事が出来ました。

旧カーネルアップデートの確認

uname -a
FreeBSD FreeBSD 13.0-RELEASE-p11 FreeBSD 13.0-RELEASE-p11 #0: Tue Apr  5 18:54:35 UTC 2022     root@amd64-builder.daemonology.net:/usr/obj/usr/src/amd64.amd64/sys/GENERIC  amd64

アップグレード実施

①.現時点の最新のパッチを適用します。

freebsd-update fetch
freebsd-update install

②.アップグレードのコマンドを実行する。

freebsd-update upgrade -r 13.1-RELEASE

③.Does this look reasonable は Y にする。

Looking up update.FreeBSD.org mirrors... 2 mirrors found.
Fetching metadata signature for 13.0-RELEASE from update1.freebsd.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... 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)?

④.アップグレードに必要なソフト類をダウンロードするので時間が掛かります。

Fetching metadata signature for 13.1-RELEASE from update1.freebsd.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Fetching 1 metadata files... done.
Inspecting system... done.
Fetching files from 13.0-RELEASE for merging... done.
Preparing to download files... done.
Fetching 19215 patches.....10....20....30....省略....19200....19210.. done.
Applying patches... done.
Fetching 3191 files... ....10....20....30....省略....3180....3190 done.
Attempting to automatically merge changes in files... done.

⑤.手動による修正が必要なコメントが表示する。

The following changes, which occurred between FreeBSD 13.0-RELEASE and
FreeBSD 13.1-RELEASE have been merged into /etc/group:
--- current version
+++ new version
@@ -16,10 +16,12 @@
 sshd:*:22:
 smmsp:*:25:
 mailnull:*:26:
 guest:*:31:
 video:*:44:
+realtime:*:47:
+idletime:*:48:
 bind:*:53:
 unbound:*:59:
 proxy:*:62:
 authpf:*:63:
 _pflogd:*:64:
Does this look reasonable (y/n)?

⑥.手動による修正が必要なコメントが表示する。

The following changes, which occurred between FreeBSD 13.0-RELEASE and
FreeBSD 13.1-RELEASE have been merged into /etc/ssh/sshd_config:
--- current version
+++ new version
@@ -1,6 +1,6 @@
-#      $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $
+#      $OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $
 #      $FreeBSD$

 # This is the sshd server system-wide configuration file.  See
 # sshd_config(5) for more information.

@@ -60,11 +60,11 @@
 # Change to yes to enable built-in password authentication.
 #PasswordAuthentication no
 #PermitEmptyPasswords no

 # Change to no to disable PAM authentication
-#ChallengeResponseAuthentication yes
+#KbdInteractiveAuthentication yes

 # Kerberos options
 #KerberosAuthentication no
 #KerberosOrLocalPasswd yes
 #KerberosTicketCleanup yes
@@ -74,17 +74,17 @@
 #GSSAPIAuthentication no
 #GSSAPICleanupCredentials yes

 # Set this to 'no' to disable PAM authentication, account processing,
 # and session processing. If this is enabled, PAM authentication will
-# be allowed through the ChallengeResponseAuthentication and
+# be allowed through the KbdInteractiveAuthentication and
 # PasswordAuthentication.  Depending on your PAM configuration,
-# PAM authentication via ChallengeResponseAuthentication may bypass
+# PAM authentication via KbdInteractiveAuthentication may bypass
 # the setting of "PermitRootLogin without-password".
 # If you just want the PAM account and session checks to run without
 # PAM authentication, then enable this but set PasswordAuthentication
-# and ChallengeResponseAuthentication to 'no'.
+# and KbdInteractiveAuthentication to 'no'.
 #UsePAM yes

 #AllowAgentForwarding yes
 #AllowTcpForwarding yes
 #GatewayPorts no
@@ -103,11 +103,11 @@
 #PidFile /var/run/sshd.pid
 #MaxStartups 10:30:100
 #PermitTunnel no
 #ChrootDirectory none
 #UseBlacklist no
-#VersionAddendum FreeBSD-20200214
+#VersionAddendum FreeBSD-20211221

 # no default banner path
 #Banner none

 # override default of no subsystems
Does this look reasonable (y/n)?

⑦.手動による修正が必要なコメントが表示する。

The following changes, which occurred between FreeBSD 13.0-RELEASE and
FreeBSD 13.1-RELEASE have been merged into /etc/ttys:
--- current version
+++ new version
@@ -45,5 +45,9 @@
 ttyu1  "/usr/libexec/getty 3wire"      vt100   onifconsole secure
 ttyu2  "/usr/libexec/getty 3wire"      vt100   onifconsole secure
 ttyu3  "/usr/libexec/getty 3wire"      vt100   onifconsole secure
 # Dumb console
 dcons  "/usr/libexec/getty std.9600"   vt100   off secure
+# Xen Virtual console
+xc0    "/usr/libexec/getty Pc"         xterm   onifconsole secure
+# RISC-V HTIF console
+rcons  "/usr/libexec/getty std.9600"   vt100   onifconsole secure
Does this look reasonable (y/n)?

⑧.何度も「Does this look reasonable」が表示する部分は、Y を選択しました。

⑨.「/usr/sbin/freebsd-update install」が表示する事を確認する。

The following files will be removed as part of updating to
13.1-RELEASE-p0:
/usr/bin/clang-tblgen
/usr/bin/lldb-tblgen
/usr/bin/llvm-tblgen
/usr/bin/svnlite

省略

/bin/mkdir
/bin/mv
/bin/pax
/bin/pgrep
To install the downloaded upgrades, run "/usr/sbin/freebsd-update install".

⑩.アップデートのコマンドを実行する。

/usr/sbin/freebsd-update install
Installing updates...
Kernel updates have been installed.  Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.

前回、ファイヤーウォールを無効化しないと、正常にアップグレード出来なかった事あったため

同じように、ファイヤーウォール(ipfw)を無効化する事にしました。

⑪.ipfw(ファイヤーウォール)を無効にする。

vim /etc/rc.conf
#firewall_enable="YES"
#firewall_script="/shell/ipfw/ipfw.rules"
#firewall_logging="YES"

⑫.再起動する。

reboot

⑬.カーネルバージョンを確認する。

uname -a
FreeBSD FreeBSD 13.1-RELEASE FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC  amd64

FreeBSD 13.1 と表示されている事を確認する。

⑭.再度、freebsd-update install を実行する。

[root@FreeBSD ~]# /usr/sbin/freebsd-update install
Installing updates... done.

⑮.アップグレード時に使用したデータを削除する。

rm -rf /var/db/freebsd-update/files

⑯.ipfw(ファイヤーウォール)を有効にする。

vim /etc/rc.conf
firewall_enable="YES"
firewall_script="/shell/ipfw/ipfw.rules"
firewall_logging="YES"

⑰.再起動する。

正常に動作している事を確認する。