FreeBSD 13.4-RELEASEリリースノート

# 「はじめに」

この記事は[FreeBSD 13.4-RELEASE Release Notes](https://www.freebsd.org/releases/13.4R/relnotes/)の日本語訳です。翻訳時点では、普段使っている（GhostBSDが依存している）FreeBSDのバージョンが14.0-STABLEのようですし[^excuse]、[13.3](https://qiita.com/koizumistr/items/813c6b4904f2725cba08)や[14.0のリリースノート](https://qiita.com/koizumistr/items/275b31942b434da6a79b)と共通している部分は以前の訳からほぼそのまま持ってきてます[^excuse2]ので、訳の正確さは保証できません。なので、「ふつーはそう訳さねーよ」という指摘は大歓迎です。

[^excuse]: はい、お約束通り、この言い訳を使わせていただきました。

[^excuse2]: 13.xや14.xで間違っていたら、基本的にその間違いが引き継がれているということです。ですので、13.xや14.xの方も誤記指摘大歓迎です。


また、恒例のお断りですが、この文章の内容は、筆者が所属している会社・団体とは一切関わりがありません。いわゆる「自主的な研究の成果の発表」というものです。

では、以下、翻訳です。

# 要約
FreeBSD 13.4-RELEASEのリリースノートには、13-STABLE開発ラインでFreeBSDの基本システムに加えられた変更の概要が含まれています。このドキュメントには、前回のリリース以降に発行された適用可能なセキュリティ勧告、およびFreeBSDカーネルとユーザーランドへの重要な変更点が記載されています。アップグレードに関するいくつかの簡単な説明もあります。

# はじめに
この文書には、FreeBSD 13.4-RELEASEのリリースノートが含まれています。最近追加、変更、または削除されたFreeBSDの機能について説明しています。また、以前のバージョンのFreeBSDからのアップグレードに関する注意事項も記載しています。

このリリースノートが適用される「リリース」配布物は、13-STABLEが作成されて以来、13-STABLE開発ブランチに沿った最新のポイントを表しています。このブランチに沿ったビルド済みのバイナリリリース配布物に関する情報は、 https://www.FreeBSD.org/releases/ で見ることができます。

このリリースノートが適用される「リリース」配布物は、13.3-RELEASEと将来の13.5-RELEASEの間の、13-STABLE開発ブランチに沿ったポイントを表しています。このブランチに沿ったビルド済みのバイナリリリース配布物に関する情報は、 https://www.FreeBSD.org/releases/ で見ることができます。

このFreeBSD 13.4-RELEASEは「リリース版」配布物です。この配布物は、 https://www.FreeBSD.org/releases/ またはそのミラーサイトにあります。この (あるいは他の)FreeBSDのリリース版配布物を入手するための詳しい情報は、[FreeBSDハンドブック](https://docs.freebsd.org/ja/books/handbook/)の[付録A FreeBSD の入手方法](https://docs.freebsd.org/ja/books/handbook/mirrors/)に記載されています。

すべてのユーザには、FreeBSDをインストールする前にリリースの正誤表を参照することを推奨します。正誤表は、リリースサイクルの後半やリリース後に発見された 「最新の」情報で更新されます。典型的なものとしては、既知のバグやセキュリティ勧告、文書の修正に関する情報などがあります。FreeBSD 13.4-RELEASEの正誤表の最新版はFreeBSDのWebサイトで見ることができます。

この文書では、FreeBSD 13.3-RELEASE以降の新機能や変更点のうち、最もユーザが目にしやすいものを説明しています。一般に、ここに書かれている変更点は、MERGED機能と書かれていない限り13-STABLEブランチに固有のものです。

リリースノートの一般的な項目には、13.3-RELEASEの後に発行された最近のセキュリティ勧告、新しいドライバまたはハードウェアのサポート、新しいコマンドまたはオプション、主要なバグ修正、または提供されたソフトウェアのアップグレードが記載されています。また、主要なポート/パッケージまたはリリースエンジニアリングの実践への変更についても記載する場合があります。もちろん、リリース間でFreeBSDに加えられた変更をリリースノートにすべて列挙することはできません。この文書は主に、セキュリティ勧告、ユーザーに見える変更点、主要なアーキテクチャでの改善点に焦点を当てています。

# FreeBSDの以前のリリースからのアップグレード
RELEASEバージョン(およびさまざまなセキュリティブランチのスナップショット)間のバイナリアップグレードは、freebsd-update(8)ユーティリティを使用してサポートされています。FreeBSD ハンドブックの[バイナリアップグレード手順](https://docs.freebsd.org/ja/books/handbook/cutting-edge/#freebsdupdate-upgrade)の詳細と合わせてリリース固有のアップグレード手順、FreeBSD 13.4-RELEASE アップグレード情報を参照してください。これは、FreeBSD の公式リリースの一部として配布されている、改変されていない GENERIC カーネルと同様に、 改変されていないユーザランドユーティリティも更新します。freebsd-update(8) ユーティリティは、 アップグレードされるホストがインターネットに接続されている必要があります。

/usr/src/UPDATINGの指示に従って、以前のバージョンからのソースベースのアップグレード(FreeBSDの基本システムをソースコードから再コンパイルしたもの)がサポートされています。

:::note alert
_FreeBSDのアップグレードは、すべてのデータと構成ファイルをバックアップした後でのみ試みてください。_
:::

# セキュリティと正誤表

この節では、13.3-RELEASE以降のさまざまなセキュリティ勧告と正誤表を示します。

## セキュリティ勧告

| 勧告 | 日付 | トピック |
|:-- |:-- |:-- |
|FreeBSD-SA-24:03.unbound|28-Mar-24|Multiple vulnerabilities in Unbound
|FreeBSD-SA-24:04.openssh|1-Jul-24|OpenSSH pre-authentication remote code execution
|FreeBSD-SA-24:05.pf|7-Aug-24|pf incorrectly matches different ICMPv6 states in the state table
|FreeBSD-SA-24:06.ktrace|7-Aug-24|ktrace(2) fails to detach when executing a setuid binary
|FreeBSD-SA-24:07.nfsclient|7-Aug-24|NFS client accepts file names containing path separators
|FreeBSD-SA-24:08.openssh|7-Aug-24|OpenSSH pre-authentication async signal safety issue
|FreeBSD-SA-24:09.libnv|4-Sep-24|Multiple vulnerabilities in libnv
|FreeBSD-SA-24:10.bhyve|4-Sep-24|bhyve(8) privileged guest escape via TPM device passthrough
|FreeBSD-SA-24:11.ctl|4-Sep-24|Multiple issues in ctl(4) CAM Target Layer
|FreeBSD-SA-24:12.bhyve|4-Sep-24|bhyve(8) privileged guest escape via USB controller
|FreeBSD-SA-24:13.openssl|4-Sep-24|Possible DoS in X.509 name checks in OpenSSL
|FreeBSD-SA-24:14.umtx|4-Sep-24|umtx Kernel panic or Use-After-Free


## 正誤表

|正誤項目| 日付 | トピック |
|:-- |:-- |:-- |
|FreeBSD-EN-24:05.tty|28-Mar-24|TTY Kernel panic
|FreeBSD-EN-24:06.wireguard|28-Mar-24|Insufficient barriers in WireGuard if_wg(4)
|FreeBSD-EN-24:07.clang|28-Mar-24|Clang crash when certain optimization is enabled
|FreeBSD-EN-24:08.kerberos|28-Mar-24|Kerberos segfaults when using weak crypto
|FreeBSD-EN-24:09.zfs|24-Apr-24|High CPU usage by kernel threads related to ZFS
|FreeBSD-EN-24:10.zfs|19-Jun-24|Kernel memory leak in ZFS
|FreeBSD-EN-24:11.ldns|19-Jun-24|LDNS uses nameserver commented out in resolv.conf
|FreeBSD-EN-24:12.killpg|19-Jun-24|Lock order reversal in killpg causing livelock
|FreeBSD-EN-24:13.libc++|19-Jun-24|Incorrect size passed to heap allocated std::string delete
|FreeBSD-EN-24:14.ifconfig|7-Aug-24|Incorrect ifconfig netmask assignment
|FreeBSD-EN-24:15.calendar|4-Sep-24|cron(8) / periodic(8) session login

# ユーザーランド
この節では、ユーザーランドアプリケーション、提供されたソフトウェア、およびシステム ユーティリティの変更と追加について説明します。

## ユーザーランドのアプリケーションの変更点
libcapsicum はより多くのタイムゾーン情報をキャッシュするように改良されました。この変更により、tzset(3) の呼び出し回数が減少し、パフォーマンスが向上しました。

## 提供されたソフトウェア
sqlite3 が 3.46.0 にアップグレードされました。

OpenSSH が 9.7p1 にアップグレードされました。このリリースには主にバグ修正が含まれています。また、DSA 署名アルゴリズムのサポートをコンパイル時のオプションとし、今年後半にはアップストリームで無効にし、2025 年にはサポートを完全に削除する予定です。

LLVMとclangコンパイラがバージョン18.1.5にアップグレードされました。

bc がバージョン 6.7.6 に更新されました。

atf が 0.22 snapshot 55c21b2c に更新されました。

libarchive が 3.7.4 に更新されました。

capsicum-test がスナップショット eab7a83b に更新されました。

# デバイスとドライバ
この節では、13.3-RELEASE以降のデバイスとデバイスドライバの変更と追加について説明します。

## デバイスドライバ
irdma(4) ドライバが更新されました。

ice(4) ドライバを更新しました。

SIM7600G のサポートが u3g(4) に追加されました。

ネイティブおよび LinuxKPI ベースの無線ドライバに多くの安定性のための修正が施されました。(The FreeBSD Foundationによる後援)

# ネットワーク
この節では、FreeBSDのネットワークに影響を与える変更について説明します。

## ネットワークプロトコル
sctp(4) スタックの性能向上とバグ修正を含む、ネットワークスタックの多数の改良。特に、SCTP チェックサムオフロード機能のサポートがループバックインターフェースに追加されました。

# ハードウェアのサポート
この節では、物理マシン、ハイパーバイザー、仮想化環境に対する一般的なハードウェアのサポート、およびこの文書の他の節に当てはまらないハードウェアの変更と更新について説明します。

13.4-RELEASEでサポートされる[ハードウェアの一覧](https://www.freebsd.org/releases/13.4R/hardware)と、サポートされるCPUアーキテクチャの完全なリストについては、[プラットフォームのページ](https://www.freebsd.org/platforms/)を参照してください。

## プロセッサのサポート
amdsmn(4) および amdtemp(4) ドライバに AMD Ryzen 7 "Phoenix" プロセッサ (ファミリ 0x19、モデル 0x70-0x7f) のサポートを追加しました。これにより、sysctl 経由でのこれらの CPU の温度計測が可能になりました。センサは "Raphael" プロセッサ (モデル 0x60-0x6f) 用のものと同じように機能します。PCIデバイスIDが異なるだけです。

# 文書
この節では、マニュアル(man(1))のページや、基本システムに同梱されているその他の文書の変更について説明します。

## manページ
従来の disklabel ユーティリティへの参照は削除され、 gpart が使われるようになりました。将来の FreeBSD リリースでは、このツールは完全に削除される予定です。

# portsコレクションとパッケージのインフラ
この節では、FreeBSD Ports Collection、パッケージのインフラストラクチャ、パッケージのメンテナンスとインストールツールの変更点を扱います。

## パッケージ化の変更点
DVDパッケージセットは現代風にアレンジされました。

archivers/unzip は現在 base にあるため削除されました。

emulators/linux_base-c7 は、他の Linux パッケージがインストールされていないと 役に立ちそうにないので削除されました。

ports-mgmt/portmaster は 推奨されなくなったため削除されました。pkg とバイナリパッケージの使用を推奨します。

x11-drivers/xf86-video-vmware は現在のバージョンの xorg-server ではもはや役に立たないので削除されました。

devel/git は、ほとんどの目的にはこれで十分なので、devel/git@lite に置き換えられました。

sysutils/seatd と x11-wm/sway が Wayland サポートのために追加されました。

# 将来のFreeBSDリリースに関する一般的な注意事項
FreeBSD 15.0では、armv7以外の32ビットプラットフォームのサポートは予定されていません。armv6、i386、powerpcプラットフォームは非推奨であり、削除される予定です。64ビットシステムでは、古い32ビットバイナリを実行できます。

FreeBSD 15.0およびstable/15では、armv7をTier 2アーキテクチャとしてサポートする予定です。しかし、FreeBSD 16.0ではarmv7は削除されるかもしれません。15.xと16.xの両方におけるarmv7の状況については、15.0のリリース時に改めてお知らせします。

COMPAT_FREEBSD32オプションによる64ビットプラットフォーム上での32ビットバイナリの実行のサポートは、 少なくともstable/15およびstable/16ブランチでは継続されます。cc -m32による個別の32ビットアプリケーションのコンパイルサポートも、少なくともstable/15ブランチでは継続され、適切なヘッダが/usr/includeに、ライブラリが/usr/lib32に含まれます。

FreeBSD 15.0以降のリリースでは、portsは非推奨の32ビットプラットフォームのサポートを含みません。これらの将来のリリースでは、非推奨の32ビットプラットフォーム用のバイナリパッケージやportsからのパッケージのビルドはサポートされません。

FreeBSD stable/14およびそれ以前のブランチでは、32ビットカーネルとworldのサポートは維持されます。portsは、stable/14およびそれ以前のブランチがportsシステムでサポートされている限り、32ビットシステム用のportsやパッケージの構築に関する既存のサポートを維持します。しかし、すべての32ビットプラットフォームはTier-2またはTier-3であり、アップストリームが32ビットプラットフォームを非推奨とするにつれて、個々のportsのサポートは低下していくことが予想されます。

現在のサポートスケジュールでは、stable/14はFreeBSD 14.0-RELEASEのリリースから5年後にEOL(End of Life)を迎えます。stable/14のEOLは、ソースリリース、ビルド済みパッケージ、portsからのアプリケーションのビルドサポートを含む、非推奨の32ビットプラットフォームのサポートの終了を意味します。2023年11月の14.0-RELEASEのリリースにより、非推奨の32ビットプラットフォームのサポートは2028年11月に終了します。

FreeBSD 15.0がリリースされる際には、15.0以降で非推奨とされるプラットフォームの一つ以上のサポートを拡張することで、プロジェクトはこのアプローチを変更する可能性があります。どのような変更も、コミュニティからのフィードバックと、 これらのプラットフォームをサポートするための努力によって進められるでしょう。32ビットプラットフォームからの移行には、FreeBSD 13.3-RELEASEおよびそれ以降のリリース、あるいはstable/14ブランチを使用してください。