FreeBSD 14.4-RELEASE 发行说明(2026 年 3 月 10 日)
原文最后发布时间:2026 年 3 月 9 日
摘要
FreeBSD 14.4-RELEASE 发行说明是对 14-STABLE 开发分支上 FreeBSD 基本系统所做变动的总结。本文件列出了自上回发行以来 RELEASE 的适用安全公告,以及 FreeBSD 内核和用户空间的重大变动。还有一些有关更新的简要说明。
介绍
本文件是 FreeBSD 14.4-RELEASE 的发行说明。它述说了 FreeBSD 最近新增、变动和删除的功能。它还提供了一些关于从 FreeBSD 旧版本进行更新的说明。
这些发行说明所适用的“RELEASE”发行版表示自 14-STABLE 创建以来,14-STABLE 开发分支上的最新节点。有关该分支上预构建二进制“RELEASE”发行版的信息,请参见 https://www.FreeBSD.org/releases/。
这些发行说明所适用的“RELEASE”发行版意味着在 14-STABLE 开发分支上,介于 14.3-RELEASE 和后续 14.5-RELEASE 之间的一个节点。有关该分支上预构建二进制“RELEASE”发行版的信息,请参见 https://www.FreeBSD.org/releases/。
FreeBSD 14.4-RELEASE 的这个发行版是一个“RELEASE”发行版。可以在 https://www.FreeBSD.org/releases/ 或其镜像站找到它。有关获取此(或其他)FreeBSD“RELEASE”发行版的更多信息,请参见 FreeBSD Handbook 的 获取 FreeBSD 附录。
建议用户在安装 FreeBSD 之前查阅发布勘误表。勘误文档会更新在发布周期后期或发布后发现的最新更新信息。通常,它包含了已知错误、安全公告以及文档更正信息。可在 FreeBSD 网站上找到 FreeBSD 14.4-RELEASE 的最新勘误表。
本文档描述了自 14.3-RELEASE 以来 FreeBSD 中用户最易察觉的新功能或功能变动。一般来说,除非某功能被特别标记为已合并(MERGED),否则此处所述的变动仅 14-STABLE 分支特有。
典型的发行说明条目记录了 14.3-RELEASE 之后发布的最新安全公告、新的驱动或硬件支持、新命令或选项、主要错误修复或第三方的软件升级。它们也可能列出主要 Ports/软件包的更改或发布工程实践。显然,发行说明不可能列出 FreeBSD 两个版本之间的每一项更改;本文档主要关注安全公告、用户可见的更改以及主要架构改进。
从旧版本 FreeBSD 进行更新
使用 freebsd-update(8) 工具能在 RELEASE 版本之间(二进制)进行更新(以及各安全分支的快照)。请参阅针对特定版本的升级流程,FreeBSD 14.4-RELEASE 更新信息,以及 FreeBSD 手册中的 二进制更新流程 获取更多详细信息。此操作将更新未修改的用户空间实用程序,以及随官方 FreeBSD 发布的一部分来分发的未修改 GENERIC 内核。freebsd-update(8) 工具要求进行更新的主机具有互联网连接。
支持基于源码的更新(即通过源代码重新编译 FreeBSD 基本系统进行的更新),请参照 /usr/src/UPDATING 中的说明操作。
警告
在更新 FreeBSD 前应先备份 所有 数据和配置文件。
安全与勘误
本节列出了自 14.3-RELEASE 以来的各类安全公告和勘误通知。
安全公告
勘误通知
用户空间
本节包含了用户空间应用程序、第三方软件和系统实用工具的更改和新增内容。
用户空间应用程序变动
现在工具 diff(1) 在 Stone 算法的文件比较阶段报告遇到的 I/O 错误时,将提供错误消息,而以前仅通过退出状态指示失败。3c10ed2ba3aa。(由 Klara, Inc. 赞助)
工具 diff(1) 不再错误地将文件或目录与自身比较,修复了 diff 可能产生误导性输出的错误。此外,还进行了若干内部正确性和稳健性改进(见相关提交),包括修复分页代码中的资源泄漏、改进了文件描述符操作的错误处理,以及在使用非常大上下文窗口时防止潜在的整数溢出。还添加了额外测试以覆盖这些情况。b4139147bbb7、6761e555376e、2434f3b279a9、238bf5ebf684。(由 Klara, Inc. 赞助)
特权提升工具 mdo(1) 增加了控制启动进程的用户和组 ID 的新选项,如保持当前用户的 -k,设置主组和附加组的 -g 和 -G,修改附加组的 -s,以及覆盖特定 ID 的 --euid/--ruid/--svuid/--egid/--rgid/--svgid。这提供了对进程凭据的更细粒度控制,同时保持与现有行为的兼容性。58f55afb301b。(由 FreeBSD 基金会 | 谷歌公司(谷歌编程之夏 2025)赞助)
现在 sockstat(1) 工具将默认显示 UDP-Lite 端点,使这些套接字与其他网络连接一起可见。23cda744e4da
nuageinit(7) 工具支持了 chpasswd 命令,可通过列表或多行字符串更改密码,包括为兼容某些提供商的已弃用语法。6c912470030b。(由 OVHCloud 赞助)
现在工具 pkg(7) 已与 pkg(8) 使用相同的方式解析命令行参数,要求选项放置在相同位置。注意:这改变了一些以前可接受的命令序列行为,例如 pkg -f bootstrap 不再有效;用户必须改为使用 pkg bootstrap -f。62947e508161。(由 FreeBSD 基金会赞助)
安装程序 bsdinstall(8) 不再支持使用 MBR 磁盘布局进行 ZFS 安装。移除了之前可能导致安装失败的错误方案。220584471931。(由 FreeBSD 基金会赞助)
工具 freebsd-update(8) 现在将按特定顺序安装共享库(libsys、libc、libthr,然后是其他库),从而防止从 14.x 更新到 15.x 时出错。e26928669f39。(由 https://www.patreon.com/cperciva 赞助)
文件系统创建工具 newfs(8) 增加了标志 -u,可禁用 UFS2 文件系统的默认软更新和软更新日志。929ef0d36c6c。(由 Klara, Inc. | NetApp, Inc. 赞助)
工具 ngctl(8) 增加了标志 -j,可附加并在 jail 内运行,从而能在 jail(8) 内操作 netgraph 节点。这使管理员能够在 ngctl 可能无法直接使用的 jail 中管理 netgraph 配置。04911babef1b
新增控制声卡设备的工具 sndctl(8),其接口类似于 mixer(8)。00988d12bc37。(由 FreeBSD 基金会赞助)
jail(8) 子系统增加了参数 meta 和 env,可为每个 jail 关联任意字符串元数据和环境信息。可在创建 jail 时设置这些参数,也可使用 jail -cm 后期修改,并可通过 jls(8) 查看。sysctl(8) security.jail.meta_maxbufsize 控制着这些参数的最大大小。527027da391d。(由 SkunkWerks GmbH 赞助)
现在,蓝牙启动脚本 rc.d/bluetooth 将最多重试三次 hccontrol reset 来提高可靠性,还修复了可能生成多余文件的重定向错误。53d1c328e912
工具 swapon(8) 现在可使用 md(4) 设备的加密交换文件(后缀带 .eli),可在 fstab(5) 中配置加密交换,如之前文档所述。9d80d681ee9d
第三方软件
计算器 bc(1) 和 dc(1) 已更新至 7.1.0 版本。ab36487a79cd
构建工具 bmake(1) 已更新至 20251111 版本。c95f96dea30a
Kerberos 工具 kadmin(1) 增加了新选项 -f,用于以 MIT 兼容格式导出 Heimdal KDC 数据库,实现了迁移到 MIT KDC,而无需从头重建数据库。a93e1b731ae4
分页器 less(1) 已更新至 685 版本。054ae5e7b465
mandoc(1) 手册页编译器已更新至 2025-09-26 版本,改进了大小写排序、与 groff(1) 的视觉兼容性,修复了 PDF/PS 页脚回归,并改进了 linter。7fa4ccb8e4e7、8039d22f6afd
现在 netcat 工具 nc(1) 在选项和命令行参数 -p 中可接受服务名,如 http,而不仅限于端口号。0fe58344e829
数据压缩套件 xz(1) 已更新至 5.8.2 版本。07700b0107dc
多格式归档和压缩库 libarchive(3) 已更新至 3.8.5 版本,包括对 tar(1) 的错误修复,解决零长度模式处理的回归问题。39fd1181e5b2
libyaml 已更新至 0.2.5 版本。e52f11f4bbc8
lyaml,libyaml 的 Lua 绑定,现已在基本系统中内置。c508393e49fc
libucl(3) 已更新至 0.9.2 版本。0a8d8b0c878f。(由 FreeBSD 基金会赞助)
expat XML 解析器已更新至 2.7.3 版本。a85cfcb61efd
OpenZFS 文件系统已更新至 2.2.9 版本。本次发布包括改进 ARC 收缩(shrinking)、zpool add 安全检查修复、zvol blk-mq 同步以及 BRT 范围转换数学修正。709465f2c4f1
DoS 预防工具 blacklistd(8) 已更新,并更名为 blocklistd(8)。4690a369ff6d
映射树工具 mtree(8) 已更新,提升了兼容性并修复了错误。f9d671f726ac
DNS 解析器 unbound(8) 已更新至 1.24.1 版本,缓解了 YXDOMAIN 和 nodata 非转发答案污染,防止恶意行为者利用可能的缓存污染攻击。这解决了 CVE-2025-11411。eeb41dca070f、cd40a23fb249
PCI 供应商数据库已更新至 2026-02-10 版本。7805899ed791
USB 供应商数据库已更新至 2025-12-13 版本。02138275effb
时区数据库已更新至 2025c 版本。68e2f4cc5e4e
SQLite 数据库已更新至 3.50.4 版本。ef55f6b86626
控制台字体 gallant 现在包含超过 4300 个字形,增加了对希腊字母、西里尔字母、IPA 扩展、扩展拉丁字母、Zapf Dingbats(杂锦字体)、箭头、数学符号、方框绘制、货币符号和 Powerline 字形的支持。这扩展了控制台中多语言文本和符号的可用字符集。8d2d6647d65a
控制台字体 spleen 已更新至 2.2.0 版本,增加了缺失字符(em-dash、en-dash、连字符、尖括号、白色方块、匕首、双匕首),还改进了字符对齐,尤其适用于高 DPI 显示器。c44ec96b471e
OpenSSH 已更新至 10.0p2 版本。本次更新移除了对弱 DSA 签名算法的支持,并将默认密钥协商改为后量子混合算法 mlkem768x25519-sha256。将在独立的 sshd-auth 二进制中运行 sshd(8) 的认证阶段。7ca599aa6139。(由 FreeBSD 基金会赞助)
OpenSSL 已更新至 3.0.16 版本。aed5a47b3a8a
已弃用的应用程序
已弃用 RIP 路由协议,并将在后续版本中移除。更新了 routed(8)、rtquery(8)、route6d(8) 和 rip6query(8) 的 man 页面来标注弃用。需要使用 RIP 的用户应使用 Ports 中的替代方案,如 'bird' 或 'quagga'。d350c18f98fd
运行时库和 API
更新了互联网网络号处理库函数 inet_net_ntop(3) 和 inet_net_pton(3),可正确处理 IPv6 地址,修复了之前的不正确行为。b4871be3490d。(由 https://www.patreon.com/bsdivy 赞助)
现在,PAM 库除了 ${LOCALBASE}/lib 外,还会在 ${LOCALBASE}/lib/security 中搜索模块。将能够找到进而使用那些遵循 Linux 目录约定,通过 Ports 安装的 PAM 模块。65808459e21b
云端
本节涵盖对云环境支持的变动。
对虚拟机初始化器 nuageinit(7) 进行了多项改进:执行将被记录;使用完全兼容的 YAML 解析器;改进了对 cloud-init 的兼容性(新增 'runcmd'、'packages'、'fqdn'、'hostname'、'sudo'、'write_files'、'nameservers'、'tzsetup'、'doas');改进了网络支持并修复多项问题,新增对 'wakeonlan'、'set-name' 和 'match.driver' 的支持;使用 resolvconf(8);仅在需要时创建默认用户。增加了对 cloud-init、网络配置和包管理的支持。548d4b2af90b、5444803b745e、3a680e954469、cbd62452bff6、d056f72c358b、823f1076c7cd、bb3bc92f4df6。(由 OVHCloud 赞助)
内核
本节涵盖了内核配置、系统调优以及未归类的系统控制参数的变动。
一般内核变动
jail(8) 系统将在 FreeBSD 15.0 及以后版本中默认限制父 jail 中的非特权用户对从属 jail 中的进程进行调度、调试或发送信号。此类跨 jail 操作需要新的权限 PRIV_SCHED_DIFFJAIL、PRIV_DEBUG_DIFFJAIL 和 PRIV_SIGNAL_DIFFJAIL。注意:这引入了新的 jail 参数 allow.nounprivileged_parent_tampering,用于提前启用此新行为,但在 FreeBSD 15.x 中将默认启用,影响依赖跨 jail 进程管理的开发环境。5c6949e12ee6
在 POWER9 上修复了上下文切换代码中的竞态条件,该问题可能导致启动所有 AP 后系统挂起。666599639cf6
设备与驱动程序
本节涵盖自 14.3-RELEASE 以来设备和设备驱动程序的更改和新增内容。
设备驱动程序
驱动 epair(4) 可通过 sysctl(8) net.link.epair.ether_gen_addr 支持固定的 MAC 地址。这有助于在重新创建 epair 接口(如 jail 重启后)时保持一致的 DHCP 和动态 DNS 分配。默认行为仍为随机生成 MAC,但将 sysctl 设置为 1 可启用固定的地址。02f70f6633fd
驱动 iwlwifi(4) 新增了 ACPI 支持,并为 802.11ax、802.11be 及平台天线增益 (PPAG) 设置启用监管功能。c4496f82680c。(赞助:FreeBSD 基金会)
驱动 ix(4) 和 ixv(4) 增加对 Intel 以太网 E610 系列设备的支持,包括后板、SFP、10 GbE、2.5 GbE 和 SGMII 衍生的新 PCI ID。在支持的硬件上可实现 2.5G、5G 和 10G 链路速度。a728b96686e6。(赞助:Intel 集团)
驱动 mfi(4) 和 mrsas(4) 现在支持 Fujitsu RAID 控制器 SAS 6Gbit/s 1GB (D3116),用于 Fujitsu PRIMERGY 服务器如 RX300 S7。653099bcc191, 3690911c355a
驱动 nvme(4) 已支持 Table BIR 和 PBA BIR 的 BAR5,使 FreeBSD 能在 Google Compute Engine C4 机器上运行。dca645cd3112。(赞助:谷歌)
驱动 qat(4) 已在现有 qat_4xxx 驱动下支持 402xx 设备(ID 0x4944/0x4945)。af51f41346ad。(赞助:Intel 集团)
驱动 smartpqi(4) 更新到版本 4660.0.2002,为 Microchip smartpqi 控制器提供了更新支持。ec98cb56861f。(赞助:Microchip Technology Inc.)
已弃用和移除的驱动程序
已弃用内核 MIDI 音序器。此更改在内核中新增了弃用通知,可能会影响依赖此遗留接口的应用程序。ab9c9443eec5。(赞助:FreeBSD 基金会)
存储
本节涵盖文件系统及其他存储子系统(本地和网络)的变动与新增内容。
通用存储
新增 9P 文件系统 (p9fs(4)),用于 bhyve(8) 的 virtio-9p 设备。它能让虚拟机系统通过共享映射访问主机文件,可用作根文件系统或非根文件系统。通过在 loader.conf 中设置 virtio_p9fs_load=YES 加载驱动。615fba7c6b39
文件系统 tarfs(4) 可正确处理超过 4 GB 和 8 GB 的大文件。修复了 zstd 压缩 tar 包在超过 4 GB 时的解压缩错误,还能正确处理大于 8 GB 文件的扩展头记录。35c612fbabd8。(赞助:Klara, Inc.)
文件系统 unionfs(4) 和 nullfs(4) 将在 dotdot 查找期间对 jail 根 vnode 执行更严格的检查,从而防止潜在的 chroot 越权漏洞。3feafab4a34c
启动加载程序变动
本节涵盖启动加载程序、启动菜单及其他启动相关变动。
启动加载程序变动
EFI 启动加载程序 loader.efi(8) 将仅在使用 Graphics Output Protocol (GOP) 时调用固件提供的 Blt 函数,从而避免在使用旧 UGA 的系统(如 MacBook)上出现问题。6741fb1bd4f4
安装程序 bsdinstall(8) 会将 loader.efi 复制到为多卷 ZFS 数据集创建的全部 ESP 中,如果主盘发生故障,可提供启动冗余。d8e73f45fc5f。(赞助:Netflix)
无线固件包现在预装在 bootonly 的安装介质中,使用户能够通过无线连接获取安装文件。2ee0f3c954e7。(赞助:FreeBSD 基金会)
网络
本节描述了对 FreeBSD 网络功能的更改。
通用网络
为简化代码库,移除了对 FreeBSD 8 之前 IPFW 版本的兼容性代码。那些仍依赖旧兼容接口的用户或第三方模块必须在更新前进行迁移。57865e505aef。(赞助:FreeBSD 基金会)
新增了二进制文件 sbin/ipfw15,内置了更新后的 KBI,用以兼容 15.0 及以上内核。原始二进制 ipfw(8) 可检测新的 KBI 并自动运行 ipfw15,确保在升级期间能够加载防火墙规则。该工具还以 /sbin/dnctl15 进行安装,以保证 dummynet 的兼容性。969e2b406835
无线网络
更新了 net80211 子系统,能正确支持现代接入点的信道宽度 VHT160 和 VHT80P80,与 802.11ac-2013 到 802.11-2020 的规范变化保持一致。这使 LinuxKPI 802.11 驱动兼容代码能够使用 VHT160 和 VHT80P80,影响无线性能和兼容性。ccdd6285df5d。(赞助:FreeBSD 基金会)
硬件支持
本节涵盖物理机、虚拟化管理程序及虚拟化环境的一般硬件支持,以及不属于本文档其他部分的硬件变动和更新。
树莓派 Zero 2W 的设备树 blob 现已预装在发行的 SD 卡镜像中,进而支持该款硬件。fce5d401a803
请参阅 14.4-RELEASE 支持的硬件列表 以及 平台页面 获取完整支持的 CPU 架构列表。
虚拟化支持
虚拟化管理程序 bhyve(8) 将在 VM 控制寄存器中报告 SVM 已禁用,从而防止在 AMD 系统上运行新近版本的 Windows 客户机时发生挂起。321a15380668
文档
本节涵盖了随基本系统发布的手册页 (man(1)) 及其他文档的变动。
在使用 pkgbase 安装的系统中,/usr/share/examples 将再次出现。d149be3a0cbe
手册页
对 Shell 的 builtin(1) 命令手册进行了精简,还新增了关于内建快捷键的章节。b98efcdb6210
newaliases(1) 手册得到了更新,明确说明其用于 sendmail(8)。e3df9a78da6b
ps(1) 手册说明了 -A 和 -a 将显示所有进程,这不受其他选择选项的限制;还澄清了 -J 的行为。f18a49a747f7(由 FreeBSD 基金会赞助)
write(2) 的手册新增了章节,描述了写操作的原子性保证。c19f161f5f65
新增了多个 DTrace 提供程序的手册页,包括 dtrace_fbt(4)(函数边界追踪)、dtrace_vfs(4)(VFS 活动)、dtrace_pid(4)(用户级进程追踪)、dtrace_priv(4)(权限检查)以及 dtrace_callout_execute(4)(callout 处理程序执行)。0c91fa982437, 04bb91e9c5f7, ff6b04c37e78, f69bf8f994e5, 7d43404485bf
新增并改进了大多数以太网交换机控制器的手册,包括 mtkswitch(4)、ip17x(4)、ar40xx(4)、arswitch(4)、e6000sw(4) 以及 e6060sw(4)。f31ac06711e6, 17e9eb1e0eb7, 1343a5b616ec, d0e29f92f7a2, 5e0e046d95a9, ded154a1df97
新增 linuxkpi(4) 与 linuxkpi_wlan(4) 手册,提供了 LinuxKPI 及其 802.11 兼容特性的简要文档。669062384f55(由 FreeBSD 基金会赞助)
新增 cdboot(8) 手册,记录了此前未有文档的 cdboot 工具。d659366cc62a
更新了 crash(8) 手册,反映了当前系统行为,移除了对过时 panic 消息的引用,还更新了恢复介质相关指南。4f2140aa9677
dumpon(8) 手册记录了 crash(8) 可调转储行为的设置。7c8717183536
ipfw(8) 手册记录了如何删除 NAT 配置实例。186ac4724746
现在,mtree(8) 手册明确指出关键字 type 仍然是必需的,并不会被 -R all 删除。这保证了行为一致性,并防止对命令的潜在误解。f957857c4835
现在,pf.conf(5) 手册说明,在列表宏中使用的网络地址范围必须使用额外的单引号进行引用。0077daf9cdc4
现在 pw(8) 手册明确了选项 groupadd 和 groupmod 中 -M、-m 与 -d 标志的成员列表可接受的格式。78343cd2a0f1
现在 vt(4) 手册新增了关于扩大滚动缓冲区的示例,还新增了一个有关控制台字体的章节,涵盖字体转换、支持情况及使用方法。ce92b9d8332a, c330c43e58d7
最后更新于