FreeBSD 9.3-RELEASE 发行说明(2014 年 7 月 16 日)
最后更新于
最后更新于
FreeBSD 9.3-RELEASE 的发行说明包含了 9.3-STABLE 开发线中对 FreeBSD 基本系统所做的更改的摘要。本文列出了自上次发行以来发布的适用安全公告,以及对 FreeBSD 内核和用户空间的重要更改。同时,还提供了一些关于升级的简要说明。
本文档包含了 FreeBSD 9.3-RELEASE 的发行说明。它介绍了 FreeBSD 最近添加、修改或删除的功能,并提供了一些关于从以前版本升级的说明。
这个版本的 FreeBSD 9.3-RELEASE 是一个发布版。可以在 或其镜像站点找到。有关如何获取这个版本(或其他版本)的更多信息,可以参见 中的“获取 FreeBSD”附录。
所有用户都被鼓励在安装 FreeBSD 之前查看发布的勘误文档。勘误 文档会更新包含发布周期末或发布后发现的“最后时刻”信息。通常,它包含已知的错误、安全公告和文档修正。FreeBSD 9.3-RELEASE 的最新勘误副本可以在 FreeBSD 网站上找到。
本节介绍了自 9.2-RELEASE 以来 FreeBSD 中最显著的新增或更改功能。
典型的发行说明项目会记录在 9.2-RELEASE 之后发布的最新安全公告、新的驱动程序或硬件支持、新的命令或选项、主要的错误修复或第三方软件升级。它们还可能列出主要 port/包或发布工程实践的更改。显然,发行说明无法列出在发行版之间对 FreeBSD 所做的每一个更改;本文档主要关注安全公告、用户可见的更改和重大架构改进。
以下安全公告中介绍的问题已经修复。有关更多信息,请查阅个别公告,详情见 。
2014 年 1 月 14 日
2014 年 1 月 14 日
2014 年 1 月 14 日
远程拒绝服务漏洞
2014 年 4 月 8 日
NFS 服务器死锁
2014 年 4 月 8 日
ECDSA 侧信道泄露
2014 年 4 月 30 日
TCP 组装漏洞
2014 年 5 月 26 日
Sendmail 错误的 close-on-exec 参数处理
2014 年 6 月 3 日
2014 年 6 月 3 日
PAM 策略解析器中的错误处理
2014 年 6 月 5 日
多个漏洞
2014 年 6 月 24 日
多个漏洞
2014 年 7 月 8 日
控制消息和 SCTP 通知中的内核内存泄漏
FreeBSD 桌面用户请注意:请在升级依赖 Xorg 的 Port 之前仔细阅读此部分。
2014 年 4 月,FreeBSD Ports 切换到了一个支持 KMS(内核模式设置)的新版本 Xorg。
从早期版本的 FreeBSD 9.x 或 FreeBSD 8.x 升级的用户应注意以下几点:
基于源代码的升级(即基于从源代码重新编译 FreeBSD 基本系统)也支持,从先前版本开始,参照 /usr/src/UPDATING
中的说明进行。
升级 FreeBSD 前,请务必备份 所有 数据和配置文件。
修复 远程拒绝服务漏洞
默认禁用 中的“monitor”功能
内核内存泄漏
驱动已更新至版本 1.20.00.28。
驱动现在可以通过 加载。(由 FreeBSD 基金会赞助)
现在已将系统级 值公开给 设备。
驱动已更新,支持 MegaRAID Invader 控制器。
修复了 zfs_root()
中在回滚失败后引发的内核 panic。
新增 debug.devfs_iosize_max_clamp
,用于启用或禁用 SSIZE_MAX
大小的 I/O 请求在 文件上。(由 FreeBSD 基金会赞助)
新增 kern.disallow_high_osrel
,它禁止执行在用户空间编译的比正在运行的内核版本号更高的版本的镜像。(由 FreeBSD 基金会赞助)
修复了卸载繁忙 文件系统时引发的内核 panic。
修复了关机时电源关闭 USB 设备引发的死锁问题。
驱动已更新,支持 Intel Lynx Point PCH SMBus 设备。
驱动已更新,支持 Coleto Creek 设备。
驱动已更新,支持 Apple® MacBook Air(型号 A1465)中的 PCIe 固态硬盘。
现在可以在运行时修改 vfs.zfs.arc_meta_limit
。
系统调用已更新,更优化地使用超级页,并提供支持调整虚拟映射对齐的功能。
在 驱动中实现了一个解决 BCM5719 和 BCM5720 芯片组传输挂起问题的临时解决方案。
修复了在启用 INVARIANTS
的系统上列出 sysctl 时引发的内核 panic。
新增 kern.supported_archs
,它将列出系统上可以运行的 MACHINE_ARCH
值的二进制文件。
修复了可能在 和 过程中触发内核 panic 的几个问题。(由 Spectra Logic 赞助)
修复了某些多线程应用程序引发的内核 panic。(由 FreeBSD 基金会赞助)
固件已从 runfw
更名为 run.fw
,以与其他固件文件保持一致。
新增 kern.panic_reboot_wait_time
,该选项可调整系统在 后重启前等待的时间。kern.panic_reboot_wait_time
默认值为内核配置选项 PANIC_REBOOT_WAIT_TIME
。
硬件随机数生成器默认已禁用。
驱动已添加对 GPS 端口的支持。
修复了 l2arc_write_done()
中的压缩缓冲区内存泄漏问题。
框架已更新为与 head/
中的版本相匹配,新增了 netmap 管道、kqueue 支持和增强的 VALE 交换机端口。
修复了发送挂载的 快照时触发的死锁问题。
驱动已添加对 SIIG X1 PCI-e 的支持。
已启用对 ext4 文件系统的支持,支持只读挂载。
修复了在启用 VIMAGE 的系统中插入 USB 以太网设备时触发的内核 panic。
TTM,视频驱动程序使用的内存管理器,已合并。(由 FreeBSD 基金会赞助)
已向 添加对 /sys/kernel/random/uuid
的支持。
修复了函数 zpool_in_use()
中的内存泄漏问题。
新增了 extensible_dataset
功能。有关更多信息,请参见 。
修复了 libzfs
中的内存泄漏问题。
驱动已从 head/
合并。(由 FreeBSD 基金会赞助)
新增 设备,提供对 LSI Fusion-MPT 3 12Gb SCSI/SATA 控制器的支持。(由 LSI 和 Spectra Logic 赞助)
修复了一个内核 bug,该 bug 阻止了在启用睿频™ 的 Intel® 处理器上正常使用 dev.cpu.0.freq
。
现在支持 硬件辅助虚拟化,XENHVM
可作为加载模块 xenhvm.ko
使用。
已添加对 Apple® MacBook 产品的触控板支持。
已弃用 驱动,建议改用 驱动。
驱动已更新,支持 MegaRAID Fury 卡。
已添加 Radeon KMS 驱动。
驱动已更新至版本 3.2.5。
驱动已更新,增加对 RTL8106E 芯片组的初步支持。
驱动已更新,支持 RTL8168G、RTL8168GU 和 RTL8411B 芯片组。
驱动已更新,增加对 RTL8168EP 芯片组的初步支持。
驱动已更新至版本 10.0.664.0。
已从 head/
导入 驱动。
已从 head/
导入 驱动。
驱动已更新,支持 BCM5725 芯片组。
驱动已更新,支持 BCM57764、BCM57767、BCM57782、BCM57786 和 BCM57787 芯片组。
驱动已更新,支持 MediaTek/Ralink 芯片组 RT5370 和 RT5372。
已重新对齐 无线电射频头,允许无线适配器在 arm、mips 等对齐要求较高的平台上工作。
固件已更新至版本 0.33。
已从 head/
合并 驱动,提供对 Broadcom NetXtreme II 10Gb PCIe 适配器的支持。
驱动已更新,包含对 MediaTek/Ralink RT3593 芯片组的支持。
驱动已更新,包含对 DLINK DWA-127 无线适配器的支持。
驱动已添加。
已从 OpenBSD 导入 驱动。
驱动已更新至版本 1.78.78。
文件系统已更新,支持 bookmarks
功能。
在 和 中新增了 -c
参数,用于将进程查找限制为指定的登录类。
工具已更新,增加了命令 show ioapic
和 show all ioapics
。
现在,设置 nmbcluster
值为当前值时将被忽略,而不是导致错误。
现在创建目录 /var/cache
时的权限为 0755
,而不是 0750
,因为此目录被许多第三方应用程序使用,导致无法撤销组权限。
工具已更新,新增了 -U
和 -K
参数,分别打印当前用户空间和内核的 __FreeBSD_version
。
库已更新,支持 SNI(服务器名称识别),允许在 HTTPS 上使用虚拟主机。
修复了在 中触发的段错误和内部编译器错误,该错误由在解析任何令牌之前抛出警告引起。
从谷歌导入了多个 更新。(由 Google 提供/贡献)
修复了 Heimdal gss_pseudo_random()
函数中的字节顺序错误,该错误会阻止与其他 Kerberos 实现的互操作性,特别是与 MIT 实现的互操作性。
工具已更新,输出当前队列大小。
工具将不再截断 command
输出列。
新增了 命令,用于在交换空间耗尽时使进程免于被终止。
工具现在防止停用镜像的最后一个组件。
新增了 命令 gmirror destroy
,用于销毁 和擦除 元数据。
已从 head/
合并 工具,管理 /etc
目录中文件更新的工具。
工具已更新,修复了参数 -lname
和 -ilname
的错误行为。
hw.uart.console
现在每次 comconsole 设置发生变化时都会更新。
工具已更新,显示指向 的消息,而不是“Exec format error”的加密消息。
修复了可能触发 KDE 和 X 无限循环的错误。
工具已更改为使用文件的大小,而不是文件在磁盘上占用的块,以匹配 文档中介绍的行为。
修复了 中的一个 bug,该 bug 会导致数字参数被误认为是额外的参数。
工具现在新增了 -V
参数,用于列出每个设备的序列号等信息。
修复了一个 bug,该 bug 允许创建不一致数据集的 快照。
通过 zfs recv -F
接收 数据集时,现在会正确销毁自增量源快照以来创建的任何快照。
从只读的 .OBJDIR
进行安装的 bug 已修复。
新增了一个共享库目录 /usr/lib/private
,用于存放内部使用的共享库。
为 32 位应用程序添加了默认的 libmap32.conf
。
已导入 libucl
库,这是一个兼容 JSON 的配置文件解析库。
已与 head/
同步 包管理工具。这在使用 pkg bootstrap
启动系统时实现了二进制包签名验证。
系统时区数据文件已更新为版本 tzdata2014a。
已导入 NetBSD 的 工具 bmake
,以与 FreeBSD Ports 兼容。它被安装为 bmake
;而 make
仍然是 FreeBSD 版本。
库现在支持返回 UTC 而不是 GMT 的 Last-Modified
时间戳。
为 命令 list -t snap
和 snap
添加了别名,以匹配 Oracle® Solaris 11。
新增了 -p
参数,用于 的 list
命令,以提供可解析的输出。
OpenPAM 已更新至 Nummularia (20130907),包含多个 bug 修复和文档改进。 库已完全重写。
命令解释器已更新,以在 export
、local
和 readonly
后以不同方式扩展赋值。因此,像 local v=$1
这样的变量赋值将把第一个位置参数赋值给 v
,即使 $1
包含空格,而 local w=~/myfile
将展开波浪符(~
)。
工具已更新以实现 -ignore_readdir_race
。在此更改之前,-ignore_readdir_race
是 GNU 兼容选项,如果指定则会被忽略。现在也有了一个计数主选项 -noignore_readdir_race
,这是默认行为。
工具已更新,新增了 -J
参数,用于通过匹配 ID 和名称来过滤输出。此外,可以使用参数 0
对 -J
进行过滤,仅列出主机系统上运行的进程。
工具已更新,新增了通过 ID 或名称进行过滤的功能,作为对 在 r265229
中更新的跟进。
Blowfish 的默认格式已更改为 $2b$
。
默认的 现在默认包含目录 /etc/newsyslog.conf.d/
和 /usr/local/etc/newsyslog.conf.d/
中的文件,供 使用。
新增了参数 onifconsole
到 /etc/ttys
。如果设备是活动的内核控制台,系统将通过串行控制台提供登录提示,否则该参数等效于 off
。
库已更新,以与 FreeBSD-CURRENT 保持一致。
工具已更新,新增了 -l
参数,该参数会在指定的秒数后结束事件收集。
FreeBSD 项目已从 GNATS bug 跟踪系统迁移到 Bugzilla。用于提交问题报告的 工具已被替换为一个空壳脚本,指引用户使用 Bugzilla 网络界面。
已优化 脚本 /etc/periodic/security/800.loginfail
,以捕捉更多的身份验证失败并减少误报。
已为 增加对“首次启动”脚本的支持。有关实现细节,请参阅 和 。
系统现在将在接收到 SIGALRM
后重新加载 。
库已更新至版本 1.104。
Sendmail 已更新至版本 8.14.9。
BIND 已更新至版本 9.9.5。(由 DK Hostmaster A/S 赞助)
工具已更新至 5.0.5 以后的快照版本。
OpenSSH 已更新至版本 6.6p1。
OpenSSL 已更新至版本 0.9.8za。
当从 FreeBSD Ports 构建应用程序和从 仓库安装 new_xorg
时,将使用较新的、支持 KMS 的版本 Xorg。
KMS 版本的 Xorg 在退出 X 图形桌面环境后不会切换回文本模式,系统控制台将不可见。新的控制台驱动程序 支持图形控制台,并在退出 X 后保持控制台可见。 驱动程序必须编译到内核中。9.3-RELEASE 中包括了一个 VT
内核配置示例文件,但默认未编译或启用。有关更多信息,请参见 和 。
默认的 pkg(8)
仓库中没有 KDE4 的软件包,但可以在 new_xorg
仓库中找到。有关如何使用 new_xorg
仓库的详细信息,请参阅 。
不支持 KMS 的旧版 Xorg 仍然可以从默认的 latest
上游 仓库和 9.3-RELEASE DVD 上的包中安装。
然而,值得注意的是,一些较新的应用程序需要较新的 Xorg,并且无法与旧版本兼容。建议使用较新的 Xorg,除非不兼容旧显卡。
如果你在从 FreeBSD Ports 构建时继续使用旧版 Xorg,请在 中设置 WITHOUT_NEW_XORG=yes
。
作为发布构建的一部分, 工具将引导系统,从而使 在第一次系统升级后也能正常工作。
已更新 release.sh
脚本和发布 Makefile
为使用 来写入 DVD 安装介质。(由 FreeBSD 基金会赞助)
工具已更新,以支持多字节序。与 类似,services.db
将在跨架构发布构建时使用正确的字节顺序进行创建。
[amd64, i386] 版本之间的二进制升级(以及各种安全分支的快照)支持使用 工具。二进制升级过程将更新未修改的用户空间工具和未修改的 GENERIC
内核,这些内容作为官方 FreeBSD 版本的一部分进行分发。 工具要求被升级的主机具有互联网连接。
有关更具体的升级说明,请参阅 。
FreeBSD 9.0 及更高版本与先前版本的 FreeBSD 存在若干配置不兼容问题。理解这些差异对于升级非常重要。请在提交问题报告/在 FreeBSD 邮件列表上提问之前,仔细阅读本节和 。