FreeBSD 10.3-RELEASE 发行说明(2016 年 4 月 4 日)
摘要
FreeBSD 10.3-RELEASE 的发行说明包含了在 10.2-STABLE 开发线中对 FreeBSD 基本系统所做变更的摘要。本文列出了自上次发布以来发布的相关安全公告,以及对 FreeBSD 内核和用户空间的重大变更。还简要介绍了升级的一些注意事项。
引言
本文档包含了 FreeBSD 10.3-RELEASE 的发行说明。它介绍了 FreeBSD 中新添加、变更或删除的功能,并提供了有关从之前版本升级的说明。
本发行说明所适用的快照分发表示 10.3-STABLE 开发分支上位于 10.2-RELEASE 与未来的 10.4-RELEASE 之间的一个点。有关沿此分支的预构建二进制快照分发信息,可在 https://www.FreeBSD.org/releases/ 上找到。
所有用户都应在安装 FreeBSD 之前查看发布勘误。勘误文档会随着“最新”信息的发布而更新,这些信息通常是在发布周期的最后阶段或发布之后发现的。通常,它包含已知的错误、安全公告和文档的修正。可以在 FreeBSD 网站上找到 FreeBSD 10.3-RELEASE 的最新勘误。
本文档介绍了自 10.2-RELEASE 以来,FreeBSD 中最具用户可见性的新增或变更功能。
典型的发行说明条目记录了自 10.2-RELEASE 以来发布的最新安全公告、新的驱动程序或硬件支持、新的命令/选项、重要的错误修复,或第三方的软件升级。它们还可能列出对主要 Port/软件包或发布工程实践的变更。显然,发行说明不能列出每个版本之间对 FreeBSD 所做的所有变更;本文档主要集中于安全公告、用户可见的变更和主要架构改进。
从旧版 FreeBSD 升级
[amd64, i386] RELEASE 版本之间的二进制升级(以及各种安全分支的快照)可以使用 freebsd-update(8) 工具进行。二进制升级过程将更新未修改的用户空间工具,以及作为官方 FreeBSD 发布一部分分发的未修改的 GENERIC 内核。升级的主机需要具备互联网连接才能使用 freebsd-update(8) 工具。
从以前版本的源代码升级(基于从源代码重新编译 FreeBSD 基本系统)是支持的,具体说明请参见 /usr/src/UPDATING。
重要:
在进行 FreeBSD 升级之前,必须备份 所有 数据和配置文件。
安全与勘误
本节列出了自 10.2-RELEASE 以来的各种安全公告和勘误通知。
安全公告
勘误通知
用户空间
本节涉及了用户空间应用程序、第三方软件和系统实用工具的变化和新增内容。
用户空间应用程序变更
ar(1) 工具现在支持参数 -D,以防止插入真实的 mtime、uid、gid 和文件模式值。这被称为“确定性模式”,有助于使生成的归档文件可重现。此行为默认为启用,可以通过指定参数 -U 来禁用。(r287326,288202)(由 FreeBSD 基金会赞助)
camcontrol(8) 的 fwdownload 子命令改进:变更包括对 SATA 驱动器的更好支持,向 IBM LTO 驱动器下载固件,参数 -q 用于抑制信息输出,以及 opcodes 子命令用于执行 REPORT SUPPORTED OPCODES 服务操作。(r286965)
ifconfig(8) 工具现在在指定参数 -v 并且 NIC 驱动程序提供时,会报告 SFP/SFP+ 数据。(r286810)(由 Yandex LLC 赞助)
last(1) 工具现在支持 reboot 作为伪用户名,打印所有系统重启条目(SHUTDOWN_TIME 和 BOOT_TIME 记录)。此功能在 FreeBSD 9.0 中被错误删除。(r286952)
修复了 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_managegids 为 YES 在启动时启用。(r292231)
解析库已更新,如果 /etc/resolv.conf 的修改时间发生变化,则会重新加载该文件。(r292462)(由 Dell, Inc. 赞助)
新增了 timeout(1) 工具。此工具在指定时间限制内运行命令,并与 GNU timeout 兼容。(r287392)
watchdogd(8) 守护进程现在支持选项 -x exit_timeout,用于指定程序退出时应保留的超时时间。(r287080)
第三方软件
已修复 libarchive(3) 库中的一个错误,该错误可能在处理 tar 文件中的稀疏文件条目时报告错误,修复方法是导入变更集 bf4f6ec64e。(r286082)
时区数据库已更新至版本 2015f。(r286751)
unbound(8) 工具已更新至版本 1.5.7。(r294190)
已从基本系统中移除 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)
脚本 rc.d/netif 现在只在指定接口时更新静态路由。(r287737)
内核
本节涉及内核配置、系统调优以及未归类的系统控制参数的变更。
vt(4) 终端控制台驱动程序现在支持 sysctl 变量 ALT_BREAK_TO_DEBUGGER 和 debug.kdb.alt_break_to_debugger,当内核调试器支持(options KDB)启用时。(r286742)
新增函数 thread_create() 作为 API,用于在内核空间中创建用户空间线程。(r286843)
内核错误修复
内核配置
系统调优与控制
已修复一个可能导致加载器可调变量 kern.racct.enable 无法正常工作的错误。(r286322)(由 FreeBSD 基金会赞助)
设备与驱动
本节涉及了自 10.2-RELEASE 以来设备和设备驱动程序的变更和新增内容。
设备驱动程序
[arm] 已修复 imxwdt 驱动程序,该驱动程序支持 Freescale i.MX 看门狗。(r287079)
uart(4) 驱动现在支持通过 sysctl 变量 dev.uart.pps_mode 和 dev.uart.0.pps_mode 对 PPS 信号源进行运行时配置。0、1 和 2 分别对应禁用、在 CTS 线路上捕获脉冲和在 DCD 线路上捕获脉冲。默认值为 2。(r287037)
uftdi(4) 驱动现在支持 UFTDIIOC_READ_EEPROM、UFTDIIOC_WRITE_EEPROM 和 UFTDIIOC_ERASE_EEPROM ioctl(2),用于读取/写入附加到控制器芯片的串行 EEPROM。(r287035)
存储驱动
为了支持新的驱动程序,已移除旧版的 ata(4) 驱动,如 ataahci、ataadaptec 和 mv_sata,并支持如 ahci(4)、siis(4) 和 mvs(4) 等新驱动程序。(r280451)
CTL 高可用性实现已重写。(r288732)(由 iXsystems 赞助)
isp(4) 驱动更新和改进:添加对 16Gbps FC 卡的支持、改进目标模式支持、完成多 ID(NPIV)功能。(由 iXsystems 赞助)
网络驱动
硬件支持
本节涉及了物理机器、虚拟化环境和虚拟机监控程序的通用硬件支持,以及不适合归入其他部分的硬件变更和更新。
硬件支持
虚拟化支持
存储
本节涉及了文件系统和其他存储子系统(本地和网络)的变更和新增内容。
ZFS
引导加载程序变更
本节涉及了引导加载程序、引导菜单和其他与引导相关的变更。
引导加载程序变更
已为基于 UEFI 的系统添加初始终端仿真支持到 loader.efi。(r294445)
EFI 实现已添加初始 ZFS 引导支持。(r294999)(由 Multiplay 赞助)
UEFI 引导加载程序已更新,以支持多个 ZFS 引导环境,例如 sysutils/beadm 提供的环境。(r295475)(由 ScaleEngine, Inc. 赞助)
引导菜单变更
网络
本节介绍了影响 FreeBSD 网络的变更。
epair(4) 虚拟以太网接口和 lagg(4) 伪接口现在支持 VIMAGE 内核。(r287594,287723)
epair(4) 虚拟以太网接口中的一个 bug,可能导致在快速运行 ifconfig(8) create 和 destroy 时出现内核 panic,现已修复。(r287594)
lagg(4) 伪接口中的 sysctl(3) 变量 net.link.lagg.N 已被移除,取而代之的是每接口的 ifconfig(8) 参数和选项。命令 ifconfig -v 显示它们。(r287723)
已修复 FreeBSD IPv6 栈中的一个 bug,该 bug 在从链路级地址表中删除 L2 地址时未触发 LLENTRY_DELETED 事件。(r286316)
FreeBSD IPv6 栈中的过时 API SIOCGDRLST_IN6 和 SIOCGPRLST_IN6 已被移除。(r287733)
最后更新于