# FreeBSD 6.4 RELEASE amd64 发行公告（2008 年 11 月 28 日）

* 原文链接：[FreeBSD/amd64 6.4-RELEASE Release Notes](https://www.freebsd.org/releases/6.4R/relnotes-amd64/)

**FreeBSD 项目**

版权所有 © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 FreeBSD 文档项目

```
$FreeBSD: releng/6.4/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml 185279 2008-11-25 02:19:13Z hrs $  
```

FreeBSD 是 FreeBSD 基金会的注册商标。

IBM、AIX、EtherJet、Netfinity、OS/2、PowerPC、PS/2、S/390 和 ThinkPad 是 International Business Machines Corporation 在美国及其他国家的商标。

IEEE、POSIX 和 802 是美国电气与电子工程师协会（IEEE）的注册商标。

Intel、Celeron、EtherExpress、i386、i486、Itanium、Pentium 和 Xeon 是英特尔公司或其子公司在美国及其他国家的商标或注册商标。

Sparc、Sparc64、SPARCEngine 和 UltraSPARC 是 SPARC International, Inc 在美国及其他国家的商标。带有 SPARC 商标的产品基于 Sun Microsystems, Inc 开发的架构。

许多制造商和销售商用来区分其产品的名称被主张为商标。凡是在本文件中出现这些名称，并且 FreeBSD 项目知晓其商标主张时，这些名称后均标注了“™”或“®”符号。

FreeBSD 6.4-RELEASE 的发行说明包含对 FreeBSD 基本系统在 6.4-STABLE 开发线上所做变更的概要说明。本文件列出了自上次发布以来发布的相关安全公告，以及对 FreeBSD 内核和用户空间的重大变更，同时还对升级过程提供了一些简要说明。

## 1 简介

本文档包含 FreeBSD 6.4-RELEASE 在 AMD64 硬件平台上的发行说明，介绍了 FreeBSD 最近添加、变更或删除的功能，并提供了从早期版本升级到 FreeBSD 的一些注意事项。

FreeBSD 6.4-RELEASE 的此分发版是个 RELEASE 发行版，可以在 [ftp://ftp.FreeBSD.org/](ftp://ftp.freebsd.org/) 或其镜像站点上找到。有关获取此（或其他）FreeBSD 发布分发版的更多信息，请参阅 [FreeBSD 手册](http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/) 中的 [“获取 FreeBSD”附录](http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/mirrors.html)。

所有用户在安装 FreeBSD 之前，建议先查阅发行勘误文档。该文档包含发布周期后期或发布后发现的最新信息，通常包括已知的错误、安全公告以及文档更正。FreeBSD 6.4-RELEASE 的最新勘误文档副本可在 FreeBSD 网站上找到。

## 2 新增内容

本节介绍了自 6.3-RELEASE 以来，FreeBSD 中用户最直观的新功能或变更内容。

典型的发行说明条目包括：在 6.3-RELEASE 之后发布的最新安全公告、新的驱动程序或硬件支持、新命令或选项、重大错误修复或第三方软件的升级。此外，还可能列出主要 Port/软件包或发布工程实践的变更。显然，发行说明无法列出 FreeBSD 在两次发布之间的每一处变更；本文档主要聚焦于安全公告、用户可见的变更和主要架构改进。

### 2.1 安全公告

以下安全公告中介绍的问题已被修复。有关更多信息，请参阅 [http://security.FreeBSD.org/](http://security.freebsd.org/) 提供的各个公告。

| 公告                                                                                            | 日期               | 主题                                                                                                                   |
| --------------------------------------------------------------------------------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------- |
| [SA-08:03.sendfile](http://security.freebsd.org/advisories/FreeBSD-SA-08:03.sendfile.asc)     | 2008 年 2 月 14 日  | [sendfile(2)](http://www.freebsd.org/cgi/man.cgi?query=sendfile\&sektion=2\&manpath=FreeBSD+6.4-RELEASE) 写权限绕过       |
| [SA-08:05.openssh](http://security.freebsd.org/advisories/FreeBSD-SA-08:05.openssh.asc)       | 2008 年 4 月 17 日  | OpenSSH X11 转发权限提升                                                                                                   |
| [SA-08:06.bind](http://security.freebsd.org/advisories/FreeBSD-SA-08:06.bind.asc)             | 2008 年 7 月 13 日  | DNS 缓存中毒                                                                                                             |
| [SA-08:07.amd64](http://security.freebsd.org/advisories/FreeBSD-SA-08:07.amd64.asc)           | 2008 年 9 月 3 日   | amd64 swapgs 本地权限提升                                                                                                  |
| [SA-08:09.icmp6](http://security.freebsd.org/advisories/FreeBSD-SA-08:09.icmp6.asc)           | 2008 年 9 月 3 日   | IPv6 连接的远程内核崩溃                                                                                                       |
| [SA-08:10.nd6](http://security.freebsd.org/advisories/FreeBSD-SA-08:10.nd6.asc)               | 2008 年 10 月 1 日  | IPv6 邻居发现协议路由漏洞                                                                                                      |
| [SA-08:11.arc4random](http://security.freebsd.org/advisories/FreeBSD-SA-08:11.arc4random.asc) | 2008 年 11 月 24 日 | [arc4random(9)](http://www.freebsd.org/cgi/man.cgi?query=arc4random\&sektion=9\&manpath=FreeBSD+6.4-RELEASE) 可预测序列漏洞 |

### 2.2 内核变更

开放加密框架 ([crypto(9)](http://www.freebsd.org/cgi/man.cgi?query=crypto\&sektion=9\&manpath=FreeBSD+6.4-RELEASE)) 和 [ipsec(4)](http://www.freebsd.org/cgi/man.cgi?query=ipsec\&sektion=4\&manpath=FreeBSD+6.4-RELEASE) 子系统现在支持 Camellia 分组密码。

FreeBSD 内核的 [malloc(9)](http://www.freebsd.org/cgi/man.cgi?query=malloc\&sektion=9\&manpath=FreeBSD+6.4-RELEASE) 现在支持缓冲区损坏保护 (RedZone)。此功能可以在运行时通过 [free(9)](http://www.freebsd.org/cgi/man.cgi?query=free\&sektion=9\&manpath=FreeBSD+6.4-RELEASE) 和 [realloc(9)](http://www.freebsd.org/cgi/man.cgi?query=realloc\&sektion=9\&manpath=FreeBSD+6.4-RELEASE) 检测缓冲区溢出和缓冲区下溢错误，并打印内存分配和释放的调用栈。有关详细信息，请参阅内核选项 `DEBUG_REDZONE`。

FreeBSD 内核中实现了 [rpc.lockd(8)](http://www.freebsd.org/cgi/man.cgi?query=rpc.lockd\&sektion=8\&manpath=FreeBSD+6.4-RELEASE) 的客户端功能。此实现提供了适用于 [flock(2)](http://www.freebsd.org/cgi/man.cgi?query=flock\&sektion=2\&manpath=FreeBSD+6.4-RELEASE) 风格锁的正确语义，这些锁由命令行工具 [lockf(1)](http://www.freebsd.org/cgi/man.cgi?query=lockf\&sektion=1\&manpath=FreeBSD+6.4-RELEASE) 和库 [pidfile(3)](http://www.freebsd.org/cgi/man.cgi?query=pidfile\&sektion=3\&manpath=FreeBSD+6.4-RELEASE) 使用。此功能还实现了从服务器重启后的恢复，并确保在获取锁之前将脏缓存块写入服务器（允许多个客户端通过文件锁定安全地共享数据）。此外，还新增了内核选项 `options NFSLOCKD` 并默认启用。如果内核支持启用，[rpc.lockd(8)](http://www.freebsd.org/cgi/man.cgi?query=rpc.lockd\&sektion=8\&manpath=FreeBSD+6.4-RELEASE) 会自动检测并使用该功能。

#### 2.2.1 启动加载器变更

FreeBSD 现在支持从 BIOS 启动使用 GPT 标签的磁盘。

启动加载器使用的 BTX 内核已变更为从实模式调用 BIOS 例程。此变更使 FreeBSD 可以从 USB 设备启动。

#### 2.2.2 硬件支持

[acpi\_asus(4)](http://www.freebsd.org/cgi/man.cgi?query=acpi_asus\&sektion=4\&manpath=FreeBSD+6.4-RELEASE) 驱动现在支持 Asus EeePC 的背光控制。

**2.2.2.1 多媒体支持**

DRM 驱动现在支持 i915 GME 设备。

**2.2.2.2 网络接口支持**

[bge(4)](http://www.freebsd.org/cgi/man.cgi?query=bge\&sektion=4\&manpath=FreeBSD+6.4-RELEASE) 驱动现在支持基于 BCM5906 的适配器。

#### 2.2.3 网络协议

[dummynet(4)](http://www.freebsd.org/cgi/man.cgi?query=dummynet\&sektion=4\&manpath=FreeBSD+6.4-RELEASE) 子系统现在支持快速模式操作，该模式允许某些数据包绕过 dummynet 调度器。这在数据包流量低于通道带宽时可以实现更低的延迟和开销，同时消除子系统中的递归。新增的 sysctl 变量 `net.inet.ip.dummynet.io_fast` 可用于启用此功能。

[resolver(3)](http://www.freebsd.org/cgi/man.cgi?query=resolver\&sektion=3\&manpath=FreeBSD+6.4-RELEASE) 现在允许域名中使用下划线。尽管这违反了 RFC 1034 \[STD 13]，但某些名称服务器以及其他流行操作系统的解析库接受此行为。

#### 2.2.4 磁盘和存储

[aac(4)](http://www.freebsd.org/cgi/man.cgi?query=aac\&sektion=4\&manpath=FreeBSD+6.4-RELEASE) 驱动现在支持大于 2TB 的 RAID 阵列的 64 位数组支持，并允许对设备进行同时打开以向控制器发送命令。

修复了 [ata(4)](http://www.freebsd.org/cgi/man.cgi?query=ata\&sektion=4\&manpath=FreeBSD+6.4-RELEASE) 驱动在 ServerWorks HT1000 芯片组上的数据损坏问题。

[iir(4)](http://www.freebsd.org/cgi/man.cgi?query=iir\&sektion=4\&manpath=FreeBSD+6.4-RELEASE) 驱动的稳定性得到了改进。

[mpt(4)](http://www.freebsd.org/cgi/man.cgi?query=mpt\&sektion=4\&manpath=FreeBSD+6.4-RELEASE) 驱动现在支持 mpt\_user 功能模块。

### 2.3 用户空间变更

[bsdtar(1)](http://www.freebsd.org/cgi/man.cgi?query=bsdtar\&sektion=1\&manpath=FreeBSD+6.4-RELEASE) 工具现在支持以下选项：`--numeric-owner`、`-S` 和 `-s`。

修复了 [cp(1)](http://www.freebsd.org/cgi/man.cgi?query=cp\&sektion=1\&manpath=FreeBSD+6.4-RELEASE) 工具中阻止正确复制 POSIX.1e ACL 的错误（另请参阅 [acl(3)](http://www.freebsd.org/cgi/man.cgi?query=acl\&sektion=3\&manpath=FreeBSD+6.4-RELEASE)）。

[cron(8)](http://www.freebsd.org/cgi/man.cgi?query=cron\&sektion=8\&manpath=FreeBSD+6.4-RELEASE) 工具现在支持 `-m` 参数，用于覆盖 cron 邮件的默认收件人，除非在 crontab 文件中通过 MAILTO= 行明确指定。

[cvs(1)](http://www.freebsd.org/cgi/man.cgi?query=cvs\&sektion=1\&manpath=FreeBSD+6.4-RELEASE) 现在支持 `-n` 参数，与 `-N` 参数的作用相反。

[dump(8)](http://www.freebsd.org/cgi/man.cgi?query=dump\&sektion=8\&manpath=FreeBSD+6.4-RELEASE) 和 [restore(8)](http://www.freebsd.org/cgi/man.cgi?query=restore\&sektion=8\&manpath=FreeBSD+6.4-RELEASE) 工具现在支持扩展属性（另请参阅 [extattr(9)](http://www.freebsd.org/cgi/man.cgi?query=extattr\&sektion=9\&manpath=FreeBSD+6.4-RELEASE)）。

[fortune(6)](http://www.freebsd.org/cgi/man.cgi?query=fortune\&sektion=6\&manpath=FreeBSD+6.4-RELEASE) 程序现在支持环境变量 `FORTUNE_PATH`，用于指定 fortune 文件的搜索路径。

修复了 [fortune(6)](http://www.freebsd.org/cgi/man.cgi?query=fortune\&sektion=6\&manpath=FreeBSD+6.4-RELEASE) 程序中导致 `-e` 选项在处理多个文件时无法正常工作的错误。

[freebsd-update.conf(5)](http://www.freebsd.org/cgi/man.cgi?query=freebsd-update.conf\&sektion=5\&manpath=FreeBSD+6.4-RELEASE) 现在支持 IDSIgnorePaths 语句。

[fwcontrol(8)](http://www.freebsd.org/cgi/man.cgi?query=fwcontrol\&sektion=8\&manpath=FreeBSD+6.4-RELEASE) 工具现在支持 `-f <node>` 选项，用于指定下次总线复位的根节点。

[make(1)](http://www.freebsd.org/cgi/man.cgi?query=make\&sektion=1\&manpath=FreeBSD+6.4-RELEASE) 工具现在支持 `:u` 变量修饰符，可移除相邻的重复单词。

修复了 [morse(6)](http://www.freebsd.org/cgi/man.cgi?query=morse\&sektion=6\&manpath=FreeBSD+6.4-RELEASE) 程序中的语法错误问题。

[mountd(8)](http://www.freebsd.org/cgi/man.cgi?query=mountd\&sektion=8\&manpath=FreeBSD+6.4-RELEASE) 工具现在支持 `-h <bindip>` 选项，可指定用于 TCP 和 UDP 请求的绑定 IP 地址。此选项可以多次指定。如果未指定 `-h` 选项，则使用 INADDR\_ANY。需要注意的是，使用此选项指定 IP 地址时，将自动添加 127.0.0.1，并在启用 IPv6 时添加 ::1。

[moused(8)](http://www.freebsd.org/cgi/man.cgi?query=moused\&sektion=8\&manpath=FreeBSD+6.4-RELEASE) 工具现在支持 `-L` 参数，用于变更滚动速度，并变更了 `-U` 选项的行为，使其仅影响滚动阈值。

[mv(1)](http://www.freebsd.org/cgi/man.cgi?query=mv\&sektion=1\&manpath=FreeBSD+6.4-RELEASE) 现在支持在跨设备将目录移动到现有目录时符合 POSIX 规范。

[periodic(8)](http://www.freebsd.org/cgi/man.cgi?query=periodic\&sektion=8\&manpath=FreeBSD+6.4-RELEASE) 现在支持在 [periodic.conf(5)](http://www.freebsd.org/cgi/man.cgi?query=periodic.conf\&sektion=5\&manpath=FreeBSD+6.4-RELEASE) 中配置 `daily_status_mail_rejects_shorten` 变量。该变量允许被拒绝的邮件报告按黑名单汇总拒绝情况，而不提供单个发送主机的详细信息。默认配置保留原始形式的报告。

[ping6(8)](http://www.freebsd.org/cgi/man.cgi?query=ping6\&sektion=8\&manpath=FreeBSD+6.4-RELEASE) 现在以与 [ping(8)](http://www.freebsd.org/cgi/man.cgi?query=ping\&sektion=8\&manpath=FreeBSD+6.4-RELEASE) 相同的方式使用退出状态 0 和 2。

修复了 [telnetd(8)](http://www.freebsd.org/cgi/man.cgi?query=telnetd\&sektion=8\&manpath=FreeBSD+6.4-RELEASE) 工具中的一个错误，该错误导致在指定 `-a all` 选项时仍尝试进行身份验证。

[top(1)](http://www.freebsd.org/cgi/man.cgi?query=top\&sektion=1\&manpath=FreeBSD+6.4-RELEASE) 和 [vmstat(8)](http://www.freebsd.org/cgi/man.cgi?query=vmstat\&sektion=8\&manpath=FreeBSD+6.4-RELEASE) 现在支持 `-P` 参数，用于显示每个 CPU 的统计信息。

[watch(8)](http://www.freebsd.org/cgi/man.cgi?query=watch\&sektion=8\&manpath=FreeBSD+6.4-RELEASE) 工具现在支持同时管理超过 10 个 [snp(4)](http://www.freebsd.org/cgi/man.cgi?query=snp\&sektion=4\&manpath=FreeBSD+6.4-RELEASE) 设备。

#### 2.3.1 /etc/rc.d 脚本

已移除 ike [rc(8)](http://www.freebsd.org/cgi/man.cgi?query=rc\&sektion=8\&manpath=FreeBSD+6.4-RELEASE) 脚本。

[rc.conf(5)](http://www.freebsd.org/cgi/man.cgi?query=rc.conf\&sektion=5\&manpath=FreeBSD+6.4-RELEASE) 现在支持变量 `dummynet_enable`，该变量允许在 `firewall_enable` 为 `YES` 时加载 [dummynet(4)](http://www.freebsd.org/cgi/man.cgi?query=dummynet\&sektion=4\&manpath=FreeBSD+6.4-RELEASE) 内核模块。

ppp [rc(8)](http://www.freebsd.org/cgi/man.cgi?query=rc\&sektion=8\&manpath=FreeBSD+6.4-RELEASE) 脚本现在支持多个实例。有关更多详细信息，请参见 [rc.conf(5)](http://www.freebsd.org/cgi/man.cgi?query=rc.conf\&sektion=5\&manpath=FreeBSD+6.4-RELEASE) 中变量 `ppp_profile` 的介绍。

已添加 rfcomm\_pppd\_server [rc(8)](http://www.freebsd.org/cgi/man.cgi?query=rc\&sektion=8\&manpath=FreeBSD+6.4-RELEASE) 脚本，该脚本允许在启动时以服务器模式启动 [rfcomm\_pppd(8)](http://www.freebsd.org/cgi/man.cgi?query=rfcomm_pppd\&sektion=8\&manpath=FreeBSD+6.4-RELEASE)。多个配置文件可以同时启动。有关更多详细信息，请参见 [rc.conf(5)](http://www.freebsd.org/cgi/man.cgi?query=rc.conf\&sektion=5\&manpath=FreeBSD+6.4-RELEASE)。

sysctl [rc(8)](http://www.freebsd.org/cgi/man.cgi?query=rc\&sektion=8\&manpath=FreeBSD+6.4-RELEASE) 脚本现在支持加载 `/etc/sysctl.conf.local`，除了 `/etc/sysctl.conf`。

[rc.conf(5)](http://www.freebsd.org/cgi/man.cgi?query=rc.conf\&sektion=5\&manpath=FreeBSD+6.4-RELEASE) 现在支持为 `firewall_type` 为 simple 或 client 时，通过 `rc.firewall` 配置接口和附加网络的防火墙规则集。请参阅 `firewall_client_net`、`firewall_simple_iif`、`firewall_simple_inet`、`firewall_simple_oif` 和 `firewall_simple_onet`。

### 2.4 第三方

**am-utils** 已更新到版本 6.1.5。

**ISC BIND** 已更新到版本 9.3.5-P2。

**bzip2** 已从 1.0.4 更新到 1.0.5。

**NTP** 已更新到版本 4.2.4p5。

**FILE** 已更新到版本 4.21。

libarchive 已虚拟更新到 2.5.4b。请注意，内部版本号仍为 1.9.25，因为 API/ABI 兼容性得以保留。

**ncurses** 库已更新到版本 5.6-20080503。

**OpenPAM** 已更新为 Hydrangea 发布版。

**sendmail** 已从 8.14.2 更新到 8.14.3。

**tcsh** 已更新到版本 6.15.00。

时区数据库已从 **tzdata2007k** 发布版更新到 **tzdata2008e** 发布版。

### 2.5 Ports/软件包

`pkg_install` 工具已升级到 2008 年 5 月 30 日的 8.0-CURRENT 快照。

已移除 [pkg\_sign(1)](http://www.freebsd.org/cgi/man.cgi?query=pkg_sign\&sektion=1\&manpath=FreeBSD+6.4-RELEASE) 和 [pkg\_check(1)](http://www.freebsd.org/cgi/man.cgi?query=pkg_check\&sektion=1\&manpath=FreeBSD+6.4-RELEASE) 工具

### 2.6 发布工程与集成

**GNOME** 桌面环境的受支持版本 ([x11/gnome2](http://www.freebsd.org/cgi/url.cgi?ports/x11/gnome2/pkg-descr)) 已从 2.20.1 更新到 2.22.3。

**KDE** 桌面环境的受支持版本 ([x11/kde3](http://www.freebsd.org/cgi/url.cgi?ports/x11/kde3/pkg-descr)) 已从 3.5.8 更新到 3.5.10。

## 3 从旧版本升级到 FreeBSD

FreeBSD 6.4-RELEASE 的源代码升级仅支持从 FreeBSD 5.3-RELEASE 或更高版本进行。较旧系统的用户若要升级到 6.4-RELEASE，需先更新到 FreeBSD 5.3 或更新版本，然后再升级到 FreeBSD 6.4-RELEASE。

> **重要提示：**
>
> 升级 FreeBSD 前，请务必先备份 **所有** 数据和配置文件。

***

此文件及其他与发布相关的文档可从 [ftp://ftp.FreeBSD.org/](ftp://ftp.freebsd.org/) 下载。

有关 FreeBSD 的问题，请先阅读 [文档](http://www.freebsd.org/docs.html)，然后再联系 <<questions@FreeBSD.org>>。

有关此文档的问题，请发送电子邮件至 <<doc@FreeBSD.org>>。
