FreeBSD 10.1-RELEASE 发行说明(2014 年 11 月 14 日)
摘要
FreeBSD 10.1-RELEASE 的发布说明包含了在 10.1-STABLE 开发线中对 FreeBSD 基本系统所做的更改的总结。本文列出了自上次发布以来发布的相关安全公告,以及 FreeBSD 内核和用户空间的重要更改。此外,还简要介绍了升级的相关事项。
介绍
本文档包含了 FreeBSD 10.1-RELEASE 的发布说明。它介绍了 FreeBSD 中最近添加、修改或删除的功能。同时也提供了一些关于从先前版本升级到本版本的说明。
此版本的 FreeBSD 10.1-RELEASE 是一个发布版本。可以在 http://www.FreeBSD.org/releases/
或其镜像站点找到。有关获取此版本(或其他版本)发行版的更多信息,请参阅 FreeBSD 手册 中的 获取 FreeBSD 附录。
所有用户在安装 FreeBSD 之前,建议先查阅发布差错文档。差错文档会在发布周期结束后或发布后进行更新,包含发现的最新信息。通常,它包含已知的错误、安全公告以及文档更正。FreeBSD 10.1-RELEASE 的最新差错文档可以在 FreeBSD 网站上找到。
新特性
本节介绍了自 10.0-RELEASE 以来,FreeBSD 中最显著的新增或更改功能。
典型的发布说明项目包括记录 10.0-RELEASE 后发布的安全公告、新的驱动程序或硬件支持、新命令或选项、重要的错误修复或第三方软件升级。还可能列出主要 Port/软件包或发布工程实践的更改。显然,发布说明无法列出每个版本之间对 FreeBSD 所做的所有更改;本文档主要关注安全公告、用户可见的更改和主要架构改进。
安全公告
自 FreeBSD 10.0-RELEASE 发布以来,已发布以下安全公告:
2013 年 11 月 19 日
OpenSSH AES-GCM 内存损坏漏洞
2014 年 1 月 14 日
bsnmpd 远程拒绝服务漏洞
2014 年 1 月 14 日
ntpd 分布式反射拒绝服务漏洞
2014 年 1 月 14 日
OpenSSL 多个漏洞
2014 年 1 月 14 日
BIND 远程拒绝服务漏洞
2014 年 4 月 8 日
NFS 服务器中的死锁
2014 年 4 月 8 日
OpenSSL 多个漏洞
2014 年 4 月 30 日
修复 devfs 规则未默认应用于 Jail 环境
2014 年 4 月 30 日
修复 TCP 重新组装漏洞
2014 年 4 月 30 日
修复 OpenSSL 使用后释放漏洞
2014 年 5 月 15 日
修复 OpenSSL 空指针解引用漏洞
2014 年 6 月 3 日
修复 sendmail 错误的 close-on-exec 参数处理
2014 年 6 月 3 日
修复 PAM 策略解析中的错误处理
2014 年 6 月 5 日
多个漏洞
2014 年 6 月 24 日
空指针解引用和越界数组访问漏洞
2014 年 6 月 24 日
多个漏洞
2014 年 7 月 8 日
内核内存泄露,存在于控制消息和 SCTP 通知中
2014 年 9 月 9 日
多个漏洞
2014 年 9 月 16 日
TCP 包处理中的拒绝服务漏洞
2014 年 10 月 21 日
远程缓冲区溢出漏洞
2014 年 10 月 21 日
远程拒绝服务漏洞
2014 年 10 月 21 日
沙箱环境中 namei 查找的内存泄露漏洞
2014 年 10 月 21 日
多个漏洞
2014 年 11 月 4 日
内核栈泄露
2014 年 11 月 4 日
远程代码执行漏洞
内核变更
新增了 sysctl(8) 选项 kern.panic_reboot_wait_time
,能控制系统在 panic(9) 后重启之前的等待时间。 (r260431)
vt(4) 驱动已从 FreeBSD-CURRENT 合并。要启用 vt(4),请在启动时的 loader(8) 提示符下输入 set kern.vty=vt
,或将 kern.vty=vt
添加到 loader.conf(5) 中并重启系统。 (r262861)
已为 PowerPC® 970 系列处理器添加了对 hwpmc(4) 的支持。 (r263122)
已为 iicbus(4) 驱动添加对新版 PowerBooks™ 和 iBooks™ 中的 ADT7460 和 ADT7467 风扇控制器的支持。 (r263197)
已修复删除 urtwn(4) 设备时触发的 panic。 (r263256)
已修复由分离创建字符设备的 USB 设备触发的 usb(4) 堆栈死锁。 (r263799)
已为 amdtemp(4) 添加对 AMD® Family 16h 传感器设备的支持。 (r263869)
已更新 uslcom(4) 驱动,支持 26 个新设备。 (r265610)
已修复一个内核错误,解决了启用 Turbo Boost™ 的 Intel® 处理器上 dev.cpu.0.freq
sysctl(8) 的功能问题。 (r266165)
已更新 uart(4) 驱动,支持 Intel® Lynx Point KT AMT 串行端口。 (r266436)
已更新 radeonkms(4)
驱动,添加 32 位 ioctl(2) 支持,使 32 位应用程序能够在 64 位系统上运行。 (r266594)
已修复一个错误,防止 jail(8) 在执行某些操作时设置正确的 IPv4 源地址,这些操作需要 security.jail.allow_raw_sockets
。 (r266718)
已更新 hwpmc(4) 驱动,支持 Atom™ Silvermont 架构的核心事件。 (r266911)
已更新 oce(4) 驱动,提供供应商提供的修复,以支持大端字节序和 20GB/s 和 25GB/s 链接速度。 (r268046)
FreeBSD 虚拟内存子系统已更新,实施了“快速路径”以处理页面错误。 (r270630)
已更新 asmc(4) 驱动,支持苹果® Mac Mini 3,1。 (r271069)
已更新 FreeBSD/powerpc64 默认内核配置 GENERIC64
,启用控制台驱动 vt(4) ,用于索尼 Playstation 3™ 平台。 (r271111)
FreeBSD/powerpc 已修改驱动 ofwfb
,以便在使用 vt(4) 控制台驱动时提供图形控制台,并与 Port x11-drivers/xf86-video-scfb
兼容。 (r271116)(由 FreeBSD 基金会赞助)
注意
如果使用 ATI 显卡与 vt(4) 驱动,则必须更新
x11-servers/xorg-server
包到版本1.12.4_8
及更高版本。
已从 FreeBSD-CURRENT 合并了若干对 vt(4) 驱动的性能增强。 (r271128)(由 FreeBSD 基金会赞助)
已将 powerpc64 架构的默认栈大小(KSTACK_PAGES
)从 4
增加到 8
。 (r271153)
FreeBSD/powerpc ATI 驱动已更新,支持启用和禁用在 Apple® PowerBook™ G4 中的 Radeon 9700 背光。 (r271205)
已为 drm/i915
驱动添加硬件上下文支持,支持 Mesa 9.2 及更高版本。 (r271816)
虚拟化支持
作为可加载模块,已为 FreeBSD/i386 添加对 Microsoft® Hyper-V 的支持,但在 GENERIC
内核配置中不可用。 (r259450)
bhyve(4) 虚拟化管理程序现在支持通过 ACPI S5 状态执行软关机功能。 (r261090)
已为 bhyve(4) 添加对 FreeBSD/i386 客户机的支持。 (r267399)
已为 bhyve(4) 添加对虚拟化 XSAVE
的支持,使客户操作系统能够使用 XSAVE
和启用 XSAVE
功能(如 AVX)。 (r267427)
现在虚拟化管理程序 bhyve(4) 能从 zfs(8) 文件系统启动。 (r268932)
新增了驱动 virtio_random(4),允许 FreeBSD 虚拟机从虚拟化管理程序中获取熵。 (r268933)
bhyve(4) 虚拟化管理程序已与 FreeBSD-CURRENT 中的版本同步。 (r270159)
已添加多个增强功能,并修复了若干错误,包括:
当虚拟机以
EPT Misconfiguration
错误退出时,已添加事后调试支持。虚拟化管理程序的 virtio(4) API 从 32 位扩展到 64 位。
添加了识别虚拟 CPU 功能的支持。
添加了模拟传统 x86 任务切换的支持。
添加了在基础内核 dmesg(8) 中列出 VT-x 特性的支持。
添加了对扩展 PCI 配置空间的支持。
ARM 支持
已添加内核配置文件 WANDBOARD
。 (r259355)
现在可以通过设置 u-boot 环境变量来指定启动设备。如果未指定启动设备,则将使用探测机制。要指定启动设备,请设置 u-boot 环境变量 loaderdev=device
。 (r265067)
已更新 nexus(4)
驱动,加入了 "Flattened Device Tree" 支持,在大多数情况下替代了 fdtbus(4) 驱动。 (r266000)
已从 FreeBSD-CURRENT 合并 gpioiic(4) 和 gpioled(4) 驱动。 (r266105)
已为内核添加了硬件浮点支持,并在包含所需硬件的所有平台的配置文件中默认启用。
C++ 异常处理现在可以与 GCC 一起工作。
已为内核添加了对 SMP 的支持,并在包含多核 CPU 的所有平台的配置文件中默认启用。
已为以下平台添加支持:
CHROMEBOOK(Samsung Exynos 5250)
COLIBRI(Freescale Vybrid)
COSMIC(Freescale Vybrid)
IMX53-QSB(Freescale i.MX53)
QUARTZ(Freescale Vybrid)
RADXA(Rockchip rk30xx)
WANDBOARD(Freescale i.MX6)
为树莓派添加了一款 I2C 驱动。
为 TI 平台(如 BEAGLEBONE 和 PANDABOARD)添加了支持的驱动:
PRUSS(可编程实时单元子系统)
MBOX(邮箱硬件)
SDHCI(新的更快的 MMC/SD 存储驱动)
PPS(GPIO/定时器引脚上的每秒脉冲输入)
PWM(脉宽调制输出)
ADC(模拟到数字转换器)
启动加载器更改
已在 loader(8) 中添加了内核选择菜单。如果启用了“beastie菜单”,可以从内核选择菜单中选择要启动的内核。可以在 loader.conf(5) 中以逗号或空格分隔的列表形式列出其他内核。默认情况下,列出 kernel
和 kernel.old
。 (r262701)
已重新排列 sys/boot/
源,将 libstand(3) 移动到一个目录,表示该库作为 32 位构建。 (r271130) (由 FreeBSD 基金会赞助)
libstand(3) 库已更新,以为 FreeBSD/amd64 和 FreeBSD/powerpc64 架构生成 64 位共享库。 (r271135) (由 FreeBSD 基金会赞助)
已添加对 UEFI 启动的初步支持。 (r271135) (由 FreeBSD 基金会赞助)
已安装三个新文件到 /boot
,来支持 UEFI 启动: (r271136) (由 FreeBSD 基金会赞助)
boot1.efi
:UEFI 第一阶段引导文件。boot1.efifat
:包含 EFI 系统分区的 FAT 文件系统镜像。loader.efi
:第三阶段引导文件。
已为 UEFI 启动加载器添加串行控制台和空控制台支持。 (r271880)
已为系统启动期间缓存 geli(8) 密码短语添加支持。当系统配置了多个使用相同密码短语的 GEOM_ELI
提供者时,首次输入的密码短语将被缓存,用于随后的 GEOM_ELI
提供者。如果缓存中的密码短语不正确,则会显示提示,要求为下一个提供者输入密码短语。 (r272006)
硬件支持
网络接口支持
已为 run(4) 驱动添加对 Ralink RT5370 和 RT5372 芯片组的支持。 (r259453)
run(4) 驱动的固件已更新至版本 0.33。 (r260120)
已为 run(4) 驱动添加对 Ralink RT3593 芯片组的支持。 (r261868)
nve(4) 驱动现在已被弃用,应改用 nfe(4) 驱动。 (r261972)
已添加对 axge(4) 驱动的支持。该驱动支持 ASIX AX88178A 和 AX88179 USB 以太网适配器。AX88178A 支持 USB 2.0,AX88179 支持 USB 2.0 和 3.0。 (r262137)
已从 OpenBSD 导入驱动 urndis(4) 。 (r262363)
已为 vmx(4) 驱动添加了对多个发送器/接收器队列的支持。 (r264866)
注意: FreeBSD 客户操作系统必须启用 MSIX,才能使用多个队列。
已为 urtwn(4) 驱动添加对 ASUS USB-N10 Nano 无线网卡的支持。 (r265345)
已为 re(4) 驱动禁用了对 RTL8168C 和 RTL8168CP 芯片组的 TCP 和 UDP 帧的传输校验和卸载支持。这是因为报告称带有 IP 选项的 UDP 数据报生成了损坏的帧。 (r266212)
已为 urtwn(4) 驱动添加了对 Realtek RTL8188EUS 和 RTL8188ETV 芯片组的初步支持。 (r266578)
已修复 cxgbe(4) 驱动中快速接收缓冲区回收路径的一个 bug。 (r267694)
T4 和 T5 卡的捆绑 cxgbe(4) 固件已更新至版本 1.11.27.0。 (r267849)(由 Chelsio 贡献/提供)
em(4) 驱动已更新至版本 7.4.2。 (r269196)
ixgbe(4) 可调参数已重命名,以匹配其 sysctl(8) 对应项: (r269975)
hw.ixgbe.enable_aim
hw.ix.enable_aim
hw.ixgbe.max_interrupt_rate
hw.ix.max_interrupt_rate
hw.ixgbe.rx_process_limit
hw.ix.rx_process_limit
hw.ixgbe.tx_process_limit
hw.ix.tx_process_limit
hw.ixgbe.enable_msix
hw.ix.enable_msix
hw.ixgbe.num_queues
hw.ix.num_queues
hw.ixgbe.txd
hw.ix.txd
hw.ixgbe.rxd
hw.ix.rxd
hw.ixgbe.unsupported_sfp
hw.ix.unsupported_sfp
如果在升级到 FreeBSD 10.1-RELEASE 之前使用了旧的可调参数,确保更新了 loader.conf(5)。
已从 FreeBSD-CURRENT 合并 if_nf10bmac(4) 驱动,以支持 NetFPGA-10G 嵌入式 CPU 以太网核心。 (r270061)
cxgbe(4) 驱动已更新,以支持 T5 10G/40G 卡的 netmap(4)。 (r270297)
vtnet(4) 驱动已更新,以支持 netmap(4)。 (r270509)
网络协议
已为 IPv4 和 IPv6 栈添加对 UDP-Lite 协议(RFC 3828)的支持。 (r265946)
已修复 sctp(4) 中的一个 bug,该 bug 允许两个监听套接字绑定到相同端口。 (r267771)
NFS 服务器的内核 RPC 代码进行了多项优化,显著提升了性能和对对称多处理(SMP)的可扩展性。(由 iXsystems 赞助)
iSCSI 发起程序已更新,支持在 iSCSI 设备配置了多个 IP 地址并跨不同网络接口时的重定向处理。此前,连接到此类 iSCSI 设备的客户端可能需要额外的客户端配置。 (r269065)(由 FreeBSD 基金会 赞助)
新增了一个 sysctl(8) 参数 kern.iscsi.fail_on_disconnection
,允许 iSCSI 客户端在连接丢失时移除附加的磁盘设备,之前会一直停止 I/O,直到连接恢复。 (r265523)(由 FreeBSD 基金会 赞助)
已优化 iSCSI 传输代码,以合并 PDU 并避免锁争用。 (r265524)(由 FreeBSD 基金会 赞助)
对 iSCSI 子系统进行了多项性能优化,包括推迟唤醒,直到接收到足够的数据进行文件读写,从而减少了 CPU 使用率并提高了大规模 I/O 工作负载下的吞吐量性能。 (r265524)(由 iXsystems 赞助)
已为 iSCSI ctld(8) 守护进程添加基于主机名和 IP 的访问限制支持。 (r263720)(由 FreeBSD 基金会 赞助)
ctld(8) 守护进程已更新,允许覆盖“默认”portal-group
配置。 (r263725)(由 FreeBSD 基金会 赞助)
ctld(8) 守护进程现在包括新的 auth-group
,名为 "default",默认设置为 deny
,并可以覆盖此设置。 (r263726)(由 FreeBSD 基金会 赞助)
urtwn(4) 驱动已更新,以支持 ASUS USB-AC51 无线网卡。 (r270514)
已从 FreeBSD-CURRENT 合并 Intel® XL710 以太网控制器驱动 ixlv(4)
。 (r270631)
磁盘与存储
geom(4) 子系统已更新,支持 I/O 直接调度。当满足安全性要求时,它可以避免将 I/O 请求传递给 GEOM 的 g_up
/g_down
线程,直接在调用者上下文中执行,从而避免了在 g_up
/g_down
线程中的 CPU 瓶颈,并减少了每次 I/O 的多个上下文切换。 (r260385)(由 iXsystems 赞助)
geom(4) RAID 驱动程序已更新,支持未映射的 I/O。 (r260385)(由 iXsystems 赞助)
cam(4) 子系统已更新,支持更细粒度的锁定、直接调度和多队列,结合 geom(4) 的直接调度,减少了锁争用并提升了 SCSI/ATA 栈的 SMP 可扩展性。 (r260387)(由 iXsystems 赞助)
geom(8) GEOM_MULTIPATH
类已更新,支持自动在线分区调整大小。 (r260478)
virtio_blk(4) 驱动程序已更新,支持未映射的 I/O。 (r260857)
virtio_scsi(4) 驱动程序已更新,支持未映射的 I/O。 (r260858)
已从 cd(4) 驱动程序中移除对基于 LUN 的 CD 变换器的支持。 (r264522)
已为 zfs(8) zvol
卷添加对 BIO_DELETE
的支持。 (r264732)
已为 ciss(4) 添加对第 9 代 HP 主机总线适配器卡的支持。 (r264734)
已添加 mpr(4) 设备,提供对 LSI Fusion-MPT 3 12Gb SCSI/SATA 控制器的支持。 (r265388)(由 LSI 赞助)
新增了 zvol
属性 volmode
和 sysctl(8) vfs.zfs.vol.mode
,允许在三种不同的方式间切换 zvol
的暴露方式:geom
、dev
和 none
。 (r265678)
已添加 mrsas(4) 驱动程序,提供对 LSI MegaRAID SAS 控制器的支持。默认情况下,mfi(4) 驱动程序将附加到控制器。要启用 mrsas(4),请在 /boot/loader.conf
中添加 hw.mfi.mrsas_enable=1
,以关闭 mfi(4) 设备探测。 (r265922)(由 LSI 赞助)
注意
目前,mfiutil(8) 工具以及 FreeBSD 版本的 MegaCLI 和 StorCli 与 mrsas(4) 不兼容。
已修正 geom(8) GEOM_DISK
类中 BIO_FLUSH
操作的计账问题。 (r266608)
gstat(8) 工具现在增加选项 -o
,用于显示“其他”操作,例如 BIO_FLUSH
。 (r266610)
mfi(4) 驱动程序已更新,支持未映射的 I/O。 (r267084)
hpt27xx(4) 驱动程序已更新,包含多个供应商提供的 bug 修复。 (r267457)
已为 xen(4) blkfront
驱动程序添加对未映射的 I/O 的支持。 (r270130)(由 Citrix Systems R&D 赞助)
geom(8) label
类现在能够感知调整大小后的分区。解决了一个问题:其中 geom resize
会调整分区大小,但 /dev/gptid/
中的标签提供者未被调整大小。 (r259328)(由 FreeBSD 基金会 赞助)
gmirror(8) 工具现在增加了命令 resize
,使得在所有组件被替换后,调整镜像大小变得更加容易。 (r260502)
已为 mfi(4) 驱动程序添加对 MegaRAID Fury 卡的支持。 (r262967)
aacraid(4) 驱动程序已更新至版本 3.2.5。(r263024)
现在可以将 GEOM_VINUM
选项直接构建到内核中,或者作为 kldload(8) 加载模块来使用。(r265536)
geom(8) 中的 GEOM_PART
类已更新以支持自动分区调整大小。分区大小的更改在运行 gpart commit
之前不会保存到磁盘,而在保存之前,可以使用 gpart undo
进行还原。(r265912)
默认情况下,会构建 geom_uncompress(4) 模块,它类似于 geom_uzip(4),支持压缩的只读磁盘映像。(r266220)
gpart(8) 添加了对 disklabel64
分区方案的支持。(r268091)
一个新的 sysctl(8) 和 loader(8) 可调参数 kern.geom.part.mbr.enforce_chs
已添加到 geom(8) 的 MBR
分区类中。当设置为非零值时,GEOM_PART_MBR
将自动重新计算用户指定的偏移量和大小,以与磁盘几何结构对齐。(r270552)
CAM Target Layer (CTL) 进行了多项改进:(由 iXsystems 赞助)
增加了对
UNMAP
、WRITE SAME
、COMPARE AND WRITE
、XCOPY
和其他一些 SCSI 命令的支持,以支持 VMware VAAI 和 Microsoft ODX 存储加速。通过支持每个命令的多次数据移动,移除了
READ
/WRITE
大小限制。(r265642)更精细的按 LUN 锁定和多个工作线程,提升了多处理器(SMP)扩展能力。(r268556)
通过禁用一些从未使用过的功能,大幅降低了内存消耗。(r269297)
SCSI 端口的最大数量从 32 增加到了 128。(r269298)
改进了
zvol
集成以提升性能。(r269429)
已更新驱动程序 hptnr(4) 至版本 1.0.1。(r270810)(由 HighPoint 提供)
已添加驱动程序 mrsas(4) 到 amd64 和 i386 架构的 GENERIC
内核配置中。(r271234)
文件系统
已重新启用 sysctl(8) vfs.zfs.zio.use_uma
。在多 CPU 且内存充足的机器上,这可以轻松将 zfs(8) 性能提升一倍或将 CPU 使用率降低一半。此前由于内存和 KVA 耗尽问题被禁用,但这些问题已通过 VM 子系统的多项改进得到解决。(r260338)
为 fsck_ffs(8) 工具新增了 -R
参数。启用该参数时,当检测到过多关键错误时,fsck_ffs(8) 将自动重启自身。(r260178)(由奈飞提供)
zfs(8) 文件系统已更新以支持“书签”功能。有关详细信息,请参阅 zfs(8)。(r263407)
zfs(8) 文件系统已更新,允许在创建新的顶级虚拟设备(vdevs)时调整最小 “ashift” 值。例如,在“高级格式”驱动器上创建 zpool(8) 时,可通过设置 sysctl(8) vfs.zfs.min_auto_ashift
来配置最小 ashift 值。(r266122)
已从 OpenSolaris 导入 libzfs
的线程池 API 并适配到了 FreeBSD。此更改支持并行磁盘扫描,可以在某些工作负载中减少 zpool(8) 的整体导入时间。(r266612)
restore(8) 工具已更新,防止在将 UFS 文件系统转储恢复到 ZFS 文件系统时发生断言失败。更新内容为使用 1024 的倍数作为块大小写入恢复的文件。(r269651)
为 zfs(8) 文件系统添加了两个 sysctl(8):(r269774)
vfs.zfs.mg_fragmentation_threshold
: 定义元磁盘组大小的百分比,超过该阈值则不可分配,除非该磁盘类中的所有元磁盘组都超过该阈值。vfs.zfs.metaslab.fragmentation_threshold
: 定义元磁盘的最大碎片化百分比以保持其活动状态。
已增加默认的 zfs(8) ARC 哈希表大小,并新增了 loader(8) 可调参数 vfs.zfs.arc_average_blocksize
。之前的哈希表可能太小,导致哈希链过长,从而限制了缓存读取的性能。新的可调参数 vfs.zfs.arc_average_blocksize
可覆盖默认块大小。之前的默认值为 65536
,新可调参数的默认值为 8192
。(r269846)
已更新快速文件系统(FFS)以支持多线程软更新。此前,软更新由单线程处理,现在每个 FFS 挂载点拥有一个线程。(r270157)
已从 FreeBSD-CURRENT 合并新的文件系统自动挂载功能 autofs(5) 。新的 autofs(5) 类似于其他类 UNIX® 操作系统(如 OS X™ 和 Solaris™)中的自动挂载功能。autofs(5) 使用与 Sun™ 兼容的 auto_master(5) 配置文件,并通过用户空间工具 automount(8) 以及守护进程 automountd(8) 和 autounmountd(8) 进行管理。(r270892)(由 FreeBSD 基金会赞助)
用户态变更
为 camcontrol(8) 添加了一个新选项 -b
,用于输出现有的总线及其父设备。(r260177)(由奈飞赞助)
newsyslog(8) 实用程序已更新,可根据实际文件大小而非磁盘上的块数旋转文件。这一更改与 newsyslog.conf(5) 文档中的描述相匹配。(r262075)
rctl(8) 配置文件的位置现在可以通过 rc.conf(5) 覆盖。若需使用非默认位置,可在 rc.conf(5) 中设置 rctl_rules
指向配置文件的位置。(r262384)
ATF 测试套件已更新至 0.20 版本。该测试套件在 FreeBSD 10.1 中默认禁用,可以通过在 src.conf(5) 中添加 WITH_TESTS=yes
启用。(r262855)
libucl
(统一配置库)已从 FreeBSD-CURRENT 合并。(r263019)
已与 FreeBSD-CURRENT 版本同步 pkg(7) 启动程序。(r263020)
zfs(8) 用户态实用程序增加了 snapshot
的别名,支持 zfs list -t snap
和 zfs snap
。(r263403)
zfs(8) 用户态实用程序在 zfs list
中新增了 -p
选项,可输出可解析的格式。(r263405)
Blowfish 密码格式的实现已更新,新增对 $2b$
格式的支持,允许使用超过 256 个字符的密码。(r263783)
iconv(3) 库已更新以匹配 NetBSD,修复了若干问题。(r264497)
date(1) 工具新增 -R
选项,可按 RFC 2822 规定的格式打印日期和时间。(r265265)
bc(1) 工具已更新至 1.1 版本,与 OpenBSD 版本同步。(r265533)
pmcstat(8) 工具新增了 -a
选项,指定后可在采样点生成完整的堆栈跟踪。(r265604)(由奈飞提供)
netstat(8) 和 route(8) 工具新增了地址类型的简写形式,分别是 -4
和 -6
,对应 -f inet
和 -f inet6
。(r265701)
crypt(3) 库现在默认使用 SHA512 进行密码哈希。(r265879)
gvinum(8) 工具更新了强制重置配置的 -f
选项,并修复了阻止 -f
正确创建配置的错误。(r266014)
login.conf(5) 文件优先级已提高,优先于 shell 特定的环境文件。具体来说,从 /usr/share/skel/dot.profile
中注释掉变量 PATH
和 BLOCKSIZE
,从 /usr/share/skel/dot.cshrc
中注释掉 path
、BLOCKSIZE
和 umask
。(r266029)
binmiscctl(8) 工具及相关镜像激活功能已从 FreeBSD-CURRENT 合并。(r266272)
ps(1) 工具新增 -J
选项,可通过 jail(8) 的 ID 和名称过滤输出。参数 0
可用于 -J
,仅列出主机系统运行的进程。(r266279)
top(1) 工具也更新支持通过 jail(8) 的 ID 和名称过滤,与 ps(1) 更新相对应。(r266280)
gstat(8) 工具新增 -o
选项,启用后可显示如 BIO_FLUSH
的操作统计信息。(r266610)
fetch(3) 库已更新,优先从 /usr/local/etc/ssl/
中查找根 SSL 证书,其次才是 /etc/ssl/
。(r266632)
clang(1)/LLVM 套件已更新至版本 3.4.1。(r266715)
Blowfish 密码格式的默认值已更改为 $2b$。(r266816)
hwpmc(4) 收集的数据量已更新,以支持现代处理器和更多可用内存。(r266888)
pmcstat(8) 工具新增了参数 -l
,可在指定的秒数后结束事件收集。(r266890)
mergemaster(8) 工具已更新,以避免在没有可比较内容时输出信息 /var/tmp/temproot disappeared
。(r266953)
FreeBSD 安装器 bsdinstall(8) 已更新,支持在完整 zfs(8) 文件系统上安装时添加可选的 geli(8) 加密或 gmirror(8) 镜像的交换设备。此外,父 zfs(8) 数据集现已默认启用 lz4
压缩。(r267056)
默认的 newsyslog.conf(5) 文件现在默认包含目录 /etc/newsyslog.conf.d/
和 /usr/local/etc/newsyslog.conf.d/
中的文件,供 newsyslog(8) 使用。(r267113)
realpath(1) 工具已更新,对于路径组件 .
和 ..
不是目录的情况(例如 /dev/null/.
或 /dev/null/..
),将返回 ENOTDIR
。(r267161)
/etc/ttys
文件新增了一个参数 onifconsole
。当设备为活动内核控制台时,系统将通过串口控制台提供登录提示,否则此参数等效于 off
。(r267236)
bhyve(8) 的遗留 PCI 设备支持已被移除。(r267341)
bhyve(8) 工具新增了 SMBIOS 支持,同时添加了一个 -U
参数,可在系统信息结构中指定来宾的 UUID。(r267450)
FreeBSD 项目已从 GNATS 缺陷跟踪系统迁移至 Bugzilla。工具 send-pr(1)(用于提交问题报告)已被替换为一个提示使用 Bugzilla 网页界面的脚本。(r267734)
patch(1) 工具新增参数 --dry-run
,与 --check
和 -C
等效。(r267747)
bsdgrep(1) 工具中一个在特定条件下阻止模式匹配的错误已被修复。(r267878)
procstat(1) 工具新增了两个参数:-r
和 -H
。当指定 -r
时,工具将打印进程的当前资源使用情况。当指定 -H
时,工具将打印线程而非进程的信息。(r267979)
注意
-H
参数当前仅与-r
一起使用,以显示单个线程的资源使用情况,而非整个进程。
sed(1) 工具新增了 -u
参数,当指定该参数时,将启用无缓冲输出。(r268019)
mkimg(1) 工具已从 FreeBSD-CURRENT 合并。(r268161)
camcontrol(8) 工具新增了命令 persist
,用于发送 SCSI PERSISTENT RESERVE IN
和 SCSI PERSISTENT RESERVE OUT
。(r268700)(由 Spectra Logic 赞助)
gstat(8) 工具新增了 -p
参数,当指定该参数时,仅显示物理提供者。(r268791)
kldstat(8) 工具已更新,允许在指定 -n module.ko
时使用 -q
参数。(r268903)
mkimg(1) 工具已更新,现支持 VHD 和 VMDK 格式的固定和动态分配镜像。(r269177)
random(4) 熵收集脚本 /usr/libexec/save-entropy
在 jail(8) 环境中不再运行。(r269220)
已与 FreeBSD-CURRENT 同步 bhyve(8) 的包装脚本 /usr/share/examples/bhyve/vmrun.sh
。(r269397)
此更新包括以下内容:
新增
-e
参数,用于设置 loader(8) 环境变量。新增
-C
参数,用于指定来宾控制台设备。新增
-H
参数,用于将主机路径传递给 bhyveload(8)。增加了对多个磁盘和 tap(4) 设备的支持。
移除了参数
-I
。
已从 FreeBSD-CURRENT 合并 nfsd(8) 服务器的更新,支持 RFC5661 的 4.1 版本。(r269398)
ping6(8) 工具已更新,当达到发送数据包的最大数量时,将重置 itimer
。此更新防止 ping6(8) 在间隔设置为较小值且数据包数量较少时意外退出。(r269800)
jail(8) 工具现支持为 ip4.addr
和 ip6.addr
参数提供额外的 ifconfig(8) 参数。此更改允许在 jail(8) 中使用 carp(4) 接口。(r269805)
支持生成和编译 USDT DTrace 探针的功能已得到改进。DTrace USDT 文件现在类似于 lex(1) 和 yacc(1) 文件进行处理,意味着在构建过程中处理 D 文件的支持已集成到 SRCS
make(1) 环境变量中。(r269946)
iscsictl(8) 工具已更新,新增了 -M
参数,允许在不需要移除并重新添加会话的情况下修改 iSCSI 会话参数。(r269968)
mount_nfs(8) 工具现已支持通过 -o
参数指定 NFS 版本为 key=value
形式的参数。例如,要指定 NFS 版本 4,可使用语法 -o vers=4
。(r270043)
devd(8) 客户端套接字类型已更改为 SOCK_SEQPACKET
,提供顺序数据包支持。(r270242)(由 Spectra Logic 赞助)
pam_group(8) 模块新增了对 account
功能的支持。(r270401)
pathchk(1) 工具已更新,确保将大于或等于 128 的字节视为不可移植。(r270890)
zdb(8) 工具现已包含在 /rescue
环境的应用程序集中,使得在 /usr
不可用时仍可检查 zfs(8) 文件系统。(r270997)(由 FreeNAS 提供/贡献)
已从 illumos™ 和 Apple® 合并多项 libc
改进,提供了更好的国际化支持和 POSIX® 合规性。
mkimg(1) 工具新增了对创建空分区的支持。(r271967)
mkimg(1) 工具新增了对 QCOW 和 QCOW2 磁盘镜像格式的支持。(r272819)
mkimg(1) 工具新增了三个用于输出自身信息的选项:(r273098)
--version
--formats
--schemes
/etc/rc.d
脚本
/etc/rc.d
脚本rc(8) 脚本 network.subr
已更新,放宽了按数字顺序列出网络别名的要求。之前,如果未定义 _alias1
,则不会创建网络别名 _alias2
。(r264438)
service(8) 工具已更新,会在遍历 rc.d(8) 目录之前检查该目录是否存在。(r268098)
修复了 FreeBSD 10.0-RELEASE 中引入的一个回归问题,该问题会妨碍通过 jail(8) rc(8) 启动脚本正确分配 IPv6。(r259141)
已移除 rc(8) 脚本中要求 mdconfig(8) 设备在 rc.conf(5) 中按顺序列出的限制。(r264438)
sshd(8) rc.d(8) 启动脚本现在会在调用 ssh_keygen_alg()
时生成 ED25519
sshd(8) 主机密钥(如果密钥不存在)。(r262566)
支持 vt(4) 键盘映射已添加到 syscons
rc.d(8) 启动脚本。(r271095)
目录 /etc/rc.conf.d/service/
中子目录的支持已添加到 rc.d(8)。这能为服务(如 netif
)创建单独的配置文件,例如,每个网络接口可有独立的配置文件。(r271260)
已更新默认的 rc.conf(5) /etc/defaults/rc.conf
,默认将 /usr/lib32/compat
包含在 ld-elf32.so.1
搜索路径中。(r272078)
/etc/periodic
脚本
/etc/periodic
脚本每日 periodic(8) 脚本 110.clean-tmps
已更新,在清理 /tmp
中的文件时避免跨越文件系统挂载边界。(r272430)
第三方软件
xz(1) 工具已更新至 5.0.5 之后的一个快照版本。(r263285)
OpenSSH 已更新至版本 6.6p1。(r264377)
nc(1) 工具已更新以匹配 OpenBSD 5.5 的版本。(r264911)
Sendmail 已更新至版本 8.14.9。(r266692)
file(1) 工具和 libmagic(3) 库已更新至版本 5.19。(r268515)
byacc(1) 解析器已更新至版本 20140422。(r268899)
lldb(1) 调试库已更新至 r202189 快照。(r269024)(由美国国防高级研究计划局和美国空军研究实验室赞助)
缓存解析器 unbound(8) 及其 ldns
已更新至版本 1.4.22。(r269257)
FreeBSD 基本系统中包含的“精简”版本 Subversion 及其依赖项已更新:(r269847)
apr 已更新至版本 1.5.1。
apr-util 已更新至版本 1.5.3。
serf 已更新至版本 1.3.7。
svnlite 已更新至版本 1.8.10。
nvi(1) 编辑器已更新至版本 2.1.2-c80f493b038。(r270026)
fparseln(3) 库已更新至版本 1.7。(r270031)
已从 FreeBSD 基本系统中移除 lukemftpd FTP 服务器。(r270415)
时区数据库已更新至版本 tzdata2014f。(r270817)
OpenPAM 已更新至 Ourouparia (20140912)。(r271947)
OpenSSL 已更新至版本 1.0.1j。(r273399)
Ports/软件包基础设施
pkg(8) 软件包管理工具已更新至版本 1.3.8。
发布工程与集成
services.mkdb(8) 工具已更新,新增字节序意识功能,使得无论是本地还是交叉编译的版本,都可以在发布构建过程中创建 services.db
数据库。(r263028)
release/
脚本已更新,支持为 FreeBSD/amd64 架构生成支持 UEFI 和 BIOS 的 CD-ROM ISO 文件,以及内存棒镜像。(r271470)(由 FreeBSD 基金会赞助)
release/scripts/pkg-stage.sh
脚本已更新,在 DVD 安装程序的 packages/
目录结构中添加了指向光盘版 pkg(8) 的符号链接。这使得 pkg(7) 引导工具能够正确定位 DVD 中的 Latest/pkg.txz
包,而无需网络连接或显式提供安装介质上的路径。(r271943)(由 FreeBSD 基金会赞助)
FreeBSD 发布工程构建工具已更新,支持通过 mkimg(1) 在发布构建过程中生成虚拟机磁盘镜像。目前支持的磁盘镜像格式包括 QCOW2、VHD、VMDK 和原始格式。有关更多信息,请参阅 release(7)。(r273101)(由 FreeBSD 基金会赞助)
FreeBSD 发布工程构建工具已更新,支持为 Microsoft® Azure 云托管平台生成 FreeBSD 虚拟机磁盘镜像。此功能未直接集成至默认的 release
make(1) 目标中,但可通过直接指定 vm-azure
目标启用。(r273199)(由 FreeBSD 基金会赞助)
从旧版 FreeBSD 升级
[amd64, i386] 可以通过 freebsd-update(8) 工具在不同的 RELEASE 版本之间(以及各安全分支的快照之间)进行二进制升级。二进制升级程序将更新未修改的用户态工具以及作为官方 FreeBSD 发布版本一部分分发的未修改的 GENERIC
内核。freebsd-update(8) 工具需要被升级的主机具有互联网连接。
可以从基于源码的升级(通过重新编译 FreeBSD 基本系统的源码进行的升级),具体操作请参阅 /usr/src/UPDATING
文件中的说明。
重要提示:
在升级 FreeBSD 之前,请务必备份 所有 数据和配置文件。
最后更新于