FreeBSD 15.1-RELEASE 发行说明(2026 年 6 月 16 日)
发布工程师:Colin Percival
原文最后发布时间:2026 年 6 月 15 日
摘要
FreeBSD 15.1-RELEASE 的发行说明汇总了 15-STABLE 开发分支上的操作系统变更。本文列出了自上次发行以来的安全公告和勘误通知,以及生态系统的重要变更。
引言
本文详述了自 FreeBSD 15.0-RELEASE 以来的变更。
安装说明请参阅 FreeBSD 手册的 安装 FreeBSD 章节。
升级说明请参阅 FreeBSD 15.1-RELEASE 升级说明。
支持的硬件信息请参阅 FreeBSD 15.1-RELEASE 硬件兼容列表。
建议所有读者在安装或升级前查阅 FreeBSD 15.1-RELEASE 勘误。勘误文档包含发行周期后期发现的信息,如已知缺陷、安全公告或文档更正。
安全与勘误
本节列出自 15.0-RELEASE 以来的安全公告和勘误通知。
安全公告
勘误通知
用户空间
本节涵盖用户空间应用程序、贡献软件和系统工具的变更与新增。
系统打包变更
本节的变更仅影响使用基本系统软件包(有时称为 pkgbase)安装的系统,该功能在 FreeBSD 15.0 及更高版本中提供。
OpenPAM 已迁移至新的 FreeBSD-pam 软件包。已安装 FreeBSD-set-minimal 或 FreeBSD-set-minimal-jail 软件包集的系统会自动安装此软件包,无需用户操作。未安装上述任一最小软件包集的系统,若需支持 PAM 认证(例如 login(1) 或 sshd(8)),则须手动安装此新软件包。95cc7f59b7ce。
Zstandard(包括 zstd(1) 工具)已迁移至新的 FreeBSD-zstd 软件包。已安装 FreeBSD-set-minimal 或 FreeBSD-set-minimal-jail 软件包集的系统会自动安装此软件包,无需用户操作。其他系统若需要 Zstandard 支持,应手动安装此软件包。8c61751d078e。
installworld 和 installkernel 目标现已在从软件包安装的系统上禁止执行,以防软件包数据库不一致。如需基于源码升级,应先注销基本系统软件包,详见 freebsd-base(7)。ef82bdc864c5、235cb4b4970f。
用户空间配置变更
us.intl.acc.kbd 键盘布局已安装,可在 vt(4) 控制台中使用。34196ce83f9c。
Lenovo 笔记本电脑键盘映射已安装,可在 vt(4) 中使用。23eaa98d6dc1。
发行镜像中 root 用户和“freebsd”用户的默认 shell 已从 csh(1) 更改为 sh(1)。c8763bd078d8。
rc.subr 现支持通过 rc.conf 指令为服务设置审计用户,允许管理员在服务启动时覆盖审计用户 ID,避免非特权用户通过 sudo 重启服务时审计日志归属异常。7edef9117688。(由 Modirum MDPay; Klara, Inc. 赞助)
用户空间应用程序变更
find(1) 工具新增选项 -xattr 和 -xattrname,用于基于扩展属性搜索文件。选项 -xattr 匹配具有任意扩展属性的文件,-xattrname 则允许按特定属性名过滤,可选择性添加命名空间前缀,如“user:”或“system:”。5cbb1e05086c。(由 Klara, Inc. 赞助)
newfs(8) 工具现阻止同时使用 GEOM 日志和软更新。请求 GEOM 日志时,软更新不会自动启用;同时请求两者将报错。f758262e66dd。
tr(1) 工具现可正确处理 Unicode 模式下的 CCLASS ([:alpha:]) 字符类,修复了字母字符的大小写转换操作。a51ec1cc5a82。
diff3(1) 工具的合并模式现已兼容 GNU diff3,改善了与其他系统和工具的互操作性。a6f17dd2430b。
pwd(1) 工具现默认使用 -L(逻辑)选项,遵循 POSIX 语义。逻辑模式下,包含点或点点组件的路径将被拒绝。24b95c5ece3d。
bectl(8) 新增标志 -E,用于创建空引导环境而不克隆当前运行环境。用户可创建独立的新引导环境,用于手动安装或配置。2b5087e9850b。
daemon(8) 工具新增选项用于指定输出文件模式,允许非 root 日志收集器访问日志文件,并改善与日志轮转工具的兼容性。4bc40d5a624e。
newfs(8) 工具新增标志 -u,用于禁用软更新及软更新日志,提供关闭 UFS2 文件系统默认软更新的方法。f5a51cfba15c。(由 Klara, Inc.; NetApp, Inc. 赞助)
zfs(8) clone 命令现接受选项 -u,阻止新创建的数据集自动挂载。用户可创建克隆而不立即挂载,便于脚本编写或为后续使用准备数据集。6ab8f46c6c47。
zdb(8) 工具新增选项 -O,与 -r 配合使用时可直接指定对象 ID,允许按对象 ID 而非路径名复制文件。ccb7c82aa15b。
新增 setaudit(8) 工具,用于管理审计策略。dc88f0003e85。(由 Modirum MDPay; Klara, Inc. 赞助)
ipfs(8) 工具已默认禁用,其内核支持现为可选。依赖 ipfs 的用户须在内核配置中显式启用。91de9b501aa7。
sockstat(1) 工具现默认显示 UDP-Lite 端点。c10317b0c455。
dtrace(1) 工具现支持 arm64 上的变量 ustackdepth,允许用户在该架构的 DTrace 脚本中查询用户空间栈深度。00412df3265e。
DTrace 内核诊断消息现使用更直观的 dtrace 前缀,改善日志搜索一致性。7781f5e09ffc。
bsdinstall 脚本现默认执行 pkgbase 安装,组件通过变量 COMPONENTS 指定,同时若定义了 DISTRIBUTIONS,传统的 distset 安装仍可使用。cb7880bb0900。(由 ConnectWise 赞助)
cron(8) 现为用户任务实现完整的 PAM 会话生命周期,允许 PAM 模块在任务执行前建立凭证和会话。PAM 环境变量导出至任务进程,用户 crontab 变量优先。/etc/pam.d/cron 中添加了默认的 pam_permit.so 会话规则,启用会话支持而不改变默认行为。770479c4cea0。
第三方软件
已从 NSS 3.123.1 重新生成证书颁发机构捆绑包,新增了受信任证书(OISTE Server Root ECC G1、OISTE Server Root RSA G1、SwissSign RSA TLS Root CA 2022、TrustAsia TLS ECC Root CA、TrustAsia TLS RSA Root CA、Certigna Root CA、e-Szigno TLS Root CA 2023、Atos TrustedRoot Root CA ECC G2 2020、Atos TrustedRoot Root CA RSA G2 2020)并移除了若干证书。部分此前受信任的 CA 已移至不受信任状态,同时新增了若干不受信任证书。5bb9cd154dfa。
时区代码已更新至 2026b。b72580fcb0a7。
tzdata 已更新至 2026b。1e5aff8e5bc6。
OpenSSL 已更新至 3.5.6 版本。e2fcde7333a5。
libfido2 已更新至 1.16.0。a54428834b9d。(由 FreeBSD 基金会赞助)
expat 已更新至 2.7.5 版本。0b94911946e9。
xz(1) 已更新至 5.8.3 版本。7176f76d2251。
libcbor 已更新至 0.13.0。967186fe0a54。(由 FreeBSD 基金会赞助)
tcpdump(1) 已更新至 4.99.6 版本。6af32a9d37ad。(由 FreeBSD 基金会赞助)
libpcap 已更新至 1.10.6 版本。e0ae00f43186。(由 FreeBSD 基金会赞助)
zlib(3) 已更新至 1.3.2 版本。74f357256769。
OpenZFS 已更新至 2.4.2 版本。409247a6cbd1。
USB 厂商数据库已更新至 2025.12.13。9b2cba4a8a69。
PCI 厂商数据库已更新至 2026-02-10 版本,为 pciconf(8) 等工具提供最新的硬件识别信息。2483216eecf3。
blocklistd(8) 已更新至 2026-02-07 版本。d73fac00cdd4。
Spleen 字体已更新至 2.2.0 版本。此次更新添加了高 DPI 显示器上手册页所需的若干此前缺失的字符,包括破折号、连字符、尖括号、白方块、匕首号和双匕首号,同时改善了不同字号间的字符对齐。da4c7b4518dd。
GoogleTest 已更新至 1.17.0 版本。新版本构建需要 C++17。0029027156f4。
ncurses(3) 已更新至 6.6 版本。此更新与 6.5 版本 ABI 兼容。HTML 文档已移除。297d5bf89067。
nvi(1) 已更新至 2.2.2 版本。b840145f1985。
mtree(8) 已更新至 NetBSD 的 20260111 快照。e2e7269461e9。
Unicode 支持已更新至 Unicode 17.0.0 和 CLDR 48,新增 4,803 个字符和 4 个新文字(Sidetic、Tolong Siki、Beria Erfe、Tai Yo)。此更新影响 UTF-8 区域设置的 locale 定义、排序规则、货币和数字格式。476a063a88aa。
bmake(1) 已更新至 20251111 版本。11aa32794394。
sqlite3(1) 已更新至 3.50.4 版本。e37206a66db0。
unbound(8) 已更新至 1.25.1 版本。1b6c85cfac36。
blacklist 子系统已在全系统范围内更名为 blocklist(blocklistd(8))。rc 脚本、防火墙规则和配置旋钮中的旧名称仍可使用,但会发出警告。此变更遵循上游术语更新。7f6f2139eef9。
bsddialog(1) 已更新至 1.0.5 版本。aa2fe36f5e4b。(由 FreeBSD 基金会赞助)
less(1) 已更新至 692 版本。109324d5e7ab。
zstd 已更新至 1.5.7 版本。1aa2b46a0707。
MIT krb5 已更新至 1.22.2。3de8ca652d93。
Heimdal (Kerberos) 已更新至 1.22.2 版本。3ee9a0f8924d。
已弃用应用程序
已弃用 lpr 打印工具套件(lpr(1)、lpd(8)、lpc(8)、lpq(1)、lprm(1)、lp(1)、pac(8)、lptest(1)、chkprintcap(8)),可能在 FreeBSD 16.0 之前移除。建议用户改用 Ports 中的 print/cups 或 sysutils/LPRng 等替代方案。9b75d6ec6929。
已计划在 FreeBSD 16.0 中移除 bsdlabel(8) 工具。用户应迁移至 gpart(8) 进行磁盘标签管理。be24d85ec784。(由 FreeBSD 基金会赞助)
已计划在 FreeBSD 16.0 中移除 fdisk(8) 工具。用户应转用 gpart(8) 或 bsdinstall(8) 进行磁盘分区。2be4c64a0d27。(由 FreeBSD 基金会赞助)
运行时库和 API
posix_spawn(3) 接口现支持 POSIX 要求的 chdir 和 fchdir 文件操作,允许进程在生成期间更改工作目录。43347b26fb46。
新增 posix_spawnattr_getexecfd_np(3) 和 posix_spawnattr_setexecfd_np(3) 函数,允许使用文件描述符作为 posix_spawn 的可执行文件。6b9e7e922d8b。
新增 pthread_tryjoin_np(3) 函数,允许线程尝试加入另一个线程而不阻塞。a8891c29d6a0。
AArch64 上的 libc 字符串函数 memcpy(3)、memmove(3) 和 memset(3) 现在可用时使用 MOPS(内存操作)硬件指令,提升了这些常用操作的性能。d8e700f2eeb9。(由 Arm Ltd 赞助)
新增与 glibc 兼容的 tdestroy(3) 函数,提供了销毁二叉搜索树的标准方法,改善了与期望此函数的软件的兼容性。6197518ee905。
新增 strdupa(3) 和 strndupa(3) 函数,使用 alloca(3) 在栈上为字符串副本分配内存。这为 strdup(3) 和 strndup(3) 提供了便捷替代方案,临时字符串副本在函数返回时自动释放。b2e649a0b98d。
libzfs 和 libzpool 的 SONAME 已分别升至 libzfs7 和 libzpool7,因 ABI 发生不兼容变更,依赖应用程序需重新编译。5b2489caf266。
新增 libuvmem,这是 vmem(9) 内核内存分配器的用户空间移植,为用户空间应用程序提供类似接口。3ae14e8f332f。
C23 版本的 C 编程语言扩展支持现已提供。该支持将持续演进,预计 FreeBSD 16 将完整支持。新功能包括 <stdbit.h> 头文件、memalignment(3) 函数、<limits.h> 和 <stdint.h> 头文件的更新(包括 _WIDTH 宏和 char8_t)以及其他扩展。275c11b7ccff、104488641aca、24ea81047de7、5656d0f7453e、72609bb2bb25、ff50ace5fe0e、cbad54ba46e6、6fc280810ead。
云支持
本节涵盖云环境支持的变更。
Oracle Cloud Infrastructure (OCI) 构建目标及相关脚本已移除。最后的官方 OCI 镜像来自 FreeBSD 15.0-RELEASE。2702a3ac1ab6。(由 SkunkWerks, GmbH 赞助)
pkg(7) 软件包现已安装在使用 pkgbase 的 VM 和云镜像上,无需从 ports 仓库手动安装 pkg 即可更新基本系统。c8d759230a0e。(由 Amazon 赞助)
GCE 镜像族名称现包含 TARGET 和 FS,确保镜像族按架构和文件系统唯一。这防止了 GCE 实例 API 在使用镜像族名称时选择不兼容的镜像。0005bb76e2e7。
Graviton (arm64) 系统上 ena(4) 设备的 I/O 中断现分散到各 CPU,而非全部落在 CPU 0 上,显著提升了这些 EC2 实例类型的网络性能。b2ba4131b9b0。(由 Amazon 赞助)
云镜像新增首次启动软件包自动更新器。首次启动时,基本系统软件包会自动更新以修补系统。10c4498f93d2。(由 Google Cloud 赞助)
EC2“small”版本的 AMI 不再默认运行 firstboot_pkgs;通过 EC2 user-data 设置 firstboot_pkgs_list 来指定安装软件包列表的用户,现还需设置 firstboot_pkgs_enable="YES"。b9ee42d7712b。(由 Amazon 赞助)
内核
本节涵盖未归入其他类别的内核配置、系统调优和系统控制参数变更。
内核通用变更
系统动态追踪 (SDT) 提供程序现已在 32 位 powerpc 和 powerpc64le 平台上启用,允许用户在这些架构上使用 DTrace 探针。769bc6877399。
新增调度器选择框架,允许通过可调参数在启动时选择不同的 CPU 调度器。这为未来的调度器实现奠定了基础。159a66aecc9c。
sched_ule 调度器现作为调度器实例实现,可能影响系统性能和调度行为。ec10524db95a。
amd64 的 GENERIC 内核配置现同时包含 SCHED_ULE 和 SCHED_4BSD 调度器,用户可在启动时通过 sysctl kern.sched 选择。a3b5daf4242f。
MINIMAL 内核配置现包含 virtio_scsi 驱动,可在 qemu/kvm 虚拟机中启动。80dec91da334。(由 Klara, Inc.; NetApp, Inc. 赞助)
新增 pdwait(2) 系统调用,用于等待进程描述符,为通过 pdfork(2) 创建的进程提供了 wait4(2) 的替代方案。758de6465572。
新增 pdrfork(2) 系统调用,提供了确定性资源继承的进程创建新机制。4ae6f372e26c。
powerpc 线程切换代码中的竞态条件已修复,该条件可能导致多 CPU power9 pseries 客户机在启动时挂起。a50789d8b89b。
sysctl hw.ata.rotating 和 hw.ata.unmapped_io 的移除计划已推迟至 FreeBSD 16。469ab88d107c。(由 FreeBSD 基金会赞助)
在使用 sysctl vfs.zfs.min_auto_ashift 及其他旧版 ZFS sysctl 时现发出警告,提示已弃用并将移除。用户应更新脚本和配置,使用新的 sysctl 名称,如 vfs.zfs.vdev.min_auto_ashift。f0033878b92e。(由 FreeBSD 基金会赞助)
Linux 兼容层新增 F_DUPFD_QUERY fcntl 命令支持,该命令与 kcmp(2) KCMP_FILE 配合使用,用于在 Linux 容器中检查文件描述符等价性。ec8d0b5f5dfb。
设备与驱动
本节涵盖自 15.0-RELEASE 以来设备和设备驱动的变更与新增。
设备驱动程序
ena(4) 驱动更新至 v2.8.3。包含巨型帧接收路径的缺陷修复,可将网络吞吐量提升 10 倍或更多。b949f8292de5。(由 Amazon, Inc. 赞助)
bcm2838_xhci 驱动现可通过兼容字符串正确识别树莓派 400 硬件,使该平台上的 xhci 初始化和 USB 功能(包括外部端口和内置键盘)正常工作。861deac98c4c。
新增树莓派 3B 及部分计算模块板卡上的 bcm2835-virtgpio GPIO 控制器驱动。可通过 gpioled(4) 控制 ACT(绿色)LED。fb10574334ca。
smartpqi 驱动更新至厂商版本 14.4690.0.2008 - 15.2.0.2008。此更新新增对新型控制器的支持,并将 passthrough ioctl 的 I/O 缓冲区大小限制从 16 位提升至 32 位。0c370a416b68。(由 Microchip Technology Inc. 赞助)
asmc(4) 驱动不再支持 32 位 Intel Mac,明确 i386 硬件不受支持。e16f1bf3baa1。
mfi(4) 驱动现支持富士通 PRIMERGY 服务器使用的富士通 RAID 控制器 SAS 6Gbit/s 1GB (D3116)。e16e4cd25c1d。
硬件性能监控计数器 (hwpmc) 新增对以下 Intel CPU 型号的支持:Alder Lake(型号 6-B7、6-BA、6-BF)、Alder Lake-N 和 Emerald Rapids。使用这些处理器的用户现可通过 pmc(3) 及相关工具收集性能事件。Emerald Rapids 支持包含从 Intel perfmon 1.06 版本导入的 JSON 事件定义,提供全面的事件覆盖。a40167734ecb、6b0cb6ea249e、9ac702781508。(由 Stormshield 赞助)
hid(4) 驱动现允许“game”组成员访问游戏控制器事件,通过 libsdl 等库实现非特权控制器使用。d0e1b3edee70。
iwx(4) 驱动已纳入内核构建配置,启用对 Intel AX210/AX211/AX411 Wi-Fi 6E 和 Wi-Fi 7 无线网卡的支持。0f9ab6c5232b。
NVMe 驱动现支持 BAR5 用于 Table BIR 和 PBA BIR,使 FreeBSD 能在使用独立 32 位 BAR4 和 BAR5 寄存器的 NVMe 控制器的 Google Compute Engine C4 机器上运行。6c321dc15d52。(由 Google 赞助)
ice(4) 驱动现支持 Intel E835-XXV-4 网络适配器。b59a9230a6a8。(由 Intel Corporation 赞助)
ice(4) 驱动现支持具有 SPDM 安全和 RDMA 功能的 Intel E835 以太网适配器,支持 100Gbps 和 200Gbps 链路。16004d2a9eee。(由 Intel Corporation 赞助)
qat(4) 驱动现使用现有 qat_4xxx 驱动支持 402xx 设备(ID 0x4944/0x4945)。已添加设备专用固件文件。88c0ce38bc18。(由 Intel Corporation 赞助)
已弃用和已移除的驱动程序
hifn(4) 驱动已标记为计划在 FreeBSD 16.0 中移除,提醒用户为未来的兼容性变更做好准备。ba6c676ef3ac。
safe(4) 驱动已标记为计划在 FreeBSD 16.0 中移除,表明该驱动已弃用并将移除。0ef2ecd0ced4。
agp(4) 驱动的弃用通知已更新,移除时间从 15.0 改为 16.0。92f169fe0f19。(由 FreeBSD 基金会赞助)
fdc(4) 驱动及软盘工具(fdcontrol(8)、fdformat(8)、fdread(1)、fdwrite(1))已弃用。支持计划在 FreeBSD 16 中移除。661b40ffdee2。(由 FreeBSD 基金会赞助)
le(4) 驱动的弃用通知已更新,反映其未在 FreeBSD 15.0 之前移除,表明仍继续支持。59ba7278499f。(由 FreeBSD 基金会赞助)
存储
本节涵盖本地和网络文件系统及其他存储子系统的变更与新增。
存储通用变更
mt(1) 工具和 libmt 库新增对 LTO-10 和 LTO-10P 磁带密度代码及规格的支持。LTO-10 磁带驱动器不兼容前代 LTO 磁带。7fe98ee4d49a。(由 Spectra Logic 赞助)
ZFS
ZFS 最低清理和重镜像时间已从多秒降至亚秒级,使现代存储上的事务组周期更快,改善高负载下的写入性能。35ee242abcba。
新增可调参数 zfs_arc_evict_batches_limit,用于改善 ZFS ARC 中的并行驱逐性能。此变更减少了锁争用,可显著提升某些工作负载的吞吐量。8a79d0968006。
zpool(8) prefetch 命令现支持 BRT(块引用表)元数据,改善了块克隆操作和克隆块释放的性能。参数 -t 现为可选;省略时,命令同时预取 DDT 和 BRT 元数据。41878d57eaf3。
NFS
NFS 客户端现可正确处理通过 NFS 导出的大小写不敏感文件系统(如 msdosfs(4))。名称缓存已修改,避免同一文件名不同大小写变体的错误缓存命中。406c98d2ca1d。
NFSv4 无盘启动现支持使用 nfsuserd(8) 进行名称和 ID 映射的配置。内核使用基本条目预填映射缓存,避免启动时死锁。用户须在 loader.conf 中设置 boot.nfsroot.options=“nfsv4”和 boot.nfsroot.user_domain=“<user.domain>”。692a289922d2。
新增基于 Internet Draft 的 POSIX draft ACL 作为 NFSv4.2 扩展的内部基础设施。这些变更为 NFS 客户端和服务器未来的支持做准备,当前不引入用户可见的语义变更。注意:因内部 KAPI 变更,更新后须从源码重新构建 nfscommon.ko、nfscl.ko 和 nfsd.ko。20bfa56c514b、2eddaeb3e505、d842c511d84c、dccf41dd1834、144c1eda3973。
NFSv4 客户端和服务器现支持归档属性 (UF_ARCHIVE),Windows NFSv4.1 客户端使用此属性,尽管 RFC 8881 已将其弃用。这改善了与 Windows NFS 客户端的互操作性。3a64c667f16f。
新增通过 NFSv4 挂载无盘根文件系统的支持。需要特定的服务器配置和 loader.conf(5) 与 sysctl.conf(5) 中的客户端设置。2a97b49bc472。
iSCSI 登录时的 TargetName 匹配现恢复为大小写不敏感,符合 RFC 3722。379805b29732。(由 ConnectWise 赞助)
引导加载程序变更
本节涵盖引导加载程序、引导菜单及其他引导相关变更。
引导加载程序变更
splash(4) 内核功能新增关机闪屏。用户可通过 loader.conf(5) 中的 shutdown_splash 指令提供 PNG 图像来自定义关机闪屏。内核崩溃后,闪屏不再覆盖调试器输出,使 ddb(4) 禁用时崩溃信息可见。0bd9b26d19e2、6a3966f363d3。(由 Defenso 赞助)
EFI 引导加载程序现仅在使用 GOP(图形输出协议)时使用固件提供的 Blt 函数,而非 UGA(通用图形适配器)。这改善了与旧款 MacBook 系统的兼容性,这些系统的 UGA Blt 函数不可靠。d3902baca506。
网络
本节描述影响 FreeBSD 网络的变更。
网络通用变更
ipfw(8) 表新增掩码 IP 地址查找支持,允许非连续前缀,实现更高效的 CPU 防火墙配置。a9b93531788c。(由 Yandex LLC 赞助)
ipfw(8) 防火墙现支持表中的掩码 IP 地址查找,允许非连续前缀以实现更高效的防火墙规则配置。通过掩码查找键和表项中的非有效位,实现 CPU 高效的防火墙设置。a9b93531788c。(由 Yandex LLC 赞助)
IPv6 数据包现可传递到 divert 套接字,移除了此前将 divert 套接字限制为仅 IPv4 的限制。这使 divert 套接字应用程序能够处理 IPv6 数据包。e5cf3437275f。(由 OPNsense, Klara, Inc. 赞助)
新增 sysctl/可调参数 net.inet.ipf.jail_allowed,用于控制 Jail 是否可管理自身的 ipfilter 规则、池和设置。默认拒绝 Jail 访问,需由主机系统管理 Jail 规则(通过接口附加),或启用该 sysctl 允许 Jail 自行控制。65bc0a1ade72。
ipfw(8) 版本 3 兼容代码(用于 FreeBSD 8 及更早版本)已移除,因其已过时且不再需要。此清理可能影响仍在使用极旧配置的系统,但不改变当前受支持版本的功能。9657c50cdd77。(由 FreeBSD 基金会赞助)
新增了对 RFC 7217 稳定 IPv6 地址生成的支持,通过 ifconfig 标志 stableaddr 和相关 sysctl 实现。此功能默认禁用,保持现有行为。ifconfig(8) 手册页已更新文档。865e0b20ca3c。
由于实现中存在严重缺陷,导致高概率冲突及部分生成的地址超出预期 OUI 范围,if_bridge(4)、if_epair(4) 及其他接口生成的稳定 MAC 地址将自 15.0 起发生变化。若需保留原 MAC 地址(例如用于 DHCP 租约),须注意持久化现有 MAC 地址,如在 rc.conf(5) 中使用 ifconfig_bridgeN="... ether aa:bb:cc:dd:ee:ff"。604d34c23f77。
无线网络
iwlwifi(4) 无线驱动已基于 Linux 7.0 版本更新。此更新包含对更新 Intel 无线设备的支持。f45e34316eb7。(由 FreeBSD 基金会赞助)
rtw89(4) 无线驱动已基于 Linux 7.0 版本更新,新增对更新 Realtek 芯片组的支持,改善了稳定性和功能。若干芯片组仍有已知问题。7ffebcdb702d。(由 FreeBSD 基金会赞助)
rtw88(4) 驱动已基于 Linux 7.0 版本更新,包含 Realtek 无线设备的各项修复和改进。某些芯片组存在已知问题。bcdf750def1d。(由 FreeBSD 基金会赞助)
RISC-V 系统上启用了基于 LinuxKPI 的无线驱动(特别是 iwlwifi(4))的初始支持。虽然 ACPI 在该架构上尚未完全支持,但驱动框架已适配以允许在可能的情况下编译和运行。注意:rtw89(4) 驱动因未解决的 ACPI 依赖问题,在 RISC-V 上暂不可用。7990fa2a819c、24777428cbc2、d301aadc994f、4a56313c73eb。(由 FreeBSD 基金会赞助)
硬件支持
本节涵盖物理机器、管理程序和虚拟化环境的通用硬件支持,以及不适合归入本文其他章节的硬件变更和更新。
请参阅 15.1-RELEASE 支持的硬件列表 以及 平台页面 获取支持的 CPU 架构完整列表。
虚拟化支持
新增 Jail 配置旋钮 allow.vmm_ppt,用于控制 bhyve(8) Jail 中的 PCI 直通访问。Jail 中的 PCI 直通现需显式配置,取代了此前的全面限制。94066f9a07ad。(由 FreeBSD 基金会; Klara, Inc. 赞助)
virtio GPU 驱动现通过拆分资源附加请求与 Parallels Desktop 兼容,从而在此虚拟化环境中启用图形支持。91ce7a19120a。(由 Arm Ltd 赞助)
arm64 新增对细粒度陷阱 (FGT) 寄存器的支持,增强了管理程序的虚拟化能力。89776ce6a7b7。(由 Arm Ltd 赞助)
当硬件功能存在时,arm64 用户空间现可使用内存操作 (MOPS) 指令集。用户应用程序可使用 MOPS 指令提升内存操作性能。2a9a92ba7bd7。(由 Arm Ltd 赞助)
bhyve(8) 远程帧缓冲新增 UNIX 域套接字支持。bhyve Jail 实例无需网络即可使用图形控制台。d29dd64b3f88。(由 Defenso 赞助)
amd64 架构现支持 LASS(线性地址空间分离),这是一项帮助隔离内核和用户地址空间的安全功能。此变更可能影响调试和底层系统编程。532c8d3f90b9。
amd64 架构现支持扩展目标 ID 标准,在 IO-APIC 和 MSI 中支持最多 32768 个 APIC ID 而无需中断重映射;特别是,这增加了对 EC2“r8i.96xlarge”实例的支持。b54646e37a2b。(由 Amazon 赞助)
文档
本节涵盖基本系统附带的手册(man(1))页及其他文档的变更。
手册页
sh(1) 手册页现包含详细的作业控制文档,采用 POSIX 标准文本以匹配 FreeBSD 实现。0b5ced487a28。
新增 pdfork(2) 和 pdwait(2) 手册页,记录了 pdrfork 和 pdwait 系统调用。780b7f9e0ece。
renameat2(2) 系统调用已有文档,为用户提供扩展重命名功能的信息。3ccc39d38ed8。
write(2) 手册页新增章节,描述写操作的原子性保证。514c8f173ce0。
新增 librt(3) 中未文档化的 mq_getfd_np(3) 函数的手册页。该函数自 FreeBSD 11 起即已存在。992f994bb71e。
新增 posix_spawnattr_getprocdescp_np(3) 和 posix_spawnattr_setprocdescp_np(3) 手册页,记录了 posix_spawn 中管理进程描述符的扩展。4d8e4b67f5b5。
pthread_join(3) 手册页已更新,记录了 pthread_tryjoin_np(3) 函数,为用户提供非阻塞的线程加入替代方案。d1ac644ccc43。
新增若干 DTrace 提供程序的手册页,包括 dtrace_vfs(4)(VFS 活动)、dtrace_pid(4)(用户级进程追踪)、dtrace_priv(4)(权限检查)和 dtrace_callout_execute(4)(callout 处理程序执行)。09af13403983、20fc2b332bd2、443b7c41d619、1c0178baa7c3。
新增 geom_zero(4) 手册页,记录了 GEOM ZERO 类及其功能。32ef68b0f30d。
新增两个 sysctl(tx_reclaim_ticks 和 tx_reclaim_thresh)的文档(iflib(4))。这些 sysctl 影响网络驱动发送行为。ef8c912aadad。(由 Netflix 赞助)
nfsv4(4) 手册页现包含设置 NFSv4 根文件系统的文档,为希望使用此功能的用户提供指导。6ef2df5e8e7a。
基本系统新增 nlsysevent(4) 手册页。56a5d11dd69f。
新增 vmgenc(4) 手册页,记录了 VM 生成 ID 计数器驱动,该驱动在检测到虚拟机克隆或快照恢复时重新播种内核熵池。252f0c28855b。
vt(4) 手册页现包含增大回滚大小的示例以及控制台字体章节,涵盖转换、支持和使用。2da71ee296ad。
pf.conf(5) 手册页现包含 BNF 语法中的 nat-to 和 rdr-to,为用户澄清了语法。1c7c2027f2d1。(由 Rubicon Communications, LLC (“Netgate”) 赞助)
resolver(5) 手册页现记录了选项 edns0、inet6、insecure1、insecure2、no-check-names 和 rotate,这些选项由 res_init(3) 解析但此前未文档化。c988f316d6c6。
d(7) 新增若干字符串函数的文档:strchr、strjoin、strrchr、strstr、strtok、strlen 和 substr。d086bf34b56f。
新增 groups(7) 手册页,描述标准组名。0ac3db880552。
ports(7) 手册页已大幅改进。FILES 部分已扩展并重构为三个表格以更清晰,现包含各 Port 文件的简要描述。此外,变量 DEFAULT_VERSIONS 已有文档,为用户设置 Port 选项默认版本提供信息。1b5b7867b67f、782ea981ea72、0ebf602e1785。
tuning(7) 手册页现记录了内核调度器可调参数,为用户提供可用调度器配置选项的信息。4e5c15f3107e。
新增已弃用 blacklist 工具(blacklistctl(8)、blacklistd(8)、blacklistd.conf(5)、libblacklist(3))的手册页,记录了其弃用状态和细节。这为已重命名为 blocklist 的弃用 blacklist 工具提供了更新文档。f935c0f66f75。
cron(8) 手册页已更新,澄清了系统 crontab 格式。d2fb6b8f80cc。
ifconfig(8) 手册页格式已修正,改善可读性。c20f5fd44322。
jail(8) 手册页现记录了两种 Jail 创建方法:从 PkgBase 和从发行集。f467eb078f51、5d7cd576d99b。
shutdown(8) 手册页现记录了 shutdown 命令接受的额外时间格式,为用户提供更清晰的说明。c13157b87b00。
新增 deadfs(9) 手册页,记录了 dead 文件系统。d8097cf79cfa。
最后更新于