freebsd-update - 12.3 RELEASE → 13.1 RELEASE - メインマシン・バージョンアップ

 クラウディア
1. 概要
2. バックアップ
3. ファイアウォール無効化
4. パッチをあてる
5. GENERIC boot を用意しておく
6. バージョンアップ
7. 再起動後
8. 後処理

1. 概要

 いよいよ、メインマシンのバージョンアップです。  さすがに緊張感が異なります。  同じ手順ですが、念のため、記録していきます。

2. バックアップ

 これは、いつもの通り、万が一のためにバックアップはとっておきます。  バックアップの鉄則は、別マシンの物理的な別のハードディスクへ。  データベースは、その機能を利用したバックアップをとっておきます。  また、ハードディスク全体をのバックアップもとっておきます。  ハードディスク全体のバックアップは、「メンテナンス・トラブルシュート - システムバックアップ」を参考に。  これやっていて思うのは、「zfs」だともっと楽なのかなぁ・・・とも思います。  「zfs」化は、考慮中です(仮想環境は、「zfs」にしちゃいました)、と以前にも書いていましたが・・・未だに。

3. ファイアウォール無効化

 ファイアウォールを無効化するところから。  これは、「11.1 RELEASE」を「11.2 RELEASE」へアップグレードするとき、痛い目を見たのです。  ファイアウォールを有効化していたものの、バージョンアップ後、再起動したら、見事にどこからもつながらなくなったのです。

vi /etc/rc.conf
 該当箇所をコメント化しておきます。  実は、ルータを強力なものに変えたため、このファイアウォールは有効化していないので、今回は設定を変更しません。

4. パッチをあてる

 現時点で

$ uname -a
FreeBSD ns.sing.ne.jp 12.3-RELEASE-p3 FreeBSD 12.3-RELEASE-p3 GENERIC  amd64
 パッチをあてておきます。

freebsd-update fetch
 アップデート。

freebsd-update install
 再起動。

shutdown -r now
 再起動後は

$ uname -a
FreeBSD ns.sing.ne.jp 12.3-RELEASE-p5 FreeBSD 12.3-RELEASE-p5 GENERIC  amd64
 てことでありました。

5. GENERIC boot を用意しておく

 最近は「GENERIC」のまま使用しているので、この手順は、このマシンでは行いません。  もし手順を知りたい方は、前の方のページに書いてありますので、ご参照ください。

6. バージョンアップ

 バージョンアップ。

freebsd-update -r 13.1-RELEASE upgrade
 ここもメッセージややりとりは伏せておきます。  実際にどう行うかは、これも前の方のページに書いてありますので、ご参照ください。  インストール。

/usr/sbin/freebsd-update install
 再起動。

shutdown -r now

7. 再起動後

 再度。

/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
 やや、前ページと違うぞ。

pkg: warning: database version 36 is newer than libpkg(3) version 35, but still compatible
pkg-1.17.5_1                       <   needs updating (index has 1.18.2)
 これってどういうことなんじゃろう。  「pkg update」が必要ってことなのかな?  とりあえず

portupgrade -rR pkg
 その後、もう一度

pkg version -v
 で、更新は、なくなりました。  なので

/usr/sbin/freebsd-update install

Installing updates... done.
 終わったようです。  確認してみます。

$ uname -a
FreeBSD ns.sing.ne.jp 13.1-RELEASE FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC amd64
 と無事、アップグレードできたようです。

8. 後処理

 で、その後すぐに、「vim」を使おうとしたら

ld-elf.so.1: Shared object "libncursesw.so.8" not found, required by "vim"
 ん~。なんだろう?  とりあえず。

cd /usr/ports/editors/vim
make deinstall clean
 このときに

You may need to manually remove /usr/local/etc/vim/vimrc if it is no longer needed.
 ん?なんか仕組みが変わったのね。

cd /usr/ports/editors/vim
make
 するとここで

OLD_PO_FILE_INPUT=yes msgfmt -v -o af.mo af.po
ld-elf.so.1: Shared object "libncurses.so.8" not found, required by "libtextstyle.so.0"
*** Error code 1

Stop.
make[4]: stopped in /usr/ports/editors/vim/work-console/vim-8.2.5052/src/po
*** Error code 1

Stop.
make[3]: stopped in /usr/ports/editors/vim/work-console/vim-8.2.5052/src
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/editors/vim/work-console/vim-8.2.5052
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/editors/vim
*** Error code 1

Stop.
make: stopped in /usr/ports/editors/vim
 やれやれ

cd /usr/ports/devel/libtextstyle
make
make reinstall

cd /usr/ports/editors/vim
make
make install
 「vim」は、無事復活しました。  後は、何も起こらなければ、いいんだけどな。
ハイスピードプランメンズミレット