github编辑

FreeBSD 11.3-RELEASE 发行说明(2019 年 7 月 9 日)

摘要

FreeBSD 11.3-RELEASE 的发行说明总结了 11.3-STABLE 开发分支中对 FreeBSD 基本系统所做的变更。本文档列出了自上次发布以来发布的适用安全公告,以及对 FreeBSD 内核和用户空间的重要变更。同时,还提供了有关升级的简要说明。

介绍

本文档包含 FreeBSD 11.3-RELEASE 的发行说明,介绍了 FreeBSD 最近新增、变更或删除的功能,并提供了从 FreeBSD 之前版本升级的相关说明。

可以从 https://www.FreeBSD.org/releases/arrow-up-right 或其任何镜像站点获取 FreeBSD 11.3-RELEASE 的发行版本。有关获取该版本(或其他版本)发行文件的更多信息,请参阅 FreeBSD 手册arrow-up-right“获取 FreeBSD”arrow-up-right 附录。

强烈建议所有用户在安装 FreeBSD 之前查阅发行勘误表。勘误表包含在发行周期末期或发行后发现的最新信息,通常包括已知问题、安全公告和文档修正。FreeBSD 11.3-RELEASE 的最新勘误表可以在 FreeBSD 网站上找到。

本文档介绍了自 11.2-RELEASE 以来 FreeBSD 中最显而易见的新增或变更功能。通常,本文描述的变更是 11.3-STABLE 分支所独有的,除非明确标注为已合并(MERGE)功能。

典型的发行说明内容包括 11.2-RELEASE 之后发布的安全公告、新增的驱动程序或硬件支持、新命令或选项、重大错误修复或第三方软件升级。这些内容还可能包括主要 Port/包的变更或发布工程的改进。显然,发行说明无法列出 FreeBSD 在版本之间的每一个变更;本文主要关注安全公告、用户可见的变更以及重要的架构改进。

从旧版 FreeBSD 升级

[amd64, i386] 使用 freebsd-update(8)arrow-up-right 工具可以在不同 RELEASE 版本之间(以及各种安全分支的快照之间)进行二进制升级。二进制升级过程会更新未修改的用户空间工具和官方 FreeBSD 发行版中分发的未修改 GENERIC 内核。该工具要求被升级的主机具备互联网连接。

基于源码的升级(即通过从源码重新编译 FreeBSD 基本系统的方式升级)同样受支持,可参考 /usr/src/UPDATING 中的说明。

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

安全性与勘误

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

安全公告

公告
日期
主题

2018 年 8 月 6 日

TCP 重组中的资源耗尽

2018 年 8 月 14 日

L1 终端故障 (L1TF) 内核信息泄露

2018 年 8 月 14 日

IP 分片重组中的资源耗尽

2018 年 8 月 14 日

未经身份验证的 EAPOL 密钥解密漏洞

2018 年 9 月 12 日

ELF 头解析不当

2018 年 11 月 27 日

多个漏洞

2018 年 12 月 4 日

边界检查不足

2018 年 12 月 19 日

缓冲区溢出

2019 年 2 月 5 日

内核数据寄存器泄漏

2019 年 2 月 5 日

文件描述符引用计数泄漏

2019 年 5 月 14 日

多个漏洞

2019 年 5 月 14 日

ntpd(8)arrow-up-right 中的身份验证拒绝服务攻击

2019 年 5 月 14 日

pf(4)arrow-up-right 中 IPv6 分片重组导致的系统崩溃

2019 年 5 月 14 日

pf(4)arrow-up-right 中的 ICMP/ICMP6 数据包过滤绕过

2019 年 5 月 14 日

微架构数据采样 (MDS)

2019 年 7 月 2 日

cd(4)arrow-up-right 中的特权升级漏洞

勘误通知

勘误编号
日期
主题

2018 年 9 月 12 日

Lazy FPU 修复中的回归问题

2018 年 9 月 27 日

IP 分片修复导致 IPv6 重组失败

2018 年 9 月 27 日

freebsd4_getfsstat 系统调用中的空指针引用

2018 年 9 月 27 日

listen 系统调用中的拒绝服务漏洞

2018 年 9 月 27 日

两个系统调用中的小范围内核内存泄露

2018 年 11 月 27 日

ICMP 缓冲区下写漏洞

2018 年 11 月 27 日

时区数据库信息更新

2018 年 11 月 27 日

延迟内核加载导致 loader 密码失效

2018 年 12 月 19 日

附加到停止的进程时内核崩溃

2018 年 12 月 19 日

在英特尔 Skylake™ CPU 上高负载时内核崩溃

2018 年 12 月 19 日

ZFS vnode 回收死锁

2019 年 1 月 9 日

sqlite 更新

2019 年 1 月 9 日

时区数据库信息更新

2019 年 1 月 9 日

kqueue 竞争条件和内核崩溃

2019 年 5 月 14 日

时区数据库信息更新

2019 年 5 月 14 日

install(1)arrow-up-right 在部分匹配相对路径时失效

用户空间

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

用户空间配置变更

jail(8)arrow-up-right 工具已更新,新增 jail.conf(5)arrow-up-right 参数 allow.read_msgbuf,该参数可防止被 jail 限制的进程和用户访问 dmesg(8)arrow-up-right 缓冲区。该参数默认设置为 false(r339446)arrow-up-right

已更新系统的 crontab(5)arrow-up-right 配置文件 /etc/crontab,为与 cron(8)arrow-up-right 守护程序保持一致设置了 PATH(r342103)arrow-up-right

默认的 devd.conf(5)arrow-up-right 文件已更新,以防止通过 devd(8)arrow-up-right 启动重复的 hostapd(8)arrow-up-rightwpa_supplicant(8)arrow-up-right(r343469)arrow-up-right

新增变量 init_execkenv(1)arrow-up-right,允许 init(8)arrow-up-right 在打开控制台后运行一个可执行文件,并替代 init(8)arrow-up-right 作为 PID 1。(r346479)arrow-up-right

用户空间应用程序变更

cpuset(1)arrow-up-rightsockstat(1)arrow-up-rightipfw(8)arrow-up-rightugidfw(8)arrow-up-right 工具已更新以支持 jail(8)arrow-up-right 名称。(r336040)arrow-up-right

newfs_msdos(8)arrow-up-right 工具已更新,新增了 -T 参数,用于指定时间戳以实现构建可重复性。(r336328)arrow-up-right

dd(1)arrow-up-right 工具新增新操作数 status=progress,可每秒以单行显示当前状态。(r338364)arrow-up-right

last(1)arrow-up-right 工具已更新,新增 libxo(3)arrow-up-right 支持。(r338451)arrow-up-right

lastlogin(8)arrow-up-right 工具已更新,新增 libxo(3)arrow-up-right 支持。(r338452)arrow-up-right

traceroute(8)arrow-up-right 工具已更新,新增 libcasper(3)arrow-up-right 支持。(r338475)arrow-up-right

diff(1)arrow-up-right 工具已更新,新增了 -B--ignore-blank-lines 支持。(r339160)arrow-up-right

makewhatis(1)arrow-up-right 工具已更新,以防止在只读目录中操作。(r340963)arrow-up-right

jail(8)arrow-up-right 工具已更新,新增参数 -e,该参数接受 jail.conf(5)arrow-up-right 参数作为参数,并打印具有指定参数的非通配符 jail 列表。(r341790)arrow-up-right

ktrdump(8)arrow-up-right 工具已更新,新增了 -l 参数,指定时启用“实时”模式。(r342706)arrow-up-right

trim(8)arrow-up-right 工具已新增,用于删除闪存存储设备上使用磨损平衡算法的块内容。(r343118)arrow-up-right

gzip(1)arrow-up-right 工具已更新,新增了 -l 支持 xz(1)arrow-up-right 文件。(r343251)arrow-up-right

newfs(8)arrow-up-righttunefs(8)arrow-up-right 工具已更新,允许标签名称中使用下划线。(r343538)arrow-up-right(由奈飞赞助)

pfctl(8)arrow-up-right 工具已更新,提供更清晰的输出,并在定义的表过大时引用 sysctl(8)arrow-up-right net.pf.request_maxcount(r344020)arrow-up-right

newfs(8)arrow-up-righttunefs(8)arrow-up-right 工具已更新,允许标签名称中使用连字符。(r344052)arrow-up-right

fdisk(8)arrow-up-right 工具已更新,以支持大于 2048 字节的扇区。(r344490)arrow-up-right

sh(1)arrow-up-right 工具已更新,新增选项 pipefail,简化了检查管道中所有命令的退出状态。(r345561)arrow-up-right

patch(1)arrow-up-right 工具已更新,如果输入的补丁文件为空,工具将成功退出。(r345878)arrow-up-right

spi(8)arrow-up-right 工具已新增,用于通过用户空间与 SPI 总线上的设备进行通信。(r346518)arrow-up-right

第三方的软件

xz(1)arrow-up-right 工具已更新至版本 5.2.4。(r334607)arrow-up-right

file(1)arrow-up-right 工具已更新至版本 5.34。(r337827)arrow-up-right

ELF 工具链已更新至版本 r3614。(r338414)arrow-up-right(由 FreeBSD 基金会赞助)

lld 工具已更新,新增了 -z interpose,将目标文件标记为插桩器。(r339100)arrow-up-right(由 FreeBSD 基金会赞助)

file(1)arrow-up-right 工具已更新,修复了 dump(8)arrow-up-right 文件的日期报告问题。(r343079)arrow-up-right

LUA loader(8)arrow-up-right 已合并。(r344220)arrow-up-right

ntpd(8)arrow-up-right 工具已更新至版本 4.2.8p13。(r344884)arrow-up-right

已更新 clang、llvm、lld、lldb、compiler-rt 工具以及 libc++ 至上游版本 8.0.0。(r346296)arrow-up-right

WPA 工具已更新至版本 2.8。(r346981)arrow-up-right

OpenSSL 已更新至版本 1.0.2s。(r348343)arrow-up-right

libarchive(3)arrow-up-right 库已更新至版本 3.3.3,并包含来自上游的额外修复。(r348607)arrow-up-right

OpenPAM 已更新至上游的最新版本。(r348980)arrow-up-right

/etc/rc.d 脚本

已向 /etc/rc.initdiskless 添加了对辅助 RAM 的支持。(r340611)arrow-up-right

rcorder(8)arrow-up-right 工具已更新,新增了对 /etc/rc.resume 的支持。(r340966)arrow-up-right

jail_conf 定义(默认值为 /etc/jail.conf)已从 jail(8)arrow-up-right rc(8)arrow-up-right 脚本移动至 /etc/defaults/rc.conf(r341792)arrow-up-right

已向 rc.subr(8)arrow-up-right 添加变量 rc_service,默认值为执行服务的路径,以便在服务需要重新调用自身时使用。(r343046)arrow-up-right

时区数据文件已更新至版本 2019b。(r349620)arrow-up-right

/etc/periodic 脚本

periodic(8)arrow-up-right 每周的 340.noid 脚本已更新,防止进入 jail 的根目录。(r341794)arrow-up-right

运行时库和 API

pcap(3)arrow-up-right 库已更新至版本 1.9.0(预发布版)。(r335640)arrow-up-right

已新增 setproctitle_fast(3)arrow-up-right 函数,优化了高频率进程标题更新。(r336449)arrow-up-right

kqueue(2)arrow-up-right 系统调用已更新,允许更新 EVFILT_TIMER(r337418)arrow-up-right(由 Dell EMC 赞助)

已新增 pthread_get_name_np(3)arrow-up-right 函数,用于检索与线程关联的函数名。(r338405)arrow-up-right

pthread(3)arrow-up-right 库已更新,以改善 POSIX 兼容性。(r338707)arrow-up-right

内核

本节涉及了内核配置、系统调优以及未分类的系统控制参数的变化。

一般内核变化

ddb(4)arrow-up-right 调试工具已更新,可以打印进程的命令行参数。(r339857)arrow-up-right(由 Panzura 赞助)

MSI IRQ 数量已从常量转换为可调参数。默认值仍为 512,现在可以通过 sysctl(8)arrow-up-right machdep.num_msi_irqs 在启动时进行变更。(r342656)arrow-up-right

内核现在将在记录进程退出时记录 jail(8)arrow-up-right ID。ID 0 代表未 jail 的进程。(r343084)arrow-up-right(由 Modirum MDPay 赞助)

将会在所有 FreeBSD 版本中打印未来版本弃用功能的警告。(r348753)arrow-up-right

设备和驱动程序

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

设备驱动程序

ichwd(4)arrow-up-right 驱动程序已更新,支持 Lewisburg PCH(C620)芯片组中的 TCO 看门狗定时器。(r340182)arrow-up-right(由 Panzura 赞助)

random(4)arrow-up-right 驱动程序已更新,改善了高开销重种子时的性能。(r345981)arrow-up-right

已标记驱动程序 ae(4)bm(4)cs(4)de(4)dme(4)ed(4)ep(4)ex(4)fe(4)pcn(4)sf(4)sn(4)tl(4)tx(4)txp(4)vx(4)wb(4)xe(4) 为废弃,且在 FreeBSD 13.0 中已删除。(r347962)arrow-up-right

网络驱动程序

oce(4)arrow-up-right 驱动程序已更新至版本 11.0.50.0。(r338938)arrow-up-right

TP-Link TL-WN321G™ 网络适配器现在使用 run(4)arrow-up-right 驱动程序,而不是 rum(4)arrow-up-right 驱动程序。(r340369)arrow-up-right

mlx4en(4)arrow-up-rightmlx5en(4)arrow-up-right 驱动程序已更新至版本 3.5.0。(r341987)arrow-up-right(由 Mellanox Technologies 赞助)

lagg(4)arrow-up-right 驱动程序已更新,允许变更 MTU 而无需销毁并重新创建接口。(r342206)arrow-up-right(由 iXsystems 赞助)

ccr(4)arrow-up-right 驱动程序已添加,支持 Chelsio T6™ 加密加速器。(r345040)arrow-up-right(由 Chelsio Communications 赞助)

cxgbe(4)arrow-up-right 驱动程序已更新,支持哈希过滤器、NAT 卸载和 SMAC/DMAC 交换过滤器。(r346855)arrow-up-right(由 Chelsio Communications 赞助)

cxgbe(4)arrow-up-right T4、T5 和 T6 固件已更新至版本 1.23.0.0。(r346940)arrow-up-right(由 Chelsio Communications 赞助)

ixl(4)arrow-up-right 驱动程序已更新至版本 1.11.9。(r349181)arrow-up-right(由英特尔公司赞助)

ixlv(4)arrow-up-right 驱动程序已更新至版本 1.5.8。(r349181)arrow-up-right(由英特尔公司赞助)

硬件支持

本节涉及了对物理机器、虚拟化监视器和虚拟化环境的硬件支持,以及不属于本文件其他部分的硬件变更和更新。

硬件支持

vt(4)arrow-up-right 键盘映射已更新,支持 uk.macbook.kbd(r342254)arrow-up-right

虚拟化支持

bhyve(8)arrow-up-right 增加了对 NumLockScrollLock 和数字键盘键的 PS/2 扫描码支持。(r341758)arrow-up-right(由 iXsystems 赞助)

存储

本节涉及了对文件系统和其他存储子系统(包括本地和网络存储)的变更和新增内容。

一般存储

在创建 geli(8)arrow-up-right 提供者时,已添加对较弱算法的弃用警告。(r348588)arrow-up-right

ZFS

已修复一个可能导致在 ZFS vnode 回收期间系统卡住的问题。(r341828)arrow-up-right(由 Klara Systems 赞助)

已更新 ZFS 文件系统,实施了并行挂载。(r346690)arrow-up-right(由 Gandi.net 赞助)

引导加载程序变更

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

引导加载程序变更

zfsloader 提供的功能已添加到 loader(8)arrow-up-right 中。待系统引导块在更新了 UPDATING 后完成,就不再需要 zfsloader。为了方便过渡,已添加了指向 loader(8)arrow-up-right 的硬链接。(r344399)arrow-up-right

loader(8)arrow-up-right 已更新,扩展了对所有架构的 geli(8)arrow-up-right 支持。(r344399)arrow-up-right

UEFI 启动的 loader(8)arrow-up-right 已更新,以便在 loader.conf(5)arrow-up-right 中未定义时,能够更好地确定系统控制台类型和设备。(r344403)arrow-up-right

网络

本节介绍了影响 FreeBSD 网络的变更。

一般网络变更

ipfw(8)arrow-up-right 防火墙已更新,新增了规则选项 record-stateset-limitdefer-action(r337461)arrow-up-right

已添加对 NAT64 CLAT 的支持,符合 RFC6877 定义。(r346212)arrow-up-right(由 Yandex LLC 赞助)

已为 RFC 8221 中弃用的 IPSec 算法添加了警告。(r348482)arrow-up-right

Ports 与软件包基础设施

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

软件包变更

package(8)arrow-up-right 工具已更新至版本 1.10.5。

KDE 桌面环境已更新至版本 5.15.3。

GNOME 桌面环境已更新至版本 3.28。

发布工程与集成

本节涉及特定于 FreeBSD 发布工程过程的变更。

集成变更

虚拟机磁盘镜像的默认大小已从 30GB 减少到 3GB。raw 磁盘镜像可以通过 truncate(1)arrow-up-right 进行调整大小,之后 rc(8)arrow-up-right 脚本 growfs 将调整虚拟机中的文件系统大小。其他磁盘镜像格式应使用所用虚拟化监视器提供的适当工具进行调整大小。(r347037)arrow-up-right(由 FreeBSD 基金会赞助)

最后更新于