Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
2024.7.5 机器翻译完成;
2024.8.6 “FreeBSD 14.1-RELEASE 发行说明”校对完成;
2024.11.10 “FreeBSD 13.3-RELEASE 发行说明”校对完成;
2024.11.30 “FreeBSD 14.2-RELEASE 发行说明”校对完成;
FreeBSD 13.3-RELEASE 的发布说明包含了对 13-STABLE 开发主线中的 FreeBSD 基本系统所做更改的总结。本文列出了自上次发布以来发布的相关安全通告,并介绍了 FreeBSD 内核和用户空间的重大更改。还简要说明了从先前版本升级的相关事项。
本文档包含了 FreeBSD 13.3-RELEASE 的发布说明。它简述了 FreeBSD 最近添加、改变和删除的功能,还提供了一些从旧版本升级的注意事项。
本次发布的分行版代表了自 13-STABLE 创建以来,13-STABLE 开发分支的最新位置。有关该分支上预构建二进制发行版的信息,请参见 https://www.FreeBSD.org/releases/。
本文档所适用的 RELEASE 版本代表了 13-STABLE 开发分支中的一个节点,位于 13.2-RELEASE 和后续的 13.4-RELEASE 之间。有关该分支上预构建二进制发行版的信息,请参见 https://www.FreeBSD.org/releases/。
此 FreeBSD 13.3-RELEASE 版本是 RELEASE 分行版。它可以在 https://www.FreeBSD.org/releases/ 和任何镜像站点找到。有关获取此版本或其他版本的更多信息,请参见 FreeBSD 手册 中的附录获取 FreeBSD。
在安装 FreeBSD 之前,建议所有用户都先查阅下发行勘误文档。勘误文档会根据发布周期结束和发布后发现的“最后时刻”信息进行更新,通常包含已知的 bug、安全通告以及文档的更正。可以在 FreeBSD 网站上找到最新的 FreeBSD 13.3-RELEASE 勘误文档。
本文档描述了 FreeBSD 13-STABLE 中自 13.2-RELEASE 以来最为用户可见的新特性或更改。请注意,本文中描述的某些更改也可以在 FreeBSD 14.0-RELEASE 中找到。
典型的发布说明项目记录了自 13.2-RELEASE 以来发布的安全通告、新的驱动程序和硬件支持、新的命令和参数、主要的 bug 修复,及第三方的软件升级。它们还可能列出主要 Port/包的更改和发布工程实践。显然,发布说明无法列出 FreeBSD 在两个版本之间做出的每一个更改;本文档主要关注安全通告、用户可见的更改以及主要的架构改进。
使用工具 freebsd-update(8) 能在 RELEASE 版本之间(以及各种安全分支的快照)进行二进制升级。有关升级的详细信息,请参阅发布特定的升级程序:FreeBSD 13.3-RELEASE 升级信息,以及 FreeBSD 手册中的 二进制升级程序。这将更新未修改的用户空间工具以及作为官方 FreeBSD 发行版一部分的未修改的 GENERIC 内核。 freebsd-update(8) 工具要求升级的主机必须具备互联网连接。
从旧版本进行基于源代码的升级(即通过重新编译 FreeBSD 基本系统)也是支持的,请按照 /usr/src/UPDATING
中的说明进行。
在升级 FreeBSD 前,请确保备份了 所有 数据和配置文件。
在安装新的用户空间软件后,正在运行的守护进程仍然来自先前的版本。在第二次调用
freebsd-update
安装用户级组件,或通过源代码升级,再使用installworld
命令安装后,应重启系统来启动所有新的软件。例如,较旧版本的sshd
在安装新的/usr/sbin/sshd
后无法正确处理传入连接;重启后将启动新的sshd
和其他守护进程。
本节涵盖了对用户空间应用程序、贡献软件和系统实用程序的更改和新增功能。
libtacplus(3) 库已改进,现 tacplus.conf(5) 遵循 POSIX shell 语法规则。如果共享密钥包含单引号、双引号或反斜杠字符,且未正确引用和转义,可能会导致 TACACS+
认证失败。该库现在允许配置最多 255 个附加 AV 配对。5761f8a7de9f(由 Klara, Inc. 赞助)
像 login(1) 这样的程序,使用 setusercontext(3),现在能根据凭据从 ~/.login_conf
文件中设置进程优先级。此外,可以在 login.conf(5) 中,将优先级指定为 inherit
,表示进程优先级将继承自父进程。同样,现在也可以将 umask
值指定为 inherit
。8b359002747a e074746fec21 16e02df98ad6(由 Kumacom SAS 赞助)
通过 periodic(8) 生成的配置文件和安全输出报告(发送给系统管理员)现在使用了简化的上下文,以减少无关内容。生成每日输出时,传给 diff(1) 的参数,可以通过 rc.conf(5) 中的变量 daily_diff_flags
进行控制;安全脚本所用的 diff(1) 参数由 security_status_diff_flags
控制。4c14a3a6aebe 6d9195b5f763
用于下载闰秒信息的默认链接已更新为使用标准源,因为旧链接已经失效。d19b59cfe594
在使用 arm64 RPI
系统的树莓派设备上,默认启用了守护进程 powerd(8),这样系统可以在需要时全速运行。非默认睿频设置的用户也许需要禁用之。e889b5a892b6
现在,可以通过 rc.conf(5) 中的变量 <服务>_umask
为某个服务指定 umask
,其中 <服务>
是服务名称。2d6a03dd43c7
head(1) 和 tail(1) 程序现在一致地支持参数 -q
(安静)和 -v
(详细)。数字参数现在可以使用 expand_number(3) 支持的 SI 后缀。585762c3733f
现在可以使用 LLVM 提供的工具 objdump(1) 。某些 LLVM objdump 参数的输出格式与 GNU objdump 不同;可以使用 readelf(1) 检查 ELF 文件,并且可以通过 Port devel/binutils 和二进制包安装 GNU objdump。
tftpd(8) 服务器现在可以配置为允许在 chroot 环境中写入非世界可写的文件,使用新的 -S
参数。b71dde1aeba2
expat
已升级至 2.6.0 版本。
已应用若干 Heimdal 安全修复,以缓解 Kerberos 密钥分发中心中的漏洞。
libfido2
认证令牌库已更新至 1.13.0 版本。b27bad1e0373 079a1c2059e7 d79e0d1735e3(由 FreeBSD 基金会赞助)
LLVM
和 clang
编译器已升级至 17.0.6 版本。
nvi
(vi(1))已升级至 2.2.1 版本。
sendmail
已升级至 8.18.1 版本。此版本默认执行更严格的 RFC 合规性,特别是在行尾方面。这可能会导致接收来自不合规邮件传输代理(MTA)的消息时出现问题;有关缓解措施,请参阅 https://ftp.sendmail.org/RELEASE_NOTES 中的 8.18.1 发布说明。b36ddb27b3b9
OpenSSH
已更新至 9.6p1 版本,包括若干安全修复。最重要的修复是针对 SSH 传输协议中新发现的漏洞。现在 ssh-keygen(1) 默认生成 Ed25519 密钥。sshd(8) 现在能够准确保留子系统命令和参数的引号。f26eafdfafb0 221a6bc397ad 2cd20d9bc807(由 FreeBSD 基金会赞助)
tzdata
已升级至 2024a 版本。
unbound
已升级至 1.19.1 版本,包括安全修复。c6edb21e3763
xz
已升级至 5.4.5 版本。
zlib(3) 库已更新至 1.3.1 版本。f2de7ba78a49 05e3998add1c
本节涉及内核配置、系统调优以及未分类的系统控制参数的更改。
intro(9) 核心编程接口介绍已完全重写。5a0c410787b8(由 FreeBSD 基金会赞助)
本节涉及自 13.2-RELEASE 以降设备和设备驱动的更改与新增。
现在,x86 系统可支持多个 PCI MCFG 区域,使得支持访问非 0 域(段)的 PCI 配置成为可能。0fb0306a89ad
已修复 graid
实现中的一个问题,该问题在使用 4 个及更多磁盘创建 Promise RAID1 时出现。该阵列仅在重启前正常工作。394ceefc2f2f
Intel 无线接口的 iwlwifi(4) 驱动 已更新,支持 BE200 及更高版本的芯片组。(由 FreeBSD 基金会赞助)(由 minipci.biz 赞助)
Realtek 无线 PCI 接口的 rtw88(4) 驱动 已更新。
对原生和基于 LinuxKPI 的无线驱动程序进行了诸多稳定性修复。(由 FreeBSD 基金会赞助)
USB 以太网适配器驱动 smsc(4) 现在将在树莓派设备中从 bootargs
获取 MAC 地址,如果没有提供,则回退到使用 ether_gen_addr(9) 生成固定的 MAC 地址。3d96ee7c7dcc
本节涵盖了文件系统和其他存储子系统的更改与新增,包括本地存储和网络存储。
在调试和解决通用文件系统代码中与 vnode 回收相关的问题过程中,vnode 相关统计信息的 sysctl
已被分组到 vfs.vnode
下,以提高可见性。77a8bd148796
NFS 服务器(nfsd(8)、nfsuserd(8)、mountd(8)、gssd(8)、和 rpc.tlsservd(8)) 现在可以在适当配置的 vnet jail 中运行。vnet jail 必须位于独立的文件系统上,设置了 jail 参数 allow.nfsd
,并且 enforce_statfs
不能设置为 0
。不允许使用 UDP 和 pNFS 服务器配置。请参见 jail(8)、nfsd(8) 和 mountd(8)。b4805d577787
现在有了一个新的挂载参数 syskrb5
。能在没有 Kerberos 凭据(TGT 或 keytab)的情况下进行 Kerberized NFSv4.1/4.2 挂载。请参见 mount_nfs(8)。0644746d5091
OpenZFS
已升级到 2.1.14 版本。7005cd440405 e6c1e181ba7f d9a61490b098 f5eac6541278
守护进程 zfsd(8) 现在将故障掉生成过多 I/O 延迟事件的磁盘。e2ce586899ff(由 Axcient 赞助)
本节简述了影响 FreeBSD 网络的更改。
现在可以使用 sysctl kern.ipc.sooverprio
设置因套接字监听队列溢出而导致的 syslog 消息的日志优先级。默认值为 7
,表示 LOG_DEBUG
。值为 -1
时将抑制日志记录。请参见 listen(2)。773c91ccc892
netgraph 的 ng_ipfw(4) 模块不再将 cookie 截断为 16 位,现在可使用完整的 32 位。0b9242dea68c
在默认情况下,现在禁用了对 IPv6 RFC 4620 nodeinfo 的支持。5c4e8a631097(由 FreeBSD 基金会赞助)
可以选择启用 pf 过滤规则,以便本地交付的包启用 pf rdr 规则,用于从主机发起的连接。这可能会改变匹配本地交付到 lo0
的包的规则行为。要启用此功能,请使用命令 sysctl net.pf.filter_local=1; service pf restart
。启用时,最好确保本地交付的包不被过滤,例如通过添加 set skip on lo
规则。6dfb2c2dce0f
本节涉及物理机器、虚拟化环境和超管理程序的通用硬件支持,以及不适合其他部分的硬件更改和更新。
BeagleBone Black(armv7)不再受支持;它与当前的启动文件(DTB)不兼容。
现在可支持谷歌虚拟网卡(gve(4))。4e846759f0a3(由谷歌赞助)
预计 FreeBSD 15.0 不会再支持除 armv7 以外的 32 位平台。armv6、i386 和 powerpc 平台已被弃用,并会在以后移除。64 位系统仍然能够运行较旧的 32 位二进制文件。
我们预计在 FreeBSD 15.0 和 stable/15 版本中,armv7 将作为二级架构继续得到支持。然而,我们也预见到 armv7 可能会在 FreeBSD 16.0 中被移除。我们将在 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 位平台从 port 构建包。
FreeBSD stable/14 及以前的分支将继续保留对现有的 32 位内核和世界环境的支持。只要这些分支得到 Ports 系统的支持,Ports 将继续支持为 32 位系统构建 port 和包。然而,所有 32 位平台将被视为二级/三级平台,随着上游对 32 位平台的弃用,单个 Port 的支持可能会逐渐下降。
根据当前的支持计划,stable/14 将在 FreeBSD 14.0-RELEASE 发布后的 5 年内达到生命周期结束(EOL)。stable/14 的 EOL 将标志着对已弃用 32 位平台的支持结束,包括源代码发布、预构建包以及从 port 构建应用程序的支持。随着 14.0-RELEASE 于 2023 年 11 月发布,对已弃用 32 位平台的支持将在 2028 年 11 月结束。
该项目可能会选择在 FreeBSD 15.0 发布时调整此策略,通过在 15.0 及更高版本中对一个或多个已弃用平台提供某种级别的支持。任何调整都将根据社区反馈和为支持这些平台而作出的努力来决定。建议使用 FreeBSD 14.0-RELEASE 及其后续的次要版本,或 stable/14 分支,来迁移出 32 位平台。
最后修改时间:2024 年 3 月 4 日,作者 Mike Karels
FreeBSD 13.2-RELEASE 的发行说明包含了在 13-STABLE 开发线上对 FreeBSD 基本系统所做修改的摘要。这份文件列出了自上次发布以来所发布的相关安全公告, 以及对 FreeBSD 内核和用户区的重大修改。同时还介绍了一些关于升级的简要说明。
这份文件包含了 FreeBSD 13.2-RELEASE 的发行说明。它说明了 FreeBSD 最近新增、变化或删除的功能。它还提供了一些关于从旧版 FreeBSD 的升级说明。
这些发行说明所适用的发行版, 代表了自 13-STABLE 创建以来沿 13-STABLE 开发分支的最新进展。有关这个分支的预编译二进制发行版的信息, 可以在 https://www.FreeBSD.org/releases/ 找到。
这些发行说明所适用的发行版本代表了 13-STABLE 开发分支中介于 13.1-RELEASE 和日后 13.3-RELEASE 之间的一个点。有关这个分支的预编译二进制发行版的信息,可以在 https://www.FreeBSD.org/releases/ 找到。
这个 FreeBSD 13.2-RELEASE 的发行版是一个 RELEASE。它可以在 https://www.FreeBSD.org/releases/ 或其任何一个镜像中找到。关于获得这个(或其他) FreeBSD 发行版的更多信息,可以在 FreeBSD 手册的附录中找到。
我们鼓励所有用户在安装 FreeBSD 之前参考发行勘误表。勘误表文件会根据发布周期晚期或发布后发现的“迟发”信息进行更新。通常情况下, 它包括已知的错误, 安全建议, 以及对文档的修正。FreeBSD 13.2-RELEASE 的勘误表的最新版本可以在 FreeBSD 网站上找到。
这份文件描述了自 13.1-RELEASE 以来 FreeBSD 中最容易被用户看到的新功能或变化。一般来说, 这里描述的变化都是 13-STABLE 分支所特有的, 除非特别标注为合并的特性。
典型的发布说明记录了在 13.1-RELEASE 之后发布的安全公告, 新的驱动或硬件支持,新的命令或选项,主要的错误修正,或贡献的软件升级。它们也可能列出主要的 port/包的变化或发布工程实践。显然,发行说明不可能列出 FreeBSD 在不同版本之间的每一个变化;这份文件主要关注安全公告、用户可见的变化, 以及主要的架构改进。
使用 freebsd-update(8) 工具可以在 RELEASE 版本 (以及各种安全分支的快照) 之间进行二进制升级。二进制升级过程将更新未修改的用户区工具, 以及作为官方 FreeBSD 发行版一部分的未修改的 GENERIC 内核。freebsd-update(8) 工具要求被升级的主机有互联网连接。
根据 /usr/src/UPDATING 中的说明,可以支持基于源代码的升级 (那些基于从源代码重新编译的 FreeBSD 基本系统)。
所有 PowerPC 架构的用户,在成功安装内核和 world 之后,必须手动运行 kldxref /boot/kernel
。
只有在备份了 所有的 数据和配置文件之后,才可以尝试升级 FreeBSD。
在安装了新的用户级软件之后,运行的守护程序仍然是以前的版本。在通过第二次调用 freebsd-update 来安装用户级组件后,或者通过
installworld
从源代码升级后,系统应该重新启动,以便用新的软件启动一切。例如,旧版本的 sshd 在安装了新的 /usr/sbin/sshd 后,无法正确处理传入的连接;重启后会启动新的 sshd 和其他守护程序。
这部分介绍了一些对用户应用程序、贡献软件和系统工具的更改和添加。
在用户配置更改方面,growfs(7) 的启动脚本现在可以在扩展根分区的同时添加交换分区(如果之前没有交换分区)。这在 SD 卡上使用 RAW 镜像安装系统时非常有用。新增了一个 rc.conf(5) 变量——growfs_swap_size,可以在需要时控制添加交换分区的大小。详情请参考 growfs(7)。
新增了一个 RC 脚本 zpoolreguid,可为一个或多个 zpool 分配新的 GUID,这在共享数据集的虚拟化环境中非常有用。
hostid 启动脚本现在可以在没有 /etc/hostid 文件和来自硬件的有效 UUID 的情况下生成一个随机的(第 4 版)的 UUID。此外,如果没有 /etc/machine-id 文件,hostid_save 脚本将在 /etc/machine-id 中存储一个紧凑版本的 hostid(不带连字符)。该文件被诸如 GLib 之类的库使用。
现在可以使用 defaultrouter_fibN 和 ipv6_defaultrouter_fibN rc.conf(5) 变量为非主要的 FIB 添加默认路由。 (由 ScaleEngine Inc. 赞助)
以下是一些常用的用户应用程序改进:
工具 bhyve(8) 现在支持 virtio-input 设备仿真。这将用于向客户机注入键盘/鼠标输入事件。命令行语法为: -s <slot>,virtio-input,/dev/input/eventX
。
工具 kdump(1) 现在支持解码 Linux 系统调用。
工具 killall(1) 现在允许使用语法 -t pts/N
向具有其控制终端在 pts(4) 上的进程发送信号。
添加了软件 nproc(1),与同名的 Linux 程序兼容。
软件 timeout(1) 已从 /usr/bin 移动到 /bin。
软件 pciconf(8) 添加了对 ACS 解码扩展功能的支持。(由 Chelsio Communications 赞助)
软件 procstat(1) 现在可以使用新添加的 advlock 命令打印关于文件上的 advisory locks 的信息。
pwd_mkdb(8) 不再将 /etc/master.passwd 中的注释复制到 /etc/passwd。
ppp(8) 的 MSS clamp 已得到改进。
prometheus_sysctl_exporter(8) 中的指标别名已更改,以避免由于度量名称冲突而混淆 Prometheus 服务器。tcp_log_bucket UMA 区已重命名为 tcp_log_id_bucket,并且 tcp_log_node 已重命名为 tcp_log_id_node 以保持一致性。不再导出带有描述中的(LEGACY)的 Sysctl 变量,这些变量由已被其他变量替换的 ZFS sysctl 使用,其中许多变量别名为相同的 Prometheus 度量名称(例如 vfs.zfs.arc_max 和 vfs.zfs.arc.max)。(由 Axcient 赞助)
uuidgen(1)实用程序具有一个新选项 -r
,可以生成一个随机的 UUID,版本为 4。
在由 inetd(8) 调用时,ctlstat -P
现在会生成适合于将其摄入 Prometheus 的输出;请参阅 ctlstat(8)。(由 Axcient 赞助)
以下是一些软件的升级信息:
软件 bc 已经升级到了 6.2.4 版本,由 Gavin Howard 维护。
软件 expat (libbsdxml) 已经升级到了 2.5.0 版本。
软件 file 已经升级到了 5.43 版本。
软件 less 已经升级到了 608 版本。
软件 libarchive 已经升级到了 3.6.2 版本,并进行了多项可靠性修复。请参阅发行说明:https://github.com/libarchive/libarchive/releases。
软件 libedit 已经升级到了 2022-04-11 版本。
LLVM 和 clang 编译器已经升级到了 14.0.5 版本。
现在在 powerpc64 和其它架构上启用了支持的 LLVM sanitizer。
软件 mandoc 已经升级到了 1.14.6 版本。
软件 OpenSSH 已经升级到了 9.2p1 版本。
软件 OpenSSL 已经升级到了 1.1.1t 版本。
软件 sendmail 已经升级到了 8.17.1 版本。
软件 sqlite3 已经升级到了 3.40.1 版本。
软件 tzcode 已经升级到了 2022g 版本,并提高了时区更改检测和可靠性修复。
软件 tzdata 已经升级到了 2023b 版本。
软件 unbound 已经升级到了 1.17.1 版本。
软件 xz 软件已经升级到了 5.4.1 版本。
软件 xz-embedded 软件已经升级到了 3f438e15109229bb14ab45f285f4bff5412a9542 版本。
软件 zlib 已经升级到了 1.2.13 版本。
libmd 现在支持 SHA-512/224。此功能由 Klara, Inc. 赞助。
现在,sysdecode(3)和 kdump(1) 支持 Linux 风格的系统调用跟踪。
本机 pthread 库函数现在可以支持 Linux 语义。
此部分包括了对内核配置、系统调整和系统控制参数的更改,这些更改没有分类到其他部分。
通用内核变更:
现在 bhyve(8) 虚拟化管理程序和内核模块 vmm(4) 支持在虚拟机中使用超过 16 个虚拟 CPU。在默认情况下,bhyve 允许每个虚拟机创建的虚拟 CPU 数量与主机上的物理 CPU 数量相同。可通过 loader 可调整参数 hw.vmm.maxcpu
来更改此限制。这个变更的提交哈希值为 3e02f8809aec。
64 位可执行文件的地址空间布局随机化 (ASLR) 已默认启用。如果应用程序出现意外故障(例如段错误),则可以根据需要对其禁用。要禁用单个调用的 ASLR,请使用 proccontrol(1) 命令:proccontrol -m aslr -s disable
命令。要禁用二进制文件的所有调用的 ASLR,请使用 elfctl(1) 命令:elfctl -e +noaslr
文件名。如果有问题,请通过问题报告系统 https://bugs.freebsd.org 或在 freebsd-stable@FreeBSD.org 邮件列表中发布问题。这个变更的提交哈希值为 10192e77cfac,由 Stormshield 赞助。
针对英特尔 Alder Lake(第十二代)和可能的在 Raptor Lake(第十三代)混合 CPU 上的一些硬件页面失效问题,实现了一种解决方法。该 bug 可导致 UFS 和 MSDOSFS 文件系统损坏,并可能导致其他内存损坏。慢速核心 (E-cores) 将自动使用更慢的页面失效方法来解决此问题。这个变更的提交哈希值为 567cc4e6bfd9,由 FreeBSD 基金会赞助。
现在有一个新的内核配置选项 SPLIT_KERNEL_DEBUG,可以控制将内核和模块的调试数据分别拆分为单独的文件。该选项与 WITHOUT_KERNEL_SYMBOLS 选项交互,其行为与 13.0-RELEASE 和 13.1-RELEASE 不同,但与之前的版本相似。它现在仅控制调试数据的安装。默认值为 WITH_KERNEL_SYMBOLS 和 WITH_SPLIT_KERNEL_DEBUG,允许在 /boot 中安装没有调试数据的内核和模块,并在 /usr/lib/debug 中安装独立的调试文件,这是在 13.0-RELEASE 之前的版本中默认情况下所做的。使用 WITHOUT_KERNEL_SYMBOLS 和 WITH_SPLIT_KERNEL_DEBUG,将生成独立的调试文件,但不会安装,这与在 13.0-RELEASE 之前的版本中使用 WITHOUT_KERNEL_SYMBOLS 时一样。最后,使用 WITHOUT_KERNEL_SYMBOLS 和 WITHOUT_SPLIT_KERNEL_DEBUG,在 /boot 中安装具有内置调试信息的内核和模块,就像在 13.1-RELEASE 中使用 WITHOUT_KERNEL_SYMBOLS 一样。 哈希值:0c4d13c521aa(由 FreeBSD 基金会赞助)
在 PowerPC 上,pseries 中支持 ISA 3.0 的基数 pmap。这应该会使在 POWER9 实例上的 pseries 显着加快,因为现在需要较少的超级调用来管理 pmap。哈希值:c74c77531248
在 arm64 上现在支持对 L inux 进程的 ptrace(2)的支持。哈希值:99950e8beb72
为了促进稳定分支的 ABI 兼容性,CPU 亲和性系统调用现在更加容忍 CPU 集比内核使用的小。这将有助于增加内核集 MAXCPU 的大小。哈希值:72bc1e6806cc
添加了保存 CPU 浮点状态以在信号传递期间跨越的 64 位 linux(4)ABI 支持。哈希值:0b82c544de58,20d601714206
linux(4)ABI 中的 vDSO(虚拟动态共享对象)支持已经接近完成。哈希值:a340b5b4bd48
将 arm64 linux(4)ABI 的状态与 amd64 linux(4)ABI 保持一致。哈希值:0b82c544de58,a340b5b4bd48
设备驱动程序
这部分介绍自 13.1-RELEASE 以来设备和设备驱动程序的变化和增加。
驱动程序 em(4) 现在正确支持较新芯片 82580 和 i350 上可用的完整接收缓冲区大小范围。 哈希值:3f8306cf8e2d
驱动程序 ena(4) 已升级到了 2.6.2 版本。(由 Amazon,Inc.赞助)
已为 hwpmc(4) 实现对 Intel Alder Lake CPU 的基本支持。 哈希值:b8ef2ca9eae9
驱动程序 ice(4) 已更新到了 1.37.7-k 版本。
引入了驱动程序 irdma(4) RDMA,用于 Intel E810 以太网控制器,以 per-PF 方式支持 RoCEv2 和 iWARP 协议,其中 RoCEv2 是默认协议,并升级到了 1.1.5-k 版本。哈希值: 42bad04a2156(由 Intel Corporation 赞助)
现在提供 DPAA2(第二代数据路径加速架构-在一些 NXP SoC 中发现的硬件级网络架构)的初始支持。它运行由 NXP 提供的固件,该固件提供 DPAA2 对象作为抽象层,并提供 dpni 网络接口。 哈希值:d5a64a935bc9(由 Bare Enthusiasm :)和 Traverse Technologies 赞助)
更新了 Intel 无线接口的驱动程序 iwlwifi(4)。(由 FreeBSD 基金会赞助)
添加了驱动程序 rtw88(4),以支持多个 Realtek 无线 PCI 接口。目前仅限于 802.11 a / b / g 操作。请参阅 https://wiki.freebsd.org/WiFi/Rtw88 获取更多信息。
对于支持 Linux 设备驱动程序的 KPI 进行了许多添加和改进。(由 FreeBSD 基金会赞助)
本节介绍了本地和网络文件系统以及其他存储子系统的更改和添加。
ZFS 更改
ZFS 已升级到 OpenZFS release 2.1.9。可以在 https://github.com/openzfs/zfs/releases 找到 OpenZFS 的发行说明。
NFS 更改
修复了导致 NFS 服务器挂起的问题。该问题是由 TCP 中 SACK 处理的错误引起的。
UFS 更改
现在在运行日志软更新时可以在 UFS 文件系统上创建快照。因此,现在可以在使用日志软更新运行的活动文件系统上执行后台转储。通过在 dump(8)中使用 -L
标志请求后台转储。哈希值: 3f908eed27b4(由 FreeBSD 基金会赞助)
引导加载程序更改
本节包括了引导加载程序、引导菜单和其他与引导相关的更改。
引导加载程序更改
teken.fg_color 和 teken.bg_color loader.conf(5)变量现在接受亮或淡色前缀(和颜色号 8 到 15)来选择亮色。1dcb6002c500(由 FreeBSD 基金会赞助)。另请参见哈希值: 233ab015c0d7
已修复了 loader(8)中的几个错误,导致视频控制台输出消失。这些错误似乎是在引导加载程序启动内核后出现的挂起。(由 Netflix 赞助)
网络
本节说明了影响 FreeBSD 中网络的更改。
一般网络
内核已经重新集成了驱动程序 wg(4) WireGuard,它提供使用了 WireGuard 协议的虚拟专用网络(VPN)接口。(由 Rubicon Communications,LLC(“Netgate”)和 FreeBSD 基金会赞助)。
内核 TLS 实现(KTLS)已添加了对 TLS 1.3 的接收卸载支持。现在,TLS 1.1 到 1.3 都支持接收卸载;TLS 1.0 到 1.3 支持发送卸载。(由 Netflix 赞助)
现在可以使用 netlink(4) 网络配置协议。它是在 RFC 3549 中定义的通信协议,并使用原始套接字在用户空间和内核之间交换配置信息。第三方路由程序和 linux(4) ABI 都使用它。netlink(4) 协议未被包括在 13.2-RELEASE 的 GENERIC(译者注:通用内核)配置中,但可用作内核模块。
现在可以在 ipfw(4) 中支持基数表和查找 MAC 地址。这可以构建和使用 MAC 地址表进行过滤。
内核模块 dpdk_lpm4 和 dpdk_lpm6 现已可用,可以通过 loader.conf(5) 进行加载。它们为具有大量路由表的主机提供了优化的路由功能。它们可以通过 route(8) 进行配置,是模块化 FIB 查找机制的一部分。
TCP 和 SCTP 中有大量的 bug 修复。
OPIE 已弃用并将在 FreeBSD 14.0 中删除。
ce(4) 和 cp(4) 同步串行驱动程序已被弃用,并将在 FreeBSD 14.0 中删除。
ISA 声卡的驱动程序已被弃用,并将在 FreeBSD 14.0 中删除。d7620b6ec941 (由 FreeBSD 基金会赞助)
工具 mergemaster(8) 已被弃用,并将在 FreeBSD 14.0 中删除。它的替代品是 etcupdate(8)。5fa16e3c50c5 (由 FreeBSD 基金会赞助)
工具 minigzip(1) 已被弃用,并将在 FreeBSD 14.0 中删除。84d3fc26e3a2
netgraph 中的 ATM 的其余组件(NgATM)已被弃用,并将在 FreeBSD 14.0 中删除。对 ATM NIC 的支持先前已被删除。
Telnet 的守护程序 telnetd(8) 已被弃用,并将在 FreeBSD 14.0 中删除。Telnet 客户端不受其影响。
geom(8) 中的 VINUM 类已被弃用,并将在以后的版本中删除。
默认的 CPUTYPE 更改
从 FreeBSD-13.0 开始,i386 架构的默认 CPUTYPE 将从 486 更改为 686。
这意味着,通过默认设置生成的二进制文件将需要 686 级别的 CPU,包括但不限于 FreeBSD Release Engineering 团队提供的二进制文件。FreeBSD 13.x 将继续支持旧的 CPU,但使用者需要自行构建其官方支持的发行版。
由于 i486 和 i586 CPU 的主要用途通常是嵌入式市场,因此对一般的终端用户的影响预计将很小,因为拥有这些 CPU 类型的新硬件早已消失,而大部分这类系统的已部署基础正处于退役年龄,这是统计数据所显示的。
这个改变考虑了几个因素。例如,i486 没有 64 位原子操作,虽然它们可以在内核中进行仿真,但不能在用户空间中进行仿真。此外,32 位的 amd64 库自其问世以来就是 i686。
由于大部分 32 位测试是由开发人员使用内核中的 COMPAT_FREEBSD32 选项在 64 位硬件上使用 lib32 库来完成的,因此这个变化确保了更好的覆盖率和用户体验。这也与大部分 Linux® 发行版长期以来所做的行为相一致。
这被认为是 i386 默认 CPUTYPE 的最后一次提升。
此更改不影响 FreeBSD 12.x 系列的发行版。
FreeBSD 13.1-RELEASE 的发行说明包含了在 13-STABLE 开发线上对 FreeBSD 基本系统所做修改的摘要。这份文件列出了自上次发布以来所发布的相关安全公告,以及对 FreeBSD 内核和用户空间的重大修改。同时还介绍了一些关于升级的简要说明。
这份文件包含了 FreeBSD 13.1-RELEASE 的发行说明。它描述了 FreeBSD 最近增加、改变或删除的功能。它还提供了一些关于从以前版本的 FreeBSD 升级的说明。
这些发行说明所适用的发行版,代表了自 13-STABLE 创建以来沿 13-STABLE 开发分支的最新进展。有关这个分支的预编译二进制发行版的信息,可以在 https://www.FreeBSD.org/releases/ 找到。
这些发行说明所适用的发行版本代表了 13-STABLE 开发分支中介于 13.0-RELEASE 和未来的 13.2-RELEASE 之间的一个点。关于这个分支的预编译二进制发行版的信息,可以在 https://www.FreeBSD.org/releases/ 找到。
这个 FreeBSD 13.1-RELEASE 的发行版是一个发布版。它可以在 https://www.FreeBSD.org/releases/ 或其任何一个镜像中找到。关于获得这个(或其他) FreeBSD 发行版的更多信息,可以在 FreeBSD 手册的附录中找到。
我们鼓励所有用户在安装 FreeBSD 之前参考发行勘误表。勘误表文件会根据发布周期晚期或发布后发现的“迟发”信息进行更新。通常情况下,它包括已知的错误,安全公告,以及对文档的修正。FreeBSD 13.1-RELEASE 的勘误表的最新版本可以在 FreeBSD 网站上找到。
这份文件描述了自 13.0-RELEASE 以来 FreeBSD 中最容易被用户看到的新功能或变化。一般来说,这里描述的变化都是 13-STABLE 分支所特有的,除非特别标注为合并的特性。
典型的发布说明记录了在 13.0-RELEASE 之后发布的安全公告,新的驱动或硬件支持,新的命令或选项,主要的错误修正,或贡献的软件升级。他们也可能列出主要的 port/包的变化或发布工程实践。显然,发行说明不可能列出 FreeBSD 在不同版本之间的每一个变化; 这份文件主要关注安全公告、 用户可见的变化,以及主要的架构改进。
使用 freebsd-update(8) 工具可以在 RELEASE 版本 (以及各种安全分支的快照) 之间进行二进制升级。二进制升级过程将更新未修改的用户空间工具,以及作为官方 FreeBSD 发行版一部分的未修改的 GENERIC 内核。freebsd-update(8) 工具要求被升级的主机有互联网连接。
根据 /usr/src/UPDATING 中的说明,可以支持基于源代码的升级 (那些基于从源代码重新编译 FreeBSD 基本系统的升级)。
所有 powerpc 架构的用户,在成功安装内核和 world 之后,需要手动运行 kldxref /boot/kernel
。
只有在备份了所有数据和配置文件之后,才能尝试升级 FreeBSD。
升级之后,sshd (来自 OpenSSH 8.8p1) 将不接受新的连接,直到它被重新启动。在安装了新的用户空间之后,要么重新启动(按照源码升级程序中的规定),要么执行 service sshd 重启。
本节涵盖了对用户空间应用程序、贡献的软件和系统实用程序的更改和添加。
用户空间配置的变化
在 /etc/defaults/rc.conf 中的 rtsol(8) 和 rtsold(8) 默认加入了 -i
标志,a0fc5094bf4c (由 https://www.patreon.com/cperciva 赞助)
用户空间应用程序的变化 在 rtsol(8) 和 rtsold(8) 中加入了 -i
选项,以禁用零到一秒之间的随机延迟,从而加快了启动过程。8056b73ea163 (由 https://www.patreon.com/cperciva 赞助)
对于 64 位架构,基本系统在构建时默认启用了位置独立可执行文件 (PIE) 支持。你可以使用 WITHOUT_PIE
参数来禁用它。这需要一个干净的构建环境。396e9f259d96
有一个新的 zfskeys rc(8) 服务脚本,它允许在启动时自动解密用 ZFS 本地加密的 ZFS 数据集。请参阅 rc.conf(5) 手册以了解更多信息。33ff39796ffe, 8719e8a951b7 (由 Modirum 和 Klara Inc.赞助)
bhyve(8)中的 NVMe 模拟已经升级到 NVMe 规范的 1.4 版本,b7a2cf0d9102 - eae02d959363
bhyve(8) 中针对大型 IO 的 NVMe iovec 结构已被修复。这个问题是由 Rocky Linux 8.4 中包含的 UEFI 驱动程序暴露的。
为巴西葡萄牙语 ABNT2 键盘增加了额外的 Alt Gr 映射。310623908c20
chroot 工具现在支持非特权操作了,chroot(8) 程序现在有了 -n
选项来启用它。460b4b550dc9 (由 EPSRC 赞助)
对 CAM 库进行了修改,以便在解析设备名称之前对其使用 realpath(3),这使得诸如 camcontrol(8) 和 smartctl(8) 等工具在使用符号链接时能够更加友好,e32acf95ea25
md5sum(1) 和类似的消息加密程序与 Linux 上的程序兼容,如果程序名称以 sum 结尾,则让相应的 BSD 程序以 -r
选项运行,c0d5665be0dc (由 Netflix 赞助)
默认情况下,svnlite(1) 在联编过程中被禁用,a4f99b3c2384
mpsutil(8) 扩展到了显示适配器信息和控制 NCQ。395bc3598b47
使用 camcontrol(8) 将固件下载到设备后出现的问题,通过在固件下载后强制重新扫描 LUN 得到了修复。327da43602cc (由 Netflix 赞助)
在 bsdinstall(8) 中为变量磁盘名称的脚本分区编辑器增加了一种新模式。如果磁盘参数 DEFAULT 被设置为代替实际的设备名称,或没有为 PARTITIONS 参数指定磁盘,则安装程序将遵循自动分区模式中使用的逻辑,即如果有几个磁盘,它将为其中一个提供选择对话框,或在只有一个磁盘时自动选择。这简化了为具有不同磁盘名称的硬件或虚拟机创建全自动安装媒体的工作。5ec4eb443e81
在所有 powerpc 架构上都启用了 LLDB 的构建,cb1bee9bd34
一个 True Awk 已经更新到了上游的最新版本 (20210215)。除了一个补丁之外,所有的 FreeBSD 补丁现在都已经被上传到了上游或被抛弃了。值得注意的变化包括:
区域划分不再用于范围
修复了各种错误
与 gawk 和 mawk 有更好的兼容性
剩下的一个 FreeBSD 变化,可能会在 FreeBSD 14 中被删除,就是我们仍然允许以0x
为前缀的十六进制数字被解析和解释为十六进制数字,而所有其他 awk(现在包括 One True Awk)都将它们解释为 0,这与 awk 的历史行为一致。
zlib 升级到了 1.2.12 版。
libarchive 升级到了 3.6.0 版,在即将发布的补丁级别中增加了错误和安全修复。发布说明可以在 https://github.com/libarchive/libarchive/releases 找到。
ssh 软件包已经更新到 OpenSSH v8.8p1,包括安全更新和错误修复。其他的更新包括这些变化。
ssh(1)。当提示是否记录一个新的主机密钥时,接受该密钥的指纹作为"Yes"的同义词。
ssh-keygen(1)。当作为 CA 并用 RSA 密钥签署证书时,默认使用 rsa-sha2-512 签名算法。
ssh(1): 默认启用 UpdateHostkeys,但需要满足一些保守的前提条件。
scp(1)。远程拷贝到远程的行为 (例如 scp host-a:/path host-b:) 被修改为默认通过本地主机传输。
scp(1) 实验性地支持使用 SFTP 协议进行传输,以取代传统上使用的古老的 SCP/RCP 协议。
在 ssh 中启用了对 FIDO/U2F 硬件认证器的使用,并使用了新的公钥类型 ecdsa-sk 和 ed25519-sk 以及相应的证书类型。对 FIDO/U2F 的支持在 https://www.openssh.com/txt/release-8.2 中有所描述,a613d68fff9a (由 FreeBSD 基金会 赞助)
在 powerpc、powerpc64 和 powerpc64le 上增加了 OpenSSL 的汇编优化代码,ce35a3bc852
修复了对加速 ARMv7 和 ARM64 的加密操作的 CPU 特性的检测,大大加快了 aes-256-gcm 和 sha256 的速度。32a2fed6e71f(由 Ampere Computing LLC 和 Klara Inc.赞助)
在 riscv64 和 riscv64sf 上启用了构建 ASAN 和 UBSAN 库。8c56b338da7
OFED 库现已在 riscv64 和 riscv64sf 上构建。2b978245733
OPENMP 库现在已在 riscv64 和 riscv64sf 上构建,aaf56e35569
本节涵盖了对内核配置、系统调校和系统控制参数的改变,这些改变没有其他分类。
内核的一般变化 powerpc64 上串行控制台的输出损坏已经被修复。
更改了 CAS 以支持 Radix MMU。
在使用 TCG 的 QEMU 上运行启用了 HPT 超级页的 FreeBSD,在 powerpc64(le) 上得到了修正。
在 powerpc64(le) 上的 pmap_mincore 增加了对超级缓存的支持。32b50b8520d
在 arm64 上为 32 位 ARM 二进制文件添加了 HWCAP/HWCAP2 辅助参数支持。这修正了在 COMPAT32 仿真环境下 golang 的构建/运行。28e22482279f (由 Rubicon Communications, LLC (Netgate
)赞助)
本节涵盖了自 13.0-RELEASE 以来对设备和设备驱动的变化和补充。
设备驱动程序
igc(4) 驱动程序是为英特尔 I225 以太网控制器引入的。这个控制器支持 2.5G/1G/100Mb/10Mb 的速度,并允许 tx/rx 校验和卸载、 TSO、 LRO 和多队列操作,d7388d33b4dd (由 Rubicon Communications, LLC (Netgate
) 赞助)
在 powerpc64(le) 的启动过程中,增加了对带有 AST2500 的 VGA/HDMI 控制台的修复,c41d129485e
在 virtio(4) 中的大 endian 目标上修复了 PCI 通用读/写功能。7e583075a41, 8d589845881
在 mpr(4) 中加入了对大 endian 的支持。7d45bf699dc, 2954aedb8e5, c80a1c1072d
减少了最大 I/O 大小,以避免 aacraid(4) 中的 DMA 问题。572e3575dba
修正了一个阻止使用 virtio_random(8) 的虚拟用户关闭或重启的 bug,fa67c45842bb
ice(4) 驱动程序已经更新到了 1.34.2-k,增加了固件日志和初始 DCB 支持,a0cdf45ea1d1 (由 Intel 公司赞助)
新增了 mgb(4) 网络接口驱动程序,它支持带有 PHY 的 Microchip 设备 LAN7430 PCIe 千兆以太网控制器和带有 RGMII 接口的 LAN7431 PCIe 千兆以太网控制器。e0262ffbc6ae (由 FreeBSD 基金会赞助)
新增了对 cdce(4) 设备的链接状态、 媒体和 VLAN MTU 的支持。973fb85188ea
新增了 iwlwifi(4) 驱动程序和 LinuxKPI 802.11 兼容性层,以补充 iwm(4) 对较新的 Intel 无线芯片组的支持。(由 FreeBSD 基金会 赞助)
当内核被配置为 MMCCAM 选项时,内核崩溃转储现在可以通过 dwmmc 控制器保存在 SD 卡和 eMMC 模块上了。79c3478e76c3
当内核被配置为 MMCCAM 选项时,现在可以使用 sdhci 控制器在 SD 卡上保存内核崩溃数据。8934d3e7b9b9
支持的平台
增加了对 HiFive Unmatched RISC-V 板的支持。
本节涵盖了对文件系统和其他存储子系统(包括本地和网络)的改变和补充。
一般存储
ZFS 的变化 ZFS 已经升级到 OpenZFS 2.1.4 版本。OpenZFS 的发行说明可以在 https://github.com/openzfs/zfs/releases 找到。
NFS 的变化
两个新的守护进程 rpc.tlsclntd(8) 和 rpc.tlsservd(8),现在已经默认在 amd64 和 arm64 上建立了。它们提供了对 NFS-over-TLS 的支持,这在题为“实现远程过程调用默认加密”的互联网草案中有所描述。这些守护进程是在指定 WITH_OPENSSL_KTLS 的情况下建立的。它们使用 KTLS 来加密/解密所有的 NFS RPC 消息流量,并通过 X.509 证书提供可选的机器身份验证。2c76eebca71b 59f6f5e23c1a
用于 NFSv4 挂载的默认次要版本已被修改为 NFSv4 服务器支持的最高次要版本。这个默认值可以通过使用 minorversion mount 选项来覆盖。8a04edfdcbd2
增加了一个新的 NFSv4.1/4.2 挂载选项 nconnect,可以用来指定挂载时使用的 TCP 连接数,最多为 16 个。第一个(默认)TCP 连接将被用于所有由小型 RPC 消息组成的 RPC。由大型 RPC 消息组成的 RPC(Read/Readdir/ReaddirPlus/Write)将以轮流方式在其他 TCP 连接上发送。如果 NFS 客户端或 NFS 服务器有多个网络接口聚合在一起,或者有一个使用多个队列的网络接口,这可以提高挂载的 NFS 性能。9ec7dbf46b0a
增加了一个名为vfs.nfsd.srvmaxio
的 sysctl 设置项,可以用来将 NFS 服务器的最大 I/O 大小从 128Kbytes 增加到 2 的任何幂数,直至 1Mbyte。它只能在 nfsd 线程未运行时进行设置,并且通常需要将 kern.ipc.maxsockbuf 增加到至少是首次尝试设置 vfs.nfsd.srvmaxio
时生成的控制台日志消息所建议的值。9fb6e613373c
UFS 更改
继 5cc52631b3b8 之后,fsck_ffs(8) 在 preen 模式下对后台 fsck 不起作用,在该模式下 UFS 被调整为没有软更新日志的软更新。修正: fb2feceac34c
本节涵盖了启动加载器、启动菜单以及其他与启动相关的变化。
引导加载器的变化
UEFI 启动对 amd64 进行了改进。装载器检测加载的内核是否可以处理原地暂存区(非复制模式)。默认是 copy_staging auto。自动检测可以被覆盖,例如:在 copy_staging enable 下,加载器将无条件地把暂存区复制到 2M,而不管内核的能力如何。另外,增长暂存区的代码更加健壮;为了增长,不再需要手工调整和重新编译加载器。(由 FreeBSD 基金会赞助)
boot1 和 loader 在 powerpc64le 上得到了修正。8a62b07bce7
对 loader(8)、 nvme(4)、 random(4)、 rtsold(8) 和 x86 时钟校准进行了性能改进,这使得系统启动时间明显加快了。EC2 平台上的配置变化提供了额外的好处,使 13.1-RELEASE 的启动速度是 13.0-RELEASE 的两倍以上。(由 https://www.patreon.com/cperciva 赞助)
EC2 镜像现在被默认构建为使用 UEFI 而不是传统 BIOS 启动。请注意,基于 Xen 的 EC2 实例或“裸机” EC2 实例不支持 UEFI。65f22ccf8247 (由 https://www.patreon.com/cperciva 赞助)
增加了对在 AWS 系统管理器参数库中记录 EC2 AMI Ids 的支持。FreeBSD 将使用公共前缀 /aws/service/freebsd
,导致参数名称看起来像/aws/service/freebsd/amd64/base/ufs/13.1/RELEASE
。242d1c32e42c (Sponsored by https://www.patreon.com/cperciva)
这一节说明了影响 FreeBSD 网络的变化。
一般网络
对 IPv4 (sub) net (host 0) 上的最低地址的处理方式进行了修改,使得除非这个地址被设置为广播地址,否则数据包不会以广播方式发送。这使得最低的地址对主机来说是可用的。旧的行为可以通过 net.inet.ip.broadcast_lowest
sysctl 来恢复。请参阅 https://datatracker.ietf.org/doc/draft-schoen-intarea-unicast-lowest-address/ 了解背景信息。3ee882bf21af
从 FreeBSD-13.0 开始,i386 架构的默认 CPUTYPE 将从 486 变为 686。
这意味着,在默认情况下,所生产的二进制文件将需要一个 686 级的 CPU,包括但不限于由 FreeBSD 发行工程团队提供的二进制文件。FreeBSD 13.0 将继续支持更老的 CPU,然而需要这一功能的用户需要建立自己的官方支持版本。
由于 i486 和 i586 CPU 的主要用途一般是在嵌入式市场,一般最终用户的影响预计是最小的,因为采用这些 CPU 类型的新硬件早已淡出,而且据统计,这些系统的大部分部署基础已经接近退休年龄了。
这一变化有几个因素被考虑在内。例如,i486 没有 64 位原子,虽然它们可以在内核中被模拟,但不能在用户空间被模拟。此外,32 位的 amd64 库从一开始就是 i686 的。
由于大部分的 32 位测试是由开发人员在 64 位硬件上使用 lib32 库,并在内核中使用 COMPAT_FREEBSD32
选项来完成,所以这种改变可以确保更好的覆盖率和用户体验。这也与大多数 Linux® 发行版已经做了相当长一段时间的工作相一致。
预计这将是 i386 中默认 CPUTYPE 的最后一次改变。
这一变化并不影响 FreeBSD 12.x 系列的发布。
作者:FreeBSD 项目
译者:ChatGPT & Natsufumij
FreeBSD 14.0-RELEASE 发行说明总结了在 14-STABLE 开发线上对 FreeBSD 基本系统所做的更改。本文列出了自上一个 RELEASE 版本以来发行的适用的安全公告,以及对 FreeBSD 内核和用户空间的重大更改。同时也提供了关于升级的简要说明。
本文档包含了 FreeBSD 14.0-RELEASE 的发行说明。它说明了 FreeBSD 中最近添加、更改或删除的功能。同时还提供了有关从以前版本升级的一些建议。
这份发行说明适用于 14-STABLE 开发分支创建以来的最新的 RELEASE 版本。可以在 https://www.FreeBSD.org/releases/ 找到有关此分支上的预构建二进制发行版的信息。
这份发行说明适用于 14-STABLE 开发分支中的一个节点,位于 13.2-RELEASE 和后续的 14.1-RELEASE 之间。可以在 https://www.FreeBSD.org/releases/ 找到有关此分支上的预构建二进制发行版的信息。
FreeBSD 14.0-RELEASE 的这个发行版本是一个正式的 RELEASE 版本。可以在 https://www.FreeBSD.org/releases/ 或其镜像站点找到它。有关获取这个(或其他) FreeBSD 发行版本的更多信息,请参阅 FreeBSD 手册 中的获取 FreeBSD 附录。
在安装 FreeBSD 之前,建议所有用户查阅发行勘误。发行勘误文档会在发行周期结束后或发行后发现的“迟到”的信息进行更新。通常,它包含已知错误、安全公告和对文档的更正。可以在 FreeBSD 网站上找到 FreeBSD 14.0-RELEASE 的最新发行勘误副本。
本文档说明了自 13.2-RELEASE 以来 FreeBSD 中最为用户可见的新功能或更改。一般来说,这里所述的更改是独特于 14-STABLE 分支的,除非特别标记为 MERGED 功能。
一般的发行说明条目记录了自 13.2-RELEASE 后发行的安全公告、新的驱动程序或硬件支持、新的命令或参数、主要错误修复或贡献的软件升级。它们还可能列出对主要 Ports/软件包或发行工程实践的更改。显然,发行说明不能列出在版本之间对 FreeBSD 进行的每一项更改;这份文档主要关注安全公告、用户可见的更改和主要的架构改进。
在 RELEASE 版本之间进行二进制升级(以及各种安全分支的快照)是受支持的,可以使用 freebsd-update(8) 工具。二进制升级过程将更新未修改的用户空间工具,以及作为官方 FreeBSD 发行的一部分的未修改的 GENERIC 内核。 freebsd-update(8) 工具要求正在升级的主机具有互联网连接。请注意,freebsd-update 不能用于在升级到新的主要版本后回滚到先前版本。
基于源代码的升级(基于重新编译 FreeBSD 基本系统的源代码)从以前的版本进行支持,具体步骤详见 /usr/src/UPDATING 中的说明。
对于通过 EFI 引导的系统,请注意:EFI 系统分区(ESP)上有一个或多个引导加载程序的副本,由固件用于引导内核。如果根文件系统是 ZFS,则引导加载程序必须能够支持从 ZFS 引导文件系统读取。在系统升级后,但在执行 zpool upgrade
之前,必须更新 ESP 上的引导加载程序,否则系统可能无法引导。虽然不是强制性的,但在使用 UFS 作为根文件系统时也应遵循此更新过程。可以使用命令 efibootmgr -v
来确定正在使用的引导加载程序的位置。BootCurrent
显示的值应该是用于引导系统的当前引导配置的编号。输出的相应条目应该以 +
号开头,例如
ESP 可能已经挂载在 /boot/efi 上。如果没有,可以手动挂载分区,使用 efibootmgr
输出中列出的分区(在此情况下为 nda0p1
):mount_msdosfs /dev/nda0p1 /boot/efi
。有关另一个示例,请参阅 loader.efi(8) 。
在 efibootmgr -v
输出的 File
字段中的值,例如 \EFI\freebsd\loader.efi
,是 ESP 上正在使用的引导加载程序的 MS-DOS 名称。如果挂载点是 /boot/efi,则此文件将转换为 /boot/efi/efi/freebsd/loader.efi
。 (在 MS-DOSFS 文件系统上大小写不敏感;FreeBSD 使用小写。)File
的另一个常见值可能是 \EFI\boot\bootXXX.efi
,其中 XXX
是 amd64 的 x64
、aarch64 的 aa64
或 riscv64 的 riscv64
;如果未配置,则为默认引导加载程序。应该把 /boot/loader.efi 复制到 /boot/efi 中的正确路径来更新已配置和默认的引导加载程序。
仅在备份所有数据和配置文件后尝试升级 FreeBSD。
本节列出了自 13.2-RELEASE 以来的各种安全公告和勘误通知。
无公告
无勘误
FreeBSD 14.0 包含了自 FreeBSD 13.0 发行以来两年半的开发工作。其中一些工作已被选入旧的开发分支,并包含在 FreeBSD 13 的次要版本中。
对于 64 位架构,基本系统默认启用了位置无关可执行文件(PIE)支持。可以使用 WITHOUT_PIE
参数禁用此功能。 9a227a2fd642 (由 Stormshield 赞助)
新增了服务脚本 zfskeys
rc(8) ,以允许在启动期间自动解密使用 ZFS 本地加密的 ZFS 数据集。zfskeys
启动脚本支持加载存储在 ZFS 上的密钥。有关更多信息,请参阅 rc.conf(5) 手册页。 33ff39796ffe , 8719e8a951b7 , 97aeda224356 (由 Modirum 和 Klara Inc. 赞助)
chroot
工具现在支持非特权操作,并且 chroot(8) 程序可使用 -n
参数启用该功能。 a40cf4175c90 (由 EPSRC 赞助)
新增了 md5sum(1) 和与 Linux 兼容的类似消息摘要程序,通过在程序名称以 sum
结尾时运行相应的 BSD 程序,并使用 -r
参数。 086feed850c3 (由 Netflix 赞助)
在 ssh
中启用了 FIDO/U2F 硬件验证器的支持,使用新的公钥类型 ecdsa-sk
和 ed25519-sk
,以及相应的证书类型。FIDO/U2F 支持见 https://www.openssh.com/txt/release-8.2 。 e9a994639b2a (由 The FreeBSD Foundation 赞助)
新增了 Intel I225 以太网控制器的 igc(4) 驱动程序,支持 2.5 Gbps 网卡。 517904de5cca (由 Rubicon Communications, LLC ("Netgate") 赞助)
新增了 mgb(4) 网卡驱动程序,支持 Microchip 设备 LAN7430 PCIe Gigabit Ethernet 控制器带 PHY、LAN7431 PCIe Gigabit Ethernet 控制器带 RGMII 接口。该驱动程序有一些注意事项和限制,但是是功能齐备的。 e0262ffbc6ae (由 FreeBSD 基金会赞助)
两个新的守护进程, rpc.tlsclntd(8) 和 rpc.tlsservd(8) ,现在在 amd64 和 arm64 上默认构建。它们提供了对 NFS-over-TLS 的支持,如《Towards Remote Procedure Call Encryption By Default》中所述。这些守护进程在指定 WITH_OPENSSL_KTLS
时构建。它们使用 KTLS 对所有 NFS RPC 消息流量进行加密/解密,并通过 X.509 证书提供可选的机器身份验证。 2b9cbc85d727 59f6f5e23c1a
针对 amd64 的 UEFI 固件引导兼容性得到改进。有关详细信息,请参阅 loader.efi(8) amd64 Nocopy
部分。 f75caed644a5 (由 FreeBSD 基金会赞助)
对许多内核子系统进行了启动时间性能改进。(由 https://www.patreon.com/cperciva 赞助)
nvme(4) 错误处理得到了显著改进。
IPv4(子)网的最小地址(主机 0)的处理方式已更改,以便在未设置为广播地址的情况下,不将数据包发送为广播。这使得最小地址可用于主机。可以使用 sysctl 参数 net.inet.ip.broadcast_lowest
恢复旧的行为。有关背景信息,请参阅 https://datatracker.ietf.org/doc/draft-schoen-intarea-unicast-lowest-address/。 fd0765933c3c
启动脚本 growfs(7) 现在在扩展根文件系统的同时,如果可能,会添加一个交换分区(如果之前不存在)。这在在 SD 卡上使用 RAW 镜像安装时特别有用。新增了一个 rc.conf(5) 变量——growfs_swap_size
,它可以控制必要时的添加。有关详细信息,请参阅 growfs(7) 。
新增了一个名为 zpoolreguid
的 RC 脚本,它将为一个或多个 zpool 分配一个新的 GUID,在共享数据集的虚拟化环境中很有用。
如果没有 /etc/hostid 文件或来自硬件的有效 UUID,则 hostid
启动脚本现在将生成一个随机的(版本 4)UUID。此外,如果没有 /etc/machine-id 文件,hostid_save
脚本将在 /etc/machine-id 中存储主机的紧凑版本(没有连字符)。GLib 等库使用此文件。 62a149bf6219 862aab6281a5 baf1e9713969 ecad3f5c4d92 d6852eed98ed
现在可以使用 defaultrouter_fibN
和 ipv6_defaultrouter_fibN
rc.conf(5) 变量为非主要 FIB 添加默认路由,。 30659d1dcbcc (由 ScaleEngine Inc. 赞助)
bhyve(8) 工具增加了 virtio-input 设备仿真支持。这可用于将键盘/鼠标输入事件注入到虚拟机中。命令行语法为:-s <slot>,virtio-input,/dev/input/eventX
。 054accac71e0
kdump(1) 工具增加了对解码 Linux 系统调用的支持。
新增了 nproc(1) 工具,与同名的 Linux 程序兼容。
uuidgen(1) 工具有一个新参数 -r
,用于生成一个随机的 UUID,版本 4。 f176fe8e7f63
bhyve(8) 虚拟机监视器和内核模块 vmm(4) 现在在虚拟机中支持超过 16 个虚拟 CPU。默认情况下,bhyve 允许每个虚拟机创建与主机上物理 CPU 数相同的虚拟 CPU。此限制可以通过 loader 可调参数 hw.vmm.maxcpu
进行调整。 ee98f99d7a68
64 位可执行文件默认启用了地址空间布局随机化(ASLR)。如果应用程序出现意外失败,例如段错误,可以根据需要禁用它。要在单个调用中禁用,使用 proccontrol(1) 命令:proccontrol -m aslr -s disable command
。要为二进制文件的所有调用禁用 ASLR,请使用 elfctl(1) 命令:elfctl -e +noaslr file
。BUG 应通过问题报告系统 https://bugs.freebsd.org 或在 freebsd-stable@FreeBSD.org
邮件列表上报告。 b014e0f15bc7 (由 Stormshield 赞助)
可以在 amd64 内核中使用 LLVM 的 AddressSanitizer。有关更多信息,请参阅手册页面 kasan(9) 。 38da497a4dfc (由 FreeBSD 基金会赞助)
对于英特尔 Alder Lake(第十二代)和 Raptor Lake(第十三代)混合 CPU 上的硬件页面失效问题,已经实施了一种解决方法。该问题可能导致 UFS 和 MSDOSFS 的文件系统损坏,以及可能发生其他内存损坏。通过这种解决方法,小核(E-cores)将自动使用一种更慢的页面失效方法。 cde70e312c3f (由 FreeBSD 基金会赞助)
arm64 的 linux(4) ABI 状态已与 amd64 的 linux(4) ABI 保持一致。 ccc510b46340 、 9931033bbfbe
为了提高 stable
分支的 ABI 兼容性,CPU 亲和力系统调用现在更容忍比内核使用的 CPU 集小的 CPU 集。这将有助于增加内核集 MAXCPU
的大小。 47a57144af25 f35093f8d6d8 (由 Juniper Networks, Inc.赞助)
现在可以在运行时使用有日志的软更新的 UFS 文件系统上进行快照。因此,现在可以在使用有日志的软更新运行的活动文件系统上执行后台转储。通过使用 dump(8)
的 -L
参数请求后台转储。(在先前的版本中,UFS 快照与有日志的软更新不兼容。) 78f412987605 (由 FreeBSD 基金会赞助)
已经重新集成内核的 wg(4) WireGuard 驱动程序;它提供了使用 WireGuard 协议的虚拟专用网络(VPN)接口。 744bfb213144 (由 Rubicon Communications, LLC ("Netgate")和 FreeBSD 基金会赞助)
KTLS(内核 TLS 实现)已为 TLS 1.3 添加了接收卸载支持。现在支持 TLS 1.1 到 1.3 的接收卸载;对于 TLS 1.0 到 1.3,支持发送卸载。 05a1d0f5d7ac (由 Netflix 赞助)
Radix 表和查找现在在 ipfw(4) 中支持 MAC 地址。这允许构建和用于过滤的 MAC 地址表。 81cac3906eb9
此部分包括了用户空间应用程序、贡献的软件和系统工具的变化和新增内容。
root 用户的默认 shell 现在是 sh(1) ,具有许多用于交互式使用的新功能。 d410b585b6f0
默认的邮件传输代理(MTA)现在是 Dragonfly Mail Agent ( dma(8) ),而不再是 sendmail(8) 。 MTA 的配置通过 mailer.conf(5) 进行。 sendmail(8) 及其配置仍然可用。 a67b925ff3e5
rc.conf(5) 中已经删除了配置变量 mta_start_script
,以及启动脚本 othermta
。 616f32ea6da7
jail(8) 现在在 jail.conf(5) 文件中支持 .include
指令,并支持文件名通配。 e82a62943529
一次性密码设施 OPIE, opie(4) ,已从基本系统中移除。如果仍然希望使用它,请安装 Port security/opie 。否则,请确保从您的 PAM 策略中删除或注释掉对 pam_opie
和 pam_opieaccess
的任何提及。 etcupdate(8) 通常会处理已存储的策略。 0aa2700123e2
已删除构建配置参数 SHARED_TOOLCHAIN
。仍然可以使用通用的参数 NO_SHARED
构建静态链接的工具链。 77f6be448408 (由 FreeBSD 基金会赞助)
区域设置升级到 CLDR 41.0 和 Unicode 14.0。 e87ec409fa9b
为新的法国 bepo 键盘(版本 1.1rc2)(由法国国家标准化组织规范为“NF Z71‐300”)添加了布局配置。 abdcd967dc0c
现在,rc.d
脚本(参见 rc(8) )即使没有定义 procname
或没有 PID 文件,也可以允许具有 status
方法。 2651609fcbd7
添加了工具 base64(1) 。 540a99289bb1
bhyve(8) 虚拟化程序现在支持可选的 TPM(可信平台模块)直通支持。这不是直接访问,而是将来自虚拟机的命令转发到物理 TPM。 67c26eb2a57c
bhyve(8) 中的 GPU 直通已经在 AMD 和 Intel GPU 上得到改进。这是一个正在进行中的工作;直通在所有情况下都不起作用,配置尚未记录。
工具 cpuset(1) 已从 /usr/bin 移动到 /bin,以便在启动处理过程中始终可用。 /usr/bin/cpuset 现在是一个符号链接。 f05948d4e98d
date(1) 工具现在具有 -z
参数用于时区转换。 31edf56b1571
diff(1) 工具现在支持 --color
参数以获得彩色输出。 f38702e5a52e
弃用的 fmtree(8) 工具已被删除。 e4d63c5d5ff8
freebsd-update(8) 现在说明如果升级未在进行中且不需要回滚,则可以删除 /var/db/freebsd-update 下的文件。 80b003e81684 (由 FreeBSD 基金会赞助)
新的 fwget(8) 工具会检查系统需要固件的外围设备,并为其安装适当的软件包。目前仅支持 PCI 子系统,已知仅支持 Intel 和 AMD GPU 的显卡固件。 d198b8774d2cd198b8774d2c (由 Beckhoff Automation GmbH & Co. KG 赞助)
通过一致支持 -q
和 -h
参数、允许带有 SI 后缀的数字以及去除 head(1) 中行数的 2^31 限制,提高了 head(1) 和 tail(1) 的可用性。 643ac419fafb
makefs(8) 现在具有实验性的 ZFS 支持。它可以创建一个 ZFS 池,由单个磁盘 vdev 支持,包含从暂存目录中填充的一个或多个数据集。 240afd8c1fcc (由 FreeBSD 基金会赞助)
移除了 minigzip(1) 工具。 278d080bad9F
mandoc(1) 工具现在在列表 -width
处理中解决了宏处理的缺陷,从而获得了更准确的列表列宽。 bbb2d2ce4220 (由 Dell EMC Isilon 赞助)
mixer(8) 工具不再尝试猜测音量是绝对音量还是百分比。现在,它接受一个附加的 %
百分比,否则音量为绝对音量。 4014365e4219
netcat
工具 nc(1) 现在可以是一个 if_tun
( tun(4) ) 代理。 cef7ab70ff44 (由 Zenarmor 赞助)(由 OPNsense 赞助)(由 Klara, Inc.赞助)
netstat(1) 工具现在在 -i
参数下可计算正确的列宽,使 -w
参数不再必需。 372e3d561d82
移除了 portsnap(8) 工具。建议用户使用 pkg install git
,然后 git clone https://git.FreeBSD.org/ports.git /usr/ports
来获取 Ports。 df53ae0fdd98
pw(8) 和 bsdinstall(8) 程序现在默认在 /home 中为用户创建家目录,而非 /usr/home。不再创建 /home 的默认符号链接(即指向 /usr/home)。 bbb2d2ce4220
sleep(1) 工具现在接受单位为秒以外的值,并接受多个将被求和的延迟值(例如,1h 30m
)。 34978f7edd15 be038c3afcae
sockstat(1) 工具现在在 capsicum 中运行。 94dc57159532 c5a2d8c5f517
systat(1) 工具有一个新命令 iolat
,可报告由 CAM I/O 调度程序计算的 I/O 延迟。 22054f88914b (由 Netflix 赞助)
一个新的工具, tcpsso(8) ,能够将套接字参数应用于现有的 TCP 端点,例如更改拥塞控制模块或 TCP 栈。 881631a2a371 (由 Netflix 赞助)
Telnet 守护程序, telnetd(8) ,已被移除。如果需要,可以使用 Port net/freebsd-telnetd 。客户端不受影响。 0eea46fb1f83
在默认情况下禁用了参数 PROFILE
,因此不提供系统库的配置版本。更倾向于使用基于硬件的性能分析(例如 hwpmc(4) )。 fe52b7f60ef4 (由 FreeBSD 基金会赞助)
二进制文件中的调试部分在小端目标上默认启用。 47363e99d3d3 (由 FreeBSD 基金会赞助)
已添加配置以生成 armv7 发行文件,这对于在 arm64 上构建 jail 可能很有用。 ac099daf6742
One True Awk( awk(1) )已更新到 20210727,这是第 1 版。 (第 2 版将包含在 14.1-RELEASE 中。)现在除一个 FreeBSD 补丁外,所有的 FreeBSD 补丁都已被上游采纳或丢弃。值得注意的变化包括:不再使用地区(locale)进行范围选择;与 gawk
和 mawk
有更好的兼容性。请注意,十六进制字符串的解释与早期的 FreeBSD 版本一样被解释为数字。这将在 FreeBSD 15 中更改以符合上游和当前的 POSIX 标准。 f39dd6a97844 23f24377b1a9 628bd30ab5a4
bc(1) 和 dc(1) 命令已更新到版本 6.6.0,修复了与行编辑和包含多个 read()命令的复杂脚本的问题,并在 bc
的(非标准)扩展数学库中添加了一些功能。
libbsdxml(expat
, libbsdxml(3) )已升级到版本 2.4.7。 7ed8e142a00d
libfido2 已升级到版本 1.13.0。 f540a43052c1 3e696dfb7009 95321fff46ec (由 FreeBSD 基金会赞助)
llvm-objdump(1) 工具现在始终作为 objdump(1) 安装。 86edb11e7491 (由 FreeBSD 基金会赞助)
OpenSSH 已升级到版本 9.5p1。完整的发行说明请参阅 https://www.openssh.com/txt/release-9.5 。 676824f5cdf9 (由 FreeBSD 基金会赞助)
scp(1) 工具现在默认使用 SFTP 协议,而不是传统的 scp/rcp 协议。这消除了对通配符扩展字符的双引号引用的需要。 fb5aabcb990b (由 FreeBSD 基金会赞助)
默认情况下,在 ssh(1) 中禁用了 RSA/SHA-1 签名。可以在用户的 ~/.ssh/config 文件中按主机启用它们。 8c22023ca5e1 (由 FreeBSD 基金会赞助)
对于 ssh(1) ,VerifyHostKeyDNS
参数现在默认为 no
,与 OpenSSH 默认发行一致。X11Forwarding
参数也默认为 no
。 41ff5ea22cb9 77934b7a1301 (由 FreeBSD 基金会赞助)
从 OpenSSH 中删除了 HPN 参数处理。 HPN 支持很久以前就已经弃用,但配置参数仍然被接受(并被忽略)以保持向后兼容性。 348bea10b6f2 (由 FreeBSD 基金会赞助)
从 ssh(1) 客户端中删除了 VersionAddendum
参数。 bffe60ead024 (由 FreeBSD 基金会赞助)
OpenSSL 已升级到版本 3.0.12。这是从版本 1.1.1 的重大升级,已经到达了其生命周期的终点。基本系统的许多组件使用向后兼容的 API,但稍后将进行迁移。 aa7957345732 930cec16d9ee b077aed33b7b (由 FreeBSD 基金会赞助)
tcpdump 已升级到版本 4.99.4。 ee67461e5682 171a7bbfc048 1ad8d2ee1f7d (由 FreeBSD 基金会赞助)
libpcap 已升级到版本 1.10.4。 6f9cba8f8b5e dd744a896be3 (由 FreeBSD 基金会赞助)
xz 已升级到版本 5.4.3。
zlib 已升级到版本 1.3。
zstd 已升级到版本 1.5.2。 (由 Klara,Inc 赞助)
mergemaster(8) 已被废弃。其替代品是 etcupdate(8) 。 398b12691b4f (由 FreeBSD 基金会赞助)
libncursesw
库(参见 ncurses(3X) )已拆分为 libtinfow
和 libncursesw
。链接脚本应使其对使用者透明。现在安装了 pkg-config(8) 文件,以便使 Port 能够从基础系统检测 ncurses
的设置。 396851c20aeb
ncurses(3X) 库现在能够使用 terminfo(5) 以及 termcap(5) ,并首选使用 terminfo。 61f66a1f4403
在 ncurses(3X) 中,用于 terminfo 数据库的默认搜索路径现在包括 /usr/local/share/terminfo,便于使用来自 Ports 或软件包的数据库。 b75fb12b6827
qsort_r(3) 的原型已修改以匹配 POSIX,该标准采用了 glibc-based 接口。 af3c78886fd8
对于 aarch64(arm64),已经实现了 COMPAT_LIB32
构建参数,并默认启用。这为 arm64 系统提供了与 armv7 32 位二进制文件构建和运行大多数 armv7 32 位库和头文件兼容的支持。 f1d5183124d3 d5d97bed4ab6 a1b675731301
本节涵盖了对云环境的支持的更改。
FreeBSD 现在在 AWS 上提供实验性的 ZFS 根文件系统 EC2 AMI。 (由 https://www.patreon.com/cperciva 赞助)
FreeBSD 现在在 AWS 上提供实验性的 cloud-init EC2 AMI。有关信息,请参阅 Port net/cloud-init 。 (由 https://www.patreon.com/cperciva 赞助)
FreeBSD 现在为 Azure 提供 arm64 和 amd64 镜像。提供了 UFS 和实验性的 ZFS 镜像。现在支持 Gen2 VMs。 (由 FreeBSD 基金会赞助)(由微软赞助)
Microsoft Azure Network Adapter(MANA)VF(虚拟功能)现在得到支持。 ce110ea12fce (由微软赞助)
Google Virtual NIC( gve(4) )现在得到支持。 54dfc97b0bd9 (由谷歌赞助)
本节介绍了对内核配置、系统调优和系统控制参数的更改,这些更改没有被分类到其他地方。
SMP 系统现在在 amd64 和 arm64 上支持最多 1024 个核心。现在可动态分配多内核 CPU,以避免占用过多内存。内核 cpuset ABI 已更新以支持更高的限制。 76887e84be97 d1639e43c589 9051987e40c5 e0c6e8910898 (由 FreeBSD 基金会赞助)
ACPI 系统现在支持 _CR3
临界待机 (S3
) 阈值。 b8a0dfb17e3b
默认禁用 acpi_timer_test
,强制使用 ACPI-fast 而不是 ACPI-safe,以加快启动过程。可以通过设置可调参数 hw.acpi.timer_test_enabled=1
重新启用破解 ACPI 计时器。如果观察到时间问题,请尝试在 loader.conf(8) 中使用 hw.acpi.timer_test_enabled=1
进行测试,看看是否解决了问题。 a8b89dff6ac0
boottrace(4) 是用于在系统启动和关闭期间捕获跟踪事件的新内核用户空间接口。事件注释存在于内核中的启动和关闭路径中;系统工具( init(8) 、 shutdown(8) 、 reboot(8) );以及 rc(8) 脚本(通过 boottrace(8) )。 boottrace(4) 注重易用性,主要面向系统管理员。它在默认的 GENERIC
内核中可用,并且可以通过调整 sysctl(8) 变量来启用。 da5b7e90e740 5a8fceb3bd9f 7b0a665d72c0 13ec1e3155c7 318d0db5fe8a 1ae2c59bcf21 (由 NetApp, Inc.赞助)(由 Klara, Inc 赞助)
内核加密现在支持 XChaCha20-Poly1035 AEAD 加密。 8f35841f1f35 (由 FreeBSD 基金会赞助)
内核加密中添加了 curve25519 的 API。 0c6274a819ff (由 FreeBSD 基金会赞助)
FreeBSD 现在可以在 Firecracker VMM 中运行,通过 amd64 FIRECRACKER
内核配置。 469ad8603127 (由 https://www.patreon.com/cperciva 赞助)
FreeBSD 现在重新启动更快。添加了 sysctl kern.reboot_wait_time
以控制在在控制台打印所有内核消息后重新启动之前的延迟。默认为 0。将其设置为 1 会恢复先前的行为(1 秒延迟)。 84ec7df0d796 (由 https://www.patreon.com/cperciva 赞助)
添加了新的 DTrace provider kinst
,参见 dtrace_kinst(4) 。该 provider 允许跟踪内核指令,类似于 FBT(函数边界跟踪)提供者,但可以探测所有指令而不仅仅是逻辑入口和返回指令。 f0bc4ed144fc (由 Google, Inc.通过谷歌编程之夏 2022 赞助)
kinst
已移植到 arm64 和 riscv。 07864a8a2466 2d7bb03adb43 (由 FreeBSD 基金会赞助)
现在可以在 amd64 内核中使用 LLVM 的 MemorySanitizer 。有关更多信息,请参见手册页 kmsan(9) 。 a422084abbda (由 FreeBSD 基金会赞助)
现在可以在 arm64 内核以及 amd64 上使用 LLVM 的 AddressSanitizer。有关更多信息,请参见 kasan(9) 手册页。 89c52f9d59fa (由 Juniper Networks, Inc.赞助)(由 Klara, Inc.赞助)
已从内核开放加密框架(OCF)中删除了对非对称加密操作的支持,因为它们不被现代 OpenSSL 版本使用。 76681661be28
添加了一个本机 timerfd(2) 设施,以便轻松移植使用 timerfd 的 Linux 程序。以前,timerfd 仅在 Linux 仿真下可用。对于仅为 FreeBSD 编写的程序,首选使用 kqueue(2) EVFILT_TIMER 过滤器来建立任意计时器。 af93fea71038
由 security.bsd.see_jail_proc
sysctl(8) 开关控制的进程可见性策略已经过加固,防止未经授权的用户尝试随机杀死、更改优先级或调试同一子 jail 中具有相同(实际)UID 的进程,即使这些进程对其不可见也会成功。它也可以被 MAC 策略覆盖,就像其他进程可见性策略一样。 7e21c691f295 63c01c18a8d3 (由 Kumacom, SAS 赞助)(由 FreeBSD 基金会赞助)
由 security.bsd.see_other_gids
sysctl(8) 开关控制的进程可见性策略已修复,以考虑进程的实际组而不是其有效组,以确定试图访问进程的用户是否是进程组的成员。其原理是,某些用户应该继续看到它们启动的进程,即使它们通过设置组 ID 位而获得更高的权限,而它们不应该看到由特权用户启动的临时进入用户的主组的进程。这种新行为与 security.bsd.see_other_uids
一直在为用户 ID 执行的操作相一致(即,考虑一些进程的实际用户 ID 而不是有效 ID)。 26ff4836c888 (由 Kumacom, SAS 赞助)(由 FreeBSD 基金会赞助)
现在已自动封堵影响 AMD Zen2 处理器的 Zenbleed 漏洞(通过 chicken bit),防止在受影响的机器上发生错误行为和数据泄漏。如果需要,可以通过 sysctl(8) machdep.mitigations.zenbleed.enable
开关手动控制应用这种缓解措施。有关更多信息,请参阅新的 mitigations(7) 手册页。 aea76bab1416 (由 FreeBSD 基金会赞助)
本节包括了自 13.2-RELEASE 以来对设备和设备驱动程序的更改和添加。
串行通信在引导加载程序、内核和用户空间中的默认速度现在为 115200 bps。请注意,早期的 x86 BIOS 引导加载程序(即 boot0sio
)不支持 9600 bps 以上的速率,并且没有更改。 boot0sio
用户可以设置 BOOT_COMCONSOLE_SPEED=9600
,以便在所有引导组件中使用 9600,或者使用标准的 boot0
,并且 boot2
阶段的串行端口速率为 115200。 4722ceb7d53e (由 FreeBSD 基金会赞助)
默认的响铃音频现在为 800Hz。可以使用 kbdcontrol(1) 进行设置。对于希望使用声卡进行蜂鸣的用户,与 devd(8) 集成。 ba48d52ca6c8 4ac3d08a9693 2533eca1c2b9 (由 Netflix 赞助)
在使用默认的 vt(4) 控制台时,默认情况下不再启用可听的响铃。可以使用以下命令启用它:sysctl kern.vt.enable_bell=1
和 kbdcontrol -b normal
。 225639e7db68
在 DPAA2(第二代数据路径加速架构,出现在一些 NXP SoC 中的硬件级网络架构)中进行了改进。它运行由 NXP 提供的固件,该固件提供 DPAA2 对象作为抽象层,并提供 dpni
网络接口。 DPAA2 通道之间的分离已经显着改进,以隔离对 DMA 资源和清理操作的访问,并在网络负载较重(1 Gbit/s 链接)时避免内核崩溃。其他改进包括 FDT / ACPI MDIO 支持,通过 DPAA2 进行网络启动以及单独的命令门户(DPMCP)支持。
已添加对 Arm Corelink DMC-620 内存控制器和 CMN-600 一致性网格网络控制器的支持,已添加到 hwpmc(4) 和 libpmc
。请参阅 pmc.dmc-620(3) 和 pmc.cmn-600(3) 。 1459a22787ea 59191f3573f6 (由 ARM 赞助)(由 Ampere Computing 赞助)
已实施了有关 i386 和 Book-E powerpc 上影响物理上高于 4 GB 的帧缓冲区地址的帧缓冲地址的修复。 a78bb831a17f
Intel 无线网卡的 iwlwifi(4) 驱动程序已更新到最新版本,支持 WiFi 6E AX411/AX211/AX210 芯片组,并为即将推出的 BX 和 SC 芯片组做好准备。 (由 FreeBSD 基金会赞助)
Realtek 无线 PCI 接口的 rtw88(4) 驱动程序已更新。
已添加 KVM 虚拟化时钟的 kvm_clock 驱动程序。 6c69c6bb4c7f (由 Juniper Networks, Inc.赞助)(由 Klara, Inc.赞助)
对 Linux 设备驱动程序的 KPI 进行了稳定性修复和增强,以及无线驱动程序的 net80211 层。 (由 FreeBSD 基金会赞助)
现在,默认情况下,NVMe 磁盘是 nda
设备,例如 nda0
;参见 nda(4) 。在 /dev 中为先前的 nvd(4) 设备名称创建了符号链接。但是,配置(例如 fstab(5) )应更新为引用新的设备名称。控制使用 nda
设备和符号链接的参数在 nda(4) 中有描述。 bdc81eeda05d (由 Netflix 赞助)
先前的 qat(4) 驱动程序已替换为 Intel 的 QAT 驱动程序。新版本提供了与芯片组的加密和压缩卸载功能的额外接口。对于大多数用户,这将没有可见的更改;但是,新驱动程序不支持 Atom C2000 芯片组。为了保留对这些芯片组的支持,旧的驱动程序已重命名为 qat_c2xxx
。因此,在 C2000 硬件上使用 qat(4) 的用户需要确保加载的是 qat_c2xxx(4) 而不是 qat(4) 。 78ee8d1c4cda f4f56ff43dbd (由 Intel Corporation 赞助)
x86 GENERIC
内核配置中已删除 pms(4) 驱动程序 pmspcv
,因为它很大且使用不常见。可以通过在 loader.conf(5) 中放置 pmspcv_load="YES"
来将其加载为模块。 95e4f5ef7cce (由 Rubicon Communications, LLC ("Netgate")赞助)
x86 GENERIC
和 MINIMAL
内核配置中已删除了 VESA 参数。它仍然可用作内核模块。 VESA 不被默认控制台 vt(4) 使用。 777526ed8382 b8cf1c5c30a5 (由 FreeBSD 基金会赞助)
已删除 ISA 声卡的驱动程序。 92e6b4712b53 df51e63eb5d7 aa83e9b189d6 754decef384a 5126e5eeeb5e 716924cb4832 9054e296819f (由 FreeBSD 基金会赞助)
从 ath(4) 中删除了 AHB 总线前端,因为它仅被 MIPS 使用。 37c8ee8847fa
已删除了弃用的 amr(4) 驱动程序。 60de2867c9fc (由 Netflix 赞助)
已删除过时的 iscsi_initiator(4) 。它的替代品 iscsi(4) 在几个主要版本之前引入。 48cb3fee2586 (由 FreeBSD 基金会赞助)
已删除了弃用的 iir(4) 驱动程序。 399188a2c60c (由 Netflix 赞助)
已删除了弃用的 mn(4) 同步串行驱动程序。 0cff00ae682a (由 FreeBSD 基金会赞助)
已删除了弃用的 mly(4) 驱动程序。 a9620045a5b9 (由 Netflix 赞助)
已弃用的 nlmrsa(4) 驱动程序已被移除。 6a06b00a0d1f (由 Chelsio Communications 赞助)
已弃用的 twa(4) 驱动程序已被移除。 8722e05ae149 (由 Netflix 赞助)
本节包括了文件系统和其他存储子系统的变更和添加,包括本地和网络存储。
gconcat(8) 及其内核支持现在具有将在创建 gconcat 设备时不存在的设备追加到连接设备的能力。 d575e81fbcfa
一个新的 gunion(8) 工具跟踪对可写磁盘上只读磁盘的更改。这对于对磁盘进行临时更改(如文件系统修复或软件升级)并随后提交或还原更改非常有用。 c7996ddf8000 (由 Netflix 赞助)
在调试和解决通用文件系统代码中 vnode 回收问题的过程中,与 vnode 相关的统计信息的 sysctl 现在已经分组到 vfs.vnode
下,以提高可见性。 d3e647891243
NFS 现在支持在 VNET jail 中运行 NFS 服务器,包括 nfsd(8) , nfsuserd(8) , mountd(8) , gssd(8) 和 rpc.tlsservd(8) 。VNET jail 必须位于自己的文件系统上,必须设置 jail 参数 allow.nfsd
,而 enforce_statfs
不能设置为 0
。不允许使用 UDP 和 pNFS 服务器配置。 7344856e3a6d 和其他许多
对于 NFSv4 挂载,NFS 客户端现在默认使用 NFS 服务器支持的 NFSv4 的最高小版本,而不是小版本 0。 挂载参数 minorversion
可用于覆盖此默认值。 a145cf3f73c7
FreeBSD NFS 客户端现在可以设置为使用 1M 字节的 I/O 大小,通过tunablevfs.maxbcachebuf
;Linux NFS 客户端也可以进行 1M 字节的 I/O。需要增加kern.ipc.maxsockbuf
的值。控制台消息将建议其设置。请注意,在 nfsd(8) 未运行时,可以通过 sysctl vfs.nfsd.srvmaxio
将 FreeBSD NFS 服务器的最大 I/O 大小增加到任何 2 的幂次方,最多为 1M 字节。 ee29e6f31111
如果会话中断,NFSv4.1/4.2 客户端和服务器现在将生成控制台消息,建议用户检查确保字符串 /etc/hostid 的值对所有 NFSv4.1/4.2 客户端都是唯一的。 b875d4f5ddcb 0685c73cfe88
NFSv4.1/4.2 挂载使用挂载参数 intr
现在基本可用,尽管不是 100%正确,但也使用了挂载参数 nolockd
。有关详细信息,请参见手册页 mount_nfs(8) 。 981ef32230b2 33721eb991d8
对于 Kerberized NFSv4.1/4.2 挂载,现在可以使用新的挂载参数 syskrb5
。 NFSv4.1/4.2 的一个特性用于提供 AUTH_SYS
身份验证,因此在挂载时不需要 Kerberos 凭证。请参见 mount_nfs(8) 。 896516e54a8c
在 NFS 服务器中,NFS 挂载协议中已添加对 SP4_MACH_CRED
的支持。该功能由 Linux NFSv4.1/4.2 客户端用于 Kerberized 挂载。以前通过回退处理,但现在直接支持。 330aa8acdec7 ff2f1f691cdb
现在可以使用在运行启用了日志软更新的 UFS 文件系统上的快照执行后台文件系统检查。 (由 FreeBSD 基金会赞助)
已向超级块、柱组映射和 inode 添加了校验散列,以检测错误。对于超级块(120)和柱组(20),进行的检查远比以前进行的魔数检查要广泛得多。(由 FreeBSD 基金会赞助)
libufs(3) 库已更新以包含这些检查,以便所有文件系统工具现在都会执行这些检查。检查在一个内核文件中实现,该文件也被 libufs 包含。对 libufs 的另一个更改是,查找备用超级块的代码已从 fsck_ffs(8) 移到了共享文件中,因此它现在可以在内核加载器中使用,以及所有文件系统工具。 (由 FreeBSD 基金会赞助)
OpenZFS 已升级到 2.2 版。新功能包括:
块克隆,允许文件副本中块的浅复制。这是可选的,默认情况下禁用;可以使用 sysctl vfs.zfs.bclone_enabled=1
启用。
scrub 错误日志(zpool scrub -e
)
BLAKE3 校验和,速度快,现在是推荐的安全校验和
修正的 zfs receive
可以修复损坏的数据
vdev 和 zpool 用户属性,类似于数据集用户属性。
性能改进包括:
完全自适应 ARC,一个统一的 ARC,最小化手动调整的需求
zstd 早期中止,提高对不可压缩数据的效率
I/O 预取改进
一般优化。
已在 32 位 powerpc/powerpcspe 上启用 ZFS。 63715498ac6b
现在, msdosfs(5) 文件系统在 FAT12 和 FAT16 文件系统的根目录中记录可用目录项(例如 EFI 引导分区),并将其报告为 inode。 c33db74b5323
现在, msdosfs(5) 文件系统正确计算 FAT12 和 FAT16 文件系统的可用块和已用块,并且不再拒绝挂载使用有效但不常见参数创建的文件系统。 0728695c63e
合成文件系统( devfs(5) , procfs(5) 等)现在报告已使用 0 块,以便它们不被报告为 100% 使用率。 88a795e80c03
添加了一个名为 tarfs(5) 的文件系统,其支持由 POSIX tar 档案支持,可选择使用 zstd(1) 进行压缩。 69d94f4c7608 (由 Juniper Networks,Inc.赞助)(由 Klara,Inc.赞助)
本节包括了引导加载程序、引导菜单和其他与引导相关的更改。
lua 风格的 loader(8) 现在将解释在 loader_conf_files
中出现的 .lua 文件为 lua,并在沙盒中执行它们。现有的加载器环境变量在沙盒中作为全局变量可用,成功执行配置文件后,任何设置的全局变量,如果不是表值,都将反映在加载器环境中。具有不是有效 lua 名称的名称的环境变量可以作为 _ENV
的索引访问;例如,_ENV[ 'net.fibs']
。 3cb2f5f369ec
EC2 实例现在在可用的情况下使用 UEFI 引导,大大加速了引导过程。 b43d7aa09b3c bcf9147144f3 (由 https://www.patreon.com/cperciva 赞助)
本节说明了影响 FreeBSD 网络的更改。
carp(4) 现在支持配置 carp 消息发送到的地址,允许使用单播地址。这在某些虚拟配置中很有用。请参见 carp(4) 和 ifconfig(8) 。 137818006de5
在 if_bridge(4) 上的第 3 层过滤将执行一些不安全的操作,因此 net.link.bridge.pfil_member
和 net.link.bridge.pfil_bridge
现在默认为 0。 22893e584032
netlink(4) 是 RFC 3549 中定义的用户/内核通信协议,主要用于网络配置。它已经得到扩展、改进并启用了默认。已将许多网络配置工具转换为使用 netlink。 3091d980f581
已删除不推荐使用的 NgATM
(netgraph ATM 支持)和残余的 ATM 支持。
pf(4) 包过滤器现在支持使用 OpenBSD 语法和行为进行清理。如果没有 FreeBSD 清理规则,则全局参数 set reassemble yes | no [ no-df]
确定是否进行分组重组。清理,例如设置 tos、ttl 等,可以在匹配和传递规则中完成,这也使其具有状态。与 OpenBSD 一样,现在完全支持匹配规则,不仅适用于 dummynet(4) 队列。 39282ef356db (由 InnoGames GmbH 赞助)
现在可以使用 IPv6 传输 pfsync(4) 。 6fc7fc2dbb2b (由 InnoGames GmbH 赞助)(由 FreeBSD 基金会赞助)
已扩展 pfsync(4) 数据包格式以改进对排队、清理和路由规则的支持。此格式与旧版本不兼容。可以使用 ifconfig pfsync0 version 1301
选择旧格式。如果 pfsync 集群的成员没有同时升级,则这一点尤为重要。
已将 WiFi 6 支持添加到 wpa( wpa_supplicant(8) 和 hostapd(8) )。 c1d255d3ffdb 3968b47cd974 bd452dcbede6
IPv6 over IPv4 的 6to4
接口, if_stf(4) ,现在支持 IPv6 Rapid Deployment(6rd,IPv6 快速部署)(RFC5969)。 19dc64451179 (由 Rubicon Communications, LLC("Netgate")赞助)
rtsol(8) 和 rtsold(8) 程序现在具有-i
参数,可禁用默认情况下使用的最多一秒的随机延迟。这些程序在 rc.conf(5) 中的默认参数包括 -i
。 231bac4ccc43 e29711da2352 (由 https://www.patreon.com/cperciva 赞助)
IPv6 nodeinfo
(RFC 4620)的处理现已默认禁用。 b73183d1a243 (由 FreeBSD 基金会赞助)
sysctl(8) 参数 net.inet.tcp.nolocaltimewait
现在默认启用。这样可以防止为本地终止的 TCP 连接创建 timewait 条目。 92b3e07229ba
TCP 的默认拥塞控制机制现在是 CUBIC。对于长时间的数据传输,CUBIC 在与 NewReno 竞争时得到了稍微更高的可用带宽的成绩。 bb1d472d79f7 (由 NetApp, Inc.赞助)
IPv4 已更改为不广播子网上的最小地址(主机 0),除非它配置为广播地址。这允许子网上的最小地址用于主机。 fd0765933c3c
该部分包括了对物理机器、虚拟机监视器和虚拟化环境的一般硬件支持,以及不适用于本文其他部分的硬件更改和更新。
请查看 14.0-RELEASE 支持的硬件列表 ,以及 平台页面 以获取支持的完整 CPU 架构列表。
本项目不再提供带有 14.0-RELEASE 的 armv6 架构支持。
已删除对 MIPS 架构及相关硬件的支持。 MIPS 将在其生命周期内继续在 13-STABLE 分支上得到支持。
已淘汰对 RISC-V 架构的软件浮点变体 riscv64sf 的支持。所有可用的硬件都受到常规 riscv64 架构的支持。
该部分包括了随基本系统一起提供的手册页面( man(1) )和其他文档的更改。
对 hier(7) 页面进行了许多调整和清理,以提高准确性。
已审查并更新了第 9 节,内核文档中的许多页面,以确保准确性。
内核文档手册页的介绍, intro(9) 已完全重写。 84f9f2c5cf78 (由 FreeBSD 基金会赞助)
已重新编写和改进了 mi_switch(9) 页面。 175db7b58270 (由 FreeBSD 基金会赞助)
添加了新的 kern_yield(9) 页面。 30cd6fd75d46 (由 FreeBSD 基金会赞助)
删除了第 9 节中一些已过时的页面。 d1c7405ef68a 52f9a2823c64 b54391a1f831 (由 FreeBSD 基金会赞助)
该部分包括了 FreeBSD Ports、软件包基础设施以及软件包维护和安装程序的更改。
FreeBSD 15.0 预计将不包括对 armv7 以外的 32 位平台的支持。armv6、i386 和 powerpc 平台已被淘汰,并将被移除。64 位系统仍将能够运行较旧的 32 位二进制文件。
我们预计在 FreeBSD 15.0 中支持 armv7 作为 2 级架构,并可能在 FreeBSD 16.0 中删除 armv7。关于 armv7 在 15.x 和 16.x 的支持状态,我们将在 15.0 发行时提供更新。
通过参数 COMPAT_FREEBSD32
在 64 位平台上执行 32 位二进制文件的支持将继续至少在 stable/15 和 stable/16 分支上。通过 cc -m32
编译个别 32 位应用程序的支持也将至少在 stable/15 分支上继续,其中包括在 /usr/include 中的适当头文件和在 /usr/lib32 中的库。
Ports 将不包括对 FreeBSD 15.0 和以后版本的淘汰 32 位平台的支持。这些未来版本将不包括适用于淘汰的 32 位平台的二进制包或从 ports 构建软件包的支持。
FreeBSD stable/14 和更早版本的分支将保留现有的 32 位内核和系统支持。在 ports 系统支持的情况下,Ports 将保留对在 stable/14 和更早版本分支上为 32 位系统构建 ports 和软件包的支持。但是,所有 32 位平台都是 2 级 或 3 级,应预期随着上游淘汰 32 位平台,对个别 Port 的支持将降级。
按照当前的支持计划,stable/14 将在 FreeBSD 14.0-RELEASE 发行后的 5 年后达到生命周期结束(EOL)。stable/14 的 EOL 将标志着对淘汰的 32 位平台的支持结束,包括源代码发行、预构建软件包和从 Ports 构建应用程序的支持。随着 2023 年 11 月发行 FreeBSD 14.0-RELEASE,对淘汰的 32 位平台的支持将于 2028 年 11 月结束。
本项目可能会选择在 FreeBSD 15.0 发行时通过在 15.0 或以后扩展对一个或多个淘汰平台的某种程度的支持来更改此方法。任何更改将由社区反馈和支持这些平台的承诺驱动。使用 FreeBSD 14.0-RELEASE 和随后的版本,或者 stable/14 分支,以迁移至 32 位平台。
最后修改于: 2023 年 11 月 20 日,由 Mike Karels 进行。
发件人: jkh@whisker.lotus.ie (Jordan K. Hubbard) 新闻组: comp.os.386bsd.announce 主题: FreeBSD 1.0 RELEASE 现已发布 日期: 1993 年 11 月 1 日 16:12:20 -0800
FreeBSD 1.0 的首个“官方”版本现已发布,不再带有希腊字母标记——这是个“正式生产”版本。
虽然从 EPSILON(ε)到 RELEASE 之间修复了大量漏洞,但以下新增功能尤为重要:
动态缓冲区缓存机制:可以在内存被其他用途占用时自动增减,这明显提升了磁盘操作速度。
Linux 声卡驱动:支持 Gravis UltraSound、SoundBlaster 等声卡。
Mitsumi CD-ROM 接口及驱动支持。
更新的安装软盘。
更安全的 ISA 总线设备探测:显著减少设备冲突的可能性。
针对 XFree86 2.0 的高级 syscons 支持。
更多详细信息,请参阅发行说明。
获取方式:
FreeBSD 1.0 RELEASE 可通过 FTP 下载:freebsd.cdrom.com
,以及其镜像站点(约 1 天后上线)。
版本结构:
FreeBSD.cdrom.com: ~ftp/pub/FreeBSD/
FreeBSD-1.0-RELEASE/
包括 bin+src
版本。
FreeBSD-1.0-EPSILON-to-RELEASE
用于现有 EPSILON 版本的升级补丁。
感谢所有通过网络为我们提供重要帮助的人士,包括查找漏洞、贡献修复和提供精神支持的热心网友。感谢你们!
同时特别感谢 Walnut Creek CDROM 的持续支持,他们的帮助(至今无盈利)让这一切成为可能。
若疑问,请发送至:
报告漏洞请发送至:freebsd-bugs@freefall.cdrom.com。
技术交流请发送至:freebsd-hackers@freefall.cdrom.com。
此致, FreeBSD 团队
最后修改时间: 2021 年 2 月 21 日 修改者: Danilo G. Baio
最后修改:Gordon Bergling 于 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/。
FreeBSD 14.2-RELEASE 是个“RELEASE”发行版。可以通过 https://www.FreeBSD.org/releases/ 和其有关镜像下载。有关获取此版本(及其他版本)FreeBSD 的更多信息,请参阅 FreeBSD Handbook 的 FreeBSD 附录。
建议在安装 FreeBSD 之前,用户先查阅下发行勘误文档。该文档包含在发行周期后期及发行后发现的“最新”信息,通常涵盖已知错误、安全公告以及文档修正。可在 FreeBSD 网站上找到最新的 FreeBSD 14.2-RELEASE 勘误文档。
本文档总结了自 14.1-RELEASE 以来 FreeBSD 中对用户最为可见的新增和更改功能。一般来说,这些变更是 14-STABLE 分支的独有内容,除非特别标记为 MERGED 功能。
一般的发行说明内容包括自 14.1-RELEASE 之后发布的安全公告、新增的驱动程序/硬件支持、新命令/参数、主要的错误修复/外部软件更新。还可能列出主要 Ports/软件包和发行工程实践的更改。显然,发行说明无法详尽列出两个 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 日
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 日
FreeBSD-SA-24:11.ctl
2024 年 9 月 4 日
FreeBSD-SA-24:12.bhyve
2024 年 9 月 4 日
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 日
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 日
FreeBSD-SA-24:19.fetch
2024 年 10 月 29 日
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) 增加了一个用于更改目录的参数。此功能类似于 GNU 版 env
的功能,但不支持长选项(译者注:即 --
此类参数)。08e8554c4a39(由 Klara, Inc. 赞助)
bc
已更新至 7.0.2。90ea553a0d30
libarchive
已更新至 3.7.7。2ae238160f20
libcbor
已更新至 0.11.0。1755b9daa693(由 FreeBSD 基金会赞助)
libcxxrt
已更新至供应商快照 6f2fdfebcd62。d0dcee46d971
libfido2
已更新至 1.14.0。128bace5102e(由 FreeBSD 基金会赞助)
libpcap
已更新至 1.10.5。26f21a6494b4(由 FreeBSD 基金会赞助)
llvm
已更新至 18.1.6。f1e3279983d6
openssl
已更新至 3.0.15。cc43f991ab3e
tcpdump
已更新至 4.99.5。ec3da16d8bc1(由 FreeBSD 基金会赞助)
unbound
已更新至 1.22.0。0a096a7b3ae8
gpart(8) 已经取代 fdisk(8) 很久了,但后者未被删除。运行此应用程序时,将显示迁移到 gpart(8) 的警告。3958be5c29da(由 FreeBSD 基金会赞助)
fma(3) 现在在处理某些较小输入时(如在 Python 测试套件中观察到的情况),能够正确返回符号为零的结果。dc39004bc670(由 FreeBSD 基金会赞助)
新增函数 cap_rights_is_empty
,用于判断 cap_rights_t
是否未设置任何权限。e77813f7e4a3(由 FreeBSD 基金会赞助)
本节介绍云环境支持方面的变化。
nuageinit
启动脚本现在支持 OpenStack 网络配置。ea310d18b222(由 OVHCloud 赞助)
FreeBSD 项目现在可发布符合 OCI 标准的容器镜像。8a688fcc242e
Amazon EC2 云环境中的 shutdown
和 reboot
API 现在可支持 arm64 实例。更新至 FreeBSD 14.2-RELEASE 的旧实例需要在 /boot/loader.conf
中设置 debug.acpi.quirks="8"
。28b881840df7(由亚马逊赞助)
FreeBSD 项目现在发布了“精简版(small)”的 EC2 镜像。精简版镜像在“基础版(base)”中移除了调试符号、测试、32 位库、LLDB 调试器、Amazon SSM Agent 和 AWS CLI。953142d6baf3(由亚马逊赞助)
本节介绍自 FreeBSD 14.1-RELEASE 以来设备和驱动程序的更改与新增内容。
ena
驱动已更新至 2.8.0。6bf02434bd9a(由亚马逊赞助)
ice
驱动已更新至 1.43.2-k。38a1655adcb3(由英特尔赞助)
ice_ddp
已更新至 1.3.41.0。a9d78bb714e3(由英特尔赞助)
驱动程序 hda(4) (译者注:man 页面没有 hda(4),可能指 snd_hda(4))新增了对 Tiger Lake-H 的支持。dbb6f488df6e
驱动程序 ichsmb(4) 新增了对 Meteor Lake 的支持。14c22e28e4ee(由 Framework Computer Inc 和 FreeBSD 基金会赞助)
驱动 ig4(4) 新增了对 Meteor Lake 的支持。56f0fc0011c2
一款支持部分 Realtek 芯片组的新无线驱动已可用:rtw89(4)。a2d1e07f6451(由 FreeBSD 基金会赞助)
对 Realtek 8156/8156B 的支持已从 cdce(4) 迁移至 ure(4),以提升性能和可靠性。630077a84186(由 FreeBSD 基金会赞助)
增加了对 ACPI GPIO _AEI 对象的支持。1db6ffb2a482(由亚马逊赞助)
已在所有架构上启用 nvme(4) 和 nvmecontrol(8)。24687a65dd7f,aba2d7f89dcf(由 Chelsio Communications 和奈飞赞助)
计划在 FreeBSD 15.0 中删除 agp(4) ,手册页已标注为弃用。92af7c97e197
计划在后续版本中删除 syscons(4) ,手册页已标注为弃用,建议用户迁移至 vt(4)。2bc5b1d60512(由 FreeBSD 基金会赞助)
本节介绍文件系统及其他本地和网络存储子系统的更改与新增内容。
OpenZFS 已更新至版本 2.2.6。755e773877e9
本节介绍启动加载程序、启动菜单及其他与启动相关的更改。
BIOS 引导加载程序重新添加了对 gzip 和 bzip2 的支持,但默认情况下移除了图形模式的支持,以解决大小问题。(EFI 引导加载程序未受影响,仍支持上述所有功能。)4d3b05a8530e(由奈飞赞助)
本节介绍 FreeBSD 网络功能的变更。
对网络栈进行了大量改进,涉及性能提升以及对 sctp(4) 栈的错误修复。
通过 sctp_peeloff(2) 返回的描述符现在会继承父套接字的权限。ae3d7e27abc9(由 FreeBSD 基金会赞助)
为驱动 igc(4) 新增了 AIM(Adaptive Interrupt Moderation,自适应中断调节/中断裁决)支持。472a0ccf847a(由 Rubicon Communications, LLC ("Netgate") 和 BBOX.io 赞助)
此功能也已添加到了驱动程序 lem(4)、em(4) 和 igb(4) 中。FreeBSD 12.0 中引入的 UDP 性能严重下降问题(包括基于 UDP 的 NFS)预计已通过此变更得到修复。。49f12d5b38f6(由 Rubicon Communications, LLC ("Netgate") 和 BBOX.io 赞助)
LinuxKPI(尤其是针对 802.11)的功能已增强(如 iwlwifi(4)),提高了无线驱动程序的稳定性。(由 FreeBSD 基金会赞助)
本节介绍了对物理设备、虚拟化环境和硬件的一般支持,以及不属于其他章节的硬件更新。
请查看 14.2-RELEASE 硬件支持列表以及平台页面以了解完整的支持 CPU 架构列表。
IOAPIC ID 最大值已增加至 255,修复了某些高核心数 AMD CPU 启动失败的问题。18119e711f1c(由 FreeBSD 基金会赞助)
新增对 POWER10 和 POWER11 的初步支持。f9f006df1535
现在可识别 NVMM 虚拟机管理程序。34f40baca641
在 bhyve(8) 的 VNC 服务器中使用 www/novnc 客户端时,色彩显示已修复。f9e09dc5b1d5
在 Hyper-V 环境下,现在通过超调用(hypercalls)(而非 IPI)执行 TLB 刷新,这使 TLB 性能有了至高 40% 的提升。7ece5993b787(由微软赞助)
现在,Linux 二进制兼容层所有的 stat()
及其衍生都将忽略参数 AT_NO_AUTOMOUNT
——因为该参数指定的行为已经与 FreeBSD 的行为一致,这提高了 Linux 应用程序的兼容性。99d3ce80ba07(由 FreeBSD 基金会赞助)
对音频堆栈进行了许多改进,包括支持 mixer(8) 中的热插拔功能,以及新增了工具 mididump(1)。cf9d2fb18433(由 FreeBSD 基金会赞助) 7224e9f2d4af(由 FreeBSD 基金会赞助)
本节介绍 FreeBSD Ports、软件包基础设施以及软件包管理和安装工具的更改。
FreeBSD 安装程序 bsdinstall(8) 现在能在 FreeBSD 基本系统安装完成后下载和安装固件包。03c07bdc8b31(由 FreeBSD 基金会赞助)
已将软件包 net/wifi-firmware-kmod@release 添加到 DVD 软件包中,以提供 WiFi 驱动所需固件。8c6df7ead19c(由 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 项目可能选择通过延续某些弃用平台的支持,调整这一计划。所有变更将根据社区反馈以及持续支持平台的努力来决定。
FreeBSD 是一款免费的完整源代码的 4.3(+4.4 增强)BSD 版本,适用于基于 Intel i386/i486(及兼容)架构的 PC。它基于 Bill Jolitz 的 386BSD 0.1,纳入了补丁包(patchkit)、NetBSD、计算机系统研究小组(CSRG)和自由软件基金会的改进。
自从我们发布 FreeBSD 1.0 版本以来,已经修复了数百个错误,添加了新功能,系统的整体质量地得到了无可估量的提升。FreeBSD 1.1.5 是近 18 个月的工作成果,成千上万的志愿者付出了大量的时间与精力。我们希望你喜欢这个版本!
许多软件包也得到了升级和新增,比如 XFree86 2.1、xview 3.2、elm、nntp、mh、InterViews 和其他数十个杂项工具已被移植,现在可以作为附加组件使用。有关更多详细信息,请参阅本文档的下一节。
有关贡献者的名单,请参见文件”CONTRIB.FreeBSD“和”CONTRIB.386BSD“,这些文件应该随你的发行版一同分发。
还可以查看新的文件”REGISTER.FreeBSD“,了解如何在”Free BSD user counter(FreeBSD 用户计数器)“上进行注册。我们还提供了文件”ROSTER.FreeBSD“,列出了每个人的职责(以便你可以直接向他们咨询);建议使用该文件,以确保更快地解决你可能遇到的问题!
FreeBSD 核心部分未包含 DES 代码,因此不会影响其在美国以外的出口。核心发行版附带了一款仅限美国使用的附加包,其中包含通常使用 DES 的程序。单独提供的辅助包可以供所有人使用。对于我们的非美国用户,还提供了一款可以自由(在美国以外地区)出口的欧洲版本的 DES,详细信息请参见 FreeBSD FAQ。
目前,FreeBSD 支持在多种基于 ISA、EISA 和 PCI 总线的 PC 上运行,范围从 386sx 到 Pentium 级别的机器(尽管不推荐使用 386sx)。同时,它也支持通用 IDE 和 ESDI 硬盘配置、各种 SCSI 控制器、网络卡和串口卡。
以下是目前已知的所有与 FreeBSD 兼容的磁盘控制器和以太网卡。其他配置也可能可以正常工作,只是我们目前没有收到相关的反馈。
WD1003(所有通用 MFM/RLL)
WD1007(所有通用 IDE/ESDI)
Adaptec 154x 系列 ISA SCSI 控制器(前提是内存小于 16MB)。
Adaptec 174x 系列 EISA SCSI 控制器,标准模式和增强模式。
[注意:Buslogic 曾被称为 "Bustec"]
Buslogic 545S
Buslogic 445S VLB SCSI 控制器
Buslogic 742A 和 747
Buslogic 942A PCI
请查看文件 /usr/src/KNOWNBUGS
(在 bt742a.c 部分)中的特别说明,了解有关可能存在的固件问题和未记录的开关设置,这些设置可能对你的 Bt445S 控制器的正常操作至关重要。
DTC 3290 EISA SCSI 控制器,使用 1542 模拟模式。
Ultra Store 14F 和 34F。
Seagate ST01/02 SCSI 控制器。
Future Domain 8xx/950 系列 SCSI 控制器。
对于所有支持的 SCSI 控制器,完全支持 SCSI-I 和 SCSI-II 外设,包括磁盘、磁带驱动器(包括 DAT)和 CD-ROM 驱动器。
注意:目前唯一能将 CD-ROM 驱动器接入 FreeBSD 设备的方法是通过 SCSI 控制器和 mcd 驱动程序(Mitsumi CD-ROM 接口卡)。我们不支持 SoundBlaster CD-ROM 接口和其他“mini SCSI”适配器。
某些控制器在处理超过 16MB 内存时存在局限性,因为 ISA 总线只有 24 位的 DMA 地址空间。如果你进行计算,你会发现这使得无法直接进行 DMA 操作访问任何超过 16MB 的地址。这一限制甚至在某些 EISA 控制器(通常是 32 位的)中也成立,当它们被配置为模拟 ISA 卡时,会在所有方面模仿 ISA 卡的行为。
通过 IDE 控制器(不使用 DMA)、真正的 EISA 控制器(如 UltraStor 和 Adaptec 1742A)和大多数 VLB(局部总线)控制器,可以完全避免这个问题。在必须使用 DMA 的情况下,系统将使用 "跳跃缓冲区"(bounce buffers)与控制器进行通信,这样即使内存超过 16MB,也能顺利运行。
SMC Elite 16 WD8013 以太网接口,以及其他大多数基于 WD8003E、WD8003EBT、WD8003W、WD8013W、WD8003S、WD8003SBT 和 WD8013EBT 的衍生卡。
Isolan AT 4141-0 (16 位)
Isolink 4110 (8 位)
Novell NE1000、NE2000 和 NE2100 以太网接口。
3Com 3C503 Etherlink II
3Com 3C509 以太网卡
Toshiba 以太网卡
SMC Elite Ultra
AST 4 端口串口卡,使用共享 IRQ。
ARNET 8 端口串口卡,使用共享 IRQ。
BOCA ATIO66 6 端口串口卡,使用共享 IRQ。
STB 4 端口卡,使用共享 IRQ。
Mitsumi(所有型号)CD-ROM 接口和驱动器。
Adlib、Soundblaster、Soundblaster Pro、ProAudioSpectrum、Gravis UltraSound 和 Roland MPU-401 声卡。
FreeBSD 当前 不 支持 IBM 的微通道(MCA)总线,但似乎即将支持。相关详细信息将在情况发展时发布。
你可以通过多种方式获取 FreeBSD:
你可以从 freebsd.cdrom.com
(FreeBSD 官方发布站点)通过 FTP 获取 FreeBSD 及其所有和部分可选软件包。
有关其他镜像站点,请查看文件 MIRROR.SITES
。请从离你网络最近的站点获取发行版。
如果你无法访问互联网,而电子邮件是你唯一的途径,你仍然可以通过发送邮件到 ftpmail@decwrl.dec.com
来获取文件——在邮件中输入关键字 "help",以获取有关如何从 freebsd.cdrom.com 获取文件的更多信息。
注意:这种方法将通过邮件传送大量(几十兆字节)的数据,应仅作为最后的选择!
可以通过以下途径订购 FreeBSD 1.1 的 CDROM:
或者通过互联网发送邮件至 orders@cdrom.com
。你可以通过 FTP 获取他们的最新目录,地址为 ftp.cdrom.com:/cdrom/catalog
。
价格为 $39.95。运费(每个订单,不是每张光盘)为美国、加拿大和墨西哥地区 $5,海外 $10。支持 Visa、Mastercard、American Express,并提供货到付款服务(COD)到美国。加利福尼亚州居民需额外支付 8.25% 的销售税。
如果你因任何原因对光盘不满意,可以享受无条件退货政策。
请注意,Walnut Creek CDROM 不提供 FreeBSD 的技术支持,你需要联系 FreeBSD 团队获取技术支持。有关更多信息,请参见第 4 部分。
需要指出的是,以免你产生误解,“FreeBSD”并非以盈利为目的。在“核心团队”中几乎没有人从发行版和与 FreeBSD 相关的任何事务中获利。我们仅提供这些信息,作为公共服务,帮助那些希望从网络以外的地方获取发布版的用户(而且获取我们的软件越方便,我们越高兴)。
我们非常重视你的建议、错误报告和代码贡献——如果你发现任何问题,请不要犹豫,随时向我们报告(如果可能的话,附上修复方案会更好!)。
从具备互联网邮件功能的机器上提交错误报告的首选方法是使用 sendbug
命令。错误报告将通过我们忠实的 bugfiler 程序提交,你可以放心,我们会尽最大努力尽快回复所有报告的问题。
如果由于某些原因,你无法使用 sendbug
命令提交错误报告,你可以尝试将报告发送至:
FreeBSD-bugs@freefall.cdrom.com
如果你有任何问题和建议,请发送邮件至:
FreeBSD-questions@freefall.cdrom.com
另外,由于这是一项志愿者项目,我们始终欢迎愿意提供帮助的额外力量——目前还有远远更多的增强功能需要完成,我们自己无法独立完成!如果你有技术问题和愿意提供帮助,可以通过邮件与我们联系:
FreeBSD-hackers@freefall.cdrom.com
由于这些邮件列表可能会有大量的邮件流量,如果你访问邮件较慢和邮件费用较高,并且只对 FreeBSD 重大事件感兴趣,你可能会更倾向于订阅以下列表:
FreeBSD-announce@freefall.cdrom.com
除了 FreeBSD-bugs 组外,其他所有组都可以自由加入。请发送邮件至 MajorDomo@freefall.cdrom.com,并在邮件正文中单独一行写上关键词 help
。这样你可以获得更多关于加入各个邮件列表、访问存档等的信息。
FreeBSD 代表了来自世界各地数十位,甚至数百位个人的集体努力,他们为你带来了这一版本。列举所有为 FreeBSD 做出贡献的人是非常困难的,甚至可以说是不可能的,但我们仍然会尽力列出(按字母顺序排列,当然)。如果你的名字没有被提及,请放心,这完全是疏漏所致。
计算机系统研究组 (CSRG),加利福尼亚大学伯克利分校(U.C. Berkeley)
Bill Jolitz,感谢他在 386BSD 方面的广泛工作。
FreeBSD 核心团队:
Andrew A. Chernov
John Dyson
David Greenman
Rodney W. Grimes
Jordan K. Hubbard
Scott Mace
Andrew Moore
Rich Murphey
Geoff Rehmet
Paul Richards
Andreas Schulz
Nate Williams
Garrett A. Wollman
特别感谢:
Robert Bruce 和 Jack Velte,来自 Walnut Creek CDROM,正是有了他们的帮助(以及持续的支持),这个版本才得以发布。
Dermot McDonnell,感谢他捐赠了一台 Toshiba XM3401B CD-ROM 驱动器。
NetBSD 团队,感谢他们的频繁帮助和评论。
其他 FreeBSD 帮手和 Beta 测试人员:
Gary Browing Jon Cargille
J.T. Conklin Chris Demetriou
Julian Elischer Bruce Evans
Sean Eric Fagan Guy Helmer
Jeffrey Hsu Terry Lambert
Gary Moyer Jaye Mathisen
Curt Mayer L Jonas Olsson
Chris Provenzano Dave Rivers
Guido van Rooij Steven Wallace
Rick Weldon Terry Williams
Atsushi Murai
以及 蒙大拿州立大学的所有人,感谢他们的初期支持。
感谢所有人,尤其是那些没有提到的人,我们真诚地希望你喜欢这个版本的 FreeBSD!
FreeBSD 核心团队
FreeBSD 是一款免费提供的完整源代码的 4.3 BSD(加 4.4 增强功能)版本,适用于英特尔 i386/i486(及兼容)架构的 PC。它主要基于 Bill Jolitz 的 386BSD 0.1,并结合了来自以下来源的增强功能: 补丁包(Patchkit)、NetBSD、加州大学伯克利分校计算机系统研究小组**(CSRG)和自由软件基金会(Free Software Foundation)。
在 386BSD 0.1 的分发版本中,修复了数百个漏洞,并将许多过时的软件升级到其在 GAMMA 版本中的最新发布版本。1.1 版本解决了 BETA 和 GAMMA 用户反馈的许多影响首次运行的问题。
此外,许多软件包已经移植并可作为附加组件使用,包括但不限于: XFree86 2.1、xview 3.2、elm、nntp、mh、InterViews 及其他数十种实用工具。
有关详细列表,请参阅本文档的下一部分。
有关贡献者的名单,请查看随发行版内置的文件:
CONTRIB.FreeBSD
CONTRIB.386BSD
FreeBSD 的核心不包含 DES(数据加密标准)代码,这确保了它可以出口到美国以外的地区。核心发行版中为美国用户提供了一款附加包,其中包含通常使用 DES 的程序。分开的辅助软件包可以由所有使用。
此外,还存在一款欧洲版本的 DES,可以从美国以外地区自由出口给非美国用户,相关信息可在 FreeBSD FAQ 中找到。
FreeBSD 当前可运行在多种基于 ISA 和 EISA 总线的 PC 上,支持范围从 386sx 到 486 级别的机器(但不推荐使用 386sx)。此外,它支持通用 IDE 和 ESDI 驱动器配置,以及各种 SCSI 控制器、网络和串口卡。
以下是 FreeBSD 已知兼容的磁盘控制器和以太网卡列表。其他配置可能同样可用,但尚未收到相关报告。
WD1003(所有通用 MFM/RLL 控制器)
WD1007(所有通用 IDE/ESDI 控制器)
Adaptec 154x 系列 ISA SCSI 控制器(适用于内存少于 16MB 的系统)。
Adaptec 174x 系列 EISA SCSI 控制器(支持标准模式和增强模式)。
Buslogic 系列(原名 "Bustec"):
Buslogic 545S
Buslogic 445S VLB SCSI 控制器
Buslogic 742A 和 747
注意: 有关可能存在的固件故障以及未公开的开关设置的详细信息,请参阅
/usr/src/KNOWNBUGS
中的bt742a.c
条目。
DTC 3290 EISA SCSI 控制器(在 1542 仿真模式下)。
Ultra Store 系列:
Ultra Store 14F 和 34F
Seagate ST01/02 SCSI 控制器
Future Domain 系列:
8xx/950 系列 SCSI 控制器
FreeBSD 对所有支持的 SCSI 控制器提供了全面支持,包括 SCSI-I 和 SCSI-II 外设,如磁盘、磁带驱动器(包括 DAT)和 CD-ROM 驱动器。
注意: Mitsumi CDROM 接口卡(
mcd
驱动)是当前唯一支持 CD-ROM 驱动器的方式。FreeBSD 不支持 SoundBlaster CDROM 接口和其他“mini SCSI”适配器。
某些控制器在处理超过 16MB 内存时存在局限性,这是因为 ISA 总线的 DMA 地址空间仅有 24 位。如果你计算一下,就会发现这使得直接 DMA(直接内存访问)无法访问超过 16MB 的地址。即使是一些 EISA 控制器(通常是 32 位的)在配置为模拟 ISA 卡时,也会完全遵循 ISA 的限制。
此类问题可以通过以下方式完全规避:使用 IDE 控制器(不依赖 DMA)、原生 EISA 控制器(如 UltraStor 和 Adaptec 1742A),以及大多数 VLB(局部总线)控制器。在这些情况下,系统会使用“回弹缓冲区”(bounce buffers)与控制器通信,这通常是默认配置。
SMC Elite 16 WD8013 以太网接口,以及大多数基于以下型号的变种卡:
WD8003E, WD8003EBT, WD8003W, WD8013W, WD8003S, WD8003SBT, WD8013EBT
Isolan AT 4141-0(16 位)
Isolink 4110(8 位)
Novell 系列:NE1000、NE2000 和 NE2100 以太网接口
3Com 3C503 Etherlink II
3Com 3C509 以太网卡
Toshiba 东芝以太网卡
SMC Elite Ultra
AST 4 端口串口卡(使用共享 IRQ)
ARNET 8 端口串口卡(使用共享 IRQ)
BOCA ATIO66 6 端口串口卡(使用共享 IRQ)
STB 4 端口卡(使用共享 IRQ)
Mitsumi(所有型号)CDROM 接口和驱动器
声卡支持:
Adlib
SoundBlaster
SoundBlaster Pro
ProAudioSpectrum
Gravis UltraSound
Roland MPU-401
注意: FreeBSD 当前 不支持 IBM 的微通道(MCA)总线,但相关支持似乎即将完成。开发进展会随时发布详细信息。
你可以通过多种方式获取 FreeBSD:
你可以从官方 FreeBSD 发布站点 freebsd.cdrom.com
使用 FTP 下载 FreeBSD 及其所有可选软件包。
可在文件 MIRROR.SITES
中找到其他 FreeBSD 镜像站点的信息。请优先选择离你网络最近的镜像站点进行下载。
如果你无法访问互联网,并且只能通过电子邮件获取文件,可以发送邮件至 ftpmail@decwrl.dec.com
,并在邮件中包含关键词 "help" 以获取有关如何从 freebsd.cdrom.com
获取文件的说明。
注意: 通过这种方式下载可能会产生几十兆字节的邮件流量,应仅在其他方式无法实现时才使用此方法作为最后手段!
你可以通过以下方式订购 FreeBSD CD-ROM:
或者通过互联网联系 orders@cdrom.com 订购。可以通过 FTP 获取他们的最新目录,地址为:ftp.cdrom.com:/cdrom/catalog
。
费用为 39.95 美元。运费(按订单计算,而非按光盘数量)为:
美国、加拿大或墨西哥地区:5 美元
海外:10 美元
他们接受 Visa、Mastercard 和 American Express 支付,并支持美国地区货到付款(COD)。加利福尼亚州居民需额外支付 8.25% 的销售税。
如果你对产品有任何不满,CD 支持 无条件退货政策。
请注意:Walnut Creek CDROM 不提供 FreeBSD 的技术支持。有关技术支持,请联系 FreeBSD 团队。详情请参阅第 4 节。
FreeBSD 团队希望强调,"FreeBSD" 始终是一款免费软件。核心团队几乎没有人通过 FreeBSD 的发行版及相关活动获利。提供此信息仅作为公共服务,为希望通过网络以外的方式获取软件的用户提供帮助。
我们的目标是让你更容易获得 FreeBSD 软件,这让我们感到非常高兴。
我们非常重视你的建议、问题报告和代码贡献——请随时报告你发现的任何问题(如果可能,请附上修复方案)。
如果你的计算机具备互联网邮件连接功能,提交问题报告的首选方法是使用命令 sendbug
。通过该命令提交的报告会由我们的忠实程序 bugfiler 归档,你可以放心,我们会尽力尽快回复所有报告的问题。
如果由于某些原因无法使用 sendbug
命令,你可以尝试将问题发送至:
如有任何问题或建议,请发送邮件至:
作为一项志愿者努力的项目,我们非常欢迎额外的帮助之手!目前需要改进的地方远远超出了我们团队的能力范围。
如需就技术问题联系或提供帮助建议,请发送邮件至:
由于这些邮件列表的流量可能较大,如果你的邮件访问速度较慢或费用较高,且你只对 FreeBSD 的重要动态感兴趣,可以选择订阅:
除 FreeBSD-bugs 外,其他邮件列表均可自由加入。发送邮件至 MajorDomo@freefall.cdrom.com
,在邮件正文的某行输入关键词 help
即可获得关于加入列表、访问存档等更多信息。
FreeBSD 的成功凝聚了来自全球数十人甚至数百人的辛勤努力,他们为该版本的发布做出了卓越的贡献。要完整列举所有对 FreeBSD 有贡献的人几乎是不可能的,但我们仍然会尽力尝试(按字母顺序排列)。如果你的名字未被提及,请相信这完全是无心的疏漏。
为操作系统领域的贡献提供了基础支持。
感谢他为 386BSD 所做的大量工作。
Andrew A. Chernov
John Dyson
David Greenman
Rodney W. Grimes
Jordan K. Hubbard
Scott Mace
Andrew Moore
Rich Murphey
Geoff Rehmet
Paul Richards
Andreas Schulz
Nate Williams
Garrett A. Wollman
Robert Bruce 和 Jack Velte(来自 Walnut Creek CDROM)
没有他们的帮助和持续支持,这次发布根本无法实现。
Dermot McDonnell
捐赠了 Toshiba XM3401B CDROM 驱动器。
NetBSD 团队
频繁提供了宝贵的帮助和建议。
Gary Browing
Jon Cargille
J.T. Conklin
Chris Demetriou
Julian Elischer
Bruce Evans
Sean Eric Fagan
Guy Helmer
Jeffrey Hsu
Terry Lambert
Gary Moyer
Jaye Mathisen
Curt Mayer
L Jonas Olsson
Chris Provenzano
Dave Rivers
Guido van Rooij
Steven Wallace
Rick Weldon
Terry Williams
感谢他们最初提供的支持。
感谢所有人,特别是未被提及的人,我们真诚地希望你享受这个 FreeBSD 版本的发布!
来自 jkh@whisker.hubbard.ie 的邮件,日期为 1994 年 7 月 8 日,16:09:47:
路径:sran230.sra.co.jp!sranhd.sra.co.jp!sranha.sra.co.jp!news.iij.ad.jp!wnoc-tyo-news!news.u-tokyo.ac.jp!sinetnews!daffy!uwvax!uwm.edu!math.ohio-state.edu!howland.reston.ans.net!agate!agate!usenet
发件人:jkh@whisker.hubbard.ie (Jordan Hubbard)
新闻组:comp.os.386bsd.announce
主题:[FreeBSD] 现可从 gatekeeper.dec.com 获取 FreeBSD 1.1.5.1
回复对象:poster
日期:1994 年 7 月 5 日 10:06:53 -0700
组织:Jordan Hubbard
正文行数:19
发件人:cgd@agate.berkeley.edu
批准:386bsd-announce-request@agate.berkeley.edu
消息 ID:
回复邮箱:freebsd-hackers@freefall.cdrom.com
NNTP-发布主机:agate.berkeley.edu
这是份实用版本,主要针对尚未升级到 FreeBSD 1.1.5R 的用户。它修复了发布过程中几个琐碎但恼人的问题(但不涉及源代码本身)。
文件位置:gatekeeper.dec.com:~ftp/pub/BSD/FreeBSD/FreeBSD-1.1.5.1-RELEASE
已经升级到 1.1.5R 的用户应阅读文件 WHATS_NEW-1.1.5.1
,以了解如何将系统更新到 1.1.5.1R(步骤非常简单,别担心)。
谢谢!
Jordan
Jordan K. Hubbard FreeBSD 核心团队 Friend to mollusks
--
请将对 comp.os.386bsd.announce 的投稿发送到: 386bsd-announce@agate.berkeley.edu
来自 jkh@whisker.hubbard.ie 的邮件,日期为 1994 年 7 月 10 日,16:23:15:
路径:sran230.sra.co.jp!sranhd.sra.co.jp!sranha.sra.co.jp!news.iij.ad.jp!wnoc-tyo-news!news.u-tokyo.ac.jp!sinetnews!daffy!uwvax!uwm.edu!math.ohio-state.edu!howland.reston.ans.net!agate!agate!usenet
发件人:jkh@whisker.hubbard.ie (Jordan Hubbard)
新闻组:comp.os.386bsd.announce
主题:[FreeBSD] FreeBSD 1.1.5.1 现已可以从 gatekeeper.dec.com 获取
回复对象:poster
日期:1994 年 7 月 5 日 10:06:53 -0700
组织:Jordan Hubbard
正文行数:19
发件人:cgd@agate.berkeley.edu
批准:386bsd-announce-request@agate.berkeley.edu
回复邮箱:freebsd-hackers@freefall.cdrom.com
NNTP-发布主机:agate.berkeley.edu
这是份实用版本,主要面向尚未升级到 FreeBSD 1.1.5R 的用户。它修复了发布过程中几个琐碎但恼人的问题(但不涉及源代码本身)。
文件位置:gatekeeper.dec.com:~ftp/pub/BSD/FreeBSD/FreeBSD-1.1.5.1-RELEASE
已经升级到 1.1.5R 的用户应阅读文件 WHATS_NEW-1.1.5.1
,以了解如何将系统更新到 1.1.5.1R(步骤非常简单,别担心)。
谢谢!
Jordan
Jordan K. Hubbard FreeBSD 核心团队 Friend to mollusks
请将对 comp.os.386bsd.announce 的投稿发送到: 386bsd-announce@agate.berkeley.edu
原文地址:
FreeBSD 14.1-RELEASE 发行说明概述了由 14-STABLE 开发线衍生的 FreeBSD 基本系统之变更。本文列出了自上次发行以来针对 RELEASE 的安全公告,以及 FreeBSD 内核和用户空间发生的重大变更。还概述了某些升级注意事宜。
本文档是 FreeBSD 14.1-RELEASE 的发行说明。它说明了最近增加、更改、删除的 FreeBSD 特性。还包含了一些旧版本升级的相关注意事项。
这些发行说明适用于“RELEASE”发行版,代表了自 14-STABLE 分支创建以来的最新状态。有关基于此分支的预构建二进制“RELEASE”的发行信息,请访问 。
这些发行说明适用于“RELEASE”发行版本,代表了 14-STABLE 开发分支中的一个节点,位于 14.0-RELEASE 和后续的 14.2-RELEASE 之间。有关基于此分支的预构建二进制“RELEASE”的发行信息,请访问 。
该 FreeBSD 14.1-RELEASE 版本是个“RELEASE”版本。可以在 和镜像站中找到它。更多有关下载该(及其他)FreeBSD“RELEASE”版本的信息,请参阅 的。
在安装 FreeBSD 前,建议所有用户都看一下发行勘误。勘误文档会在发行周期后期,随发行后发现的“最新”信息进行更新。通常涉及勘误、安全公告和文档更正的相关信息。可在 FreeBSD 网站上找到 FreeBSD 14.1-RELEASE 的最新勘误信息。
本文档说明了自 14.0-RELEASE 以降,在 FreeBSD 中最具用户可见性的新特性和更改。一般来说,除非其明确标记为 MERGED 特性,否则此处所述的更改独立于 14-STABLE 分支。
标准的发行说明项目记载了在 14.0-RELEASE 后发行的最新安全公告,新的驱动程序和硬件支持,新的命令(选项),重大错误修复(含第三方)的软件升级。可能还列出了对主要软件(包)和发行工程实践的更改。显然,发行说明无法枚举在不同版本之间对 FreeBSD 所做的所有更改;该文档主要关注安全公告,用户可见的更改及重大架构改进。
RELEASE 版本(以及各种安全分支的快照)使用工具 进行二进制升级。请参阅特定于版本的升级过程——,在 中有更多详情。可更新未修改的用户空间工具,以及随 FreeBSD 官方发行版发行的未修改的 GENERIC 内核。 工具要求升级的主机拥有互联网连接。
据 /usr/src/UPDATING 所述,还可通过源代码来升级:重新编译 FreeBSD 基本系统的源代码。
仅在备份所有数据和配置文件后,才能进行 FreeBSD 升级。
此部分列出了自 14.0-RELEASE 以降的所有安全公告和勘误通知。
此部分涉及了对用户空间工具、第三方软件和系统工具的更改和增补。
本节涉及了对云端的更改。
本节涉及了对内核配置、系统调优和系统控制参数的更改,这些更改未分类。
本节内容涉及自 14.0-RELEASE 以降的设备和设备驱动程序的更改和增加。
此部分涉及了对文件系统和其他存储子系统(包括本地和网络存储)的更改和增补。
本节涉及了引导加载程序、引导菜单和其他与引导相关的更改。
本节概述了影响 FreeBSD 网络的变更。
本节涉及了物理机、虚拟化环境的一般硬件支持,以及不兼容于本文档其他部分的硬件更改和更新。
预计 FreeBSD 15.0 不会支持除 armv7 以外的 32 位平台。 armv6、i386 和 powerpc 平台已被弃用并将被移除。 64 位系统仍可运行旧款 32 位二进制文件。
预计我们将在 FreeBSD 15.0 及 stable/15 中,把 armv7 作为第二级架构。然而,我们也预计可能会在 FreeBSD 16.0 中移除 armv7。我们将在发行 15.0 时提供 armv7 在 15.x 和 16.x 中状态的相关更新。
对于在 64 位平台上执行 32 位二进制文件的支持(参数 COMPAT_FREEBSD32)将至少在稳定/15 和稳定/16 分支上延续。至少在稳定/15 分支上,还将继续支持使用 cc -m32
编译单个 32 位应用程序,其中包括 /usr/include
中的相应头文件和 /usr/lib32
中的库。
对于 FreeBSD 15.0 及后续版本,Ports 将不再支持已废弃的 32 位平台。这些后续版本将不再支持已废弃的 32 位平台上的二进制软件包、ports 构建软件包。
FreeBSD stable/14 和更早版本分支将保留对现有的 32 位内核和系统支持。只要这些分支仍受 ports 系统支持,Ports 将保留对在 stable/14 和早期版本分支上构建 ports 和软件包的支持。但是,所有 32 位平台都是二级、三级,应该预期:个别的 ports 支持将随着上游废弃 32 位平台而降级。
根据当前的生命周期,stable/14 将在 FreeBSD 14.0-RELEASE 发行 5 年后结束生命周期(EOL)。stable/14 的生命周期终点标志着对包括源代码发行、预构建软件包以及从 ports 构建应用程序的弃用 32 位平台的支持结束。随着 2023 年 11 月 14.0-RELEASE 的发行,对已弃用的 32 位平台支持将在 2028 年 11 月结束。
FreeBSD 项目可能会在 FreeBSD 15.0 发行时改变这种方法,在 15.0(或更高版本)中延长对一个(或多个)要废弃平台的支持。任何改变都将根据社区的反馈和支持这些平台的努力来决定。使用 FreeBSD 14.0-RELEASE 和后续的次发行版本,或 stable/14 分支,来迁移 32 位平台。
在执行 setuid 二进制文件时未正确分离
通过 TPM 设备直通导致的特权用户逃逸
CAM 目标层的多个问题
通过 USB 控制器直通导致的特权用户逃逸
XHCI 仿真中越界读取访问
CAM 目标层中的不受限制分配
参数的证书吊销列表功能失效
/ 会话登录
消息ID:
新增变量 kdc_restart
,能用来管理 daemon(8) 下的 (krb5kdc
)。在 中,设置 kdc_restart="YES"
:能自动重启 kdc,来解决其异常停止问题。kdc_restart_delay="N"
可设定在重启 kdc 前的延迟(秒)。
在默认情況下,电子邮件中由工具 展现变更信息,为了减少输出大小,通过 daily 脚本比以前的上下文输出要少。此行为由 中的变量 daily_diff_flags
所控制。同样地,安全脚本显示的更改亦比以前少,由 中的变量 security_status_diff_flags
控制。, ,
由 调用的工具 ,现在会在 ZFS 数据集上的父目录上,为新用户的家目录创建一个 ZFS 数据集。命令行参数可禁用此独立数据集。亦支持 ZFS 加密。
工具 已支持纳秒。如: date -Ins
打印为 "2024-04-22T12:20:28,763742224+02:00", date +%N
打印为 "415050400"。
工具 已支持使用 生成机器可读的输出格式:JSON、XML 和 HTML。 (由英国研究与创新机构(UKRI)赞助)
工具 已支持精度到秒的显示时间戳。 (由 DSS Gmbh 赞助)
工具 已支持任一字节序的 hints 文件。默认格式是主机的本地字节序。
OpenSSH 已升级至版本 9.7p1。完整的发行说明请参见 和 。, (由 FreeBSD 基金会赞助)
工具 已支持:在可用时,从 /usr/share/misc/usb_vendors
读取 usb 的 vendor 和 products 描述,类似于 相关行为。
One True Awk()已更新至第二版,新增了 -csv
和 UTF-8 支持。
Clang/LLVM 已升级至版本 18.1.5。
库已升级至版本 3.7.4。
套件 sendmail(8) 已升级至版本 8.18.1,修复了漏洞 CVE-2023-51765。
解析器 已升级至版本 1.20.0,并修复了 “DNSBomb” 漏洞(CVE-2024-33655)。
libutil
中的 例程可依据一定的条件从家目录下的 .login.conf
文件以及系统 设置进程优先级(nice)。优先级可以赋值 inherit
,意味着优先级会保持与父进程相同。umask 亦可以赋值 inherit
。, , 8(由 Kumacom SAS 赞助)
在 amd64 设备支持时,C 库中的许多字符串和内存操作,都能用 SIMD(单指令多数据)进行扩展以提高性能;请参阅 。(由 FreeBSD 基金会赞助)
对于受支持的平台, 库中的 128 位 tgammal
函数实现已有更优实现。
14.1-RELEASE 已支持 cloudinit,可支持启动脚本 nuageinit
,对 config-drive
的分区支持。能兼容 OpenStack 和许多托管设施。请参阅 网站和提交信息, 。(由 OVHCloud 赞助)
powerpc 已实现例程 fpu_kern_enter
和 fpu_kern_leave
,能在使用浮点和矢量寄存器的内核中调用加密函数 。
Intel E800 系列( 以太网网络控制器)已有驱动程序,可支持 100 Gb/s 速率。该驱动程序已升级至版本 1.39.13-k. (由英特尔公司赞助)。
英特尔 WiFi 设备的 驱动程序已进行了许多稳定性改进。(由 FreeBSD 基金会赞助)
现在在 amd64 和 i386 上支持多个 PCI MCFG 区域,允许对除 0 之外的域(段)进行 PCI 配置空间访问。
以太网驱动程序 能获取某些树莓派型号传递的 smsc95xx.macaddr
值,并将其用于 MAC 地址。即使在 EEPROM 中没有 MAC 地址,它也将始终使用固定的 MAC 地址。
声音子系统已移除 snd_clone
框架(及相关 sysctl)。简化了系统:不再创建单个通道节点(/dev/dspX.Y
),仅创建主设备(/dev/dspX
)。(由 FreeBSD 基金会赞助)
音频已支持异步设备分离(asynchronous device detach)。这极大地简化了诸如 USB 耳机之类的热插拔行为,且在操作系统需要休眠和唤醒(休眠和恢复)时,使用 PulseAudio 会更为轻松。(由 FreeBSD 基金会赞助)
修改了 ) 服务器,以便使用 ) 来解码 文件中的目录名。故现可在目录名中使用特殊字符(如空格)。可使用 vis -M
对此类目录名进行编码;请参阅 。
新添加的 变量为 kern.rpc.unenc
和 kern.rpc.tls
,能让 NFS 服务器管理员获取 NFS-over-TLS 运行时的使用数据。大量的失败握手可能意味着 NFS 配置有问题。
在使用 创建 UFS 文件系统时,已默认启用软更新。
OpenZFS 已升级至版本 2.2.4.
现在 会在读取其他配置文件后,读取变量 local_loader_conf_files
中列出的本地配置文件, 默认为 /boot/loader.conf.local
。
现在可以配置 ,以便根据 SMBIOS 中的变量 planar maker、planar product、system product 和 uboot m_product 读取特定的配置文件。目前,最好的文档是 git 提交信息,。
对于 EFI 设备, 中的控制台检测得到了改进。如果没有变量 ConOut,会检查变量 ConIn。如果找到多个设备,则首选串行。(由 Netflix 赞助)
中的帧缓冲区现在支持使用仅文本的视频驱动程序,从而节省空间。(由 Netflix 赞助)
arm64 设备上的 ,会更早地完成 ACPI 检测。对于基于 ACPI 的 arm64 设备,应更新 EFI 分区上的 loader.efi
文件。
引导加载程序 LinuxBoot 可用于从 Linux 引导 FreeBSD。(aarch64、amd64),(由 Netflix 赞助)
ARP()已恢复对 802 标准网络的支持;它曾在 FDDI 支持中被意外移除(以太网标准封装不同)。
支持构建仅 IPv6 支持(INET6),无 IPv4 支持(INET)的内核。 和其他
netgraph 模块 ng_ipfw(4) 不再将 cookie 截断为 16 位,可使用完整的 32 位。
请查看 14.1-RELEASE,以及受支持的 CPU 。
本节涉及了与基本系统一起提供的手册()页和其他文档的更改。
新的手册页 包含了连接系统到网络(含 WiFi)的快速入门指南,并链接到了其他手册页和手册。
最后修改于:2024 年 6 月 4 日,作者
无公告。
无通知。