====== FreeBSD メジャーアップデート手順書 (Host & Jails) ======
このドキュメントは、FreeBSDホストOSおよびその上で動作するJail環境のメジャーバージョンアップ(例: 13.2 → 14.1)の手順を規定する。
===== 1. 事前準備 =====
作業前に必ず現在の状態を保存する。
* **ZFSスナップショットの取得:**
# zfs snapshot -r zroot@before_major_upgrade
* **バックアップの確認:** /etc, /usr/local/etc などの設定ファイルがバックアップされていること。
===== 2. ホストOSのアップデート =====
まずは土台となるホストOSを更新する。
==== 2.1. ベースシステムの更新 ====
新しいリリースのバイナリを取得し、インストールする。
# freebsd-update -r 14.1-RELEASE upgrade
# freebsd-update install
==== 2.2. ホストの再起動 ====
新しいカーネルを適用するため、一度再起動を行う。
# shutdown -r now
==== 2.3. ユーザーランドの最終適用 ====
再起動後、残りのコンポーネントを適用する。
# freebsd-update install
===== 3. ホストOSパッケージの更新 =====
OSのメジャーバージョン(ABI)変更に伴い、全パッケージを強制的に再インストールする。
# pkg update
# pkg upgrade -f
===== 4. 各Jailのアップデート =====
各Jailに対しても、ホストと同様の処理を行う。
==== 4.1. Jailベースシステムの更新 ====
Jailのルートパスを指定して実行する。
# freebsd-update -b /usr/jails/myjail -r 14.1-RELEASE upgrade
# freebsd-update -b /usr/jails/myjail install
==== 4.2. Jailの再起動 ====
設定を反映させるため、Jailを再起動する。
# service jail restart myjail
==== 4.3. Jail内ユーザーランドの最終適用 ====
# freebsd-update -b /usr/jails/myjail install
===== 5. Jail内パッケージの更新 =====
Jail内部にログインし、パッケージをABIに適合させる。
# jexec myjail
(jail)# pkg update
(jail)# pkg upgrade -f
(jail)# exit
===== 6. 仕上げ:古いライブラリの削除 =====
全ての更新と動作確認が完了したら、システムに残っている古いバージョンのゴミ(共有ライブラリ等)を削除する。
* **ホスト側:** # freebsd-update install
* **Jail側:** # freebsd-update -b /usr/jails/myjail install
^ 工程 ^ 内容 ^ 確認項目 ^
| 1 | ホストOS更新 | `freebsd-version` が新バージョンか |
| 2 | ホストPKG更新 | `pkg upgrade -f` がエラーなく完了するか |
| 3 | Jail OS更新 | 各Jailのベースシステムが更新されたか |
| 4 | Jail PKG更新 | Jail内のサービスが正常に起動するか |
===== 備考 =====
* メジャーアップデート中はネットワーク断やサービス停止が発生するため、メンテナンスウィンドウを確保すること。
* カスタムカーネルを使用している場合は、事前に新しいソースでの再構築が必要。