github编辑

FreeBSD 14.2-RELEASE 发行说明(2024 年 12 月 3 日)

概述

FreeBSD 14.2-RELEASE 发行说明总结了在 14-STABLE 开发分支上 FreeBSD 基本系统发生的变更。本文档列出了自上次发布以来 RELEASE 适用的安全公告,以及对 FreeBSD 内核和用户空间的重大变更。同时还附带了有关更新的简要说明。

引言

本文档为 FreeBSD 14.2-RELEASE 的发行说明,概述了 FreeBSD 最近新增、修改和删除的功能,并附带了有关从旧版本更新的说明。

本发行说明适用于自 14-STABLE 开发分支创建以来的最新版本信息。有关该分支中预编译的二进制“RELEASE”发行版的信息,请参见 https://www.FreeBSD.org/releases/arrow-up-right

FreeBSD 14.2-RELEASE 是个“RELEASE”发行版。可以通过 https://www.FreeBSD.org/releases/arrow-up-right 和其有关镜像下载。有关获取此版本(及其他版本)FreeBSD 的更多信息,请参阅 FreeBSD Handbookarrow-up-rightFreeBSD 附录arrow-up-right

建议在安装 FreeBSD 之前,用户先查阅下发行勘误文档。该文档包含在发行周期后期及发行后发现的“最新”信息,通常涉及已知错误、安全公告以及文档修正。可在 FreeBSD 网站上找到最新的 FreeBSD 14.2-RELEASE 勘误文档。

本文档总结了自 14.1-RELEASE 以来 FreeBSD 中对用户最为可见的新增和变更功能。一般来说,这些变更是 14-STABLE 分支的独有内容,除非特别标记为 MERGED 功能。

一般的发行说明内容包括自 14.1-RELEASE 之后发布的安全公告、新增的驱动程序/硬件支持、新命令/参数、主要的错误修复/外部软件更新。还可能列出主要 Ports/软件包和发行工程实践的变更。显然,发行说明无法详尽列出两个 FreeBSD 版本之间所做的每项变更;本文档主要聚焦于安全公告、用户可见的变更和重大架构改进。

从旧版 FreeBSD 更新

使用工具 freebsd-update(8) 能在 RELEASE 版本(及各安全分支快照)间进行二进制更新。请参阅特定版本的更新程序,例如 FreeBSD 14.2-RELEASE 的更新信息,并在 FreeBSD 手册中查阅关于二进制更新的详细说明。此工具会更新未经修改的用户空间工具,以及在官方 FreeBSD RELEASE 分发的未经修改的 GENERIC 内核。工具 freebsd-update(8) 要求更新的主机能够连接互联网。

可以按照 /usr/src/UPDATING 中的说明从以前的版本进行基于源代码的更新(通过重新编译 FreeBSD 基本系统进行更新)。

在更新 FreeBSD 之前,应先备份所有数据和配置文件。

安全与勘误

本节列出了自 14.1-RELEASE 以来发布的安全公告和勘误通知。

安全公告

公告编号
日期
主题

FreeBSD-SA-24:04.openssh

2024 年 7 月 1 日

OpenSSH 预认证远程代码执行

FreeBSD-SA-24:05.pf

2024 年 8 月 7 日

pf 在状态表中错误匹配不同的 ICMPv6 状态

FreeBSD-SA-24:06.ktrace

2024 年 8 月 7 日

ktrace(2)arrow-up-right 在执行 setuid 二进制文件时未正确分离

FreeBSD-SA-24:07.nfsclient

2024 年 8 月 7 日

NFS 客户端接受包含路径分隔符的文件名

FreeBSD-SA-24:08.openssh

2024 年 8 月 7 日

OpenSSH 预认证异步信号安全问题

FreeBSD-SA-24:09.libnv

2024 年 9 月 4 日

libnv 中的多个漏洞

FreeBSD-SA-24:10.bhyve

2024 年 9 月 4 日

bhyve(8)arrow-up-right 通过 TPM 设备直通导致的特权用户逃逸

FreeBSD-SA-24:11.ctl

2024 年 9 月 4 日

ctl(4)arrow-up-right CAM 目标层的多个问题

FreeBSD-SA-24:12.bhyve

2024 年 9 月 4 日

bhyve(8)arrow-up-right 通过 USB 控制器直通导致的特权用户逃逸

FreeBSD-SA-24:13.openssl

2024 年 9 月 4 日

OpenSSL 中 X.509 名称检查可能导致的 DoS

FreeBSD-SA-24:14.umtx

2024 年 9 月 4 日

umtx 内核崩溃或使用后释放

FreeBSD-SA-24:15.bhyve

2024 年 9 月 19 日

bhyve(8)arrow-up-right XHCI 仿真中越界读取访问

FreeBSD-SA-24:16.libnv

2024 年 9 月 19 日

libnv 中的整数溢出

FreeBSD-SA-24:17.bhyve

2024 年 10 月 29 日

bhyve 管理程序中的多个问题

FreeBSD-SA-24:18.ctl

2024 年 10 月 29 日

ctl(4)arrow-up-right CAM 目标层中的不受限制分配

FreeBSD-SA-24:19.fetch

2024 年 10 月 29 日

fetch(1)arrow-up-right 参数的证书吊销列表功能失效

勘误通知

勘误编号
日期
主题

FreeBSD-EN-24:10.zfs

2024 年 6 月 19 日

ZFS 内核内存泄漏

FreeBSD-EN-24:11.ldns

2024 年 6 月 19 日

LDNS 使用了 resolv.conf 中注释掉的 nameserver

FreeBSD-EN-24:12.killpg

2024 年 6 月 19 日

killpg 中的锁顺序反转(Lock order reversal,LOR)导致的活锁

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 日

FreeBSD-EN-24:16.pf

2024 年 9 月 19 日

pf 中的 ICMPv6 状态处理错误

FreeBSD-EN-24:17.pam_xdg

2024 年 10 月 29 日

登录时 XDG 运行目录的文件描述符泄漏

用户空间

本节介绍用户空间应用程序、第三方软件和系统工具的变更与新增内容。

用户空间应用程序的变更

env(1)arrow-up-right 增加了一个用于变更目录的参数。此功能类似于 GNU 版 env 的功能,但不支持长选项(译者注:即 -- 此类参数)。08e8554c4a39arrow-up-right(由 Klara, Inc. 赞助)

第三方应用程序

已弃用应用程序

gpart(8)arrow-up-right 已经取代 fdisk(8)arrow-up-right 很久了,但后者未被删除。运行此应用程序时,将显示迁移到 gpart(8)arrow-up-right 的警告。3958be5c29daarrow-up-right(由 FreeBSD 基金会赞助)

asinf(3)arrow-up-rightacosf(3)arrow-up-right 的精度得到提高。33c82f11c267arrow-up-right

运行时库和 API

fma(3)arrow-up-right 现在在处理某些较小输入时(如在 Python 测试套件中观察到的情况),能够正确返回符号为零的结果。dc39004bc670arrow-up-right(由 FreeBSD 基金会赞助)

新增函数 cap_rights_is_empty,用于判断 cap_rights_t 是否未设置任何权限。e77813f7e4a3arrow-up-right(由 FreeBSD 基金会赞助)

云端支持

本节介绍云环境支持方面的变化。

设备与驱动程序

本节介绍自 FreeBSD 14.1-RELEASE 以来设备和驱动程序的变更与新增内容。

设备驱动程序

弃用和删除的驱动程序

存储

本节介绍文件系统及其他本地和网络存储子系统的变更与新增内容。

ZFS

OpenZFS 已更新至版本 2.2.6。755e773877e9arrow-up-right

启动加载程序的变更

本节介绍启动加载程序、启动菜单及其他与启动相关的变更。

启动加载程序的变更

BIOS 引导加载程序重新添加了对 gzip 和 bzip2 的支持,但默认情况下移除了图形模式的支持,以解决大小问题。(EFI 引导加载程序未受影响,仍支持上述所有功能。)4d3b05a8530earrow-up-right(由奈飞赞助)

网络

本节介绍 FreeBSD 网络功能的变更。

网络协议

对网络栈进行了大量改进,涉及性能提升以及对 sctp(4)arrow-up-right 栈的错误修复。

通过 sctp_peeloff(2)arrow-up-right 返回的描述符现在会继承父套接字的权限。ae3d7e27abc9arrow-up-right(由 FreeBSD 基金会赞助)

一般网络

无线网络

LinuxKPI(尤其是针对 802.11)的功能已增强(如 iwlwifi(4)arrow-up-right),提高了无线驱动程序的稳定性。(由 FreeBSD 基金会赞助)

硬件支持

本节介绍了对物理设备、虚拟化环境和硬件的一般支持,以及不属于其他章节的硬件更新。

请查看 14.2-RELEASE 硬件支持列表arrow-up-right以及平台页面arrow-up-right以了解完整的支持 CPU 架构列表。

处理器支持

IOAPIC ID 最大值已增加至 255,修复了某些高核心数 AMD CPU 启动失败的问题。18119e711f1carrow-up-right(由 FreeBSD 基金会赞助)

新增对 POWER10 和 POWER11 的初步支持。f9f006df1535arrow-up-right

虚拟化支持

Linux 二进制兼容层

现在,Linux 二进制兼容层所有的 stat() 及其衍生都将忽略参数 AT_NO_AUTOMOUNT——因为该参数指定的行为已经与 FreeBSD 的行为一致,这提高了 Linux 应用程序的兼容性。99d3ce80ba07arrow-up-right(由 FreeBSD 基金会赞助)

多媒体

对音频堆栈进行了许多改进,包括支持 mixer(8)arrow-up-right 中的热插拔功能,以及新增了工具 mididump(1)arrow-up-rightcf9d2fb18433arrow-up-right(由 FreeBSD 基金会赞助) 7224e9f2d4afarrow-up-right(由 FreeBSD 基金会赞助)

Ports 与软件包基础设施

本节介绍 FreeBSD Ports、软件包基础设施以及软件包管理和安装工具的变更。

安装程序

FreeBSD 安装程序 bsdinstall(8)arrow-up-right 现在能在 FreeBSD 基本系统安装完成后下载和安装固件包。03c07bdc8b31arrow-up-right(由 FreeBSD 基金会赞助)

软件包变更

已将软件包 net/wifi-firmware-kmod@releasearrow-up-right 添加到 DVD 软件包中,以提供 WiFi 驱动所需固件。8c6df7ead19carrow-up-right(由 FreeBSD 基金会赞助)

关于后续 FreeBSD 版本的一般说明

预计 FreeBSD 15.0 将不再支持除 armv7 以外的 32 位平台。armv6、i386 和 powerpc 平台已弃用并将被删除。但 64 位系统仍可运行旧的 32 位二进制文件。

FreeBSD 项目计划在 FreeBSD 15.0 和 stable/15 中将 armv7 作为二级(Tier 2)架构继续支持。然而,项目方预计 armv7 可能会在 FreeBSD 16.0 中被删除。FreeBSD 项目将会在 15.0 发布时更新在 15.x 和 16.x RELEASE 中 armv7 的支持状态。

通过选项 COMPAT_FREEBSD32 在 64 位平台上运行 32 位二进制文件的支持将至少延续到分支 stable/15 和 stable/16。此外,通过 cc -m32 编译单个 32 位应用程序的支持也将至少延续到分支 stable/15,该分支中将包含适当的头文件(/usr/include)和库(/usr/lib32)。

自 FreeBSD 15.0 起,Ports 系统将不再支持被弃用的 32 位平台。Ports 后续版本将不再提供用于弃用的 32 位平台的二进制软件包,也不支持使用 Ports 构建这些平台的软件包。

FreeBSD stable/14 及更早分支将保留现有的 32 位内核和系统支持。在这些分支的支持期间,Ports 系统仍将支持为 32 位系统构建 Ports 和软件包。然而,所有 32 位平台均为二级、三级(Tier-2、Tier-3),因此随着上游停止对 32 位平台的支持,个别 Port 的支持可能会逐步下降。

按照当前的支持计划,stable/14 的生命周期将在 FreeBSD 14.0-RELEASE 发布后约 5 年结束。stable/14 的生命周期结束(EOL)将参数着被弃用的 32 位平台支持的终结,包括源代码发布、预构建软件包和通过 Ports 构建应用程序的支持。随着 14.0-RELEASE 于 2023 年 11 月发布,对被弃用的 32 位平台的支持将于 2028 年 11 月结束。

当 FreeBSD 15.0 发布时,FreeBSD 项目可能选择通过延续某些弃用平台的支持,调整这一计划。所有变更将根据社区反馈以及持续支持平台的努力来决定。

最后更新于