# FreeBSD 4.9 RELEASE i386 发行公告（2003 年 10 月 28 日）

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

**FreeBSD 项目**

版权所有 © 2000, 2001, 2002, 2003 FreeBSD 文档项目

```ini
$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.22.2.386 2003/10/19 18:33:34 bmah Exp $
```

FreeBSD 4.9-RELEASE 的发布说明包含自 4.8-RELEASE 以来对 FreeBSD 基本系统所做变更的摘要。列出了内核和用户空间的变更，以及自上次发布以来发布的适用于基本系统的安全公告。还简要介绍了升级过程。

## 1 简介

本文档包含 FreeBSD 4.9-RELEASE 在 i386 硬件平台上的发布说明。它介绍了自 4.8-RELEASE 以来新增（或变更）的 FreeBSD 新特性。同时提供了有关从以前版本升级的说明。

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

## 2 新特性

本节介绍了自 4.8-RELEASE 以来，FreeBSD 中最显著的新特性或变更。典型的发布说明项目包括新驱动程序或硬件支持、新命令或选项、重要的 bug 修复或第三方的软件升级。同时列出了 4.8-RELEASE 后发布的基本系统安全公告。

### 2.1 安全公告

修复了 **sendmail** 中的一个远程可利用的缓冲区溢出漏洞。有关更多详细信息，请参见安全公告 [FreeBSD-SA-03:07](ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:07.sendmail.asc)。在 FreeBSD 4.8-RELEASE 中，此漏洞通过供应商提供的补丁进行了修复（但修复太晚，未能纳入发布说明）。在 FreeBSD 4.9-RELEASE 中，已通过引入新的 **sendmail** 版本进行修复。

修复了 [realpath(3)](http://www.freebsd.org/cgi/man.cgi?query=realpath\&sektion=3\&manpath=FreeBSD+4.9-RELEASE) 中的一个单字节缓冲区溢出漏洞。有关更多详细信息，请参见安全公告 [FreeBSD-SA-03:08](ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:08.realpath.asc)。

修复了一个可能导致内核尝试传递无效信号的 bug，该 bug 可能导致内核 Panic。有关更多信息，请参见安全公告 [FreeBSD-SA-03:09](ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:09.signal.asc)。

修复了 iBCS2 模块中的一个 bug，该 bug 可能导致泄露内核内存内容。此模块在 FreeBSD 中默认未启用。有关更多信息，请参见安全公告 [FreeBSD-SA-03:10](ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:10.ibcs2.asc)。

修复了 **sendmail** 实现的 DNS 映射功能中的编程错误，已通过引入新的 **sendmail** 版本进行修复。有关更多信息，请参见安全公告 [FreeBSD-SA-03:11](ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:11.sendmail.asc)。请注意，此功能未在 FreeBSD 提供的默认配置文件中使用。

修复了 **OpenSSH** 中的缓冲区管理 bug，该 bug 可能导致崩溃。有关更多信息，请参见安全公告 [FreeBSD-SA-03:12](ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:12.openssh.asc)。

修复了 **sendmail** 中的缓冲区溢出漏洞。有关更多信息，请参见安全公告 [FreeBSD-SA-03:13](ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:13.sendmail.asc)。

修复了一个 bug，该 bug 可能导致内核在 ARP 缓存代码中造成资源耗尽，最终导致系统 Panic。有关更多信息，请参见安全公告 [FreeBSD-SA-03:14](ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:14.arp.asc)。

修复了 **OpenSSH** PAM 挑战/认证子系统中的多个错误。这些错误的影响不同，详细信息请参见安全公告 [FreeBSD-SA-03:15](ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:15.openssh.asc)。

修复了 [readv(2)](http://www.freebsd.org/cgi/man.cgi?query=readv\&sektion=2\&manpath=FreeBSD+4.9-RELEASE) 系统调用中的 bug，该 bug 可能导致系统崩溃或特权升级。有关更多信息，请参见安全公告 [FreeBSD-SA-03:16](ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:16.filedesc.asc)。

修复了 [procfs(5)](http://www.freebsd.org/cgi/man.cgi?query=procfs\&sektion=5\&manpath=FreeBSD+4.9-RELEASE) 和 [linprocfs(5)](http://www.freebsd.org/cgi/man.cgi?query=linprocfs\&sektion=5\&manpath=FreeBSD+4.9-RELEASE) 中的 bug，该 bug 可能导致泄露内核内存的内容。有关更多信息，请参见安全公告 [FreeBSD-SA-03:17](ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:17.procfs.asc)。

修复了 **OpenSSL** 中的四个独立的安全漏洞，这些漏洞可能允许远程攻击者使使用 **OpenSSL** 的应用程序崩溃，或执行任意代码并获得应用程序的权限。有关更多信息，请参见安全公告 [FreeBSD-SA-03:18](ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:18.openssl.asc)。

### 2.2 内核变更

修复了一个 bug，该 bug 导致 [atkbd(4)](http://www.freebsd.org/cgi/man.cgi?query=atkbd\&sektion=4\&manpath=FreeBSD+4.9-RELEASE) 在控制台初始化时注册 AT 键盘，即使没有连接 AT 键盘也会发生。现在，当只连接 USB 键盘时，不再需要使用 kbdcontrol -k /dev/kbd1。

驱动程序 [hifn(4)](http://www.freebsd.org/cgi/man.cgi?query=hifn\&sektion=4\&manpath=FreeBSD+4.9-RELEASE) 现在支持 7955 和 7956 芯片组的对称加密。

已新增驱动程序 [safe(4)](http://www.freebsd.org/cgi/man.cgi?query=safe\&sektion=4\&manpath=FreeBSD+4.9-RELEASE)，以支持基于 SafeNet 1141 和 1741 的加密加速器。

> **警告：**
>
> 此驱动程序应视为实验性，使用时应谨慎。

> **注意：**
>
> 公钥支持尚未实现。

#### 2.2.1 平台特定硬件支持

修复了一个 bug，该 bug 导致内核无法在 Intel 80386 处理器上启动。

增加了对 Intel Pentium Pro 及更高版本处理器的物理地址扩展（PAE）功能的支持。这允许在机器中使用最多 64GB 的 RAM，尽管任何单个进程（或 FreeBSD 内核）可用的内存量保持不变。[pae(4)](http://www.freebsd.org/cgi/man.cgi?query=pae\&sektion=4\&manpath=FreeBSD+4.9-RELEASE) 手册页面提供了有关此功能的更多详细信息。

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

#### 2.2.3 网络接口支持

[bge(4)](http://www.freebsd.org/cgi/man.cgi?query=bge\&sektion=4\&manpath=FreeBSD+4.9-RELEASE) 现在支持基于 Broadcom 5705 的千兆以太网 NIC。

驱动程序 [dc(4)](http://www.freebsd.org/cgi/man.cgi?query=dc\&sektion=4\&manpath=FreeBSD+4.9-RELEASE) 可再次正确地通过 Davicom DC9102 卡传输数据包。

proatm 驱动程序已新增，以支持 ProSum 的 ProATM（基于 IDT77252）接口。此驱动程序类似于 FreeBSD-CURRENT 中的驱动程序 patm。

已新增网络驱动程序 [rue(4)](http://www.freebsd.org/cgi/man.cgi?query=rue\&sektion=4\&manpath=FreeBSD+4.9-RELEASE)，提供对基于 RealTek RTL8150 USB 到快速以太网控制器芯片的以太网适配器的支持。

已新增驱动程序 [sbsh(4)](http://www.freebsd.org/cgi/man.cgi?query=sbsh\&sektion=4\&manpath=FreeBSD+4.9-RELEASE)，以支持 Granch SBNI16 SHDSL 调制解调器。

[sk(4)](http://www.freebsd.org/cgi/man.cgi?query=sk\&sektion=4\&manpath=FreeBSD+4.9-RELEASE) 现在支持 SK-9521 V2.0 和 3COM 3C940 基于的千兆以太网 NIC。

当驱动程序 [wi(4)](http://www.freebsd.org/cgi/man.cgi?query=wi\&sektion=4\&manpath=FreeBSD+4.9-RELEASE) 配置为关闭时，挂起/恢复支持现已正确工作。

#### 2.2.4 网络协议

修复了 [ipfw(4)](http://www.freebsd.org/cgi/man.cgi?query=ipfw\&sektion=4\&manpath=FreeBSD+4.9-RELEASE) 限制规则处理中的一个 bug，该 bug 可能导致各种内核 Panic。

[ipfw(4)](http://www.freebsd.org/cgi/man.cgi?query=ipfw\&sektion=4\&manpath=FreeBSD+4.9-RELEASE) 规则现在支持逗号分隔的地址列表（例如 `1.2.3.4, 5.6.7.8/30, 9.10.11.12/22`），并允许在逗号后新增空格，以使地址列表更具可读性。

[ipfw(4)](http://www.freebsd.org/cgi/man.cgi?query=ipfw\&sektion=4\&manpath=FreeBSD+4.9-RELEASE) 规则现在支持 C++ 风格的注释。每个注释与其规则一起存储，并通过 [ipfw(8)](http://www.freebsd.org/cgi/man.cgi?query=ipfw\&sektion=8\&manpath=FreeBSD+4.9-RELEASE) show 命令显示。

[ipfw(8)](http://www.freebsd.org/cgi/man.cgi?query=ipfw\&sektion=8\&manpath=FreeBSD+4.9-RELEASE) 现在可以修改 [ipfw(4)](http://www.freebsd.org/cgi/man.cgi?query=ipfw\&sektion=4\&manpath=FreeBSD+4.9-RELEASE) 规则集 31，这些规则集是只读的并用于默认规则。它们可以通过命令 `ipfw delete set 31` 删除，但不能通过 `ipfw flush` 命令删除。这实现了一种灵活的持久规则形式。有关更多详细信息，请参见 [ipfw(8)](http://www.freebsd.org/cgi/man.cgi?query=ipfw\&sektion=8\&manpath=FreeBSD+4.9-RELEASE)。

内核已增加对协议无关组播（PIM）路由的支持。

#### 2.2.5 磁盘和存储

驱动程序 [da(4)](http://www.freebsd.org/cgi/man.cgi?query=da\&sektion=4\&manpath=FreeBSD+4.9-RELEASE) 不再尝试向 USB 和 Firewire 设备发送 6 字节命令。USB 设备的特殊处理（希望现在不再需要）已被禁用；要恢复旧行为，可以在内核配置中新增 `options DA_OLD_QUIRKS`。

驱动程序 [twe(4)](http://www.freebsd.org/cgi/man.cgi?query=twe\&sektion=4\&manpath=FreeBSD+4.9-RELEASE) 现在支持 3ware 通用 API。

#### 2.2.6 文件系统

新的 DIRECTIO 内核选项启用了支持跳过缓冲区缓存并将数据直接放入用户空间缓冲区的读取操作。此功能要求在文件描述符上设置 `O_DIRECT` 参数，并且读取操作的偏移量和长度必须是物理介质扇区大小的倍数。

#### 2.2.7 PCCARD 支持

#### 2.2.8 多媒体支持

### 2.3 用户空间变更

[arp(8)](http://www.freebsd.org/cgi/man.cgi?query=arp\&sektion=8\&manpath=FreeBSD+4.9-RELEASE) 现在支持 `-i` 选项，以将当前操作的作用域限制为特定接口上的 ARP 条目。此选项仅适用于显示操作。它在具有多个网络接口的路由器上应当非常有用。

[chroot(8)](http://www.freebsd.org/cgi/man.cgi?query=chroot\&sektion=8\&manpath=FreeBSD+4.9-RELEASE) 现在允许通过选项 `-u`、`-g` 和 `-G` 分别可选设置在 chroot 环境中使用的用户、主组或组列表。

[ipfw(8)](http://www.freebsd.org/cgi/man.cgi?query=ipfw\&sektion=8\&manpath=FreeBSD+4.9-RELEASE) `list` 和 `show` 命令现在支持规则编号范围。

[ipfw(8)](http://www.freebsd.org/cgi/man.cgi?query=ipfw\&sektion=8\&manpath=FreeBSD+4.9-RELEASE) 现在支持 `-n` 参数，用于测试命令的语法，而不实际变更任何内容。

[mount\_msdos(8)](http://www.freebsd.org/cgi/man.cgi?query=mount_msdos\&sektion=8\&manpath=FreeBSD+4.9-RELEASE) 工具现在支持 `-M` 选项，用于指定文件系统中目录的最大文件权限。

[systat(1)](http://www.freebsd.org/cgi/man.cgi?query=systat\&sektion=1\&manpath=FreeBSD+4.9-RELEASE) 现在包括显示 IPv6 和 ICMPv6 流量的功能。

[uudecode(1)](http://www.freebsd.org/cgi/man.cgi?query=uudecode\&sektion=1\&manpath=FreeBSD+4.9-RELEASE) 和 [b64decode(1)](http://www.freebsd.org/cgi/man.cgi?query=b64decode\&sektion=1\&manpath=FreeBSD+4.9-RELEASE) 现在支持 -r 参数，用于解码缺少初始和可能缺少结尾框架行的原始（或损坏的）文件。

### 2.4 第三方软件

Intel ACPI 20030228 发行版（带有本地 FreeBSD 变更和支持代码）已被导入。此功能应被视为实验性，并且在部署到生产环境之前应进行测试。

> **注意：**
>
> 与 FreeBSD-CURRENT 不同，ACPI 驱动程序必须通过将设备 acpica 新增到内核配置中静态编译进内核。没有内核模块。此驱动程序不包含在默认的 GENERIC 内核中。

**groff** 已从 1.18.1 更新到 1.19。

**lukemftpd**（默认情况下不构建）已从 1.2beta1 更新到 2003 年 1 月 5 日的 NetBSD CVS 仓库快照。

**OpenSSL** 已从 0.9.7a 更新到 0.9.7c。

**sendmail** 已更新到版本 8.12.9。

**texinfo** 已从 4.5 更新到 4.6。

时区数据库已从 tzdata2003a 版本更新到 tzdata2003d 版本。

### 2.5 Ports/软件包

[pkg\_create(1)](http://www.freebsd.org/cgi/man.cgi?query=pkg_create\&sektion=1\&manpath=FreeBSD+4.9-RELEASE) 现在支持 `-C` 选项，允许软件包注册与其冲突的其他软件包列表。如果列出的某个软件包已经存在，它们将拒绝安装（通过 [pkg\_add(1)](http://www.freebsd.org/cgi/man.cgi?query=pkg_add\&sektion=1\&manpath=FreeBSD+4.9-RELEASE)）。参数 `-f` 可以覆盖此冲突检查。

### 2.6 发布工程和集成

**GNOME** 的支持版本已从 2.2 更新到 2.4。

**KDE** 的支持版本已从 3.1 更新到 3.1.4。

## 3 从旧版 FreeBSD 升级

如果你正在从 FreeBSD 的早期版本升级，通常有三种选择：

* 使用 [sysinstall(8)](http://www.freebsd.org/cgi/man.cgi?query=sysinstall\&sektion=8\&manpath=FreeBSD+4.9-RELEASE) 的二进制升级方案。这个方法可能是最快的，尽管它假设你的 FreeBSD 安装没有使用任何特殊的编译选项。
* 执行完整的 FreeBSD 重新安装。严格来说，这不是一种升级方法，无论如何通常比二进制升级更不方便，因为它需要你手动备份和恢复 `/etc` 的内容。然而，在你需要（或想要）变更磁盘分区的情况下，这可能会有用。
* 从 `/usr/src` 的源代码进行升级。这条路更灵活，但需要更多的磁盘空间、时间和技术专长。更多信息请参阅 [\`使用 make world'](http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html) 章节，位于 [FreeBSD 手册](http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/) 中。从非常旧版本的 FreeBSD 升级可能会有问题；在这种情况下，通常执行二进制升级或完整重新安装会更有效。

请在开始升级之前阅读 `INSTALL.TXT` 文件，最好在此之前阅读。如果你从源代码升级，请确保阅读 `/usr/src/UPDATING` 文件。

最后，如果你想使用各种方式跟踪 FreeBSD 的 -STABLE 或 -CURRENT 分支，请务必查阅 [\`-CURRENT 与 -STABLE'](http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/current-stable.html) 章节，位于 [FreeBSD 手册](http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/) 中。

> **重要：**
>
> 只有在备份 **所有** 数据和配置文件之后，才应尝试升级 FreeBSD。

***

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

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

有关此文档的问题，请通过电子邮件联系 <doc@FreeBSD.org>。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://book.bsdcn.org/release/4.9.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
