1. 概要
例のごとくというか、同じ話になりますが、運用しているマシンが、2台あります。
まずは、サブマシンのほうから・・・。
前回は、サブマシンの調子が悪くて止めていたのですが。
今回は、調子が悪いということではなく、別の理由で、やはり止めていたのです。
相当、アップグレードする「ports」がたまっている。
まずはそこから・・・。
ただし、その辺は、前ページにも書いていますので、よほどのことがなければ割愛します。
2. よっぽどのこと
いきなり、よっぽどのことがおきました。
$ portupgrade -rR zstd
[Reading data from pkg(8) ... - 512 packages found - done]
** Port marked as IGNORE: archivers/zstd:
pkg(8) must be version 1.17.2 or greater, but you have 1.16.3. You must upgrade the ports-mgmt/pkg port first
** Port marked as IGNORE: devel/qt5-core:
pkg(8) must be version 1.17.2 or greater, but you have 1.16.3. You must upgrade the ports-mgmt/pkg port first
[Exclude up-to-date packages done]
** Listing the failed packages (-:ignored / *:skipped / !:failed)
- archivers/zstd (marked as IGNORE)
- devel/qt5-core (marked as IGNORE)
わはは、「pkg」が先ですな。
とやってみようとすると。
$ portupgrade -rR pkg
[Reading data from pkg(8) ... - 512 packages found - done]
[Gathering depends for ports-mgmt/pkg done]
[Exclude up-to-date packages done]
---> Upgrading 'pkg-1.16.3' to 'pkg-1.17.5_1' (ports-mgmt/pkg)
---> Building '/usr/ports/ports-mgmt/pkg'
===> Cleaning for pkg-1.17.5_1
/!\ ERROR: /!\
Ports Collection support for your FreeBSD version has ended, and no ports are
guaranteed to build on this system. Please upgrade to a supported release.
No support will be provided if you silence this message by defining
ALLOW_UNSUPPORTED_SYSTEM.
*** Error code 1
Stop.
make[1]: stopped in /usr/ports/ports-mgmt/pkg
*** Error code 1
Stop.
make: stopped in /usr/ports/ports-mgmt/pkg
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20220616-3152-1xfs11l env UPGRADE_TOOL=portupgrade UPGRADE_PORT=pkg-1.16.3 UPGRADE_PORT_VER=1.16.3 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)2022年6月16日
! ports-mgmt/pkg (pkg-1.16.3) (unknown build error)
ん?ふと気づいて
$ uname -a
FreeBSD nt.sing.ne.jp 12.2-RELEASE-p4 FreeBSD 12.2-RELEASE-p4 GENERIC amd64
が~ん。
なんと、このマシン、まだ「FreeBSD 12.2 RELEASE」でありました。
ということで、これを「FreeBSD 12.3 RELEASE」へあげるところからなので、ここでいったん、前節へ戻るのであった(2022年6月16日)。
...。(ここ前節の作業)
で、「FreeBSD 12.3 RELEASE」にしたので、「ports」を更新しました。
実は、この「『ports』を更新しました。」で二日ほど、かかりました。
3. パッチをあてる
パッチをあてておきます。
freebsd-update fetch
とはいうものの、「FreeBSD 12.3 RELEASE」へあげたばかりですからな。
Looking up update.FreeBSD.org mirrors... 2 mirrors found.
Fetching metadata signature for 12.3-RELEASE from update1.freebsd.org... done.
Fetching metadata index... done.
Fetching 2 metadata patches.. done.
Applying metadata patches... done.
Fetching 2 metadata files... done.
Inspecting system... done.
Preparing to download files... done.
No updates needed to update system to 12.3-RELEASE-p5.
この時点で、パッチはないのです。
4. バージョンアップ
これ、「GENERIC」なので、カーネルは不要のはず。
バージョンアップ。
freebsd-update -r 13.1-RELEASE upgrade
ここは、メッセージややりとりは伏せておきます。
自動的にマージできるものは、マージしてこれでいいかきいてきます。
(n を押すと途中でやめてしまうのでご注意)
自動的にマージできない場合は、「vi」が起動して自分で編集する必要があります。
「upgrade」が終了したら
/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...
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 で答えます。
「pkg bootstrap」後に
git -C /usr/ports pull
portsdb -Fu
pkg version -v
やってみましたが、更新は、発生していないようです。
なので
/usr/sbin/freebsd-update install
Installing updates... done.
終わったようです。
確認してみます。
$ uname -a
FreeBSD nt.sing.ne.jp 13.1-RELEASE FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC amd64
と無事、アップグレードできたようです。
サービスプロセスもすべてそのまま動いていました。