freebsd-update - 14.0 RELEASE → 14.1 RELEASE - 仮想環境で実験

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

1. 概要

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

2. ports の更新

 放置しておいたので、アップデートの発生している、「ports」が山ほどあります。  全部更新しておきます。  とは、いえ、下記のモジュールは、いろいろあって、最新にできなかった。

bind-tools-9.18.20_1        <  needs updating (port has 9.18.27_1)
py311-pluggy-1.3.0          <  needs updating (port has 1.5.0)
py311-setuptools_scm-6.4.2  <  needs updating (port has 8.0.4) (=> 'devel/py-setuptools-scm')
rubygem-rdoc-6.6.2          <  needs updating (port has 6.7.0)
 システムのアップグレード後に、考える時間があれば、アップグレードしようと思います。

3. パッチをあてる

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

$ uname -a
FreeBSD ns.vm.sing.ne.jp 14.0-RELEASE FreeBSD 14.0-RELEASE #0 releng/14.0-n265380-f9716eee8ab4: Fri Nov 10 05:57:23 UTC 2023     root@releng1.nyi.freebsd.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC 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 14.0-RELEASE from update1.freebsd.org... done.
Fetching metadata index... done.
Fetching 2 metadata files... done.
Inspecting system... done.
Preparing to download files... done.
Fetching 464 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....310....320....330....340....350....360....370....380....390....400....410....420....430....440....450....460.. done.
Applying patches... done.
Fetching 58 files... ....10....20....30....40....50.... done.
The following files will be added as part of updating to
14.0-RELEASE-p7:
/usr/src/contrib/tzdata/checknow.awk
/usr/src/contrib/tzdata/zonenow.tab

・・・	略	・・・

/usr/src/contrib/unbound/testdata/iter_nat64_prefix.rpl
/usr/src/contrib/unbound/testdata/iter_nat64_prefix48.rpl
:
 Spaceq で進めていきます。  プロンプトが返ってきたら。アップデート。

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: 925.
Performing sanity check on sshd configuration.
Starting sshd.
Scanning /usr/share/certs/untrusted 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 14.0-RELEASE-p6 FreeBSD 14.0-RELEASE-p6 #0: Tue Mar 26 20:26:20 UTC 2024     root@amd64-builder.daemonology.net:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64
 「FreeBSD 14.0-RELEASE」から「FreeBSD 14.0-RELEASE-p6」へ変わっています。

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/14.0/FreeBSD-14.0-RELEASE-amd64-disc1.iso --output FreeBSD-14.0-RELEASE-amd64-disc1.iso

5. バージョンアップ

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

freebsd-update -r 14.1-RELEASE upgrade

Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 14.0-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 files will be removed as part of updating to
14.1-RELEASE-p1:
/etc/ssl/certs/f3377b1b.0
/usr/include/c++/v1/__bsd_locale_defaults.h
/usr/include/c++/v1/__bsd_locale_fallbacks.h

・・・	略	・・・

/usr/include/c++/v1/experimental/string
/usr/include/c++/v1/experimental/unordered_map
:
 Spaceq で進めていきます。  マイナーチェンジなので、やることは、少ないはずです。  最後は、下記を出力して、プロンプトが返ってきました。

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 14.1-RELEASE (GENERIC) releng/14.1-n267679-10e31f0946d8
 となっております。  「root」ユーザ権限で。

/usr/sbin/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: 921.
Performing sanity check on sshd configuration.
Starting sshd.
Scanning /usr/share/certs/untrusted for certificates...
Scanning /usr/share/certs/trusted for certificates...
Scanning /usr/local/share/certs for certificates...
rmdir: ///var/db/portsnap: Directory not empty
 done.
 どうも「/var/db/portsnap」を手動で削除しなければ、ならないような・・・。  メジャーバージョンアップと違って、面倒なことがないように祈ります。  「ports」の更新を確認します。

git -C /usr/ports pull
portsdb -Fu
portversion -v | grep '<'
 バージョンアップ前と、変わりありませんでしたが・・・。  「vim」がこけました。

cd /usr/ports/editors/vim
make deinstall clean
make
make install
 他に、「service」で動作していない人がいるので、あれこれ。  「sa-spamd」は、下記の手順で起動できました。

sa-update
service sa-spamd start
 「webmin」は、「vim」と同じ要領で、インストールしなおして、セットアップからやり直したら、起動できました。  あと、少し、手直しすることはありますが、本番前の練習としては、十分かと思います。
ハイスピードプランネットオークションの相場、統計、価格比較といえばオークファン神戸養蜂場