📝

FreeBSD 14.3-RELEASE アップグレードガイド

に公開

FreeBSD14.3 RELEASE公開へ

FreeBSD 14.3-RELEASEが2025年6月10日にリリースされました。これは14-STABLEブランチの最新ポイントリリースで、セキュリティ修正、パッケージ更新、およびFreeBSD 15からの選択的な機能バックポートが含まれています。

更新内容について

security と Errata

  • OpenSSHのキーストローク難読化バイパス修正
  • NFSを介したファイルシステムでのバッファオーバーフロー修正
  • 複数のOpenSSHの脆弱性修正
  • NFSv4クライアントのNULLポインタ参照修正

Userland の改良

  • ps(1)コマンドの改良: -UフラグがPOSIX準拠の実ユーザーID選択に変更
  • grep(1)の変更: 再帰検索でシンボリックリンクをデフォルトで追従しない
  • sysctl(8)の拡張: jail内での実行が可能に

主要ソフトウェア更新

  • LLVM/Clang: 19.1.7に更新
  • OpenZFS: 2.2.7に更新
  • OpenSSH: 9.9p2に更新
  • OpenSSL: 3.0.16に更新
  • xz: 5.8.1に更新
  • less: v668に更新

Kernel 更新

  • 新しいsetcred()システムコール: プロセスの全認証情報を一度に設定可能
  • mac_do(4)の拡張: 複数ユーザー・グループのサポート
  • sound(4)の改良: vchanのオンデマンド割り当て
  • LinuxKPI改良: DRM-kmodの性能向上

デバイスドライバ 更新

  • mpi3mr(4): バージョン8.14.0.2.0に更新
  • rtw88(4)/rtw89(4): Realtekドライバをマージ(Linux v6.14ベース)
  • ena(4): v2.8.1に更新
  • bnxt(4): Thor2 PCI IDサポート、400Gモジュールサポート
  • igc(4): I226-KとLMVPデバイスの修正

ネットワーキング

  • iwlwifi(4): 802.11ac対応の拡張(Intel Wi-Fi 5/6/7サポート)
  • pf(4): net.pf.default_to_dropのvnet loader tunable化
  • ip6addrctl(8): jail内実行サポート

新機能とパッケージング

  • FreeBSD-kmods repository: 14.3-RELEASE専用のカーネルモジュールリポジトリ追加

以下の節 /etc/pkg/FreeBSD.conf に加えられています。

FreeBSD-kmods: {
  url: "pkg+https://pkg.FreeBSD.org/${ABI}/kmods_quarterly_${VERSION_MINOR}",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}
  • OCIコンテナイメージ: DockerとGitHubで利用可能になりました。

サポート期間

  • FreeBSD 14シリーズは2028年11月30日までサポートされます。
  • 32ビットプラットフォーム(armv6、i386、powerpc)のサポートは2028年11月に終了予定です。

2. 具体的な作業について

2.1 freebsd-updateの設定

FreeBSD 14.3-RELEASEへのアップグレードは、freebsd-updateユーティリティを使用して実行できます。
srcコンパイルなどを不要として、更新を急がれる向きには /etc/freebsd-update.conf の以下の簡素化する修正が良いかと思われます。

# Components of the base system which should be kept updated.
-Components src world generic
+Components world/base kernel/generic

前提条件の確認

# 現在のバージョン確認
freebsd-version -uk

# システムのバックアップ(重要)
# /etc、/home、/var、/usr/local等の重要なデータをバックアップ

# パッケージリストの保存
pkg info > /root/pkg-list-before-upgrade.txt

freebsd-updateの実行

# アップデートの確認とダウンロード
freebsd-update fetch

# アップデートの適用
freebsd-update install

# カーネルアップデートの場合は再起動
shutdown -r now

14.2-RELEASEから14.3-RELEASEへのアップグレード

# 最新の14.2パッチを適用
freebsd-update fetch install

# 14.3-RELEASEへのアップグレード
freebsd-update -r 14.3-RELEASE upgrade

# 確認とインストール
freebsd-update install

# システム再起動
shutdown -r now

# アップグレード後の最終処理
freebsd-update install

設定ファイルの更新

# mergemasterまたはetcupdateを使用して設定ファイルを更新
etcupdate -p  # アップグレード前
# または
mergemaster -p

# アップグレード後
etcupdate
# または
mergemaster

2.2 パッケージの更新

# パッケージデータベースの更新
pkg update

# すべてのパッケージをアップグレード
pkg upgrade

# 不要になったパッケージの削除
pkg autoremove

# パッケージデータベースの整合性チェック
pkg check -B -a

2.3 新しいkmods repositoryの活用

14.3-RELEASEからFreeBSD-kmodsリポジトリが追加されました。これにより、グラフィックドライバなどの不安定なカーネルインターフェースを持つドライバが適切に動作します。

# パッケージ設定の確認
cat /etc/pkg/FreeBSD.conf

# 新しいリポジトリからカーネルモジュールを取得
pkg search -r FreeBSD-kmods drm

# グラフィックドライバの例
pkg install -r FreeBSD-kmods drm-61-kmod

2.4 アップグレード後の確認

# バージョンの確認
freebsd-version -uk

# システムログの確認
dmesg | grep -E "(error|warning|fail)"

# サービスの状態確認
service -e

# ファイルシステムのチェック
fsck -F

# ポートの再構築が必要かチェック
pkg audit

2.5 トラブルシューティング

EC2環境での注意点

AWS EC2(特にGravitonインスタンス)でデバイスホットプラグを使用する場合:

# /boot/loader.confに以下を追加
echo 'hw.pci.intx_reroute=0' >> /boot/loader.conf
echo 'debug.acpi.quirks="56"' >> /boot/loader.conf

32ビットアプリケーションの互換性

# 32ビットライブラリの確認
ls -l /usr/lib32/

# 32ビットアプリケーションのテスト
file /path/to/32bit/application
ldd /path/to/32bit/application

2.6 新機能の活用

新しいsetcred()システムコール

mac_do(4)と組み合わせて、より細かい権限制御が可能になりました。

改良されたsound(4)

vchanのオンデマンド割り当てにより、音声性能が向上しています:

# vchansの設定確認
sysctl hw.snd.vchans_enable
sysctl dev.pcm.0.play.vchans

まとめ

FreeBSD 14.3-RELEASEは安定性とセキュリティの向上に重点を置いたリリースです。
特に:

  1. セキュリティ強化: 複数の脆弱性修正
  2. ドライバサポート拡張: 新しいハードウェアサポート
  3. パフォーマンス改善: LinuxKPIやサウンドシステムの最適化
  4. 管理性向上: jail内でのsysctl実行サポート
  5. パッケージング改善: 専用kmodsリポジトリ

アップグレードは比較的安全ですが、本番環境では必ず事前にテスト環境で検証をおすすめします。
特に古い /boot などを残している場合は要注意です。2020年以前に運用開始したFreeBSDのサーバには、古いuEFIのブートコードなどが自動で差し替わらないことがあり、起動障害に繋がりますので /boot以下の状態に留意しましょう。完全なシステムバックアップを取得してから実行することを強く推奨します。完璧を期す場合には、無垢のサーバOS起動媒体を準備し、0からのインストール実施後、/boot (とくにEFIパーティションのファイル)の、現行サーバとの差異を確認することで起動できない問題を未然に防ぐことができます。

FreeBSD 14シリーズは2028年11月まで長期サポートされるため、安定した運用環境として活用できます。

Discussion