FreeBSD 9.1-RELEASE 发布说明包含了在 9.1-STABLE 开发线中对 FreeBSD 基本系统所做更改的总结。本文档列出了自上次发布以来发布的适用安全公告,以及 FreeBSD 内核和用户空间的重要更改。同时,还提供了一些关于升级的简要说明。
本文档包含 FreeBSD 9.1-RELEASE 的发布说明。它涉及了最近新增、修改或删除的 FreeBSD 功能,并提供了一些关于从之前版本升级的说明。
此版本的 FreeBSD 9.1-RELEASE 是一个发布版本。可以在 http://www.FreeBSD.org/releases/ 或其镜像站点找到。有关获取此版本(或其他)发布版本的更多信息,可以参阅 FreeBSD 手册 中的“获取 FreeBSD”附录 “Obtaining FreeBSD”。
我们建议所有用户在安装 FreeBSD 之前先查看发布的勘误文档。勘误 文档会在发布周期结束或发布后更新,包含一些“突发”信息。通常,它包括已知的错误、与安全相关的公告以及文档修正。FreeBSD 9.1-RELEASE 的勘误最新版本可以在 FreeBSD 网站上找到。
本节涉及自 9.0-RELEASE 以来,FreeBSD 中最显著的新特性或变更。
通常,发布说明会记录自 9.0-RELEASE 以来发布的最新安全公告、新的驱动程序或硬件支持、新命令或选项、主要的 bug 修复或第三方软件升级。它们还可能列出对主要 Port/包或发布工程实践的更改。显然,发布说明无法列出每一个在版本间对 FreeBSD 所做的更改;本文件主要聚焦于安全公告、用户可见的更改以及主要的架构改进。
以下安全公告所涉及的问题已被修复。有关更多信息,请查阅各个公告,详情请访问 http://security.FreeBSD.org/。
| 公告 | 日期 | 主题 | | | - | | | SA-12:01.openssl | 2012 年 5 月 3 日 | OpenSSL 多个漏洞 | | SA-12:02.crypt | 2012 年 5 月 30 日 | 错误的 crypt()
哈希处理 | | SA-12:03.bind | 2012 年 6 月 12 日 | named(8) 中零长度 RDATA 字段的错误处理 | | SA-12:04.sysret | 2012 年 6 月 12 日 | 从内核返回时的特权提升漏洞 | | SA-12:05.bind | 2012 年 8 月 6 日 | named(8) DNSSEC 验证拒绝服务漏洞 | | SA-12:06.bind | 2012 年 11 月 22 日 | 多个 named(8) 拒绝服务漏洞 | | SA-12:07.hostapd | 2012 年 11 月 22 日 | EAP-TLS 消息的消息长度验证不足 | | SA-12:08.linux | 2012 年 11 月 22 日 | Linux 兼容层的输入验证错误 |
FreeBSD Jail 子系统现在支持在 Jail 内挂载 devfs(5)、nullfs(5) 和 ZFS 文件系统。新增的 jail(8) 参数 allow.mount.devfs
、allow.mount.nullfs
和 allow.mount.zfs
用于控制每个 Jail 的挂载权限。默认情况下,所有这些参数都被禁用。r232728
新增了一个 loader(8) 可调参数 kern.eventtimer.activetick
。此参数指定是否每个硬时钟滴答都在每个活跃 CPU 上运行,还是仅在一个 CPU 上运行。将其设置为 0
可以减少 SMP 机器上的总中断次数。默认值为 1
。r234167
实现了 posix_fadvise(2) 系统调用。它是类似于 madvise(2) 的功能,但它作用于文件涉及符,而不是内存区域。r229723
新增了 filemon(4) 伪设备。它允许进程收集其子进程的文件操作数据。r237795
sysctl(8) 变量 kern.stop_scheduler_on_panic
现在默认设置为 1
。r235413
FreeBSD Linux ABI 兼容层现在支持系统调用 linux_fadvise64()
和 linux_fadvise64_64()
。r231145
当 FreeBSD 在虚拟机中运行时,默认情况下 loader(8) 可调参数 hw.memtest.tests
会自动设置为 0
。r230266
新增了 loader(8) 可调参数 kern.msgbuf_show_timestamp
。启用时,会在系统消息缓冲区的每一行添加时间戳。默认值为 0
(禁用)。r234075
null(4) 和 zero(4) 伪设备驱动现在通过 fcntl(2) 系统调用支持非阻塞模式。r230320
FreeBSD sched_ule(4) 调度器在 SMT(Simultaneous MultiThreading)CPU 上的 CPU 负载均衡方面进行了改进。当线程数量小于逻辑 CPU 数量时,性能提高了 10-15%。r233599
新增了 sysctl(8) 变量 security.bsd.unprivileged_idprio
。此变量控制非 root 用户是否可以设置空闲优先级。默认情况下此功能禁用。r230039
splash(4) 屏幕接口现在支持 TheDraw 格式的 ASCII 艺术。r228445
boot0cfg(8) 工具现在支持通过启动块 boot0
在下次启动时临时配置 PXE 启动。可以通过 -s
选项指定分区号 6
或关键字 PXE
来启用 PXE 启动。r230065
FreeBSD 的 boot(8) 启动块现在支持 /boot/config
作为启动块参数文件,除 /boot.config
外。当这两个文件都存在时,将使用前者。r231287
现在 gptboot
启动块仅在主 GPT 头和表无效时,才从最后一个 LBA 读取备份 GPT 头。这解决了与一些 geom(4) 提供者(如 MIRROR
,其使用最后一个 LBA 存储元数据)之间的兼容性问题。r234693
zfsboot
启动块和 zfsloader
现在支持 ZFS 存储池中的文件系统。在 zfsloader
中,ZFS 设备名称格式现在为 zfs:pool
/fs
,完整的文件路径格式为 zfs:pool
/fs
:/path/to/file
。zfsboot
启动块接受的内核/加载器名称格式为 pool
:/fs
:/path/to/file
;或者,如之前一样,pool
:/path/to/file
。在后一种情况下,使用默认文件系统(池根或具有 bootfs
属性的文件系统)。zfsboot
启动块将所选存储池和数据集的 GUID 传递给 zfsloader
作为其默认值。r237766
acpi_wmi(4) 驱动程序现在支持附加多个实例。r229858
hwpmc(4) 驱动程序现在支持软件事件。允许同时使用软件 PMC 和硬件 PMC。r236238
为 NXP(飞利浦)PCF8563 RTC 添加了 pcf8563(4) 驱动程序。r236078
添加了以下 sysctl(8) 变量:kern.proc.env
用于环境字符串,kern.proc.auxv
用于进程栈中的 ELF 辅助向量,kern.proc.groups
用于进程组,kern.proc.rlimit
用于进程资源限制,kern.proc.ps_strings
用于 ps_strings 位置,kern.proc.osrel
用于进程二进制的 osreldate。r230754, r233950
usb(4) 驱动程序现在正确处理挂起和恢复,无需重新加载内核模块。r229100, r229369
修复了 xhci(4)(USB 3.0)驱动程序中的一个错误,该错误导致其无法与 USB 3.0 集线器一起使用。r230302
添加了 viawd(4) 驱动程序,支持 VIA 南桥(VT8251、CX700、VX800、VX855、VX900)中的看门狗定时器。r229927
添加了 wbwd(4) 驱动程序,支持 Winbond Super I/O 芯片中的看门狗定时器。r235926
多媒体支持
Intel GPU 驱动程序 drm2(4)
支持 GEM 和 KMS,并适用于新一代 GPU,如 IronLake、SandyBridge 和 IvyBridge。r236926, r236927, r239965
agp(4) 驱动程序现在支持 SandyBridge 和 IvyBridge CPU 的北桥。r236926, r236927, r239965
snd_hda(4) 驱动程序已经更新。现在它支持并提供 HDMI、新的音量控制、自动录音源选择、运行时重新配置、一个控制器上的多个 PCM 设备、多声道录音、额外的播放/录制流、更高带宽和更具信息性的设备名称。r232798
添加了 snd_hdspe(4) 驱动程序,支持 RME HDSPe AIO 和 RayDAT 声卡。r233165
在 snd_emu10kx(4)、snd_maestro3(4) 和 snd_csa(4) 驱动程序中,已将 GPL 许可证的头文件替换为 BSD 许可证的文件。现在这些驱动程序完全采用 BSD 许可证,并已包含在 FreeBSD/amd64 和 FreeBSD/i386 的 GENERIC
内核中。r230964, r230985, r231047, r235769
网络接口支持
修复了 ae(4) 驱动程序中的一个错误,该错误可能会导致在某些条件下无法正常工作。r229520
axe(4) 驱动程序现在支持 ASIX AX88772B 控制器的 TX/RX 校验和卸载支持。r229106
bce(4) 驱动程序已改进:
消除了不必要的链路上下波动。r229864
修复了一个错误,该错误可能导致当接口标记为关闭时,IPMI 无法正常工作。r236216
现在支持远程 PHY,可以通过 MRBE(MultiRate Backplane Ethernet)定义的消息页面执行 MDIO 类型的访问,允许控制器访问远程收发器。这在如 Dell PowerEdge M610 Blade 等机器上可见。r235818
已改进 bge(4) 和 brgphy(4) 驱动程序:
cxgbe(4) 和 cxgb(4) 驱动程序已更新至固件版本 1.5.2.0。现在它们支持通过纯文本配置文件进行设备配置、IPv6 硬件校验和、IPv6 TSO 和 LRO、cxgbetool(8) 工具中的 loadfw
命令(能将固件安装到卡中),以及在 dev.t4nex.N.misc
下的 sysctl(8) 变量,用于获取各种信息。r231093, r237925
dc(4) 驱动程序现在支持 NVIDIA(ULi)M5261/M5263 PCI FastEthernet 控制器,这些控制器位于 ULi M1563 南桥和 M1689 桥上。r229334
et(4) 驱动程序现在可以在所有平台上工作。修复了一个可能导致 altq(4) 支持无法正常工作的错误。已新增一个 sysctl(8) 变量,在 dev.et.N.stats
下用于硬件 MAC 统计。r229711, r229717, r229720
igb(4) 驱动程序已更新至版本 2.3.4。现在它支持更新的 i210/i211 设备。r238262
iwn(4) 驱动程序现在支持 Intel Centrino Wireless-N + WiMAX 6150 和 Wireless-N 100/130 系列。r233838, r235843
miibus(4) 总线驱动程序现在支持设备提示 hint.miibus.N.phymask
,用于探测 PHY 地址。这对于手动探测不实现 IEEE 802.3 基本寄存器集的 PHY 非常有用。另外, miibus(4) 驱动程序已更改为提示总线,能通过提示添加子设备,并设置其附加参数,除了自动探测的 PHY。r230709
现在 msk(4) 驱动程序在 64 位平台上使用 64 位 DMA 地址。r229524
mxge(4) 驱动程序已更新至 Myricom 的固件版本 1.4.55。r236413
nsphyter(4) 驱动程序现在支持 National DP83849。r232137
oce(4) 驱动程序,支持 Emulex OneConnect 10Gbit 以太网卡,已被添加。r231663
ral(4) 驱动程序现在支持 Ralink RT2800 和 RT3000 芯片组。r236004
re(4) 驱动程序现在支持 RTL8411 PCIe 千兆以太网控制器。修复了一个可能导致 WoL(唤醒以太网)在 RTL8168E 上无法正常工作的错误。r229529, r231731
runfw(4) 固件已更新至版本 0.236。r234028
sfxge(4) 驱动程序,支持基于 Solarflare SFC9000 系列控制器的 10Gb 以太网适配器,已被添加。r228100
smcphy(4) 驱动程序现在支持 Seeq Technology 80220 PHY。这种 PHY 出现在 Adaptec AIC-6915 Starfire 以太网控制器中,并由 sf(4) 驱动程序支持。r233485
ti(4) 驱动程序现在支持 altq(4) 框架,报告链路状态变化,以及在 dev.ti.N
下的 sysctl(8) 变量,用于中断调节参数。r229417, r229438
修复了 ti(4) 驱动程序中的一个错误,该错误可能导致其在使用内核选项 PAE
时无法正常工作。r229441
vge(4) 驱动程序已更新,以改进链路建立和链路状态检测。r229540
vr(4) 驱动程序现在启用了 PHY 驱动程序中的流量控制功能。r229641
xnb(4) Xen Paravirtualized Backend 以太网驱动程序(netback)已更新。此驱动程序通过新的总线框架连接,并在 HVM 和 PVM 模式下都能正常工作。r231697
if_bridge(4) 虚拟接口现在支持根据成员接口的状态报告链路状态变化。r236051
ipfw(4) 数据包过滤规则语法中的 table
参数现在支持 IP 地址、接口名称、端口号和 Jail ID。以下语法是有效的:r234597
FreeBSD ip6(4) 协议栈在性能方面有所改进。基准测试可以在 http://people.freebsd.org/~bz/bench/ 查看。
FreeBSD ip6(4) 协议栈现在支持多个 FIBs。r232292
通过路由器广告消息配置的 IPv6 默认路由现在在默认路由被手动删除并接收到同一路由的另一个 RA 消息时,能够正确重新安装。r230604
修复了一个可能导致 IPV6_MULTICASE_HOPS
套接字选项返回不正确值的错误。r227885
添加了一个新的 sysctl(3) 变量 NET_RT_IFLISTL
。此选项查询地址列表,并在不破坏 ABI 的情况下作用于扩展和可扩展的结构 if_msghdrl
和 ifa_msghdrl
。r231768
添加了 netmap(4) 快速数据包 I/O 框架。 em(4)、man:lem(4)、igb(4) 和 re(4) 驱动程序现在支持此框架。技术细节可以在 http://svn.freebsd.org/viewvc/base?view=revision&revision=231650 查看。r231650, r235527
FreeBSD sctp(4) 协议栈现在支持一个新的 sysctl(8) 变量 net.inet.sctp.blackhole
。如果设置为 1
,则不会在接收到 INIT
后发送 ABORT
。如果设置为 2
,则不会在接收到意外数据包后发送 ABORT
。如果设置为 0
(默认值),则会发送 ABORT
。r231045
修复了一个错误,该错误可能在指定 SCTP_RECVINFO
和 SCTP_NXTINFO
给系统调用 getsockopt(2) 时引发系统崩溃。r231049
FreeBSD sctp(4) 协议栈现在支持套接字选项 SCTP_REMOTE_UDP_ENCAPS_PORT
。r231070, r231140
添加了套接字选项 SO_PROTOCOL
和 SO_PROTOTYPE
。这些选项返回套接字协议号。r232805
添加了套接字选项 TCP_KEEPINIT
、TCP_KEEPIDLE
、TCP_KEEPINTVL
和 TCP_KEEPCNT
。这些选项允许按套接字控制初始超时、空闲时间、空闲重发间隔和空闲发送次数。r232945
arcmsr(4) 驱动程序已更新至版本 1.20.00.25。r240758
ahci(4) 驱动程序现在支持新的 loader(8) 可调参数 hw.ahci.force
。此参数控制是否尝试连接 AHCI 能力设备,即使它被配置为使用传统仿真模式。默认启用。r229291
新的基于 cam(4) 的 ata(4) 驱动程序现在支持旧版 loader(8) 可调参数 hw.ata.ata_dma
和 hw.ata.atapi_dma
,以便与旧版兼容。r231251
cam(4) 驱动程序现在支持 SEMB(SATA 外壳管理桥)设备,相当于 SCSI SES/SAF-TE 设备。r236778
添加了一个新的 sysctl(8) 变量 kern.cam.pmp.hide_special
。此变量控制是否暴露或隐藏特殊的 PMP 端口,如 PMP(端口多路复用器)配置或 SEMB(SATA 外壳管理桥)。默认值为 1
(隐藏)。r236765
新增了 ctl(4) 驱动程序,支持 cam(4) 目标层和 ctladm(8),一个用户空间控制工具。ctl(4) 是一个磁盘和处理器设备仿真子系统,支持标记队列、SCSI 任务属性、SCSI 隐式命令排序、完整任务管理、多个端口、多个同时启动器、多个同时备份存储、模式感知/选择和错误注入支持。r231772
cd(4) 驱动程序现在以与 acd(4) 相同的方式支持音频 CD。它将向 geom(4) 子系统报告一个 2352 字节的扇区大小,并使用 命令READ CD
读取数据。这解决了与 multimedia/vlc
的互操作性问题。r230014
da(4) 驱动程序现在支持 BIO_DELETE
。为了选择方法,已为每个设备实例添加了新的 sysctl(8) 变量 kern.cam.da.N.delete_method
。支持以下值:r236677
| 值 | 方法 | | -- | | | NONE | 设备未报告逻辑块配置支持 | | DISABLE | 由于错误,已禁用配置支持 | | ZERO | 使用 WRITE SAME (10) 命令写零 | | WS10 | 使用 WRITE SAME (10) 命令并设置 UNMAP 位 | | WS16 | 使用 WRITE SAME (16) 命令并设置 UNMAP 位 | | UNMAP | 使用 UNMAP 命令(相当于 ATA DSM TRIM 命令) |
当值为 NONE
时,设备未通过相应的 VPD 页面报告逻辑块配置支持。可以为测试设置特定方法,并且在设备不支持时会自动禁用。
MIRROR geom(4) 类现在支持 BIO_DELETE
。这意味着在删除数据时,支持的设备将发出 TRIM
命令。r238500
MULTIPATH geom(4) 类已更新。现在支持主动/主动模式、主动/读取模式(作为主动/主动和主动/被动的混合模式)、保持失败路径而不移除 geom 提供者、无磁盘元数据的手动配置,以及在 gmultipath(8) 工具中使用 add
、remove
、fail
、restore
、configure
子命令来管理已配置的路径。r229303, r234916
PART_LDM geom(4) 类已添加。此分区方案支持逻辑磁盘管理器(LDM),也称为微软 Windows NT 中的动态卷。请注意,JBOD、RAID0 和 RAID5 卷目前不受支持。r234406
PART_MBR geom(4) 类现在允许将 Linux 主分区或扩展分区用作系统转储设备。r230763
RAID geom(4) 类现在支持大于 2TB 容量的磁盘,适用于英特尔元数据格式。r230244
RAID geom(4) 类现在支持 DDF 元数据格式,该格式定义在 SNIA 通用 RAID 磁盘数据格式规范 v2.0 中。r235874
UNCOMPRESS geom(4) 类和 mkulzma(8) 工具已添加。此类支持 lzma 压缩图像,类似于 UZIP geom(4) 类和 mkuzip(8) 工具。r235483
ixgbe(4) 驱动程序现在支持 Intel X540 适配器。r230775
已修复 mfi(4) 驱动程序中的一个错误。该错误可能导致由于中断确认丢失而出现一些不一致,并输出以下日志消息:r227533
mfi(4) 驱动程序现在支持单消息 MSI,以及 Drake Skinny 和 Thunderbolt 卡。已添加 loader(8) 可调参数 hw.mfi.msi
,默认启用。r229611, r234429
mps(4) 驱动程序已更新至版本 14.00.00.01-fbsd。现在支持集成 RAID、WarpDrive 控制器、WRITE12 和 READ12 直接 I/O、SCSI 保护信息(EEDP)、磁带驱动的传输级重试(TLR),以及 LSI 的用户空间工具。r230920, r231679, r237876
已修复 mpt(4) 驱动程序中的一个错误。该错误可能尝试连接应由 mfi(4) 驱动程序处理的 MegaRAID 卡。r232562
现在存储设备驱动程序 usb(4) 默认启用省电模式。r229107
FreeBSD 的 NFS 文件系统得到了改进:
现在支持客户端端正向名称缓存条目的超时。新增了挂载选项 nametimeo
,默认值为 60
(秒)。[r233326]
修复了通过 FreeBSD NFS 服务器导出 ZFS 卷时发生的内存泄漏问题。r234740
tmpfs(5) 文件系统现在支持 sysctl(8) 变量 vfs.tmpfs.memory_reserved
,用于设置当 tmpfs(5) 尝试分配新节点时所需的空闲页面数量。r234849
FreeBSD 的 ZFS 文件系统通过合并 illumos 项目的改进进行了更新。以下是所做的更改:r229578, r232328
新增了 clones
和 written
属性。
zfs(8) send
命令现在报告数据流的估计大小。
zfs(8) destroy
命令现在报告指定 -n
时会回收的空间估算。
zfs(8) get
命令现在支持 -t type
参数,用于指定数据类型。
一个简单的脚本 zfsboottest.sh
已添加到源代码树中。该脚本用于检查在使用 ZFS 作为根文件系统时系统是否配置正确。脚本位于 /usr/src/tools/tools/zfsboottest.sh
,并使用同目录下的二进制程序 zfsboottest
。r227705
可以通过以下命令构建并安装该二进制程序:
然后,可以使用以下命令检查系统。poolname
是要启动的 ZFS 存储池名称:
sysctl(8) 变量 vfs.zfs.txg.timeout
已从只读变更为可写。
已移除 auth.conf(5) ,因为它多年前已被弃用。r238481
camcontrol(8) 工具现在支持子命令 fwdownload
,用于更新来自 Hitachi、HP、IBM、Plextor、Quantum 和 Seagate 的 SCSI 设备的固件。此子命令将重新编程通过 ATA/SATA 传输连接的设备上的固件。r237740
dhclient(8) 工具现在支持 domain-search
(选项编号 119,在 RFC 3397 中所述)。这允许 DHCP 服务器发布在名称查找过程中使用的隐式域后缀列表。如果指定此选项,将向 /etc/resolv.conf
中添加关键字 search
。r230597
dump(8) 工具现在在 /etc/dumpdates
中使用 53 个字符来表示设备名称,而之前此长度为 32 个字符。r230047
fetch(1) 工具现在能正确支持 URL 中的百分比编码的用户和密码部分。r235253
已实现函数 fdlopen(3)。这是个用于 rtld(1) 通过文件涉及符加载共享对象的接口。r230410
fopen(3) 函数现在支持 ISO/IEC 9899:2011 和 C11 标准中的 x
(独占创建并打开模式)选项。r229845
修复了 gcc(1) 编译器中的一个错误。它可能在指定 -ffast-math
时导致不正确的计算。r234023
守护进程 hastd(8) 现在支持在 hast.conf(5) 中指定其进程 ID 文件的文件名。r229509
ifconfig(8) 工具现在支持参数 vlanhwcsum
,用于设置或重置 VLAN 上的校验和卸载能力。r231221
修复了 ifconfig(8) 工具中的一个错误,该错误可能在没有 IPv6 支持的 jail 中显示错误信息。r238872
ifconfig(8) 工具现在支持参数 carp state state
,用于强制设置状态为 backup
或 master
。r232486
jail(8) 工具现在支持配置文件 (jail.conf(5)) 来进行复杂的配置。r235839
kdump(1) 工具现在支持选项 -p pid
,以接受进程 ID 或线程 ID。r237789
kenv(1) 工具现在支持参数 -v
来以 name=value
格式显示条目,以及 -N
参数来仅显示名称。r236118
kldload(8) 工具现在支持 -n
参数,用于忽略在指定模块已加载时的错误状态。r233560
libedit 已更新为 2009 年 12 月 28 日的 NetBSD 快照。r237738
libmap.conf(5) 现在支持 include
和 includedir
指令。它们允许将指定的文件包含到配置中。r236523
libthr pthread 库中的锁处理性能已得到改进,尤其是在互斥锁竞争激烈的情况下,现在速度提高了 10 倍。r234372
引入了新的 C++ 栈。该栈包括 libcxxrt(最初由 FreeBSD 开发人员在 PathScale 的合同下开发,并由 FreeBSD 和 NetBSD 基金会开源)以及来自 LLVM 项目的 libc*
。libcxxrt 是 GNU libsupc 的替代品,后者实现了 C++ 运行时支持功能,如运行时类型信息、动态转换、线程安全的静态初始化器和异常处理。libc*
实现了 C++11 标准库,将在未来的版本中替代 GNU libstdc。在 9.1-RELEASE 中,libstdc 仍作为标准安装,并且现在动态链接到 libsupc。这使得同时链接 libstdc 和 libc 的库可以在同一程序中使用,以帮助迁移。r235798
limits(1) 工具现在支持 -P pid
选项,用于控制指定进程的限制。r230919
pciconf(8) 工具现在支持 -e
参数,用于在列出模式下显示 PCI 错误详细信息。当指定该选项时,将显示 PCI 状态寄存器和 PCI-express 设备状态寄存器中任何错误位的状态。还会列出 PCI-express 高级错误报告(AER)版本 1 指示的任何错误。[r237731]
procstat(1) 工具现在在显示进程虚拟内存映射时显示超级页映射参数。[r229710]
procstat(1) 工具现在支持 -e
参数以显示进程环境变量,-x
参数以显示 ELF 辅助向量,以及 -l
参数以显示资源限制。[r230917, r230918]
remquo(3) 函数中的一个错误已被修复,该错误会导致当余数为 0
时商的符号不正确,另一个错误是当涉及到子正常余数时,余数和商在某些情况下偏差。请注意,这些错误影响了所有平台,除了 amd64 和 i386。[r234535]
rtld(1) 运行时链接器现在支持 GCC 的 RELRO(只读重定位)。这防止了 GOT(全局偏移表)被覆盖。[r231579]
rtld(1) 运行时链接器现在支持 GNU 哈希段(DT_GNU_HASH
),它是可选 ELF 哈希段的替代品。[r235396]
已添加 setbuf(1) 工具和 libstdbuf 库。它控制标准 stdio 流的默认缓冲行为。[r235139]
top(1) 工具现在正确支持 -m io
选项下 ZFS 的每线程 I/O 统计信息。[r227702]
unzip(1) 工具现在支持 -Z
选项用于 zipinfo。[r234330]
xlocale(3) API 已实现。它包含各种标准库函数的 _l
后缀版本,这些函数使用全局区域设置,允许它们接收显式区域设置参数,并提供线程安全的扩展区域设置支持。这些 API 是 IEEE Std 1003.1-2008(POSIX.1-2008 或 ISO/IEC 9945:2009)兼容性所必需的,也是 libc++ 和 GNOME 的最新版本所需的。此实现还支持与 Apple Darwin 兼容的多个扩展。[r235785]
新增变量 daily_status_zfs_zpool_list_enable
。它控制是否列出 periodic/daily/404.status-zfs
中的所有 ZFS 池。默认值为 YES
。r231721
periodic/daily/800.scrub-zfs
中使用的 daily_scrub_zfs_default_threshold
默认值现已设置为 35 天。r229381
rc.d/nfsd
脚本现在在 nfsv4_server_enable
设置为 YES
时,将 vfs.nfsd.server_max_nfsvers
sysctl(8) 变量设置为 4
。r227607
已修复同时定义 ipv6_enable=YES
和 ipv6_gateway_enable=YES
时的向后兼容性问题。r242189
ISC BIND 已更新到版本 9.8.3-P4。r241417
提供低级目标特定接口的 compiler-rt 库(例如 libgcc 中的函数)已更新到修订版 147467。r236018
file (file(1)) 已更新到版本 5.11。r237983
GNU gperf(1) 已更新到版本 3.0.3(最新的 GPLv2 许可版本)。r230237
libarchive、bsdtar(1) 和 cpio(1) 已更新到版本 2.8.5。r229588
libpcap 库已更新到 1.2.1。r236167
libstdc++ 已更新到 gcc-4_2-branch
的修订版 135556(最后一个 LGPLv2 许可版本)。r229551
已导入 LLVM 编译器基础设施和 clang(C 语言家族前端)版本 3.1 。请注意,默认情况下不会使用它来构建 FreeBSD 基本系统。r236144
netcat
工具已更新到版本 5.1。r235971
OpenSSL 已更新到版本 0.9.8x。r237998
tcpdump (tcpdump(1)) 工具已更新到版本 4.2.1。r236192
TENEX C shell (tcsh(1)) 已更新到版本 6.18.01。r232633
timezone 数据库已更新到 tzdata2012a 版本。r233447
zlib 库已更新到版本 1.2.7。r237691
支持的 KDE 桌面环境版本(x11/kde4
)已更新至 4.8.4。
[amd64, i386] 从 FreeBSD 6.2-RELEASE 开始,支持使用 freebsd-update(8) 工具进行版本之间的二进制升级(以及各安全分支的快照)。二进制升级程序将更新未修改的用户空间工具,以及未修改的 GENERIC
内核,这些都作为官方 FreeBSD 发行版的一部分进行分发。freebsd-update(8) 工具要求升级的主机必须具备互联网连接。
可以根据 /usr/src/UPDATING
中的说明进行基于源代码的升级(通过重新编译 FreeBSD 基本系统的源代码进行升级)。
有关升级说明的更详细信息,请参阅 http://www.FreeBSD.org/releases/9.1R/installation/。
重要:
在升级 FreeBSD 之前,必须备份 所有 数据和配置文件。
FreeBSD 9.0 及以后的版本在系统配置方面存在一些不兼容性,你可能需要在升级系统之前了解这些问题。在提交问题报告/向 FreeBSD 邮件列表提问之前,请务必阅读本节内容以及 9.0-RELEASE 发行说明中的升级部分。