2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

FreeBSD 15.0-RELEASE リリースノート

2
Last updated at Posted at 2026-01-20

「はじめに」

この記事はFreeBSD 15.0-RELEASE Release Notesの日本語訳です。翻訳時点では、普段使っている(GhostBSDが依存している)FreeBSDのバージョンが14系統のようですので、訳の正確さは保証できません。なので、「ふつーはそう訳さねーよ」という指摘は大歓迎です。

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

では、以下、翻訳です。

概要

FreeBSD 15.0-RELEASE のリリースノートには、15-STABLE 開発ラインにおける FreeBSD ベースシステムへの変更点の要約が含まれています。この文書では、前回のリリース以降に発行された適用可能なセキュリティ勧告、および FreeBSD カーネルとユーザーランドへの重要な変更点を列挙しています。アップグレードに関する簡単な注意事項も記載されています。

はじめに

この文書はFreeBSD 15.0-RELEASEのリリースノートです。FreeBSDに最近追加、変更、または削除された機能について説明します。また、以前のバージョンのFreeBSDからのアップグレードに関する注意事項も提供します。
これらのリリースノートが適用される「リリース」ディストリビューションは、14.0-RELEASE と将来の 15.1-RELEASE の間の 15-STABLE 開発ブランチにおける最新のポイントを表します。このブランチに沿った事前ビルド済みバイナリ「リリース」ディストリビューションに関する情報は、https://www.FreeBSD.org/releases/ で確認できます。この(またはその他の)「リリース」ディストリビューションの入手方法に関する詳細は、FreeBSDハンドブックのFreeBSDの入手方法付録を参照してください。
すべてのユーザーは、FreeBSD をインストールする前にリリースエラッタを参照することを強く推奨します。エラッタ文書は、リリースサイクルの終盤またはリリース後に発見された「最新」情報で更新されます。通常、既知のバグ、セキュリティ勧告、およびドキュメントの修正に関する情報が含まれます。FreeBSD 15.0-RELEASE のエラッタの最新コピーは、FreeBSD Web サイトで見つけることができます。
この文書は、FreeBSD 14.0-RELEASE 以降でユーザーに最も目立つ新規または変更された機能について説明します。特に MERGED 機能として明記されていない限り、ここで説明される変更は基本的に 15-STABLE ブランチ固有のものです。
典型的なリリースノートの項目には、14.0-RELEASE 以降に発行された最近のセキュリティ勧告、 新しいドライバやハードウェアサポート、新しいコマンドやオプション、主要なバグ修正、または提供されたソフトウェアのアップグレードなどです。また、主要なポート/パッケージやリリースエンジニアリング手法の変更も記載される場合があります。リリース間のFreeBSDへのすべての変更をリリースノートに記載することは明らかに不可能です。この文書は主に、セキュリティ勧告、ユーザーに目に見える変更、および主要なアーキテクチャの改善に焦点を当てています。

以前のFreeBSDリリースからのアップグレード

FreeBSDのアップグレードは、すべてのデータと設定ファイルをバックアップした後にのみ試行してください。

ディストリビューションセットからのアップグレード

スナップショットとRELEASE バージョン間のバイナリアップグレードは、freebsd-update(8) ユーティリティを使用してサポートされています。リリース固有のアップグレード手順については、FreeBSD 15.0-RELEASE アップグレード情報を参照し、詳細については FreeBSD ハンドブックのバイナリアップグレード手順を参照してください。これにより、変更されていないユーザランドユーティリティと、公式FreeBSDリリースの一部として配布される変更されていないGENERICカーネルが更新されます。freebsd-update(8)ユーティリティは、アップグレード対象のホストがインターネット接続を有していることを必要とします。

パッケージからのアップグレード

FreeBSD 15.0のPRERELEASE、ALPHA、BETAビルドのユーザーは、FreeBSD.orgインフラストラクチャにおける直前の変更のため、pkg-upgrade(8)ユーティリティを使用した直接アップグレードは不可能です。

パッケージ化されたベースシステムのインストールには、15.0-RELEASEタグのソースツリーチェックアウトから必要なファイルを手動でコピーするか、あるいは公式リリースベースシステムパッケージからFreeBSD-pkg-bootstrapパッケージを強制インストールする必要があります。

推奨される最も安全な方法は、2025年11月27日 22:00 UTC以降のhead、stable/15、またはreleng/15.0ブランチのいずれかのソースツリーチェックアウトを使用することです。

# cp /usr/src/usr.sbin/pkg/FreeBSD.conf.quarterly-release \
       /etc/pkg/FreeBSD.conf
# cp -R /usr/src/share/keys/pkgbase-15 /usr/share/keys/pkgbase-15

最新のソースをインストールしていないユーザーは、セキュリティは低くなりますが、インストール後にチェックサムを検証するというより簡単な方法を利用できます。これらはアーキテクチャに依存しないファイルであるため、チェックサムはすべてのプラットフォームで一致します。pkg(8) によるアップグレードの前に、FreeBSD-base パッケージリポジトリを有効にする必要があります:

# pkg add -f https://pkg.freebsd.org/FreeBSD:15:$(uname -p)/base_release_0/FreeBSD-pkg-bootstrap-15.0.pkg
# sha256 -r /etc/pkg/FreeBSD.conf /usr/share/keys/pkg/trusted/pkg.freebsd.org.2013102301 \
  /usr/share/keys/pkgbase-15/trusted/awskms-15 /usr/share/keys/pkgbase-15/trusted/backup-signing-15
ab261a3b84ffc11654ac0bafbb7d6b3f1b6afc30bfabab3bcff64259678eac26 /etc/pkg/FreeBSD.conf
036ae4f9c441a3febb41734bbb37227ec3374edd3c6c687e5cb70d580efbea30 /usr/share/keys/pkg/trusted/pkg.freebsd.org.2013102301
529c79e85a6ca152faa9d57ead85fe0111ffada8d0a0fa2f11fc510999fa50df /usr/share/keys/pkgbase-15/trusted/awskms-15
c368ec8d05654bdaad34742c1d75b9b150bfc3892838cef32f6e5b036b0c0605 /usr/share/keys/pkgbase-15/trusted/backup-signing-15
# mkdir -p /usr/local/etc/pkg/repos
# echo "FreeBSD-base: { enabled: yes }" > /usr/local/etc/pkg/repos/FreeBSD.conf

ソースからのアップグレード

以前のバージョンからのソースベースのアップグレードは、releng/15.0 ブランチをコンパイルすることでサポートされています。/usr/src/UPDATING の手順を参照してください。

含まれるセキュリティ修正とエラッタパッチ

このセクションでは、14.0-RELEASE 以降に発行され、15.0-RELEASE で対処された各種セキュリティアドバイザリとエラッタ通知を一覧表示します。

修正済みセキュリティアドバイザリ

アドバイザリ 日付 項目
FreeBSD-SA-23:17.pf 05 December 2023 pf(4)におけるTCPスプーフィング脆弱性
FreeBSD-SA-23:18.nfsclient 12 December 2023 NFSクライアントのデータ破損およびカーネルメモリ開示
FreeBSD-SA-23:19.openssh 19 December 2023 SSHプロトコルにおけるプレフィックス切り捨て攻撃
FreeBSD-SA-24:01.bhyveload 14 February 2024 bhyveload(8) ホストファイルアクセス
FreeBSD-SA-24:02.tty 14 February 2024 jail(2) 情報漏洩
FreeBSD-SA-24:03.unbound 28 March 2024 unbound の複数の脆弱性
FreeBSD-SA-24:04.openssh 01 July 2024 OpenSSH 事前認証リモートコード実行
FreeBSD-SA-24:05.pf 07 August 2024 pf が状態テーブル内の異なる ICMPv6 状態を誤って照合
FreeBSD-SA-24:06.ktrace 07 August 2024 kktrace(2) が setuid バイナリ実行時に分離に失敗
FreeBSD-SA-24:07.nfsclient 07 August 2024 NFSクライアントがパス区切り文字を含むファイル名を受け入れる
FreeBSD-SA-24:08.openssh 07 August 2024 OpenSSH事前認証の非同期シグナル安全性の問題
FreeBSD-SA-24:09.libnv 04 September 2024 libnv の複数の脆弱性
FreeBSD-SA-24:10.bhyve 04 September 2024 bbhyve(8) TPM デバイスパススルー経由の特権ゲストエスケープ
FreeBSD-SA-24:11.ctl 04 September 2024 ctl(4) CAM ターゲット層における複数の問題
FreeBSD-SA-24:12.bhyve 04 September 2024 bhyve(8) USB コントローラ経由の特権ゲストエスケープ
FreeBSD-SA-24:13.openssl 04 September 2024 OpenSSL の X.509 名チェックにおける DoS の可能性
FreeBSD-SA-24:14.umtx 04 September 2024 umtx カーネルパニックまたは解放後使用
FreeBSD-SA-24:15.bhyve 19 September 2024 bhyve(8) XHCI エミュレーションによる範囲外読み取りアクセス
FreeBSD-SA-24:16.libnv 19 September 2024 libnv における整数オーバーフロー
FreeBSD-SA-24:17.bhyve 29 October 2024 bhyve ハイパーバイザーにおける複数の問題
FreeBSD-SA-24:18.ctl 29 October 2024 ctl(4) CAM ターゲット層における無制限の割り当て
FreeBSD-SA-24:19.fetch 29 October 2024 証明書失効リスト fetch(1) オプションの失敗
FreeBSD-SA-25:01.openssh 29 January 2025 OpenSSH キーストローク難読化バイパス
FreeBSD-SA-25:02.fs 29 January 2025 NFS経由での一部ファイルシステムにおけるバッファオーバーフロー
FreeBSD-SA-25:03.etcupdate 29 January 2025 システムファイルへの非特権アクセス
FreeBSD-SA-25:04.ktrace 29 January 2025 ktrace(2) 経由の初期化されていないカーネルメモリの開示
FreeBSD-SA-25:05.openssh 21 February 2025 OpenSSH の複数の脆弱性
FreeBSD-SA-25:06.xz 02 July 2025 マルチスレッド xz デコーダにおける解放後メモリ使用
FreeBSD-SA-25:07.libarchive 08 August 2025 libarchive の整数オーバーフローによる二重解放
FreeBSD-SA-25:08.openssl 30 September 2025 OpenSSL の複数の脆弱性
FreeBSD-SA-25:09.netinet 22 October 2025 SO_REUSEPORT_LBによる UDP ソケットの connect(2) の破損
FreeBSD-SA-25:10.unbound 26 November 2025 local-unbound サービスにおけるキャッシュポイズニング

修正済みエラッタ通知

エラッタ 日付 項目
FreeBSD-EN-23:15:sanitizer 2023年12月1日 ASLR 有効時の Clang sanitizer の失敗
FreeBSD-EN-23:16:openzfs 2023年12月1日 OpenZFS データ破損
FreeBSD-EN-23:17:ossl 2023年12月5日 ossl(4) の AES-GCM 実装が不正な結果を返す可能性がある
FreeBSD-EN-23:18:openzfs 2023年12月5日 ZFS カーネルスレッドによる高い CPU 使用率
FreeBSD-EN-23:19:pkgbase 2023年12月5日 FreeBSD 14.0-RELEASE の pkgbase バージョン番号が不正確
FreeBSD-EN-23:20:vm 2023年12月5日 カーネル物理メモリアロケータによる不正な結果
FreeBSD-EN-23:21:tty 2023年11月24日 tty(4) IUTF8 によるカーネルパニック
FreeBSD-EN-23:22:vfs 2023年12月5日 ZFS スナップショットディレクトリが NFS 経由でアクセス不可
FreeBSD-EN-24:01:tzdata 2024年2月14日 タイムゾーンデータベース情報の更新
FreeBSD-EN-24:02:libutil 2024年2月14日 ログインクラスリソース制限とCPUマスクのバイパス
FreeBSD-EN-24:03:kqueue 2024年2月14日 kqueue_close(2) rfork(2) 使用時の終了時のページフォルト
FreeBSD-EN-24:04:ip 2024年2月14日 bind(2) によって引き起こされるカーネルパニック
FreeBSD-EN-24:05:tty 2024年3月28日 TTY カーネルパニック
FreeBSD-EN-24:06:wireguard 2024年3月28日 WireGuard if_wg(4) のバリア不足
FreeBSD-EN-24:07:clang 2024年3月28日 特定の最適化を有効にした場合の Clang のクラッシュ
FreeBSD-EN-24:08:kerberos 2024年3月28日 弱い暗号を使用するとKerberosがセグメンテーションフォルトを起こす
FreeBSD-EN-24:09:zfs 2024年4月24日 ZFSに関連するカーネルスレッドによる高いCPU使用率
FreeBSD-EN-24:10:zfs 2024年6月19日 ZFSにおけるカーネルメモリリーク
FreeBSD-EN-24:11:ldns 2024年6月19日 resolv.conf でコメントアウトされたネームサーバーを LDNS が使用
FreeBSD-EN-24:12:killpg 2024年6月19日 killpg におけるロック順序の逆転によるライブロック
FreeBSD-EN-24:13:libc++ 2024年6月19日 ヒープ割り当てされた std::string の削除に不正なサイズが渡される
FreeBSD-EN-24:14:ifconfig 2024年8月7日 ifconfig のネットマスク割り当てが不正
FreeBSD-EN-24:15:calendar 2024年9月4日 cron(8) / periodic(8) セッションログイン
FreeBSD-EN-24:16:pf 2024年9月19日 pf における不正な ICMPv6 状態処理
FreeBSD-EN-24:17:pam_xdg 2024年10月20日 ログイン時の XDG ランタイムディレクトリのファイル記述子リーク
FreeBSD-EN-25:01.rpc 2025年1月29日 NFSv4 クライアントにおける NULL ポインタの参照解除
FreeBSD-EN-25:02.audit 2025年1月29日 DTrace によるシステムコール監査の無効化
FreeBSD-EN-25:03.tzdata 2025年1月29日 タイムゾーンデータベース情報の更新
FreeBSD-EN-25:04.tzdata 2025年4月10日 タイムゾーンデータベース情報の更新
FreeBSD-EN-25:05.expat 2025年4月10日 expat を 2.7.1 に更新
FreeBSD-EN-25:06.daemon 2025年4月10日 daemon(8) にシグナルが欠落
FreeBSD-EN-25:07.openssl 2025年4月10日 OpenSSL を 3.0.16 に更新
FreeBSD-EN-25:08.caroot 2025年4月10日 ルート証明書バンドル更新
FreeBSD-EN-25:09:libc 2025年7月2日 動的ロードされたC++ライブラリが終了時にクラッシュ
FreeBSD-EN-25:10:zfs 2025年7月2日 暗号化データセットからのZFSレプリケーションストリームの破損
FreeBSD-EN-25:11:ena 2025年7月2日 ena Nitro v4 以降のインスタンスでリセットおよびカーネルパニックが発生
FreeBSD-EN-25:12:efi 2025年8月8日 bsdinstall(8) が IA32 UEFI ファームウェアを搭載したシステムで正しいローダーをコピーしない
FreeBSD-EN-25:13:wlan_tkip 2025年8月8日 net80211 TKIP 暗号サポートが一部のドライバで失敗する
FreeBSD-EN-25:14:route 2025年8月8日 route(8) がファイルにリダイレクトされたときにバッファを過剰に監視する
FreeBSD-EN-25:15:arm64 2025年9月16日 arm64 syscall(2) により、非特権ユーザーがカーネルをパニック状態にできる
FreeBSD-EN-25:16:vfs 2025年9月16日 copy_file_range(2) が出力パラメータの設定に失敗する
FreeBSD-EN-25:17:bnxt 2025年9月16日 bnxt(4) が、場合によってはメディアタイプを設定できない
FreeBSD-EN-25:18:freebsd-update 2025年9月30日 freebsd-update(8) がライブラリを誤った順序でインストールする

アーキテクチャ

由緒ある 32 ビットハードウェアプラットフォームである i386、armv6、および 32 ビット powerpc は廃止されました。32 ビットアプリケーションのサポートは、それぞれの 64 ビットプラットフォームにおける 32 ビット互換モードを通じて継続されます。armv7 プラットフォームは、最後にサポートされる 32 ビットプラットフォームとして残ります。これらのプラットフォームの貢献に感謝します。

ユーザーランド

本節では、ユーザーランドアプリケーション、寄贈ソフトウェア、システムユーティリティの変更点と追加点を扱います。

ユーザーランド設定変更

Kerberos v5認証サービス、krb5kdc(8)は、daemon(8)の下に新しいkdc_restart変数を獲得しました。異常終了時にkdcを自動再起動するには、rc.confにkdc_restart=「YES」 (5) で kdc_restart="YES" を設定すると、異常終了時に kdc が自動再起動されます。kdc_restart_delay=「N」 を設定すると、再起動までの遅延時間を秒単位で指定できます。

daily periodic(8) スクリプトは、出力サイズ削減のため、デフォルトでメール内のコンテキスト表示を縮小します。この動作は periodic.conf(5) の daily_diff_flags 変数で制御可能です。同様に、セキュリティスクリプトによる変更表示も以前よりコンテキストが少なくなり、periodic.conf(5)内のsecurity_status_diff_flags変数で制御されます。

bsnmpd(1)デーモンはレガシーUDPトランスポートをサポートしなくなりました。12.0-RELEASE 以前のバージョンから /etc/snmpd.config を更新していない場合は、新しい設定をマージする必要があります。特に、トランスポートの定義は begemotSnmpdPortStatus OID から begemotSnmpdTransInetStatus に変更する必要があります。

FreeBSD-base リポジトリは、/etc/pkg/ FreeBSD.conf に定義されるようになりました。デフォルトでは無効化されています。15.0-RC1以前(releng/15.0を実行中)または11月15日以前(stable/mainスナップショットを実行中)にpkgbaseをインストールしたシステムでは、/usr/local/etc/pkg/repos/からFreeBSD-baseリポジトリの定義を削除し、単一行FreeBSD-base: { enabled: yes }で置き換える必要があります。

arm64 Raspberry Pi 用イメージ(arm64-aarch64-RPI ファイル)では、/etc/rc.conf 上で powerd(8) ユーティリティがデフォルトで有効になりました。これにより、CPU クロックが常に遅く動作するのを防ぎます。

ユーザーランドアプリケーションの変更

bsdinstall(8) で使用される adduser(8) ユーティリティは、親ディレクトリが ZFS データセット上に存在する場合は、新規ユーザーのホームディレクトリ用に ZFS データセットを作成するようになりました。別個のデータセットの使用を無効にするコマンドラインオプションが利用可能です。ZFS 暗号化も利用可能です。

date(1) プログラムがナノ秒をサポートするようになりました。例: date -Ins は 「2024-04-22T12:20:28,763742224+02:00」 を、date +%N は 「415050400」 を出力します。(Klara, Inc. による後援)

dtrace(1) ユーティリティは、libxo(3) を使用して JSON、XML、HTML の機械可読出力を生成できるようになりました。(Innovate UK による後援)

lastcomm(1) ユーティリティは、タイムスタンプを秒単位の精度で表示するようになりました。(DSS Gmbh による後援)

ldconfig(8) ユーティリティは、いずれのバイト順のヒントファイルもサポートするようになりました。デフォルトのフォーマットは、ホストのネイティブバイト順です。

usbconfig(8) ユーティリティは、pciconf(8) と同様に、利用可能な場合 /usr/share/misc/usb_vendors から USB ベンダーおよび製品の記述を読み取るようになりました。

env(1) ユーティリティにディレクトリを変更するオプションが追加されました。これは GNU 版の env の機能に非常に似ていますが、 ただしロングオプションはサポートしていません。 (Klara, Inc. による後援)

ps(1) ユーティリティは、明示的に要求された列と同じデータを含む既定の表示列を自動的に削除するようになりました。この変更前は、ユーザーが「既定の表示」の追加を要求した場合(オプション -j、 -l、 -u、 または -v)、 コマンドラインで先に明示的に要求された列と重複する列が含まれる場合、それらは省略されました。しかし、明示的に要求された列の前に既定の表示が現れる逆のケースでは機能しませんでした。さらに、同じキーワードを持つ列に加えて、異なるキーワードを持つ列でも、同じキーワードへのエイリアスである場合、同じデータを持つものとみなされるようになりました。(The FreeBSD Foundation による後援)

ps(1) ユーティリティの -O オプションは、より汎用性が高く予測可能になりました。ps(1) 表示の列リストは、まず -O オプションを考慮せずに構築されます。次に、-O 経由で渡された全ての列が、構築済みの表示の最初の PID 列(存在する場合、存在しない場合は先頭)の後に、-O オプションへの引数として指定された順序で最終的に挿入されます。(The FreeBSD Foundation による後援)

ps(1) ユーティリティの -a および -Aオプションは常に全てのプロセスを表示するようになりました。他のプロセス選択に影響するオプション(-Xおよび-xを除く)と組み合わせた場合、-aオプションは効果を持たず(-Aは単に-xに還元されます)。これは、これらのオプションのいずれかが指定され選択された時点で1つのプロセスがリストされるという、他の全ての選択オプションに適用される規則と矛盾していました。これはPOSIXで義務付けられており、また当然の期待と言えるものです。実際の影響として、-aまたは-Aを指定すると、-U、-p、-Gなどの他の選択オプション(ただしフィルタオプションである-Xおよび-xは引き続き適用される)にかかわらず、すべてのプロセスが一覧表示されるようになりました。ただし、-Xおよび-xフィルタオプションは引き続き適用されます。特に、特定のジェイルからのみプロセスをリストするには、-aと-Jを併用してはいけません。オプション-Jは、当初の意図とは裏腹に、バグの影響で偶然-aと併用した場合を除き、実際にはフィルタとして機能したことはありませんでした。 (The FreeBSD Foundation による後援)

ps(1) ユーティリティは、現在のユーザーのプロセスを実ユーザーIDではなく実効ユーザーIDで照合するようになりました。これにより、この点において ps(1) は POSIX に準拠します。(The FreeBSD Foundation による後援)

ps(1) ユーティリティの -U フラグは、現在、実ユーザー ID によってプロセスを選択します。これは、オプション -U に対して POSIX が要求するものであり、おそらくほとんどのユーザーが実際に必要とする動作です。以前は、-U は、実効ユーザー ID によってプロセスを選択していました(これは、オプション -u に対して POSIX が要求する動作です)。(The FreeBSD Foundation による後援)

sysctl(8) ユーティリティに、jail prison および vnet 変数をフィルタリングするフラグが追加されました。これにより、変数が jail prison / vnet 変数であるかどうかを判断するためにソースコードを参照する必要がなくなりました。615c9ce250ee

grep(1)ユーティリティは、再帰検索においてデフォルトでシンボリックリンクを追跡しなくなりました。これはマニュアルページに記載された動作に一致するものです。

mdo(1)ユーティリティは、ターゲット認証情報内の全ユーザーとグループを完全に指定できるようになりました。利便性のため、完全な明示的指定に加えて、全属性のデフォルト値を提供するベースラインから開始することが可能です。これはパスワードデータベース内の任意のユーザーのログイン認証情報、または現在の認証情報のいずれかです。その後、これらの属性を選択的に修正できます。マニュアルページは、新しいオプションとその相互作用を説明するために更新されました。(The FreeBSD Foundation による後援) (Google LLC による後援(GSoC 2025))

シングルユーザーモードで起動する場合、init(8) は作業ディレクトリを /rootに変更するようになりました。/ はフォールバックとしてのみ使用されます。/.profile への /root/.profile へのシンボリックリンクはインストールされなくなりました。

非推奨の ftpd (8)はベースシステムから削除されました。引き続き必要とするユーザーはftp/freebsd-ftpdポートをインストールできます。

Kerberos v5データベース管理プログラムは、Heimdal KDCデータベースをMIT KDCにロード可能な形式でダンプする方法を習得しました。詳細はを参照してください。KDCデータベースの転送/変換方法については、https://wiki.freebsd.org/Kerberos/Heimdal2MIT_KDC_Migration を参照し、kadmin -l dump -f を使用して KDC データベースを転送/変換する方法を確認してください。

bsdconfig(8) および bsdinstall (8)ユーティリティは、GNU dialog の代わりに bsddialog(1) を使用するようになりました。

jail (8) コマンドは、ZFS データセットのリストを jail にアタッチするための zfs.dataset パラメータをサポートするようになりました。

jail(8) コマンドは、jail に関連付けられた任意の文字列である meta および env パラメータをサポートするようになりました。これらのパラメータは、特定のメタデータで jail にタグを付けるため、または jail 内でアクセスされる情報を安全に渡すために使用できます。これらは jail 作成時に追加することも、後で jail(8) を使って変更することもできます。(SkunkWerks, GmbH による後援)

rc.d/jail スタートアップスクリプトが、レガシー変数 jail_${jailname}_zfs_dataset をサポートするようになりました。これにより、ezjail のようなメンテナンスされていない jail マネージャーでも、新しい zfs.dataset 機能(上記参照)を利用できるようになります 。

newsyslog(8) ユーティリティは、newsyslog.conf ファイルの先頭でグローバル圧縮方法を直接指定できるようになりました。これにより、従来の圧縮フラグ(J、X、Y、Z)は、「その特定の方法でファイルを圧縮する」ではなく、「ファイルを圧縮可能として扱う」ことを示すようになります。利用可能な方法は以下の通りです:

  • none: 圧縮しない。
  • blegacy: 従来の動作 (J=bzip2, X=xz, Y=zstd, Z=gzip)。
  • bzip2, xz, zstd, gzip: 指定された圧縮方法を適用。

寄贈ソフトウェア

One True Awk (awk(1)) が第2版に更新され、新しい -csv サポートと UTF-8 サポートが追加されました。使用されたスナップショットは 20250804 です。 (Netflix による後援)

システムリファレンスマニュアルツールチェーンであるmandoc(1)がバージョン1.14.6スナップショット2025-09-26に更新されました。このバージョンでは、groffおよびDocBookとの互換性の改善、htmlおよびmarkdown出力の改善、LIBRARYセクションの非推奨化が含まれています。

jemalloc(3) ライブラリがバージョン 5.3.0 に更新されました。

bmake(1) ビルドシステムが 20250804 にアップグレードされ、多くのデバッグ改善、gmake構文の検出と拒否などのバグ修正、-jオプションへの浮動小数点引数の使用(利用可能な CPU 数の倍数として)などの機能改善が提供されています。

sendmail(8) スイートがバージョン 8.18.1 にアップグレードされ、CVE-2023-51765 が修正されました。

bc(1) 電卓が 7.1.0 にアップグレードされました。

blacklistスイートは、上流でblocklistに名前が変更されました。既存の設定は警告を出力しながら動作を継続します。使用されたスナップショットは20251026です。

bsddialog(1)ユーティリティが1.0.5にアップグレードされました。

byacc(1) パーサージェネレータが 20240109 にアップグレードされました。

libarchive ライブラリが 3.8.2 にアップグレードされました。

libcbor ライブラリが 0.11.0 にアップグレードされました。(The FreeBSD Foundation による後援)

libcxxrt ライブラリがベンダースナップショット 6f2fdfebcd62 にアップグレードされました。

libfido2 ライブラリが 1.14.0 にアップグレードされました。(The FreeBSD Foundation による後援)

libpcap ライブラリが 1.10.5 にアップグレードされました。(The FreeBSD Foundation による後援)

ncurses(3) ライブラリが 6.5 にアップグレードされました。

tcpdump(1) ユーティリティが 4.99.5 にアップグレードされました。 (The FreeBSD Foundation による後援)

unbound DNS 検証リゾルバが 1.24.1 にアップグレードされました。

llvm コンパイラインフラストラクチャが 19.1.7-0-gcd708029e0b2 にアップグレードされました。

OpenZFS ファイルシステムが zfs-2.4.0-rc4 に更新されました。

xz(1) データ圧縮ツールが 5.8.1 に更新されました。

less(1) ページャが v679 に更新されました。

file(1) 識別子が 5.46 に更新されました。

zlib(3) データ圧縮ライブラリが 1.3.1 に更新されました。

タイムゾーンデータベース、tzdataが 2025b に更新されました。

OpenSSH が 10.0p2 に更新されました。(The FreeBSD Foundation による後援)

OpenSSL が 3.5.4 に更新されました。

Lua が 5.4.8 に更新されました。(Netflix による後援)

Google Test C テストフレームワークが 1.15.2 に更新されました。特筆すべき変更点として、GoogleTest 1.15.x は正式に C++14 を要求するようになりました(1.14.x は C++11 を要求)。

spleen vt(4) コンソールフォントがバージョン 2.1.0 に更新されました。

MIT KRB5 1.22.1 Kerberos がデフォルトで Heimdal 1.5.2 に置き換わりました。Heimdal 1.5.2 は、WITHOUT_MITKRB5 フラグを使用して引き続きビルドできます。Heimdal Kerberos は FreeBSD 16 で完全に削除される予定です。-fフラグに関する注記も参照してください。ユーザーランドアプリケーションの変更セクションの kadmin -l dump に関する注記も参照してください。(The FreeBSD Foundation による後援)

rtw88(4) ドライバが Linux v6.17 に更新されました。デバイスが認証できない可能性がある問題は現在も調査中です。(The FreeBSD Foundation による後援)

rtw89(4) ドライバが Linux v6.17 に更新されました。このドライバはテストが不十分であり、まだ問題がある可能性があります。(The FreeBSD Foundation による後援)

iwlwifi(4) ドライバが Linux v6.17 に更新されました。BE200 ベースのチップセットには、本リリースに含まれていない追加のドライバ修正を必要とする新しいファームウェアが必要です。 (The FreeBSD Foundation による後援)

ランタイムライブラリとAPI

libutil の setusercontext(3) ルーチンは、適切な条件下でホームディレクトリの .login.conf ファイルからプロセス優先度 (nice) を設定するようになりました。これはシステム全体の login.conf(5) 。優先度はinherit値を取れるようになり、親プロセスの優先度を継承することを示します。同様に、umaskもinherit値を取れます。(Kumacom SAS による後援)

Cライブラリの多くの文字列およびメモリ操作は、amd64システムで利用可能な場合にパフォーマンス向上のためSIMD (単一命令複数データ) 拡張を使用するようになりました。詳細はsimd(7)を参照してください。(The FreeBSD Foundation による後援)

128ビット関数 tgammal の実装が大幅に改善されました。対応プラットフォームでは、数学ライブラリ math(3) で利用可能です。

fma(3) は特定の小さな入力値に対して、正しい符号のゼロを返すようになりました(Python テストスイートで確認済み)。(The FreeBSD Foundation による後援)

cap_rights_is_empty 関数が追加されました。これは、cap_rights_t に権利が設定されていないかどうかを報告します。(The FreeBSD Foundation による後援)

libcxxrt が上流 6f2fdfebcd62 に更新されました。

asinf(3) および acosf(3) の精度が向上しました。

setgroups(2) および getgroups (2)システムコールおよびinitgroups(3)ライブラリ関数が変更され、実効グループIDの設定や報告を回避し、補助グループのみを扱うようになりました。この変更の主な目的は、Linux/glibc、OpenBSD、 NetBSD、illumosベースのシステムとの互換性を確保し、将来のセキュリティ問題を回避するためです。結果として、ほぼ全ての移植可能なアプリケーションは既にこの新しい動作に準拠しており、正しく動作し続けるか、この過程で修正されるでしょう(例:OpenSSHに影響する239e8c98636aを参照)。ただし、慎重を期すため、移植担当者、システム管理者、ユーザーは、setgroups(2)、 getgroups(2)、initgroups(3)を使用してアプリケーションを監査し、以下の点に注意する必要があります。アプリケーションは、実効グループIDを設定するために、setgroups(2)またはinitgroups(3)に加えて、setgid(2)またはsetegid(2)を使用している必要があります。また、getgroups(2)が返す配列の最初の要素を特別扱いせず、他の補助グループと同様に扱う必要があります。詳細は、setgroups(2)、getgroups(2)、initgroups(3) マニュアルページに追加された「セキュリティに関する考慮事項」セクションを参照してください。互換性システムコールおよびライブラリ関数が提供されているため、FreeBSD 14 システムまたはそれ以前にコンパイルされたバイナリおよびライブラリは、以前と全く同じように動作し続けます。(The FreeBSD Foundation による後援)

libcには、古いバージョンの FreeBSD 用にコンパイルされた実行ファイル/ライブラリを実行可能にする互換性関数が含まれています。それ自体が互換性システムコールを使用しているものは、それらを正しく参照できず、実行時に誤動作を引き起こしていました。これは修正されました。(The FreeBSD Foundation による後援)

readdir_r(3) 関数は非推奨となり、将来のリリースで削除される可能性があります。プログラム内で使用すると、コンパイル時およびリンク時の警告が発生します。(Klara, Inc. による後援)

ランタイムリンカ rtld(1) が、静的リンカフラグ -z initfirst で指定されるサポートを拡張しました。 (The FreeBSD Foundation による後援)

その他

vt(4) 用の Gallant フォントが更新され、4300 以上の新しいグリフが追加されました。これには、ギリシャ語、キリル文字、国際音声記号拡張、拡張ラテン文字、Zapf Dingbats、多数の矢印、多数の数学記号、文字のような記号、囲まれた英数字、 ピクセルパーフェクトなボックス描画、通貨記号、追加の句読点、コンニチハと言える程度のカタカナ、プライベートユース領域U+e0a0のパワーライングリフ。

Unicodeサポートは16.0.0に、CLDRは45.0.0に更新されました。

非推奨アプリケーション

fdisk(8) は長らく gpart(8) に置き換えられるべき非推奨状態でしたが、削除されていません。このアプリケーションを実行すると、gpart(8) への移行を促す警告が表示されます。(The FreeBSD Foundation による後援)

syscons(4) の非推奨通知が追加されました。syscons(4) は UEFI と互換性がなく、UTF-8 をサポートせず、Giant ロックを使用しています。削除の具体的なスケジュールはまだありませんが、Giant ロックのサポートは 1~2 回のメジャーリリースサイクルで終了する見込みです。(The FreeBSD Foundation による後援)

shar ユーティリティが削除されました。sysutils/freebsd-shar のポートとして存続します。

暗号的に脆弱な DSA 署名アルゴリズムが、上流に追随して OpenSSH から削除されました。

publickey(5) データベースが削除されました。これは DES を使用しており、2025 年には誰も使用していないことを願っています。

クラウドサポート

このセクションでは、クラウド環境のサポートに関する変更点を説明します。

15.0-RELEASE は、nuageinit スタートアップスクリプトや config-drive パーティションのサポートを含む cloudinit をサポートしています。これは OpenStack や多くのホスティング施設と互換性があります。cloud-init ウェブサイトおよびコミットメッセージ 16a6da44e28d 227e7a205edf を参照してください。(OVHcloud による後援)

基本クラウドイニシャライザイメージは、デフォルトでSSH用のRSAホストキーを生成しなくなりました。

FreeBSDプロジェクトは、OCI互換コンテナイメージを公開しています。

FreeBSDプロジェクトは、Oracle Cloud Infrastructureイメージを公開しています。詳細はOracle Cloud Infrastructure FreeBSDリストを参照してください。

Amazon EC2クラウドの「shutdown」および「reboot」APIが、arm64(「Graviton」)インスタンスで動作するようになりました。(Amazon による後援)

複数のバグ修正と設定変更により、x86およびarm64(「Graviton」)EC2インスタンスの両方でデバイスのホットプラグが可能になりました。 (Amazon による後援)

以前のFreeBSDリリースからEC2インスタンスをアップグレードするユーザーは、/boot/loader.confに hw.pci.intx_reroute=0および debug.acpi.quirks=「56」を設定する必要があります。

FreeBSDプロジェクトは「small」EC2イメージを公開しています。これは「base」イメージからデバッグシンボル、テスト、32ビットライブラリ、LLDBデバッガー、Amazon SSM Agent、AWS CLIを除いたものです。(Amazon による後援)

FreeBSD プロジェクトは「ビルダー」EC2 イメージを公開しています。これらはメモリディスクで起動し、クリーンな「ベース」イメージをルートディスク(/mntにマウント)に抽出して AMI 作成前にカスタマイズします。(Amazon による後援)

FreeBSD「ベース」EC2イメージの起動速度が、対応する14.0-RELEASEイメージと比較して最大76%向上しました。特にarm64(「Graviton」)インスタンスで顕著な改善が見られます。

EC2 AMI は、SSH 用の RSA ホストキーをデフォルトで生成しなくなりました。非常に古い SSH クライアントをサポートする必要がある場合は、/etc/rc.conf で sshd_rsa_enable=「YES」 を設定することで、RSA ホストキーの生成を再度有効にすることができます。(Amazon による後援)

FreeBSD 15.0-RELEASE は、Google Cloud Compute Engine C4 マシンをサポートするようになりました。(Google による後援)

カーネル

このセクションでは、カーネル設定、システムチューニング、およびシステム制御パラメータの変更について、他のカテゴリに分類されないものを扱います。

カーネル全般の変更

ktrace(2) は、機能モード違反に関する詳細な情報を記録するようになりました。kdump(1) ユーティリティは、この情報を表示するように更新されました。

FreeBSD は Linux の inotify(2) インターフェースをネイティブ実装しました。システムコール自体は API 互換ではありませんが、libc が API 互換のインターフェースを提供するため、inotify に依存するソフトウェアは修正なしで実行可能です。(Klara, Inc. による後援)

fpu_kern_enter および fpu_kern_leave ルーチンが powerpc 向けに実装され、カーネル内で浮動小数点およびベクトルレジスタを使用する ossl(4) 暗号関数の利用が可能になりました。

arm64 でのレガシー PCI ホットプラグをサポート。(Arm Ltd による後援)

Jail は、jail_set(2) および jail_get(2) の jail 記述子、ならびに新しい jail_attach_jd(2) および jail_remove_jd(2) システムコールを介してアクセスできるようになりました。これにより、jail ID に固有の競合状態なしにファイル記述子インターフェースを通じて jail を操作でき、オプションで jail の存続期間も制御可能。

jail および jail 記述子に関連付けられた kevent(2) フィルタが追加され、jail の作成・変更・アタッチ・削除を追跡可能に。1bd74d201a53 9d7f89ef2607
MACモジュールのjailパラメータ用に新しい共通ノード「mac」が作成されました。今後追加される全てのMACモジュールのjailパラメータはこのノード下に配置されます。MACの概要についてはmac(4)を参照してください。最初の利用モジュールはmac_do(4)です。(The FreeBSD Foundation による後援)

mac_do(4) は、数多くの重要な修正を経て、本番環境での使用が可能と見なされるようになりました。 (The FreeBSD Foundation による後援)

mac_do(4) は、security.mac.do.rules sysctl(8) ノブを使用して、jail 内のルールを変更する機能をサポートするようになりました。 (The FreeBSD Foundation による後援)

setcred(2) システムコールと関連する MAC フックを導入。この新しいシステムコールにより、プロセスの必要な認証情報を一括設定可能:実効/実/保存ユーザー ID、実効/実/保存グループ ID、補助グループ、MAC ラベル。原子性を提供するだけでなく、標準的な認証情報設定システムコール(setuid()、seteuid()など)に対する利点は、mac_do(4)などのMACモジュールが、プロセスが取得できる認証情報のセットを微細な方法で制限できるようにすることです。これにより、MACモジュールは最終的な望ましい状態を確認し、初期状態と比較できるようになります。(The FreeBSD Foundation による後援)

mac_do(4)において、単一ルールの対象として複数のユーザーとグループをサポート。グループ対象のサポートは、対象認証情報内で有効な新規グループの限定セットを強制し、グループのみの認証情報遷移を許可するためにmac_do(4)が必須とする要件である。許可されるグループは、1つまたは複数のユーザーIDに紐付けられる。ルールのターゲット部分における複数のユーザーとグループは、補助グループの必須存在または不在を表現する節を除き、代替案(包括的排他的論理和)として扱われる。ルール構文は互換性のない変更がなされましたが、既存ルールの移行は単にターゲット部分の先頭に uid= を追加し、コンマ (,) をセミコロン (;) に、コロン (:) を大于記号 (>) に置換するだけです。詳細については、mac_do(4) マニュアルページを参照してください。(The FreeBSD Foundation による後援)

sysctl(8) に、自身を jail 内にアタッチして実行する方法を教えます。これにより、子プロセスが sysctl(8) をインストールしていない場合(軽量 OCI コンテナやスリムな jail など)、親 jail がカーネル状態を取得または設定できるようになります。これは、jail prison や vnet sysctl を操作する際に特に有用です。例えば、sysctl -j foo -Ja や sysctl -j foo net.fibs=2 などです。

vnet sysctl(9) 変数をローダー調整可能にします。3da1cf1e88f8 では、 フラグ CTLFLAG_TUN の意味が拡張され、初期ブート時に SYSCTL を初期化するカーネル環境変数が存在するかどうかを自動的にチェックするようになりました。これは、VNET に属する SYSCTLs を除き、静的および動的に作成されたすべての SYSCTL タイプで機能します。実装には制限があることに注意してください。非VNETローダ調整可能変数と同様の挙動を示します。つまり、カーネルまたはモジュールの初期化後、カーネル環境変数への変更(例:kenv経由)は、その後作成されるVNETの対応するvnet変数に影響しません。これを克服するには、vnet構築時にカーネル環境変数をそれらのvnet変数に取得するためにTUNABLE_XXX_FETCHを使用できます。

sound(4): オンデマンドでのvchans割り当て。pcm_chnalloc()をリファクタリングし、一部をvchan_setnew()(現在は削除)およびdsp_open()のチャネル生成機能と統合し、新たなdsp_chn_alloc()関数として再構築。この関数は、vchansが無効化されている場合は空きHWチャネルを利用するか、新規vchanを割り当てるかを担当する。hw.snd.vchans_enable(旧称 hw.snd.maxautovchans)および dev.pcm.X.{play|rec}.vchans は、vchans の有効化/無効化のみを制御する調整可能パラメータとして機能するようになりました。これらは、vchans の数を設定したり、vchans を(解放)割り当てたりするものではありません。これらの sysctl は割り当て/解放をトリガーしなくなったため、その効果は即時です。以前は、dev.pcm.X.{play|rec}.vchans を非常に大きな値に設定すると(新しい vchans を割り当てようとした際に)マシンがフリーズする可能性がありました。(The FreeBSD Foundation による後援)

hw.snd.version sysctl(8) コマンドが削除されました。 f (The FreeBSD Foundation による後援)

unit.* コードが sound(4) から廃止され、それに伴い hw.snd.maxunit loader(8) 調整可能パラメータが削除されました。(The FreeBSD Foundation による後援)

v5.15 (graphics/drm-515-kmod ポート) 以降、drm-kmod ポートの amdgpu DRM ドライバを使用している一部の AMD GPU 所有者が経験していた、徐々に遅くなる現象やフリーズが修正されました。特に、Green Sardine、 Polaris 10 および 20、Vega チップを搭載したグラフィックカード所有者が影響を受けることが確認されていました。最近の Intel ベースの GPU (gen 13+) も影響を受けていた可能性があります。(The FreeBSD Foundation による後援)

メモリ領域(NUMA)を反復処理するコードが複数の方面で改善・修正され、特にDRMドライバを用いた一部のグラフィックス操作におけるレイテンシが低減されました。(The FreeBSD Foundation による後援)

実効グループ ID は、struct cred の新しい cr_gid フィールドに格納されるようになり、cr_groups[] の最初の要素からは削除されました。cr_groups[] cr_groups[0] を使用しているすべてのダウンストリームおよびツリー外モジュールは、代わりに cr_gid を使用するように修正する必要があります。また、cr_groups[0] を除く cr_groups[] 要素に対してループする、つまり補助グループのみを対象とすることを意図した周囲のコードも、補助グループが &cr_groups[1] ではなく &cr_groups[0] から始まるようになったため、調整が必要です。
。15.0およびそれ以前のバージョンへの移植性を必要とするコードは、以前よりマクロとして存在したcr_gidを使用でき、&cr_groups[0] != &cr_gidの真偽値をテストすることで、補足グループを適切に参照する方法を判断できます。(FreeBSD Foundation による後援)

アーキテクチャ固有の変更

amd64 では、FreeBSD は LA57 CPU 機能を備えた最新のマシンで 4TB 以上の RAM をサポートするようになりました。 (FreeBSD Foundation による後援)

amd64 では、%fsbase/%gsbaseレジスタと tls ベースの処理が再設計され、CPU コンテキストを直接操作するアプリケーションにとってより有用になりました。(FreeBSD Foundation による後援)

デバイスとドライバ

このセクションでは、14.0-RELEASE 以降のデバイスおよびデバイスドライバの変更点と追加点について説明します。

デバイスドライバ

tty(4) ターミナルインターフェースに IUTF8 フラグが追加されました。これは、デフォルトの UTF-8 ロケールに合わせて、適切な UTF-8 バックスペース処理を有効にするものです。bb830e346bd5
Intel E800 シリーズの ice(4) イーサネットネットワークコントローラ向けに、100 Gb/s 動作をサポートするドライバが利用可能になりました。バージョン 1.43.2-k にアップグレードされました。38a1655adcb3 (Intel Corporation 提供)
Intel Wi-Fi デバイス向け iwlwifi(4) ドライバに多数の安定性向上が施されました。(The FreeBSD Foundation 提供)
amd64 で複数の PCI MCFG 領域がサポートされ、ドメイン (セグメント) 0 以外の PCI 構成空間へのアクセスが可能になりました。4b5f64408804
smsc(4) イーサネットドライバは、一部のRaspberry Piモデルから渡されるsmsc95xx.macaddrの値を取得し、MACアドレスとして使用できるようになりました。EEPROMにアドレスが存在しない場合でも、常に安定したMACアドレスを使用します。028e4c6548e4
サウンドサブシステムからsnd_cloneフレームワーク(関連するsysctlを含む)が削除され、システムが簡素化されました。チャンネルごとのデバイス(/dev/dspX.Y)は作成されなくなり、プライマリデバイス(/dev/dspX)のみが作成されます。e6c51f6db8d7 (The FreeBSD Foundation提供)
オーディオは非同期デバイスデタッチをサポートするようになりました。これにより、USBヘッドセットなどのホットプラグ/アンプラグが大幅に簡素化され、OSのスリープ/ウェイク(サスペンド/レジューム)が必要な場合のPulseAudioの使用が容易になります。d692c314d29a (The FreeBSD Foundation提供)
ice_ddpが1.3.41.0にアップグレードされました。a9d78bb714e3 (Intel Corporation提供)
hda(4)ドライバにTiger Lake-Hサポートが追加されました。dbb6f488df6e
ichsmb(4)ドライバにMeteor Lakeサポートが追加されました。14c22e28e4ee (Framework Computer Inc 提供) (The FreeBSD Foundation 提供)
ig4(4) ドライバに Meteor Lake のサポートが追加されました。 56f0fc0011c2
パフォーマンスと信頼性の向上のため、Realtek 8156/8156B のサポートが cdce(4) から ure(4) に移行されました。630077a84186 (The FreeBSD Foundation 提供)
ACPI GPIO _AEI オブジェクトのサポートが追加されました。 1db6ffb2a482 (Amazon提供)
nvme(4) および nvmecontrol(8) が全アーキテクチャで有効化されました。 24687a65dd7f, aba2d7f89dcf (Chelsio Communications および Netflix提供)
mpi3mr(4) ドライバのバージョンが 8.14.0.2.0 に更新されました。 e6d4b221ba7c
mpi3mr(4) MPIヘッダーがバージョン36に更新されました。これは最新のMPI仕様に準拠しています。更新された構造体、フィールド定義、および更新されたファームウェアとの互換性に必要な定数が含まれます。 60cf1576501d
mpi3mr(4)ドライバがGENERICカーネルに組み込まれました。 e2b8fb2202c2
iwmbtfw(4): 9260/9560 Bluetooth アダプタのサポートを追加。必要なファームウェアファイルは既に comms/iwmbt-firmware ポートに含まれています。 8e62ae9693bd
ena(4) ドライバのバージョンを v2.8.1 に更新。 a1685d25601e (Amazon, Inc. 提供)
bnxt(4): BCM57504 10/25GbE NIC での NPAR サポートを有効化。 54f842ed8897
bnxt(4): 5760X (Thor2) PCI ID サポートを追加。Thor2 PCI ID を追加。 45e161020c2d
bnxt(4): 400G速度モジュールのサポートを追加。 32fdad17f060
ix(4): 1000BASE-BX SFPモジュールのサポートを追加。 1Gbit BiDiモジュールのサポートを追加。 Intel Ethernet Network Adapter E610のサポートを追加。 89d4096950c4 dea5f973d0c8
igc(4): I226-K および LMVP デバイスへのアタッチを修正。これらのデバイスIDはドライバのPCI IDアタッチリストに含まれていたが、igc_set_mac_type()はこれらのデバイスに正しいMACタイプを設定するよう設定されていなかった。エラーを返す代わりにドライバが認識できるよう、これらのIDをスイッチブロックに追加して修正。これにより、ASRock Z790 PG -ITX/TB4マザーボードにおけるI226-K LOMのigc(4)アタッチを修正し、認識・使用を可能にします。f034ddd2fa38。
em(4)から古いitr sysctlハンドラを削除。この実装には様々なバグがありました。単位変換/スケーリングが誤っており、82574Lやigb(4)デバイスも正しく扱えませんでした。新しいAIMコードでは、ほとんどのユーザーが手動で調整する必要がなくなる見込みです。edf50670e215 (BBOX.io提供)
Brainboxes USB-to-Serialアダプタのサポートを追加しました。uftdi (4)。 47db906375b5
iwx(4)ドライバを追加し、Intel Wi-Fi 6シリーズのM.2ワイヤレスネットワークアダプタをサポート。 2ad0f7e91582 (The FreeBSD Foundation提供)
新しいセルラーモデムドライバが、モバイルブロードバンドインターフェースモデル(MBIM)を実装するUSBネットワークデバイスをサポート: umb (4)。付属のumbctl(8)ツールは、MBIM セルラーモデムインターフェースパラメータ(4G/LTE)の表示や設定に使用されます。0f1bf1c22a0c (The FreeBSD Foundation 提供)
smbios(4) は、BIOS から起動した場合でも、SMBIOS v3 (64ビット) エントリポイントを最初に検索するようになりました。これにより、Hetzner仮想マシンなど、v3テーブルのみを提供するBIOSでも適切なSMBIOSバージョンを検出・報告できます。両方のテーブルを提供するマシンでは、EFIブート時と同様にv3テーブルを優先的に利用します。bc7f6508363c (The FreeBSD Foundation提供)
usbhid(4) ドライバがデフォルトで有効化され、ukbd(4)、ums(4)、uhid(4) などの他の USB HID ドライバよりも優先して使用されるようになりました。サポートされるデバイスクラスには以下が含まれます:
仮想化環境における絶対位置指定マウス (hms(4) 経由)
デジタイザおよびスタイラスデバイス (hpen(4) 経由)
複合 HID デバイス (単一の USB インターフェースを共有するキーボードとマウスなど)
特殊キーボード機能キー(音量、輝度など)は hcons(4) および hsctrl(4) 経由
ゲームコントローラ(Xbox 360 および PS4 ゲームパッドは xb360gp(4) および ps4dshock(4) 経由、汎用コントローラは hgame(4) 経由)
生 HID デバイスは hidraw(4) 経由
FIDO/U2Fセキュリティトークンは、自動ロードされるu2f(4)ドライバを通じて引き続きサポートされます。これらのデバイスのデバイス名とプロトコル処理は変更ありません。74072e9f16c1 (The FreeBSD Foundation提供)
ターゲットのxHCデバッグを用いたホスト側デバッグを可能にするudbc(4)ドライバが追加されました。d566b6a70bcb (The FreeBSD Foundation 提供)
ufshci(4) ドライバが追加され、ユニバーサルフラッシュストレージ (UFS) ホストコントローラをサポートします。1349a733cf28 (Samsung Electronics 提供)
mlx5(4) ドライバは、新しいカーネル内 IPSEC オフロードインフラストラクチャを活用し、Nvidia ConnectX-6+ ネットワークカードでのインライン IPSEC オフロードをサポートするようになりました。e23731db48ef (NVIDIA networking 提供)
Intel 6300ESB I/O コントローラハブのウォッチドッグタイマサポートが ichwd(4) ドライバに追加されました。これは主に QEMU ユーザー向けで、x86 仮想マシンにおけるデフォルトかつ唯一のウォッチドッグタイマとして機能します。2b74ff5fceb6
qat(4) ドライバは、ID 0x4944/0x4945 の 402xx デバイスに対するサポートを拡張しました。138e36514fe8 (Intel Corporation 提供)

廃止および削除予定のドライバ

agp(4) バスドライバは廃止予定となり、FreeBSD 16.0 で削除される予定です。 92af7c97e197 cadadd1a0398
IBM PC フロッピーディスクコントローラ、fdc(4)、および関連ユーティリティは非推奨となり、FreeBSD 16.0 で削除が計画されています。4c736cfc69a7 (The FreeBSD Foundation 提供)
firewire(4) バスおよび関連ドライバは非推奨となり、FreeBSD 16.0 で削除が計画されています。 fc889167c319 (The FreeBSD Foundation 提供)
le(4) イーサネットドライバは非推奨となり、FreeBSD 16.0 で削除が計画されています。 e4d6433e9c03 (The FreeBSD Foundation 提供)
syscons(4) は将来のリリースで削除が計画されており、マニュアルページで非推奨と明記され、ユーザーが vt(4) へ移行するよう通知されています。 2bc5b1d60512 (The FreeBSD Foundation 提供)
upgt(4) USB 802.11g ドライバは非推奨となり、FreeBSD 16.0 で削除が計画されています。 7f8a5c5a1585 (The FreeBSD Foundation 提供)

ストレージ

このセクションでは、ローカルおよびネットワーク上のファイルシステムおよびその他のストレージサブシステムに対する変更と追加について説明します。

ストレージ全般

Solaris スタイルの拡張属性(NFSv4 では named attributes と呼ばれる)を追加。現時点では、ZFS、具体的には xattr プロパティが dir に設定されているファイルシステムデータセットと NFSv4 だけがこれをサポートしています。属性はディレクトリ内で通常のファイルとして表示されます。詳細はnamed_attribute(7)を参照。2ec2ba7e232d, df58e8b1506f, f61844833ee8, b1b607bd200f, ee95e4d02dbd
TCPトランスポート経由でのリモートNVMe over Fabricsコントローラへのアクセスをサポート。nvmecontrol(8) に追加された新コマンドは、リモートコントローラへの接続確立に使用されます。接続が確立されると、それらは nvmf(4) カーネルモジュールに引き渡され、nvmeX デバイスを作成し、リモートネームスペースを nda(4) ディスクとしてエクスポートします。a1eda74167b5, 1058c12197ab (Chelsio Communications 提供)
TCPトランスポート経由でリモートNVMe over Fabricsホストへネームスペースをエクスポートするサポートを追加。nvmft(4)カーネルモジュールはCAMターゲット層に新たなフロントエンドを追加し、ctl(4) LUNをリモートホスト向けNVMeネームスペースとしてエクスポートする。ctld(8)デーモンはiSCSIターゲットに加えNVMeコントローラをサポートし、着信接続要求の受諾と接続済みキューペアのnvmft (4)。a15f7c96a276, 66b5296f1b29 (Chelsio Communications 提供)
NVMe ネームスペースの動的サイズ変更をサポート。nvd(4) および nda(4) ドライバがサイズ変更をリアルタイムで geom に通知するようになりました。86d3ec359a56 (Netflix 提供)

NFS

nfs_reserved_port_only rc.conf(5) 設定のデフォルト値が変更されました。FreeBSD NFS サーバーは、リクエストの送信元ポートが特権ポート範囲(つまり 1023 以下)にあることを要求するようになりました。これにより、クライアントは通常、ローカルシステム上で特権を昇格させる必要があります。以前の動作は、rc.conf で nfs_reserved_port_only=NO を設定することで復元できます (5)。 6d5ce2bb6344 (The FreeBSD Foundation 提供)
新しい -a コマンドラインオプションを mountd(8) に定義し、ディレクトリパスがサーバーファイルシステムの マウントポイントでない場合、-alldirs フラグ付きでのファイルシステムエクスポートを防止します。 07cd69e272da
tarfs(4)、tmpfs(4)、cd9660(4)、および ext2fs(4) ファイルシステムにおける NFS ファイルハンドルのレイアウトが変更されました。これらのファイルシステムのいずれかをエクスポートする NFS サーバーは、クライアント側でエクスポートをアンマウントし、再マウントする必要があります。 4db1b113b151, 1ccbdf561f41, 205659c43d87, cf0ede720391, 8ae6247aa966 (The FreeBSD Foundation 提供)
mountd(8) サーバーは、strunvis(3) を使用して exports(5) ファイル内のディレクトリ名をデコードするよう変更されました。これにより、空白などの特殊文字をディレクトリ名に埋め込むことが可能になります。vis -M を使用して、そのようなディレクトリ名をエンコードすることができます。詳細は vis(1) を参照してください。 2c83f1ada435
exports(5) の -maproot または -mapall オプションで、システムがサポートするように設定されているグループ数をすべて指定できるようにしました。以前は、
上限は
NGROUPS_MAX + 1
でしたが、これは単に許可される補助グループの最小最大値です。現在は適切な
{NGROUPS_MAX} + 1
を使用し、
{NGROUPS_MAX}
は実行時に sysconf(3) 経由で取得されます。 e87848a8150e
(The FreeBSD Foundation 提供)
新しい sysctl(8) 変数が kern.rpc.unenc および kern.rpc.tls に追加されました。これにより、NFS サーバー管理者は NFS-over-TLS の使用状況を把握できます。ハンドシェイクの失敗が頻繁に発生する場合は、NFS 設定の問題を示している可能性があります。 b8e137d8d32d
nocto マウントオプション使用時の NFSv4.1/4.2 デリゲーション利用率が改善されました。デリゲーションを有効にした最新の NFSv4.1/4.2 サーバーが必要です。例えば、FreeBSD カーネルを src と obj の両方に NFSv4 をマウントしてビルドした場合、総 RPC カウントが 5461286 から 945643 に減少、 経過時間は20%短縮されました。171f66b0c2ca, 50e733f19b37
NFSv4.2のクローン操作に対する新規サポートを追加。ブロッククローン技術を用いてNFSサーバー上のファイルを「書き込み時にコピー」します。現時点では、ブロッククローンが有効化されたエクスポート済みZFSファイルシステムでのみ動作します。cce64f2e6851

UFS

newfs(8)による新規UFSファイルシステム作成時、ソフトアップデートがデフォルトで有効化されました。6b2af2d88ffd
2Gを超えるiノード数を持つボリューム上のUFS信頼性が大幅に向上しました。根本的な問題は、32 ビットの inode 番号が符号付きとして無効に解釈され、ino_t に符号拡張されていたことでした。 c069ca085bd1、e36f069ecb47 (The FreeBSD Foundation 提供)
UFS1 ファイルシステムの 2038 年 1 月 19 日の期限を 2106 年 2 月 7 日に延期。
これは古い UFS1 フォーマットのファイルシステムのみに影響します。詳細はコミットメッセージを参照してください。 1111a44301da

ZFS

ブロッククローン用に
VOP_COPY_FILE_RANGE()
のサポートを追加。現時点では、ブロッククローンが有効な場合に限り、ZFS がこれをサポートする唯一のローカルファイルシステムです。NFSv4.2 もこれをサポートします。
詳細は pathconf(2) および copy_file_range(2) を参照してください。 37b2cb5ecb0f

GEOM

vinumボリュームのサポートが削除されました。 f87bb5967670, e51036fbf3f8

ブートローダーの変更

このセクションでは、ブートローダー、ブートメニュー、およびその他のブート関連の変更について説明します。
グラフィカルシステムでは、loader.conf(5)内のオプション変数loader_gfxを介して、ASCII loader(8)アートを再度有効にできるようになった。 bef6d85b6de5
loader(8)は、他の設定ファイルの後に、変数local_loader_conf_filesにリストされたローカル設定ファイルを読み込むようになった。デフォルトは/boot/loader.conf.localである。 a25531db0fc2
loader(8) は、SMBIOS の planar maker、planar product、system product および uboot m_product 変数に基づいて特定の設定ファイルを読み込むよう設定できるようになりました。現時点では、git コミットメッセージ 3eb3a802a31b が最良のドキュメントです。
EFIシステムにおけるloader(8)のコンソール検出が改善されました。ConOut変数が存在しない場合、ConInがチェックされます。複数のデバイスが見つかった場合、シリアルが優先されます。20a6f4779ac6 (Netflix提供)
loader(8)のフレームバッファサポートは、テキスト専用ビデオドライバを使用できるようになり、スペース節約につながります。57ca2848c0aa (Netflix提供)
arm64システムにおいて、ACPIの検出がloader.efi(8)内でより早期に行われるようになりました。ACPIを使用するarm64システムでは、EFIパーティション上のloader.efiのコピーを更新する必要があります。05cf4dda599a 16c09de80135
LinuxBootローダーを使用して、aarch64およびamd64アーキテクチャでLinuxからFreeBSDを起動できるようになりました。 46010641267 (Netflix提供)
BIOSブートローダーはgzipおよびbzip2のサポートを再追加しましたが、サイズ問題に対処するためグラフィックスモードのサポートを(デフォルトで)削除しました。(EFIブートローダーはこれら全てをサポートしたまま変更なし)4d3b05a8530e (Netflix提供)
BIOSブートローダーは、テーブルが4GB未満の場合、SMBIOS v3(64ビット)エントリポイントを使用可能になりました。BIOSブートローダーはamd64でもBTXクライアントとして32ビットでコンパイルされるため、4GBを超えるアドレスにはアクセスできません。ただし、64ビットエントリポイントは4GB未満の構造体テーブルを参照する場合があり、Hetzner仮想マシンなどBIOSが32ビットエントリポイントを提供しない場合に利用可能です。7f005c6699f4(The FreeBSD Foundation提供)
BIOSブートローダーはSMBIOS v3 (64ビット) エントリポイントを優先するようになりました。32ビットと64ビットの両エントリポイントが存在する場合、SMBIOS仕様では64ビットエントリポイントは常に32ビットエントリポイントが参照する全構造体を最低限保持すると規定されています。つまり、32ビットエントリポイントは互換性のために提供されるものであり、64ビットエントリポイントの方が適切な値で埋まっている可能性が高いと想定されます。3f744fb8b2c5 (The FreeBSD Foundation 提供)
EFIブートローダーは、BIOSブートと同様に、SMBIOS v3(64ビット)エントリポイントを優先するようになりました。ただし差異があります:EFIローダーは64ビットプラットフォーム上で64ビットモードで動作するため、v3エントリポイントの構造体テーブルが4GB未満である必要はありません。96f77576e9ea (The FreeBSD Foundation提供)

ネットワーク

本節ではFreeBSDのネットワークに影響する変更点を説明します。

ネットワーク全般

FreeBSD は OpenBSD 由来の SO_SPLICE インターフェースを実装しました。この機能により、ユーザ空間アプリケーションは接続された 2 つの TCP ソケットを結合できます。結合後、一方のソケットに到達したデータは、アプリケーションに配信される代わりに、自動的に結合先のソケットへ転送されます。a1da7dc1cdad (Sponsored by Klara, Inc.) (Sponsored by Stormshield)
802規格ネットワーク向けのARP(arp(4))サポートが復元されました。これはFDDIサポート導入時に誤って削除されていました(イーサネット規格のカプセル化とは異なります)。d776dd5fbd48
IPv4(INET)なしでIPv6サポート(INET6)を備えたカーネルをビルドすることが可能になりました。6df9fa1c6b83 ほか
netgraph ng_ipfw(4) モジュールはクッキーを16ビットに切り詰めることがなくなり、フル32ビットが利用可能になりました。 dadf64c5586e
AIM (Adaptive Interrupt Moderation) サポートが igc(4) ドライバに追加されました。 472a0ccf847a (Rubicon Communications, LLC (「Netgate」) および BBOX.io 提供)
この機能はlem(4)、em(4)、igb(4)ドライバにも追加されました。FreeBSD 12.0で導入されたUDPパフォーマンスの重大な退行(UDP経由のNFSを含む)は、この変更で修正されたと考えられます。49f12d5b38f6 (Rubicon Communications, LLC(「Netgate」)および BBOX.io 提供)
ip6addrctl(8) に、自身を jail 内で起動・実行する機能を追加。これにより、特に軽量な OCI コンテナやスリムな jail において、vnet jail のアドレス選択ポリシー管理が容易になります。b709f7b38cc4
pf(4) パケットフィルタは、新しいランタイム調整可能パラメータ loader.conf(5) 『net.pf.default_to_drop』 と、コンパイル時オプション PF_DEFAULT_TO_DROP を学習し、デフォルトルールをドロップに設定します。 7f7ef494f11d, 3965be101c43
新しいpf(4) route-toプールオプション「prefer-ipv6-nexthop」により、IPv6ゲートウェイ経由でのIPv4パケットルーティングが可能になりました。65c318630123 d2761422eb0a (InnoGames GmbH提供)
pf(4)がOpenBSDスタイルのNAT構文をサポートするようになりました。pass および match ルールで nat-to、rdr-to、binat-to を使用できるようになりました。従来の nat on …​ 構文も引き続き使用できます。e0fe26691fc9 (Sponsored by InnoGames GmbH)
pfsync(4) プロトコルが更新され、複数の欠落属性を同期するようになりました。これにより、route-to、af-to、rtable、dummynet、tags、scrub オプションのステート同期が修正されました。古いバージョンの FreeBSD との同期が必要な場合、プロトコルバージョンは ifconfig pfsync0 version $VERSION で設定できます。ここで $VERSION は、13.X リリースでは 1301、14.X では 1400 です。FreeBSD 15.0 を実行するホスト間の同期では、デフォルトは 1500 です。99475087d63b (InnoGames GmbH 提供)
aarch64、amd64、powerpc64、powerpc64le 向けの GENERIC (デフォルト) カーネルでは、カーネル TLS サポートがデフォルトで有効になりました。b2f7c53430c3 (Sponsored by Chelsio Communications)
net.inet.{tcp,udp,raw}.bind_all_fibs チューナブルが追加されました。後方互換性のためデフォルト値は1です。0に設定すると、対応するプロトコルのソケット動作が変更され、ソケットと同じFIB内のインターフェースから発信されていないパケットが無視されます。この場合、異なるFIBに属するTCPおよびUDPソケットも同一アドレスにバインド可能となります。デフォルト動作は変更されません。5dc99e9bb985, 08e638c089ab, 4009a98fe80b (Sponsored by Klara, Inc.) (Sponsored by Stormshield)
INADDR_ANYへの接続、すなわちlocalhostの別名としての使用は、デフォルトで無効化されました。この機能は、net.inet.ip.connect_inaddr_wild sysctl を 1 に設定することで再有効化できます。cd240957d7ba (The FreeBSD Foundation 提供)
カーネル内インライン IPSEC オフロードインフラストラクチャが新たに追加されました。これをサポートする mlx5(4) ドライバに関する注記も参照してください。ef2a572bf6 (NVIDIA networking 提供)
新しい ngctl(8) フラグ -jにより、jail 内にアタッチして実行できるようになり、jail 内に ngctl(8) がインストールされていなくても jail 内の netgraph ノードを操作可能になりました。 72d01e62b082
sockstat(4) はデフォルトで UDP-Lite エンドポイントを表示します。 978615d7bf7c
FreeBSD 7 および 8 の ipfw(8) バイナリをサポートするカーネル互換コードが削除されました。 660255be1ed9 (The FreeBSD Foundation 提供)

ネットワークプロトコル

ネットワークスタックに多くの改善が加えられました。これには、sctp(4) スタックのパフォーマンス改善やバグ修正が含まれます。
sctp_peeloff(2) が返す記述子は、親ソケットから Capsicum 機能 rights(4) を継承するようになりました。ae3d7e27abc9 (The FreeBSD Foundation 提供)
sysctl 変数 net.inet.tcp.nolocaltimewait のデフォルト値が 1 から 0 に変更されました。これにより、リモートアドレスがローカルであるエンドポイントについて、FreeBSD は TIME_WAIT 状態をスキップしなくなりました。新しい sysctl 変数 net.inet.tcp.msl_local を使用すると、これらのエンドポイントが TIME_WAIT 状態に留まる時間を制御できます。sysctl 変数 net.inet.tcp.nolocaltimewait は非推奨となり、FreeBSD 16 で削除される予定です。c3fc0db3bc50 (Netflix 提供)
ローカルストリーム (AF_UNIX/SOCK_STREAM) およびシーケンシャルパケットストリーム (AF_UNIX/SOCK_SEQPACKET) ソケットが、バルク転送と往復時間の改善のために改良されました。SOCK_SEQPACKET ソケットは仕様に準拠し、真のストリームソケットとして動作するようになりました。以前の FreeBSD リリースでは、データグラムソケットの特性を示すことがありました。SOCK_SEQPACKET を誤って使用し、旧実装のバグに依存していたアプリケーションは調整が必要になる可能性があります。d15792780760

ワイヤレスネットワーキング

LinuxKPI 802.11互換レイヤー linuxkpi_wlan(4) が、wlan_gcmp(4) からのガロア/カウンタモードプロトコル (GCMP) サポートを獲得しました。(The FreeBSD Foundation 提供)
他のドライバに続き、iwlwififw(4) ファームウェアは、ports ベースのソリューションと fwget(8) サポートを優先するため、ベースシステムから削除されました。以前のリリースからの更新時には、ユーザーは事前にファームウェアパッケージをインストールする必要があります。(The FreeBSD Foundation 提供)
iwlwifi(4) ワイヤレスドライバは、一部の Intel Wi-Fi 5 および全ての Intel Wi-Fi 6 および Wi-Fi 7 ハードウェア向けに 802.11ac (VHT) をサポートします。(The FreeBSD Foundation 提供) iwx(4) ワイヤレスドライバは、Intel Wi-Fi 6 ハードウェア向けに 802.11ac (VHT) をサポートします。(The FreeBSD Foundation 提供) rtwn(4) ワイヤレスドライバは、RTL8812A および RTL8821A チップセット向けに 802.11ac (VHT) をサポートします。rtw89(4) ワイヤレスドライバは、一部の Realtek Wi-Fi 6 および Wi-Fi 7 ハードウェア向けに 802.11g をサポートします。a2d1e07f6451 (The FreeBSD Foundation 提供)

ハードウェアサポート

このセクションでは、物理マシン、ハイパーバイザー、仮想化環境に対する一般的なハードウェアサポート、およびこのドキュメントの他のセクションに該当しないハードウェアの変更や更新について説明します。
15.0-RELEASE でサポートされているハードウェアの一覧は こちら、サポートされている CPU アーキテクチャの完全なリストは プラットフォームページ をご覧ください。

仮想化サポート

bhyve(8) および vmm(4) が arm64 および riscv プラットフォームをサポートするようになりました。sysutils/u-boot-bhyve-arm64 および sysutils/u-boot-bhyve-riscv ポートは、これらのプラットフォームで使用するためのブートローダを提供します。47e073941f4e d3916eace506 (Arm Ltd 提供) (Innovate UK 提供) (The FreeBSD Foundation 提供) (ブカレスト工科大学提供)
bhyve(4) は「slirp」ネットワークバックエンドをサポートし、非特権ユーザーによるネットワーク通信を可能にしました。現時点ではゲストへの受信接続のみをサポートし、ゲストからの送信接続はサポートしていません。この機能には net/libslirp ポートが必要です。 c5359e2af5ab (Innovate UK提供)
bhyve(4) はゲストメモリの NUMA トポロジーを設定可能になりました。さらに、各ゲスト NUMA ドメインに対して domainset(9) ポリシーを定義でき、各ゲスト NUMA ドメインの物理メモリをバックアップするホストメモリを指定できます。これは cpuset(1) の -n オプションに類似しています。現時点では amd64 ゲストでのみサポートされています。 f1d705d4f431
bhyve(8) の VNC サーバーは、www/novnc クライアント使用時に正しい色を表示するようになりました。f9e09dc5b1d5
ブート ROM を使用する bhyve(8) ゲスト(つまり bhyveload(8) を使用しない場合)を実行する際、bhyve はブート ROM が PCI BAR デコードを有効化すると想定するようになりました。これは一部のブートROM、特に古いビルドのedk2-bhyveと互換性がありません。以前の動作に戻すには、bhyve設定にpci.enable_bars=『true』を追加してください。なお、uefi-edk2-bhyveパッケージはedk2-bhyveに名称変更されました。e962b37bf0ff (Innovate UK提供)
amd64 bhyve(8) の lpc.bootrom および lpc.bootvars オプションは非推奨となりました。代わりにトップレベルの bootrom および bootvars オプションを使用してください。 43caa2e805c2 (Sponsored by Innovate UK)
NVMMハイパーバイザーが検出されるようになりました。34f40baca641
Hyper-V環境下において、TLBフラッシュがIPIではなくハイパーコールを使用して実行されるようになり、TLBパフォーマンスが最大40%向上しました。7ece5993b787 (Microsoft提供)

Linuxバイナリ互換性

AT_NO_AUTOMOUNTフラグは、すべての Linuxulator stat() バリアントで無視されるようになりました(このフラグで指定される動作はすでに FreeBSD の動作と一致しているため)。これにより、Linux アプリケーションの互換性が向上します。99d3ce80ba07 (The FreeBSD Foundation 提供)
Linux inotify(2) システムコールが Linuxulator に実装されました。(Klara, Inc. 提供)

マルチメディア

オーディオスタックの多くの改善。mixer(8) でのホットスワップのサポート、mididump(1) の追加など。 cf9d2fb18433 (The FreeBSD Foundation 提供) 7224e9f2d4af (The FreeBSD Foundation 提供)
オーディオデバイス設定(sysctl、
/dev/sndstat
)の表示・操作用インターフェースを統合する新ユーティリティsndctl(8)を追加。
mixer(8)
と同様の制御駆動型インターフェースを採用。44e5a0150835, 9a37f1024ceb
(The FreeBSD Foundation 提供)
virtual_oss が base にインポートされました。audio/virtual_oss ポートは FreeBSD 15.0 以降、ビルドされなくなります。ユーザー向けの変更点としては、実質的な違いはインストール手順のみです。以下のオプションコンポーネントを除き、全てがベースシステムで提供されます。これらはポートからインストール可能です:
sndioバックエンドサポート:audio/virtual_oss_sndio
bluetoothバックエンドサポート:audio/virtual_oss_bluetooth
virtual_equalizer(8):audio/virtual_oss_equalizer
それ以外では、virtual_oss は期待通りに動作するはずです。virtual_oss ユーザーは、今後 audio/virtual_oss をアンインストールし、代わりにベースシステムのバージョンを使用することができます。5a31c623143f (The FreeBSD Foundation 提供)

ドキュメント

このセクションでは、マニュアル (man(1)) ページおよびベースシステムに同梱されているその他のドキュメントの変更点について説明します。

マニュアルページ

新しい freebsd-base(7) マニュアルは、ベースシステムパッケージのレイアウトとそれらを用いたシステム更新方法の詳細を提供します。 e1632b827b1a
ファイルシステムに関するマニュアルページは、セクション4「カーネルインターフェースマニュアル」に移動されました。 1687d77197c0
builtin(1) マニュアルは、情報を整理し、FreeBSD CLI に組み込まれたキーバインディングに関する新しいセクションを追加して書き直されました。 42df4faf7004
新しい networking(7) マニュアルページは、Wi-Fi を含むネットワークへのシステムの接続に関するクイックスタートガイドを提供し、他のマニュアルページやハンドブックへのリンクを掲載しています。 39f92a4c4c49
build(7) マニュアルは、ソースからのシステム構築手順を組み込むよう改訂されました。275f61111f43
ccdconfig(8) 内の gvinum(8) の代わりに、graid(8) および zfs(8) を参照してください。55cb3a33d920
ps(1) マニュアルページは、基本原理を説明するために刷新され、記述内容は現実に合わせて更新されました。序文は、ps(1) コマンドの様々な側面について包括的な概要を提供するように刷新されました。いくつかのオプションと一部のキーワードの説明は、実際の動作に合わせて修正および/または拡張されました。STANDARDS および BUGS セクションが拡張されました。ddf144a04b53 (The FreeBSD Foundation 提供)
mac_do(4) マニュアルページは、単一ルールのターゲットとして複数のユーザーやグループをサポートする機能追加の一環として刷新され、ルールの構文が変更されました。特に、JAIL SUPPORT と SECURITY CONSIDERATIONS のセクションが追加されました。bc201841d139 (The FreeBSD Foundation 提供)
ターゲット認証情報における全ユーザーとグループの完全指定に関する新規サポートの文書化の一環として、mdo(1)マニュアルページの既存内容が充実されました。導入部分が長くなり、新たな「セキュリティ上の考慮事項」セクションが追加されています。20ebb6ec5ac0 (The FreeBSD Foundation 提供) (Google LLC (GSoC 2025) 提供)
イーサネットスイッチコントローラであるmtkswitch(4)、ip17x(4)、ar40xx(4)、およびe6000sw(4)に初期マニュアルページが追加されました。37f00bc257d, f750a114d2c, 91c975c3913, 6da793a8caa
mount(8) に、シングルユーザーモードで全てのファイルシステムを読み書き可能に再マウントする例が追加されました。 c3e06b23b417
lua loader(8) モジュールのマニュアルページは、apropos(1) の結果を最適化するため記述が改訂されました。5d59c1b4f14e
マニュアルページスタイルガイド style.mdoc(5) に、サポート対象ハードウェアを記載するセクションが追加されました。この方法で記載された場合、サポート対象ハードウェアは サポート対象ハードウェアに関する注記 にリストされます。多くのマニュアルで、このリリースにおいて当該セクションが追加または改訂されました。
マニュアルへの sysctl(8) および環境変数の追加に多くの作業が費やされました。apropos Va=here.is.the.sysctl または apropos Ev=here_is_the_environment_variable で検索してみてください。
一般コマンドマニュアルのintro(1)が改訂され、追加コマンドのインストールに関する記述と標準コマンドディレクトリのリストが組み込まれました。cc0af6d5a6c2
システムコールマニュアルのintro(2)が改訂され、OpenBSDからのリンクとHISTORYセクションが組み込まれました。9a62cdc01327, 69ff2d754c1c, 6dfbe695c322, de525c502a3a, d846f33bb6d4, 4696ca7baf2f, 9e8df7900f52, bcc57e971597
ファイル形式マニュアルのintro(5)が改訂され、OpenBSDからの改善が組み込まれました。8d65152cbfc8, 26ec37653662, 37508388d066, a6175f28da70
ファイルシステム階層インデックスマニュアル、hier(7) が改訂され、多くの相互参照が組み込まれ、/usr/local に関する詳細が追加されました。.

Ports コレクションとパッケージインフラストラクチャ

このセクションでは、FreeBSD Ports コレクション、パッケージインフラストラクチャ、およびパッケージのメンテナンスとインストールツールに関する変更点について説明します。
新しい FreeBSD-kmods リポジトリが、デフォルトの /etc/pkg/FreeBSD.conf pkg(8) 設定ファイルに含まれています。このリポジトリには、15-STABLEブランチではなく15.0-RELEASE向けに特別にコンパイルされたカーネルモジュールが含まれます。このリポジトリからカーネルモジュールをインストールすることで、不安定なカーネルインターフェースを持つドライバ(特にグラフィックドライバ)が、メインの15-STABLEリポジトリが以前のリリースでビルドされたパッケージを使用している場合でも動作可能になります。a47542f71511
/etc/pkg/FreeBSD.confで定義されているFreeBSDおよびFreeBSD-kmodsリポジトリは、それぞれFreeBSD-portsおよびFreeBSD-ports-kmodsに名前が変更されました。/usr/local/etc/pkg/reposでこれらを上書きしているユーザーは、新しい名前に合わせて設定を調整する必要があります。

(*** ここから下は見たよ ***)

インストーラ

FreeBSD インストーラである bsdinstall(8) は、FreeBSD ベースシステムのインストール完了後にファームウェアパッケージのダウンロードとインストールをサポートするようになりました。(FreeBSD Foundation による後援)

パッケージングの変更

bootonly ISO および mini-memstick イメージに net/wifi-firmware-iwlwifi-kmod および net/wifi-firmware-rtw88-kmod パッケージが追加され、無線接続経由でのインストールが可能になりました(これらのファームウェアパッケージがサポートするシステムにおいて)。 (FreeBSD Foundation による後援)

net/wifi-firmware-kmod@release パッケージが DVD ISO に追加され、より幅広い Wi-Fi ドライバのファームウェアを提供します。(FreeBSD Foundationn による後援)

将来の FreeBSD リリースに関する一般的な注意事項

(訳注: 原文も空です。)

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?