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/
或其任何镜像站点获取 FreeBSD 11.3-RELEASE 的发行版本。有关获取该版本(或其他版本)发行文件的更多信息,请参阅 FreeBSD 手册的 “获取 FreeBSD” 附录。
强烈建议所有用户在安装 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) 工具可以在不同 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 日
2019 年 5 月 14 日
2019 年 5 月 14 日
2019 年 5 月 14 日
微架构数据采样 (MDS)
2019 年 7 月 2 日
2019 年 7 月 2 日
勘误通知
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 日
用户空间
本节涉及了对用户空间应用程序、第三方软件和系统工具的变更和新增内容。
用户空间配置变更
jail(8) 工具已更新,新增 jail.conf(5) 参数 allow.read_msgbuf
,该参数可防止被 jail 限制的进程和用户访问 dmesg(8) 缓冲区。该参数默认设置为 false
。(r339446)
已更新系统的 crontab(5) 配置文件 /etc/crontab
,为与 cron(8) 守护程序保持一致设置了 PATH
。(r342103)
默认的 devd.conf(5) 文件已更新,以防止通过 devd(8) 启动重复的 hostapd(8) 和 wpa_supplicant(8)。(r343469)
新增变量 init_exec
到 kenv(1),允许 init(8) 在打开控制台后运行一个可执行文件,并替代 init(8) 作为 PID 1。(r346479)
用户空间应用程序变更
cpuset(1)、sockstat(1)、ipfw(8) 和 ugidfw(8) 工具已更新以支持 jail(8) 名称。(r336040)
newfs_msdos(8) 工具已更新,新增了 -T
参数,用于指定时间戳以实现构建可重复性。(r336328)
dd(1) 工具新增新操作数 status=progress
,可每秒以单行显示当前状态。(r338364)
last(1) 工具已更新,新增 libxo(3) 支持。(r338451)
lastlogin(8) 工具已更新,新增 libxo(3) 支持。(r338452)
traceroute(8) 工具已更新,新增 libcasper(3) 支持。(r338475)
diff(1) 工具已更新,新增了 -B
和 --ignore-blank-lines
支持。(r339160)
makewhatis(1) 工具已更新,以防止在只读目录中操作。(r340963)
jail(8) 工具已更新,新增参数 -e
,该参数接受 jail.conf(5) 参数作为参数,并打印具有指定参数的非通配符 jail 列表。(r341790)
ktrdump(8) 工具已更新,新增了 -l
参数,指定时启用“实时”模式。(r342706)
trim(8) 工具已新增,用于删除闪存存储设备上使用磨损平衡算法的块内容。(r343118)
gzip(1) 工具已更新,新增了 -l
支持 xz(1) 文件。(r343251)
newfs(8) 和 tunefs(8) 工具已更新,允许标签名称中使用下划线。(r343538)(由奈飞赞助)
pfctl(8) 工具已更新,提供更清晰的输出,并在定义的表过大时引用 sysctl(8) net.pf.request_maxcount
。(r344020)
newfs(8) 和 tunefs(8) 工具已更新,允许标签名称中使用连字符。(r344052)
fdisk(8) 工具已更新,以支持大于 2048 字节的扇区。(r344490)
sh(1) 工具已更新,新增选项 pipefail
,简化了检查管道中所有命令的退出状态。(r345561)
patch(1) 工具已更新,如果输入的补丁文件为空,工具将成功退出。(r345878)
spi(8) 工具已新增,用于通过用户空间与 SPI 总线上的设备进行通信。(r346518)
第三方的软件
xz(1) 工具已更新至版本 5.2.4。(r334607)
file(1) 工具已更新至版本 5.34。(r337827)
ELF 工具链已更新至版本 r3614。(r338414)(由 FreeBSD 基金会赞助)
lld 工具已更新,新增了 -z interpose
,将目标文件标记为插桩器。(r339100)(由 FreeBSD 基金会赞助)
file(1) 工具已更新,修复了 dump(8) 文件的日期报告问题。(r343079)
ntpd(8) 工具已更新至版本 4.2.8p13。(r344884)
已更新 clang、llvm、lld、lldb、compiler-rt 工具以及 libc++ 至上游版本 8.0.0。(r346296)
WPA 工具已更新至版本 2.8。(r346981)
OpenSSL 已更新至版本 1.0.2s。(r348343)
libarchive(3) 库已更新至版本 3.3.3,并包含来自上游的额外修复。(r348607)
OpenPAM 已更新至上游的最新版本。(r348980)
/etc/rc.d
脚本
/etc/rc.d
脚本已向 /etc/rc.initdiskless
添加了对辅助 RAM 的支持。(r340611)
rcorder(8) 工具已更新,新增了对 /etc/rc.resume
的支持。(r340966)
jail_conf
定义(默认值为 /etc/jail.conf
)已从 jail(8) rc(8) 脚本移动至 /etc/defaults/rc.conf
。(r341792)
已向 rc.subr(8) 添加变量 rc_service
,默认值为执行服务的路径,以便在服务需要重新调用自身时使用。(r343046)
时区数据文件已更新至版本 2019b。(r349620)
/etc/periodic
脚本
/etc/periodic
脚本periodic(8) 每周的 340.noid
脚本已更新,防止进入 jail 的根目录。(r341794)
运行时库和 API
pcap(3) 库已更新至版本 1.9.0(预发布版)。(r335640)
已新增 setproctitle_fast(3) 函数,优化了高频率进程标题更新。(r336449)
kqueue(2) 系统调用已更新,允许更新 EVFILT_TIMER
。(r337418)(由 Dell EMC 赞助)
已新增 pthread_get_name_np(3) 函数,用于检索与线程关联的函数名。(r338405)
pthread(3) 库已更新,以改善 POSIX 兼容性。(r338707)
内核
本节涉及了内核配置、系统调优以及未分类的系统控制参数的变化。
一般内核变化
ddb(4) 调试工具已更新,可以打印进程的命令行参数。(r339857)(由 Panzura 赞助)
MSI IRQ 数量已从常量转换为可调参数。默认值仍为 512
,现在可以通过 sysctl(8) machdep.num_msi_irqs
在启动时进行变更。(r342656)
内核现在将在记录进程退出时记录 jail(8) ID。ID 0
代表未 jail 的进程。(r343084)(由 Modirum MDPay 赞助)
将会在所有 FreeBSD 版本中打印未来版本弃用功能的警告。(r348753)
设备和驱动程序
本节涉及了自 11.2-RELEASE 以来对设备和设备驱动程序的变更和新增内容。
设备驱动程序
ichwd(4) 驱动程序已更新,支持 Lewisburg PCH(C620)芯片组中的 TCO 看门狗定时器。(r340182)(由 Panzura 赞助)
random(4) 驱动程序已更新,改善了高开销重种子时的性能。(r345981)
已标记驱动程序 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)
网络驱动程序
oce(4) 驱动程序已更新至版本 11.0.50.0。(r338938)
TP-Link TL-WN321G™ 网络适配器现在使用 run(4) 驱动程序,而不是 rum(4) 驱动程序。(r340369)
mlx4en(4) 和 mlx5en(4) 驱动程序已更新至版本 3.5.0。(r341987)(由 Mellanox Technologies 赞助)
lagg(4) 驱动程序已更新,允许变更 MTU 而无需销毁并重新创建接口。(r342206)(由 iXsystems 赞助)
ccr(4) 驱动程序已添加,支持 Chelsio T6™ 加密加速器。(r345040)(由 Chelsio Communications 赞助)
cxgbe(4) 驱动程序已更新,支持哈希过滤器、NAT 卸载和 SMAC/DMAC 交换过滤器。(r346855)(由 Chelsio Communications 赞助)
cxgbe(4) T4、T5 和 T6 固件已更新至版本 1.23.0.0。(r346940)(由 Chelsio Communications 赞助)
ixl(4) 驱动程序已更新至版本 1.11.9。(r349181)(由英特尔公司赞助)
ixlv(4) 驱动程序已更新至版本 1.5.8。(r349181)(由英特尔公司赞助)
硬件支持
本节涉及了对物理机器、虚拟化监视器和虚拟化环境的硬件支持,以及不属于本文件其他部分的硬件变更和更新。
硬件支持
vt(4) 键盘映射已更新,支持 uk.macbook.kbd
。(r342254)
虚拟化支持
bhyve(8) 增加了对 NumLock
、ScrollLock
和数字键盘键的 PS/2 扫描码支持。(r341758)(由 iXsystems 赞助)
存储
本节涉及了对文件系统和其他存储子系统(包括本地和网络存储)的变更和新增内容。
一般存储
在创建 geli(8) 提供者时,已添加对较弱算法的弃用警告。(r348588)
ZFS
已修复一个可能导致在 ZFS vnode 回收期间系统卡住的问题。(r341828)(由 Klara Systems 赞助)
已更新 ZFS 文件系统,实施了并行挂载。(r346690)(由 Gandi.net 赞助)
引导加载程序变更
本节涉及了引导加载程序、引导菜单和其他与引导相关的变更。
引导加载程序变更
zfsloader
提供的功能已添加到 loader(8) 中。待系统引导块在更新了 UPDATING
后完成,就不再需要 zfsloader
。为了方便过渡,已添加了指向 loader(8) 的硬链接。(r344399)
loader(8) 已更新,扩展了对所有架构的 geli(8) 支持。(r344399)
UEFI 启动的 loader(8) 已更新,以便在 loader.conf(5) 中未定义时,能够更好地确定系统控制台类型和设备。(r344403)
网络
本节介绍了影响 FreeBSD 网络的变更。
一般网络变更
ipfw(8) 防火墙已更新,新增了规则选项 record-state
、set-limit
和 defer-action
。(r337461)
已添加对 NAT64 CLAT 的支持,符合 RFC6877 定义。(r346212)(由 Yandex LLC 赞助)
已为 RFC 8221 中弃用的 IPSec 算法添加了警告。(r348482)
Ports 与软件包基础设施
本节涉及 FreeBSD Ports、软件包基础设施以及软件包维护和安装工具的变更。
软件包变更
package(8) 工具已更新至版本 1.10.5。
KDE 桌面环境已更新至版本 5.15.3。
GNOME 桌面环境已更新至版本 3.28。
发布工程与集成
本节涉及特定于 FreeBSD 发布工程过程的变更。
集成变更
虚拟机磁盘镜像的默认大小已从 30GB 减少到 3GB。raw
磁盘镜像可以通过 truncate(1) 进行调整大小,之后 rc(8) 脚本 growfs
将调整虚拟机中的文件系统大小。其他磁盘镜像格式应使用所用虚拟化监视器提供的适当工具进行调整大小。(r347037)(由 FreeBSD 基金会赞助)
最后更新于