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/ 查找。
我们鼓励所有用户在安装 FreeBSD 之前查阅发布。勘误文档会随着发布周期结束或发布后发现的“突发”信息而更新。通常,它包含已知的 bug、安全公告和文档修正。可以在 FreeBSD 网站上找到 FreeBSD 10.3-RELEASE 的最新勘误。
本文档介绍了自 10.3-RELEASE 以来,FreeBSD 中最显著的新增或变更功能。
典型的发布说明项记录了自 10.3-RELEASE 以来发布的最新安全公告、新的驱动程序或硬件支持、新的命令或选项、主要的 bug 修复或第三方的软件升级。它们还可能列出主要 Port/包或发布工程实践的变更。显然,发布说明不能列出每一个在两个版本之间对 FreeBSD 做出的变更;本文档主要聚焦于安全公告、用户可见的变化以及主要的架构改进。
从旧版升级 FreeBSD
[amd64,i386] 支持使用 freebsd-update(8) 工具在 RELEASE 版本之间进行二进制升级(以及各个安全分支的快照)。二进制升级程序将更新未修改的用户空间实用程序,以及作为官方 FreeBSD 发行版一部分分发的未修改的 GENERIC
内核。freebsd-update(8) 工具要求升级的主机具有互联网连接。
根据 /usr/src/UPDATING
中的说明,支持基于源代码重新编译 FreeBSD 基本系统的源代码升级。
重要事项
在进行 FreeBSD 升级之前,务必备份 所有 数据和配置文件。
安全性和勘误
本节列出了自 10.3-RELEASE 以来的各种安全公告和勘误通知。
安全公告
2016 年 4 月 29 日
多个 ntp 漏洞
2016 年 4 月 29 日
多个 OpenSSL 漏洞
2016 年 5 月 17 日
键盘驱动程序缓冲区溢出
2016 年 5 月 17 日
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 日
2016 年 12 月 6 日
2016 年 12 月 6 日
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 日
2016 年 5 月 4 日
x86 IPI 传递中的过度延迟
2016 年 5 月 4 日
ZFS 中的内存泄漏
2016 年 7 月 25 日
2016 年 8 月 11 日
更好地处理来自 DHCP 服务器的未知选项
2016 年 8 月 11 日
避免为通道消息锁使用自旋锁
2016 年 8 月 11 日
仅在 Windows 10 主机系统上启用 INQUIRY 结果检查
2016 年 8 月 11 日
及早注册时间计数器以进行 TSC 频率校准
2016 年 8 月 11 日
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) 中设置 WITHOUT_TCP_WRAPPERS
时,inetd(8)
工具现在不再构建 libwrap
支持。(r313206)
当在 src.conf(5) 中设置 WITHOUT_LIBTHR
时,libthr(3)
库及相关文件在升级系统时会被评估并通过 delete-old-libs
目标删除。(r316046)
已添加 WITH_RPCBIND_WARMSTART_SUPPORT
src.conf(5) 开关,启用时允许构建带有 warmstart
支持的 rpcbind(8)。(r319243)
用户空间应用程序变更
truss(1) 工具已更新,新增参数 -H
,该参数记录调用系统调用的线程 ID。(r298427)
已新增 zfsbootcfg(8) 工具,提供一次性的 boot.config(5) 风格选项供 zfsboot(8) 使用。(r308915)
已更新 pw(8) 工具,以正确遵循 pw.conf(5),(若有)。(r316348)
已新增 cxgbetool(8) 工具,提供命令行访问 cxgbe(4) 设备的功能和调试设施。(r319390)
ifconfig(8) 工具已更新,以显示网络驱动程序持久存储的 MAC 地址。这提供了一种机制,通过它可以检索原始的 MAC 地址,例如,当接口被添加到 lagg(4) 且 MAC
在 rc.conf(5) 中被重写时。(r318430)
rcp(1)、rlogin(1)、rsh(1)、rlogind(8) 和 rshd(8) 工具已被标记为弃用,计划在 FreeBSD 12.0-RELEASE 中移除。(r320646)
syslogd(8) 工具已更新,以便在子进程意外重启时重新启动日志记录。(r320772)
gdb(1) 和 kgdb(1) 工具已被标记为弃用,计划从基本系统中移除。可以在 Port devel/gdb
中找到较新的版本。(r320824)
cron(8) 工具已更新,以支持默认情况下包含 /etc/cron.d
和 /usr/local/etc/cron.d
中的文件。(r321242)
syslogd(8) 工具已更新,新增关键字 include
,允许指定目录来包含额外的配置文件,这些文件将被包括在 syslog.conf(5) 之外。已更新默认的 syslog.conf(5) ,默认包括 /etc/syslog.d
和 /usr/local/etc/syslog.d
。(r321234)
newsyslog(8) 工具已更新,以支持以符合 RFC5424 格式的方式记录到 syslogd(8)。有关更多细节,请参见 newsyslog.conf(5) 中 T
参数的描述。(r321263)
pw(8) 工具已更新,支持通过参数 -G
传递空的次要组,确保目标用户没有次要组成员身份。(r323333)
第三方的软件
Subversion 已更新至 1.9.5 版本。 (r309512)
file(1) 已更新至 5.29 版本。 (r309848)
amd(8) 实用程序已更新至 6.2 版本。 (r310490)
xz(1) 已更新至 5.2.3 版本。 (r312516)
zlib(3) 已更新至 1.2.11 版本。 (r313796)
ntpd(8) 已更新至 4.2.8p10 版本。 (r316069)
时区数据文件已更新至 2017b 版本。 (r316350)
tcsh(1) 已更新至 6.20.00 版本。 (r316958)
libarchive(3) 已更新至 3.3.2 版本。 (r321304)
bmake 已更新至 20170720 版本。 (r321964)
pci_vendors
已更新至 2017.07.27 版本。 (r322244)
安装和配置工具
bsdinstall(8) 实用程序已更新,以确保新创建的分区正确对齐在 4096 字节边界。 (r313433)
bsdinstall(8) 创建的默认 EFI 分区已从 800KB 增加至 200MB。 (r321202)(由 FreeBSD 基金会赞助)
运行时库和 API
已更新函数 kvm_close(3) ,以返回前一个 close(2) 调用的累积错误。 (r316040)
已更新 syslog(3) 函数,以提高对线程取消的韧性,在支持的延迟模式下消除了可能发生的死锁,避免了多线程应用程序在频繁创建和取消线程时的锁死问题,例如 net/mpd5
。 (r320312)
已更新 stdio(3) 函数为延迟取消安全,从而消除了多线程应用程序在使用如 funopen(3)、fropen(3) 和 fwopen(3) 等函数时可能出现的死锁问题。 (r321074)
ABI 兼容性
已定义 max_align_t
类型,以符合 C11 标准。 (r309258)
用户空间调试
ptrace(2) 现在支持线程创建和销毁事件,能更可靠地调试线程化进程。 (r304017)
ptrace(2) 现在支持 vfork(2) 事件,允许在 vfork(2) 调用中进行可靠调试。 (r304499)
进程核心转储现在包含进程 ID (PID) 和命令行参数。 (r306786)
内核
本节涉及了内核配置、系统调优和未归类的系统控制参数的变化。
杂项内核变化
vt(4) 驱动已更新,增加了最大帧缓存大小。 (r321198)
内核 bug 修复
已更新数据包过滤器 ipf(4) ,防止 keep state
错误地暗示 keep frags
,与 ipf(5) 中记录的行为相匹配。 (r317434)
已更新 geom(4) 类 JOURNAL
,以修复 flush_queue
处理。 (r322793)
系统调优和控制
已在 kern.features
sysctl(8) 中添加参数 kern.features.linux
和 kern.features.linux64
,当设置为 1
时,表示内核配置了 32 位和/或 64 位 Linux 二进制兼容性。 (r321024)
设备和驱动程序
本节涉及了了自 10.3-RELEASE 以来设备和设备驱动程序的变化和新增内容。
设备驱动程序
作为 set driver
的补充,devctl(8) 现在支持命令 clear driver
。 (r306533)(由 Chelsio 赞助)
存储驱动程序
mpr(4) 驱动已更新,支持三模 (SAS/SATA/PCIe) 博通存储适配器。 (r319436)
arcmsr(4) 驱动已更新至版本 1.40.00.00,增加对 ARC-1884 SATA 控制器的支持。 (r321067)
网络驱动程序
cxgbev(4) 驱动已添加,提供对 Chelsio T4 和 T5 适配器上的虚拟功能设备 (VF) 的支持。 (r309447)(由 Chelsio 赞助)
cxgbe(4) 驱动已更新,提供对 Chelsio T6 适配器上虚拟功能设备 (VF) 的支持。 (r309560)(由 Chelsio 赞助)
cxgbe(4) 驱动现在支持使用 T6 适配器的设备,支持 10、25、40 和 100 Gbps。 (r309560)(由 Chelsio 赞助)
alc(4) 驱动已更新,提供对 Atheros Killer E2400™ 千兆以太网卡的支持。 (r312359)
alc(4) 驱动已更新,提供对 Atheros Killer E2500™ 千兆以太网卡的支持。 (r314019)(由微软赞助)
qlnxe(4) 驱动已添加,提供对 Cavium Qlogic™ 45000 系列适配器的支持。 (r316485)
cxgbe(4) 驱动已更新至固件版本 1.16.45.0,适用于 T4、T5 和 T6 卡。 (r319270)(由 Chelsio 赞助)
硬件支持
本节涉及了物理机器、虚拟机监控器和虚拟化环境的通用硬件支持,以及不适合其他部分的硬件变化和更新。
虚拟化支持
通过 bhyve(4) 的 PCI 直通在虚拟机启动和停止时通过 FLR 重置功能。 (r306520)(由 Chelsio 赞助)
通过 bhyve(4) 的 PCI 直通支持更多动态配置,笨办法在运行时标记设备用于直通或主机使用。 (r306472)(由 Chelsio 赞助)
存储
本节涉及了文件系统和其他存储子系统的变化和新增内容,包括本地和网络存储。
网络存储
NFS 客户端现在可以正确处理来自 NFS 服务器的错误 NFS4ERR_BAD_SESSION
。此外,内核 RPC 客户端已更新,以防止在接收到来自 sosend(9) 的 ERESTART
时创建新的 TCP 连接。 (r318675)
NFS 客户端已更新,支持通过 DS
提交 pNFS commit
。 (r321031)
网络
本节介绍了影响 FreeBSD 网络的变化。
一般网络变化
网络栈已被修改,以修复如果多个线程同时发出 UDP log_in_vain
消息时出现的不正确或无效的 IP 地址问题。 (r313558)(由 Dell EMC 赞助)
已修改 TCP 栈,改为使用估算的 RTT 而不是时间戳来进行接收缓冲区自动调整大小。 (r317375)(由 Multiplay 赞助)
网络协议
Dummynet AQM,一个独立实现的 CoDel 和 FQ-CoDel 用于 ipfw/dummynet,已被导入到基本系统中。 (r301772)
已添加对 GARP(自愿 ARP)重传的支持。新增 sysctl(8),net.link.ether.inet.garp_rexmit_count
,用于设置当值为非零时的最大重传次数。 (r309340)(由 Dell EMC 赞助)
Ports 和包基础设施
本节涉及了 FreeBSD Ports、包基础设施以及包维护和安装工具的变化。
软件包变化
pkg(8) 工具已更新到版本 1.10.1。
最后更新于