原文链接:FreeBSD 10.2-RELEASE Release Notes
FreeBSD 10.2-RELEASE 的发行说明包含对 10.2-STABLE 开发分支中 FreeBSD 基本系统所作更改的概要。本文件列出了自上次发行以来发布的适用安全公告,以及对 FreeBSD 内核和用户空间的重大更改。此外,还简要说明了升级的相关事项。
本文件包含 FreeBSD 10.2-RELEASE 的发行说明,介绍了 FreeBSD 最近新增、更改或移除的功能,并提供了从早期版本升级到当前版本的相关注意事项。
FreeBSD 10.2-RELEASE 的此发行版本可在 https://www.FreeBSD.org/releases/
或其镜像站点找到。有关获取此版本(或其他版本)更多信息,请参阅 FreeBSD 手册的“获取 FreeBSD”附录。
建议所有用户在安装 FreeBSD 之前查看发行勘误表。勘误文档会在发行周期后期或发行后更新,包含最新发现的重要信息,通常涉及已知问题、安全公告和文档更正。可以在 FreeBSD 官网找到 FreeBSD 10.2-RELEASE 的最新勘误表。
本文件介绍了自 10.1-RELEASE 以来 FreeBSD 中对用户最显著的新功能或已更改功能。
通常,发行说明条目记录了自 10.1-RELEASE 以来发布的最新安全公告、新的驱动程序或硬件支持、新的命令或选项、主要错误修复以及第三方的软件升级。此外,还可能列出对主要 Port/软件包或发布工程实践的更改。不过,发行说明无法列出发行版本间 FreeBSD 所有的更改,因此该文件主要关注安全公告、用户可见的更改和主要的架构改进。
[amd64, i386] 支持使用 freebsd-update(8) 工具在 RELEASE 版本(以及各安全分支的快照)之间进行二进制升级。二进制升级过程会更新未修改的用户空间工具,以及作为官方 FreeBSD 发行版一部分分发的未修改的 GENERIC
内核。freebsd-update(8) 工具要求升级主机具有互联网连接。
从旧版升级支持基于源代码的升级(通过从源代码重新编译 FreeBSD 基本系统),可参考 /usr/src/UPDATING
中的说明。
重要提示
在尝试升级 FreeBSD 之前,务必备份 所有 数据和配置文件。
本节列出了自 10.1-RELEASE 以来的各种安全公告和勘误通知。
| 公告编号 | 日期 | 主题 | |-||| | FreeBSD-SA-14:27.stdio | 2014 年 12 月 10 日 | stdio 中的缓冲区溢出 | | FreeBSD-SA-14:28.file | 2014 年 12 月 10 日 | file(1) 和 libmagic(3) 中的多项漏洞 | | FreeBSD-SA-14:30.unbound| 2014 年 12 月 17 日 | 远程拒绝服务漏洞 | | FreeBSD-SA-14:31.ntp | 2014 年 12 月 23 日 | NTP 套件中的多项漏洞 | | FreeBSD-SA-15:01.openssl| 2015 年 1 月 14 日 | OpenSSL 中的多项漏洞 | | FreeBSD-SA-15:02.kmem | 2015 年 1 月 27 日 | SCTP 内核内存损坏与信息泄露漏洞 | | FreeBSD-SA-15:03.sctp | 2015 年 1 月 27 日 | SCTP 流重置漏洞 | | FreeBSD-SA-15:04.igmp | 2015 年 2 月 25 日 | IGMP 协议中的整数溢出漏洞 | | FreeBSD-SA-15:06.openssl| 2015 年 3 月 19 日 | 多项漏洞 | | FreeBSD-SA-15:07.ntp | 2015 年 4 月 7 日 | 多项漏洞 | | FreeBSD-SA-15:08.bsdinstall| 2015 年 4 月 7 日 | 不安全的默认 GELI 密钥文件权限 | | FreeBSD-SA-15:09.ipv6 | 2015 年 4 月 7 日 | 路由器通告导致的拒绝服务漏洞 | | FreeBSD-SA-15:10.openssl| 2015 年 6 月 16 日 | 多项漏洞 | | FreeBSD-SA-15:12.openssl| 2015 年 7 月 9 日 | OpenSSL 替代链证书伪造漏洞(注:此问题不影响 FreeBSD 10.1-RELEASE) | | FreeBSD-SA-15:13.tcp | 2015 年 7 月 21 日 | 由于会话卡在 LAST_ACK
状态导致的资源耗尽 | | FreeBSD-SA-15:14.bsdpatch| 2015 年 7 月 28 日 | 命令注入漏洞 | | FreeBSD-SA-15:15.tcp | 2015 年 7 月 28 日 | TCP 重组中的资源耗尽漏洞 | | FreeBSD-SA-15:16.openssh| 2015 年 7 月 28 日 | 多项漏洞 | | FreeBSD-SA-15:18.bsdpatch| 2015 年 8 月 5 日 | 命令注入漏洞 | | FreeBSD-SA-15:19.routed | 2015 年 8 月 5 日 | 远程拒绝服务漏洞 |
2014 年 12 月 23 日
2015 年 2 月 25 日
2015 年 2 月 25 日
OpenSSL 更新
2015 年 2 月 25 日
2015 年 5 月 13 日
2015 年 5 月 13 日
UFS 在启用 SU+J 调优时导致重启死锁
2015 年 6 月 9 日
多个拒绝服务问题
2015 年 6 月 9 日
ZFS 可靠性改进
2015 年 6 月 30 日(修订版)
Sendmail TLS/DH 互操作性改进
2015 年 6 月 30 日
修复了区域设置与 rune 区域设置状态之间的不一致问题
2015 年 6 月 30 日
本节涉及对用户空间应用程序、第三方软件和系统工具的更改和新增内容。
termcap(5) 文件现在直接从源代码安装,而无需重新排序,默认创建 /etc/termcap.db
。此更改为使用 termcap(5) 数据库的应用程序(如 vi(1) 和 ncurses(3))提供了性能提升。(r276991)
新增工具 dpv(1),已添加到基本系统中,提供从一个或多个输入流生成 dialog(1) 风格的进度视图。与之对应的库 dpv(3) 也已添加。(r275040)
elfdump(1) 工具已更新,支持 capsicum(4) 提供的能力模式。(r275945)
新增了 fstyp(8) 工具,用于确定指定设备上的文件系统。(r277434)(由 FreeBSD 基金会赞助)
mkimg(1) 工具已更新,支持 MBR EFI 分区类型。(r278968)(由 FreeBSD 基金会赞助)
修复了 libarchive(3) 库的一个回归问题,该问题会导致在使用 --one-file-system
时目录未被包含到归档中。(r281044)
netstat(8) 工具新增 -R
参数,用于输出 RSS/流信息。(r281161)(由 Limelight Networks 赞助)
ar(1) 工具已更新,设置了 ARCHIVE_EXTRACT_SECURE_SYMLINKS
和 ARCHIVE_EXTRACT_SECURE_NODOTDOT
,以禁止在解压缩压缩文件时的目录遍历行为,与 tar(1) 类似。(r281936)(由 FreeBSD 基金会赞助)
修复了 wc(1) 中的一个竞争条件,该问题会导致在接收到 SIGINFO
信号时将最终结果发送到 stderr(4)。(r282278)
freebsd-update(8) 工具已更新,防止在之前的升级尚未完全完成时获取更新的二进制补丁。(r282870)(由 ScaleEngine, Inc. 赞助)
新增了 uefisign(8) 工具。(r282974)(由 FreeBSD 基金会赞助)
chflags(1)、chgrp(1)、chmod(1) 和 chown(8) 工具在使用 -R
参数时现在会影响符号链接,如 symlink(7) 所述。(r283875)(由 Multiplay 赞助)
date(1) 工具已更新,使其能够输出通过 -r
参数指定的文件的修改时间,从而提高与 GNU date(1) 工具行为的兼容性。(r283258)
mkimg(1) 工具新增 -c
参数,用于指定目标磁盘镜像的容量。(r284523)
pw(8) 工具新增 -R
参数,用于设置该工具操作的根目录。(r285092)
resolvconf(8) 工具已更新至版本 3.7.0。(r282746)(由 FreeBSD 基金会赞助)
nc(1) 工具已更新至 OpenBSD 5.7 版本。(r283270)
时区数据文件已更新至版本 2015e。(r284398)
acpi(4) 子系统已更新至版本 20150515。(r284460)
file(1) 工具已更新至版本 5.23。(r284778)
unbound(8) 工具已更新至版本 1.5.3。(r285206)
sendmail 工具已更新至版本 8.15.2。(r285305)
OpenSSL 已更新至版本 1.0.1p。(r285330)
NTP 套件已更新至版本 4.2.8p3。(r285612)
ssh(1) 工具已更新,以在定位文件 known_hosts
中的主机之前重新实现主机名规范化功能。(r285750)(由 Dell, Inc. 赞助)
tar(1) 工具已更新,修复阻止稀疏文件压缩的问题。(r286084)
bsdinstall(8) 已添加支持,用于检测并实施针对某些无法从 GPT 分区磁盘正确启动的笔记本电脑和主板的解决方法。此外,当需要时,分区的 active
参数将被设置。(r285769)(由 ScaleEngine, Inc. 赞助)
bsdinstall(8) 已添加支持,用于在 1MB 边界上对齐分区。(r285721)(由 ScaleEngine, Inc. 赞助)
bsdinstall(8) 已添加支持,可在安装 UFS 文件系统时选择分区方案。(r285769)(由 ScaleEngine, Inc. 赞助)
/etc/rc.d
脚本新增 rc(8) 脚本 growfs
,如果存在 /firstboot
,该脚本将在启动时调整根文件系统的大小。(r284009)
/etc/periodic
脚本新增 periodic(8) 脚本 510.status-world-kernel
,它通过 uname(1) 的 -U
和 -K
参数评估当前运行的用户空间和内核版本,如果系统用户空间与内核版本不同步,则会打印错误信息。(r277520)(由 FreeBSD 基金会赞助)
基本系统新增新的文件配置库 figpar(3)。(r275040)
procctl(2) 系统调用已更新,支持非 init(8) 进程被声明为子进程及其后代的回收者功能。(r276686)(由 FreeBSD 基金会赞助)
setmode(3) 函数已更新,以确保在失败时一致地设置 errno
。(r280392)
Linux® 兼容性版本已更新至 2.6.18
。compat.linux.osrelease
sysctl(8) 在构建 emulators/linux-c6
和相关端口时会被评估。(r275807)
本节介绍了内核配置、系统调优及系统控制参数的变更,这些内容未归类至其他部分。
修复了在销毁配置了 gif(4) 的 vnet(9) jail(8) 时触发的内核崩溃问题。(r276068)
修复了在销毁配置了 gre(4) 的 vnet(9) jail(8) 时触发的内核崩溃问题。(r284018)
在 FreeBSD/i386 中新增了内核配置选项 PAE_TABLES
,该选项让 pmap(9) 使用 PAE 格式的页表,同时在内核的其他部分保持 32 位物理地址大小。使用此选项可通过在现代 i386 处理器上启用“不可执行”映射来增强应用程序级别的安全性。与选项 PAE
不同,PAE_TABLES
保持了与非 PAE
内核的内核二进制接口 (KBI) 兼容性,使非 PAE
的内核模块和驱动程序可以与启用了 PAE_TABLES
的内核一起工作。此外,系统限制被调整为最大支持 4GB 内存,避免了内核虚拟地址空间 (KVA) 耗尽的问题。(r282065)(由 FreeBSD 基金会赞助)
新增了 SIFTR
内核配置选项,允许将 siftr(4) 静态编译到内核中。(r282826)
在 [amd64, i386] 平台中,nvd(4) 和 nvme(4) 驱动程序现在默认包含在 GENERIC
内核配置中。(r283076)(由英特尔公司赞助)
新增了一个新的内核配置选项 EM_MULTIQUEUE
,用于启用 em(4) 驱动程序的多队列支持。(r284522)(由 Limelight Networks 赞助)
注意: em(4) 驱动程序中的多队列支持并未得到 Intel® 官方支持。
通过 device.hints(5) 禁用了默认的 ACPI 和 P4TCC 调节功能。(r276986)
hwpmc(4) 的默认和最大调用链深度已增加,默认值从 16 增加到 32,最大值从 32 增加到 128。(r278982)(由 FreeBSD 基金会赞助)
devfs(5) 设备文件系统已更新,读/写操作的时间戳精度改为秒。此外,新增了 sysctl(8) 参数 vfs.devfs.dotimes
,当设置为非零值时,将启用默认精度的时间戳。(r281255)(由 iXsystems 和 FreeBSD 基金会赞助)
kern.osrelease
和 kern.osreldate
现在可作为 jail(8) 的可配置参数。(r280632)
新增了 sysctl(8) 参数 kern.racct.enable
,当设置为非零值时,允许在使用 GENERIC
内核的系统上启用 rctl(8)。同时,新增了一个内核配置选项 RACCT_DISABLED
。(r284665)(由 FreeBSD 基金会赞助)
GENERIC
内核配置现在默认包含 RACCT
和 RCTL
。(r284665)(由 FreeBSD 基金会赞助)
注意
要在使用
GENERIC
内核配置的系统上启用RACCT
和RCTL
,需要在 loader.conf(5) 中添加kern.racct.enable=1
,并重启系统。
本节介绍自 10.1-RELEASE 以来对设备和设备驱动程序的更改和新增内容。
已更新 drm
代码,以匹配 Linux® 版本 3.8.13。(r282199)
psm(4) 驱动程序已更新,以改进对新型 Synaptics® 触控板和新款联想™笔记本上的 ClickPad® 鼠标的支持。(r281708)
mpr(4) 驱动程序已更新至版本 9.255.01.00-fbsd。(r283990)
hpt27xx(4) 驱动程序已更新至版本 1.2.7。(r284879)
hptnr(4) 驱动程序已更新至版本 1.1.4。(r284935)
pf(4) 接口的默认哈希算法已从 Jenkins
更改为 Murmur3
,从而提高了每秒数据包处理性能 3%。(r274486)
已更新驱动程序 ral(4) ,以支持 RT5390 和 RT5392 芯片组。(r279157)
对驱动程序 gre(4) 进行了重大重构,并拆分成为两个独立模块:gre(4) 和 me(4)。(r284066)(由 Yandex LLC 赞助)
新增了 vxlan(4) 驱动程序,创建了一个虚拟的 Layer 2(以太网)网络,覆盖在 Layer 3(IP/UDP)网络上。vxlan(4) 驱动程序类似于 vlan(4),但设计上更适合大型、多租户的数据中心环境。(r284365)
cdce(4) 驱动程序已更新,增加了对 RTL8153 芯片组的支持。(r284499)
sfxge(4) 驱动程序已更新,增加了对 Solarflare Flareon Ultra 7000 系列芯片组的支持。(r284555)(由 Solarflare Communications, Inc. 赞助)
本节涉及物理机器、虚拟化环境及硬件虚拟化程序的通用硬件支持,以及无法归类到其他部分的硬件更改和更新。
uart(4) 驱动程序已更新,增加了对联想® ThinkPad™ T61 上的 AMT 串行接口的支持。(r278407)
uart(4) 驱动程序已更新,增加了对联想® ThinkPad™ T400 上的 AMT 串行接口的支持。(r279924)
snd_hda(4) 驱动程序已更新,增加了对联想® ThinkPad™ X1 20BS 型号的支持。(r281963)
新增了 virtio_console(4) 驱动程序,为 VirtIO 控制台设备提供了通过 tty(4) 设备的接口。(r275273)
bhyve(8) 虚拟化程序已更新,增加了对支持 SVM 和 AMD-V 硬件扩展的 AMD® 处理器的支持。(r276403)
bhyve(8) 虚拟化程序已更新,增加了对虚拟 AHCI 磁盘的 DSM TRIM
命令的支持。(r280370)
Hyper-V™ 驱动程序已进行多项增强更新:(r283280)(由微软开源技术中心赞助)
hv_vmbus(4) 驱动程序现在支持多通道。
hv_storvsc(4) 驱动程序现在支持散布/聚集操作,并且进行了性能提升。
hv_kvp(4) 驱动程序修复了多个 bug。
hv_netvsc(4) 驱动程序已更新,增加了对校验和卸载和 TSO 的支持。(r285236)(由微软开源技术中心赞助)
新增了对使用 shutdown(8) -p
参数和通过调用 poweroff(8) 来关闭 BeagleBone Black 系统的支持。(r278079)
新增了对 Exynos 5420 Octa 系统的支持。(r278599)
已为 FreeBSD 支持的所有 Exynos 5 系统启用选项 SMP 。(r278599)
新增了 bcm2835_cpufreq
驱动程序,支持树莓派 SOC 的 CPU 频率和电压控制。(r278608)
新增了对 Toradex Apalis i.MX6 开发板的支持。(r283500)
新增了用于数字音频多路复用器(AUDMUXM)、智能直接内存访问控制器(SDMA)和同步串行接口(SSI)的音频传输驱动程序。(r283500)
本节介绍了文件系统和其他存储子系统(本地存储和网络存储)的更改和新增内容。
ctl(4) LUN 映射已重写,取代了专门针对 iSCSI 的映射机制,采用了一种适用于所有端口的新机制。(r279002)(由 iXsystems 赞助)
ctld(8) 工具已更新,支持控制非 iSCSI 的 ctl(4) 端口。(r279055)(由 iXsystems 赞助)
autofs(5) 子系统已更新,新增了名为 -media
的新 auto_master(5) 映射,可用于自动挂载可移动媒体,如 CD 驱动器或 USB 闪存驱动器。(r283223)(由 FreeBSD 基金会赞助)
autofs(5) 子系统已更新,新增了名为 -noauto
的新 auto_master(5) 映射,用于处理设置为 noauto
的 fstab(5) 条目。(r283242)(由 FreeBSD 基金会赞助)
ctld(8) 工具已更新,增加了对在 iSNS 服务器上注册 iSCSI 目标和门户的支持。这为 iSCSI 发起者提供了一种机制,可以在无需主动发现的情况下找到目标和门户。(r274939)(由 iXsystems 赞助)
mount_nfs(8) 工具已更新,增加了对 timeo
、actimeo
、noac
和 proto
选项的支持。(r275249)(由 FreeBSD 基金会赞助)
新增了可调参数 vfs.zfs.spa_slop_shift
,用于控制默认保留多少空间。(r275490)
现在可以通过 sysctl(8) kstat
查看 arc_meta_limit
统计信息。由于这一更改,vfs.zfs.arc_meta_used
被移除,取而代之的是 sysctl(8)。(r277583) kstat.zfs.misc.arcstats.arc_meta_used
ctl(4) 子系统已更新,端口限制从 128
增加到 256
,LUN 限制从 256
增加到 1024
。(r275891)(由 iXsystems 赞助)
gpart(8) 工具已更新,增加了对 apple-boot
、apple-hfs
和 apple-ufs
MBR 分区方案的支持。(r282861)
本节介绍了引导加载器、引导菜单和其他与引导相关的更改。
EFI 加载器已添加对 bzipfs
的支持。(r281323)
引导加载器已更新,支持在加载内核之前输入 GELI 密码。要启用此行为,请在 loader.conf(5) 中添加 geom_eli_passphrase_prompt="YES"
。(r281843)
在 FreeBSD/amd64 平台上,已默认禁用启动时进行的内存测试。(r283262)(由 FreeBSD 基金会赞助)
新增了 ttys(5) 类 3wire
,它类似于现有的终端类,但没有定义的波特率。(r283972)
[arm] FreeBSD/arm 的 ttys(5) 文件已更新,默认启用 ttyu1
、ttyu2
和 ttyu3
,前提是呼叫端口是活动的控制台端口。(r284775)(由 FreeBSD 基金会赞助)
本节介绍了影响 FreeBSD 网络功能的更改。
已向 tcp(4) 堆栈添加了对 PLPMTUD 黑洞检测(RFC 4821)的支持,默认情况下禁用。新增了以下控制可调项:(r273838)(由 Limelight Networks 赞助)
net.inet.tcp.pmtud_blackhole_detection
启用或禁用 PLPMTUD 黑洞检测
net.inet.tcp.pmtud_blackhole_mss
尝试的 IPv4 MSS
net.inet.tcp.v6pmtud_blackhole_mss
尝试的 IPv6 MSS
新增了 sysctl(8) 监控项:
net.inet.tcp.pmtud_blackhole_activated
代码尝试降低 MSS 时被激活的次数
net.inet.tcp.pmtud_blackhole_min_activated
使用黑洞 MSS 尝试降低 MSS 的次数
net.inet.tcp.pmtud_blackhole_failed
在降低 MSS 后,黑洞连接失败的次数
本节介绍了 FreeBSD Ports、软件包基础设施以及软件包维护和安装工具的更改。
ports-mgmt/pkg
软件包已更新至 quarterly
分支的 1.5.4 版本,以及 head
分支的 1.5.5 版本。
FreeBSD 10.2-RELEASE 的 x11-servers/xorg-server
软件包已更新至 1.14.7_5 版本。
FreeBSD 10.2-RELEASE 的 x11/xorg
软件包已更新至 7.7_2 版本。
FreeBSD 10.2-RELEASE 的 x11/gnome3
软件包已更新至 3.14.2 版本。
FreeBSD 10.2-RELEASE 的 x11/kde4
软件包已更新至 4.14.3 版本。
本节讨论了与 FreeBSD 发布工程过程相关的更改。
发布工程构建工具已更新,支持在没有外部工具的情况下构建 FreeBSD/arm 镜像,适用于 Ports 集合中存在相应 u-boot
软件包的支持板。(r283161)(由 FreeBSD 基金会赞助)
现在,FreeBSD/i386 内存棒安装镜像是使用 mkimg(1) 工具创建的,方式与 FreeBSD/amd64 镜像的创建方式一致。(r283548)(由 FreeBSD 基金会赞助)
默认的 pkg(8) 仓库设置在 /etc/pkg/FreeBSD.conf
中,现默认为 quarterly
软件包集。若要使用 latest
分支(以前的默认设置),请按照 /etc/pkg/FreeBSD.conf
顶部的注释操作,禁用默认仓库并指定替代仓库。(r285830)(由 FreeBSD 基金会赞助)
修复了 中的目录删除问题
使用不当的 ioctl 参数时导致崩溃
按非最佳顺序更新库文件
未确保之前的升级已完成
改进了 对 UTF-7 的支持