FreeBSD 11.2-RELEASE 发行说明(2018 年 6 月 28 日)

摘要

FreeBSD 11.2-RELEASE 的发行说明包含了 11.2-STABLE 开发分支中对 FreeBSD 基本系统所做的变更摘要。本文档列出了自上次发布以来发布的相关安全公告,以及对 FreeBSD 内核和用户空间的重大变更。同时还简要说明了升级的相关事项。

介绍

本文档包含 FreeBSD 11.2-RELEASE 的发行说明,介绍了 FreeBSD 最近新增、变更或移除的功能,并提供了从以前版本的 FreeBSD 升级的一些说明。

FreeBSD 11.2-RELEASE 是个 RELEASE 版本,可通过 https://www.FreeBSD.org/releases/ 或其镜像站点获取。有关获取此版本(或其他版本)的更多信息,请参阅 FreeBSD 手册中的 “获取 FreeBSD”附录

在安装 FreeBSD 之前,建议所有用户查阅发行勘误文档。该文档会更新在发行周期后期或发布后发现的“最新”信息。通常,它包括已知问题、安全公告和文档更正。可在 FreeBSD 官方网站找到有关 FreeBSD 11.2-RELEASE 的最新勘误文档。

本文档介绍了自 11.1-RELEASE 发布以来 FreeBSD 中对用户最为显著的新功能或变更。通常,本文描述的变更仅适用于 11.2-STABLE 分支,除非特别标注为已合并(MERGED)的功能。

典型的发行说明内容包括:在 11.1-RELEASE 发布后发布的最新安全公告、新的驱动程序或硬件支持、新的命令或选项、重大错误修复或捐赠的软件更新。此外,还可能列出主要 Port/包或发布工程实践的变更。显然,发行说明无法涉及 FreeBSD 在不同版本之间进行的每个变更;本文档主要关注安全公告、用户可见的变更和重要的体系结构改进。

从旧版 FreeBSD 升级

[amd64,i386] 使用 freebsd-update(8) 工具支持 RELEASE 版本(以及各种安全分支快照)之间的二进制升级。二进制升级过程将更新未修改的用户空间工具和作为官方 FreeBSD 发行版一部分分发的未修改 GENERIC 内核。freebsd-update(8) 工具要求待升级的主机具有互联网连接。

基于源码的升级(通过重新编译 FreeBSD 基本系统的源码进行升级)从早期版本开始得到支持,可按照 /usr/src/UPDATING 文件中的说明操作。

重要

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

安全性与勘误

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

安全公告

公告名称
日期
主题

2017 年 8 月 10 日

拒绝服务漏洞

2017 年 10 月 16 日

WPA2 协议漏洞

2017 年 11 月 15 日

通过 ptrace(PT_LWPINFO) 的内核数据泄漏

2017 年 11 月 15 日

信息泄漏

2017 年 11 月 29 日

多个漏洞

2017 年 12 月 9 日

多个漏洞

2018 年 3 月 7 日

修复 IPSEC 验证及释放后使用(use-after-free)漏洞

2018 年 3 月 7 日

多个漏洞

2018 年 3 月 14 日

推测执行漏洞 注意:此公告解决了 FreeBSD 11.x 在 amd64 CPU 上的最严重问题。预计将更新该公告以包括 i386 和其他 CPU 的信息。

2018 年 4 月 4 日

2018 年 4 月 4 日

修复拒绝服务漏洞

2018 年 5 月 8 日

错误处理 x86 调试异常

2018 年 6 月 21 日

修复懒惰 FPU 信息泄漏

勘误通知

勘误编号
日期
主题

2017 年 8 月 10 日

异步 I/O 导致 VNET 内核崩溃

2017 年 8 月 10 日

2017 年 11 月 2 日

更新时区数据库信息

2018 年 3 月 7 日

更新时区数据库信息

2018 年 3 月 7 日

基于栈的缓冲区溢出

2018 年 4 月 4 日

更新时区数据库信息

2018 年 4 月 4 日

多个小型内核内存泄漏

2018 年 5 月 8 日

多个小型内核内存泄漏

2018 年 5 月 8 日

更新时区数据库信息

用户空间

本节涉及用户空间应用程序、第三方软件和系统工具的变更与新增功能。

用户空间应用程序变更

ln(1) 实用工具已更新,修正了 -F 参数的行为,现在在创建符号链接前会先取消链接已存在的目录。(r321092)

crontab(1) 实用工具新增 -f 参数,用于在非交互模式下使用 -r 强制移除 crontab(5)(r321241)

newsyslog(8) 实用工具已更新,在轮转系统日志时支持符合 RFC5424 的消息格式。(r321262)

sesutil(8) 实用工具已更新,增加了 libxo(3) 的输出支持。(r321287)(由 Gandi.net 赞助)

diskinfo(8) 实用工具新增了两个参数:-s 显示磁盘标识(通常为序列号),-p 显示存储控制器中磁盘的物理路径。这两个参数互斥,且不能与其他参数同时使用。(r321927)

diskinfo(8) 工具还更新了 -s 参数的功能,现在能显示设备型号。(r321929)

top(1) 工具已更新,现在在使用 -U 参数时允许对多个用户名进行过滤。(r322509)

bsdgrep(1) 工具新增硬链接 rgrep,当使用时相当于 grep -r(r322525)

bsdgrep(1) 工具已更新,解决了多种模式匹配行为的问题。(r322555)

umount(8) 工具新增 -N 参数,用于强制卸载 NFS 挂载的文件系统。(r322910)

pw(8) 工具已更新,现在在使用子命令 usermod 时,-G 参数能正确处理为空的次要组列表。(r322919)

getconf(1) 工具新增 -a 参数,可将所有系统或路径配置值的名称和值输出到 stdout(4),或通过 -a 参数指定的文件。(r324124)(由 Chelsio Communications 赞助)

ps(1) 工具已更新,支持在状态参数中反映实时和空闲优先级。(r324270)

ps(1) 工具已更新,能够显示进程是否在 capsicum(4) 能力模式下运行,用 C 表示。(r324271)

cpucontrol(8) 工具新增了 -n 参数,使用该参数可以禁用默认的微代码更新搜索路径。(r324380)

fsck_ffs(8) 工具已更新,当仅更新超级块中的时间戳时,将不再报告文件系统已被修改。(r324674)

diskinfo(8) 工具已更新,可显示磁盘的旋转速率及磁盘是否支持 TRIM/UNMAP。(r325003) (由 Spectra Logic 赞助)

rsh(1) 工具新增了 -N 参数,使用该参数可在禁用套接字发送路径时避免关闭连接。(r325473)

pfctl(8) 工具已更新,route-to 现可正确处理具有多个 IP 地址的网络接口。(r326413)

camcontrol(8) 工具新增了 ZAC(Zoned-device ATA 命令集)信息,当使用 identify 子命令时可显示相关信息。(r326778) (由 Spectra Logic 赞助)

pw(8) 工具已修正对账户过期时间的处理。(r326848)

mdmfs(8) 工具已更新,支持 tmpfs(5)(r327592)

lint(1) 工具默认不再被构建。新增 src.conf(5) 选项 WITH_LINT,可启用该工具的构建和安装。(r327837)

cpucontrol(8) 工具新增了 -e 参数,用于在应用固件更新后重新评估报告的 CPU 特性。(r327871)

注意

在系统中所有 CPU 完成微代码更新后才应使用 cpucontrol(8)-e 参数,否则如果处理器特性在系统中不一致,可能会导致系统不稳定。

indent(1) 工具已更新,如果设置了环境变量 SIMPLE_BACKUP_SUFFIX,将会尊重该变量。(r328138)

du(1) 工具新增了长选项 --si,用于以 1000 的幂显示“人类可读”的输出。(r328139)

df(1) 工具新增了长选项 --si,该选项是 -H 的别名。(r328140)

service(8) 工具新增了 -j 参数,用于与运行在 jail(8) 中的服务交互。-j 的参数可以是 jail 的名称或其数值 ID。(r328599)

fsck_ffs(8) 工具已更新,当文件系统未被修复时,将以非零状态退出。(r328604) (由 Dell EMC 赞助)

nvmecontrol(8) 工具已更新,打印 SMART 数据时将显示完整的 128 位值,而非十六进制值。(r328668)

nvmecontrol(8) 工具新增了对 Western Digital HGST 驱动器的控制选项,包括 cap-diagget-crash-dumpdrive-logpurgepurge-monitor(r328716)

dhclient(8) 工具已更新,使其更符合 RFC2131 标准。当发送 DHCPREQUEST 消息以尝试获取先前分配的 IP 地址时,会将 IP 报文头中的源地址字段设置为 0(r330692)(由 Dell EMC 赞助)

pw(8) 工具已更新,允许在 GECOS 字段中使用 @! 字符。(r330694)(由 Dell EMC 赞助)

zfsd(8) 工具已更新,可与任何类型的 GEOM 提供者协同工作,包括 md(4)geli(8)glabel(8)gstripe(8)(r330733)(由 Spectra Logic 赞助)

ps(1) 工具新增了 jail 关键字,用于显示 jail(8) 的名称,而非其数值 ID。(r331471)

新增 mlx5tool(8) 工具,用于管理 mlx5io(4) 支持的 Connect-X 4 和 Connect-X 5 设备。(r331586)(由 Mellanox Technologies 赞助)

sysctl(8) 工具已更新,支持向节点设置一个值数组。在此更新之前,sysctl(8) 只能向可能返回多个值的节点设置一个值。(r331603)(由 Chelsio Communications 赞助)

ifconfig(8) 工具新增了 random 选项,与 ether 选项一起使用时,可为接口生成随机 MAC 地址。(r331729)

新增 efibootmgr(8) 工具,用于操作 EFI 引导管理器。(r332126)(由奈飞赞助)

新增 etdump(1) 工具,用于查看 El Torito 引导目录信息。(r332947)

mount(8) 工具已更新,在尝试将写保护介质挂载为可写失败后,允许回退为只读挂载。该行为默认禁用,可通过新增的 autoro 选项启用。(r322753)

makefs(8) 工具已更新,其默认块和碎片大小已调整为与 newfs(8) 工具一致,分别为 32K 和 4K。(r332460)(由 FreeBSD 基金会赞助)

pwd_mkdb(8) 工具已更新,当使用 -l 参数时会提示旧数据库支持将在 FreeBSD 12 中移除。(r332929)(由 FreeBSD 基金会赞助)

dhclient(8) 工具已更新,能通过 dhclient.conf(5) 中的条目 supersede 覆盖 interface-mtu 选项。(r334789)

第三方的软件

libarchive(3) 库已更新至版本 3.3.2。(r321303)

Subversion 已更新至版本 1.9.7。(r322442)

dtc(1) 工具已更新至上游提交版本 9ce35ff8。(r328495)

file(1) 工具已更新至版本 5.32。(r328874)

OpenSSH 已更新至版本 7.5p1。(r323136)

mandoc(1) 工具已更新至版本 1.14.3。(r324581)

tcpdump(1) 工具已更新至版本 4.9.2。(r327234)

NTP 工具已更新至版本 4.2.8p11。(r330106)

less(1) 工具已更新至上游版本 v530。(r330570)

bmake 工具已更新至上游版本 20180222。(r331246)

BSD 许可的 diff(1) 工具从 OpenBSD 引入,如果在 src.conf(5) 中设置了 WITHOUT_GNU_DIFF,该工具会被安装;默认情况下不会安装。(r331465)

OpenSSL 已更新至版本 1.0.2o。(r331638)

clang、llvm、lld、lldb 和 compiler-rt 工具以及 libc++ 已更新至上游版本 6.0.0。(r331838)

时区数据文件已更新至版本 2018e。(r333312)

libxo(3) 库已更新至版本 0.9.0。(r334458)

安装和配置工具

[arm64] bsdinstall(8) 安装程序已更新为默认仅支持 UEFI 引导。(r322254)(由 FreeBSD 基金会赞助)

内核

本节涉及对内核配置、系统调优和系统控制参数的变更,这些变更未归类到其他类别中。

内核常规变更

linux(4) ABI 兼容层已更新,新增对 musl 用户的支持。(r321007)

fdescfs(5) 文件系统已更新,支持符合 Linux 特定行为的 fd(4) /dev/fd/proc/self/fd(r322340)

新增对多个实时时钟的支持。(r323447)

内核错误修复

ng_iface(4) 驱动程序已更新,防止可能导致系统崩溃的问题。(r324175)

ipfw(4) 包过滤器已更新,可以区分第 2 层和第 3 层的数据包,从而修复 dummynet(4) AQM 包标记问题。(r325730)

修复了导致英特尔® Apollo Lake™ CPU 引导问题的错误。(r333166)

内核配置

watchdog(4) 功能已更新,使 SW_WATCHDOG 支持动态配置,从而在无硬件看门狗时启用软件 watchdogd(8) 选项。(r327920)

系统调优与控制

sysctl(8) p1003_1b.aio_listio_max 已变更为运行时可配置的调优参数。(r326322)(由 Spectra Logic 赞助)

设备和驱动程序

本节涉及自 11.1-RELEASE 以来对设备及设备驱动程序的变更与新增内容。

设备驱动程序

cxgbe(4) 驱动已更新至固件版本 1.16.63.0,支持 T4、T5 和 T6 网络适配器。(r330307)(由 Chelsio Communications 赞助)

ng_pppoe(4) 驱动已更新,新增对用户提供的 Host-Uniq 标签的支持。(r331058)

新增对 TAIO USB 多协议适配器 (TUMPA) 的支持。(r331500)

新增 mlx5io(4) 驱动,为 Connect-X 4 和 Connect-X 5 网络适配器提供管理接口。(r331586)(由 Mellanox Technologies 赞助)

cm(4)fpa(4) 驱动已被标记为弃用,并将在 FreeBSD 12 中移除。(r331882)(由美国国防高级研究计划局和美国空军研究实验室赞助)

新增 ocs_fc(4) 驱动,支持 Emulex 16/8G FC GEN 5 HBAs LPe15004 和 LPe160XX,以及 Emulex 32/16G FC GEN 6 HBAs LPe3100X 和 LPe3200X。(r332040)(由 Broadcom Limited 赞助)

ixgb(4) 驱动已被标记为弃用,并将在 FreeBSD 12 中移除。(r333171)

ixl(4) 驱动已更新至版本 1.9.9-k。(r333343)(由英特尔公司赞助)

nxge(4) 驱动已被标记为弃用,并将在 FreeBSD 12 中移除。(r333367)

lmc(4) 驱动已被标记为弃用,并将在 FreeBSD 12 中移除。(r333412)(由 FreeBSD Foundation 赞助)

新增 smartpqi(4) 驱动,支持 Microsemi SCSI 控制器。(r333417)

vxge(4) 驱动已被标记为弃用,并将在 FreeBSD 12 中移除。(r333738)

硬件支持

本节涉及对物理设备、虚拟机管理程序和虚拟化环境的一般硬件支持,以及其他不属于本文档其他部分的硬件变更和更新。

虚拟化支持

bhyve(4) 新增了对 virtio_console(4) 的支持。(r321413)

存储

本节涉及对文件系统及其他本地和网络存储子系统的变更与新增。

geom(4)

geom(4)geom_aesgeom_bsdgeom_mbrgeom_sunlabel 已被标记为弃用。这些类已在 FreeBSD 7 中被 geom_part 类替代,并在 FreeBSD 8 中从 GENERIC 内核配置中移除,将在 FreeBSD 12 中被彻底移除。(r332519)

引导加载程序变更

本节涉及引导加载程序、引导菜单及其他与引导相关的变更。

引导加载程序变更

引导代码和 loader(8) 已更新,以检查不支持的 ZFS 功能参数。如果激活了不受支持的功能,则该池不会被视为可引导池,并且会在控制台上打印诊断消息。(r321519)

loader(8) 已更新以改进引号解析,现在能够区分单引号和双引号,并检查引号是否闭合。(r329010)

在引导使用加密磁盘的系统时,输入的 GELI 密码短语的长度现在默认隐藏。如需恢复之前的行为,请参阅 geli(8) 中的配置选项。(r329114)

网络

本节描述影响 FreeBSD 网络功能的变更。

通用网络变更

icmp6(4) 协议已更新以修复 ICMPv6 重定向问题。(r329581)(由 Dell EMC 赞助)

Ports 和软件包基础设施

本节涉及 FreeBSD Ports、软件包基础设施,以及软件包维护和安装工具的变更。

软件包变更

pkg(8) 工具已更新至版本 1.10.5。

发布工程与集成

本节涉及 FreeBSD 发布工程流程中特定的变更。

集成变更

Amazon EC2™ 实例现在通过 EC2™ 基础设施内部的 Amazon 时间同步服务(NTP 服务)保持时钟同步。(r326892)

i386 U 盘镜像安装程序已改用 MBR 分区方案,以解决非 UEFI 模式下 GPT 分区方案引起的引导问题。(r333410)(由 FreeBSD 基金会赞助)

amd64 U 盘镜像安装程序也已改用 MBR 分区方案,以解决非 UEFI 模式下 GPT 分区方案引起的引导问题。(r334444)(由 FreeBSD 基金会赞助)

最后更新于