diff --git a/release/doc/zh_CN.GB2312/Makefile b/release/doc/zh_CN.GB2312/Makefile
index 11e5ee1cdd3f..fa31bdbe3449 100644
--- a/release/doc/zh_CN.GB2312/Makefile
+++ b/release/doc/zh_CN.GB2312/Makefile
@@ -1,14 +1,13 @@
# The FreeBSD Simplified Chinese Project
#
-# Original Revision: 1.3
+# Original Revision: 1.7
# $FreeBSD$
RELN_ROOT?= ${.CURDIR}/..
-SUBDIR = early-adopter
+SUBDIR = relnotes
SUBDIR+= hardware
SUBDIR+= readme
-SUBDIR+= relnotes
SUBDIR+= errata
SUBDIR+= installation
diff --git a/release/doc/zh_CN.GB2312/early-adopter/Makefile b/release/doc/zh_CN.GB2312/early-adopter/Makefile
deleted file mode 100644
index a8140026843f..000000000000
--- a/release/doc/zh_CN.GB2312/early-adopter/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# The FreeBSD Simplified Chinese Project
-# Original Revision: 1.3
-#
-# $FreeBSD$
-
-RELN_ROOT?= ${.CURDIR}/../..
-.ifdef NO_LANGCODE_IN_DESTDIR
-DESTDIR?= ${DOCDIR}/early-adopter
-.else
-DESTDIR?= ${DOCDIR}/zh_CN.GB2312/early-adopter
-.endif
-
-DOC?= article
-FORMATS?= html
-INSTALL_COMPRESSED?=gz
-INSTALL_ONLY_COMPRESSED?=
-
-SRCS+= article.sgml
-
-.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
-.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/release/doc/zh_CN.GB2312/early-adopter/article.sgml b/release/doc/zh_CN.GB2312/early-adopter/article.sgml
deleted file mode 100644
index 4a35077c04bf..000000000000
--- a/release/doc/zh_CN.GB2312/early-adopter/article.sgml
+++ /dev/null
@@ -1,764 +0,0 @@
-
-%articles.ent;
-
-
-%release;
-
-X">
-X">
-
-
-]>
-
-
-
-
- &os; &release.current; 迁移指南
-
-
- The &os; Release Engineering Team
-
-
- $FreeBSD$
-
-
- 2002
- 2003
- 2004
- The &os; Release
- Engineering Team
-
-
-
- &tm-attrib.freebsd;
- &tm-attrib.apple;
- &tm-attrib.ibm;
- &tm-attrib.ieee;
- &tm-attrib.intel;
- &tm-attrib.microsoft;
- &tm-attrib.sparc;
- &tm-attrib.general;
-
-
-
- 这篇文章从用户或管理员的视角描述了 &os;
- &release.4x; 和 &os; &release.5branchpoint; 的主要区别,
- 并给出了针对现有系统的升级方案。 它对 &os;
- 的发行版制作工程进行了介绍, 随后描述了一些
- &os; &release.5x; 的新特性, 以及熟悉 &release.4x;
- 系列发行版本的用户应关注的一些变化。
- 这篇文章同时分别描述了对现有系统基于预编译发行包以及源代码的升级过程。
- 这篇文章在较早的 &os; &release.5x; 版本中被称为 Early Adopters
- Guide
。
-
-
-
-
- 介绍
-
- &os; &release.5branchpoint; 标志着新的
- &os.stable;
系列发行版的开始。
- 这个版本以及其后的 &release.5x; 系列版本主要面向生产环境中的使用,
- 类似之前 &release.4x; 系列发行版那样。
-
- 这篇文章介绍了一系列从 &release.4x; 升级到
- &release.5branchpoint; 的用户会感兴趣的问题。
- 它首先介绍了目前的发布工程实践, 随后描述了一些 &os; &release.5x;
- 系列的新特性。 最重要的, 这篇文章列举了所进行的重大修改,
- 用户可见的行为变化, 或修改的外部软件接口。
- 最后是一些通过源代码或预编译包将现有的 &os; &release.4x; 升级到
- &os; &release.5branchpoint; 需要注意的问题。
-
-
-
-
- &os; 发布流程概览
-
- &os; 采用了一种依赖于代码库中多个分支的开发模式。 主分支被称为
- CURRENT
, 在 CVS 代码库中记为
- HEAD。 新的特性首先被提交到这个分支;
- 虽然 CURRENT 是最先看到新功能的分支, 它也因此偶尔会在调试新功能时存在问题。
-
- 绝大多数 &os; 发行版本来自一个或多个
- STABLE
分支。 新功能加入到 CURRENT
- 一段时间之后才会合并到这些分支。 在过去两年中,
- 唯一处于持续开发中的 STABLE 分支是
- 4-STABLE
, 所有的
- &os; &release.4x; 发行版本都基于它。
- 这个分支在 CVS 代码库中的 tag 是 RELENG_4。
-
- 过去的两个 STABLE 分支 (3-STABLE 和 4-STABLE)
- 是在它们开发周期非常早的时候创建的
- (相应的分支起点是 3.1 和 4.0)。 现在看来,
- 这样的方法没有在创建新的分支时为相应的 CURRENT
- 分支留出足够的时间来变得稳定。 因而,
- 这导致了时间被浪费在不同分支之间移植对错误的修正上,
- 并产生了一些完全无法在分支间移植的架构变动。
-
- &release.5x; 系列发行版对此作了略有不同的处理。
- &os; 5.0, 5.1, 以及 5.2 都基于 CURRENT 分支。
- 第一个发行版是在进行了两年的开发之后发布的
- (在此之前, 最后一个来自 HEAD 的发行版是 &os; 4.0,
- 在 2000 年 3 月发布)。
-
- 与之前的 STABLE
分支不同, CVS 中的
- 5-STABLE
分支 (分支 tag
- RELENG_5) 是在第一个 &release.5x;
- 发行版发布一年多之后才建立的 (具体而言, 是在 5.3
- 发行版本的发布工程中)。
- 这个延期给了开发团队时间来完成必要的架构修改, 使系统更加稳定,
- 完善各式各样的接口, 以及为后续的
- &release.5x; 版本打下良好的基础。
-
- 除了一般的改进和错误修正之外, 5-STABLE
- 分支的一项优先考虑的目标是保持应用二进制接口 (ABI)
- 和应用编程接口 (API) 的兼容性。 任何可能破坏向前兼容性
- (包括内核或库接口) 的修改都是被强烈反对的,
- 只有当这是解决某个重大问题的最后办法时,
- 才可能被允许。
-
- 下一个 CURRENT 分支的发行版应该是 6.0-RELEASE,
- 它将从 CVS HEAD 构建。
- 对于 6.0 没有确定的发布日期, 这一点同
- 5.3 不同, 不过尽管如此, 应该是 2006 年的某个时候。
-
- 在 4-STABLE 开发分支上还将进行一些有限的开发,
- 并且有计划在 5.3-RELEASE 之后的某个时候推出它的下一个版本 (4.11)。
- 对于那些非常保守的用户, 继续使用一段时间的
- &release.4x; 版本可能看起来更为合理一些。
- &a.security-officer; 将按照他们公布的方针继续支持
- 4-STABLE 一段时间, 您可以在 &os; 网站的 安全主页 找到相关信息。
-
- 关于 &os; 发布工程过程的进一步详情可以在
- Release
- Engineering 主页 和 &os; 发布工程
- 一文中找到。
-
-
-
-
- 新特性
-
- &os; &release.5x; 最吸引人的地方就是一系列全新的功能,
- 这些功能基本上都和无法移植回 &os; 4-STABLE
- 开发分支的那些大幅度的架构调整有关。 (与此相反, 许多独立的改进,
- 例如新的设备驱动或对于一些用户级应用的更新等,
- 则已经移植回去了。) 这里是一份简明的列表, 它并不包含全部内容:
-
-
-
- SMPng: 新一代
对并行多处理器 (SMP) 机器的支持。
- 正在进行的开发的主要目标是对内核的各个子系统进行细粒度的上锁,
- 以增加内核能够同时运行的线程数目。 特别注意了网络协议栈的性能。
- 可以在
- FreeBSD SMP
- Project 的网站找到更多信息。
-
-
-
- KSE: 内核调度实体 允许一个进程拥有多个内核级线程,
- 类似 调度器激活 (Scheduler
- Activations)。 libpthread
- 和 libthr 两个线程库使得多线程的用户程序能够使用这些特性,
- 它们使用了 &man.pthread.3; API。
- libpthread 现在是默认的线程库。
-
-
-
- 新的硬件架构支持: 现在能够支持 amd64、ia64、pc98 以及 sparc64
- 硬件架构, 以及 i386 和 alpha。 其他正在活跃地开发的架构包括 powerpc
- (运行于基于 &powerpc; 的各类 &macintosh; 平台) 和 arm。
-
-
-
- GCC: 编译工具集现在是基于 GCC
- 3.4.X, 而不是先前的 GCC
- 2.95.X 了。
-
-
-
- MAC: 支持可扩展的, 可加载的强制访问控制策略。
-
-
-
- GEOM: 灵活的, 模块化的 I/O 请求变换框架。
- 这个系统提供了对于磁盘和卷的一系列功能支持, 例如:
- 识别磁盘分区, &man.gbde.4; 磁盘加密机制,
- 各级 RAID 功能支持, 通过网络导出磁盘设备
- (使用 &man.ggated.8; 和相关工具), 以及透明的磁盘解压缩。
-
-
-
- FFS: 现在 FFS 文件系统提供了后台
- &man.fsck.8; 操作 (以便更快地从崩溃中恢复) 和文件系统快照的支持。
-
-
-
- UFS2: 增加了新的磁盘文件系统格式 UFS2,
- 它支持扩展的文件属性和更大的文件。 UFS2 是 &man.newfs.8; 默认的文件格式。
- 除了 pc98 之外, 从 &man.sysinstall.8; 创建的文件系统都默认使用
- UFS2 格式。
-
-
-
- 新的网络特性: 增加了一系列新的网络特性,
- 它们在 &release.5x; 中首次出现, 包括
- TCP SACK (选择性确认) 的支持, 来自 OpenBSD 的
- &man.pf.4; 包过滤器, 以及 ALTQ 包队列系统。
-
-
-
- 新硬件支持: 支持更多的硬件设备, 例如
- Cardbus, 蓝牙设备, 以及基于 Atheros 的 IEEE 802.11a/b/g
- 网络接口。 同时, 在 i386 平台上, &os;
- 驱动程序明确不支持的那些网络设备则可能可以通过 &man.ndis.4;
- 兼容层来使用制造商的 µsoft; &windows; 驱动程序来驱动。
-
-
-
- 更详细的新功能列表可以在 &os; &release.5x; 的发行版发布说明中找到。
-
-
-
-
- 值得注意的变化
-
- 一些 &os; &release.4x; 到
- &release.5x; 的变化需要给予特别的关注, 因为它们涉及到了主要的架构变动,
- 或在某些方面破坏了向下兼容性。 尽管这些变动通常不会造成数据丢失,
- 但是它可能会给那些不太注意的人带来困惑。 最明显的例子包括:
-
-
-
-
-
-
- &os; 的基本系统中的许多功能转移到了 &os; Ports Collection
- 中, 这样做的原因主要是以这种方式可能更便于维护,
- 或者它们不是系统中的必要组件。 其中最值得关注的是
- Perl (可以从 &os; Ports
- Collection 的 lang/perl5.8 安装),
- 它的存在曾经使基本系统的升级充满问题。 基本系统中依赖
- Perl 的实用工具都已经被重写
- (如果可能) 或删除 (如果已经过时)。
-
- 另一些例子包括 UUCP
- (可以通过 Ports Collection 中的 net/freebsd-uucp 来安装), doscmd
- 工具 (emulators/doscmd), 以及许多传统的游戏
- (games/freebsd-games)。
-
-
-
-
-
- 一些内核数据结构和 ABIs/API
- 的修改会导致许多第三方的预编译设备驱动无法不经修改地在
- &os; &release.5x; 中正常运行。 某些情况 (当然这种情况非常少)
- 下, 用户可见的数据结构发生了变化,
- 这就需要重新编译应用程序或者重新安装 ports/packages。
- 在 &release.4x; 系列中, &os; 开发团队的目标是不允许后续的
- &release.5x; 分支上破坏兼容性的修改进入它。
-
-
-
- 由于 &os; 某些组件的用户太少而且无人维护,
- 基本系统中的一些部分变得年久失修并被最终删掉。
- 例子之一是生成 a.out 格式的可执行文件。
-
- 应当说明的是在 i386 和 pc98 上执行 a.out
- 格式的可执行文件仍然可以通过 COMPAT_AOUT
- 内核选项来支持。 Ports Collection 中的某些编译器
- (例如,
- lang/gcc28)
- 仍然能够生成 a.out
- 格式的可执行文件。
-
- XNS 网络支持, 以及 X-10 控制器驱动。 大量的旧式基于
- ISA 的设备驱动被证明无法正常工作并被删除。 更多信息请参见发布说明。
-
-
-
- 在 &os;/i386
- &release.4x; 中, 对于 ISA 设备的配置最初是在内核编译配置中完成的。
- 这些设置可以在启动时通过交互式的
- UserConfig 程序来改变。 在 &os;
- &release.5x; 中, 这两种机制都被
- &man.device.hints.5; 机制所取代, 它消除了在内核中硬编码进
- ISA 配置参数的需要。 引导时 ISA 配置不再是菜单驱动的,
- 而改为使用引导加载器的命令行提示来完成。
-
-
-
- MAKEDEV 不再提供, 也不再需要了。
- &os; &release.5x; 使用了一种设备文件系统,
- 它能够在需要时自动创建设备节点。
- 对于设备文件系统中项目的配置可以通过 &man.devfs.8; 工具或使用
- /etc/devfs.conf 机制来完成。
- 更详细的情况可以在 &man.devfs.5; 联机手册中找到。
-
-
-
- UFS2 成为了 &man.newfs.8; 默认创建的磁盘文件系统格式。
- 在除 pc98 之外的所有平台上, 它也是在磁盘 &man.sysinstall.8;
- 分区界面上的默认格式。 由于
- &os; &release.4x; 只能支持 UFS1 (而不支持 UFS2),
- 必须同时在 &release.5x; 和
- &release.4x; 中访问的文件系统必须采用 UFS1。 这可以通过
- &man.newfs.8; 的 选项,
- 或者在 &man.sysinstall.8; 的磁盘分区的界面中按 1 来指定。
- 这一状况通常发生在饱含双启动的 &os; &release.4x; 和 &os;
- &release.5x; 的系统中。 另外请注意没有办法在两种格式之间进行转换
- (除非备份, 重建文件系统, 然后恢复数据)。
-
-
-
-
-
- 由于 GCC 编译器的升级,
- C++ 程序基本上都需要重新编译和安装。 这是因为 C++
- ABI 的变动。
-
-
-
- 运行为 &os; &release.4x; 编译的程序可能需要依赖于
- compat4x 软件包 (或与之等价的
- misc/compat4x
- package/port) 的帮助。 不过, 如果系统中的任何
- ports 或 packages 需要升级, 则通常建议重新联编并安装
- 所有 已经安装的 port。
- 这将防止一些程序在与新旧的库同时连接时可能出现的问题。
- sysutils/portupgrade
- 对您重新安装 ports 会有很大的帮助。
-
- 注意还是有一些不兼容的情形。 例如,
- devel/gnomevfs2, mail/postfix, 以及 security/cfs 这些 ports
- 需要重新编译, 因为 statfs
- 结构发生了变化。
-
-
-
- host.conf 解析器服务的配置文件被
- (更为通用的) &man.nsswitch.conf.5; 名字服务开关配置机制所取代。
-
-
-
- BIND 从版本 8 升级到了版本 9。
- 在 BIND 8 和 9 之间有很多差别。 运行关键 &man.named.8;
- 服务的用户应该阅读
- /usr/share/doc/bind9/misc/migration
- 这份迁移指南。 此外在
- /usr/share/doc/bind9/arm
- 也有一份安装手册。 在运行 &man.named.8; 的系统上,
- 它会默认在 /var/named 的 &man.chroot.8;
- 环境中运行。 在 /var/named 中有既存的
- &man.named.8; 配置的用户应该首先备份它, 以避免这些设置被
- &man.named.8; 的启动脚本所覆盖。
-
-
-
-
-
- 来自 &xorg; 的
- X Window System 实现从 5.3-RELEASE 开始成为了
- &os; &release.5x; 的默认。 撰写本文时,
- &xfree86; 依然是
- &os; &release.4x; 默认的 X Window 系统。
- 关于这两个版本的差异的详情, 以及如何升级现有系统,
- 可以在 &os; 使用手册的 X Window System
- 一章中找到。
-
-
-
-
-
- 文档 (例如 &os; 使用手册
- 和 FAQ)
- 仍然在持续更新以反映 &os; &release.5x; 的最新变化。
-
-
-
-
- 更详细的资料可以在 &os; &release.5x; 发行版本的发布说明, 以及 &os; 源代码中的
- src/UPDATING 中找到。 重要的
- &os; Ports Collection 变动会在 ports/UPDATING 和
- ports/CHANGES 两个文件中列出并说明。
-
-
-
-
- 从 &os; &release.4x; 升级需要注意的事项
-
- 对于那些使用现有的 &os; 系统的用户, 这一节提供了一些将现有的 &os;
- &release.4x; 系统升级到
- &release.5x; 的说明。 同任何 &os; 升级一样,
- 阅读发布说明以及那个版本的发行版勘误, 以及在源代码升级时阅读
- src/UPDATING 文件都是至关重要的。
-
-
- 使用预编译的版本升级
-
- 备份全部数据, 重新格式化, 重新安装, 然后恢复用户数据
- 可能是最为简单的升级方式。
- 这会消除任何不兼容或由于过时的可执行文件和配置文件的污染造成的问题。
- 这也使得您能够创建新的文件系统并利用它们的提供的功能
- (最值得关注的是默认的 UFS2)。
-
- 撰写本文时, &man.sysinstall.8;
- 中使用预编译版本升级的选项还没有针对跨主要版本的升级进行严格的测试。
- 不推荐您使用这个功能。
-
- 一些变化对于那些使用软盘引导和安装 &os; &release.4x;
- 的用户来说相当振奋人心。 安装软盘 (当然是在支持它们的平台上,
- 例如 i386), 在组织结构上与过去相比作了大幅度改进。
- 在 &release.4x; 版本中,
- 软盘中包含一个只提供了足以将系统安装上的功能的内核。
- 这个设计使得内河能够放在一张软盘之内,
- 但缺少了某些硬件配置所需要的设备驱动程序。 从 &os;
- 5.3-RELEASE 开始, 安装软盘中也采用了标准的
- GENERIC 内核, 它被切分成多个片断放在多张软盘上,
- 引导加载器会在需要时提示插入需要的其他磁盘。 下载软盘镜像的用户
- (可能准备进行网络安装) 需要注意启动软盘现在变成了三张:
- boot.flp,
- kern1.flp, 以及
- kern2.flp。
-
- 在 i386 架构上的 CDROM 现在采用了
- no-emulation
引导加载器。 除了其他好处之外,
- 这样使得直接使用 GENERIC
- 内核而不是先前版本中软盘镜像的那个削减过的内核成为可能。
- 一般来说, 能够从 µsoft;
- &windowsnt; 4, &windows2k;, 或 &windowsxp; 安装
- CDROM 的机器应该能够正确使用 &os; &release.5x; CDROM。
-
-
-
-
- 源代码升级
-
-
- 许多用户和开发人员会觉得备份全部数据和配置文件
- (这是预防任何意外的好习惯), 完成使用预编译版本的升级,
- (例如从 CDROM), 然后恢复数据是一种更方便的做法。
- 与源代码升级相比, 这种方式不需要处理磁盘上遗留的文件,
- 并使得系统能够从新的文件系统, 如 UFS2 中受益。
-
- 不熟悉
- buildworld/installworld
- 过程的用户在升级 &os; 的时候 不
- 应该尝试源代码升级, 他们应该考虑使用预编译版本的升级。
-
-
- 从源代码升级的过程实际上就是联编一系列源代码并生成本机上的可执行文件。
- 这一操作是通过
- buildworld/installworld
- 来完成的, 通常被熟练的 &os; 用户用以追踪开发分支 (例如 &os.stable; 或者
- &os.current;)。 一般来说, 这一过程要比从预编译的安装包升级麻烦一些,
- 但对于系统配置文件较为复杂或进行了大量定制的用户可能会比较有用。
- 源代码升级对于只能从远程操纵服务器的管理员也尤为有用
- (因为这种情况无法使用安装介质)。
-
- 一定要记得阅读 src/UPDATING。
- 标题为 To upgrade in-place from
- 4.x-stable to current
的部分包含了如何一步一步地进行更新的过程,
- 必须严格地按照它来操作, 而不要走某些用户偶尔会用的 捷径
。
- 下面是一个带注释的升级步骤概述:
-
-
-
- 制作备份。
-
- 这一步的重要性绝不是夸大其辞。 备份所有用户数据和配置文件非常的重要。
- 通过 &man.dump.8; 进行零级的转储是一个完成这项工作的好办法,
- 当然, 也还有很多可用的其他方法。
-
-
-
- 确保有 30MB 的剩余磁盘空间在
- / 文件系统上。
-
- &os; &release.5x; 需要使用比 &os;
- &release.4x; 更多的磁盘空间。 如果 /tmp
- 目录是在 / 文件系统上的 (这是非常常见的情况),
- 删除其中的所有内容将会有助于释放所需的空间。
-
-
-
- 如果需要, 修正 /etc/fstab。
-
- 这只影响到较老的 &os;/i386 系统。 这些系统采用
- MBR-风格的磁盘 slice, &os; 过去支持 兼容
- slices
, 也就是可以使用形如
- /dev/ad0a 的名字 (而不明确指定
- slice 的名字)。 这一特性不再被支持了;
- 磁盘分区的名字必须符合类似
- /dev/ad0s1a 的样子。 换言之,
- 现在磁盘分区必须明确指定磁盘设备、 slice 号,
- 以及分区字母。
-
- 请注意 兼容 slices
- 从 &os; 2.2.6-RELEASE 开始已经不是默认的了。
- 这一内容也不适用于 &os;/alpha, 或使用
- 危险独占 (dangerously dediated)
模式。
-
-
-
- 使用 &man.cvs.1; 或其他等价的工具来获取
- &os; 基本系统源代码的副本
- (src/ 模块)。 要从 CVS 代码库提取
- 5.3-RELEASE, 使用
- RELENG_5_3_0_RELEASE tag。
- 如果想得到 5.3 发行版和安全分支的更新, 使用
- RELENG_5_3 tag。 要是用 &os;
- 5-STABLE 开发分支, 则应采用 RELENG_5 分支 tag。
- 当使用 CVS 提取代码树时, 使用 CVS 的
- 参数很有用, 它将自动删除空的目录。
-
-
-
- &os; &release.5x; 需要在系统的口令和用户组描述文件中增加一些新的项,
- 以适应各种系统服务的需要。 这些应该使用:
-
- &prompt.root; mergemaster -p
-
- 来安装。 这一步骤是必须的, 它将确保系统中有所需的用户和组身份。
-
- 注意在 &os; &release.5x; 中,
- &man.nologin.8; 工具的位置从
- /sbin/nologin 变成了
- /usr/sbin/nologin。 由于许多伪用户使用
- &man.nologin.8; 作为它们的登录 shell, 这一变动需要对
- /etc/passwd 进行更多的修改。
-
-
-
-
- 联编整个系统所需的执行文件和库:
-
- &prompt.root; cd /usr/src
-&prompt.root; make buildworld
-
- 如果 CPUTYPE 在
- /etc/make.conf 中进行了定义,
- 则应采用 ?= 操作符, 这样
- buildworld 过程能够在需要时采用其他设置。
-
- 注意 MAKEOBJDIRPREFIX 绝对
- 不能够 在
- /etc/make.conf 中定义。
-
- 基本上, 绝大多数 /etc/make.conf
- 中定义的 开关
都应被注释掉或删除。
- 特别是可能会影响 &os; 联编或基本操作的那些, 例如
- NO_TOOLCHAIN。
-
-
-
-
- 使用下面的命令联编并安装新的内核:
-
- &prompt.root; make buildkernel
-
- 注意您必须使用 buildkernel
- &man.make.1; 对象来确保编译的内核采用了上面
- buildworld 过程中生成的编译工具。
- 手工使用 &man.config.8;
- 来创建内核联编区域并尝试联编它可能会不正常。
-
- 虽然联编 (以及在安装之后) 一个定制的内核是可行的, 但使用
- GENERIC 内核并随后安装定制的内核配置能够规避风险。
- 当尝试首次定制内核时, 强烈建议采用 &os; &release.5x;
- 的 GENERIC 作为模板,
- 因为大量的设备和选项和 &release.4x; 中有相当大的不同。
- 在配置文件中加入 COMPAT_FREEBSD4
- 对于成功的升级至关重要。
-
-
-
- 使用下面的命令为 ISA 设备配置设备线索文件。
- 您需要使用适当的硬件架构名称
- (例如 i386) 来换掉
- MACHINE。
-
- &prompt.root; cp sys/MACHINE/conf/GENERIC.hints /boot/device.hints
-
- 虽然说空的设备线索文件对于现代的硬件应该是足够了,
- ISA 线索对于适用定制的 ISA 非PNP卡
- (可能还需要定制的线索) 来说仍然是需要的,
- 特别是那些没有采用 PNPBIOS 的系统, 或者软驱无法配合
- PNPBIOS 系统正常工作的机器上。
-
-
-
-
- 用下面的命令安装新内核:
-
- &prompt.root; make installkernel
-
- 请注意尽管 &os; &release.4x; 内核默认会安装成
- /kernel, &os;
- &release.5x; 的内核会安装到
- /boot/kernel/kernel。 在
- &release.4x; 中内核模块一般是安装到
- /modules 目录, 而在
- &release.5x; 中它们会被安装到
- /boot/kernel。
-
-
-
-
- 使用下面的命令来安装 &os; &release.5x; 引导加载器:
-
- &prompt.root; cd /usr/src/sys/boot
-&prompt.root; make STRIP="" install
-
- 虽然这一步是可选的, 但强烈建议您这么做。
-
-
-
- 禁用第三方模块 (例如用于 VMware 的那些) 以避免由于内核
- ABIs 或其他不兼容所造成的崩溃。
-
-
-
- 重新引导进入单用户模式。 此时必须重新启动,
- 因为新的内核是运行新联编好的应用程序所必须的。
- 在单用户模式能够极大地减少在其他程序正在运行的同时进行升级所可能带来的问题。
-
-
-
- 用下面的命令来挂接需要的文件系统:
-
- &prompt.root; fsck -p
-&prompt.root; mount -uw /
-&prompt.root; mount -at ufs
-
- 请注意执行 &man.fsck.8; 是升级到
- &os; &release.5x; 所必须的步骤, 它将修改磁盘的超级块中的统计数据。
- 如果系统时钟使用的是本地时间而非 UTC 时间, 您还需要执行:
-
- &prompt.root; adjkerntz -i
-
- 这一步中, 您可能会在控制台上看到这样的信息
- (会有很多次):
-
-WARNING: userland calling deprecated sysctl, please rebuild world
-
- 您可以简单地忽略它们。
-
-
-
-
- 使用下面的命令删除 C++ 头文件:
-
- &prompt.root; rm -rf /usr/include/g++
-
- 这将防止以后的编译过程错误地使用
- GCC 2.95 C++ 编译器附带的旧的头文件。
-
-
-
- 安装新的可执行文件和库以及其他数据:
-
- &prompt.root; cd /usr/src
-&prompt.root; make installworld
-
-
-
- 在运行 &man.named.8; 的系统上, 它的配置文件需要挪到
- /var/named 的 &man.chroot.8; 区域中。 如果在
- /var/named 中有有用的文件, 则应该进行备份。
-
- &prompt.root; cd /etc
-&prompt.root; mv named named.bak
-&prompt.root; mkdir -p /var/named/etc/namedb
-&prompt.root; cp -Rp named.bak/* /var/named/etc/namedb
-
- 如果配置中使用了生成的
- localhost 文件, 需要用下面的命令来重新生成它们:
-
- &prompt.root; cd /var/named/etc/namedb
-&prompt.root; /bin/sh make-localhost
-&prompt.root; rm -f localhost-v6.rev localhost.rev
-
-
- 运行下面的命令更新系统配置文件:
-
- &prompt.root; mergemaster -i
-
- 这步不是可选的。 必须让
- /etc 中的启动脚本和配置文件与新的内核及用户执行文件匹配。
-
- 在执行了 &man.mergemaster.8; 之后,
- 最好是看一看 (并适当地修改)
- /etc/rc.conf。
- 这个文件中所定义的许多变量的默认值发生了变化;
- 特别是许多在 &release.4x; 中默认开启的服务在
- &release.5x; 中不再默认开启了。
-
-
-
-
- 删除遗留的 BIND 8
- 文件:
-
- &prompt.root; rm /usr/bin/dnskeygen /usr/bin/dnsquery
-&prompt.root; rm /usr/libexec/named-xfer
-&prompt.root; rm /usr/sbin/named.restart /usr/sbin/ndc
-
-
-
- 重新启动。
-
-
-
- 升级了基本系统之后,
- 您通常还需要升级一些非基本系统的组件才能够完全使系统恢复正常。
- Perl 现在不再是基本系统的一部分了,
- 需要从 Ports Collection (具体来说, lang/perl5.8 port) 或
- package 安装。 安装之后, 所有依赖
- Perl 的应用程序都应重新安装。
-
- 运行 &os; &release.4x; 的可执行文件需要一系列兼容库。
- 它们可以通过使用 misc/compat4x package/port
- 来安装。
-
- 就像前一节中所提到的那样,
- &xorg; 是系统中默认的 X Window
- System 实现。 Ports Collection
- (以及 packages) 都可能会依赖它。
- 要将现有的窗口系统从 &xfree86; 转到
- &xorg;, 请参考 &os; 手册中的 安装
- X11 一节。
-
-
-
-
-
-
- 总结
-
- 这篇文档介绍了 &os; &release.5x; 中最值得注意的新特性,
- 并列举了一些在升级现有的 &os; &release.4x; 系统时需要注意的问题。
- 它还展示了两组升级方法, 一种是从安装介质中使用预编译的版本,
- 而另一种则是从源代码重新编译整个基本系统。
-
-
-
diff --git a/release/doc/zh_CN.GB2312/errata/article.sgml b/release/doc/zh_CN.GB2312/errata/article.sgml
index 64875e623026..3810b6484a9b 100644
--- a/release/doc/zh_CN.GB2312/errata/article.sgml
+++ b/release/doc/zh_CN.GB2312/errata/article.sgml
@@ -10,7 +10,7 @@
The FreeBSD Simplified Chinese Project
- Original Revision: 1.72
+ Original Revision: 1.73.2.1
-->
%release;
+
]>
- &os;
-
-
-
- 发行版勘误
+ &os; &release.bugfix; 发行版勘误
The &os; Project
@@ -60,51 +51,24 @@
- 这份文档列出了 &os;
-
-
-
- 的勘误内容, 其中包括在发行版发布之后发现的重大问题,
+ 这份文档列出了 &os; &release.bugfix; 的勘误内容,
+ 其中包括在发行版发布之后发现的重大问题,
以及在发行版的交付工程后期本应写进发行版文档,
而没有来得及加入的重要信息。 这些信息可能包括安全公告,
以及关于可能影响软件和文档的操作或可用性的新闻。
在安装此版本的 &os; 之前, 应首先阅读此文档的最新版本。
- 这份 &os;
-
-
-
- 的勘误文档将被持续地维护,
- 直到 &os; 的 &release.next; 发布为止。
+ 这份 &os; &release.bugfix; 的勘误文档将持续地维护,
+ 直到 &os; &release.next; 发布为止。
介绍
- 这份勘误文档包含了关于 &os;
-
-
-
+ 这份勘误文档包含了关于 &os; &release.bugfix;
的 最新重大新闻
。 在安装这一版本之前,
- 参考这份文档以了解在发布之后已经发现并修正了哪些问题非常重要。
+ 通过参考这份文档来了解在发布之后,
+ 可能已经发现并修正的问题非常重要。
随发行版本而发布的这份文档 (例如, 在 CDROM 上附带的)
一般来说已经过时了, 但在 Internet 上的其他副本会被持续更新,
@@ -122,54 +86,40 @@
+
+ 更新消息
+
+ 暂时没有相关消息。
+
+
安全公告
-暂时还没有新的安全公告。
-]]>
-
-暂时还没有新的安全公告。
-]]>
-
-暂时还没有新的安全公告。
-]]>
-
-
- 存在的问题
+
+ 已知问题和解决办法
-暂时还没有新的已知问题。
-]]>
+ (2005/10/3)
+ 在机器没有帧缓存时, 引导时 &os;/sparc64 GENERIC
+ 内核可能会输出下列消息:
-暂时还没有新的已知问题。
-]]>
+ Aug 26 19:31:27 hostname getty[429]: open /dev/ttyv1: No such file or directory
-暂时还没有新的已知问题。
-]]>
+ 这是由于计算机没有可以被 &man.syscons.4; 识别的图形硬件设备, 因此
+ /dev/ttyv* 设备节点也就不会自动创建。
+ 这是一个无害的错误提示, 您可以通过禁用
+ /etc/ttys 中的
+ /dev/ttyv* 项来屏蔽它。
-
+ (2005/10/3)
+ 在内存超过 4GB 的运行 &os;/sparc64 的计算机上, 无法加载和使用内核模块。
+ 目前没有办法绕过这个问题, 您只能将这些模块静态联编到定制的内核才行。
-
- 重大新闻
-
-暂时还没有新闻。
-]]>
-
-暂时还没有新闻。
-]]>
-
-暂时还没有新闻。
-]]>
+ (2005/10/3)
+ &man.kgdb.1; 工具无法在 &os;/sparc64 用于调试包含 trap 的 panic。
+ 绕过此问题的临时方法是使用 devel/gdb53。
diff --git a/release/doc/zh_CN.GB2312/hardware/amd64/proc-amd64.sgml b/release/doc/zh_CN.GB2312/hardware/amd64/proc-amd64.sgml
index 0c40d154b254..b1f800382c7b 100644
--- a/release/doc/zh_CN.GB2312/hardware/amd64/proc-amd64.sgml
+++ b/release/doc/zh_CN.GB2312/hardware/amd64/proc-amd64.sgml
@@ -1,7 +1,7 @@
diff --git a/release/doc/zh_CN.GB2312/hardware/common/artheader.sgml b/release/doc/zh_CN.GB2312/hardware/common/artheader.sgml
index 5a5127ccbbf4..ed5f7688b2dd 100644
--- a/release/doc/zh_CN.GB2312/hardware/common/artheader.sgml
+++ b/release/doc/zh_CN.GB2312/hardware/common/artheader.sgml
@@ -1,14 +1,14 @@
&os;/&arch; &release.current; 兼容硬件说明
- The FreeBSD Documentation Project
+ The &os; Documentation Project
2000
@@ -17,6 +17,6 @@
2003
2004
2005
- The FreeBSD Documentation Project
+ The &os; Documentation Project
diff --git a/release/doc/zh_CN.GB2312/hardware/common/dev.sgml b/release/doc/zh_CN.GB2312/hardware/common/dev.sgml
index 1b553a2134b8..d2558def2fa7 100644
--- a/release/doc/zh_CN.GB2312/hardware/common/dev.sgml
+++ b/release/doc/zh_CN.GB2312/hardware/common/dev.sgml
@@ -1,7 +1,7 @@
@@ -18,7 +18,7 @@
关于 &os;/&arch; 的更多信息可以在
- &os;/&arch;
+ &os;/&arch;
Project 上找到。
diff --git a/release/doc/zh_CN.GB2312/installation/common/artheader.sgml b/release/doc/zh_CN.GB2312/installation/common/artheader.sgml
index f60694a62601..ccdf13300f7b 100644
--- a/release/doc/zh_CN.GB2312/installation/common/artheader.sgml
+++ b/release/doc/zh_CN.GB2312/installation/common/artheader.sgml
@@ -1,7 +1,7 @@
@@ -18,6 +18,7 @@
2002
2003
2004
- The FreeBSD Documentation Project
+ 2005
+ The &os; Documentation Project
diff --git a/release/doc/zh_CN.GB2312/installation/common/trouble.sgml b/release/doc/zh_CN.GB2312/installation/common/trouble.sgml
index 0e189342e1b1..ede4417d8e3a 100644
--- a/release/doc/zh_CN.GB2312/installation/common/trouble.sgml
+++ b/release/doc/zh_CN.GB2312/installation/common/trouble.sgml
@@ -1,7 +1,7 @@
@@ -26,6 +26,7 @@
2002
2003
2004
+ 2005
The &os; Documentation Project
@@ -106,6 +107,25 @@
]]>
+这个 &release.type; 主要针对追求最新功能,
+ 以及希望参与正在进行的 &os; 开发活动的用户。 尽管 &os;
+ 的开发团队会尽最大努力确保每一个 &release.type;
+ 都能够如宣传的那样工作, 但 &release.branch; 仍然是一个开发中的分支。
+
+ 使用这个 &release.type; 的基本要求是对 &os; 技术的熟练性,
+ 以及对正在进行的 &os; &release.branch; 开发过程的理解 (这些,
+ 都会在 &a.current; 中进行讨论)。
+
+ 对于那些希望用 &os; 来处理日常业务,
+ 而不是尝试最新 &os; 技术的用户来说, 正式的发行版本
+ (例如 &release.prev.stable;) 通常更为合适。
+ 发行版本经过了一段时间的测试和质量保障检察,
+ 以确保其高可靠性。
+
+]]>
+
&release.type; 主要目标是有冒险精神的,
@@ -278,16 +298,9 @@
- EARLY.TXT: 为从
- &os; 4.X 迁移到
- &os; 5.X
- 系列发行版的新用户准备的指南。
-
-
-
- RELNOTES.TXT:发行说明,
- 展示了与前一版本 (&os; &release.prev;) 相比在
- &os; &release.current; 中的创新和区别。
+ RELNOTES.TXT: 发行说明,
+ 展示了相对于前一版本 (&os; &release.prev;),
+ &os; &release.current; 中的创新和差异。
diff --git a/release/doc/zh_CN.GB2312/relnotes/common/new.sgml b/release/doc/zh_CN.GB2312/relnotes/common/new.sgml
index 7a87f248291e..20d301e907a1 100644
--- a/release/doc/zh_CN.GB2312/relnotes/common/new.sgml
+++ b/release/doc/zh_CN.GB2312/relnotes/common/new.sgml
@@ -1,7 +1,7 @@
&os;/&arch; &release.current; 发行说明
@@ -30,8 +30,8 @@
- 这份 &os; &release.current; 的发行说明, 概括了 &os;
- 基本系统自 &release.branch; 创建以来所做的改动。
+ 这份 &os; &release.current; 的发行说明, 概括了 &os; 基本系统在
+ &release.branch; 开发线上所做的改动。
本文档列举了自前一发行版本以来所有适用的安全公告, 以及对于
&os; 内核以及系统附带的应用程序所做的重要修改。
在升级时所需要注意的一些问题, 也进行了简略的介绍。
@@ -149,10 +149,80 @@
FreeBSD-SA-05:05.cvs。
&merged;
+ 修正了 /dev/iir 设备节点上的默认权限错误,
+ 这一失误会导致允许非特权的本地用户发送命令给 &man.iir.4;
+ 所支持的设备。
+ 要了解更多信息, 请参见安全公告
+ FreeBSD-SA-05:06.iir。
+ &merged;
+
+ 修正了 &man.i386.get.ldt.2; 系统调用中,
+ 对于输入参数的检验代码中的一处问题,
+ 这一问题可能导致将某些内核内存的内容泄露给用户进程。
+ 要了解更多信息, 请参见安全公告
+ FreeBSD-SA-05:07.ldt。
+ &merged;
+
+ 修正了多处可能导致内核内存的内容泄露的漏洞。
+ 要了解更多信息, 请参见安全公告
+ FreeBSD-SA-05:08.kmem。
+ &merged;
+
+ 由于采用超线程技术 (HTT)
+ 的处理器中所存在的信息泄露问题, 加入了新的 sysctl 变量
+ machdep.hyperthreading_allowed。
+ 在 &os; CURRENT 上起默认值是 1
+ (表示启用 HTT), 而在 4-STABLE 和 5-STABLE 开发分支,
+ 以及受支持的安全修订分支上则是 0 (HTT 禁用)。
+ 要了解更多信息, 请参见安全公告
+ FreeBSD-SA-05:09.htt。
+ &merged;
+
+ 修正了 &man.tcpdump.1; 工具中的一处漏洞,
+ 这个漏洞能够使恶意的远程用户通过发送特制的数据报来引发拒绝服务。
+ 要了解更多信息, 请参见安全公告
+ FreeBSD-SA-05:10.tcpdump。
+ &merged;
+
+ 修正了 &man.gzip.1; 工具中的两处安全漏洞。
+ 这些漏洞使得本地用户能够在解压缩时修改任意文件的权限,
+ 或覆盖本地文件。
+ 要了解更多信息, 请参见安全公告
+ FreeBSD-SA-05:11.gzip。
+ &merged;
+
+ 修正了 BIND 9 DNSSEC 的一处漏洞。
+ 当启用 DNSSEC 时, 这一问题会允许远程攻击者通过发送特制的数据报来导致
+ &man.named.8; 异常终止。
+ 要了解更多信息, 请参见安全公告
+ FreeBSD-SA-05:12.bind9。
+ &merged;
+
+ 修正了 &man.ipfw.4; 中的一处可能导致包在查询表中无法正确匹配的问题。
+ 这一问题只影响 SMP 和启用了
+ PREEMPTION 内核选项的 UP 机器。
+ 要了解更多信息, 请参见安全公告
+ FreeBSD-SA-05:13.ipfw。
+ &merged;
+
+ 修正了 &man.bzip2.1; 的两处安全问题。 这包括一处拒绝服务攻击问题,
+ 以及非授权的文件权限修改问题。
+ 要了解更多信息, 请参见安全公告
+ FreeBSD-SA-05:14.bzip2。
+ &merged;
+
+ 修正了 &os; 的 TCP 协议栈中的两处问题。
+ 这些问题会使得攻击者能够让暨存的 TCP 连接挂起,
+ 从而导致拒绝服务状态。
+ 要了解更多信息, 请参见安全公告
+ FreeBSD-SA-05:15.tcp。
+ &merged;
+
- 对于内核的改动
+ 对内核的改动
对于 80386 处理器 (也就是
I386_CPU 内核配置选项) 的支持,
@@ -163,6 +233,11 @@
(以及当前线程所持有的自旋互斥体) 的情况的
show alllocks 命令了。 &merged;
+ 将崩溃时的内核转存 (crash dump) 格式改为了
+ ELF 以支持大内存 (超过 4GB) 的环境。
+
+ &man.ichsmb.4; 驱动现在可以作为可加载内核模块使用了。
+
现在 &man.jail.8; 功能支持一个新的 sysctl
security.jail.chflags_allowed,
用于控制 &man.chflags.1; 在 jail 中的行为。
@@ -171,6 +246,44 @@
则 jail 中的 root 用户会被视为与未 jail 的 root
用户一样。 &merged;
+ sysctl 变量 security.jail.getfsstatroot_only
+ 被改名为 security.jail.enforce_statfs
+ 并能够支持下述策略:
+
+
+
+
+
+
+
+ 值
+ 策略
+
+
+
+
+
+ 0
+ 对显示全部挂接点 (mount point) 不设任何限制。
+
+
+
+ 1
+ 只显示 jail 的 chroot 之下的挂接点,
+ 且只显示它在挂接点之下的部分 (例如, 如果 jail 的 chroot 目录是
+ /jails/foo 而有一个挂接点是
+ /jails/foo/usr/home,
+ 则只显示 /usr/home)。
+
+
+
+ 2
+ 只显示 jail 的 chroot 目录所在的挂接点。
+
+
+
+
+
加载器变量 debug.mpsafevm
默认置为启用了。 &merged;
@@ -180,6 +293,12 @@
DEBUG_MEMGUARD 来启用它, 并对内核进行小幅度的修改。
一般而言, 这是为内核开发人员提供的功能。
+ struct ifnet 以及网络接口 API
+ 发生了变化。 由于 ABI 不兼容,
+ 所有没有在 &os; 基本系统中提供的驱动程序,
+ 都必须进行改写以使用新的 API,
+ 并重新编译方可正常使用。
+
一系列 ULE 的问题得到了修正。 &merged;
在 VFS 栈中加入了细锁, 这使得它的大部分得以脱离全局锁。
@@ -231,6 +350,9 @@
+ &os; 现在即使在单处理器系统上也使用局部 APIC
+ 计时器了。
+
在 i386 和 ia64 平台上,
默认的 HZ 参数 (它控制许多内核计时器)
从默认的 100 提高到了 1000。
@@ -244,6 +366,12 @@
和 ia64)。 其结果是, 兼容模块需要重新编译,
以便于内核中的数据结构保持同步。
+ 加入了新的 vm.blacklist 变量。
+ 它可以用于屏蔽一部分物理地址的内存空间,
+ 这些内存不会加入到空闲页表中,
+ 因而会被 &os; VM 忽略掉。 忽略掉的内存页,
+ 也会在消息缓存中予以列出。
+
引导区和 loader 的变化
@@ -258,6 +386,10 @@
加载器命令 autoboot
现在支持提示符参数了。
+ 现在 autoboot 加载器命令能够在
+ autoboot_delay 变量设置为
+ -1 时完全禁止用户打断启动过程了。 &merged;
+
增加了一个用以设置 hint.atkbd.0.flags=0x1
的加载器菜单选项。 这一设置使得 USB 键盘能够在没有接 PS/2
键盘时正常使用。
@@ -278,8 +410,8 @@
hw.pci.do_powerstate 这两个 sysctl
设置为 0。
- 加入了用于 IBM 笔记本的 acpi_ibm
- 驱动。
+ 加入了用于 IBM 笔记本的 &man.acpi.ibm.4;
+ 驱动。 它提供了许多热键, 以及读取风扇状态和温度传感器的能力。
加入了用于处理 Fujitsu 笔记本上的
&man.acpi.4;-控制按钮 &man.acpi.fujitsu.4; 驱动。
@@ -287,6 +419,23 @@
加入了用于支持许多 Sony 笔记本上 driver,
Sony 笔记本控制器的 acpi_sony 驱动。
+ 对 &man.atkbdc.4;、 &man.atkbd.4; 以及 &man.psm.4;
+ 驱动进行了重写, 以便让它们更加独立于总线,
+ 并提供了对 sparc64 平台的 EBus 的支持。
+
+ 下列驱动程序已经加入了
+ GENERIC 内核并默认启用:
+ &man.atkbdc.4;、
+ &man.atkbd.4;、
+ creator(4)、
+ machfb(4)、
+ &man.syscons.4;、
+ &man.ohci.4;、
+ &man.psm.4;、
+ &man.ukbd.4;、
+ &man.ums.4;、
+ and &man.usb.4;。
+
加入了用于驱动 SBus/EBus &ultrasparc;
型号上的某些辅助 I/O 功能的 &man.auxio.4; 驱动。 &merged;
@@ -303,7 +452,10 @@
hint.ichss.0.disabled="1"
来禁用。
- 加入了用于硬件性能监视计数器的 &man.hwpmc.4;
+ &man.crypto.9; 子系统中加入了对 VIA C3 处理器中内建的
+ PadLock 安全协处理器的支持。
+
+ 加入了用于硬件性能监视计数器的 &man.hwpmc.4;
驱动。 这个驱动抽象了新式 CPU 中提供的硬件性能监视机制,
并提供了在用户进程中利用这些机制的支持。 要了解更多的细节,
请参见 &man.hwpmc.4; 的联机手册、 相关联的函数库,
@@ -332,12 +484,21 @@
加入了用于支持许多 &ultrasparc; II
和 III 型号上的 MC146818 兼容时钟的 rtc 驱动。 &merged;
+ &man.syscons.4; 驱动现在支持 VESA
+ (15、 16、 24 以及 32 位) 显示模式了。 要启用这一功能,
+ 需要使用 SC_PIXEL_MODE 和
+ VESA (或相应的内核模块)
+ 这两个内核选项。
+
&man.uart.4; 驱动,
在 GENERIC 内核中默认启用,
- 并成为了串口的默认驱动。 ofw_console 和
+ 并成为了串口的默认驱动。 &man.ofw.console.4; 和
&man.sab.4; 驱动在
GENERIC 内核中被禁用。 &merged;
+ &man.uftdi.4; 驱动现在能支持 FTDI FT2232C
+ 芯片了。
+
&man.uplcom.4; 驱动现在能够处理
CTS 信号了。
@@ -353,9 +514,11 @@
Crystal Semiconductor CS4231 音效控制器的 &man.snd.audiocs.4;
驱动。 &merged;
+ &man.snd.csa.4; 驱动现在支持挂起和唤醒操作了。
+
&man.uaudio.4; 驱动现在增加了一些功能,
其中包括更多输入通道上的音量控制能力,
- 以及一些设备的录音能力。
+ 以及一些设备的录音能力。 &merged;
@@ -368,7 +531,8 @@
device ath_rate_sample 之一。
现在 &man.bge.4; 驱动能够支持 &man.altq.4;
- 框架了。
+ 框架了, 以及 BCM5714、 5721、 5750、 5751、 5751M 和 5789
+ 芯片了。 &merged;
加入了用于支持 USB Communication Device Class Ethernet
的 &man.cdce.4; 驱动。 &merged;
@@ -379,22 +543,27 @@
&man.cx.4; 驱动现在 MPSAFE 了。 &merged;
- &man.dc.4; 驱动现在支持 &man.altq.4; 框架了。
+ &man.dc.4; 驱动现在支持 &man.altq.4;
+ 框架, 并且是 MPSAFE 的了。 &merged;
+
+ &man.de.4; 驱动现在是 MPSAFE 的了。
&man.ed.4; 驱动现在支持 &man.altq.4; 框架了。
&merged;
+ &man.ed.4; 驱动现在是 MPSAFE 的了。
+
在 &man.em.4; 驱动程序中, 对于 VLAN 标记 (tagging)
的硬件支持, 由于其和混杂模式之间的一些冲突被默认地禁用。
&merged;
默认地禁用了 &man.fxp.4; 驱动的以太网流控制功能,
- 以避免系统崩溃或进入内核调试器。 &merged;
+ 以避免系统崩溃或进入内核调试器时同子网的其他系统发生问题。 &merged;
由于不再被活跃地维护,
而且 &man.em.4; 驱动能够支持它支持的全部硬件,
删去了 gx(4) 驱动。
-
+
&man.hme.4; 驱动现在 MPSAFE 了。 &merged;
加入了 &man.ipw.4; (用于 Intel PRO/Wireless 2100),
@@ -403,17 +572,30 @@
以及 &man.ural.4; (用于 Ralink Technology RT2500USB)
驱动。
- &man.ixgb.4; 驱动现在 MPSAFE 了。
+ &man.ixgb.4; 驱动现在 MPSAFE 了。 &merged;
+
+ 由于无人使用, 删去了用于 LanMedia LMC1504 T1/E1
+ 网卡的 musycc 驱动。
+
+ &man.my.4; 驱动现在 MPSAFE 了。
+
+ 使用 &man.ndis.4; 设备驱动封装机制的驱动程序,
+ 其构建和加载过程发生了一些变化。 &man.ndis.4; 驱动现在可以预编译,
+ 甚至静态联编到内核中。 单独的驱动程序, 可以使用 &man.ndisgen.8;
+ 工具来完成构建操作; 其结果是一个可以通过 &man.kldload.8;
+ 来动态加载到正在运行的内核的模块。 &merged;
现在 &man.ndis.4; 设备驱动 wrapper
在 amd64 系统上能够支持 &windows;/x86-64 的二进制驱动了。
&merged;
加入了用于支持
- nVidia nForce MCP Networking Adapter 的 nve 驱动。
+ nVidia nForce MCP Networking Adapter 的 &man.nve.4; 驱动。
+
+ &man.pcn.4; 驱动现在 MPSAFE 了。
现在 &man.re.4; 驱动能够支持 &man.altq.4;
- 框架了。 &merged;
+ 框架, 并且 MPSAFE 了。 &merged;
现在 &man.sf.4; 驱动支持设备混合轮询 (device polling)
和 &man.altq.4; 了。 &merged;
@@ -430,6 +612,8 @@
同时, 此驱动支持基于 Yukon 的网卡的巨型帧能力了。
&merged;
+ &man.ste.4; 驱动支持 &man.altq.4; 了。
+
&man.vge.4; 驱动现在提供了混合轮询的支持
(&man.polling.4;)。
@@ -441,7 +625,7 @@
wlan_wep 模块 (或连入内核)。
&man.xl.4; 驱动现在能够支持
- &man.polling.4; 了。
+ &man.polling.4; 了。 &merged;
@@ -457,6 +641,13 @@
IP 地址, 从而提供了高可用性和负载均衡。
要了解更多细节, 请参考 &man.carp.4; 联机手册。 &merged;
+ 加入了 &man.if.bridge.4;, 来自 NetBSD 的网桥实现。
+ 它提供了对于 IEEE
+ 802.1D 生成树, 对每个桥使用不同的设备,
+ 以及对桥包进行过滤得能力。
+ 现在可以用 &man.ifconfig.8; 工具来对
+ &man.if.bridge.4; 进行配置了。
+
现在 &man.ipfw.4; IPDIVERT
选项可以用内核模块的方式来加载了。 如果没有加载模块,
则 &man.ipfw.4; 将拒绝安装 divert
@@ -470,6 +661,9 @@
&man.ipfw.4; 和 &man.dummynet.4; 系统能够支持 IPv6 了。
+ &man.ipfw.8;现在支持通过转发 socket 来区分并标记
+ &man.altq.4; 包了。 此外, 还可以通过特定的 payload 尺寸来匹配 TCP 包。
+
&man.ipfw.8; 现在支持通过转发 socket,
以及 TCP 数据长度来区分并标记
&man.altq.4; 包了。
@@ -483,24 +677,41 @@
请注意, 必须细心地编写 &man.ipfw.8; 规则,
以确保类似 PMTU 发现这类应用不致发生异常。 &merged;
+ &man.ipfw.8; 系统能够支持只应用于 IPv4 的规则了。
+
&man.ipnat.8; 允许在非 TCP/UDP 包上使用重定向规则了。
&merged;
目前正在进行的工作, 在逐步去掉网络协议栈中的全局锁,
并改进锁的策略。
+ libalias 库现在可以作为内核模块来构建了。
+
+ 连接状态变化通知改为发到 /dev/devctl 了。
+
新的 &man.ng.ipfw.4; NetGraph 节点,
提供了 &man.ipfw.4; 和 &man.netgraph.4;
机制之间的简单接口。
+ 加入了新的 &man.ng.nat.4; NetGraph 节点,
+ 用于实现 NAT 功能。
+
新的 &man.ng.netflow.4; NetGraph 节点,
使得采用 &os; 的路由器能够运行 NetFlow version 5 的导出。 &merged;
+ 加入了 &man.ng.tcpmss.4; NetGraph 节点。
+ 它支持改变 TCP 包的 MSS 选项。
+
现在 &man.sppp.4; 驱动程序包含了帧转发 (Frame Relay)
支持。 &merged;
&man.sppp.4; 驱动现在 MPSAFE 了。
+ &os; 路由表现在要求路由的网关必须和路由本身同属同一地址族。
+ 现在 &man.route.8; 工具会拒绝异种地址族混用了。 例如:
+
+ &prompt.root; route add 10.1.1.1 -inet6 fe80::1%fxp0
+
实现了一个新的 sysctl net.link.tap.user_open。
它允许基于文件系统权限对
&man.tap.4; 设备进行非特权访问。
@@ -569,11 +780,29 @@
ARC-12xx 系列的 SATA RAID
控制器。 &merged;
+ 对 &man.ata.4; 驱动族进行了全面翻新。 它被拆分为模块,
+ 并可以分别加载和卸载了 (atapci
+ 和 ata 这两个模块是加载子驱动,
+ 即 atadisk、
+ atapicd、 atapifd、
+ atapist, 以及
+ ataraid 的前提条件)。 在支持的 SATA 控制器上,
+ 能够热插拔设备了。 对 ATA RAID 支持进行了重写,
+ 新版本支持了一系列新的元数据格式。
+ 而 atapicd 驱动则不再支持 CD
+ 换盘装置。 这一更新也被称作 ATA
+ mkIII
。
+
加入了 SHSEC GEOM 类。 它提供了在多个 GEOM
提供者之间实现秘密分享的能力。 所有提供者必须都存在,
才能够解开保存的秘密信息。 这一特性可以通过 &man.gshsec.8;
工具来控制。 &merged;
+ 加入了新的基于 GEOM 的磁盘加密机制, GEOM_ELI。
+ 它利用了 &man.crypto.9; 框架提供的硬件加速,
+ 并支持多种不同的加密算法。 请参见 &man.geli.8;
+ 以了解具体的细节。 &merged;
+
加入了用于支持 HighPoint
RocketRAID 182x 系列硬件的 &man.hptmv.4; 驱动。 &merged;
@@ -619,6 +848,9 @@
FreeBSD-EN-05:01.nfs.
中找到。 &merged;
+ 加入了针对 ReiserFS 版本 3 的只读支持。
+ 请参见 &man.mount.reiserfs.8; 以了解细节。
+
@@ -633,13 +865,31 @@
应用程序变动
+ 加入了用于处理二进制文件补丁的 &man.bsdiff.1; 和 &man.bspatch.1;
+ 工具。
+
现在 &man.burncd.8; 工具能够在光盘定型之后执行命令了 (例如
eject)。
- 实现了针对本平台优化的
+ 实现了
&man.bcmp.3;, &man.bcopy.3;, &man.bzero.3;, &man.memcmp.3;,
&man.memcpy.3;, &man.memmove.3;, &man.memset.3;, &man.strcat.3;
- and &man.strcpy.3; 版本。
+ 以及 &man.strcpy.3; 针对本平台优化的版本。 许多数学函数,
+ 例如 &man.ceill.3; 和 &man.sqrtf.3; 也被替换为优化的版本。
+
+ &man.chflags.1; 工具新增了
+ 选项, 用以改变符号连接本身的标记。
+
+ &man.env.1; 工具增加了
+ 选项, 表示在执行之前把命令本身写到标准错误输出上。
+
+ &man.env.1; 程序新增了
+ 选项用以分割 string 并将它们作为命令的命令行参数。
+
+ &man.env.1; 程序新增了
+ 选项, 用以设置命令的搜索路径。
现在 &man.ftpd.8; 程序会正确地为目录和文件的状态使用 212
和 213 状态代码了 (过去的版本,
@@ -647,6 +897,11 @@
这一行为在 RFC 959 中进行了描述。
&merged;
+ &man.gpt.8; 的 create 命令,
+ 现在支持一个 命令行标志,
+ 以强制创建 GPT, 即使磁盘上原先已经存在了 MBR 记录。
+ &merged;
+
如果指定了 AF_UNSPEC,
现在 &man.getaddrinfo.3; 函数会在查询 AAAA
记录之前, 首先查询 A
@@ -663,16 +918,29 @@
AF_INET6 记录先于
AF_INET 记录。 &merged;
- &man.gpt.8; 的 create 命令,
- 现在支持一个 命令行标志,
- 以强制创建 GPT, 即使磁盘上原先已经存在了 MBR 记录。
- &merged;
+ 现在 &man.gethostbyname.3;, &man.gethostbyname2.3;, 以及
+ &man.gethostbyaddr.3; 函数是线程安全的了。 &merged;
+
+ &man.getnetent.3;, &man.getnetbyname.3;, 以及
+ &man.getnetbyaddr.3; 函数是线程安全的了。 &merged;
现在 &man.getprotoent.3;, &man.getprotobyname.3;, 以及
- &man.getprotobynumber.3; 函数是线程安全的了。
+ &man.getprotobynumber.3; 函数是线程安全的了。 &merged;
现在 &man.getservent.3;, &man.getservbyname.3;, 以及
- &man.getservbyport.3; 函数是线程安全的了。
+ &man.getservbyport.3; 函数是线程安全的了。 &merged;
+
+ 为遵循 IEEE Std 1003.1-2001 标准
+ (也称作 POSIX 2001), struct netent 结构的
+ n_net 成员,
+ 以及 &man.getnetbyaddr.3; 的第一个参数的类型,
+ 被改为了 uint32_t。
+ 由于这些修改, 在 64-位 平台上的 ABI 与 &os; 先前的版本不再兼容,
+ 而 libpcap 共享库的主版本号也随之增加。
+ 在 64-位 平台上, 如果从较早版本的 &os; 升级,
+ 则所有使用 &man.getnetbyaddr.3;,
+ &man.getnetbyname.3;, &man.getnetent.3;, 以及
+ libpcap 的程序都必须重新编译。
gvinum(8) 工具现在支持
checkparity、
@@ -688,9 +956,17 @@
不再推荐使用。 如果使用了这些简写, 则会在 stderr
输出警告, 以及对应的、 正确的全称形式。
+ &man.kldstat.8; 工具提供了用以返回指定内核模块状态的
+ 选项。 &merged;
+
磁盘上的 LC_CTYPE 文件格式,
现在已经改为机器无关的格式了。
+ libkvm 现在能够支持 amd64
+ 以及 i386 平台上的
+ ELF 崩溃内核转存, 以及 32-位平台上的大型崩溃内核转存 (超过 4GB)
+ 和 i386 平台上的 PAE 崩溃内核转存格式了。
+
&man.mixer.8; 工具新增了
参数。 它的功能和 一样,
但并不输出混音字段间隔符。
@@ -718,7 +994,7 @@
以及 libc_r 的堆栈大小。 在 32-位 的平台上,
主线程的默认堆栈尺寸为 2MB, 而其他线程的默认堆栈尺寸,
则是 1MB。 在
- 64-位平台上, 默认的堆栈大小相应的是 4MB 和 2MB。
+ 64-位平台上, 默认的堆栈大小相应的是 4MB 和 2MB。 &merged;
删去了 libxpg4 库,
因为很久以前它的功能就已经被并入了
@@ -811,6 +1087,9 @@
加入了用于管理电源功耗的 &man.powerd.8; 程序。
+ 加入了用于下载、 更新, 并释放压缩格式的 &os; ports tree
+ 的 &man.portsnap.8; 工具。
+
&man.ppp.8; 程序实现了
参数, 这使得分别地启用 LCP ECHO 和 LQR
报告成为可能。 较早版本的
@@ -842,6 +1121,11 @@
修正了一个导致 &man.rexecd.8; 工具总是以
参数运行的问题。 &merged;
+ 删去了 &man.rexecd.8; 工具。
+ 在 &os; 源代码中已经没有 rexec 的客户程序,
+ 而客户函数 &man.rexec.3; 也只存在于
+ libcompat 中。
+
现在 &man.rm.1; 工具提供了一个
选项。 如果选择递归地删除目录,
或者在命令行上指定一次删除超过 3 个文件,
@@ -864,6 +1148,9 @@
删去了非标准的多字节和宽字符支持 rune(3) 接口。
+ &man.sed.1; 现在支持使用 选项,
+ 来启用输出的行缓冲。 &merged;
+
&man.strftime.3; 现在对某些 GNU 扩展,
例如 - (不填充),
_ (使用空格填充),
@@ -905,6 +1192,9 @@
增加了用于关闭选定的 TCp 连接的 &man.tcpdrop.8; 命令。
它来自 OpenBSD. &merged;
+ &man.what.1; 新增了 选项, 其功能是,
+ 显示匹配的文字, 但不对文字的格式进行处理。
+
&man.whois.1; 现在支持 标志,
用以查询 whois.krnic.net
(韩国国家 Internet 开发局), 它提供了在韩国境内的 IP
@@ -917,12 +1207,20 @@
修正了一个导致类似 &man.hosts.5;, &man.services.5;
等配置文件在结尾处不是一个新的换行符时被忽略的问题。 &merged;
+ 加入了新的系统用户/组 _dhcp
+ 用于支持来自 OpenBSD 的 &man.dhclient.8;。
+
/etc/rc.d 脚本
加入了用于启动 &man.bsnmpd.1; 的启动脚本,
rc.d/bsnmpd。
+ 现在 rc.d/jail 启动脚本能够支持通过
+ jail_name_flags
+ 变量来指定 &man.jail.8; 参数了。
+ &merged;
+
&man.rc.conf.5; 现在支持在引导时修改网络接口的名字了。
&merged; 例如:
@@ -949,57 +1247,156 @@ moused_ums0_port="/dev/ums0"
&man.md.4; 文件系统的创建过程, 包括是否打开 softupdates,
指定文件系统的默认属主, 等等。 &merged;
+ 由于下列脚本是 NetBSD 专用的, 而且从未在 &os;
+ 中用到, 因此全部删去:
+ altqd,
+ dhcpd,
+ dhcrelay,
+ downinterfaces,
+ gated,
+ ifwatchd,
+ kdc,
+ lkm1,
+ lkm2,
+ lkm3,
+ mixerctl,
+ mopd,
+ mountall,
+ ndbootd,
+ network,
+ poffd,
+ postfix,
+ ppp,
+ racoon,
+ raidframe,
+ rbootd,
+ rtsold,
+ screenblank,
+ swap2,
+ sysdb,
+ wscons,
+ xdm, 以及
+ xfs
基本系统包含的第三方软件
+ awk 从 2004 年 2 月 7 日的版本,
+ 升级到了 2005 年 4 月 24 日的版本。
+
BIND 从
9.3.0 升级到了 9.3.1。 &merged;
+ bsnmp 从 1.7
+ 升级到了 1.10。
+
+ bzip2 从 1.0.2
+ 升级到了 1.0.3。
+
+ 导入了 OpenBSD 3.7 的 OpenBSD dhclient。
+ 它取代了先前的 &os; 版本中的 ISC DHCP 客户端。
+
FILE 从 4.10
升级到了 4.12。
+ GNU GCC 从 2004 年 6 月 28 日的
+ 3.4.2-prerelease 版本升级到了 3.4.4。
+
+ 从 Fedora 的 grep-2.5.1-48 源代码 RPM 中获得的一系列错误修正和性能改进,
+ 业已加入到 GNU grep 中。
+
GNU readline 从
4.3 升级到了 5.0。
+ IPFilter 从
+ 3.4.35 升级到了 4.1.18。
+
Heimdal 从
0.6.1 升级到了 0.6.3。 &merged;
- lukemftp 从来自 OpenBSD 源代码在
- 2004 年 4 月 26 日的快照, 升级到了 2005 年 2 月 19 日的快照。
+ 导入了 hostapd
+ v0.3.9。 这是一个以用户态运行的 IEEE
+ 802.11 AP 和 IEEE 802.1X/WPA/WPA2/EAP
+ 验证服务和 RADIUS 验证服务期。
+ 要了解更多细节, 请参见 &man.hostapd.8;。
+
+ libpcap 从
+ v0.8.3 升级到了 v0.9.1 (alpha 096)。
+
+ libregex
+ 从来自 GNU grep 2.5.1 的快照,
+ 更新为 glibc CVS 代码库中的
+ fedora-glibc-2_3_4-21 tag
+ 的版本。
+
+ libz 从 1.2.1
+ 升级到了 1.2.2。
+
+ lukemftp 从来自 NetBSD 源代码在
+ 2004 年 4 月 26 日的快照, 升级到了 2005 年 5 月 16 日的快照。
引入了来自 OpenBSD 的 2005 年 2 月 4 日快照的
netcat。 更多信息,
可以在 &man.nc.1; 联机手册中找到。 &merged;
+ NgATM 从 1.0
+ 升级到了 1.2。
+
OpenPAM 从
- Eelgrass 版升级到了 Feterita 版。
+ Eelgrass 版升级到了 Figwort 版。
OpenSSH 从 3.8p1
- 升级到了 3.9p1。
+ 升级到了 4.1p1。
OpenSSL 从
0.9.7d 升级到了 0.9.7e。 &merged;
+ pf,
+ 从之前 OpenBSD 3.5 所包含的版本,
+ 升级到了 OpenBSD
+ 3.7 中的版本。
+
sendmail 从
- 8.13.1 升级到了 version 8.13.3。 &merged;
+ 8.13.1 升级到了 version 8.13.4。 它现在支持
+ OSTYPE(freebsd6) 了。
+
+ tcpdump 从
+ v3.8.3 升级到了 v3.9.1 (alpha 096)。
+
+ tcsh 从
+ 6.13.00 升级到了 6.14.00。
+
+ texinfo 从 4.6
+ 升级到了 4.8。
时区数据库从
tzdata2004e 版升级到了
tzdata2004g 版。 &merged;
+ 加入了 WPA Supplicant
+ v0.3.9。 它提供了 WPA/IEEE 802.11i 功能的 WPA 请求组件。
+ 要了解进一步的详情, 请参考 &man.wpa.supplicant.8;。
+
Ports/Packages Collection 基础结构
+ &man.pkg.create.1; 新增了
+ 参数。 当从本地安装的预编译包进行打包时,
+ 它会对该包依赖的所有其他包进行打包操作。
+
&man.pkg.version.1; 工具提供了一个新的
选项, 来屏蔽掉 port
版本比较算符 <、
= 和 > 的输出。
+ &man.pkg.version.1; 工具提供了新的
+ 选项, 用于指定只使用
+ INDEX 文件来判断包是否已经过时。 &merged;
+
从 CVS 库中删去了用于保存 Ports Collection 中所有项的
ports/INDEX*。 &merged;
这些文件过去并不经常性地重新生成, 因此可能会过时和不再准确。
@@ -1043,7 +1440,7 @@ moused_ums0_port="/dev/ums0"
支持的
GNOME 桌面环境的版本, 由 2.6.2
- 升级到了 2.10。 更多关于在 &os; 上运行 GNOME
+ 升级到了 2.10.2。 更多关于在 &os; 上运行 GNOME
的详细资料, 可以在
the FreeBSD GNOME Project
Web 页面上找到。 &merged;
@@ -1066,7 +1463,7 @@ moused_ums0_port="/dev/ums0"
支持的 KDE
桌面环境的版本, 从 3.3.0 升级到了
- 3.4.0。 更多关于在 &os; 上运行
+ 3.4.2。 更多关于在 &os; 上运行
KDE 的信息, 可以在
FreeBSD 上的 KDE Web
页面上找到。 &merged;
@@ -1089,11 +1486,22 @@ moused_ums0_port="/dev/ums0"
文档
- 新增了 &man.sched.4bsd.4; 和 &man.sched.ule.4; 联机手册。
- 它们介绍了内核选项 SCHED_4BSD 和 SCHED_ULE 以及他们各自适用的 sysctl。
-
- 新增了 &man.ataraid.4; 联机手册。 它介绍了 &man.ata.4; 软件
- RAID 驱动。
+ 通过新增一系列联机手册改善了对系统现有功能的文档介绍:
+ &man.acpi.ibm.4;,
+ &man.acpi.sony.4;,
+ &man.ataraid.4;,
+ &man.bus.space.9;,
+ &man.central.4;, &man.clkbrd.4;, &man.creator.4;,
+ &man.devfs.conf.5;, &man.devfs.rules.5;,
+ &man.ebus.4;, &man.eeprom.4;,
+ &man.fhc.4;,
+ &man.machfb.4;,
+ &man.ofw.console.4;, &man.openfirm.4;, &man.openprom.4;,
+ &man.pmap.page.init.9;, &man.pthread.atfork.3;,
+ &man.rtc.4;,
+ &man.sbus.4;, &man.sched.4bsd.4;, &man.sched.ule.4;, &man.snd.fm801.4;,
+ &man.snd.neomagic.4;, &man.snd.t4dwave.4;, &man.snd.via8233.4;,
+ &man.snd.via82c686.4;, 以及 &man.snd.vibes.4;。
对于基本系统的联机手册中的内容和表达方式进行了大量的整理。
交叉引用更加准确和一致, 标准小节的标题贯穿始终,