13.0 ブランチの公開から 14.0 年半後、FreeBSD 64 がリリースされました。インストール イメージは、amd386、i64、powerpc、powerpc64、powerpc7le、powerpcspe、armv64、aarch64、riscv2 の各アーキテクチャ用に用意されています。さらに、仮想化システム (QCOW2、VHD、VMDK、raw) およびクラウド環境 Amazon EC14、Google Compute Engine、Vagrant 用のアセンブリも用意されています。 FreeBSD 32 ブランチは、15 ビット プラットフォームをサポートする最後のブランチになります。 FreeBSD 64 は 32 ビット システムのみのサポートを維持しますが、32 ビット プログラムを構築し、COMPAT_FREEBSD32 モードを使用して 64 ビット環境で XNUMX ビット実行ファイルを実行する機能は維持されます。
主な変更点:
- root ユーザーのデフォルトのコマンド インタープリターは /bin/sh です。
- NVME デバイスの場合、すべてのプラットフォームで nda ドライバーがデフォルトで使用されます。古い nvd ドライバーに戻すには、loader.conf の設定を「hw.nvme.use_nvd=1」にします。
- ファームウェアを必要とするハードウェアを検出し、対応するファームウェアパッケージをインストールする新しいユーティリティ「fwget」を追加しました。現在、PCIデバイスとIntelおよびAMD GPUのファームウェアのみがサポートされています。
- base64 形式でデータをエンコードおよびデコードするための新しい base64 ユーティリティを追加しました。
- tcpsso ユーティリティが追加されました。これにより、既存の TCP 接続のソケット オプションを設定できます (たとえば、輻輳制御モジュールまたは TCP スタックを変更できます)。
- 使用されるデフォルトのメール配信エージェントは、sendmail ではなく dma (DragonFly Mail Agent) です。 Sendmail は基本ディストリビューションに保持され、バージョン 8.17.1 に更新されました。
- TLS プロトコルの FreeBSD カーネルレベルの実装である KTLS では、受信側での TLS 1.3 のハードウェア アクセラレーションのサポートが追加されました。暗号化されたパケットの処理に関連する一部の操作をネットワーク カード側に移動することで高速化を実現します。
- jail.conf 設定ファイルに「.include」ディレクティブが追加されました。これにより、設定ファイルの読み込み時に、パスにマスクを指定した追加ファイルをインクルードできるようになりました。security.bsd.see_jail_proc sysctl パラメータが拡張され、別の jail 環境内の権限のないユーザーによるプロセスの強制終了、優先度の変更、デバッグを防止できるようになりました。
- pwおよびbsdinstallプログラムは、デフォルトで/usr/homeではなく/homeディレクトリにユーザーを作成するようになりました。/homeから/usr/homeへのシンボリックリンクは作成されなくなりました。
- PROFILE ビルド設定はデフォルトで無効になっています。システム ライブラリのプロファイル バージョンは提供されなくなり、代わりにハードウェア プロファイリング (hwpmc) を使用する必要があります。
- PIE (Position Independent Executable) モードでの 64 ビット アーキテクチャ用実行可能ファイルのアセンブリを有効にしました。
- Bhyve ハイパーバイザーには、TPM (Trusted Platform Module) および GPU (AMD および Intel チップの仮想環境) へのアクセスを転送する機能が追加されました。
- ZFSファイルシステムの実装がOpenZFS 2.2にアップデートされました。makefsユーティリティにZFSファイルシステムのサポートが追加されました。また、単一のvdevに関連付けられたZFSプールを作成する機能も導入されました。
- amd256 および arm1024 アーキテクチャに基づくシステムでサポートされる CPU コアの数 (MAXCPU パラメータ) が 64 から 64 に増加されました。
- ジャーナリングが有効(ソフトアップデート)な構成のUFSでは、UFSスナップショットを用いたバックグラウンドファイルシステムチェックが有効になります。破損検出のため、スーパーブロック、シリンダグループマップ、およびinodeにハッシュチェックが追加されました。
- zstd で圧縮された tar アーカイブで使用できる tarfs ファイル システムを追加しました。
- システムの起動およびシャットダウン中に発生したイベントを追跡するためのブートトレース ツールキットを追加しました。
- 最小限のオーバーヘッドで仮想マシンを実行するように設計された Firecracker 仮想化システム上で FreeBSD を実行できるように、FIRECRACKER カーネル構成オプションを追加しました。 Firecracker を実行する FreeBSD 14 カーネルのブート時間は 25 ミリ秒に改善され、サーバーレス コンピューティング インフラストラクチャを実装するために必要に応じて FreeBSD 環境を起動できるようになりました。
- Lua 言語で記述されたローダーは、特別なサンドボックス環境の loader_conf_files ディレクトリにある lua ファイルを実行するためのサポートを実装します。
- NFSサポートを拡張しました。NFSv 5/4.1のKerberosサポート用に新しいマウントオプション「syskrb4.2」を追加し、ExchangeID操作のサポートを実装しました。分離されたvnetネットワーク環境でnfsd、nfsuserd、mountd、gssd、rpc.tlsservdを実行できるようになりました。
- growfs スクリプトは、ディスク上の拡張領域の最後にスワップ パーティションを配置する機能を実装します。
- 新しい DTrace プロバイダー kinst (dtrace_kinst) が追加され、カーネル構造のトレースが可能になりました。
- カーネル暗号サブシステムにXChaCha20-Poly1035 AEAD暗号化アルゴリズムのサポートが追加され、curve25519楕円曲線を使用するためのAPIが追加されました( WireGuard).
- 再起動時間を短縮しました。sysctlパラメータ kern.reboot_wait_time を追加しました。これにより、すべての診断メッセージがコンソールに出力された後、実際に再起動するまでの遅延時間を変更できます。デフォルトでは、この遅延時間は設定されていません。
- timerfdサブシステムがカーネルに追加され、プログラムの移植が簡素化されました。 Linux.
- AMD Zen2 プロセッサの Zenbleed 脆弱性をブロックするために sysctl machdep.mitigations.zenbleed.enable を追加しました。
- wpa_supplicant と hostapd に Wi-Fi 6 サポートが追加されました。 iwlwifi ドライバーは、Wi-Fi 6E AX411/AX211/AX210 をサポートする Intel チップをサポートするようになりました。
- amd64 システム上のカーネルは、LLVM プロジェクトの AddressSanitizer および MemorySanitizer ツールをサポートするようになりました。
- rc.d スクリプトでは、スクリプトが procname および PID ファイルを定義していない場合でも、status メソッドの使用が許可されます。
- カーネル、ブートローダ、およびユーザー空間におけるデフォルトのシリアルポートデータ転送速度が9600 bpsから115200 bpsに向上しました。デフォルトのビープ音は800 Hzに設定されています。devdとの統合により、サウンドカードからビープ音を出力することができます。vtコンソールでは、ビープ音はデフォルトで無効になっています(有効にするには、「sysctl kern.vt.enable_bell=1」および「kbdcontrol -b normal」コマンドを実行してください)。
- NXP DPAA2 (Data Path Acceleration Architecture Gen2) ハードウェア アクセラレーション アーキテクチャのサポートが改善されました。
- 225 Gbps の速度をサポートする Intel I2.5 イーサネット コントローラー用の igc ドライバーを追加しました。
- デフォルトでは、net.inet.tcp.nolocaltimewait 設定が有効になっており、ローカル システム側で切断された TCP 接続の timewait レコードの作成が無効になります。
- Netlink通信プロトコル(RFC 3549)のサポート Linux カーネルとユーザー空間プロセス間の相互作用を整理するため。一部のネットワークユーティリティはNetlinkを使用するように変更されている。
- pf パケットフィルタは、OpenBSD pf バージョンのパケット正規化(スクラビング)構文および動作と互換性があります。pfsync は IPv6 トランスポートを使用する機能を実装しています。pfsync パケットフォーマットは、キュー、パケット正規化、およびルートルールをサポートするように拡張されています。
- if_stf (IPv6 over IPv4) ネットワークインターフェースに追加されました IPv6サポート Rapid Deployment (RFC 5969)。 IPv6 nodeinfo モード (RFC 4620) はデフォルトで無効になっています。
- net.inet.tcp.nolocaltimewait sysctl パラメータはデフォルトで有効になっており、ローカルで終了した TCP 接続の timewait 状態エントリの作成が無効になります。
- デフォルトでは、TCP は NewReno の代わりに CUBIC 輻輳制御メカニズムを使用するため、利用可能な帯域幅をより有効に活用できます。
- IPv4 では、そのアドレスがブロードキャスト アドレスとして明示的に宣言されていない限り、サブネット アドレス 0 へのブロードキャスト パケットの送信が無効になります。この変更により、ホストは「.XNUMX」で終わるアドレスを使用できるようになります。
- OpenSSH 設定が変更されました: scp はデフォルトで scp/rcp の代わりに SFTP プロトコルを使用するようになり、RSA/SHA-1 署名のサポートは無効になり、VerifyHostKeyDNS および X11Forwarding パラメータは「no」に設定され、VersionAddendum ディレクティブは削除され、HPN 設定のサポートは削除されました。
- date ユーティリティが更新され、タイムゾーン変換用の「-z」オプションが追加されました。
- diff ユーティリティに、色の変化を視覚化するための「--color」オプションが追加されました。
- sleep ユーティリティは、秒以外の測定単位をサポートするようになりました (たとえば、「sleep 1h 30m」と指定できます)。
- headおよびtailユーティリティは、「-q」および「-h」オプションをサポートし、SIサフィックス付きの値を指定できるようになりました。headの最大行数は2^31から削除されました。
- systat ユーティリティに、CAM スケジューラによって計算された I/O レイテンシ情報を表示する「iolat」コマンドが追加されました。
- libncurseswライブラリはlibtinfowとlibncurseswの2つのライブラリに分割されました。ncursesでtermcapだけでなくterminfoデータベースを使用するためのサポートも追加されました。
- aarch64 (arm64) アーキテクチャでは、COMPAT_LIB32 ビルド オプションが実装され、デフォルトで有効になっているため、ARM32 システムの 64 ビット ライブラリのアセンブリが保証され、armv7 プラットフォーム用にビルドされた実行可能ファイルの実行が可能になります。
- クラウドシステムのサポートが強化されました。AWS EC2向けに、ZFSルートファイルシステムとcloud-initを使用した実験的なビルドが追加されました。Azure向けには、arm64およびamd64アーキテクチャ用のイメージが提供され、UFSまたはZFSを選択できます。仮想ネットワークカードgve(Google Virtual NIC)用のドライバが追加されました。
- ACPI システムが更新され、_CR3 しきい値をサポートするようになりました。これにより、システムがスリープ モード (S3) になる温度を設定できます。
- ベースシステムに含まれるサードパーティ製アプリケーションとライブラリのバージョンが更新されました:OpenSSH 9.5p1、OpenSSL 3.0.12(以前はブランチ1.1.1を使用)、awk 2021072、bc 6.6.0、libbsdxml 2.4.7、libfido2 1.13.0、tcpdump 4.99.4、libpcap 1.10.4、xz 5.4.3、zlib 1.3、zstd 1.5.2。objdumpユーティリティの実装はllvm-objumpに置き換えられました。Clangコンパイラはブランチ16に更新されました。
- 古いシステムがクリーンアップされました:
- OPIE ワンタイム パスワードのサポートは基本システムから削除されました (security/opie ポートをインストールして使用を再開できます)。
- ISA インターフェイスを備えたサウンド カードのドライバーは削除されました。
- fmtree および minigzip ユーティリティを削除しました。
- Netgraph (NgATM) の ATM コンポーネントを削除しました。
- telnetd バックグラウンド プロセスを削除しました (net/freebsd-telnetd ポートが使用可能です)。
- geom の VINUM クラスを削除しました。
- 廃止されたドライバー amr、iscsi_initiator、iir、mn、mly、nlmrsa、および twa を削除しました。
- VESA パラメータは GENERIC および MINIMAL カーネルから削除されました。
- カーネルレベルの暗号化フレームワーク OCF (Open Cryptographic Framework) から非対称暗号化操作のサポートが削除されました。
- mergemaster ユーティリティは非推奨になったため、代わりに etcupdate を使用する必要があります。
- portsnap ユーティリティを削除しました (ポートを取得するには、「git clone https://git.FreeBSD.org/ports.git /usr/ports」を使用してください)。
- armv6 アーキテクチャのアセンブリの生成が停止されました。
- MIPS アーキテクチャのサポートが削除されました。
出所: オープンネット.ru
