github编辑

FreeBSD 4.10 RELEASE i386 发行公告(2004 年 5 月 27 日)

FreeBSD 项目

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

$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.22.2.410.2.3 2004/05/22 00:22:41 hrs Exp $

FreeBSD 4.10-RELEASE 的发布说明包含自 4.9-RELEASE 以来对 FreeBSD 基本系统所做的变更的摘要。列出了内核和用户空间的所有变更,以及自上次发布以来发布的与基本系统相关的安全公告。同时也提供了关于升级的一些简要说明。

1 引言

本文档包含了 FreeBSD 4.10-RELEASE 在 i386 硬件平台上的发布说明。它介绍了自 4.9-RELEASE 以来新增(或变更)的 FreeBSD 新特性。它还提供了一些关于从先前版本的 FreeBSD 升级的注意事项。

此发行版的 FreeBSD 4.10-RELEASE 是一个发布版。它可以在 ftp://ftp.FreeBSD.org/arrow-up-right 或其镜像站点找到。有关获取此(或其他)FreeBSD 发行版的更多信息,请参见 FreeBSD 手册arrow-up-right 中的 获取 FreeBSDarrow-up-right 附录。

有关在发布后发现的重要信息或发布周期中的最后一刻变更,请参阅 勘误arrow-up-right 文档。

2 新特性

本节介绍了自 4.9-RELEASE 以来 FreeBSD 中最显著的用户可见新特性或变更。典型的发布说明项目记录了新驱动程序或硬件支持、新命令或选项、主要的 bug 修复,或第三方软件更新。还列出了自 4.9-RELEASE 之后发布的与基本系统相关的安全公告。

2.1 安全公告

已修复 BIND 中的潜在拒绝服务漏洞。有关更多信息,请参见安全公告 FreeBSD-SA-03:19arrow-up-right

已修复系统 V 共享内存接口中的一个 bug(特别是 shmat(2)arrow-up-right 系统调用)。该 bug 可能导致共享内存段引用未分配的内核内存,从而允许本地攻击者未经授权访问内核内存的某些部分,可能导致敏感信息泄露、绕过访问控制机制或特权升级。更多细节请参见安全公告 FreeBSD-SA-04:02arrow-up-right

通过限制一次可以持有的乱序 TCP 段数量,防止了针对 FreeBSD TCP 堆栈的潜在低带宽拒绝服务攻击。更多细节请参见安全公告 FreeBSD-SA-04:04arrow-up-right

已修复 OpenSSL 在 SSL/TLS ChangeCipherSpec 消息处理中的一个 bug,可能导致空指针解引用,进而导致远程攻击者使 OpenSSL 使用的应用崩溃,并造成系统拒绝服务。更多细节请参见安全公告 FreeBSD-SA-04:05arrow-up-right

已修复 CVS 中的两个编程错误,允许服务器覆盖客户端的任意文件,客户端在访问远程 CVS 仓库时读取服务器上的任意文件。更多细节请参见安全公告 FreeBSD-SA-04:07arrow-up-right

Heimdal 的一个 bug 修复了它在跨自治领域进行身份验证时未进行充分检查的问题。有关更多信息,请参见安全公告 FreeBSD-SA-04:08arrow-up-right

kadmind(8)arrow-up-right 中的一个修复解决了潜在的缓冲区溢出问题。详细信息请参见安全公告 FreeBSD-SA-04:09arrow-up-right

2.2 内核变更

驱动程序 cx(4)arrow-up-right 已更新到版本 4.4.0,用于 Cronyx Sigma 同步/异步串行适配器。

已新增驱动程序 ctau(4)arrow-up-right,用于 Cronyx-Tau 同步串行适配器。一直以来,这个驱动程序在 FreeBSD 源代码树之外被称为“ct”。

注意:

驱动程序的名称已变更,但网络接口仍使用 ct 这个名称。

已新增驱动程序 dcons(4)arrow-up-right “dumb console”,用于提供本地和远程控制台。可以通过 FireWire 使用驱动程序 dcons_crom(4)arrow-up-right 进行访问。dconschat(8)arrow-up-right 工具提供用户访问 dcons(4)arrow-up-right 设备。

已修复 mmap(2)arrow-up-right 中的一个 bug,导致某些情况下标记为 PROT_NONE 的页面可能变得可读。

驱动程序 stl(4)arrow-up-right 已更新至版本 5.6.0b1。

已新增驱动程序 umct(4)arrow-up-right,提供对基于 Magic Control Technology USB-232 的 USB 到 RS-232 转换器的支持。

usb(4)arrow-up-right 支持已改进,包含了大量的 bug 修复,并且对某些 USB2 设备提供了早期支持。

注意:

umodem(4)arrow-up-right 现在使用 /dev/ucom而不是 /dev/umodem 设备节点。

2.2.1 平台特定硬件支持

2.2.2 启动加载器变更

2.2.3 网络接口支持

已修复 em(4)arrow-up-right 在参数重新配置过程中出现的短暂卡顿问题。

已修复一个 bug,导致驱动程序 nge(4)arrow-up-right 无法启用 VLAN 支持。

已修复与 polling(4)arrow-up-right 支持相关的多个 bug,涉及 rl(4)arrow-up-right 驱动程序。

驱动程序 ste(4)arrow-up-right 现在支持 polling(4)arrow-up-right

已禁用驱动程序 xl(4)arrow-up-right 的硬件 TX 校验和支持,因为它无法正常工作且会减慢传输速度。

2.2.4 网络协议

已移除内核选项 DA_OLD_QUIRKS (用于 CAM SCSI 磁盘驱动程序 cam(4)arrow-up-right)。

TCP 实现现在包括对 RFC 2385(TCP-MD5)摘要支持的部分(仅输出)支持。此功能通过内核选项 TCP_SIGNATUREFAST_IPSEC 启用,是一种用于认证 TCP 会话的 TCP 选项。setkey(8)arrow-up-right 现在支持 TCP-MD5 类型的安全关联。

实现了来自 OpenBSD 的随机临时端口分配。默认启用,你可以使用 sysctl net.inet.ip.portrange.randomized 禁用此功能。

已新增 NetGraph 节点类型 ng_vlan(4)arrow-up-right ,支持 IEEE 802.1Q VLAN 标记。

2.2.5 磁盘和存储

驱动程序 amr(4)arrow-up-right 现在支持系统崩溃转储。

已新增驱动程序 twa(4)arrow-up-right ,支持 3ware 的 9000 系列 PATA/SATA RAID 控制器。

驱动程序 umass(4)arrow-up-right 现在支持缺失的 ATAPI MMC 命令,并能正确处理超时。

2.2.6 文件系统

2.2.7 PCCARD 支持

2.2.8 多媒体支持

2.3 用户空间变更

disklabel(8)arrow-up-right 现在支持 -f 选项,用于操作包含磁盘映像的常规文件。

ifconfig(8)arrow-up-right 现在支持接口的 staticarp 选项,用于禁用该接口发送 ARP 请求。

ifconfig(8)arrow-up-right 现在会打印接口上的 polling(4)arrow-up-right 状态。

killall(1)arrow-up-right 现在支持 -e 参数,使得 -u 可以操作有效的用户 ID,而不是实际的用户 ID。

fsck(8)arrow-up-rightlost+found 目录的默认模式现在是 0700,而不是 01777

libalias 库、natd(8)arrow-up-rightppp(8)arrow-up-right 现在支持 Cisco Skinny Station 协议,这是 Cisco IP 电话与 Cisco Call Managers 通信时使用的协议。请注意,目前不支持将 Call Manager 放在 NAT 网关后面。

libdisk 现在使用正确的 PC98 磁盘分区值,这使得 sysinstall(8)arrow-up-right 磁盘分区编辑器可以正确创建覆盖整个磁盘的单一 FreeBSD 分区。

makewhatis(1)arrow-up-right,原本是个 Perl 脚本,已用 C 重新实现。

ps(1)arrow-up-right 的 POSIX/SUSv3 兼容性得到了增强。变更包括 -p 用于列出进程 ID,-t 用于列出终端名称,-A 等效于 -ax-G 用于列出组 ID,-X-x 的反义操作,以及一些小改进。更多信息请参见 ps(1)arrow-up-right

pw(8)arrow-up-right 现在支持 -H 选项,可以接受文件描述符中的加密密码。

rtld(1)arrow-up-right 现在支持共享对象依赖项的动态映射。有关如何使用此功能的更多信息,请参见 libmap.conf(5)arrow-up-right

sconfig(8)arrow-up-right 工具作为 cx(4)arrow-up-right 驱动程序更新的一部分添加。它替代了工具 cxconfig,用于管理 cx(4)arrow-up-right 设备。

stat(1)arrow-up-rightNetBSD 导入,自 2002 年 6 月 5 日起生效。

which(1)arrow-up-right,原本是个 Perl 脚本,已用 C 重新实现。

2.4 第三方软件

BIND 已从版本 8.3.4 更新到版本 8.3.7。

OpenSSL 已从版本 0.9.7c 更新到版本 0.9.7d。

sendmail 已从版本 8.12.9 更新到版本 8.12.11。

2.5 Ports/软件包

已新增并默认启用 distfiles 的 SIZE 属性,可以在获取文件之前检查文件大小。DISABLE_SIZE 是一个用户控制选项,用于禁用 distfile 大小检查。这对于一些旧版本的 FreeBSD,尤其是那些没有 fetch(1)arrow-up-right 支持的版本,以及某些总是报告错误或虚假大小的 FTP 代理非常有用。

在 ports 树中新增了两个文件以追踪值得注意的变化:ports/CHANGES 列出了 Ports 及其基础设施的重大变化,ports/UPDATING 介绍了更新某些 Port 时可能遇到的潜在问题,类似于基本系统中的 src/UPDATING

2.6 发布工程和集成

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

注意: 如果你使用的是较旧的 GNOME 桌面(x11/gnome2arrow-up-right),仅通过 FreeBSD Ports 使用 portupgrade(1)arrow-up-rightsysutils/portupgradearrow-up-right)进行升级会导致严重问题。如果你是 GNOME 桌面用户,请仔细阅读 http://www.FreeBSD.org/gnome/docs/faq26.htmlarrow-up-right 中的说明,并使用脚本 gnome_upgrade.sh 正确升级到 GNOME 2.6。

请注意,如果你只是偶尔使用某些 GNOME 库,portupgrade(1)arrow-up-right 应该足以更新你的 Port。

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

3 从之前的 FreeBSD 版本升级

如果你从之前的 FreeBSD 版本进行升级,通常有三种选择:

  • 使用 sysinstall(8)arrow-up-right 的二进制升级方案。这可能是最快的方式,尽管它假设你的 FreeBSD 安装没有特殊的编译选项。

  • 完全重新安装 FreeBSD。从技术上讲,这不是一种升级方法,而且通常比二进制升级不那么方便,因为它需要你手动备份和恢复 /etc 的内容。不过,在需要变更磁盘分区的情况下,这可能是有用的。

  • /usr/src 的源代码升级。这条路径更灵活,但需要更多的磁盘空间、时间和技术专长。更多信息可以参考 “使用 make world”arrow-up-right 部分,见 FreeBSD Handbookarrow-up-right。从非常旧版本的 FreeBSD 升级可能会遇到问题;在这种情况下,通常执行二进制升级或完全重新安装会更有效。

请在开始升级之前阅读 INSTALL.TXT 文件,获得更多信息。如果你从源代码进行升级,请确保阅读 /usr/src/UPDATING 文件。

最后,如果你想使用各种方式跟踪 FreeBSD 的 -STABLE 或 -CURRENT 分支,请确保查阅 “-CURRENT 与 -STABLE”arrow-up-right 部分,见 FreeBSD Handbookarrow-up-right

重要:

当然,在升级 FreeBSD 之前,应该先备份 所有 数据和配置文件。


此文件和其他与发布相关的文档可以从 ftp://ftp.FreeBSD.org/arrow-up-right 下载。

如有关于 FreeBSD 的问题,请在联系 [email protected]envelope 之前先阅读 文档arrow-up-right

如有关于此文档的疑问,请发送电子邮件至 [email protected]envelope

最后更新于