FreeBSD 10.3-RELEASE 发行说明(2016 年 4 月 4 日)

原文链接:FreeBSD 10.3-RELEASE Release Notes

摘要

FreeBSD 10.3-RELEASE 的发布说明包含了在 10.2-STABLE 开发线中对 FreeBSD 基本系统所做变更的摘要。本文列出了自上次发布以来发布的相关安全公告,以及对 FreeBSD 内核和用户空间的重大变更。还简要介绍了升级的一些注意事项。

介绍

本文档包含了 FreeBSD 10.3-RELEASE 的发布说明。它介绍了 FreeBSD 中新添加、变更或删除的功能,并提供了有关从之前版本升级的说明。

这些发布说明适用于该版本 snapshot 分发,它表示 10.2-RELEASE 与未来的 10.4-RELEASE 之间的 10.3-STABLE 开发分支上的一个点。有关沿此分支的预构建二进制快照分发的信息,可以在 https://www.FreeBSD.org/releases/上找到。

所有用户都应在安装 FreeBSD 之前查看发布错误报告。错误报告文档会随着“最后时刻”信息的发布而更新,这些信息通常是在发布周期的最后阶段或发布之后发现的。通常,它包含已知的错误、安全公告和文档的修正。可以在 FreeBSD 网站上找到 FreeBSD 10.3-RELEASE 的最新错误报告。

本文档介绍了自 10.2-RELEASE 以来,FreeBSD 中最具用户可见性的新增或变更功能。

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

从旧版 FreeBSD 升级

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

从以前版本的源代码升级(基于从源代码重新编译 FreeBSD 基本系统)是支持的,具体说明请参见 /usr/src/UPDATING

重要事项

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

安全性与勘误

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

安全公告

公告
日期
主题

2015 年 8 月 18 日

2015 年 8 月 25 日

多个漏洞

2015 年 9 月 29 日

远程拒绝服务

2015 年 10 月 26 日

多个漏洞

2015 年 12 月 5 日

多个漏洞

2016 年 1 月 14 日

ICMPv6 错误消息漏洞

2016 年 1 月 14 日

紧急关闭阈值绕过漏洞

2016 年 1 月 14 日

错误的 futex 处理

2016 年 1 月 14 日

2016 年 1 月 14 日

MD5 签名拒绝服务

2016 年 1 月 14 日

不安全的默认配置文件权限

2016 年 1 月 14 日

OpenSSH 客户端信息泄露

2016 年 1 月 27 日

多个漏洞

2016 年 1 月 27 日

2016 年 1 月 30 日

SSLv2 密码套件降级漏洞

勘误通知

勘误
日期
主题

2015 年 8 月 18 日

2015 年 8 月 18 日

2015 年 8 月 18 日

2015 年 8 月 25 日

2015 年 9 月 16 日

2015 年 9 月 16 日

修复 libc 对多线程进程的信号处理。

2015 年 9 月 16 日

2015 年 11 月 4 日

2015 年 11 月 4 日

应用程序因在正确内存地址上的段错误而退出。

2016 年 1 月 14 日

2016 年 1 月 14 日

无效的 TCP 校验和问题。

2016 年 1 月 14 日

YP/NIS 库错误。

用户空间

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

用户空间应用程序变更

ar(1) 工具现在支持 -D 参数,以防止插入真实的 mtime、uid、gid 和文件模式值。这被称为“确定性模式”,有助于使生成的归档文件可重现。此行为默认为启用,可以通过指定 -U 参数来禁用。(r287326,288202)(由 FreeBSD 基金会赞助)

camcontrol(8)fwdownload 子命令已得到改进。变更包括对 SATA 驱动器的更好支持,向 IBM LTO 驱动器下载固件,-q 参数用于抑制信息输出,以及 opcodes 子命令用于执行 REPORT SUPPORTED OPCODES 服务操作。(r286965)

cp(1) 工具已更新,新增了 -s 参数,用于创建指向指定源的符号链接。(r291774)

修复了 ctladm(8) 工具中的一个错误,即即使操作成功,它仍可能返回非零值。(r285929)

修复了 grdc(6) 程序中的一个错误,该错误导致 12 小时模式下显示不正确。(r288185)

ifconfig(8) 工具现在在指定 -v 参数并且 NIC 驱动程序提供时,会报告 SFP/SFP+ 数据。(r286810)(由 Yandex LLC 赞助)

修复了守护进程 inetd(8) 中的错误,该错误会在定义了 RPC 条目并且在 -a 参数中指定了 IPv6 地址时导致崩溃。(r288048)

jail(8) 工具已更新,新增了 -l 参数,可确保在使用时目标 Jail 环境干净。此外,jail(8) 会在运行时在目标 Jail 内启动一个 shell,如果未指定命令。(r286064)

last(1) 工具现在支持 reboot 作为伪用户名,打印所有系统重启条目(SHUTDOWN_TIMEBOOT_TIME 记录)。此功能在 FreeBSD 9.0 中被错误地删除。(r286952)

mv(1) 工具现在在指定多个参数且目标不是有效目录时返回 1,而不是 64(r287027)

mkimg(1) 工具已更新,支持在 MBR 和 GPT 分区方案中使用 NTFS 文件系统。(r287122)

修复了 mkimg(1) 工具中的一个错误,该错误导致动态 VHD 格式无法与 QEMU 一起使用。(r287122)

修复了 netstat(1) 工具中的一个错误,该错误导致统计信息以每 1024 个包而非 1000 个包显示。(r287593)

pciconf(8) 工具已更新,在存在时将使用来自 misc/pciids 包的 PCI ID 数据库,若不存在则回退到 FreeBSD 基本系统中的 PCI ID 数据库。(r287746)

新增了工具 sesutil(8),用于管理 ses(4) 设备。(r288710)(由 Gandi.net 赞助)

nfsuserd(8) 中新增了对 -manage-gids 参数的支持。此选项可以通过设置 rc.conf(5) 变量 nfs_server_managegidsYES 在启动时启用。(r292231)

pkill(1) 工具现在在 -j 选项中支持 jail(2) 名称,除了支持 jail(2) ID。(r287269)

pw(8) 工具的子命令 userdelusermod 现在支持 -y 参数。(r287084)

解析库已更新,如果 /etc/resolv.conf 的修改时间发生变化,则会重新加载该文件。(r292462)(由戴尔公司赞助)

新增了 "reroot" 支持的初步实现,添加到 reboot(8) 工具中,允许从临时源文件系统挂载根文件系统,而无需完全重启系统。(r293744)(由 FreeBSD 基金会赞助)

新增了 timeout(1) 工具。此工具在指定时间限制内运行命令,并与 GNU timeout 兼容。(r287392)

watchdogd(8) 守护进程现在支持选项 -x exit_timeout,用于指定程序退出时应保留的超时时间。(r287080)

ypinit(8) 脚本现在支持 NIS 映射文件 eui64(r287375)

第三方软件

已修复 libarchive(3) 库中的一个错误,该错误可能在处理 tar 文件中的稀疏文件条目时报告错误,修复方法是导入变更集 bf4f6ec64e(r286082)

时区数据库已更新至版本 2015f(r286751)

文件工具(file)已更新至版本 5.25。(r290152)

xz(1) 工具已更新至版本 5.2.2,提供了对多线程压缩的支持。(r292588)

ntpd(8) 工具已更新至版本 4.2.8p5。(r293650)

unbound(8) 工具已更新至版本 1.5.7。(r294190)

less(1) 工具已更新至版本 v481。(r294286)

已从基本系统中移除 unbound-control-setup 脚本。(r295690)

unbound(8) 工具已更新,启用选项 insecure-lan-zones,而不是单独列出每个 AS112 区域。(r295691)

OpenSSL 套件已更新至版本 1.0.1s。(r296317)

OpenSSH 套件已更新至版本 7.2p2。(r296853)

安装与配置工具

bsdinstall(8) 工具已更新,支持在基于 EFI 的系统上安装 ZFS。(r295264)(由 ScaleEngine, Inc. 提供赞助)

/etc/rc.d 脚本

rc.d/netwait 脚本已更新,能够等待在启动过程中较晚附加的网络接口,如某些 USB 网卡。(r294680)

使用 firewall_type="SIMPLE" 设置的防火墙规则,现在使用 ipfw(4) tables 来阻止地址。(r287091)

脚本 rc.d/netif 现在只在指定接口时更新静态路由。(r287737)

内核

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

vt(4) 终端控制台驱动程序现在支持 sysctl 变量 ALT_BREAK_TO_DEBUGGERdebug.kdb.alt_break_to_debugger,当内核调试器支持(options KDB)启用时。(r286742)

vt(4) 终端控制台驱动程序现在支持 sysctl 变量 kern.vt.bell_enable,用于启用或禁用终端铃声,默认值为 1(启用)。(r287782)

已添加函数 thread_create() 作为 API,用于在内核空间中创建用户空间线程。(r286843)

内核错误修复

kqueue(2) 系统调用已更新,以处理写入大于 2GB 的文件的事件。 (r288167)(由 Multiplay 提供赞助)

内核配置

[amd64, i386] 已从 GENERIC 内核中移除 pms(4) 驱动。 (r286132)(由 FreeBSD 基金会提供赞助)

系统调优与控制

新增了 sysctl(3) 变量 kern.features.invariants,用于显示内核是否以 INVARIANTS 编译。 (r287438)

已修复一个可能导致加载器可调变量 kern.racct.enable 无法正常工作的错误。 (r286322)(由 FreeBSD 基金会提供赞助)

设备与驱动

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

设备驱动

puc(4) 驱动现在支持 MSI 中断,并优先使用它而非传统中断。可以通过设置加载器可调变量 hw.puc.msi_disable 禁用此行为。 (r287926)

已修复 uart(4) 驱动中的一个错误,该错误可能导致 PPS(每秒脉冲)捕获事件的极性反转。正向 PPS 脉冲的尾部和下一个脉冲的前沿分别被用作“断言”和“清除”事件。 (r287037)

uart(4) 驱动现在支持通过 sysctl 变量 dev.uart.pps_modedev.uart.0.pps_mode 进行的 PPS 信号源的运行时配置。012 分别对应禁用、在 CTS 线路上捕获脉冲和在 DCD 线路上捕获脉冲。默认值为 2(r287037)

uftdi(4) 驱动现在支持 ioctl(2) 来读取/写入附加到控制器芯片的串行 EEPROM。 (r287035) UFTDIIOC_READ_EEPROMUFTDIIOC_WRITE_EEPROMUFTDIIOC_ERASE_EEPROM

存储驱动

为了支持新的驱动程序,已移除旧版的 ata(4) 驱动,如 ataahciataadaptecmv_sata,并支持如 ahci(4)siis(4)mvs(4) 等新驱动程序。 (r280451)

CTL 高可用性实现已重写。 (r288732)(由 iXsystems 提供赞助)

ctl(4) 驱动已更新,支持光盘和可移动设备。 (r288810)

isp(4) 驱动已更新和改进:添加对 16Gbps FC 卡的支持、改进了目标模式支持,完成了多 ID(NPIV)功能。 (由 iXsystems 提供赞助)

网络驱动

ixgbe(4) 驱动已更新至版本 3.1.13-k。 (r295524)(由 Limelight Networks 和英特尔公司提供赞助)

cxgbe(4) 驱动绑定的 T4 和 T5 型号固件已更新至版本 1.14.4.0。 (r286895)

硬件支持

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

硬件支持

ismt(4) 驱动已添加,支持最新的 Intel® SMBus 2.0 控制器。 (r293675)

虚拟化支持

xen(4) 驱动已更新,支持 blkif 间接段 I/O。 (r287802)

存储

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

ZFS

zfs(8) l2arc 代码已更新,以便在收集写入到 l2arc 设备的缓冲区时考虑 ashift(r287665)(由 ClusterHQ 提供赞助)

引导加载器变更

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

引导加载器变更

已为基于 UEFI 的系统添加初始终端仿真支持到 loader.efi(r294445)

EFI 实现已添加初始 ZFS 引导支持。 (r294999)(由 Multiplay 提供赞助)

UEFI 引导加载器已更新,以支持多个 ZFS 引导环境,例如 sysutils/beadm 提供的环境。 (r295475)(由 ScaleEngine, Inc. 提供赞助)

引导菜单变更

已更新 UEFI 引导菜单,启用了类似传统 sc(4) 引导菜单的 Beastie 菜单。 (r294446)

网络

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

epair(4) 虚拟以太网接口和 lagg(4) 虚拟接口现在支持 VIMAGE 内核。 (r287594,287723)

epair(4) 虚拟以太网接口中的一个 bug,可能导致在快速运行 ifconfig(8) createdestroy 时出现内核 panic,现已修复。 (r287594)

sysctl(3)lagg(4) 虚拟接口的 net.link.lagg.N 变量已被移除,取而代之的是每接口的 ifconfig(8) 参数和选项。ifconfig -v 命令显示它们。 (r287723)

已修复 lagg(4) 虚拟接口中的 bug,该 bug 可能导致系统 panic。 (r287723)

pf(4) 包过滤器中的一个 bug,可能导致没有 log 参数的规则记录匹配的包,现已修复。 (r286125)(由 Netgate 提供赞助)

FreeBSD IPv6 栈中的一个 bug,未在从链路级地址表中删除 L2 地址时触发 LLENTRY_DELETED 事件,现已修复。 (r286316)

已移除 FreeBSD IPv6 栈中的过时 API,SIOCGDRLST_IN6SIOCGPRLST_IN6(r287733)

最后更新于