freebsd-update - 12.3 RELEASE → 13.1 RELEASE - 仮想環境で実験 やりなおし

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

1. 概要

 なんか、前ページのが、気に食わなかったので、前ページの処理を行う前に戻して、いちからやりなおしてみます。  マシンがどの状態かは、前ページをご参照ください。

2. ports アップグレード

 まず、放っておいたため、「ports」がおそろしく古くなっていますので、更新しておきます。  途中、

autoconf-2.69_3                    <   needs updating (index has 2.69_4)
 をアップグレードするところでは、エラーになりますが、「メンテナンス・トラブルシュート - pkg・ports - その他一般」を参考に更新します。  「ruby30」がインストールエラーになるときは

/usr/ports/lang/ruby30
make reinstall
 すると今度は、「portupgrade」自体が動かなくなるので、依存するものから順に。

cd /usr/ports/databases/ruby-bdb
make config
 これは、「make」時に「/doc」のディレクトリがないからとエラーになるので「DOCS」のオプションをはずします。

cd /usr/ports/databases/ruby-bdb
make deinstall clean
make
make install

cd /usr/ports/ports-mgmt/portupgrade
make deinstall clean
make
make install
 実は、このマシンでの「postgreSQL」は「9.6」で、今や「ports」には、ないのだ。  ここは、「FreeBSD - メンテナンス・トラブルシュート - データベース」を参考に「12」あげます。

3. パッチをあてる

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

$ uname -a
FreeBSD ns.vm.sing.ne.jp 12.3-RELEASE FreeBSD 12.3-RELEASE r371126 GENERIC  amd64
 パッチがあたっていないので、パッチをあてるところから・・・。

freebsd-update fetch

Looking up update.FreeBSD.org mirrors... 2 mirrors found.
Fetching metadata signature for 12.3-RELEASE from update2.freebsd.org... done.
Fetching metadata index... done.
Inspecting system... done.
Preparing to download files... done.
The following files will be updated as part of updating to
12.3-RELEASE-p5:
/boot/kernel/kernel
(END)
 q で終了します。  アップデート。

freebsd-update install
 メッセージは、これだけ

Creating snapshot of existing boot environment... done.
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.3-RELEASE-p5 FreeBSD 12.3-RELEASE-p5 GENERIC  amd64
 「FreeBSD 12.3-RELEASE」から「FreeBSD 12.3-RELEASE-p5」へ変わっています。

4. GENERIC boot を用意しておく

 同じことを2回書くのも馬鹿らしいので、ダウンロードして「GENERIC boot」を用意する方法は、前ページをご参照ください。  今回、「VirtualBox」でやっており、「FreeBSD-12.3-RELEASE-amd64-dvd1.iso」を持っています。  こいつをマウントして使います。  「VirtualBox」の操作で、「デバイス」→「光学ドライブ」→「ディスクファイルを選択」で、対象の「FreeBSD-12.3-RELEASE-amd64-dvd1.iso」を選択します。
「VirtualBox」-「デバイス」→「光学ドライブ」→「ディスクファイルを選択」

 ここから、「FreeBSD」上の操作になります。
 「root」ユーザ権限で。


camcontrol devlist
 こんなんが出力されます。  まぁ、ここの手順は、やんなくていいんですけどね。

<VBOX HARDDISK 1.0>                at scbus0 target 0 lun 0 (pass0,ada0)
<VBOX CD-ROM 1.0>                  at scbus1 target 0 lun 0 (cd0,pass1)
 マウント。

mount_cd9660 /dev/cd0 /mnt
 「GENERIC boot」を抽出。

cd /mnt/usr/freebsd-dist/
tar -C/ -xvf kernel.txz boot/kernel/kernel
 アンマウント。

cd
umount /mnt
 イジェクトコマンド「eject」がないので、やり方がわからん。  「VirtualBox」の操作で、「仮想ドライブからディスクを除去」します。

5. バージョンアップ

 バージョンアップ。

freebsd-update -r 13.1-RELEASE upgrade

Looking up update.FreeBSD.org mirrors... 2 mirrors found.
Fetching metadata signature for 12.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/doc
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 で答えます。  以降、メッセージはなるべく省略して、入力が必要な個所のみ記述します。  これは、「/etc/mail/mailer.conf」をカスタマイズしている箇所のようです。  Enter

The following file could not be merged automatically: /etc/mail/mailer.conf
Press Enter to edit this file in vi and resolve the conflicts
manually...
 中身が表示されたら、「sendmail」を「qmail」で「wrap」しているものだと分かりました。  更新している方を残しておくように、編集して書き込んで終了します。  「/etc/group」に関して

Does this look reasonable (y/n)?
 ちゅうことですが、それは、そうですわな。  yEnter

The following file will be removed, as it no longer exists in
FreeBSD 13.1-RELEASE: /etc/motd
Does this look reasonable (y/n)?
 これは、「FreeBSD 13.0 RELEASE」より前は、「/etc/motd」だったものが「/etc/motd.template」に変わったからですな。  yEnter。  (ちゅうか、前ページでわかりましたが、nEnter するとそこで終了。ご破算ですわ)  以降、

Does this look reasonable (y/n)?
 と聞かれるのが

/etc/rc.d/ntpd
 nEnter で答えて、以降は

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

6. 再起動後

 再起動後にログインしたときに、今回初めて気づいたのが、ログイン時のメッセージが

Last login: Thu Jun  2 17:52:41 2022
FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC
 となっておる。  一応、この時点で中途半端ではあるが、アップグレードできておるわけだ。  再度。

/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...

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 "/usr/sbin/freebsd-update install"
again to finish installing updates.
 前ページの経験をふまえて

pkg bootstrap -f

The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]:
 てなメッセージが、表示されますな。  ここは、もちろん yEnter です。

Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/FreeBSD:13:amd64/quarterly, please wait...
Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done
Installing pkg-1.17.5_1...
package pkg is already installed, forced install
Extracting pkg-1.17.5_1: 100%
 では、「ports」の更新。

git -C /usr/ports pull
portsdb -Fu
pkg version -vl "<"
 今回、オペレーティングシステムのアップグレードの前に、「ports」を最新にしておいたので、アップグレードが必要なものは

ghc-8.10.7                         <   needs updating (index has 8.10.7_2)
php80-composer2-2.3.5              <   needs updating (index has 2.3.6)
 「ghc」の方は、大量にリソースを消費するし、大勢に影響ないので、この際そのままにして、「php80-composer2」のみアップグレードしました。  その後でいよいよ。

/usr/sbin/freebsd-update install
 これで、通ったっぽいです。

Creating snapshot of existing boot environment... done.
Installing updates... done.
 うむ、

$ uname -a
FreeBSD ns.vm.sing.ne.jp 13.1-RELEASE FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC amd64
 前ページでも述べましたが「FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212」が正式名のようです。  ちょっと気持ち悪い名前だけど、仕方ないですね。  やりなおしてみて、こちらの手順が断然、正解であると思います。
ハイスピードプランStar Naming Giftネットオークションの相場、統計、価格比較といえばオークファンそれがだいじWi-Fi