For the complete documentation index, see llms.txt. This page is also available as Markdown.

FreeBSD 13.5-RELEASE 发行说明(2025 年 3 月 11 日)

概述

FreeBSD 13.5-RELEASE 的发行说明概述了在 13-STABLE 开发分支上的 FreeBSD 基本系统所做的变更。本文件列出了自上次发布以来发布的适用安全公告,以及对 FreeBSD 内核和用户空间的重要更改。此外,还提供了一些关于升级的简要说明。

简介

本文件是 FreeBSD 13.5-RELEASE 的发行说明,介绍了 FreeBSD 最近新增、修改或删除的功能,并提供了从旧版升级的相关说明。

本发行说明适用于“RELEASE”,该 RELEASE 代表着 13-STABLE 开发分支自创建以来的最新进展。关于此分支上预构建的二进制“RELEASE”信息,请访问 https://www.FreeBSD.org/releases/

本发行说明适用于 13-STABLE 开发分支自 13.4-RELEASE 以来的某个时间点。预计 13.5-RELEASE 将是 13-STABLE 分支的最终版本。有关该分支上预构建的二进制“RELEASE”的信息,请访问 https://www.FreeBSD.org/releases/

作为“RELEASE”,可以在 https://www.FreeBSD.org/releases/ 及其任意镜像站找到 FreeBSD 13.5-RELEASE。关于获取此版本(及其他 FreeBSD“RELEASE”)的更多信息,请参阅 FreeBSD 手册中的获取 FreeBSD 附录

所有用户在安装 FreeBSD 之前都应查看发行勘误。勘误文档包含在发布周期后期或发布后发现的“最新动态”信息,通常涉及已知 bug、安全公告和文档更正。可在 FreeBSD 网站上找到 FreeBSD 13.5-RELEASE 的最新勘误。

本文件介绍了自 13.4-RELEASE 以来在 FreeBSD 中新增或修改的对用户最具影响的功能。通常,文中所述的更改仅适用于 13-STABLE 分支,除非特别标注为 MERGED(已合并)功能。

典型的发行说明条目包括 13.4-RELEASE 之后发布的安全公告、新增的驱动程序或硬件支持、新命令或参数、主要的 bug 修复或贡献软件的升级。此外,还可能列出对主要 ports/软件包或发行工程实践的更改。显然,发行说明无法包含了 FreeBSD 版本之间的每一项改动,因此本文件主要关注安全公告、用户可见的更改以及主要的架构改进。

从旧版 FreeBSD 更新

可使用 freebsd-update(8) 工具完成 RELEASE 版本之间的二进制升级(以及各安全分支的快照)。有关特定于本版本的升级步骤,请参阅 FreeBSD 13.5-RELEASE 升级信息,详细信息可见 FreeBSD 手册的 二进制升级流程。该工具将更新未修改的用户空间实用程序,以及官方 FreeBSD 发行版中提供的未修改 GENERIC 内核。使用 freebsd-update(8) 进行升级的主机必须具有互联网连接。

基于源代码的更新(即通过重新编译 FreeBSD 基本系统进行升级)同样受到支持,相关说明请参考 /usr/src/UPDATING

在尝试升级 FreeBSD 之前,务必先备份 所有 数据和配置文件。

安全公告与勘误

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

安全公告

公告
日期
主题

2024 年 9 月 19 日

libnv 中的整数溢出

2024 年 10 月 29 日

bhyve hypervisor 中的多个问题

2024 年 10 月 29 日

ctl(4) CAM 目标层中的无限制分配

2024 年 10 月 29 日

证书吊销列表 fetch(1) 选项失效

2025 年 1 月 29 日

OpenSSH 按键混淆绕过漏洞

2025 年 1 月 29 日

通过 NFS 触发的某些文件系统缓冲区溢出

2025 年 1 月 29 日

未授权访问系统文件

2025 年 1 月 29 日

ktrace(2) 导致未初始化的内核内存泄露

2025 年 2 月 21 日

OpenSSH 中的多个漏洞

勘误通知

勘误
日期
主题

2024 年 10 月 29 日

XDG 运行时目录在登录时出现文件描述符泄漏

2025 年 1 月 29 日

NFSv4 客户端中的 NULL 指针解引用

2025 年 1 月 29 日

DTrace 导致系统调用审计功能被禁用

2025 年 1 月 29 日

时区数据库信息更新

用户空间

本节包含了对用户空间应用程序、第三方软件和系统工具的更改和新增内容。

第三方软件

libpcap 已连续更新至 1.10.3、1.10.4 和 1.10.5。7aedea868535e6efc827e47a68ddf72800f8。(由 FreeBSD 基金会资助)

tpcdump 已连续更新至 4.99.4 和 4.99.5。e5258a079df3094f44ea0358。(由 FreeBSD 基金会资助)

tzdata 已连续更新至 2024b 和 2025a。59ffae6c0c7a2d6dcb4f97f8

expat 已连续更新至 2.6.3 和 2.6.4。bab279022ba23d46113d2196

less 已更新至 v668。eed6d080a74f

file 已连续更新至 5.45 和 5.46。90222d7fa4bbdcb4ac96fcf6

xz 已连续更新至 5.6.2 和 5.6.3。45230e7f9298aa2f56a6ecd6

libusb 的部分功能已合并自 1.0.16 版本。02ef8e4061ab。(由 FreeBSD 基金会资助)

tzcode 已更新至 2024b。036ce2460cbc。(由 Klara, Inc. 资助)

llvm-project 经过多个中间提交和版本更新,已更新至 release/19.x llvmorg-19.1.7-0-gcd708029e0b2。2611bae42b7d。此更新涉及 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp。

libarchive(3) 已更新至 3.7.7。6c7993ffba96

unbound(8) 已连续更新至 1.21.0、1.21.1 和 1.22.0。7217d74d1085d10c9c15a3a4741bb8476204

wpa 已更新至 2.11。87b2a3073aaf

bc 已连续更新至 7.0.0 和 7.0.2。1d669b3d15bcbb18c65a9177

sqlite3 已更新至 3.46.1。bee9d305ee57

OpenSSH 已连续更新至 9.8p1、9.9p1 和 9.9p2。b74bb7f01193cb8e164fbb1531dcdee20afc。(由 FreeBSD 基金会资助)

废弃的应用程序和功能

更新废弃警告,说明 gvinum(8) 在 15.0 版本中已被移除。8126ed28bda6

已废弃 shar(1) ,并已添加废弃通知。0d946859c994shar(1) 程序虽然简单,但 sh 存档的基本思想充满风险,最好不要像 $PATH 中的程序和 man 页面那样显著推广。可以通过 tar(1) 实现相同的功能。

尽管 OpenSSH 计划在 2025 年初移除对 DSA 签名算法的支持,FreeBSD 13.5-RELEASE 和 stable/13 分支预计不会收到上游开发者的代码更新。然而,导入组件中可能存在的安全问题可能会导致在该分支生命周期内移除对 DSA 签名的支持。

设备和驱动程序

本节包含了自 13.4-RELEASE 以来对设备和设备驱动程序的更改和新增内容。

设备驱动程序

增加了对 Purism coreboot 键盘的支持。dfdcb418d7b8

将对 Realtek 8156/8156B 的支持从 dce(4) 转移到 ure(4)1b0af7617e6c。(由 FreeBSD 基金会资助)

新增了对 Brainboxes USB 转串口适配器的支持。c3a377dbbb87

废弃和移除的驱动程序

已计划在 FreeBSD 15.0 中移除 agp(4) ,且 man 页面现已声明其为废弃。8375d2b9c653

存储

本节包含了文件系统和其他存储子系统(本地和网络)的更改和新增内容。

一般存储

可在 mountd(8) 中传递 NGROUPS_MAX} + 1 个组。927d7d57793aNGROUPS_MAX 只是允许的附加组数的最小最大值。实际的运行时值可能更大。可指定更多的组。nmount(2) 已进行类似更改。(由 FreeBSD 基金会资助)

将 UFS1 文件系统中的 2038 年 1 月 19 日日期限制推迟至 2106 年 2 月 7 日。dfe803fdbc54

gstat(8) 增加了磁盘延迟的微秒精度。d81b0f5e43f0。(由 Postgres Professional 赞助)

修复了 cd9660 重复目录名称的问题。79778b7aafc8。此问题最初是在 FreeBSD 14.2-RELEASE 中引入的,导致在安装映像中创建带有重复短名称(第 2 级名称)的 cd9660 映像。(由 FreeBSD 基金会资助)

网络

本节概述了影响 FreeBSD 网络的更改。

一般网络

PF_DEFAULT_TO_DROP 转换为一个 vnet 加载器可调参数 net.pf.default_to_dropcb162f6595787f7ef494f11d 引入了一个编译时选项 PF_DEFAULT_TO_DROP,使 pf(4) 默认规则为丢弃。这个更改公开了一个 vnet 加载器可调参数 net.pf.default_to_drop,能让用户在不重新编译 pf(4) 模块的情况下更改默认规则。此更改类似于 IPFW 的更改 5f17ebf94db5

为驱动程序 igc(4) 添加了 AIM。eaa616f02193igc(4) 是从 igb(4) 派生的,之前没有 AIM 实现。来自 e1000 的相同算法适用于此。AIM 算法是从旧的 igb 和非树驱动程序重新引入的,并且经过现代化,获得了使用来自其他驱动程序的英特尔代码的许可。(由 Rubicon Communications, LLC/Netgate 和 BBOX.io 赞助)

重新添加 AIM 到 e1000 驱动程序。a527aa7a7f62。(由 Rubicon Communications, LLC/Netgate 和 BBOX.io 赞助)

从 e1000 驱动程序中移除了旧的 sysctl 处理程序 itr。a42c3e61504b。随着新 AIM 代码的推出,预计大多数用户不需要手动调优此项。(由 BBOX.io 赞助)

改进驱动程序 igb(4) 的 SFP 支持。cf6a8711e437。(由 Nozomi Networks 和 BBOX.io 赞助)

已更新驱动程序 igb(4) 版本为 2.5.28-fbsd。a446e9481531

if_bypass 来自 ixgbe(4) ,已更新为 ix-3.3.38。5121d1b91209

if_ix 来自 ixgbe(4) ,已更新为 ix-3.3.38 的更改。78d9eb6de856

ixgbe_mbx 来自 ixgbe(4) ,已更新为 ix-3.3.38 的更改。fa00169e26ff

ixgbe_phy 来自 ixgbe(4) ,已更新为 ix-3.3.38 的更改。b1dadbcebdfd

if_sriov 来自 ixgbe(4) ,已更新为 ix-3.3.38 的更改。deea1953820e

已更新驱动程序 ena(4) 版本为 2.8.0。2e7ba5d93e2d。(由亚马逊公司赞助)

硬件支持

本节包含了物理机器、虚拟化环境以及不适合其他部分的硬件变更和更新。

请参阅 13.5-RELEASE 支持的硬件 列表,以及 平台页面 查看完整的支持 CPU 架构列表。

虚拟化支持

修改 sysctl(8) 使其能够在 jail 中自行附加并运行。5b0a5d8c1ea3。能让父 jail 在子 jail 没有安装 sysctl(8) 时检索或设置内核状态(例如轻量级 OCI 容器或精简 jail)。这在操作 sysctl jail 或 vnet 时特别有用。例如,sysctl -j foo -Jasysctl -j foo net.fibs=2

修改 ip6addrctl(8) 在 jail 中附加并运行自身。fa9926a62ae3。这将使得管理 vnet jail 的地址选择策略变得更容易,特别是对于那些轻量级 OCI 容器或精简 jail。

启用 sysctl(9) 变量 vnet 成为加载器可调参数。d2a999c2e0a0。完成 3da1cf1e88f8 的第二阶段。参数 CTLFLAG_TUN 的含义扩展为自动检查是否存在一个内核环境变量,用于在早期启动期间初始化 sysctl。谨以此纪念 Hans Petter Selasky。

添加过滤 jail 和 vnet 变量的 sysctl(8) 参数。09cbd68e4e47。这样用户就不必接触源代码来确认变量是否属于 jail / vnet 变量。

定义了一个通用的 mac 节点用于 jail 的 MAC 参数。ae2383c0dd16。用于 MAC/do。(由 FreeBSD 基金会赞助)

ORACLE VMSIZE 已增加以适应增长。75cd2f886164

OCI 已在 releng 工具中更名为 ORACLE。aad6a5f96b78。这允许未来的 releng 工具使用 OCI 来表示行业标准的 Open Container Initiative 工具,从而减少与 Oracle Cloud Infrastructure 的潜在混淆。(由 SkunkWerks, GmbH 赞助)

文档

本节包含了手册页(man(1))和其他随系统提供的文档的更改。

手册页

ccdconfig(8) 中参考 graid(8) 和 zfs[8],而不是 gvinum[8]。9e3c356f11a9

ixgbe(4) 已更名为 ix(4)c07626eaa21a

Ports 和软件包基础设施

本节包含了 FreeBSD Ports、软件包基础设施、软件包维护和安装工具的变更。

软件包变更

由于与 OpenSSL 1.1.1 的兼容性问题和即将发生的软件包损坏,KDE 桌面环境已从安装镜像中移除。

安装与升级

在 bsdinstall zfsboot 中添加了一个选项,用于编辑 ZFS 池的创建选项。6258b5bf0670。此选项能在创建 ZFS 启动池之前,覆盖默认选项(-O compress=lz4 -O atime=off)。例如,可以将压缩算法设置为不同的选项。

跟踪 pkg 仓库数据库的位置。ef6b3c58883d。pkg 以前将上游仓库数据库的副本存储在 /var/db/pkg/repo-*.sqlite 中。大约一年前,这些数据库移动到了 /var/db/pkg/repos/*/,导致 FreeBSD 云镜像不再删除这些数据库。(由亚马逊赞助)

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

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

FreeBSD 项目预计将在 FreeBSD 15.0 和 stable/15 中支持 armv7 作为二级架构。然而,FreeBSD 也预见到可能会在 FreeBSD 16.0 中移除 armv7。FreeBSD 将在 15.0 发布时提供有关 armv7 在 15.x 和 16.x 中状态的更新。

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

FreeBSD 15.0 及之后的版本中,Ports 将不再支持已弃用的 32 位平台。这些未来版本将不包括已弃用的 32 位平台的二进制包,也不支持从 Ports 构建这些平台的包。

FreeBSD stable/14 及更早版本将保留现有的 32 位内核和系统支持。Ports 将保留对 stable/14 及更早分支上构建 Ports 和包的现有支持,只要这些分支仍然受到 Ports 的支持。然而,所有 32 位平台都是二级架构或三级架构,预计随着上游弃用 32 位平台,单个 Port 的支持将逐渐下降。

根据当前的支持计划,stable/14 将在 FreeBSD 14.0-RELEASE 发布后的大约 5 年后结束生命周期(EOL)。stable/14 的 EOL 将标志着对已弃用的 32 位平台的支持结束,包括源代码发布、预构建的包和从 Ports 构建应用程序的支持。随着 14.0-RELEASE 在 2023 年 11 月发布,对已弃用的 32 位平台的支持将于 2028 年 11 月结束。

该项目可能会选择在 FreeBSD 15.0 发布时改变这一方法,通过在 15.0 或更高版本中延长对一个或多个已弃用平台的某种级别的支持。任何更改将由社区反馈和致力于支持这些平台的努力推动。

最后更新于