1. 概要
例によって「VirtualBox」上に、「FreeBSD 14.3 RELEASE」のマシンがあります。
これを「FreeBSD 15.0 RELEASE」にアップデートするところからやってみます。
アップデート前のマシンは、いくつかのサーバアプリケーションをインストールしたものです。
2. ports の更新
アップデートの発生している「ports」があれば、すべて更新しておきます。
途中、トラブルがあれば、「FreeBSD - メンテナンス・トラブルシュート - pkg・ports」や、その他のページをご参照ください。
3. パッチをあてる
仮想マシンの現在の状況を見てみます。
uname -a
FreeBSD ns.vm.sing.ne.jp 14.3-RELEASE-p2 FreeBSD 14.3-RELEASE-p2 releng/14.3-n271439-5982521fe3dd 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 14.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 53 patches.....10....20....30....40....50. done.
Applying patches... done.
Fetching 14 files... ....10.. done.
The following files will be updated as part of updating to
14.3-RELEASE-p7:
/bin/freebsd-version
/boot/kernel/efirt.ko
/boot/kernel/hv_vmbus.ko
・・・ 略 ・・・
/rescue/chroot
/rescue/clri
/rescue/cp
:
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: 1831, 1831.
Performing sanity check on sshd configuration.
Starting sshd.
done.
再起動。
shutdown -r now
再起動後に、更新を確認。
uname -a
FreeBSD ns.vm.sing.ne.jp 14.3-RELEASE-p7 FreeBSD 14.3-RELEASE-p7 GENERIC amd64
「FreeBSD 14.3-RELEASE-p2」から「FreeBSD 14.3-RELEASE-p7」へ変わっています。
4. GENERIC boot を用意しておく
今回、メジャーバージョンのアップグレードなので、「kernel」ファイルを求められる可能性があります。
もし必要になったら、以下の手順で用意します。
「.iso」ファイルをダウンロードして、それをマウントするのが手っ取り早い。
カーネルさえあればいいので、「DVD」メディアでなく、「CD」メディアで十分。
ダウンロード。
mkdir -pv /tmp/disk
curl https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/14.3/FreeBSD-14.3-RELEASE-amd64-disc1.iso --output /tmp/disk/FreeBSD-14.3-RELEASE-amd64-disc1.iso
マウント。
cd /tmp/disk
mdconfig -a -t vnode -f FreeBSD-14.3-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 15.0-RELEASE upgrade
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 14.3-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 で答えます。
この後、「ntpd」「/etc/ssl/openssl.cnf」の設定について、同様の質問がありましたが、同様に答えました。
以降、メッセージはなるべく省略して、入力が必要な個所のみ記述します。
途中、ページ送りで、中断する箇所は、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.
ちゅうことで、再起動。
shutdown -r now