FreeBSD 10.4-RELEASE 发行说明(2017 年 10 月 3 日)

摘要

FreeBSD 10.4-RELEASE 的发布说明包含了对 FreeBSD 10.4-STABLE 开发线中所做变更的总结。本文列出了自上次发布以来发布的相关安全公告,以及对 FreeBSD 内核和用户空间的重要变更。还简要说明了升级相关的事项。

介绍

本文档包含了 FreeBSD 10.4-RELEASE 的发布说明。它介绍了 FreeBSD 中最近添加、修改或删除的功能,并提供了一些关于从先前版本升级的说明。

这些发布说明适用于 snapshot 发行版,它表示在 10.3-RELEASE 和未来的 10.4-STABLE 之间,10.4-STABLE 开发分支中的某个节点。关于沿该分支的预构建二进制快照发行版的信息可以在 https://www.FreeBSD.org/releases/arrow-up-right 查找。

我们鼓励所有用户在安装 FreeBSD 之前查阅发布。勘误文档会随着发布周期结束或发布后发现的“突发”信息而更新。通常,它包含已知的 bug、安全公告和文档修正。可以在 FreeBSD 网站上找到 FreeBSD 10.3-RELEASE 的最新勘误。

本文档介绍了自 10.3-RELEASE 以来,FreeBSD 中最显著的新增或变更功能。

典型的发布说明项记录了自 10.3-RELEASE 以来发布的最新安全公告、新的驱动程序或硬件支持、新的命令或选项、主要的 bug 修复或第三方的软件升级。它们还可能列出主要 Port/包或发布工程实践的变更。显然,发布说明不能列出每一个在两个版本之间对 FreeBSD 做出的变更;本文档主要聚焦于安全公告、用户可见的变化以及主要的架构改进。

从旧版升级 FreeBSD

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

根据 /usr/src/UPDATING 中的说明,支持基于源代码重新编译 FreeBSD 基本系统的源代码升级。

重要事项

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

安全性和勘误

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

安全公告

公告
日期
主题

2016 年 4 月 29 日

多个 ntp 漏洞

2016 年 4 月 29 日

多个 OpenSSL 漏洞

2016 年 5 月 17 日

键盘驱动程序缓冲区溢出

2016 年 5 月 17 日

sendmsg(2)arrow-up-right 中不正确的参数处理

2016 年 5 月 31 日

Linux 兼容层中的内核堆栈泄漏

2016 年 5 月 31 日

4.3BSD 兼容层中的内核堆栈泄漏

2016 年 5 月 31 日

绝对路径遍历漏洞

2016 年 5 月 31 日

绝对路径遍历漏洞

2016 年 6 月 3 日

多个 ntp 漏洞

2016 年 7 月 25 日

堆溢出漏洞

2016 年 9 月 23 日

多个漏洞

2016 年 9 月 26 日

OpenSSL 套件中的回归

2016 年 10 月 10 日

堆溢出漏洞

2016 年 10 月 10 日

多个漏洞

2016 年 10 月 10 日

多个漏洞

2016 年 11 月 2 日

远程拒绝服务漏洞

2016 年 11 月 2 日

远程拒绝服务漏洞

2016 年 12 月 6 日

可能的 login(1)arrow-up-right 参数注入

2016 年 12 月 6 日

可能的逃逸漏洞 bhyve(8)arrow-up-right 虚拟机

2016 年 12 月 22 日

多个漏洞

2017 年 1 月 10 日

多个漏洞

2017 年 2 月 23 日

修复 OpenSSL RC4_MD5 密码漏洞

2017 年 4 月 12 日

多个漏洞

2017 年 4 月 27 日

修复分片处理崩溃

2017 年 7 月 12 日

修复 KDC-REP 服务名称验证漏洞

勘误通知

勘误
日期
主题

2016 年 5 月 4 日

libc hash(3)arrow-up-right 中的性能回归

2016 年 5 月 4 日

x86 IPI 传递中的过度延迟

2016 年 5 月 4 日

ZFS 中的内存泄漏

2016 年 7 月 25 日

修复 freebsd-update(8)arrow-up-right 对 FreeBSD 11.0-RELEASE 的支持

2016 年 8 月 11 日

更好地处理来自 DHCP 服务器的未知选项

2016 年 8 月 11 日

避免为通道消息锁使用自旋锁

2016 年 8 月 11 日

仅在 Windows 10 主机系统上启用 INQUIRY 结果检查

2016 年 8 月 11 日

及早注册时间计数器以进行 TSC 频率校准

2016 年 8 月 11 日

禁用 hv_storvsc(4)arrow-up-right 中的错误回调

2016 年 8 月 11 日

更好地处理 Hyper-V 中的 GPADL 设置失败

2016 年 8 月 11 日

修复 SCSI INQUIRY 检查和错误处理

2016 年 10 月 25 日

多个虚拟内存问题

2016 年 12 月 6 日

修复关于无效时区缩写的警告

2016 年 12 月 6 日

更新时区数据库信息

2017 年 2 月 23 日

Xen 迁移增强

2017 年 7 月 12 日

与 Azure 虚拟机的启动兼容性改进

用户空间

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

用户空间配置变更

当在 src.conf(5)arrow-up-right 中设置 WITHOUT_TCP_WRAPPERS 时,inetd(8) 工具现在不再构建 libwrap 支持。(r313206)arrow-up-right

当在 src.conf(5)arrow-up-right 中设置 WITHOUT_LIBTHR 时,libthr(3) 库及相关文件在升级系统时会被评估并通过 delete-old-libs 目标删除。(r316046)arrow-up-right

已添加 WITH_RPCBIND_WARMSTART_SUPPORT src.conf(5)arrow-up-right 开关,启用时允许构建带有 warmstart 支持的 rpcbind(8)arrow-up-right(r319243)arrow-up-right

用户空间应用程序变更

truss(1)arrow-up-right 工具已更新,新增参数 -H,该参数记录调用系统调用的线程 ID。(r298427)arrow-up-right

已新增 zfsbootcfg(8)arrow-up-right 工具,提供一次性的 boot.config(5)arrow-up-right 风格选项供 zfsboot(8)arrow-up-right 使用。(r308915)arrow-up-right

已更新 pw(8)arrow-up-right 工具,以正确遵循 pw.conf(5)arrow-up-right,(若有)。(r316348)arrow-up-right

已新增 cxgbetool(8)arrow-up-right 工具,提供命令行访问 cxgbe(4)arrow-up-right 设备的功能和调试设施。(r319390)arrow-up-right

ifconfig(8)arrow-up-right 工具已更新,以显示网络驱动程序持久存储的 MAC 地址。这提供了一种机制,通过它可以检索原始的 MAC 地址,例如,当接口被添加到 lagg(4)arrow-up-rightMACrc.conf(5)arrow-up-right 中被重写时。(r318430)arrow-up-right

rcp(1)arrow-up-rightrlogin(1)arrow-up-rightrsh(1)arrow-up-rightrlogind(8)arrow-up-rightrshd(8)arrow-up-right 工具已被标记为弃用,计划在 FreeBSD 12.0-RELEASE 中移除。(r320646)arrow-up-right

syslogd(8)arrow-up-right 工具已更新,以便在子进程意外重启时重新启动日志记录。(r320772)arrow-up-right

gdb(1)arrow-up-rightkgdb(1)arrow-up-right 工具已被标记为弃用,计划从基本系统中移除。可以在 Port devel/gdb 中找到较新的版本。(r320824)arrow-up-right

cron(8)arrow-up-right 工具已更新,以支持默认情况下包含 /etc/cron.d/usr/local/etc/cron.d 中的文件。(r321242)arrow-up-right

syslogd(8)arrow-up-right 工具已更新,新增关键字 include,允许指定目录来包含额外的配置文件,这些文件将被包括在 syslog.conf(5)arrow-up-right 之外。已更新默认的 syslog.conf(5)arrow-up-right ,默认包括 /etc/syslog.d/usr/local/etc/syslog.d(r321234)arrow-up-right

newsyslog(8)arrow-up-right 工具已更新,以支持以符合 RFC5424 格式的方式记录到 syslogd(8)arrow-up-right。有关更多细节,请参见 newsyslog.conf(5)arrow-up-rightT 参数的描述。(r321263)arrow-up-right

pw(8)arrow-up-right 工具已更新,支持通过参数 -G 传递空的次要组,确保目标用户没有次要组成员身份。(r323333)arrow-up-right

第三方的软件

Subversion 已更新至 1.9.5 版本。 (r309512)arrow-up-right

file(1)arrow-up-right 已更新至 5.29 版本。 (r309848)arrow-up-right

amd(8)arrow-up-right 实用程序已更新至 6.2 版本。 (r310490)arrow-up-right

xz(1)arrow-up-right 已更新至 5.2.3 版本。 (r312516)arrow-up-right

zlib(3)arrow-up-right 已更新至 1.2.11 版本。 (r313796)arrow-up-right

ntpd(8)arrow-up-right 已更新至 4.2.8p10 版本。 (r316069)arrow-up-right

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

tcsh(1)arrow-up-right 已更新至 6.20.00 版本。 (r316958)arrow-up-right

libarchive(3)arrow-up-right 已更新至 3.3.2 版本。 (r321304)arrow-up-right

bmake 已更新至 20170720 版本。 (r321964)arrow-up-right

pci_vendors 已更新至 2017.07.27 版本。 (r322244)arrow-up-right

安装和配置工具

bsdinstall(8)arrow-up-right 实用程序已更新,以确保新创建的分区正确对齐在 4096 字节边界。 (r313433)arrow-up-right

bsdinstall(8)arrow-up-right 创建的默认 EFI 分区已从 800KB 增加至 200MB。 (r321202)arrow-up-right(由 FreeBSD 基金会赞助)

运行时库和 API

已更新函数 kvm_close(3)arrow-up-right ,以返回前一个 close(2)arrow-up-right 调用的累积错误。 (r316040)arrow-up-right

已更新 syslog(3)arrow-up-right 函数,以提高对线程取消的韧性,在支持的延迟模式下消除了可能发生的死锁,避免了多线程应用程序在频繁创建和取消线程时的锁死问题,例如 net/mpd5(r320312)arrow-up-right

已更新 stdio(3)arrow-up-right 函数为延迟取消安全,从而消除了多线程应用程序在使用如 funopen(3)arrow-up-rightfropen(3)arrow-up-rightfwopen(3)arrow-up-right 等函数时可能出现的死锁问题。 (r321074)arrow-up-right

ABI 兼容性

已定义 max_align_t 类型,以符合 C11 标准。 (r309258)arrow-up-right

用户空间调试

ptrace(2)arrow-up-right 现在支持线程创建和销毁事件,能更可靠地调试线程化进程。 (r304017)arrow-up-right

ptrace(2)arrow-up-right 现在支持 vfork(2)arrow-up-right 事件,允许在 vfork(2)arrow-up-right 调用中进行可靠调试。 (r304499)arrow-up-right

进程核心转储现在包含进程 ID (PID) 和命令行参数。 (r306786)arrow-up-right

内核

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

杂项内核变化

vt(4)arrow-up-right 驱动已更新,增加了最大帧缓存大小。 (r321198)arrow-up-right

内核 bug 修复

已更新数据包过滤器 ipf(4)arrow-up-right ,防止 keep state 错误地暗示 keep frags,与 ipf(5)arrow-up-right 中记录的行为相匹配。 (r317434)arrow-up-right

已更新 geom(4)arrow-up-rightJOURNAL,以修复 flush_queue 处理。 (r322793)arrow-up-right

系统调优和控制

已在 kern.features sysctl(8)arrow-up-right 中添加参数 kern.features.linuxkern.features.linux64,当设置为 1 时,表示内核配置了 32 位和/或 64 位 Linux 二进制兼容性。 (r321024)arrow-up-right

设备和驱动程序

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

设备驱动程序

作为 set driver 的补充,devctl(8)arrow-up-right 现在支持命令 clear driver(r306533)arrow-up-right(由 Chelsio 赞助)

存储驱动程序

mpr(4)arrow-up-right 驱动已更新,支持三模 (SAS/SATA/PCIe) 博通存储适配器。 (r319436)arrow-up-right

arcmsr(4)arrow-up-right 驱动已更新至版本 1.40.00.00,增加对 ARC-1884 SATA 控制器的支持。 (r321067)arrow-up-right

网络驱动程序

cxgbev(4)arrow-up-right 驱动已添加,提供对 Chelsio T4 和 T5 适配器上的虚拟功能设备 (VF) 的支持。 (r309447)arrow-up-right(由 Chelsio 赞助)

cxgbe(4)arrow-up-right 驱动已更新,提供对 Chelsio T6 适配器上虚拟功能设备 (VF) 的支持。 (r309560)arrow-up-right(由 Chelsio 赞助)

cxgbe(4)arrow-up-right 驱动现在支持使用 T6 适配器的设备,支持 10、25、40 和 100 Gbps。 (r309560)arrow-up-right(由 Chelsio 赞助)

alc(4)arrow-up-right 驱动已更新,提供对 Atheros Killer E2400™ 千兆以太网卡的支持。 (r312359)arrow-up-right

alc(4)arrow-up-right 驱动已更新,提供对 Atheros Killer E2500™ 千兆以太网卡的支持。 (r314019)arrow-up-right(由微软赞助)

qlnxe(4)arrow-up-right 驱动已添加,提供对 Cavium Qlogic™ 45000 系列适配器的支持。 (r316485)arrow-up-right

cxgbe(4)arrow-up-right 驱动已更新至固件版本 1.16.45.0,适用于 T4、T5 和 T6 卡。 (r319270)arrow-up-right(由 Chelsio 赞助)

硬件支持

本节涉及了物理机器、虚拟机监控器和虚拟化环境的通用硬件支持,以及不适合其他部分的硬件变化和更新。

虚拟化支持

通过 bhyve(4)arrow-up-right 的 PCI 直通在虚拟机启动和停止时通过 FLR 重置功能。 (r306520)arrow-up-right(由 Chelsio 赞助)

通过 bhyve(4)arrow-up-right 的 PCI 直通支持更多动态配置,笨办法在运行时标记设备用于直通或主机使用。 (r306472)arrow-up-right(由 Chelsio 赞助)

存储

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

网络存储

NFS 客户端现在可以正确处理来自 NFS 服务器的错误 NFS4ERR_BAD_SESSION。此外,内核 RPC 客户端已更新,以防止在接收到来自 sosend(9)arrow-up-rightERESTART 时创建新的 TCP 连接。 (r318675)arrow-up-right

NFS 客户端已更新,支持通过 DS 提交 pNFS commit(r321031)arrow-up-right

网络

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

一般网络变化

网络栈已被修改,以修复如果多个线程同时发出 UDP log_in_vain 消息时出现的不正确或无效的 IP 地址问题。 (r313558)arrow-up-right(由 Dell EMC 赞助)

已修改 TCP 栈,改为使用估算的 RTT 而不是时间戳来进行接收缓冲区自动调整大小。 (r317375)arrow-up-right(由 Multiplay 赞助)

网络协议

Dummynet AQM,一个独立实现的 CoDel 和 FQ-CoDel 用于 ipfw/dummynet,已被导入到基本系统中。 (r301772)arrow-up-right

已添加对 GARP(自愿 ARP)重传的支持。新增 sysctl(8)arrow-up-rightnet.link.ether.inet.garp_rexmit_count,用于设置当值为非零时的最大重传次数。 (r309340)arrow-up-right(由 Dell EMC 赞助)

Ports 和包基础设施

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

软件包变化

pkg(8)arrow-up-right 工具已更新到版本 1.10.1。

最后更新于