「はじめに」
この記事はFreeBSD 13.5-RELEASE Release Notesの日本語訳です。翻訳時点では、普段使っている(GhostBSDが依存している)FreeBSDのバージョンが14.2-RELEASEのようですし、13.4や14.2のリリースノートと共通している部分は以前の訳からほぼそのまま持ってきてますので、訳の正確さは保証できません。なので、「ふつーはそう訳さねーよ」という指摘は大歓迎です。
また、恒例のお断りですが、この文章の内容は、筆者が所属している会社・団体とは一切関わりがありません。いわゆる「自主的な研究の成果の発表」というものです。
では、以下、翻訳です。
要約
FreeBSD 13.5-RELEASEのリリースノートには、13-STABLE開発ラインでFreeBSDの基本システムに加えられた変更の概要が含まれています。この文書には、前回のリリース以降に発行された適用可能なセキュリティ勧告、およびFreeBSDカーネルとユーザーランドへの重要な変更点が記載されています。アップグレードに関するいくつかの簡単な説明もあります。
はじめに
この文書には、FreeBSD 13.5-RELEASEのリリースノートが含まれています。最近追加、変更、または削除されたFreeBSDの機能について説明しています。また、以前のバージョンのFreeBSDからのアップグレードに関する注意事項も記載しています。
このリリースノートが適用される「リリース」配布物は、13-STABLEが作成されて以来、13-STABLE開発ブランチに沿った最新のポイントを表しています。このブランチに沿ったビルド済みのバイナリリリース配布物に関する情報は、 https://www.FreeBSD.org/releases/ で見ることができます。
このリリースノートが適用される「リリース」配布物は、13.4-RELEASE以降の、13-STABLE開発ブランチに沿ったポイントを表しています。13.5-RELEASEは13-STABLEブランチからの最終リリースになる見込みです。このブランチに沿ったビルド済みのバイナリリリース配布物に関する情報は、 https://www.FreeBSD.org/releases/ で見ることができます。
このFreeBSD 13.5-RELEASEは「リリース版」配布物です。この配布物は、 https://www.FreeBSD.org/releases/ またはそのミラーサイトにあります。この (あるいは他の)FreeBSDの「リリース版」配布物を入手するための詳しい情報は、FreeBSDハンドブックのFreeBSDの入手方法に記載されています。
すべてのユーザには、FreeBSDをインストールする前にリリースの正誤表を参照することを推奨します。正誤表は、リリースサイクルの後半やリリース後に発見された 「最新の」情報で更新されます。典型的なものとしては、既知のバグやセキュリティ勧告、文書の修正に関する情報などがあります。FreeBSD 13.5-RELEASEの正誤表の最新版はFreeBSDのWebサイトで見ることができます。
この文書では、FreeBSD 13.4-RELEASE以降の新機能や変更点のうち、最もユーザが目にしやすいものを説明しています。一般に、ここに書かれている変更点は、MERGED機能と書かれていない限り13-STABLEブランチに固有のものです。
リリースノートの一般的な項目には、13.4-RELEASEの後に発行された最近のセキュリティ勧告、新しいドライバまたはハードウェアのサポート、新しいコマンドまたはオプション、主要なバグ修正、または提供されたソフトウェアのアップグレードが記載されています。また、主要なポート/パッケージまたはリリースエンジニアリングの実践への変更についても記載する場合があります。もちろん、リリース間でFreeBSDに加えられた変更をリリースノートにすべて列挙することはできません。この文書は主に、セキュリティ勧告、ユーザーに見える変更点、主要なアーキテクチャでの改善点に焦点を当てています。
FreeBSDの以前のリリースからのアップグレード
RELEASEバージョン(およびさまざまなセキュリティブランチのスナップショット)間のバイナリアップグレードは、freebsd-update(8)ユーティリティを使用してサポートされています。FreeBSD ハンドブックのバイナリアップグレード手順の詳細と合わせてリリース固有のアップグレード手順、FreeBSD 13.5-RELEASE アップグレード情報を参照してください。これは、FreeBSD の公式リリースの一部として配布されている、改変されていない GENERIC カーネルと同様に、 改変されていないユーザランドユーティリティも更新します。freebsd-update(8) ユーティリティは、 アップグレードされるホストがインターネットに接続されている必要があります。
/usr/src/UPDATINGの指示に従って、以前のバージョンからのソースベースのアップグレード(FreeBSDの基本システムをソースコードから再コンパイルしたもの)がサポートされています。
FreeBSDのアップグレードは、すべてのデータと構成ファイルをバックアップした後でのみ試みてください。
セキュリティと正誤表
この節では、13.4-RELEASE以降のさまざまなセキュリティ勧告と正誤表を示します。
セキュリティ勧告
勧告 | 日付 | トピック |
---|---|---|
FreeBSD-SA-24:15.bhyve | 19 September 2024 | bhyve(8) out-of-bounds read access via XHCI emulation |
FreeBSD-SA-24:16.libnv | 19 September 2024 | Integer overflow in libnv |
FreeBSD-SA-24:17.bhyve | 29 October 2024 | Multiple issues in the bhyve hypervisor |
FreeBSD-SA-24:18.ctl | 29 October 2024 | Unbounded allocation in ctl(4) CAM Target Layer |
FreeBSD-SA-24:19.fetch | 29 October 2024 | Certificate revocation list fetch(1) option fails |
FreeBSD-SA-25:01.openssh | 29 January 2025 | OpenSSH Keystroke Obfuscation Bypass |
FreeBSD-SA-25:02.fs | 29 January 2025 | Buffer overflow in some filesystems via NFS |
FreeBSD-SA-25:03.etcupdate | 29 January 2025 | Unprivileged access to system files |
FreeBSD-SA-25:04.ktrace | 29 January 2025 | Uninitialized kernel memory disclosure via ktrace(2) |
FreeBSD-SA-25:05.openssh | 21 February 2025 | Multiple vulnerabilities in OpenSSH |
正誤表
勧告 | 日付 | トピック |
---|---|---|
FreeBSD-EN-24:16.pf | 19 September 2024 | Incorrect ICMPv6 state handling in pf |
FreeBSD-EN-24:17.pam_xdg | 29 October 2024 | XDG runtime directory’s file descriptor leak at login |
FreeBSD-EN-25:01.rpc | 29 January 2025 | NULL pointer dereference in the NFSv4 client |
FreeBSD-EN-25:02.audit | 29 January 2025 | System call auditing disabled by DTrace |
FreeBSD-EN-25:03.tzdata | 29 January 2025 | Timezone database information update |
ユーザーランド
この節では、ユーザーランドアプリケーション、提供されたソフトウェア、およびシステム ユーティリティの変更と追加について説明します。
提供されたソフトウェア
libpcap は 1.10.3、1.10.4 および 1.10.5 に連続して更新されました。 (FreeBSD Foundation による後援)
tpcdump が 4.99.4 および 4.99.5 に連続して更新されました。(FreeBSD Foundation による後援)
tzdata が 2024b および 2025a に連続して更新されました。
expat が 2.6.3 および 2.6.4 に連続して更新されました。
less が v668 に更新されました。
file が 5.45 および 5.46 に連続して更新されました。
xz が 5.6.2 および 5.6.3 に連続して更新されました。
libusb の一部の機能が 1.0.16 バージョンからマージされました。 (FreeBSD Foundation による後援)
tzcode が 2024b に更新されました。(Klara, Inc. による後援)
複数の中間コミットとバージョン更新により、llvm-project が release/19.x llvmorg-19.1.7-0-gcd708029e0b2 に更新されました。これにより、llvm、clang、compiler-rt、libc++、libunwind、lld、lldb および openmp が更新されました。
libarchive(3) が 3.7.7 に更新されました。
unbound(8) が 1.21.0、1.21.1 および 1.22.0 に連続して更新されました。
wpa が 2.11 に更新されました。
bc が 7.0.0 および 7.0.2 に連続して更新されました。
sqlite3 が 3.46.1 に更新されました。
OpenSSH が 9.8p1、9.9p1 および 9.9p2 に連続して更新されました。 (FreeBSD Foundation による後援)
非推奨のアプリケーションと機能
gvinum(8) が 15.0 で削除されたことに注意するよう、非推奨の警告を更新しました。
shar(1) が非推奨となり、非推奨の警告が追加されました。 shar(1) プログラムは単純なものですが、sh アーカイブの基本的な考え方は、せいぜい危険なものであり、おそらく $PATH や man ページにあるプログラムのように目立つように宣伝すべきではないものでしょう。同じ機能は、代わりに tar(1) で簡単に見つけられます。
OpenSSH は 2025 年の早い時期に DSA 署名アルゴリズムのサポートを終了する予定ですが、 FreeBSD 13.5-RELEASE と stable/13 ブランチは、上流のベンダコードの更新を受ける予定はありません。しかし、インポートされたコンポーネントの潜在的なセキュリティ上の問題により、 ブランチの存続期間中に DSA 署名のサポートが削除される可能性があります。
デバイスとドライバ
この節では、13.4-RELEASE以降のデバイスとデバイスドライバの変更と追加について説明します。
デバイスドライバ
Purism coreboot キーボードのサポートが追加されました。
Realtek 8156/8156B のサポートを cdce(4) から ure(4) に移動しました。(FreeBSD Foundation による後援)
Brainboxes USB-to-Serial アダプタのサポートが追加されました。
非推奨および削除されたドライバ
agp(4) は FreeBSD 15.0 での削除が計画されており、man ページには非推奨であることが記述されています。
ストレージ
この節では、ファイルシステムおよびその他のストレージサブシステム(ローカルおよびネットワークの両方)の変更と追加について説明します。
ストレージ全般
mountd(8) で {NGROUPS_MAX} + 1 グループを渡すことを許容します。 NGROUPS_MAX は、許可された補助グループの数の最小の最大値です。実際の実行時の値はもっと大きいかもしれません。nmount(2) も同様に変更されました。(FreeBSD Foundation による後援)
UFS1 ファイルシステムの 2038 年 1 月 19 日の日付制限を 2106 年 2 月 7 日に延期しました。
gstat(8) のディスクの待ち時間のマイクロ秒の精度を追加しました。(Postgres Professional による後援)
cd9660 のディレクトリ名の重複を修正。この問題は、FreeBSD 14.2-RELEASE で初めて導入されたもので、 インストーライメージに重複した短い (レベル 2) 名前の cd9660 イメージを作成する原因となっていました。(FreeBSD Foundation による後援)
# ネットワーク
この節では、FreeBSDでのネットワークに影響を与える変更について説明します。
ネットワーク全般
PF_DEFAULT_TO_DROP を vnet ローダの調整可能な net.pf.default_to_drop に変換しました。7f7ef494f11d で、pf(4) のデフォルトルールを落とすようにするためのコンパイル時オプション PF_DEFAULT_TO_DROP を導入しました。この変更により、ユーザが pf(4) モジュールを再コンパイルすることなくデフォルトルールを変更できるよう、vnet ローダの調整可能な net.pf.default_to_drop が公開されます。この変更は、IPFW 5f17ebf94db5 の変更と同様のものです。
igc(4) ドライバに AIM を追加しました。 igc(4) は igb(4) から派生したもので、これまで AIM の実装を持っていませんでした。ここでは、e1000 からの同じアルゴリズムが適切です。 AIM アルゴリズムは、古い igb またはツリー外ドライバから再導入され、その後、他のドライバから Intel のコードを使用する許可を得て近代化されました。(Rubicon Communications、LLC/Netgate、BBOX.io による後援)
e1000 ドライバに AIM を再追加しました。(Rubicon Communications、LLC/Netgate、BBOX.io による後援)
古い itr sysctl ハンドラーが e1000 ドライバーから削除されました。新しい AIM コードにより、ほとんどのユーザーはこれを手動で調整する必要がなくなると思われます。(BBOX.io による後援)
SFP サポートの igb(4) ドライバを改善しました。(Nozomi Networks および BBOX.io による後援)
igb(4) ドライバのバージョンを 2.5.28-fbsd に更新しました。
ixgbe(4) の if_bypass が ix-3.3.38 に更新されました。
ixgbe(4) の if_ix が ix-3.3.38 の変更で更新されました。
ixgbe(4) の ixgbe_mbx が ix-3.3.38 の変更で更新されました。
ixgbe(4) の ixgbe_phy が ix-3.3.38 の変更で更新されました。
ixgbe(4) の if_sriov が ix-3.3.38 の変更で更新されました。
ena(4) ドライバのバージョンを 2.8.0 に更新しました。 (Amazon, Inc. による後援)
ハードウェアのサポート
この節では、物理マシン、ハイパーバイザー、仮想化環境に対する一般的なハードウェアのサポート、およびこの文書の他の節に当てはまらないハードウェアの変更と更新について説明します。
13.5-RELEASEでサポートされるハードウェアの一覧 を参照するとともに、サポートされるCPUアーキテクチャの完全なリストについては、プラットフォームのページを参照してください。
仮想化サポート
sysctl(8) がそれ自身を jail にアタッチして実行するようしました。これは、子 jail が (たとえば、軽量な OCI コンテナやスリムな jail など) sysctl(8) をインストールしていない場合に、親 jail がカーネル状態を取得または設定することを可能にします 。これは、 jail prison や vnet sysctls を操作する場合に特に有用です。たとえば、 sysctl -j foo -Ja または sysctl -j foo net.fibs=2。
ip6addrctl(8) が、それ自身を jail にアタッチして実行するようしました。これは、特に、軽量な OCI コンテナやスリムな jail に対して、vnet jail のアドレス選択ポリシーの管理を容易にします。
vnet sysctl(9) の変数をローダチューナブル。3da1cf1e88f8 のフェーズ 2 を完了しました。初期ブート時に sysctl を初期化するカーネル環境変数が存在するかどうかを自動的にチェックするため、フラグ CTLFLAG_TUN の意味を拡張しました。Hans Petter Selasky氏を偲んで。
sysctl(8) 経由で jail prison および vnet 変数をフィルタするためのフラグを追加しました。そのため、ユーザは、変数が jail prison / vnet のものかどうかを知るためにソースコードにコンタクトする必要がありません。
MAC の jail パラメータ用の共通の mac ノードを定義しました。MAC/doで使用します。(FreeBSD Foundation による後援)
ORACLE VMSIZE は、成長に対応するために引き上げられました。
OCI は releng ツーリングで ORACLE に改名された。これにより、将来の releng ツーリングは業界標準の Open Container Initiative ツーリングに OCI を使用できるようになり、Oracle Cloud Infrastructure を混乱させる可能性が減少しました。(SkunkWerks, GmbH による後援)
文書
この節では、基本システムに同梱されているマニュアル (man(1)) ページやその他の文書の変更について説明します。
man ページ
ccdconfig(8) で、gvinum(8) の代わりに graid(8) および zfs(8) を参照するようにしました。
ixgbe(4) は ix(4) に改名されました。
portsコレクションとパッケージのインフラ
この節では、FreeBSD Ports Collection、パッケージのインフラストラクチャ、パッケージのメンテナンスとインストールツールの変更点を扱います。
パッケージ化の変更点
KDE デスクトップ環境は、OpenSSL 1.1.1 との互換性の問題および今後のパッケージの破損のため、インストーライメージから削除されました。
インストールとアップグレード
bsdinstall zfsboot で ZFS プール作成オプションを編集するオプションが追加されました。これにより、ZFS ブートプールが作成される前に、デフォルトのオプション (-O compress=lz4 -O atime=off) を上書きできるようになります。例えば、圧縮アルゴリズムを別のものに設定する場合などです。
pkg repoデータベースの場所を追跡します。 pkg はアップストリームリポジトリのデータベースのコピーを /var/db/pkg/repo-*.sqlite に保存していました。約 1 年前、これは /var/db/pkg/repos/*/ に移動され、その結果 FreeBSD クラウドイメージからこれらのデータベースが削除されなくなりました。(Amazon による後援)
将来の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以降で非推奨とされるプラットフォームの一つ以上のサポートを拡張することで、プロジェクトはこのアプローチを変更する可能性があります。どのような変更も、コミュニティからのフィードバックと、 これらのプラットフォームをサポートするための努力によって進められるでしょう。