1. 概要
例によって「VirtualBox」上に、「FreeBSD 15.0 RELEASE」のマシンがあります。
これを「FreeBSD 15.1 RELEASE」にアップデートしてみます。
アップデート前のマシンは、いくつかのサーバアプリケーションをインストールしたものです。
2. ports の更新
アップデートの発生している「ports」があれば、すべて更新しておきます。
途中、トラブルがあれば、「FreeBSD - メンテナンス・トラブルシュート - pkg・ports」や、その他のページをご参照ください。
3. パッチの確認
仮想マシンの現在の状況を見てみます。
uname -a
FreeBSD ns.vm.sing.ne.jp 15.0-RELEASE-p2 FreeBSD 15.0-RELEASE-p2 GENERIC amd64
パッチがないか、確認するところから・・・。
以下、「root」ユーザ権限で。
freebsd-update fetch
メッセージは長々と出力されるので、途中は割愛します。
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 15.0-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 4424 patches.....10....20....30....40....50....60....70....80....90....100...
・・・ 略 ・・・
.. done.
Applying patches... done.
Fetching 133 files... ....10....20....30....40....50....60....70....80....90....100....110....120....130. done.
The following files will be removed as part of updating to
15.0-RELEASE-p10:
/usr/include/openssl/conf_api.h
/usr/src/crypto/openssl/util/check-format-commit.sh
/usr/src/crypto/openssl/util/check-format-test-negatives.c
/usr/src/crypto/openssl/util/check-format-test-positives.c
/usr/src/crypto/openssl/util/check-format.pl
(END)
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: 2373.
Performing sanity check on sshd configuration.
Starting sshd.
done.
再起動。
shutdown -r now
再起動後に、更新を確認。
uname -a
FreeBSD ns.vm.sing.ne.jp 15.0-RELEASE-p10 FreeBSD 15.0-RELEASE-p10 GENERIC amd64
「FreeBSD 15.0-RELEASE-p2」から「FreeBSD 15.0-RELEASE-p10」へ変わっています。
4. バージョンアップ
バージョンアップ。
「root」ユーザ権限で。
freebsd-update -r 15.1-RELEASE upgrade
FreeBSD ns.vm.sing.ne.jp 15.0-RELEASE-p10 FreeBSD 15.0-RELEASE-p10 GENERIC amd64
hogehoge@ns.vm.sing.ne.jp /home/hogehoge $ sudo su
root@ns.vm.sing.ne.jp /home/hogehoge # freebsd-update -r 15.1-RELEASE upgrade
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 15.0-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 で答えます。
The following files will be removed as part of updating to
15.1-RELEASE-p0:
/boot/firmware/iwm8000C
/etc/ssl/certs/02265526.0
・・・ 略 ・・・
/etc/ssl/certs/ee64a828.0
:
途中、ページ送りで、中断する箇所は、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.
ちゅうことで、再起動。
reboot
5. 再起動後
「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: 2336.
Performing sanity check on sshd configuration.
Starting sshd.
Completing this upgrade requires removing old shared object files.
Please rebuild all installed 3rd party software (e.g., programs
installed from the ports tree) and then run
'freebsd-update [options] install' again to finish installing updates.
訳してみたら、こういうことだそうです。
既存のブート環境のスナップショットを作成しています...完了。
アップデートをインストールしています...
アップグレード後にsshdを再起動しています
sshdの設定の健全性チェックを実行しています。
sshdを停止しています。
PID: 2336を待機しています。
sshdの設定の健全性チェックを実行しています。
sshdを起動しています。
このアップグレードを完了するには、古い共有オブジェクトファイルを削除する必要があります。
インストール済みのサードパーティ製ソフトウェア(例:portsツリーからインストールされたプログラム)をすべて再ビルドしてから、'freebsd-update [オプション] install' を再度実行して、アップデートのインストールを完了してください。
なるほどと思いつつ、いったんバージョンを確認します。
uname -a
FreeBSD ns.vm.sing.ne.jp 15.1-RELEASE FreeBSD 15.1-RELEASE releng/15.1-n283562-96841ea08dcf GENERIC amd64
「ports」の更新を確認します。
git -C /usr/ports pull
portversion -v | grep '<'
[Reading data from pkg(8) ... - 480 packages found - done]
libclc-llvm19-19.1.7 < needs updating (port has 22.1.5)
これは、事情があって(「メンテナンス・トラブルシュート - pkg・ports - llvm」参照)、この時点ではアップグレードできないので、このままにしておきます。
freebsd-update install
Creating snapshot of existing boot environment... done.
Installing updates... done.
これで、アップデートは完了です。