1. 概要
「VirtualBox」上に、「FreeBSD 12.2 RELEASE」のマシンがありますので、これを「FreeBSD 12.3 RELEASE」にアップデートするところからやってみます。
ただし、アップデート前のマシンは、いくつかのサーバアプリケーションをインストールしたものです。
2. パッチをあてる
仮想マシンの現在の状況を見てみます。
$ uname -a
FreeBSD ns.vm.sing.ne.jp 12.2-RELEASE FreeBSD 12.2-RELEASE r366954 GENERIC amd64
パッチがあたっていないので、パッチをあてるところから・・・。
freebsd-update fetch
メッセージは長々と出力されるので割愛します。
Looking up update.FreeBSD.org mirrors... 2 mirrors found.
Fetching public key from update2.freebsd.org... done.
Fetching metadata signature for 12.2-RELEASE from update2.freebsd.org... done.
Fetching metadata index... done.
Fetching 2 metadata files... done.
Inspecting system... done.
Preparing to download files...
・・・ 略 ・・・
/usr/share/certs/trusted/Camerfirma_Chambers_of_Commerce_Root.pem
/usr/share/certs/trusted/Camerfirma_Global_Chambersign_Root.pem
/usr/share/certs/trusted/Certum_Root_CA.pem
Space と q で進めていきます。
・・・ 略 ・・・
/usr/share/zoneinfo/Israel
WARNING: FreeBSD 12.2-RELEASE is approaching its End-of-Life date.
It is strongly recommended that you upgrade to a newer
release within the next 1 week.
これで終わります。
では、アップデート。
freebsd-update install
メッセージは、これだけ
Installing updates...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 12.2-RELEASE-p12 FreeBSD 12.2-RELEASE-p12 GENERIC amd64
「FreeBSD 12.2-RELEASE」から「FreeBSD 11.2-RELEASE-p12」へ変わっています。
3. GENERIC boot を用意しておく
もし、カーネルを変更しているのであれば、「reboot」時に必要になるので、「GENERIC boot」をあらかじめ用意しておきます。
今回、このマシンは、カーネルを変更していないので、このまま使えますが、変更しているのであれば、下記の手順を実行します。
「.iso」ファイルをダウンロードして、それをマウントするのが手っ取り早い。
カーネルさえあればいいので、「DVD」メディアでなく、「CD」メディアで十分。
ダウンロード。
mkdir -pv /tmp/disk
cd /tmp/disk
curl https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/12.2/FreeBSD-12.2-RELEASE-amd64-disc1.iso --output FreeBSD-12.2-RELEASE-amd64-disc1.iso
マウント。
cd /tmp/disk
mdconfig -a -t vnode -f FreeBSD-12.2-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
4. バージョンアップ
バージョンアップ。
freebsd-update -r 12.3-RELEASE upgrade
メッセージはなるべく省略して、入力が必要な個所のみ記述します。
#
# The following pool statement will give you a random set of NTP servers
Does this look reasonable (y/n)?
これは、「/etc/ntp.conf」をカスタマイズしている箇所のようです。
y Enter 。
The following files are affected by updates. No changes have
been downloaded, however, because the files have been modified
locally:
/.cshrc
/root/.cshrc
(END)
「.cshrc」が、変わっちゃってるのね。
q を連打して、進行します。
今回は、このまま、下記を表示して終わっちゃいました。
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.
再起動。
shutdown -r now
5. 再起動後
再度。
/usr/sbin/freebsd-update install
Installing updates...Scanning //usr/share/certs/blacklisted for certificates...
Scanning //usr/share/certs/trusted for certificates...
Scanning //usr/local/share/certs for certificates...
done.
「FreeBSD 11.4 RELEASE」を「FreeBSD 12.2 RELEASE」へアップグレードしたときは、「ports」を更新しなおしたりして、大変でしたが、今回はリビジョンアップのためか、何もありませんでした。
もうええのかしら?
バージョンアップを確認します。
uname -a
FreeBSD ns.vm.sing.ne.jp 12.3-RELEASE-p1 FreeBSD 12.3-RELEASE-p1 GENERIC amd64
いけてるっぽいわ。