diff --git a/release/doc/zh_CN.GB2312/Makefile b/release/doc/zh_CN.GB2312/Makefile new file mode 100644 index 000000000000..11e5ee1cdd3f --- /dev/null +++ b/release/doc/zh_CN.GB2312/Makefile @@ -0,0 +1,16 @@ +# The FreeBSD Simplified Chinese Project +# +# Original Revision: 1.3 +# $FreeBSD$ + +RELN_ROOT?= ${.CURDIR}/.. + +SUBDIR = early-adopter +SUBDIR+= hardware +SUBDIR+= readme +SUBDIR+= relnotes +SUBDIR+= errata +SUBDIR+= installation + +.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/Makefile b/release/doc/zh_CN.GB2312/early-adopter/Makefile new file mode 100644 index 000000000000..a8140026843f --- /dev/null +++ b/release/doc/zh_CN.GB2312/early-adopter/Makefile @@ -0,0 +1,21 @@ +# 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 new file mode 100644 index 000000000000..4a35077c04bf --- /dev/null +++ b/release/doc/zh_CN.GB2312/early-adopter/article.sgml @@ -0,0 +1,764 @@ + +%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/Makefile b/release/doc/zh_CN.GB2312/errata/Makefile new file mode 100644 index 000000000000..859dfaa9eb2f --- /dev/null +++ b/release/doc/zh_CN.GB2312/errata/Makefile @@ -0,0 +1,19 @@ +# $FreeBSD$ + +RELN_ROOT?= ${.CURDIR}/../.. +.ifdef NO_LANGCODE_IN_DESTDIR +DESTDIR?= ${DOCDIR}/errata +.else +DESTDIR?= ${DOCDIR}/zh_CN.GB2312/errata +.endif + +DOC?= article +FORMATS?= html +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +# SGML content +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/errata/article.sgml b/release/doc/zh_CN.GB2312/errata/article.sgml new file mode 100644 index 000000000000..fc900b6bc961 --- /dev/null +++ b/release/doc/zh_CN.GB2312/errata/article.sgml @@ -0,0 +1,105 @@ + + + +%articles.ent; + + +%release; + +]> + +
+ + &os; &release.current; 发行版勘误 + + + The &os; Project + + + $FreeBSD$ + + + 2000 + 2001 + 2002 + 2003 + 2004 + The FreeBSD Documentation Project + + + + &tm-attrib.freebsd; + &tm-attrib.intel; + &tm-attrib.sparc; + &tm-attrib.general; + + + + + 这份文档列出了 &os; &release.current; 的勘误内容, + 这包括在发行版发布之后, 或在发行版制作过程后期发现的重大问题, + 而由于种种原因这样的问题可能无法在发布版本的文档中体现。 + 这些信息包括安全公告, 以及可能影响其操作或可用性的软件或文档变动。 + 在您安装此版本的 &os; 之前, 应首先参考这份文档的最新版本。 + + 此 &os; &release.current; 的勘误文档将被持续维护, + 直到 &os; 的下一个版本 &release.next; 发布为止。 + + + + Introduction + + 这份勘误文档包括了关于 &os; &release.current; 的 + 重大新闻。 在安装此版本之前, + 参考这份文档以了解是否在发布之后发现了什么问题非常重要, + 因为这里也会指出如何修正它们。 + + 随发行版本而发布的这份文档 (例如, 在 CDROM 发行包中附带的) + 一般来说是过时的, 但在 Internet 上的副本会被随时更新, + 应作为这一发行版的 最新勘误 看待。 + 这些副本可以在 , + 以及所有保持与其同步的镜像上找到。 + + &os; &release.branch; 的源代码和预编译的快照版本也包含这份文档的最新版本 + (在制作那份快照时最新的)。 + + 要了解全部的 &os; CERT 安全公告, 请访问 + + + + + 安全公告 + + 目前尚无安全公告。 + + + + 存在的问题 + + 目前尚无问题。 + + + + 重大新闻 + + 无新闻。 + + +
diff --git a/release/doc/zh_CN.GB2312/hardware/Makefile b/release/doc/zh_CN.GB2312/hardware/Makefile new file mode 100644 index 000000000000..9c38bf420871 --- /dev/null +++ b/release/doc/zh_CN.GB2312/hardware/Makefile @@ -0,0 +1,12 @@ +# The FreeBSD Simplified Chinese Project +# +# Original Revision: 1.6 +# $FreeBSD$ + +RELN_ROOT?= ${.CURDIR}/../.. + +SUBDIR= amd64 +SUBDIR+= i386 + +.include "${RELN_ROOT}/share/mk/doc.relnotes.mk" +.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/release/doc/zh_CN.GB2312/hardware/Makefile.inc b/release/doc/zh_CN.GB2312/hardware/Makefile.inc new file mode 100644 index 000000000000..29076342ea7a --- /dev/null +++ b/release/doc/zh_CN.GB2312/hardware/Makefile.inc @@ -0,0 +1,18 @@ +# The FreeBSD Simplified Chinese Project +# +# Original Revision: 1.3 +# $FreeBSD$ + +.ifdef NO_LANGCODE_IN_DESTDIR +DESTDIR?= ${DOCDIR}/hardware/${.CURDIR:T} +.else +DESTDIR?= ${DOCDIR}/zh_CN.GB2312/hardware/${.CURDIR:T} +.endif + +# Force include of the autogenerated catalog. It has to be set +# directly in the CATALOG variable since doc.docbook.mk check if each +# catalog file exist for the other *CATALOG variables, and +# catalog-auto does not exist yet when that check is performed, +# causing catalog-auto not to be added to CATALOGS which breaks the +# build. +CATALOGS+= -c ${DEV-AUTODIR}/catalog-auto diff --git a/release/doc/zh_CN.GB2312/hardware/amd64/Makefile b/release/doc/zh_CN.GB2312/hardware/amd64/Makefile new file mode 100644 index 000000000000..66193dccf89e --- /dev/null +++ b/release/doc/zh_CN.GB2312/hardware/amd64/Makefile @@ -0,0 +1,25 @@ +# The FreeBSD Simplified Chinese Project +# +# Original Revision: 1.2 +# $FreeBSD$ + +RELN_ROOT?= ${.CURDIR}/../../.. + +DOC?= article +FORMATS?= html +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +JADEFLAGS+= -V %generate-article-toc% + +# SGML content +SRCS+= article.sgml +SRCS+= proc-amd64.sgml +SRCS+= ../common/hw.ent +SRCS+= ../common/artheader.sgml +SRCS+= ../common/dev.sgml +SRCS+= ${DEV-AUTODIR}/catalog-auto +SRCS+= ${DEV-AUTODIR}/dev-auto.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/hardware/amd64/article.sgml b/release/doc/zh_CN.GB2312/hardware/amd64/article.sgml new file mode 100644 index 000000000000..67f7aa5b345c --- /dev/null +++ b/release/doc/zh_CN.GB2312/hardware/amd64/article.sgml @@ -0,0 +1,30 @@ + + + +%articles.ent; + + +%release; + +%devauto; + %sections; + + + + + + +]> + +
+ &artheader; + §.intro; + §.proc.amd64; + §.dev; +
diff --git a/release/doc/zh_CN.GB2312/hardware/amd64/proc-amd64.sgml b/release/doc/zh_CN.GB2312/hardware/amd64/proc-amd64.sgml new file mode 100644 index 000000000000..0c40d154b254 --- /dev/null +++ b/release/doc/zh_CN.GB2312/hardware/amd64/proc-amd64.sgml @@ -0,0 +1,66 @@ + + + 支持的处理器和主板 + + 从 2003 年中开始, &os;/&arch; 提供了 &arch.print; + (Hammer) 和 Intel EM64T 架构的支持, + 现在则更成为了 Tier-1 平台 (完全支持的架构), + 您可以预期它在 &os; 操作系统的各个方面拥有产品级的品质, + 包括安装和开发环境。 + + 请注意这个架构有两个名字, + AMD64 (AMD) 和 Intel EM64T (扩展内存 64-位 技术)。 + 两种架构的 64-位 模式几乎是完全相互兼容的, + 而 &os;/&arch; 则应该两者都能支持。 + + 撰写本文时, 已经确认能够支持下列处理器: + + + + AMD Athlon64 (Clawhammer). + + + + AMD Opteron (Sledgehammer). + + + + Intel 64-位 至强 (Nacona). + 这款处理器采用 90nm 制程工艺制造, 运行于 + 2.80 到 3.60 GHz (FSB 800MHz) 并配合 Intel E7520/E7525/E7320 芯片组。 + + + + 支持 Intel EM64T 的 Intel 奔腾 4 处理器 + (Prescott). + 这些处理器采用 90nm 制程工艺制造, + 使用 FC-LGA775 封装, 运行于 3.20F/3.40F/3.60F GHz + 并配合 Intel 925X Express 芯片组。 + 相关的 S-Spec 编号为 SL7L9, SL7L8, SL7LA, SL7NZ, SL7PZ, + 和 SL7PX。 请注意标记为 5xx 号的处理器并不支持 + EM64T。 + + + + Intel EM64T 是 IA-32 (x86) 的一个扩展版本, 并不同于 + Intel IA-64 (安腾) 架构, 后者为 &os;/ia64 所支持。 + 一些 Intel 的较早的文档将 Intel EM64T 称为 + 64-位扩展技术IA-32e + + 目前为止测试过的最大内存配置是 8GB。 SMP 支持已经于近日完工, + 并相当稳定了。 + + 在许多方面, &os;/&arch; 和 &os;/i386 非常相像, 特别是所支持的设备方面。 + 在 64-位 代码清理以及一些 (特别是旧的) 驱动方面还存在一些问题。 + 一般来说, 在其他 64-位 平台上运行正常的驱动应该可以使用。 + + &os;/&arch; 是 &os; 一个非常年轻的平台。 尽管核心的 + &os; 内核和基本系统组件是相当健壮的, + 但可能还存在一些不太完善的地方, 特别是对第三方软件包的支持方面。 + + diff --git a/release/doc/zh_CN.GB2312/hardware/common/artheader.sgml b/release/doc/zh_CN.GB2312/hardware/common/artheader.sgml new file mode 100644 index 000000000000..97c724db0aa9 --- /dev/null +++ b/release/doc/zh_CN.GB2312/hardware/common/artheader.sgml @@ -0,0 +1,21 @@ + + + + &os;/&arch; &release.current; 兼容硬件说明 + + The FreeBSD Documentation Project + + + 2000 + 2001 + 2002 + 2003 + 2004 + The FreeBSD Documentation Project + + diff --git a/release/doc/zh_CN.GB2312/hardware/common/dev.sgml b/release/doc/zh_CN.GB2312/hardware/common/dev.sgml new file mode 100644 index 000000000000..570e88340f5d --- /dev/null +++ b/release/doc/zh_CN.GB2312/hardware/common/dev.sgml @@ -0,0 +1,1177 @@ + + + + + + + $FreeBSD$ + + + 支持的硬件 + + 这一节描述了目前已知的被 &os 在 + &arch.print; 平台上支持的硬件。 其他配置可能也能用, 只是尚未测试过。 + 我们鼓励您对这份列表的内容进行反馈、 更新和修正。 + + 这份列表尽可能包含了驱动程序能够适用的一类设备。 + 如果驱动程序在 &os; 基本安装包中有联机手册 (绝大多数应该有) + 则会在这里引用。 支持的具体设备或控制器型号等等, + 可以在联机手册中找到。 + + + 设备列表是直接从 &os; 联机手册中生成的。 这意味着一些设备, + 如果它们被多种不同的驱动程序支持的话, 可能会相应地出现多次。 + + + + 磁盘控制器 + + IDE/ATA 控制器 (&man.ata.4; 驱动程序) + IDE/ATA 控制器 (wdc driver) + + + 板载 IDE 控制器 + + + + + &hwlist.aic; + + &hwlist.aha; + + &hwlist.ahb; + + &hwlist.ahc; + + &hwlist.ahd; + + &hwlist.aac; + + &hwlist.ct; + + NEC PC-9801-55, 92 以及兼容的 C-Bus SCSI 接口 (bs 驱动) + + + NEC PC-9801-55, 92 及其兼容 + ICM IF-2660 + Midori-Denshi MDC-554NA + Logitec LHA-N151 + + DMA 传输模式需要在内核配置中指定 "flags 0x00000"。 + + + + I-O DATA SC-98II + + DMA 传输模式需要在内核配置中指定 "flags 0x10000"。 + + + + TEXA HA-55BS2 和更新 + Midori-Denshi MDC-926Rs + + Bus-master 传输模式需要在内核配置中指定 "flags 0x20000"。 + + + + ELECOM Bus-master SCSI 接口 + + Bus-master 传输模式需要在内核配置中指定 "flags 0x30000"。 + + + + 所有 SMIT 传输类型的 SCSI 接口 + + SMIT 传输模式需要在内核配置中指定 "flags 0x40000"。 + + + + Logitec LHA-20x 系列 + ICM IF-2766, IF-2766ET, IF-2767 和 IF-2769 + + Bus-master 传输模式需要在内核配置中指定 "flags 0x50000"。 + + + + + &hwlist.adv; + + &hwlist.adw; + + &hwlist.bt; + + &hwlist.dpt; + + &hwlist.asr; + + &hwlist.amr; + + 能够支持从这些控制器启动。 不支持 EISA + 适配器。 + + 由于 SRM 的限制, 不支持从这些控制器启动。 + + + &hwlist.mlx; + + + 能够支持从这些控制器启动。 不支持 EISA + 适配器。 + + 由于 SRM 的限制, 不支持从这些控制器启动。 + Digital/Compaq 为 Alpha 系统作为 StorageWorks 系列一部分出售的 DAC960 + 控制器, 例如 KZPSC 或 KZPAC 可以从 SRM 启动。 注意这些卡使用 + 2.x 的固件。 目前尚不知道新版固件是否能配合 SRM 启动。 + + + &hwlist.mly; + + &hwlist.twe; + + &hwlist.twa; + + &hwlist.ncr; + + &hwlist.sym; + + &hwlist.ncv; + + &hwlist.stg; + + &hwlist.isp; + + &hwlist.amd; + + &hwlist.nsp; + + Adaptec AIC-7110 并口转 SCSI 接口 (&man.vpo.4; 驱动程序) + + + &hwlist.ida; + + &hwlist.ciss; + + &hwlist.iir; + + Promise SuperTrak ATA RAID 控制器 (&man.pst.4; + 驱动程序) + + + &hwlist.ips; + + &hwlist.mpt; + + &hwlist.trm; + + wds(4) 驱动程序支持 WD7000 SCSI 控制器 + + 所有支持的 SCSI 控制器都提供了完整的 + SCSI-I, SCSI-II, 和 SCSI-III 设备支持, 包括硬盘, 光盘, + 磁带机 (包括 DAT, 8mm Exabyte, Mammoth, 以及 DLT), 盘柜, + 处理器目标设备 以及 CD-ROM 驱动器。 支持 CD-ROM 命令的 + WORM 设备则提供了只读的支持 + (例如 &man.cd.4;)。 WORM/CD-R/CD-RW 写操作的支持由 + &man.cdrecord.1; 提供, 它是 Ports Collection 中 + sysutils/cdrtools port + 的一部分。 + + 目前, 对以下 CD-ROM 文件系统类型提供支持: + + + SCSI 接口 (也包括 ProAudio Spectrum 和 + SoundBlaster SCSI) (&man.cd.4;) + + + + Matsushita CR-562, CR-563, 及兼容 + (&man.matcd.4; 驱动程序) + + + + Sony 专有接口 (所有型号) (&man.scd.4;) + + + + ATAPI IDE 接口 (&man.acd.4;) + + + + + 以下设备不再维护了: + + + Mitsumi 专有的 CD-ROM 接口 (所有型号) (&man.mcd.4;) + + + + + + + 以太网接口 + + &hwlist.sf; + + &hwlist.ti; + + &hwlist.pcn; + + &hwlist.lnc; + + 基于 SMC 83c17x (EPIC) 的以太网 NIC (&man.tx.4; 驱动程序) + + + &hwlist.ed; + + &hwlist.rl; + + &hwlist.wb; + + &hwlist.vr; + + &hwlist.sis; + + &hwlist.nge; + + &hwlist.ste; + + &hwlist.sk; + + &hwlist.tl; + + &hwlist.dc; + + &hwlist.aue; + + &hwlist.cue; + + &hwlist.kue; + + &hwlist.axe; + + &hwlist.rue; + + &hwlist.udav; + + &hwlist.de; + + &hwlist.fe; + + &hwlist.fxp; + + &hwlist.ex; + + &hwlist.ie; + + &hwlist.ep; + + &hwlist.el; + + &hwlist.xl; + + &hwlist.vx; + + 基于 Crystal Semiconductor CS89x0 的 NIC + (&man.cs.4; 驱动程序) + + + &hwlist.sn; + + &hwlist.xe; + + &hwlist.snc; + + &hwlist.lge; + + &hwlist.txp; + + &hwlist.bge; + + &hwlist.em; + + &hwlist.gx; + + &hwlist.hme; + + &hwlist.gem; + + &hwlist.my; + + 基于 Broadcom BCM4401 的高速以太网适配器 + (&man.bfe.4; 驱动程序) + + &hwlist.re; + + &hwlist.ixgb; + + + + + FDDI 接口 + DEC DEFPA PCI (&man.fpa.4; 驱动程序) + DEC DEFEA EISA (&man.fpa.4; 驱动程序) + + + + ATM 接口 + + 基于 Midway 的 ATM 接口 (&man.en.4; + 驱动程序) + + FORE Systems, Inc. PCA-200E ATM PCI + 适配器 (hfa 和 &man.fatm.4; 驱动程序) + + 基于 IDT NICStAR 77201/211 的 ATM 适配器 (&man.idt.4; + 驱动程序) + + FORE Systems, Inc. HE155 和 HE622 + ATM 接口 (&man.hatm.4; 驱动程序) + + 基于 IDT77252 的 ATM 卡 (&man.patm.4; + 驱动程序) + + + + 无线网络接口 + + NCR / AT&T / Lucent Technologies WaveLan T1-speed + ISA/radio LAN 卡 (&man.wl.4; 驱动程序) + + Lucent Technologies WaveLAN/IEEE 802.11b + 无线网络适配器以及软件通用型的采用 Lucent Hermes, Intersil + PRISM-II, Intersil PRISM-2.5, Intersil Prism-3, 和 Symbol + Spectrum24 芯片组的网卡 (&man.wi.4; 驱动程序) + + + Cisco/Aironet 802.11b 无线网络适配器 (&man.an.4; 驱动程序) + + + Raytheon Raylink 2.4GHz 无线网络适配器 (&man.ray.4; 驱动程序) + + + &hwlist.awi; + + &hwlist.cnw; + + &hwlist.ath; + + + + 其他网络设备 + + &hwlist.cx; + + &hwlist.cp; + + &hwlist.ctau; + + Granch SBNI12 点对点通讯适配器 + (&man.sbni.4; 驱动程序) + + + Granch SBNI16 SHDSL 调制解调器 (&man.sbsh.4; + 驱动程序) + + &hwlist.cm; + + + + + ISDN 接口 + AcerISDN P10 ISA PnP (实验性的) + Asuscom ISDNlink 128K ISA + ASUSCOM P-IN100-ST-D (以及其他基于 Winbond W6692 的卡) + AVM + + + A1 + + + B1 ISA (在 V2.0 上测试过) + + + B1 PCI (在 V4.0 上测试过) + + + Fritz!Card classic + + + Fritz!Card PnP + + + Fritz!Card PCI + + + Fritz!Card PCI, Version 2 + + + T1 + + + + Creatix + + + ISDN-S0 + + + ISDN-S0 P&P + + + + Compaq Microcom 610 ISDN (Compaq series PSB2222I) ISA PnP + Dr. Neuhaus Niccy Go@ 及兼容 + Dynalink IS64PPH 和 IS64PPH+ + Eicon Diehl DIVA 2.0 和 2.02 + ELSA + + + ELSA PCC-16 + + + QuickStep 1000pro ISA + + + MicroLink ISDN/PCI + + + QuickStep 1000pro PCI + + + + ITK ix1 Micro ( < V.3, 非 PnP 版本 ) + Sedlbauer Win Speed + Siemens I-Surf 2.0 + TELEINT ISDN SPEED No.1 (试验性支持) + Teles + + + S0/8 + + + S0/16 + + + S0/16.3 + + + S0/16.3 PnP + + + 16.3c ISA PnP (试验性支持) + + + Teles PCI-TJ + + + + Traverse Technologies NETjet-S PCI + USRobotics Sportster ISDN TA intern + 基于 Winbond W6692 的 PCI 卡 + + + + 串口 + + PC 标准基于 8250, 16450, 以及 16550 的串口 (&man.sio.4; 驱动程序) + + 基于 SAB82532 的串口芯片, + 只能用作控制台 (&man.sab.4; 驱动程序) + + 基于 Zilog 8530 的双工通用异步收发报机, + 只能用作控制台 (zs 驱动程序) + + 使用共享 IRQ 的 AST 4 口串口卡 + + ARNET 串口卡 (&man.ar.4; 驱动程序) + + + 使用共享 IRQ 的 ARNET 8 口串口卡 + + + ARNET (现在是 Digiboard) Sync 570/i 高速串口 + + + + + Boca 多口串口卡 + + + Boca BB1004 4-口串口卡 + ( 支持调制解调器) + + + Boca IOAT66 6-口串口卡 (支持调制解调器) + + + Boca BB1008 8-口串口卡 + ( 支持调制解调器) + + + Boca BB2016 16-口串口卡 (支持调制解调器) + + + + + Comtrol Rocketport 卡 (&man.rp.4; 驱动程序) + + Cyclades Cyclom-Y 串口板 (&man.cy.4; 驱动程序) + + 使用共享 IRQ 的 STB 4 口串口卡 + + DigiBoard 智能串口卡 (digi 驱动程序) + + + 基于 PCI 的多口串口板 (&man.puc.4; + 驱动程序) + + + Actiontech 56K PCI + + + Avlab Technology, PCI IO 2S 和 PCI IO 4S + + + Comtrol RocketPort 550 + + + Decision Computers PCCOM 4-多口串口 和 双口 RS232/422/485 + + + Diva Serial (GSP) 多口 UART (仅限于开发分支) + + + Dolphin Peripherals 4025/4035/4036 + + + IC Book Labs Dreadnought 16x Lite 和 Pro + + + Lava Computers 2SP-PCI/DSerial-PCI/Quattro-PCI/Octopus-550 + + + Middle Digital, Weasle 串口 + + + Moxa Industio CP-114, Smartio C104H-PCI 和 C168H/PCI + + + NEC PK-UG-X001 和 PK-UG-X008 + + + Netmos NM9835 PCI-2S-550 + + + Oxford Semiconductor OX16PCI954 PCI UART + + + Syba Tech SD-LAB PCI-4S2P-550-ECP + + + SIIG Cyber I/O PCI 16C550/16C650/16C850 + + + SIIG Cyber 2P1S PCI 16C550/16C650/16C850 + + + SIIG Cyber 2S1P PCI 16C550/16C650/16C850 + + + SIIG Cyber 4S PCI 16C550/16C650/16C850 + + + SIIG Cyber Serial (Single 和 Dual) PCI 16C550/16C650/16C850 + + + Syba Tech Ltd. PCI-4S2P-550-ECP + + + Titan PCI-200H 和 PCI-800H + + + US Robotics (3Com) 3CP5609 调制解调器 + + + VScom PCI-400 和 PCI-800 + + + + + SDL Communication 串口板 + + + SDL Communications Riscom/8 串口板 (rc 驱动程序) + + + SDL Communications RISCom/N2 和 N2pci 高速同步串口板 + (&man.sr.4; 驱动程序) + + + + + Specialix SI/XIO/SX 多口串口卡, 同时包括较旧的 + SIHOST2.x 和新式的 增强型 (基于 transputer 的, + 也称为 JET) 宿主卡 (支持ISA, EISA 和 PCI) + (&man.si.4; 驱动程序) + + 内置串口 (&man.sio.4; 驱动程序) + + + PC-9801 板载 + + + PC-9821 第二 CCU (flags 0x12000000) + + + + + NEC PC-9861K, PC-9801-101 和 Midori-Denshi MDC-926Rs (&man.sio.4; 驱动程序) + + + COM2 (flags 0x01000000) + + + COM3 (flags 0x02000000) + + + + + NEC PC-9801-120 (&man.sio.4; 驱动程序) + + 需要在内核配置中指定 "flags 0x11000000"。 + + + Microcore MC-16550, MC-16550II, MC-RS98 (&man.sio.4; 驱动程序) + + 需要在内核配置中指定 "flags 0x14000?01"。 + + + Media Intelligent RSB-2000, RSB-3000 and AIWA B98-02 (&man.sio.4; 驱动程序) + + 需要在内核配置中指定 "flags 0x15000?01"。 + + + Media Intelligent RSB-384 (&man.sio.4; 驱动程序) + + 需要在内核配置中指定 "flags 0x16000001"。 + + + I-O DATA RSA-98III (&man.sio.4; 驱动程序) + + 需要在内核配置中指定 "flags 0x18000?01"。 + + + Hayes ESP98 (&man.sio.4; 驱动程序) + + 需要在内核配置中指定 "options COM_ESP" 和 "flags 0x19000000"。 + + + + + Audio Devices + + Advance (&man.sbc.4; 驱动程序) + + + Asound 100 和 110 + + + Logic ALS120 和 ALS4000 + + + + + CMedia 音效芯片 + + + CMI8338/CMI8738 + + + + + Crystal Semiconductor (&man.csa.4; 驱动程序) + + + CS461x/462x 声音加速器 + + + CS428x 声音控制器 + + + + + ENSONIQ (&man.pcm.4; 驱动程序) + + + AudioPCI ES1370/1371 + + + + + &hwlist.snd.ess; + + ESS + + + ES1868, ES1869, ES1879 和 ES1888 (&man.sbc.4; 驱动程序) + + + Maestro-1, Maestro-2, 和 Maestro-2E + + + Maestro-3/Allegro + + 由于授权的限制, Maestro-3/Allegro 不能编译进 + &os; 内核。 要使用这个驱动, 将下面的行添加到 + /boot/loader.conf + + snd_maestro3_load="YES" + + + + + + ForteMedia fm801 + + Gravis (&man.gusc.4; 驱动程序) + + + UltraSound MAX + + + UltraSound PnP + + + + + Intel 443MX, 810, 815, 和 815E 集成声音设备 + (&man.pcm.4; 驱动程序) + + MSS/WSS 兼容的 DSP (&man.pcm.4; 驱动程序) + + NeoMagic 256AV/ZX (&man.pcm.4; 驱动程序) + + OPTi 931/82C931 (&man.pcm.4; 驱动程序) + + S3 Sonicvibes + + Creative Technologies SoundBlaster 系列 (&man.sbc.4; 驱动程序) + + + SoundBlaster + + + SoundBlaster Pro + + + SoundBlaster AWE-32 + + + SoundBlaster AWE-64 + + + SoundBlaster AWE-64 GOLD + + + SoundBlaster ViBRA-16 + + + + + Creative Technologies Sound Blaster Live! 系列 + (emu10k1 驱动程序) + + Trident 4DWave DX/NX (&man.pcm.4; 驱动程序) + + VIA Technologies VT82C686A + + Yamaha + + + DS1 + + + DS1e + + + + + NEC PC-9801-73, 86 及兼容 (nss 驱动程序) + + + NEC A-MATE 内置声音 + + + Q-Vision WaveStar, WaveMaster + + + + + NEC X-MATE, CanBe, ValueStar 内置 (mss 驱动程序) + + Creative Technologies SoundBlaster(98) (&man.sb.4; + 驱动程序) + + I-O DATA CD-BOX (&man.sb.4; 驱动程序) + + MPU-401 及兼容接口 (mpu 驱动) + + + Q-Vision WaveStar + + + + + + + 照相机和视频捕捉设备 + 基于 Brooktree Bt848/849/878/879 帧抓取器 (&man.bktr.4; + 驱动程序) + + Connectix QuickCam + + + + USB 设备 + + &os; 能够支持一系列 USB 外设; + 已知能够正确使用的设备在这节列出。 由于 USB 设备天生的通用性, + 除了少量比较有个性的设备之外, 同一类型的设备几乎都能被支持, + 即使在这里没有明确地列出。 + + + USB 以太网适配器可以在 以太网接口 一节找到。 + + + + USB 蓝牙适配器可以在 蓝牙 一节找到。 + + + &hwlist.ohci; + + &hwlist.uhci; + + 采用 EHCI 接口的 USB 2.0 + 控制器 (&man.ehci.4; 驱动程序) + + 集线器 + + 键盘 (&man.ukbd.4; 驱动程序) + + 其他 + + + Assist Computer Systems PC Camera C-M1 + + + ActiveWire I/O 板 + + + Creative Technology Video Blaster WebCam Plus + + + D-Link DSB-R100 USB Radio (&man.ufm.4; 驱动程序) + + + Mirunet AlphaCam Plus + + + + + &hwlist.urio; + + &hwlist.umodem; + + 鼠标器 (&man.ums.4; 驱动程序) + + + &hwlist.ulpt; + + &hwlist.ubsa; + + &hwlist.ubser; + + &hwlist.uftdi; + + &hwlist.uplcom; + + &hwlist.umct; + + &hwlist.uscanner; + + 存储器 (&man.umass.4; 驱动程序) + + + ADTEC Stick Drive AD-UST32M, 64M, 128M, 256M + + + Denno 火线/USB2 Removable + 2.5-inch HDD Case MIFU-25CB20 + + + FujiFilm Zip USB Drive ZDR100 USB A + + + GREEN HOUSE USB Flash Memory PicoDrive + GH-UFD32M, 64M, 128M + + + IBM 32MB USB Memory Key (P/N 22P5296) + + + IBM ThinkPad USB 便携式 CD-ROM 驱动器 (P/N 33L5151) + + + I-O DATA USB x6 CD-RW Drive CDRW-i64/USB (仅限 CDROM) + + + I-O DATA USB CD/CD-R/CD-RW/DVD-R/DVD-RW/DVD-RAM/DVD-ROM Drive DVR-iUH2 + (仅限 CDROM, DVD-RAM) + + + Iomega USB Zip 100Mb (目前只是初步的支持) + + + Iomega Zip750 USB2.0 驱动器 + + + Keian USB1.1/2.0 3.5-英寸 HDD Case KU350A + + + Kurouto Shikou USB 2.5-英寸 HDD Case GAWAP2.5PS-USB2.0 + + + Logitec USB1.1/2.0 HDD Unit SHD-E60U2 + + + Logitec Mobile USB Memory LMC-256UD + + + Logitec USB 倍速软驱 LFD-31U2 + + + Logitec USB/IEEE1394 DVD-RAM/R/RW Unit LDR-N21FU2 (仅 CDROM) + + + Matshita CF-VFDU03 软驱 + + + MELCO USB2.0 MO Drive MO-CH640U2 + + + I-O DATA USB/IEEE1394 便携式 HD Drive HDP-i30P/CI, HDP-i40P/CI + + + MELCO USB Flash Disk PetitDrive, + RUF-32M, -64M, -128M, -256M + + + MELCO USB2.0 Flash Disk PetitDrive2, + RUF-256M/U2, -512M/U2 + + + MELCO USB Flash Disk ClipDrive, + RUF-C32M, -C64M, -C128M, -C256M, -C512M + + + Microtech USB-SCSI-HD 50 USB to SCSI cable + + + NOVAC USB2.0 2.5/3.5-inch HDD Case NV-HD351U + + + Panasonic 软驱 + + + Panasonic USB2.0 便携式 CD-RW Drive KXL-RW40AN (仅限于 CDROM) + + + RATOC Systems USB2.0 Removable HDD Case U2-MDK1, U2-MDK1B + + + Sony 便携式 CD-R/RW Drive CRX10U (仅限于 CDROM) + + + TEAC 便携式 USB CD-ROM Unit CD-110PU/210PU + + + Y-E Data 软驱 (720/1.44/2.88Mb) + + + + + 声音设备 (&man.uaudio.4; 驱动程序) + + + &hwlist.uvisor; + + + + + IEEE 1394 (火线) 设备 + + &hwlist.fwohci; + + 串行总线协议 2 (SBP-2) + 存储设备 (&man.sbp.4; 驱动程序) + + + + + 蓝牙设备 + + PCCARD 主控制器 (&man.ng.bt3c.4; 驱动程序) + + + 3Com/HP 3CRWB6096-A PCCARD 适配器 + + + + + &hwlist.ng.ubt; + + + + + 密码学加速器 + + &hwlist.hifn; + + &hwlist.safe; + + &hwlist.ubsec; + + + + 其他 + + FAX-Modem/PCCARD + + + MELCO IGM-PCM56K/IGM-PCM56KH + + + Nokia Card Phone 2.0 (gsm900/dcs1800 HSCSD 终端) + + + + + 软驱 (&man.fdc.4; 驱动程序) + + VGA-兼容 显示卡 + (&man.vga.4; 驱动程序) + + + 特定网卡与 XFree86 的兼容信息, + 可以在 找到。 + + + + + 键盘包括: + + + AT-风格的 键盘 (&man.atkbd.4; 驱动程序) + + + PS/2 键盘 (&man.atkbd.4; 驱动程序) + + + 标准键盘 + + + USB 键盘 (&man.ukbd.4; 驱动程序) + + + + + 定点设备包括: + + + 总线鼠标和兼容设备 (&man.mse.4; 驱动程序) + + + PS/2 鼠标和兼容设备, 也包括一系列笔记本定点设备 + (&man.psm.4; 驱动程序) + + + 串口鼠标和兼容设备 + + + USB 鼠标 (&man.ums.4; 驱动程序) + + + + + &man.moused.8; 提供了如何在 &os; 中使用定点设备的进一步信息。 + 关于如何在 XFree86 中使用鼠标的信息可以在 + 找到。 + + + + PC 标准 并口 (&man.ppc.4; 驱动程序) + PC-9821 标准 并口 (&man.ppc.4; 驱动程序) + + PC-兼容 游戏杆 (&man.joy.4; 驱动程序) + + SoundBlaster(98) 的游戏杆接口 (&man.joy.4; + 驱动程序) + + PHS Data Communication Card/PCCARD + + + NTT DoCoMo P-in Comp@ct + + + Panasonic KX-PH405 + + + SII MC-P200 + + + + + 基于 Xilinx XC6200 的可重配置硬件卡, 与 + Virtual + Computers 的 HOT1 兼容 (xrpu 驱动程序)。 + + NEC PC-98 笔记本的电源管理控制器 (pmc + 驱动程序) + + OpenFirmware 控制台 (ofwcons 驱动程序) + + + diff --git a/release/doc/zh_CN.GB2312/hardware/common/hw.ent b/release/doc/zh_CN.GB2312/hardware/common/hw.ent new file mode 100644 index 000000000000..7ecdd6354850 --- /dev/null +++ b/release/doc/zh_CN.GB2312/hardware/common/hw.ent @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/release/doc/zh_CN.GB2312/hardware/common/intro.sgml b/release/doc/zh_CN.GB2312/hardware/common/intro.sgml new file mode 100644 index 000000000000..f35d1dc0b34f --- /dev/null +++ b/release/doc/zh_CN.GB2312/hardware/common/intro.sgml @@ -0,0 +1,24 @@ + + + + 介绍 + + 这份文档包含了 &os; &release.current; (也记为 &os;/&arch; &release.current;) + 在 &arch.print; 硬件平台上的兼容硬件说明。 它列出了已知能够在这一平台上使用的硬件, + 以及一些有用的启动时内核定制项, 用以支持新的设备。 + + + 这份文档包含的信息是 &arch.print; + 硬件平台所专用的。 不同硬件架构上的硬件兼容说明可能有一些细节上的差异。 + + + 关于 &os;/&arch; 的更多信息可以在 + &os;/&arch; + Project 上找到。 + + diff --git a/release/doc/zh_CN.GB2312/hardware/i386/Makefile b/release/doc/zh_CN.GB2312/hardware/i386/Makefile new file mode 100644 index 000000000000..6558920c74d5 --- /dev/null +++ b/release/doc/zh_CN.GB2312/hardware/i386/Makefile @@ -0,0 +1,24 @@ +# The FreeBSD Simplified Chinese Project +# Original Revision: 1.6 +# +# $FreeBSD$ +RELN_ROOT?= ${.CURDIR}/../../.. + +DOC?= article +FORMATS?= html +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +JADEFLAGS+= -V %generate-article-toc% + +# SGML content +SRCS+= article.sgml +SRCS+= proc-i386.sgml +SRCS+= ../common/hw.ent +SRCS+= ../common/artheader.sgml +SRCS+= ../common/dev.sgml +SRCS+= ${DEV-AUTODIR}/catalog-auto +SRCS+= ${DEV-AUTODIR}/dev-auto.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/hardware/i386/article.sgml b/release/doc/zh_CN.GB2312/hardware/i386/article.sgml new file mode 100644 index 000000000000..dd96e4344d84 --- /dev/null +++ b/release/doc/zh_CN.GB2312/hardware/i386/article.sgml @@ -0,0 +1,30 @@ + + + +%articles.ent; + + +%release; + +%devauto; + %sections; + + + + + + +]> + +
+ &artheader; + §.intro; + §.proc.i386; + §.dev; +
diff --git a/release/doc/zh_CN.GB2312/hardware/i386/proc-i386.sgml b/release/doc/zh_CN.GB2312/hardware/i386/proc-i386.sgml new file mode 100644 index 000000000000..3dd35121f7c7 --- /dev/null +++ b/release/doc/zh_CN.GB2312/hardware/i386/proc-i386.sgml @@ -0,0 +1,80 @@ + + + 支持的处理器和主板 + + &os;/i386 能够在各式各样的 IBM PC + 兼容 机器上运行。 由于这种架构的硬件非常多, + 不可能详尽地列举 &os; 所支持的所有设备组合。 + 不过, 这里给出了一些一般的指导原则。 + + 几乎所有的 i386-兼容 处理器都能被很好地支持。 &os; 支持从 80386 开始的所有 + Intel 处理器, 包括 80386, 80486, Pentium, Pentium Pro, Pentium II, Pentium III, + Pentium 4, 以及它们的一些变体, 例如 Xeon (至强) 和 Celeron (赛扬) + 处理器。 (不过, &os; 5.2-RELEASE 和之后的版本不再支持 + 80386SX 处理器。) 所有 i386-兼容 的 AMD 处理器也被支持, 这包括 + Am486, Am5x86, K5, K6 + (及其变体), Athlon (包括 Athlon-MP, Athlon-XP, Athlon-4, + 以及 Athlon Thunderbird), 还有 Duron 处理器。 AMD + Élan SC520 嵌入式处理器也在支持之列。 Transmeta + Crusoe 被视为支持的处理器, 此外, 还包括来自 Cyrix 和 NexGen + 的 i386-兼容 处理器。 + + 这类架构的主板型号也非常众多。 使用 + ISA, VLB, EISA, AGP, 和 PCI 扩展总线的主板的支持非常完善。 + 此外, 对 IBM PS/2 系列 PC 的 MCA (MicroChannel) + 扩展总线也提供了有限的支持。 + + 一般而言, &os; 支持对称多处理器 (SMP) 的系统, 尽管一些时候 + BIOS 或主板的问题可能会造成麻烦。 &a.smp; + 邮件列表的存档可能能提供一些线索。 + + &os; 能够利用 Intel CPU 的超线程 (HTT) 支持并从中受益。 启用了 + options SMP 的内核能够自动检测到附加的逻辑处理器。 + 默认的 &os; 调度器将逻辑处理器等同于一些额外的物理处理爱; + 换言之, 它不会尝试根据同一 CPU 上的逻辑处理器对调度决策实施优化。 + 由于这种简单的调度策略会导致性能不够理想, 某些情况下通过设置 + machdep.hlt_logical_cpus sysctl + 变量来禁止逻辑处理器可能会改善性能。 此外, 也可以使用 + machdep.hlt_cpus sysctl + 变量设置空闲循环来禁用某个特定的逻辑处理器。 请参考 + &man.smp.4; 联机手册来了解详情。 + + &os; 能够利用支持物理地址扩展 (PAE) 的 CPU 上的这种能力。 + 启用了 PAE 特性的内核能够检测高于 4GB + 的内存并使用它们。 这一特性对设备驱动和 &os; + 能够利用的其它特性有一些约束, 请参考 &man.pae.4; 联机手册了解详情。 + + 一般来说, &os; 能够在基于 i386 的笔记本上运行, 虽然对于特定硬件特性, + 例如声音, 图形, 电源管理, 以及 PCCARD 扩展槽的支持可能存在程度上的差异。 + 这些特性在不同的机器上迥然不同, 通常需要 &os; 对它们进行各式各样的支持特例, + 以绕过硬件的问题或其他诡异的毛病。 如有怀疑, 请搜索 + &a.mobile; 邮件列表的存档以得到有用的资料。 + + 绝大多数较新的笔记本 (以及许多桌面机) 都使用了高级配置和电源管理 + (ACPI) 标准。 &os; 通过来自 Intel 的 ACPI 组件架构参考实现来支持 ACPI, + 在 &man.acpi.4; 联机手册中提供了它的介绍。 在一些机器上使用 ACPI + 可能会造成不稳定, 此时您可能需要禁用 ACPI 驱动程序, + 它通常是通过内核模块来加载的。 您可以通过在 + /boot/device.hints 增加下面的行来达到目的: + + hint.acpi.0.disabled="1" + + 调试 ACPI 相关问题的用户可能会发现禁用一部分 ACPI + 功能会很有用。 &man.acpi.4; + 联机手册提供了关于如何在引导夹在其中进行设置来完成这些工作的详细信息。 + + ACPI 依赖于由 BIOS 提供的 Differentiated System Descriptor Table + (DSDT)。 一些机器上的 DSDT 无效或不完整, 这可能会导致 ACPI + 无法正常工作。 用于替代某些机器上的 DSDT 可以在 ACPI4Linux 项目的网站中的 + DSDT + 部分找到。 &os; 可以使用这些 DSDT 来代替由 BIOS 提供的 + DSDT; 参见 &man.acpi.4; 联机手册以获得更多信息。 + + diff --git a/release/doc/zh_CN.GB2312/installation/Makefile b/release/doc/zh_CN.GB2312/installation/Makefile new file mode 100644 index 000000000000..5283300b7d0a --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/Makefile @@ -0,0 +1,14 @@ +# Original Revision: 1.6 +# $FreeBSD$ + +RELN_ROOT?= ${.CURDIR}/../.. + +SUBDIR = alpha +SUBDIR+= amd64 +SUBDIR+= ia64 +SUBDIR+= i386 +SUBDIR+= pc98 +SUBDIR+= sparc64 + +.include "${RELN_ROOT}/share/mk/doc.relnotes.mk" +.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/release/doc/zh_CN.GB2312/installation/Makefile.inc b/release/doc/zh_CN.GB2312/installation/Makefile.inc new file mode 100644 index 000000000000..b11ca6e6cd9e --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/Makefile.inc @@ -0,0 +1,8 @@ +# Original Revision: 1.2 +# $FreeBSD$ + +.ifdef NO_LANGCODE_IN_DESTDIR +DESTDIR?= ${DOCDIR}/installation/${.CURDIR:T} +.else +DESTDIR?= ${DOCDIR}/zh_CN.GB2312/installation/${.CURDIR:T} +.endif diff --git a/release/doc/zh_CN.GB2312/installation/alpha/Makefile b/release/doc/zh_CN.GB2312/installation/alpha/Makefile new file mode 100644 index 000000000000..79e7d0dd59d5 --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/alpha/Makefile @@ -0,0 +1,21 @@ +# Original Revision: 1.4 +# $FreeBSD$ + +RELN_ROOT?= ${.CURDIR}/../../.. + +DOC?= article +FORMATS?= html +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +# SGML content +SRCS+= article.sgml +SRCS+= ../common/artheader.sgml +SRCS+= ../common/abstract.sgml +SRCS+= ../common/install.sgml +SRCS+= ../common/layout.sgml +SRCS+= ../common/trouble.sgml +SRCS+= ../common/upgrade.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/installation/alpha/article.sgml b/release/doc/zh_CN.GB2312/installation/alpha/article.sgml new file mode 100644 index 000000000000..a36fc1f5a2bf --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/alpha/article.sgml @@ -0,0 +1,31 @@ + + + +%articles.ent; + + +%release; + +%sections; + + + + + + +]> + +
+&artheader; +&abstract; +§.install; +§.layout; +§.upgrade; +§.trouble; +
diff --git a/release/doc/zh_CN.GB2312/installation/amd64/Makefile b/release/doc/zh_CN.GB2312/installation/amd64/Makefile new file mode 100644 index 000000000000..2ab78f7987c9 --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/amd64/Makefile @@ -0,0 +1,21 @@ +# Original Revision: 1.1 +# $FreeBSD$ + +RELN_ROOT?= ${.CURDIR}/../../.. + +DOC?= article +FORMATS?= html +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +# SGML content +SRCS+= article.sgml +SRCS+= ../common/artheader.sgml +SRCS+= ../common/abstract.sgml +SRCS+= ../common/install.sgml +SRCS+= ../common/layout.sgml +SRCS+= ../common/trouble.sgml +SRCS+= ../common/upgrade.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/installation/amd64/article.sgml b/release/doc/zh_CN.GB2312/installation/amd64/article.sgml new file mode 100644 index 000000000000..9df4eb5d264f --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/amd64/article.sgml @@ -0,0 +1,31 @@ + + + +%articles.ent; + + +%release; + +%sections; + + + + + + +]> + +
+&artheader; +&abstract; +§.install; +§.layout; +§.upgrade; +§.trouble; +
diff --git a/release/doc/zh_CN.GB2312/installation/common/abstract.sgml b/release/doc/zh_CN.GB2312/installation/common/abstract.sgml new file mode 100644 index 000000000000..4ecbadc8dd9b --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/common/abstract.sgml @@ -0,0 +1,11 @@ + + + + 这篇文章对安装 + &os;/&arch; &release.current; 作了一些简短的说明,特别强调了如何获取 + &os; 发行版本。 也给出了发现并解决的故障和频繁被问到的问题的记录。 + diff --git a/release/doc/zh_CN.GB2312/installation/common/artheader.sgml b/release/doc/zh_CN.GB2312/installation/common/artheader.sgml new file mode 100644 index 000000000000..f60694a62601 --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/common/artheader.sgml @@ -0,0 +1,23 @@ + + + + &os;/&arch; &release.current; 安装说明书 + + + The &os; Project + + + + 2000 + 2001 + 2002 + 2003 + 2004 + The FreeBSD Documentation Project + + diff --git a/release/doc/zh_CN.GB2312/installation/common/install.ent b/release/doc/zh_CN.GB2312/installation/common/install.ent new file mode 100644 index 000000000000..5d1bfff1303f --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/common/install.ent @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + diff --git a/release/doc/zh_CN.GB2312/installation/common/install.sgml b/release/doc/zh_CN.GB2312/installation/common/install.sgml new file mode 100644 index 000000000000..98d747b4e8de --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/common/install.sgml @@ -0,0 +1,930 @@ + + + + 安装 &os; + + 这一章节记述了安装一个新的 &os; 发行版本的过程。 + 这些说明重点强调了获取 &os; &release.current; + 发行版本并开始安装的过程。FreeBSD + 使用手册安装 + FreeBSD一章提供了有关安装程序本身更深层次的信息, + 包括一个全程截图的指南。 + + 如果您正在从 &os; 的前一个发行版本升级,请查看 + 的升级说明。 + + + 开始 + + 可能在安装前要做的最重要的步骤就是阅读 &os; + 提供的各种各样的安装文档。 与 &os; 这个发行版本相关的文档的 roadmap + 可以在 README.TXT + 中找到,这个文件通常放在和本文件相同的位置。 + 大部分文档,比如发行注记和硬件兼容性列表也可以在安装程序的 + Documentation 菜单中查看。 + + 注意 &os; FAQ使用手册 + 的在线版本也可以在 FreeBSD + 项目 Web 站点上找到,只要您拥有一条 Internet 连接。 + + 这份文档集合可能看起来很吓人,但是阅读它们所花费的时间很可能会节省更多的时间。 + 熟悉可用的资源也有助于处理安装过程中的问题。 + + 再好的计划有时也会出错, 所以如果您遇到麻烦请看一看 + , 包含了很多有价值的出错处理的信息。 + 在安装之前您也应该阅读升级过的 + ERRATA.TXT 拷贝, + 因为这会对您的特定发行版本的中间时期所报告的任何问题向您提出警告。 + + + 尽管 &os; 会尽可能地避免偶然的数据丢失, + 但是如果在安装过程中您做错了什么还是很可能会 + 清空您的整个硬盘。 + 请不要进入 &os; 最后的安装菜单, + 除非您事先已经对重要数据进行了充分的备份。 + + + + + 硬件需求 + + + + &arch.print; 体系的 &os; 需要 486 或者更高的处理器来安装运行 + (虽然 &os; 可以用定制的内核运行在 386 处理器上), + 至少 8 兆内存来安装、7 兆内存来运行。 + 最小安装您需要有至少 150MB 的剩余磁盘空间。继续阅读查找压缩存在的 + DOS 分区用来安装 &os; 的方法。 + + + + &arch.print; 体系的 &os; 支持的平台在 + HARDWARE.TXT 中描述。 + + 您需要一块专门的磁盘来安装 + &os;/alpha。和其他操作系统共享一块磁盘现在来说是不可行的。 + 这块磁盘需要连接在 SRM 固件支持的 SCSI 控制器上, + 或者是一块 IDE 磁盘,如果您机器的 SRM 支持从 IDE 磁盘启动的话。 + + 您的根文件系统必须位于可启动磁盘的第一个分区 + (partition a)。 + + 您需要针对您的平台的 SRM 控制台固件。 + 有时候,可以在 AlphaBIOS (或 ARC) 固件和 SRM 之间切换。 + 否则的话就必须从销售商的 Web 站点下载最新的固件。 + + + + &arch.print; 体系的 &os; 支持的平台在 + HARDWARE.TXT 中描述。 + + 您需要一块专门的磁盘来安装 + &os;/sparc64。和其他操作系统共享一块磁盘现在来说是不可行的。 + + + &arch.print; 体系的 &os; 需要 + Athlon64、Athlon64-FX、Opteron 或者更好的处理器来运行。 + + 如果您有一台机器基于 + nVidia nForce3 Pro-150,您必须在 BIOS 设定中禁用 + IO APIC。如果没有一个选项来调整这个,您可能必须禁用 + ACPI。在 Pro-150 芯片组中有些 bug 我们还没有找到解决方案。 + + + + 如果您对配置 &os; 的硬件不熟悉,您一定要阅读 + HARDWARE.TXT 文件,它包含了 &os; + 支持的硬件的重要信息。 + + + + 软盘映像说明 + + 取决于您选择如何来安装 + &os;,您可能需要创建几张软盘(通常是三张)来开启安装过程。 + 这一章节简要描述了如何创建这些软盘来从 CDROM 或者从 Internet + 安装。注意一般情况下在一台支持自启动 CDROM 的机器上从 CDROM + 安装 &os; 的话,这一章节描述的步骤都是不需要的,可以跳过。 + + 对于大多数 CDROM 或者网络安装来说,您需要从 + floppies/ 目录拷贝到真实软盘的只有 + boot.flpkernX.flp + 映像(用于 1.44MB 软盘)。 + + 对于通常的CDROM 或者网络安装来说,您需要从 + floppies/ 目录拷贝到真实软盘的只有 + boot.flpkernX.flp + 映像(用于 1.44MB 软盘) 或者 boot-small.flp 和 + kern-small.flp 映像(用于 1.2MB 软盘)。 + + 通过网络获取这些映像很容易。只需要从 + 或者列在使用手册的 FTP + 站点一节或 + Web 页面中的众多镜像站点中下载 + release/floppies/boot.flp + 和所有的 + release/floppies/kernX.flp + 文件。 + + 拿来三张空的、新格式化过的软盘,一张复制映像 + boot.flp,另两张复制 kernX.flp 文件。 + 这些映像 不是 DOS 文件。您不能把它们当作普通文件简单的复制到一张 + DOS 或者 UFS 软盘上,您需要在 DOS 下使用 fdimage.exe + 或者在 UNIX 下使用 &man.dd.1; 命令把它们image复制到软盘上(查看您的 + CDROM 或者 &os; FTP 镜像上的 tools 目录)。 + + 拿来三张空的、新格式化过的软盘,一张复制映像 + boot.flp,另两张复制 kernX.flp 文件。 + 这些映像 不是 DOS 文件。您不能把它们当作普通文件简单的复制到一张 + DOS 或者 UFS 软盘上,您需要在 DOS 下使用 rawrite.exe + 或者在 UNIX 下使用 &man.dd.1; 命令把它们image复制到软盘上(查看您的 + CDROM 或者 &os; FTP 镜像上的 tools 目录)。 + + 例如,要从 DOS 下创建内核软盘映像,您应该这样做: + + C> fdimage boot.flp a: + A> rawrite + + 假定您已经把 fdimage.exeboot.flp + 复制到了某个目录里。当然,您应该对 kernX.flp 文件也这么做。 + + 假定您已经把 rawrite.exeboot.flp + 复制到了某个目录里。当然,您应该对 kernX.flp 文件也这么做。 + + 如果您正在一台 UNIX 机器上创建启动软盘,您可能会发现: + + &prompt.root; dd if=floppies/boot.flp of=/dev/rfd0 + &prompt.root; dd if=floppies/boot.flp of=/dev/rfd0.1440 + + + + &prompt.root; dd if=floppies/boot.flp of=/dev/fd0 + + + + &prompt.root; dd if=floppies/boot.flp of=/dev/floppy + &prompt.root; dd if=floppies/boot-small.flp of=/dev/rfd0.1200 + + 工作正常,这取决于您的硬件和操作系统环境 + (不同版本的 UNIX 对软驱有不同的命名)。 + + &os;/&arch; 不支持软盘安装。 + + + + 从 CDROM 或者 Internet 安装 &os; + + + + 最容易的安装方法就是从 CDROM 安装。 + 如果您有一个支持的 CDROM 驱动器和一张 &os; + 安装 CDROM,有两种方式来开始安装: + + + 如果您的系统支持自启动 CDROM + 介质的CDBOOT标准并且已经激活了从 CD 启动, + 只要把 &os; 安装 CD 放进您的 CDROM 驱动器并启动系统开始安装。 + + + 从每个 &os; 发行版的 floppies/ + 目录创建一系列的 &os; 启动软盘。阅读 + 了解在不同的操作系统下创建启动软盘的更多信息。 + 然后您只要从第一张软盘启动,很快就会进入 &os; 安装。 + + + + + 最容易的安装方法就是从 CDROM 安装。 + 如果您有一个支持的 CDROM 驱动器和一张 &os; + 安装 CDROM,有一种方式来开始安装: + + + 从每个 &os; 发行版的 floppies/ + 目录创建一系列的 &os; 启动软盘。阅读 + 了解在不同的操作系统下创建启动软盘的更多信息。 + 然后您只要从第一张软盘启动,很快就会进入 &os; 安装。 + + + + + 如果您没有 CDROM (或者您的计算机不支持从 + CDROM 启动) 并且只是想要通过网络使用 PPP、SLIP 或者专用连接安装, + 您应该使用 处的安装说明从文件 + floppies/boot.flp 和 + floppies/kernX.flp 创建一系列 &os; 启动软盘来开始安装。 + 用 boot.flp 软盘重新启动您的计算机, + 出现提示符时插入需要的其他软盘。然后,请到 + 寻找通过 FTP 或 NFS 安装的额外的提示。 + + 如果您没有 CDROM (或者您的计算机不支持从 + CDROM 启动) 并且只是想要通过网络使用 PPP、SLIP 或者专用连接安装, + 您应该使用 处的安装说明从文件 + floppies/boot.flp 和 + floppies/kernX.flp 创建一系列 &os; 启动软盘来开始安装。 + 用 boot.flp 软盘重新启动您的计算机, + 出现提示符时插入需要的其他软盘。然后,请到 + 寻找通过 FTP 或 NFS 安装的额外的提示。 + + + + 最容易的安装方式就是从 CDROM 安装。 + 如果您有一个支持的 CDROM 驱动器和一张 &os; + 安装 CDROM,您可以直接从 CDROM 启动 &os;。将 CDROM + 插入驱动器并输入下面的命令来开始安装(如果需要,用合适的 + CDROM 驱动器名称来取代): + + >>>boot dka0 + + 您也可以从软盘启动安装。 + 您应该使用 处的安装说明从文件 + floppies/boot.flp 和 + floppies/kernX.flp 创建一系列 &os; 启动软盘来开始安装。 + 从 SRM 控制台提示符处(>>>),插入 + boot.flp 软盘并键入下面的命令来开始安装: + + >>>boot dva0 + + 当提示时插入其他软盘, + 您会停在安装程序的第一个屏幕。 + + + + 大多数 &arch; 系统被设置成自动从硬盘启动。 + 要安装 &os;,您需要通过网络或者 CDROM 启动,这需要您改动 PROM + (OpenFirmware)。 + + 要做这个,重新启动系统,等到启动信息出现。 + 取决于机器型号,但是应该看起来像这样: + + Sun Blade 100 (UltraSPARC-IIe), Keyboard Present +Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved. +OpenBoot 4.2, 128 MB memory installed, Serial #51090132. +Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4. + + 这时候如果您的系统继续从硬盘启动, + 您需要按键盘上的 L1A + 或者 StopA + 或者通过串口控制台发送一个 BREAK 信号 + (例子中 &man.tip.1; 或者 &man.cu.1; 使用 ~#) + 来进入 PROM 提示符。看上去像这样: + + + + + + + + ok +ok {0} + + + + 这是系统中只有一个 CPU 使用的提示符。 + + + + 这是在 SMP 系统中使用的提示符,数字显示活动的 CPU 数目。 + + + + + 这时候,将 CDROM 放进驱动器,并在 + PROM 提示符处键入 boot + cdrom + + + + 详述各种安装类型 + + 一旦您看到了初始的安装屏幕,不管用哪种方式, + 您就可以跟随各种各样的菜单提示到处浏览了。如果您以前从未使用过 &os; + 安装程序,建议您阅读 Documentation 子菜单还有第一个菜单概括的 + Usage 说明中的文档。 + + + 如果您感到迷惑,按 F1 + 键查看与指定部分相关的在线文档。 + + + 如果您以前从未安装过 &os;,或者即使您安装过, + 仍然强烈推荐使用Standard安装模式, + 因为它确保您一路安装下来访问到了所有重要的要检查的条目。 + 如果您非常熟悉 &os; 安装过程并 精确的 + 知道您想做什么,可以使用Express或者Custom安装选项。 + 如果您在升级一个现存的系统,使用Upgrade选项。 + + &os; 安装程序支持直接使用软盘、DOS、磁带、CDROM、FTP、NFS + 和 UFS 分区来作为安装介质。下面是从每种类型的介质安装的更深入的提示。 + + 一旦安装过程结束,您将可以在 SRM + 提示符处键入类似这样的命令来启动 &os;/&arch;: + + >>>boot dkc0 + + 这告知固件从指定的硬盘启动。To + 查找您机器上硬盘的 SRM 名称,使用 show + device 命令: + + >>>show device +dka0.0.0.4.0 DKA0 TOSHIBA CD-ROM XM-57 3476 +dkc0.0.0.1009.0 DKC0 RZ1BB-BS 0658 +dkc100.1.0.1009.0 DKC100 SEAGATE ST34501W 0015 +dva0.0.0.0.1 DVA0 +ewa0.0.0.3.0 EWA0 00-00-F8-75-6D-01 +pkc0.7.0.1009.0 PKC0 SCSI Bus ID 7 5.27 +pqa0.0.0.4.0 PQA0 PCI EIDE +pqb0.0.1.4.0 PQB0 PCI EIDE + + 这个例子来自于一台 Digital Personal Workstation 433au, + 显示表明有三个磁盘设备连接在机器上。第一个是叫做 + dka0 的 CDROM,另外两个是分别叫做 + dkc0 和 + dkc100 的硬盘。 + + 您可以用 + 选项指定加载哪个内核文件以及使用什么样的启动参数,例如: + + >>> boot -file kernel.old -flags s + + 要让 &os;/&arch; 自动启动,使用这些命令: + + >>> set boot_osflags a +>>> set bootdef_dev dkc0 +>>> set auto_action BOOT + + + 从网络 CDROM 安装 + + 如果您只希望从本地 CDROM 驱动器安装,可以查看 + 。如果您的系统上没有 CDROM + 驱动器,又希望使用有网络连接的另一个系统上的 CDROM 驱动器中的 + &os; 发行 CD,也有几种方式可以实现: + + + + 如果您能够直接通过 &os; 机器上的 CDROM 驱动器 FTP + 安装,这很容易:保证有一台 FTP + 服务器正在运行,然后只要把下面的几行添加到密码文件中 + (使用 &man.vipw.8; 命令): + + ftp:*:99:99::0:0:FTP:/cdrom:/sbin/nologin + + 在您要运行安装的机器上,到 Options + 菜单并设定 Release Name 为 + any。然后您可以选择一种 + FTP 媒介类型并在 ftp + 站点目录中选定URL后键入 + ftp://machine + + + 这会允许本地网络(或 Internet) 上的任何人和这台机器建立 + 匿名 FTP 连接,这可能不是所希望看到的。 + + + + + 如果希望通过 NFS 将 CDROM 直接导出给其他机器来进行安装, + 您需要首先在 /etc/exports + 文件中添加对应的项目 (在有 CDROM 驱动器的那台机器上)。 + 下面的例子将允许 + ziggy.foo.com 在安装过程中直接通过 + NFS 挂接 CDROM: + + /cdrom -ro ziggy.foo.com + + 当然, 带 CDROM 的那台机器必须配置为 NFS 服务器, + 如果您不知道如何完成其配置, 则 NFS 对您来说可能并不是最佳的选择, + 除非您打算仔细阅读 &man.rc.conf.5; 并配置它。 如果顺利的话, + 将可以通过输入: cdrom-host:/cdrom + 作为在目标机器 NFS 安装过程的参数, + 例如 wiggy:/cdrom + + + + + + 从软盘安装 + + 如果由于硬件不支持, + 或者您喜欢把简单的问题复杂化而不得不从软盘安装, + 您需要首先准备一些空白的软盘。 + + 首先, 按照 所介绍的过程来制作启动盘。 + + 然后, 仔细阅读 并要特别注意 + 发行版本所采用的格式 一节, + 因为它介绍了您需要复制到软盘上的文件, 以及可以放心地跳过的文件。 + + 接下来您需要至少准备足够多的能放下 bin + 目录里文件的 1.44MB 软盘。 如果您需要在 DOS 下准备这些软盘, + 则 必须 使用 MS-DOS 的 + FORMAT 命令来格式化它们。 如果您使用 Windows, + 则可以使用 Windows 文件管理器 的格式化命令。 + + + 通常, 软盘是 在出厂前格式化过的。 + 虽然这很方便, 但过去许多用户的问题报告都与没有格式化磁盘有关。 + 建议您自行格式化一下, 以确认没有问题。 + + + 如果您正在从另一个 &os; 机器上制作需要的软盘, + 格式化仍然是一个好习惯, 只是您并不需要在每张软盘上都放一个 + DOS 文件系统。 您可以使用 &man.disklabel.8; 和 &man.newfs.8; + 这两个命令来在软盘上制作 UFS 文件系统, 使用下面介绍的命令: + + &prompt.root; fdformat -f 1440 fd0 +&prompt.root; disklabel -w fd0 floppy3 +&prompt.root; newfs -i 65536 /dev/fd0 + + 在以 DOS 或 UFS 格式化过软盘之后, 还需要将文件复制到上面。 + 发布文件的大小是经过精心准备的, 因此每张软盘都能够放下一个发布文件。 + 每一个发布包的文件应该放到它自己的子目录中, + 例如: a:\bin\bin.inf, a:\bin\bin.aa, a:\bin\bin.ab, ... + + + bin.inf 文件需要放到 + bin 发布集的第一张软盘上, + 因为安装文件需要读取它以了解在将发布包重组时还需要获取多少个文件块。 + 当把发布放到软盘上时, + distname.inf 文件 必须 + 和发布集的第一块放在一起。 + + + 一旦您进入了安装程序的 Media 提示, 选择 + Floppy 之后您将得到相应的提示。 + + + + 从 DOS 分区安装 + + 要从 MS-DOS 分区安装您只需简单地把发布包文件复制到主 + DOS 分区 (C:) 上的一个名字为 + FREEBSD 的目录即可。 例如, 要从 DOS 中使用来自 + CDROM 的文件完成 &os; 的最小安装, 您需要照下面的提示做: + + 要从 MS-DOS 分区安装您只需简单地把发布包文件复制到主 + DOS 分区 (A:) 上的一个名字为 + FREEBSD 的目录即可。 例如, 要从 DOS 中使用来自 + CDROM 的文件完成 &os; 的最小安装, 您需要照下面的提示做: + + C:\> MD C:\FREEBSD +C:\> XCOPY /S E:\BASE C:\FREEBSD\BASE + A:\> MD A:\FREEBSD +A:\> XCOPY /S E:\BASE A:\FREEBSD\BASE + + 这里假设 E: 是您的 CD 所挂接的驱动器符。 + + 如果需要从 DOS 安装更多的发行包 (当然您需要足够的磁盘空间) + 需要将它们都复制到 + C:\FREEBSD - 而 BIN 则是必需的。 + + 如果需要从 DOS 安装更多的发行包 (当然您需要足够的磁盘空间) + 需要将它们都复制到 + A:\FREEBSD - 而 BIN 则是必需的。 + + 一旦您复制了这些目录, 就可以简单地从软盘开始安装, + 并在指定介质类型时选择 DOS + + + + 从 QIC/SCSI 磁带安装 + + 当从磁带安装时, 安装程序预期安装文件是 tar 到上面的, + 因此把您感兴趣的安装包复制出来之后, 简单地使用 &man.tar.1; + 把它们放到磁带上就可以了: + + &prompt.root; cd /where/you/have/your/dists +&prompt.root; tar cvf /dev/sa0 dist1 .. dist2 + + 当您进行安装时, 您应该确认临时目录 + (将提示您选择它) 中有足够放下 完整的 + 磁带内容的空间。 由于磁带不支持随机访问, 这种方式需要很多临时存储。 + 您需要准备写到磁带上那样多的临时存储空间。 + + + 当开始安装时, 磁带应该在从软盘启动 + 之前 放进磁带机。 如果不这样做, + 安装程序的 探测 操作可能会找不到它。 + + + 现在按照 + 的描述制作安装软盘并继续安装就可以了。 + + + + 通过网络使用 FTP 或 NFS 安装 + + 按照第一节的说明制作引导盘之后, + 您可以使用三种不同的连接方式来继续安装过程: 串口连接、 + 并口连接, 或以太网。 + + + 串口 + + SLIP 支持非常原始, 而且基本上限于硬连线的连接, + 例如在两台计算机之间的串口电缆。 这类连接必须是直接连好的, + 因为 SLIP 安装目前并不提供拨号能力。 + 如果您需要使用调制解调器来拨号或需要在连接之前进行其它交互, + 则应使用 PPP 来代替它。 + + 如果您使用 PPP, 一定要确认您手头有 + Internet 服务提供商的 IP 地址和 DNS 信息, + 因为您在安装的开始阶段需要它们。 您还需要知道自己的 IP + 地址, 尽管 PPP 支持动态地址协商, + 并能够直接从您的 ISP 获取这些信息, 如果他们支持这样做的话。 + + 最后您还需要了解在您的 PPP 拨号服务上如何使用一些 AT + 命令 来进行拨号, 因为 PPP 拨号程序只提供了非常简单的终端仿真程序。 + + + + 并口 + + 如果有可用的到另一台 &os; 或 Linux + 机器的连接, 您也可以考虑通过 + laplink 风格的并口电缆来安装。 + 通过并口连接的速度通常要比串口电缆 + (通常最多 50k/秒) 要快的多, 因此能够让您更快地完成安装。 + 当使用点对点的并口电缆连接时通常并不需要 + 真实的 IP 地址, 一般来说您可以在连接的两端使用 + RFC 1918 风格的地址 (例如 10.0.0.110.0.0.2, + 等等)。 + + + 如果您的 PLIP 另一端使用的是 Linux, + 则还需要在 TCP/IP 设置界面的extra options for + ifconfig 中指定 + , 以便兼容 Linux + 中略有不同的 PLIP 协议。 + + + + + + 以太网 + + &os; 支持绝大多数常见的以太网卡, + 它支持的网卡列表作为 &os; 硬件说明 (参见 Documentation + 菜单中的 HARDWARE.TXT 或启动盘和 + CDROM 的顶级目录)。 如果您使用的是某种被支持的 + PCMCIA 网卡, 则还应确认它在笔记本启动 + 之前 就已经插好了。 + 不幸的是, &os; 目前还不支持在安装过程中 + 热插 PCMCIA 卡。 + + 同时还需要知道您在局域网上的 IP 地址, + 子网的 值和机器名。 + 您的系统管理员会告诉您在您的网络上所需要的值。 + 如果您想通过名字而不是 IP 地址来访问其它机器, + 则还需要一个域名服务器, 而且可能还需要网关的地址 + (如果使用 PPP, 则是您提供商的 IP 地址) + 才能够访问它。 如果您打算通过 HTTP 代理来完成 + FTP 安装, 您还需要代理服务器的地址。 + + 如果您不知道这些问题的答案, 您可能需要 + 首先 联系系统管理员, 然后才能开始安装。 + 在已有网络上使用随便选择的 IP 地址和子网掩码几乎肯定无法正常工作, + 而且您的管理员可能会给您上人生一课。 + + 一旦您的网络连接能够使用, 就可以继续通过 + NFS 或 FTP 来完成安装了。 + + + + NFS 安装提示 + + NFS 安装相当的简单: 您只需将 + &os; 的安装文件复制到服务器上的某个目录, + 并在选择 NFS 介质时给出这个目录即可。 + + 如果服务器只支持来自 特权端口 的访问 + (这是 Sun 和 Linux 工作站上通常的默认情形), + 您可能需要在安装之前在 Options 菜单中设置这个选项。 + + 如果您的网卡质量很差并造成数据传输迟缓, + 您可能还需要调整一些 Options 选项。 + + 为了让 NFS 安装能够正常进行, 服务器还必须支持 + 子目录挂接 (subdir mounts), 例如如果您的 &os; + 安装包目录在 + wiggy:/usr/archive/stuff/FreeBSD 中, 则 + wiggy 必须允许直接挂接 + /usr/archive/stuff/FreeBSD, 而不仅仅是 + /usr/usr/archive/stuff + + 在 &os; 的 /etc/exports 文件中可以通过 + 选项来控制它。 在其它 NFS 服务器上可能有不同的写法。 + 如果您收到了来自服务器的 Permission Denied 消息, + 通常是因为您没有启用这一特性导致的。 + + + + FTP 安装提示 + + FTP 安装可以通过从任何包含足够新版的 + &os; 的镜像站点来完成。 安装过程中您可以从 FTP + 站点菜单中选择遍布全球的几乎每一个官方的镜像站点来完成安装。 + + 如果您正从某个没有在这里列出的 FTP 站点安装, + 或您无法正确地配置域名解析服务器, 您也可以通过在菜单中选择 + URL 来指定自己的 URL。 URL 可以包括一个域名或 + IP 地址, 因此当没有域名解析服务器时, 您可以用类似下面的 URL + 来完成安装: + + ftp://216.66.64.162/pub/FreeBSD/releases/&arch;/4.2-RELEASE + + 您可以从三种 FTP 安装方式中选择合适的: + + + FTP: 这种方式使用标准的 + 主动 (Active) 传输方式, + 此时服务器将主动发起到客户机的数据连接。 + 在存在防火墙的环境中通常这会无法正常工作, + 但与不支持被动模式的较老的 FTP 服务器配合时它是最佳选择。 + 如果您使用被动模式时连接挂起, 请尝试这个选项。 + + + FTP Passive: 这将设置 FTP 被动 (Passive) + 模式, 它将阻止服务器打开到客户机的连接。 + 这个选项对于通过不允许连入到随机端口的防火墙接入的用户来说, + 是最佳的选择。 + + + FTP via an HTTP proxy: 这个选项指示 &os; + 使用 HTTP 连到一个代理商完成所有的 FTP 操作。 + 代理服务器将翻译所有的请求, 并把它们发给 FTP 服务器。 + 这允许用户通过完全不允许 FTP, 但提供了 HTTP 代理的防火墙连接。 + 除了 FTP 服务器之外, 您还必须指定代理服务器的主机名。 + + 极端情况下您可能有不通过 HTTP 的 FTP 代理服务器, + 您可以把 URL 指定为下面的样子: + + ftp://foo.bar.com:端口/pub/FreeBSD + + 上面的 URL 中, 端口 + 是 FTP 代理服务器的端口号。 + + + + + + + + 串口控制台用户提示 + + 如果您想在只有串口的机器上安装 &os; + (例如, 在没有或不想购买 VGA 卡时), + 请按照下面的步骤完成安装: + + + + 连接某种 ANSI (vt100) 兼容的终端或终端仿真程序到您打算安装 &os; + 的计算机的 COM1 口。 + + + 拔掉键盘 (是的, 这是正确的!) 然后尝试从软盘或安装 + CDROM 启动。 启动时不要插键盘。 + + + 如果您在串口控制台上没有得到任何输出, + 请重新插上键盘。 如果您正从 + CDROM 启动, 在听到嘟嘟声时立即 + + + 如果从软盘引导, 当软驱不再动作时, 插入第一张 + kernX.flp 盘并按 + Enter。 当软驱不再动作时, 插入下一张 + kernX.flp 盘并按 Enter, + 重复直到您已经插入了所有的 kernX.flp 盘。 + 当磁盘动作结束时, 再次插入 boot.flp + 软盘并按 Enter + + + 一旦听到嘟嘟声, 按数字 6, 并输入 + + boot -h + + 您现在一定可以从串口看到一切。 如果这样还无法正常工作, + 请检查您的串口电缆, 以及终端仿真程序或实际的终端设备的设置。 + 应该设置为 9600 波特, 8 数据位, 无奇偶校验位。 + + + + + + + &arch.print; 体系结构用户的疑问与解答 + + + + + 救命! 我的空间不足! 我是否需要首先删除所有的东西? + + + 如果您的计算机已经在运行 DOS 而只有很少或没有可以用于安装 + &os; 的磁盘空间, 还有机会! 您可以从 &os; CDROM 的 + tools/ 目录, 或众多 &os; + ftp 站点上找到 FIPS + 工具来解决这个问题。 + + FIPS 允许您将已经存在的 + DOS 分区分割为两部分, 保持原有分区中的内容, + 从而在剩余空间上安装。 在运行 FIPS 之前首先应该使用 DOS 6.xx 的 + DEFRAG 工具或 + Norton Disk Tools + 对您的 DOS 分区执行 碎片整理。 + 它将提示您输入所需的其它信息。 此后, + 您可以重新启动并在新的分区上安装 &os;。 + 还应注意 FIPS 将把第二个分区作为第一个的分区的 + 克隆, 因此实际上您将在原有的一个 DOS + 主分区之外看到一个新的主分区。 不必理会警告! + 您可以简单地删除那个多余的 DOS 主分区 + (可以通过分区大小来看出是否是应该删除的那个)。 + + FIPS 目前并不支持 + NTFS 格式的分区。 要分割这样的分区, 您需要类似 + Partition Magic + 这样的商业产品。 + + FIPS 无法处理扩展 + DOS 分区。 但它支持 Windows 95/98/ME 的 FAT32 格式主分区。 + + + + + + + 我能在 &os; 中使用压缩的 DOS 文件系统吗? + + + + 不能。 如果您使用类似 + Stacker(tm) 或 + DoubleSpace(tm) 这样的工具, + &os; 只能使用文件系统中尚未压缩的部分。 + 余下的部分将展示为一个大文件。 + 不要删除那个文件 否则您可能会后悔莫及的! + + 如果需要在 DOS 和 &os; 之间通讯, 最好建立一个未压缩的 DOS + 扩展分区。 + + + + + + 是否能挂接我的 DOS 扩展分区? + + + + 可以。 DOS 扩展分区会被映射到 &os; 的其它 + slices 之后。 例如, 您的 D: 驱可能会是 + /dev/da0s5, 而 E: 驱则是 + /dev/da0s6, 等等。 当然, 这个例子假定您的扩展分区是在 + SCSI 驱动器 0 上。 对于 IDE 驱动器, 相应地用 ad 换掉 + da。 您可以按下面的方法来挂接其它 DOS 驱动器: + + &prompt.root; mount -t msdos /dev/da0s5 /dos_d + + + + + + 可以在 &os; 中执行 DOS 可执行文件吗? + + + + 正在开发中的 BSDI 的 &man.doscmd.1; 工具能够适应多数情况, + 尽管还有一些较为粗糙的地方。 + emulators/doscmd port/package + 可以在 &os; Ports Collection 中找到。 + 如果您对这样的工作感兴趣, 请发邮件到 &a.emulation; + 并说明您对这项工作感兴趣! + + &os; Ports Collection 中的 emulators/pcemu + port/package 能够模拟 8088 和足够多的 BIOS 服务来支持 + DOS 文本模式的应用程序。 运行它需要 + X Window System (XFree86)。 + + + + + + 可以在 &os; 中运行 µsoft.windows; 应用吗? + + + + 在 &os; Ports Collection 中有很多能够运行众多 + &windows; 应用程序的 ports/packages。 + emulators/wine 的 + port/package 提供了在 &os; 之上的一个兼容层, 使得很多 + &windows; 应用程序得以在 X Windows (XFree86) 中执行。 + + + + + + 是否能够在 &os; 中运行其他操作系统? + + + + 再次强调, &os; 的 Ports Collection 中有很多能够模拟 + "虚拟机" 并使得其他操作系统能够在 &os; 之上执行的 ports/packages。 + emulators/bochs 中的 port/package + 允许 µsoft.windows;、 Linux 甚至另一份 &os; 在 + &os; 桌面的一个窗口中执行。 + emulators/vmware2 和 + emulators/vmware3 ports/packages + 提供了商业的 VMware 虚拟机软件, 并能够在 &os; 上执行。 + + + + + + + + 我能从 ARC 或 Alpha BIOS 控制台启动吗? + + + + 不能。 同 Compaq Tru64 和 VMS 类似, &os; 只能从 + SRM 控制台启动。 + + + + + + 救命啊! 我没有足够的磁盘空间了! 我需要把所有的数据都删掉吗? + + + + 很不幸, 是的。 + + + + + + 我能挂接 Compaq Tru64 或 VMS 扩展分区吗? + + + + 不, 目前还不能。 + + + + + + 是否可以直接执行 Compaq Tru64 (OSF/1) 的可执行文件? + + + + &os; 能够通过 emulators/osf1_base + port/package 很好地运行 Tru64 应用程序。 + + + + + + + 那么是否可以执行 Linux 可执行文件呢? + + + + &os; 可以运行 AlphaLinux 可执行文件, 但需要配合 + emulators/linux_base + port/package。 + + + + + + 那么 NT Alpha 的可执行文件呢? + + + + &os; 无法直接执行 NT 应用程序, 尽管它能够挂接 NT 分区。 + + + + + diff --git a/release/doc/zh_CN.GB2312/installation/common/layout.sgml b/release/doc/zh_CN.GB2312/installation/common/layout.sgml new file mode 100644 index 000000000000..e5f710bffc3e --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/common/layout.sgml @@ -0,0 +1,138 @@ + + + 发行版本所采用的格式 + + 典型的 &os; 发布目录的样子和下面列出的类似 + (具体细节可能随版本、 硬件架构和其他因素而有微小变化): + +ERRATA.HTM README.TXT compat1x dict kernel +ERRATA.TXT RELNOTES.HTM compat20 doc manpages +HARDWARE.HTM RELNOTES.TXT compat21 docbook.css packages +HARDWARE.TXT base compat22 filename.txt ports +INSTALL.HTM boot compat3x floppies proflibs +INSTALL.TXT catpages compat4x games src +README.HTM cdrom.inf crypto info tools + + 如果想从 CDROM、 FTP 或 NFS 从发布目录中安装, + 只需从软盘镜像目录制作 1.44MB 引导盘 (参见 + 以了解如何完成它), + 从制作的引导盘启动, 并按照屏幕的指示去做就可以了。 + 安装过程中所需要的数据会根据您的选择自动获取。 + 如果您之前从没安装过 &os;, 则建议您完整地阅读这份文档 + (安装指引)。 + + 如果您在尝试进行某种其他类型的安装, + 或对于发布目录是如何组织的感到好奇, 请参考下面的说明以了解进一步的内容: + + + *.TXT 和 + *.HTM 文件包含了文档 + (举例来说, 这份文档可以在 + INSTALL.TXT 和 + INSTALL.HTM 中找到), + 您应该在开始安装之前阅读它们。 + *.TXT 文件是普通的文本文件, 而 + *.HTM 文件则是 HTML 文件, + 可以使用几乎任何一种 Web 浏览器来阅读。 + 某些发布可能还包其他格式的文档, 例如 PDF 或 PostScript。 + + + docbook.css 是层次样式表 + (CSS) 文件, 它会被 Web 浏览器用以完成 + HTML 文档的排版。 + + + base, + catpages, + crypto, + dict, + doc, + games, + info, + manpages, + proflibs, 以及 + src 这些目录中包含了 &os; 本身的发布版本组件, + 它们被分割为更小的文件, 以便放进软盘中 (如果需要的话)。 + + + compat1x, + compat20, + compat21, + compat22, + compat3x, 以及 + compat4x + 目录包含了用于与先前版本兼容的文件, 它们以单个的 gzip 压缩的 + tar 文件的形式发布 - 在安装过程中或之后可以通过 + install.sh 脚本来安装它们。 + + + floppies/ 子目录中包含了安装用的软盘镜像; + 关于它们的更多信息可以在 找到。 + + + packagesports 目录提供了 &os; + 的 Packages 和 Ports Collections。 Packages 可以从其目录中通过下面的命令安装: + + &prompt.root;/stand/sysinstall configPackages + + Packages 也可以通过将 + packages/ 下的文件名交给 &man.pkg.add.1; + 命令来完成。 + + Ports Collection 可以通过与其他组件相同的方法来安装, + 解压缩后它需要大约 190MB 的磁盘空间。 关于 + ports collection 的更多资料可以在 + http://www.FreeBSD.org/ports/ + 或本地的 + /usr/share/doc/handbook 找到, + 当然, 后者的前提是您安装了 doc + 发布。 + + + 最后, tools 目录中提供了各种用以测试磁盘尺寸、 + 安装引导管理器等的 DOS 工具。 这些工具纯粹是可选的, + 提供它们是为了方便用户。 + + + + + 典型的发布目录 (举例来说, info 发布) 在内部应该是这样: + +CHECKSUM.MD5 info.ab info.ad info.inf install.sh +info.aa info.ac info.ae info.mtree + + CHECKSUM.MD5 文件包含了每个文件的 MD5 签名。 + 这主要是为了手工检测数据是否有损坏用的, 实际的安装过程并不会用到它。 + info.a* 文件是分割过的经过 gzip 压缩的 tar + 文件, 其内容可以通过下面的命令来显示: + + &prompt.root; cat info.a* | tar tvzf - + + 在安装过程中, 这些文件会被自动地重组并根据需要展开。 + + info.inf 文件也是必要的, + 因为它会被安装程序读取以了解需要为安装包复制多少片。 当把安装包放到软盘上时, + .inf 文件 必须 + 放在每一个安装包的第一张软盘上! + + info.mtree 文件是另一个供用户参考而非必需的文件。 + 它包括了 未压缩的 安装包中的每个文件的 MD5 签名, + 并可在其后通过使用 &man.mtree.8; + 程序来验证安装权限和校验和以了解这些文件是否有过改动。 + 当和 base 安装包联用时, + 这是一种检测木马攻击的很好的手段。 + + 最后, install.sh + 文件是用来方便用户在安装之后安装某个安装包的。 要在装完系统之后从 CDROM + 安装某个安装包, 您可以按照下面的例子来完成: + + &prompt.root; cd /cdrom/info +&prompt.root; sh install.sh + diff --git a/release/doc/zh_CN.GB2312/installation/common/trouble.sgml b/release/doc/zh_CN.GB2312/installation/common/trouble.sgml new file mode 100644 index 000000000000..6b215ac7a2f1 --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/common/trouble.sgml @@ -0,0 +1,352 @@ + + + 故障排除 + + + 修复现有的 &os; 安装 + + 在安装软盘中的顶级菜单上, &os; 提供了一个 + Fixit 选项。 + 要使用它, 您还需要一张和启动用的那张软盘同样的方法生成的 + fixit.flp 镜像软盘, + 或 live filesystem + CDROM; 第二种通常是 &os; 发行版本的一部分。 + + 要启动 fixit, 只需简单地从 + kern.flp 这张软盘启动, 选择 + Fixit 这一项, 并根据提示插入 fixit 软盘或 CDROM。 + 接下来您将进入一个提供了很多命令的命令行界面 + (在 /stand + 和 /mnt2/stand 目录中) 来检查、 + 修复和检验文件系统及其内容。 使用 fixit + 需要一些 UNIX 系统管理的经验的。 + + + + &arch.print; 架构上常见的问题 + + + + + 我的计算机在启动并检测硬件时停住了, + 或者安装时行为异常, 或者软驱没有检测到。 + + + &os; 5.0 以及更高版本大量地使用了 i386 平台上的系统 ACPI + 服务以帮助检测系统在启动过程中检测到的设备。 + 不幸的是, ACPI 驱动程序以及主板及其 BIOS 仍然存在一些 bug。 + ACPI 可以通过在启动加载的第三阶段通过设置 + hint.acpi.0.disabled 来禁用: + + set hint.acpi.0.disabled="1" + + 在每次启动时这个选项都会被复位, + 因此有必要把 hint.acpi.0.disabled="1" + 加入到 + /boot/loader.conf + 中。 要了解关于启动加载器的进一步详情, 请参考 + FreeBSD 使用手册。 + + + + + 我的系统使用 nVidia nForce3 Pro-150 芯片组, + 在启动快结束时系统突然停止相应或开始丢失中断。 + + + 这种芯片组的 APIC 以及配套的 BIOS 在本次 release + 时仍然有很多问题。 尽管按照上面的方法禁止掉 ACPI 能够让系统正常工作, + 您可能会希望通过设置 hint.apic.0.disabled + 这样较为缓和的选项来达到目的。 如果在 BIOS 中存在这样的选项, + 请尝试关闭 APIC 支持。 不幸的是, 一些机器并没有这样的选项。 + + + + + + 先前版本的 &os; 能够识别我的旧式 ISA 设备, + 而新版本不能了。 发生了什么问题? + + + 类似 matcd 这样的一些驱动程序, 会由于无人维护或者其他一些原因而被删除。 + 其他一些仍然存在, 但由于其具有侵略性的检测方法而被默认禁用。 + 下面这些 ISA 设备驱动可以在启动加载器的第三步时启用: + aha, ahv, aic, bt, ed, cs, sn, ie, fe, le, 以及 lnc。 + 要做到这一点, 在加载器进行 10 秒倒计时的时候将其中止, + 并在提示符后输入: + + unset hint.foo.0.disabled + + foo + 替换为驱动程序的名字就可以重新启用它们。 + 通过编辑文件 + /boot/device.hints + 并删去相应的 + disabled 行可以使这一设置持久化。 + + + + + 安装完 &os; 之后的首次硬盘启动, 内核已经正确加载并检测了硬件, + 但却停机并给出了类似下面的信息: + + changing root device to ad1s1a panic: cannot mount root + 哪个地方出错? 应该如何解决? + + 在引导提示中给出的 + bios_drive:interface(unit,partition)kernel_name + 是什么意思? + + + 当引导盘不是系统中的第一块盘时可能会触发一个存在了很久的问题。 + BIOS 使用和 &os; 不同的标号机制, 而改正这样的问题是非常困难的事情。 + + 当引导盘不是系统中的第一块盘时, &os; + 可能需要一些额外的帮助才能找到它。 这里有两种比较常见的情形, + 在这两种情形中, 您都需要告诉 &os; 根文件系统的位置。 + 您可以通过指定 BIOS 磁盘编号、 类型以及 + &os; 对那种类型的编号来完成这项工作。 + + 第一种情况是您有两个 IDE 磁盘, + 每个配置成主盘在它们各自的 IDE 总线上,并且希望它们能从 + 第二个盘引导 &os; + BIOS 把它们看作磁盘 0 和磁盘 1, &os; 把它们看作 + ad0 和 + ad2 + + &os; 在 BIOS 磁盘 1 上,类型为 + ad &os; 盘号为 2, + 因此您可以说: + + 1:ad(2,a)kernel + + 注意如果有一个从盘在主接口上, 则上面这些就不必要了 + (而且, 事实上是错的)。 + + 第二种解决涉及到从一个 SCSI 磁盘上引导 + 当您在系统上有一个或多个 IDE 磁盘。在这种情况下, + &os; 的盘号比 BIOS 的盘号要低。 + 如果您像 SCSI 磁盘一样有两个 IDE 磁盘, + SCSI 磁盘是 BIOS 磁盘 2, 类型 da + &os; 盘号为 0,因此您可以这样说: + + 2:da(0,a)kernel + + 告诉 &os; 您想从 BIOS 磁盘2上引导,它就是系统上的第 + 一个 SCSI 磁盘。如果您只有一个 + IDE 磁盘,您需要使用 '1:' 来代替。 + + 您一旦知道了需要使用的数值之后, + 就可以用您喜欢的文本编辑器把这些命令写进 + /boot.config 文件中。 + 除非另有说明, &os; 会使用这个文件的内容, 作为对 + boot: 提示的回应。 + + + + + 第一次安装 &os; 后,我从硬盘进行引导,但是引导管理器却提示 + F? 在每次引导时,但却不能引导进入系统。 + + + 在安装 &os; 的编辑分区时, 硬盘尺寸设置错误。 + 返回到分区编辑器并指定您的硬盘的实际尺寸。 + 您必须重新安装 &os; 再次重新设置正确的尺寸。 + + 如果在为您的机器指出正确的尺寸之后仍然失败,这里有个技巧: + 安装一个小的 DOS 分区在磁盘开始安装 &os; 后。安装程序将查看 DOS + 分区并且尝试着去推断正确的尺寸。通常这样就能正常工作。 + + 下面的提示不再推荐,但是留在这里作为参考: + +
+ 如果您正打算安装只使用 &os; 的服务器, 而不关心 (未来) + 和 DOS, Linux 或其他操作系统的兼容性, 您还可以选择使用整个磁盘 + (分区编辑器中的 ‘A’), 选择那个不标准的选项来让 + &os; 占满磁盘的每一个扇区。 这样您就不再需要考虑尺寸问题, + 而限制则是您将无法运行 &os; 以外的其他操作系统。 +
+
+
+ + + &man.mcd.4; 驱动总是认为它发现了一个设备, 而这导致我的 + Intel EtherExpress 网卡无法正常工作。 + + + 用 UserConfig 工具 (参见 + HARDWARE.TXT) 并禁用对 + mcd0 和 + mcd1 设备的探测。 一般而言, + 在内核配置文件中您应该只保留和启用那些将要用到的设备。 + + + + + 系统发现了我的 my &man.ed.4; 网卡,但却出现 + 设备超时错误。 + + + 您的卡可能与在内核配置中指定的 IRQ 号不同。 + ed 驱动默认并不使用软件配置 (DOS 下在 EZSETUP + 中输入的值), 但但如果您在内核配置文件中将 IRQ 指定为 + ? 则它会使用软件的配置。 + + 另外, 也可以通过跳线来改变硬件设置 + (如果需要, 相应地修改内核配置), + 或在 UserConfig 中将 IRQ 指定为 -1, + 或在您的内核配置文件中使用 ? + 来告诉内核使用软件配置。 + + 另一种可能是您的卡使用了 IRQ 9, 而这是和 IRQ 2 共用的, + 这也是经常造成问题的原因 + (尤其是当您的 VGA 显卡使用 IRQ 2 时!)。 只要可能, + 您就不应使用 IRQ 2 或 9。 + + + + + 我从软盘引导安装我的 IBM ThinkPad (tm)膝上型电脑, + 键盘的输入一团糟。 + + + 以前的 IBM 膝上型电脑使用非标准的键盘控制器, + 所以您必须告诉键盘驱动程序 (atkbd0) 进入一个特定的模式 + 使它能够在 ThinkPads 上工作。 在 UserConfig 文件中将 + atkbd0 'Flags' 设置为 0x4, 它就应该能正常的工作了。 + (参见 'Keyboard' 输入菜单) + + + + + 我的系统找不到我的 Intel EtherExpress 16 卡。 + + + 您必须设置您的 Intel EtherExpress 16 卡的内存映射到地址 + 0xD0000, 并使用 Intel 提供的 softset.exe + 程序进行设置, 让使映射后的内存大小为 32K + + + + + 在 EISA HP Netserver 上安装时,我的 + AIC-7xxx SCSI 控制器检测不到。 + + + 这是一个已知问题, 并用会在将来对其进行修复。 + 为了使您的系统完全安装, 使用 引导选项进入 + UserConfig, 但是 不能 使用好看的可视化模式, + 而必须使用旧式的文本 CLI 模式。 在提示符下输入: + + eisa 12 +quit + + 。 (您也可以用 ‘visual’ 代替 ‘quit’, + 在接下来的配置对话在可视化模式。) + 尽管我们推荐您编译定制的内核, 但 dset 现在也能够保存这些值了。 + + 参考 FAQ 主题 5.3 解释的问题和怎样继续。 + 在您的本地系统 /usr/share/doc/FAQ 目录中可以找到 FAQ, + 如果您安装了 ‘doc’ 软件包的话。 + + + + + 我有一台 Panasonic AL-N1 或 Rios Chandler Pentium + 机器, 我发现每当进入安装时系统都会挂机。 + + + 由于某些原因, 您的机器可能不喜欢新的 + i586_copyout 和 + i586_copyin 代码。 要禁止它, + 用安装软盘进行引导, 当它进入第一个菜单 (选择是否进入 UserConfig) + 时选择命令行界面 + (专家模式, Expert Mode), + 并且输入下面的语句: + + flags npx0 1 + + 继续正常的引导过程。 这些设置将保存在您的内核中, + 因此您只需做一次就可以了。 + + + + + 我有个 CMD640 IDE 控制器, 系统它坏了。 + + + &os; 不支持这种控制器。 + + + + + 在一台 Compaq Aero 笔记本上, 当尝试从软盘安装时, 提示 No + floppy devices found! Please check ... + + + Compaq 系统总是与其它系统有点不同, 他们没有在笔记本的 CMOS RAM + 中说明软驱的存在。 因此, 驱动程序会认为没有配置软驱。 + 进入 UserConfig 屏幕, 将 fdc0 驱动标志值设置为 0x1。 + 这样驱动程序将认为第一个软驱存在, 而不去查询 CMOS。 + + + + + 在安装一台 Dell Poweredge XE 时, 无法识别 Dell + 自有的 RAID 控制器 DSA (Dell SCSI Array)。 + + + 配置 DSA 来使用 AHA-1540 仿真使用 EISA + 配置程序。之后 &os; 检测到 DSA + 作为一个 Adaptec AHA-1540 SCSI 控制器,irq 11 和 port + 340。在可视化模式下系统将使用 DSA RAID disks, + 但您不能使用 DSA-specific 里的特性,例如查看 RAID 健壮性。 + + + + + 我有一个 IBM EtherJet PCI 卡,它被 + &man.fxp.4; 驱动程序正确的探测到, 但网卡上的灯却不亮, + 也不能连到网络。 + + + 我们不理解为什么会发生这样情况, IBM 也不理解 + (我们问过他们)。 这块网卡是标准的 Intel EtherExpress + Pro/100, 只是上面有 IBM 的标签, 这种卡通常工作的都很好。 + 您可以在一些 IBM 的服务器上看一些这方面的征兆。 + 唯一的解决办法是安装一个不同品牌的网卡。 + + + + + 当我在配置网络服务期间安装了一个 + IBM Netfinity 3500, 系统停止了响应。 + + + 在 Netfinity 3500 板上有一个问题, 目前为止我们还没有找出其根源。 + 它可能与系统配置不正确的 SMP 特性有关。 + 目前您只能换一块不同品牌的网卡, 而在任何时候都避免使用板载的。 + + + + + 我安装到由 Mylex PCI RAID 控制器管理的磁盘时, + 系统启动失败 (例如, 显示 + read error 错误信息)。 + + + Mylex 驱动中有一个 bug, + 它会忽略 BIOS 中的 8GB 模式设置。 + 请改为使用 2GB 模式。 + + +
+
+
diff --git a/release/doc/zh_CN.GB2312/installation/common/upgrade.sgml b/release/doc/zh_CN.GB2312/installation/common/upgrade.sgml new file mode 100644 index 000000000000..078a82b2df1c --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/common/upgrade.sgml @@ -0,0 +1,199 @@ + + + 升级 &os; + + 这些说明描述了从一个旧版本的 &os; 执行二进制升级的过程。 + + + 尽管 &os; 升级过程尽力防止意外的数据丢失, + 但是仍有很大可能这次安装会 + 擦除您的整个硬盘! + 请不要接受最后的确认请求,除非您已经备份了所有重要的数据文件。 + + + + 这些说明假定您正在使用您打算升级的 &os; 版本提供的 + &man.sysinstall.8; 版本。使用一个不匹配的 &man.sysinstall.8; + 版本几乎总是会造成问题并且已知会让系统处于不可用状态。 + 在这方面最容易犯的错误就是使用现存的安装的旧的 + &man.sysinstall.8; 副本来升级 &os; 到新的版本。 + 这是 绝不 推荐的。 + + + + 现在还不支持从 &os; 4-STABLE 到 &os; &release.current; + 的二进制升级。&os; 4-STABLE 中存在的一些文件会引起混乱, + 但是却不能被二进制升级移除。一个著名的例子就是旧的 + /usr/include/g++ 目录会引起 C++ + 程序编译错误 (也可能没有影响)。 + + 这些升级说明提供给那些从近来的 + &os; &release.branch; snapshot 升级的用户。 + + + + 介绍 + + 升级过程用相应的最新的 + &os; release 取代用户选定的发行版本。 + 这个过程保护标准的系统配置文件数据, + 还有用户数据、已安装的包和其它软件。 + + 推荐正在考虑升级的管理员在着手升级之前完整阅读这一章节。 + 不这样做的后果很可能就是升级失败或者数据丢失。 + + + 升级概览 + + 发行版本的升级就是执行解压缩新版本组件覆盖当前版本。 + 属于旧的发行版本的文件不会被删除。 + + 系统配置文件通过保留并恢复下列文件的当前版本来实现保护: + + Xaccel.ini, +XF86Config, +adduser.conf, +aliases, +aliases.db, +amd.map, +crontab, +csh.cshrc, +csh.login, +csh.logout, +cvsupfile, +dhclient.conf, +disktab, +dm.conf, +dumpdates, +exports, +fbtab, +fstab, +ftpusers, +gettytab, +gnats, +group, +hosts, +hosts.allow, +hosts.equiv, +hosts.lpd, +inetd.conf, +localtime, +login.access, +login.conf, +mail, +mail.rc, +make.conf, +manpath.config, +master.passwd, +motd, +namedb, +networks, +newsyslog.conf, +nsmb.conf, +nsswitch.conf, +pam.conf, +passwd, +periodic, +ppp, +printcap, +profile, +pwd.db, +rc.conf, +rc.conf.local, +rc.firewall, +rc.local, +remote, +resolv.conf, +rmt, +sendmail.cf, +sendmail.cw, +services, +shells, +skeykeys, +spwd.db, +ssh, +syslog.conf, +ttys, +uucp + + + 这些文件相应的新版本被转移到 + /etc/upgrade/。 + 系统管理员可以仔细阅读这些新版本并合并需要的部分。 + 注意这里面很多文件是相互依赖的, + 最好的合并过程是将所有的站点特定数据从当前文件复制进新的文件。 + + 在升级过程中,会提示管理员 + /etc/ 中所有文件要存放的位置。 + 在本地修改合并进入其它文件后,也可以从这个位置再找回它们。 + + + + + + 过程 + + 这一节详细描述了升级过程。尤其关注那些和通常的安装有明显区别的部分。 + + + 备份 + + 用户数据和系统配置文件在升级前应该备份。 + 尽管升级过程尽力的去防止意外的失误, + 还是有可能全部或部分的毁坏数据和配置文件信息。 + + + + 挂载文件系统 + + 进入 disklabel 编辑器会列出命名的磁盘文件系统设备。 + 在着手升级前,管理员应该记录一下设备名和相应的挂载点。 + 这些挂载点应该在这里输入。 + 不要 对任何文件系统设置newfs + flag,因为这会引起数据丢失。 + + + + 选择 Distribution + + 选择 distribution 的时候,没有强制的约束必须选择哪一个。 + 基本规则是,base + distribution 对于升级来说应该选择,如果已经安装了联机手册 + man distribution 也应该选择。 + 如果管理员希望添加额外的功能,在最初的安装之外其它 distribution + 也可以选择。 + + + + 安装之后 + + 一旦安装过程完成,就会提示管理员检查新的配置文件。 + 这时候,应该做下检查来保证系统配置文件有效。 + 尤其是,应该检查 /etc/rc.conf 和 + /etc/fstab 文件。 + + + + + 从源代码升级 + + 那些对允许更复杂、诡异的升级方法感兴趣的人应该看看 + &os; 使用手册的 + 最前沿 一章。这个过程包括了从源代码重建整个 &os;。 + 这依赖于可靠的网络连接、额外的磁盘空间和时间, + 但是有网络以及其它更复杂安装的优势。 + 这基本和跟踪 -STABLE 或 -CURRENT 开发分支的过程是相同的。 + + /usr/src/UPDATING 包含了从源代码升级 &os; + 系统的重要信息。它列出了 &os; 中各种各样可能影响升级的改动。 + + diff --git a/release/doc/zh_CN.GB2312/installation/i386/Makefile b/release/doc/zh_CN.GB2312/installation/i386/Makefile new file mode 100644 index 000000000000..79e7d0dd59d5 --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/i386/Makefile @@ -0,0 +1,21 @@ +# Original Revision: 1.4 +# $FreeBSD$ + +RELN_ROOT?= ${.CURDIR}/../../.. + +DOC?= article +FORMATS?= html +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +# SGML content +SRCS+= article.sgml +SRCS+= ../common/artheader.sgml +SRCS+= ../common/abstract.sgml +SRCS+= ../common/install.sgml +SRCS+= ../common/layout.sgml +SRCS+= ../common/trouble.sgml +SRCS+= ../common/upgrade.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/installation/i386/article.sgml b/release/doc/zh_CN.GB2312/installation/i386/article.sgml new file mode 100644 index 000000000000..f7e795edcc3b --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/i386/article.sgml @@ -0,0 +1,31 @@ + + + +%articles.ent; + + +%release; + +%sections; + + + + + + +]> + +
+&artheader; +&abstract; +§.install; +§.layout; +§.upgrade; +§.trouble; +
diff --git a/release/doc/zh_CN.GB2312/installation/ia64/Makefile b/release/doc/zh_CN.GB2312/installation/ia64/Makefile new file mode 100644 index 000000000000..2ab78f7987c9 --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/ia64/Makefile @@ -0,0 +1,21 @@ +# Original Revision: 1.1 +# $FreeBSD$ + +RELN_ROOT?= ${.CURDIR}/../../.. + +DOC?= article +FORMATS?= html +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +# SGML content +SRCS+= article.sgml +SRCS+= ../common/artheader.sgml +SRCS+= ../common/abstract.sgml +SRCS+= ../common/install.sgml +SRCS+= ../common/layout.sgml +SRCS+= ../common/trouble.sgml +SRCS+= ../common/upgrade.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/installation/ia64/article.sgml b/release/doc/zh_CN.GB2312/installation/ia64/article.sgml new file mode 100644 index 000000000000..8565f96b34ec --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/ia64/article.sgml @@ -0,0 +1,31 @@ + + + +%articles.ent; + + +%release; + +%sections; + + + + + + +]> + +
+&artheader; +&abstract; +§.install; +§.layout; +§.upgrade; +§.trouble; +
diff --git a/release/doc/zh_CN.GB2312/installation/pc98/Makefile b/release/doc/zh_CN.GB2312/installation/pc98/Makefile new file mode 100644 index 000000000000..2ab78f7987c9 --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/pc98/Makefile @@ -0,0 +1,21 @@ +# Original Revision: 1.1 +# $FreeBSD$ + +RELN_ROOT?= ${.CURDIR}/../../.. + +DOC?= article +FORMATS?= html +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +# SGML content +SRCS+= article.sgml +SRCS+= ../common/artheader.sgml +SRCS+= ../common/abstract.sgml +SRCS+= ../common/install.sgml +SRCS+= ../common/layout.sgml +SRCS+= ../common/trouble.sgml +SRCS+= ../common/upgrade.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/installation/pc98/article.sgml b/release/doc/zh_CN.GB2312/installation/pc98/article.sgml new file mode 100644 index 000000000000..a1343ca4e8f9 --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/pc98/article.sgml @@ -0,0 +1,31 @@ + + + +%articles.ent; + + +%release; + +%sections; + + + + + + +]> + +
+&artheader; +&abstract; +§.install; +§.layout; +§.upgrade; +§.trouble; +
diff --git a/release/doc/zh_CN.GB2312/installation/sparc64/Makefile b/release/doc/zh_CN.GB2312/installation/sparc64/Makefile new file mode 100644 index 000000000000..5af96148f16f --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/sparc64/Makefile @@ -0,0 +1,19 @@ +# Original Revision: 1.1 +# $FreeBSD$ + +RELN_ROOT?= ${.CURDIR}/../../.. + +DOC?= article +FORMATS?= html +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +# SGML content +SRCS+= article.sgml +SRCS+= install.sgml +SRCS+= ../common/artheader.sgml +SRCS+= ../common/install.sgml +SRCS+= ../common/layout.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/installation/sparc64/article.sgml b/release/doc/zh_CN.GB2312/installation/sparc64/article.sgml new file mode 100644 index 000000000000..25be40c0968e --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/sparc64/article.sgml @@ -0,0 +1,31 @@ + + + +%articles.ent; + + +%release; + %sections; + + + + + + + +]> + +
+&artheader; +&abstract; +§.install; +§.layout; +§.upgrade; +§.trouble; +
diff --git a/release/doc/zh_CN.GB2312/installation/sparc64/install.sgml b/release/doc/zh_CN.GB2312/installation/sparc64/install.sgml new file mode 100644 index 000000000000..38ab6c424999 --- /dev/null +++ b/release/doc/zh_CN.GB2312/installation/sparc64/install.sgml @@ -0,0 +1,566 @@ + + + + Installing &os; + + This text describes how to install and boot the &arch; port. + Users of this port are encouraged to subscribe to the + &a.sparc;. + + + The kernel and userland binaries mentioned below are highly + experimental (for example, the kernel contains some ATA changes + and EEPROM handling code which could potentially be dangerous). + Unless you know what you are doing and are willing to cope with + any damage that might arise, you should probably not be trying + this. + + + Unlike &os;/i386 or &os;/alpha, there is no version of + &man.sysinstall.8; for &os;/&arch;. The installation procedure + consists of loading a kernel (either from CDROM or the network) + onto the &arch; machine, with a root filesystem on CDROM or + exported via NFS. The utilities on the root filesystem can then + be used to partition the local disk on the &arch; machine and + optionally to copy the &os; distribution to the local disk to make + a stand-alone machine. + + Currently, there are two ways to install &os;/&arch; on a new + machine. By far the easier of the two is to install from CDROM; + this method allows you to install &os; without any dependencies on + any other computers. + + If installing from CDROM is impossible or undesirable, the + alternative is to install over the network. This requires another + machine, suitably configured, to serve the boot loader, kernel, + and root filesystem to the new machine, via a combination of + RARP, TFTP, and either BOOTP or DHCP. This netboot server can be + another &os; machine, but is not required to be. + + You will need to decide which of these methods you want to use + for installation, as this will determine the set of files you need + to download (if any), as well as the steps required to do the + installation. + + + + + The URLs in this section are provisional and subject to + change. Please see the archives of the &a.sparc; for the most + recent locations of files. This notice will be removed when + more permanent URLs have been determined. + + + + Getting to the PROM Prompt + + Most &arch; systems are set up to boot automatically from + disk. To install &os;, you need to boot over the network or + from a CDROM, which requires you to break into the PROM + (OpenFirmware). + + To do this, reboot the system, and wait until the boot + message appears. It depends on the model, but should look about + like: + + Sun Blade 100 (UltraSPARC-IIe), Keyboard Present +Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved. +OpenBoot 4.2, 128 MB memory installed, Serial #51090132. +Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4. + + If your system proceeds to boot from disk at this point, you + need to press L1A + or StopA + on the keyboard, or send a BREAK over the + serial console (using for example ~# in + &man.tip.1; or &man.cu.1;) to get to the PROM prompt. It looks + like this: + + + + + + + + ok +ok {0} + + + + This is the prompt used on systems with just one + CPU. + + + + This is the prompt used on SMP systems, the digit + indicates the number of the active CPU. + + + + + + + Preparing for a CDROM Installation + + If you want to do a CDROM installation, an ISO image with a + snapshot of &os;/&arch; can be found at . This file can be used to create a + bootable CDROM which contains everything necessary to boot and + load at least a minimal &os; installation. + + + Place the CDROM into your drive, and break into the PROM as + described above. On the PROM prompt, type boot + cdrom. The system should boot into single-user mode + now, and you can create the disk label and install the base + system archive as described in and . + + + + Preparing for a Network Installation + + A &os;/&arch; kernel is booted by having the firmware + retrieve and execute a loader, which + in turn fetches and executes the actual kernel. For this boot + process, you need to set up &man.rarpd.8; and &man.tftpd.8; (for + the firmware) and &man.bootpd.8; (for the + loader) on another networked system. + The loader can fetch a kernel using TFTP or NFS. All of this is + covered in detail below. + + + Getting the Required Files + + For a network installation, you will need several files. + First, you will need to download a &os;/&arch; loader for + &man.tftpd.8; to serve to your &arch; client. The loader will + use either TFTP or NFS to retrieve the &os; kernel from the + netboot server. There is a separate loader for each of these + methods (i.e. a loader for TFTP and a loader for NFS). You + should download one of the following files, as + appropriate: + + + + + + + + + + + + A network installation also requires a kernel to be served + to the netboot client. A suitable kernel can be found at + . + + + Finally, you will need a &man.tar.1; archive which + contains the binaries and configuration files from the base + system. This file is available from . + + + + + rarpd + + You need to add the Ethernet address of your &os;/&arch; + system to /etc/ethers on the netboot + server. An entry looks like: + + 0:3:ba:b:92:d4 your.host.name + + The Ethernet address is usually displayed in the boot + message. + + Make sure your.host.name is in + /etc/hosts or has a valid DNS entry (or + use an IP address). Then, start &man.rarpd.8; on a network + interface that is on the same subnet as the &os;/&arch; + system. + + + + + tftpd + + Activate &man.tftpd.8; in your &man.inetd.8; + configuration by uncommenting the following line in + /etc/inetd.conf: + + tftp dgram udp wait nobody /usr/libexec/tftpd tftpd /tftpboot + + Copy the unpacked loader to your + /tftpboot directory, and name it with the + &os;/&arch; host's IP address in upper-case hexadecimal + notation without dots (or use appropriately-named symbolic + links). For example, your setup may look like this, for an IP + address of 192.168.0.16: + + lrwx------ 1 tmm users 9 Jul 24 17:05 /tftpboot/C0A80010 -> boot/loader + -rw-r--r-- 1 tmm users 1643021 Oct 20 18:04 /tftpboot/boot/loader + + If you have trouble booting, it is very helpful to use + &man.tcpdump.1; to monitor the TFTP requests. This will allow + you to see the file name you need to use for the loader. + Error replies by the TFTP server are most often due to + incorrect file permissions. + + + + + Setting up bootpd/dhcpd + + You can use either BOOTP or DHCP (both not both) to + provide some parameters to the boot loader, such as a + machine's IP address. If you are using another &os; machine + as a netboot server, the BOOTP functionality is provided by + &man.bootpd.8;, which is a part of the &os; base system. + Several DHCP servers are provided in the &os; Ports + Collection. + + If you are going to use &man.bootpd.8;, create entries for + your &os;/&arch; system in the server's + /etc/bootptab (see &man.bootptab.5; for + more details): + + .default:\ + :bf="kernel":dn=local:ds=name-server-ip-address:\ + :gw=gateway-ip-address:ht=ether:hd="/tftpboot/boot/kernel":hn:\ + :sa="tftp-server-ip-address":\ + :rp="tftp-server-ip-address:nfs-root-directory":\ + :sm=ip-netmask + +name-of-the-entry:\ + ha=sparc64-ethernet-address:ip=sparc64-ip-address:tc=.default + + The Ethernet address must be the same as the one in the + TFTP example above, but it is specified hexadecimal notation + without colons (for the example above, this would be + 0003ba0b92d4). NFS/TFTP specific entries + can be omitted if the given method is not used. The strings + given in the hd and bf + properties are concatenated to give the boot file name. If + your kernel is named differently or you use another directory, + change these values as required. If you are booting using + NFS, remove the bf and + hd settings (or change them to specify the + directory and file inside the NFS root hierarchy in which the + kernel will reside). The name of the host entry is + conventionally the host name without the domain + appended. + + For a DHCP server, add an entry similar to the following + to your dhcpd.conf file. An example + entry for ISC DHCP version 2 + (available in the &os; Ports Collection as net/isc-dhcp2) is shown + below: + + host name-of-entry { + hardware ethernet sparc64-ethernet-address; + option host-name "sparc64-fully-qualified-domain-name"; + fixed-address sparc64-ip-address; + always-reply-rfc1048 on; + filename "kernel"; + option root-path "tftp-server-ip-address:nfs-root-directory"; +} + + The filename option corresponds to the + concatenation of hd and + bf in /etc/bootptab. + The Ethernet address is specified in hexadecimal with colons, + just like in the &man.rarpd.8; example above. + options root-path corresponds to + rp in /etc/bootptab. + If the name given in option host-name is + resolvable, i.e. has a DNS entry or is associated with an + address in /etc/hosts, the + fixed-address specification can be + omitted. + + + + Loading the Kernel + + With the daemons on the netboot server configured, the + next step is to copy the kernel (obtained during the steps of + ) to an appropriate directory. + There are two ways of retrieving a kernel over the network: + TFTP and NFS. (You specified one of these two alternatives by + picking a loader.) + + For both TFTP and NFS, the loader will use the parameters + that it obtained via BOOTP or DHCP to find the kernel. + + + Loading the Kernel over TFTP + + Place the kernel in the directory you specified using + bf and hd in the + /etc/bootptab or the + filename parameter to + dhcpd.conf. + + + + Loading the Kernel over NFS + + Export the directory that was specified by the + rp property in + /etc/bootptab or the + root-path parameter in + dhcpd.conf (see &man.exports.5;). Copy + the kernel to the directory you specified using + bf and hd in the + /etc/bootptab or the + filename parameter to + dhcpd.conf. + + + + + Loading the Base System to the Netboot Server + + You must extract the base system distribution image to the + NFS root directory specified either by the + rp option in + /etc/bootptab or the + root-path option in + dhcpd.conf. This directory tree will + become the &arch;'s root filesystem once the kernel is booted. + Besides providing a normal userland environment, it also + contains all of the necessary utilities for you to install the + distribution on the &arch; client's local disk. + + Using whatever editing tools you have on the netboot + server, you probably will want to edit the &arch;'s + /etc/fstab and + /etc/rc.conf and set a + root password. + + + + Booting + + If all goes well, you can now boot the &os; on your &arch; + machine by dropping into the PROM prompt as described in . Now, just type + boot net and the system should boot. + Specifically, the loader is retrieved via TFTP, it then does a + BOOTP request and will proceed to load the kernel (either + using TFTP or NFS, depending on your choice of loader). Then, + it should wait 10 seconds for user input and proceed to + execute the kernel. + + If something does not work in between, and you suspect + TFTP/NFS/BOOTP problems, Ethereal + (available in the &os; Ports Collection as net/ethereal) is usually helpful. + The most common problems are related to bad file permissions. + Also note that &man.rarpd.8; will not answer to packets under + some circumstances, refer to the manual page for + details. + + + + + Creating a Disk Label + + The kernel supports the Sun disk label format, so you can + label the disks you want to use with &os; from Solaris. + + &os; disk labels must currently be created by hand, as + &man.sysinstall.8; is not yet available on &os;/&arch;. Please + refer to the FreeBSD + Handbook for more information about labels and special + partitions. + + On &os;/&arch;, a Sun compatibility label is embedded in the + &os; label; this is needed for the PROM to boot from disk. This + imposes an additional restriction on the disk label format: + partitions are required to start on a cylinder boundary. + + To create a disk label, the following procedure is the + easiest: + + + + Run disklabel -w -r + device auto to create a + basic disk label. The third argument you need specify here + is just the name of the device, not the complete path to the + device node (e.g. ad0 for the first + ATA disk). + + + + Use disklabel -e + device to open an + editor in which you can edit the disk label. The + information presented to you should look like: + + # /dev/ad6c: +type: unknown +disk: amnesiac +label: +flags: +bytes/sector: 512 +sectors/track: 63 +tracks/cylinder: 16 +sectors/cylinder: 1008 +cylinders: 79780 +sectors/unit: 80418240 +rpm: 3600 +interleave: 1 +trackskew: 0 +cylinderskew: 0 +headswitch: 0 # milliseconds +track-to-track seek: 0 # milliseconds +drivedata: 0 + +8 partitions: +# size offset fstype [fsize bsize bps/cpg] + c: 80418240 0 unused 0 0 # (Cyl. 0 - 79779) + + You can now add new partitions in the same format as the + already present line. Using * in the + offset field makes the procedure easier; please refer to the + &man.disklabel.8; manual page for more information. + + To make sure the restriction mentioned above is met, the + size of each partition must be a multiple of the number of + sectors per cylinder as shown in the information that is + presented in the editor (1008 in the example above). + + When you are done, save your changes and quit the + editor.i This will cause the disk label to be + written. + + + This procedure will overwrite any disk label that may + be already present on the disk. Any existing filesystems + on this disk must have their respective partition entries + in the old and new label match + exactly, or they will be + lost. + + + If you want to double-check that your partitions end on + cylinder boundaries, run disklabel -e + device again. The + editor will display the cylinders used by a particular + partition on the right hand side of the output. If any of + the partitions you defined (i.e. anything except partition + c) shows an * next to + it, the partition does NOT start or end + on a cylinder boundary. You MUST fix + these or your system will not work. + + + + Use disklabel -B if you want to make + the disk bootable for &os;/&arch;. + + + Using disklabel -B on a disk will + overwrite any preexisting boot block, so it will likely + render any other operating system installed on the same + disk unbootable. + + + If you do not want to overwrite the boot block, it is + possible to load the loader via + TFTP as described above, but have it boot the kernel from + disk. This requires a special loader binary, which is + available at + + + + + + Creating the Root Fileystem + + If you want to boot from a local disk, you will need to + create a root filesystem to hold the base system binaries and + configuration files (and optionally other filesystems mounted + in places such as /usr and + /var). + + The kernel contains support for Sun disklabels, so you can + use Solaris disks, which may even be prepared using + newfs under Solaris. NetBSD disk + labels and filesystems are also usable from &os;. + + + Do not run Solaris + fsck on filesystems modified by + &os;. Doing so will damage the file permissions. + + + To create filesystems and to install the base system, boot + from CDROM or via NFS and create a disk label as described in + . + + When booting the first time and you have not entered your + root partition into /etc/fstab yet, you may + need to specify your root partition on the mountroot prompt when + booting (use a format like + ufs:diskpartition, + i.e. leave the slice specification out). If the kernel does + automatically attempt to boot from another filesystem, press a + key other than Enter on the + loader prompt: + + Hit [Enter] to boot immediately, or any other key for command prompt. + + Then, boot the kernel using boot -a -s, + which will cause the kernel to ask you for the root partition + and then boot into single-user mode. Once the root filesystem + has been entered into /etc/fstab, it should + be automatically mounted as / on the next + boot. + + If you are booting over the network (via NFS), the above + BOOTP entries should suffice to have the kernel find and mount + the root filesystem via NFS. + + + + Installing the Base System + + If you booted the kernel from the network, you downloaded a + &man.tar.1; archive with the base system and exported it from + the netboot server via NFS. You can unpack this same archive to + your local disk to create a stand-alone system (remember to copy + the kernel over as well). + + If you booted from CDROM, the same archive is available in + /root/ on the CDROM. + + Before booting the system stand-alone, you will want to edit + /etc/fstab and + /etc/rc.conf and set a + root password. + + Note that some programs from the base system may not be + present in the archive, or may not work properly yet. + + diff --git a/release/doc/zh_CN.GB2312/readme/Makefile b/release/doc/zh_CN.GB2312/readme/Makefile new file mode 100644 index 000000000000..c2d2cf843f81 --- /dev/null +++ b/release/doc/zh_CN.GB2312/readme/Makefile @@ -0,0 +1,27 @@ +# The FreeBSD Simplified Chinese Project +# Original Revision: 1.7 +# +# $FreeBSD$ + +RELN_ROOT?= ${.CURDIR}/../.. +.ifdef NO_LANGCODE_IN_DESTDIR +DESTDIR?= ${DOCDIR}/readme +.else +DESTDIR?= ${DOCDIR}/zh_CN.GB2312/readme +.endif + +DOC?= article +FORMATS?= html +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +# +# SRCS lists the individual SGML files that make up the document. Changes +# to any of these files will force a rebuild +# + +# SGML content +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/readme/article.sgml b/release/doc/zh_CN.GB2312/readme/article.sgml new file mode 100644 index 000000000000..4fcc0bc8fc0c --- /dev/null +++ b/release/doc/zh_CN.GB2312/readme/article.sgml @@ -0,0 +1,408 @@ + + +%articles.ent; + + +%release; +]> + +
+ + &os; &release.current; 自述 + + The &os; Project + + $FreeBSD$ + + + 2000 + 2001 + 2002 + 2003 + 2004 + The &os; Documentation Project + + + + &tm-attrib.freebsd; + &tm-attrib.intel; + &tm-attrib.opengroup; + &tm-attrib.sparc; + &tm-attrib.general; + + + + + 这份文档对 &os; + &release.current; 作了一个简短的介绍, 还包括如何获取 + &os;、&os; + 项目联系的多种方式, 以及一些其他的信息来源。 + + + + 介绍 + + 这个发行版本是 &os; &release.current; 的一个 &release.type;, + 它是 &release.branch; 分支的最新版本。 + + + 关于 &os; + + &os; 是一个基于 4.4 BSD Lite 的操作系统,支持 + DEC/Compaq/HP Alpha/AXP 计算机 (alpha), + 基于 AMD64 和 Intel EM64T 的 PC 硬件 (amd64), + 基于 Intel, AMD, Cyrix 或 NexGen x86 的 PC 硬件 (i386), + 基于 Intel Itanium Processor 的计算机 (ia64), + NEC PC-9801/9821 系列 PC 及其兼容机 (pc98), + 以及 &ultrasparc; 机器 (sparc64)。 + 支持 &powerpc; (powerpc), and &mips; (mips) + 硬件架构的的版本也正在开发中。 + &os; 支持各种各样的外围设备, + 可以胜任软件开发、游戏,以及提供 Internet + 服务等的各式应用。 + + 这个版本的 &os; 包含了运行这样一个系统所需要的每样东西, + 在基本的发行中包含了完整的内核和所有的工具源代码。 + 只要安装了源代码, 您就可以用一条命令从头编译整个系统, + 这对于那些想知道它是如何工作的学生、 + 研究人员或者用户来说非常有用。 + + 包含大量已经移植的第三方软件集合 (Ports + Collection) 让在 &os; 上获取并安装所有您喜欢的传统 &unix; + 工具变得容易。 每个 port + 是一些用一条命令就可以下载、配置、编译并安装软件的脚本。 + 超过 &os.numports; 个 + port,从编辑器到编程语言再到图形应用程序, 让 + &os; 成为一个大大扩展了很多商业 &unix; + 版本所能提供的强大并且通用的操作环境。 大多数 port 也提供了预编译的 + package, 可以用安装程序快速安装。 + + + + 目标用户 + +&release.type; 主要是针对富于冒险精神, + 以及那些希望参与下一步的 &os; 开发的用户。 + 尽管 &os; 开发团队尽最大努力来确保每一个 + &release.type; 能够像所宣传的那样运行, + &release.branch; 仍然处于开发过程中。 + + 使用这个 &release.type; 的基本要求是精通 &os; + 并且理解正在进行的 &os; &release.branch; 开发进程 + (在 &a.current;中讨论)。 + + 对于那些对在商业中使用 &os; 而不是体验新的 &os; + 技术感兴趣的人来说,正式的发行版 + (比如 &release.prev.stable;) 往往更合适。 + 这些版本经历了一定时期的测试和质量保证检测来确保高可用性和可靠性。 + +]]> + +&release.type; 主要目标是有冒险精神的, + 以及想参与正在进行的 &os; 开发的用户。 + 尽管 &os; 开发团队尽最大努力来确保每一个 + &release.type; 能够像所宣传的那样运行, + &release.branch; 仍然处于开发过程中。 + + 使用这个 &release.type; 的基本要求是精通 + &os; 并且理解正在进行的 &os; &release.branch; + 开发进程 (在 &a.current; 中讨论)。 + + 对于那些对在商业中使用 &os; 而不是体验新的 &os; + 技术感兴趣的人来说,正式的发行版 + (比如 &release.prev.stable;) 往往更合适。 + 这些版本经历了一定时期的测试和质量保证检测来确保高可用性和可靠性。 + +]]> + +&os; 的这个 &release.type; 适用于所有用户。 + 它经历了一定时期的测试和质量检测来确保最高的可用性和可靠性。 + +]]> + + + + + + 获取 &os; + + &os; 可以通过各种方式得到。 + 这一节关注那些可以获取完整的 &os; 发行版本的主要方式, + 而不是升级已经装好的系统。 + + + CDROM 和 DVD + + &os; -RELEASE 发行版本可以从几个发行商那里以 CDROM 或者 DVD + 的形式订购。 对于全新安装来说, 这通常是获取 &os; 最方便的方式, + 因为它提供了在必要时快速地重新安装系统的方法。 + 一些发行版本包含了一些来自 &os; Ports Collection 的可选的、 + 预编译的 package + + 一个已知的 CDROM 和 DVD + 发行商列表列在使用手册的 Obtaining + &os; 中。 + + + + FTP + + 您可以使用 FTP 来从 下载 &os; + 以及所有的可选软件包,这是官方的 &os; 发行站点,或者从任何一个 + 镜像 下载。 + + &os; 的镜像列表可以在使用手册的 + FTP + 站点一节, 或者在 网页上找到。 + 强烈推荐您从其中离您最近 (以网络的观点) + 的镜像来下载发行版本。 + + 我们非常欢迎您建立新的镜像站点。 联系 + freebsd-admin@FreeBSD.org 了解成为官方镜像站点的更多细节。 + 也可以在如何为 &os; 做镜像站点 + 这篇文章中找到关于镜像站点的更多有用的信息。 + + 镜像通常包含启动安装程序所必需的软盘镜像, + 以及安装进程本身所需要的发行版本文件。 + 许多镜像也包含创建 &os; 发行 CDROM 的必要的 ISO 镜像。 + + + + + + 联系 &os; 项目 + + + 电子邮件和邮件列表 + + 有任何问题或者基本的技术支持,请发送邮件到 + &a.questions;。 + + 如果您正在跟随 &release.branch; 的开发过程, 您 + 必须 加入 &a.current;, + 以便及时了解可能影响您使用和维护系统方式的最新进展。 + + &os; 很大程度上是一个志愿者项目, + 它非常欢迎来自更多人的帮助 —— + 来完成那些希望完成而没有时间加以完成的改进。 + 要联系开发者讨论技术问题, 或提供帮助, + 请发送邮件到 &a.hackers;。 + + 请注意这些邮件列表都可能有 + 可观的 通信量。 + 如果您访问邮件很慢或很昂贵, 或者您只对及时了解主要的 + &os; 活动感兴趣, 订阅 + &a.announce; 可能更合适。 + + 所有的邮件列表都可以如人们希望的那样自由加入。 + 请访问 + FreeBSD Mailman 信息页。这里会提供有关加入各种列表、 + 访问存档等等的更多信息。 + 还有很多针对特定的兴趣群体的邮件列表在这里没有提及, + 可以从 Mailman 页面或者 &os; Web 站点的 邮件列表 + 一节获得更多信息。 + + + 不要 发送邮件到列表要求订阅。 + 请使用 Mailman 界面来完成订阅。 + + + + + 提交问题报告 + + 建议,bug 报告和代码捐献永远是有价值的 + —请不要犹豫是否报告您可能会发现的任何问题。 + 当然附带了修正的 bug 报告会更受欢迎。 + + 从一台能够收发 Internet 邮件的主机提交 bug + 报告的首选方法是使用 &man.send-pr.1; 命令。 + 用这种方式提交的问题报告(PR)会被归档并跟踪进度, + &os; 开发者会尽最大努力尽快地对所有报告的 bug 做出反应。 + 所有尚未完全解决的 PR 列表可以在 &os; Web 站点上找到, + 这个列表可以用于查看其它用户可能遭遇的问题。 + + 注意 &man.send-pr.1; 本身是一个 shell 脚本, + 因此很容易把它移植到非 &os; 系统上。 + 极力推荐使用这个界面。 如果因为一些原因不能使用 + &man.send-pr.1; 来提交 bug 报告,您可以尝试把它发送到 + &a.bugs;。 + + 要了解更多的信息,&os; Web 站点上的 + 撰写 FreeBSD 问题报告对撰写并提交有效的错误报告有很多有用的提示。 + + + + + 进一步阅读 + + 有很多关于 &os; 的信息资源,一些包含在发行版中, + 另一些则以在线或印刷版本的方式提供。 + + + 发行文档 + + 许多其它的文档提供了有关这个 &release.type; + 发行版本的更加详细的信息。这些文件提供了各种各样的格式。 + 大多数发行版本会包含 + ASCII 文本 (.TXT) 和 HTML + (.HTM) 格式。有一些发行版本也可能包含其它的格式, + 比如 PostScript(.PS)或者可移植文档格式 + (.PDF)。 + + + + README.TXT:这个文件提供了有关 + &os; 的一些简要的信息, + 还有一些有关获取发行版本的粗略的注解。 + + + + EARLY.TXT: 为从 + &os; 4.X 迁移到 + &os; 5.X + 系列发行版的新用户准备的指南。 + + + + RELNOTES.TXT:发行说明, + 展示了与前一版本 (&os; &release.prev;) 相比在 + &os; &release.current; 中的创新和区别。 + + + + HARDWARE.TXT:硬件兼容列表, + 展示了 &os; 已经测试并已知可以使用的设备。 + + + + INSTALL.TXT:用于从发行介质安装 + &os; 的安装说明。 + + + + ERRATA.TXT:发行勘误。 + 提供新近发现的、 发行之后发现的问题等信息, + 主要适用于发行版本(相对于 snapshot)。 + 在安装 &os; 的一个 release 之前参考这个文件是非常重要的, + 因为它包含了自从 release + 创建以来发现并修正问题的最新的信息。 + + + + + 这几个文档(特别是, + RELNOTES.TXT、 + HARDWARE.TXT 和 + INSTALL.TXT) 包含了对特定硬件体系的信息。 + 比如,alpha 发行说明会包含了不适用于 &i386; 的信息, + 反之亦然。 每篇文档适用的体系结构会在文档的标题处列出。 + + + + + 在支持 &man.sysinstall.8; 的平台上 (目前有 + alpha、&i386;、ia64、pc98 还有 &sparc64;), + 这些文档在安装时都可以通过 Documentation 菜单访问。 + 一旦系统已经安装,您可以通过重新运行 + &man.sysinstall.8; 工具来重新访问菜单。 + + + 在安装您拿到的任何发行版之前阅读勘误是非常重要的, + 它能帮助您了解那些在发布工程 + 后期发现的 以及发布之后发现的问题。 + 随每个发行自带的勘误文件总是不够精确的, + 但是其它的副本会通过 Internet 保持更新并作为 + 这个发行的 最新勘误 参考。 + 这些其它的勘误副本放在 + + (还有保持更新的任何镜像站点的同一位置)。 + + + + + 联机手册 + + 像所有的类 &unix; 操作系统一样,&os; 附带一套在线联机手册, + 可以通过 &man.man.1; 命令或者通过 &os; Web 站点上的超文本联机手册网关 + 访问。 一般情况下,联机手册为 &os; + 用户提供不同命令和 API 的信息。 + + 有时,联机手册还提供特定主题的信息。 + 一个不太恰当的例子就是 &man.tuning.7; (性能调整向导)、 + &man.security.7; (&os; 一个关于安全的介绍) 还有 + &man.style.9; (内核代码规范指南)。 + + + + 书籍和文章 + + 两个由 &os; 项目维护的非常有用的 &os; 相关的信息集合, + 是 &os; 使用手册和 &os; FAQ (频繁被问到的问题)。 使用手册 + 和 FAQ + 的在线版本可以从 FreeBSD + 文档页面 或者它的镜像上得到。 如果安装了 + doc 发行集, 则可以在本地使用 Web + 浏览器来阅读使用手册和 FAQ。 + + 许多在线书籍和文章也由 &os; 项目维护, 涵盖了更专业的、&os; + 相关的主题。 这些文章题材广泛,从邮件列表的有效使用到双重启动 + &os; 和其它操作系统,再到给新 committer 的指南。 + 同使用手册和 FAQ 一样,这些文档可以从 &os; + 文档页面或者 doc + 分类中得到。 + + 有关 &os; 的其它书籍和文档的列表可以在 &os; 使用手册的参考书目 + 一章找到。由于 &os; 固有的 &unix; 传统, + 许多为 &unix; 系统撰写的文章和书籍也是适用的, + 其中一些也被列在参考书目中。 + + + + + 感谢 + + &os; 有全世界的成百上千的人工作无数个小时才带来这个 + &release.type;。要查看 &os; 开发者和捐献者的完整列表,请查看 + &os; Web 站点或者任何一个镜像站点上的 &os; + 捐献者 + + 在此也要特别感谢众多的 &os; 用户和全世界的测试人员, + 没有他们就根本不会有这个 &release.type;。 + +
+ + diff --git a/release/doc/zh_CN.GB2312/relnotes/Makefile b/release/doc/zh_CN.GB2312/relnotes/Makefile new file mode 100644 index 000000000000..7858ebaeb18c --- /dev/null +++ b/release/doc/zh_CN.GB2312/relnotes/Makefile @@ -0,0 +1,16 @@ +# The FreeBSD Simplified Chinese Project +# Original Revision: 1.6 +# +# $FreeBSD$ + +RELN_ROOT?= ${.CURDIR}/../.. + +SUBDIR = alpha +SUBDIR+= amd64 +SUBDIR+= ia64 +SUBDIR+= i386 +SUBDIR+= pc98 +SUBDIR+= sparc64 + +.include "${RELN_ROOT}/share/mk/doc.relnotes.mk" +.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/release/doc/zh_CN.GB2312/relnotes/Makefile.inc b/release/doc/zh_CN.GB2312/relnotes/Makefile.inc new file mode 100644 index 000000000000..29d07c92d670 --- /dev/null +++ b/release/doc/zh_CN.GB2312/relnotes/Makefile.inc @@ -0,0 +1,10 @@ +# The FreeBSD Simplified Chinese Project +# Original Revision: 1.2 +# +# $FreeBSD$ + +.ifdef NO_LANGCODE_IN_DESTDIR +DESTDIR?= ${DOCDIR}/relnotes/${.CURDIR:T} +.else +DESTDIR?= ${DOCDIR}/zh_CN.GB2312/relnotes/${.CURDIR:T} +.endif diff --git a/release/doc/zh_CN.GB2312/relnotes/alpha/Makefile b/release/doc/zh_CN.GB2312/relnotes/alpha/Makefile new file mode 100644 index 000000000000..3bbd40a32f87 --- /dev/null +++ b/release/doc/zh_CN.GB2312/relnotes/alpha/Makefile @@ -0,0 +1,19 @@ +# Original Revision: 1.6 +# $FreeBSD$ + +RELN_ROOT?= ${.CURDIR}/../../.. + +DOC?= article +FORMATS?= html +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +JADEFLAGS+= -V %generate-article-toc% + +# SGML content +SRCS+= article.sgml +SRCS+= ../common/relnotes.ent +SRCS+= ../common/new.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/relnotes/alpha/article.sgml b/release/doc/zh_CN.GB2312/relnotes/alpha/article.sgml new file mode 100644 index 000000000000..9177748cb446 --- /dev/null +++ b/release/doc/zh_CN.GB2312/relnotes/alpha/article.sgml @@ -0,0 +1,22 @@ + + + + +%articles.ent; + + +%release; + +%sections; + + + + + + +]> + +
+ &art; +
diff --git a/release/doc/zh_CN.GB2312/relnotes/amd64/Makefile b/release/doc/zh_CN.GB2312/relnotes/amd64/Makefile new file mode 100644 index 000000000000..fa21257f0f08 --- /dev/null +++ b/release/doc/zh_CN.GB2312/relnotes/amd64/Makefile @@ -0,0 +1,19 @@ +# Original Revision: 1.1 +# $FreeBSD$ + +RELN_ROOT?= ${.CURDIR}/../../.. + +DOC?= article +FORMATS?= html +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +JADEFLAGS+= -V %generate-article-toc% + +# SGML content +SRCS+= article.sgml +SRCS+= ../common/relnotes.ent +SRCS+= ../common/new.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/relnotes/amd64/article.sgml b/release/doc/zh_CN.GB2312/relnotes/amd64/article.sgml new file mode 100644 index 000000000000..121d20ed8267 --- /dev/null +++ b/release/doc/zh_CN.GB2312/relnotes/amd64/article.sgml @@ -0,0 +1,22 @@ + + + + +%articles.ent; + + +%release; + +%sections; + + + + + + +]> + +
+ &art; +
diff --git a/release/doc/zh_CN.GB2312/relnotes/common/new.sgml b/release/doc/zh_CN.GB2312/relnotes/common/new.sgml new file mode 100644 index 000000000000..7c27e7dd4ce8 --- /dev/null +++ b/release/doc/zh_CN.GB2312/relnotes/common/new.sgml @@ -0,0 +1,1669 @@ + + + &os;/&arch; &release.current; 发行说明 + + The &os; Project + + $FreeBSD$ + + + 2000 + 2001 + 2002 + 2003 + 2004 + The &os; Documentation Project + + + + &os; &release.current; 的发行说明包括了自 &release.prev; 以来 + &os; 基本系统所进行的改动的总结。 + 这份文档列举了对上一发行版本适用的所有安全公告,以及 + &os; 内核和用户程序所作的重要修改。 + 对于升级时需要注意的一些问题,也进行了简略的介绍。 + + + + + 简介 + + 这篇文档包括了在 &arch.print; 硬件平台上 &os; + &release.current; 的发行说明。 它描述了最近刚刚加入、修改或删除了的 + &os; 特性的说明。 同时,它也将给出如何从先前的 &os; 版本完成升级的说明。 + +这份 &release.type; 版本是正在进行开发的 &release.branch; + 分支在 &release.prev; 和未来的 &release.next; 之间的一个快照。 + 预先编译好的 &release.type; 安装包可以在 + 找到。 + +]]> + +这是一份 &os; &release.current; 的 + &release.type; 发布包。 您可以从 或其他镜像那里得到它的副本。 + 关于这个 (或其他) &release.type; 发布包的更多信息,可以在 + &os; 手册 + 中的 Obtaining + &os;附录 中找到。 + +]]> + + 我们鼓励所有的用户在开始安装 &os; 之前首先参考这一版本所对应的勘误信息。 + 勘误文档将随时更新,以便为用户提供在发布工程后期或该版本发布之后 + 新发现的 问题和相关信息。 + 通常,这包括已知的 bug,安全公告,以及对于文档的修订内容。 + 最新的 &os; &release.current; 勘误信息可以从 &os; 网站获得。 + + + + + 最新变动 + + 这一节描述了 + &os; 自 &release.prev; 以来最明显的新功能和变化。 + 一般说来, 没有注明 &merged; 的那些新特性是 &release.branch; 所独有的。 + + + 发行说明中的绝大多数条目是在说明自从 + &release.prev.historic; + 以来的安全公告、新的驱动程序或硬件支持、新的命令或是选项、 + 重要的错误修补,以及基本系统中来自第三方的软件升级。 + 重要的 ports 和 packages 变动,或关于交付工程的变动也会在这份文档中体现。 + 显而易见地,发行说明不可能涵盖 &os; 版本之间的每一个微小变动; + 这篇文档主要关注的,仍然是安全公告,用户可以察觉的修改, + 以及重要的架构改良。 + + + 安全公告 + + 在 &man.mksnap.ffs.8; 中的一处缺陷被改正; + 这一缺陷会导致创建快照时将文件系统的权限标记值 (flags) 恢复到默认状态。 + 上述问题可能引发的后果与如何利用这一缺陷有关,但它至少可以被用来绕过基于扩展访问控制表的安全机制, + 以及在不应受信任的文件系统上启用 setuid 支持。 + 这一问题也会影响 &man.dump.8; 的 + 选项,因为它也会使用 &man.mksnap.ffs.8;。 + 需要说明的是, &man.mksnap.ffs.8; 在通常情况下只有超级用户和 + operator 组的成员才能够使用。 + 关于这一问题的详情,请参考安全公告 FreeBSD-SA-04:01 + + 修正了一个 System V 共享内存接口 + (特指 &man.shmat.2; 系统调用) 的问题。 + 这一问题会导致共享内存段引用到未分配的内核内存。 + 于是,这将导致本地的攻击者在没有得到授权的情况下访问一部分内核内存, + 其结果是可能会泄露一些敏感信息,绕过访问控制机制,或导致特权提升。 + 关于这一问题的详情,请参考安全公告 FreeBSD-SA-04:02。 + &merged; + + 修正了 &man.jail.attach.2; 系统调用中的一处编码失误。 + 这个失误有可能允许在 &man.jail.8; 环境中以超级用户身份运行的进程修改其根目录到另一个 + jail 中,进而获得在那个 jail 中的完全读写权限。 + 关于这一问题的详情,请参考安全公告 FreeBSD-SA-04:03 + + 通过限制同一时间段内允许的错位分片数目,一种潜在的针对 &os; + TCP 协议栈的非对称带宽拒绝服务攻击得以避免。 + 关于这一问题的详情,请参考安全公告 FreeBSD-SA-04:04。 + &merged; + + OpenSSL 的 SSL/TLS + ChangeCipherSpec 消息处理过程中的一个问题可能导致对零指针的操作, + 现在已经得到纠正。 这一问题可能引致远程攻击者发动攻击并导致采用 + OpenSSL 的应用程序崩溃,从而完成拒绝服务攻击。 + 关于这一问题的详情,请参考安全公告 FreeBSD-SA-04:05。 + &merged; + + 修正了一处 &man.setsockopt.2; 系统调用在处理某些 IPv6 socket + 选项时的编程疏忽。 这一问题使得本地的攻击者能够引发系统 panic, + 并且,还有可能在未经授权的情况下访问内核内存的某些部分, + 这可能造成敏感信息的泄漏、绕过访问控制机制,或导致特权提升。 + 关于这一问题的详情,请参考安全公告 FreeBSD-SA-04:06 + + 修正了 CVS 中的两处程序设计缺陷。 + 这些缺陷能够导致服务器覆盖客户机上的任意文件,以及允许客户机在访问远程代码库的过程中读取服务器上的任意文件。 + 关于这一问题的详情,请参考安全公告 FreeBSD-SA-04:07。 &merged; + + 修正了 Heimdal 中对于默认的跨域验证没有实施有效的检查的问题。 + 关于这一问题的详情,请参考安全公告 FreeBSD-SA-04:08。 &merged; + + 修正了 CVS 允许恶意的客户覆盖服务器任意部分的问题。 + 关于这一问题的详情,请参考安全公告 FreeBSD-SA-04:10。 &merged; + + 修正了 &man.msync.2; 系统调用中的一个潜在的与 + MS_INVALIDATE 操作有关的缓存一致性破坏问题。 + 不过,修复这一安全问题的负面影响是, MS_INVALIDATE + 不再保证该范围内所有页都失效。 + 对于不担心这一安全问题, 且希望保持原先的 MS_INVALIDATE + 语义的用户可以考虑将 vm.old_msync sysctl 设置为 1 + 来还原先前的 (同时也是不安全的) 行为。 + 关于这一问题的详情,请参考安全公告 FreeBSD-SA-04:11。 &merged; + + 修正了 &man.jail.2; 系统调用中的一处程序设计失误。 + 这一问题可能导致 jail 外面的进程修改 jail 中的路由表。 + 关于这一问题的详情,请参考安全公告 FreeBSD-SA-04:12。 &merged; + + 修正了在处理某些 Linux 系统调用时没有进行有效的验证而导致的访问任意内存范围的问题。 + 关于这一问题的详情,请参考安全公告 FreeBSD-SA-04:13。 &merged; + + 通过将 CVS 升级到 1.11.17, + 修正了 CVS 中可能导致信息泄露、 + 拒绝服务, 或执行任意代码的一系列程序设计问题。 + 要了解更详细的信息, 请参见安全公告 FreeBSD-SA-04:14 + + 修正了 CONS_SCRSHOT &man.ioctl.2; + 中的一处问题; 这个问题可能导致未授权的对内核内存的访问, + 而这种访问可能会导致泄露敏感信息、 绕过访问控制机制, + 或导致特权提升。 + 要了解更详细的信息, 请参见安全公告 FreeBSD-SA-04:15 + + + + 对于内核的改动 + + 加入并默认启用了 ADAPTIVE_MUTEXES。 + 当另一个 CPU 上运行的线程拥有某个 mutex 时, + 这将让受阻的 mutex 自旋。 + 如果要关闭这个特性, 则需要设置内核选项 + NO_ADAPTIVE_MUTEXES + + 新增了 ADAPTIVE_GIANT, + 它使得启用了自适应 mutex 时,内核全局锁 (Giant) + 也以自适应 mutex 的方式处理。 这可以改善 SMP 机器的性能, + 并在 i386 上默认启用。 + + &man.bus.dma.9; 接口新增了加载缓冲时对于 DMA tag + 中的对齐和边界限制的透明识别支持, + 而 bus_dmamap_load() + 将在需要时自动使用弹回缓冲。 + 此外, 还增加了一组用于 &man.bus.dma.9; 统计的 + sysctl hw.busdma.* + + 重新实现了 &man.contigmalloc.9; + 并采用了一种在执行程序时无论压力大小都能更好地工作的算法。 + 原先的算法可以通过设置 sysctl vm.old_contigmalloc + 来启用, 具体情况在 &man.contigmalloc.9; 联机手册中有所介绍。 + + &man.devfs.5; 路径规则现在可以在目录中正常工作了。 + + 删去了 &man.getvfsent.3; API。 + + 去掉了 loader 变量 hw.pci.allow_unsupported_io_range + + &man.jail.2; 目前可以支持从 jail 中使用 raw sockets 了。 + 默认情况下,这一功能处于关闭的状态,可以通过 + security.jail.allow_raw_sockets sysctl 来控制。 + + &man.kqueue.2; 新增了一种叫做 + EVFILT_FS 的过滤器支持, + 它可以用信号将一般的文件系统事件传达给用户进程空间。 + 目前, mount, unmount, 以及 NFS 的 up/down + 可以使用信号传递。 + + KDB, 一个新的调试器框架, 被加入进来。 + 这包括一个被重写以支持线程、 RLE 压缩等功能的全新 GDB 后端, + 而前端则提供了可以配置多个不同调试器后端的框架, + 并为这些后端提供基本服务。 此外修改了下述选项: + + + + KDB 可以通过内核选项 options KDB、 + options GDB 以及 options DDB + 来默认地启用。 + DDB 和 + GDB 用于指定使用哪一个 KDB 后端。 + + + + WITNESS_DDB 改名为 + WITNESS_KDB + + + + DDB_TRACE 改名为 + KDB_TRACE + + + + DDB_UNATTENDED 改名为 + KDB_UNATTENDED + + + + SC_HISTORY_DDBKEY 改名为 + SC_HISTORY_KDBKEY + + + + 去掉了 DDB_NOKLDSYM。 + 新的 DDB 后端支持连接前符号的查找, + 并能够查找 KLD 的符号。 + + + + 去掉了 GDB_REMOTE_CHAT。 + 修改了 GDB 协议以适应 &os; 的需要。 + 同时, GDB 也包括了控制台输出。 + + + + KDB 同时还作为任何需要使用调试功能代码的统一枢纽, + 例如进入调试器, 或处理后备的 break 序列。 + 基于这样的原因, 前端不再是可选的。 + 只要可能, 所有的调试器请求都会被转发或交给当前的后端来进行处理。 + 可以通过 + debug.kdb.current sysctl 来选择当前使用的后端。 + 已经配置好的后端列表可以通过 + debug.kdb.available sysctl 得到。 + 另外, 可以通过写 + debug.kdb.enter sysctl 来进入调试器。 + + 增加了新的 sysctl debug.kdb.stop_cpus。 + 这可以控制在进入调试器时是否发出 IPI (处理器间中断), + 以便在调试时停止它们的运行。 + + amd64 上的动态内核模块已处于可用状态, + 在编译时默认开启。 + + 增加了初步的用于在 amd64 上运行 32-位 + Linux 程序的支持。 这可以通过 + COMPAT_LINUX32 内核选项来启用。 + + 增加了 MAC_STATIC, 这一内核选项用于在动态加载和卸载 MAC + 规则时禁止内部 MAC Framework 同步保护。 + + &man.mac.bsdextended.4; 策略现在支持只有在全部规则匹配时才匹配并应用第一个策略。 + 这一特性可以通过新的 sysctl + mac_bsdextended_firstmatch_enabled 来启用。 + + &man.mac.bsdextended.4; 策略能够在 syslog 的 + AUTHPRIV facility 中记录失败尝试了。 + 这一特性可以通过新的 sysctl + mac_bsdextended_logging 来启用。 + + mbuma 取代了 mballoc, 这是一个基于 UMA 框架之上的扩展 Mbuf 和 Cluster 分配系统。 + 这一变动使得不再需要 NMBCLUSTERS 。 + clusters 的最大数目依然取决于 maxusers, + 但如果在启动时将 kern.ipc.nmbclusters 设置为零, + 则可以让其不受限制。 + + /dev/kmem/dev/mem、 + 以及 /dev/io + 现在可以作为内核可加载模块来使用了。 + + 修正了 &man.mmap.2; 在将内存页标记为 PROT_NONE + 时仍然可能在特定情况下被读取的问题。 &merged; + + 增加了新的内核选项 MP_WATCHDOG, + 它可以将系统中的一个逻辑 CPU 作为一个专用的 + watchdog 来使用。 一旦内核停止响应, 它将进入调试器或产生一个 + NMI (不可屏蔽中断)。 + 提供了许多 sysctl 用于在处理器的 idle 线程中启用 watchdog; + 而一个 callout 将在 watchdog 中复位计数器。 + 如果十秒之内 callout 仍然没有复位计数器, + 则超时进程将启动。 + debug.watchdog_cpu + sysctl 可以用来选择执行 watchdog 的 CPU。 + + 增加了 debug.leak_schedlock + sysctl。 这将让泄漏了 sched 锁的 sysctl 处理过程在锁上自旋以触发 + MP_WATCHDOG 选项所提供的 watchdog。 + + 增加了加载器选项 debug.mpsafenet 并默认开启。 + 这将使 &os; 的网络协议栈在不使用 + Giant 的条件下执行, + 从而通过提高并行度和减少网络处理延迟来达到提高性能的目的。 + 请注意如果启用了 &man.ng.tty.4; + Netgraph 节点类型、 KAME IPsec、 以及 IPX/SPX + 子系统中的任何一个都将导致启动时使用采用 Giant 的网络操作, + 如果在运行时加载它们则将会有警告说明这些组件需要 Giant + 锁才能够正常工作。 + + 增加了新的内核选项 NET_WITH_GIANT。 + 这将还原 debug.mpsafenet 的默认值 + 0, 它主要用于编译已知的非线程安全的组件, + 或需要更为保守的配置的情形。 + + 增加了新的加载器变量 debug.mpsafevm。 + 目前设置它将使填零缺页在绝大多数时候以无 Giant 的形式运行。 + + 增加了新的内核选项 + PREEMPTION。 + 它使得内核中的线程能够被优先级更高的线程抢占。 + 这有助于改善交互性, 并允许中断线程更早地执行而不是等待。 + + 在 dev sysctl 中加入了一层 devclass 以支持按分层可变的设备变量。 + 这样, dev.foo0.bar 现在应改作 dev.foo.0.bar, + 同时,使用 dev.foo.bar 也成为可能。 + + 新增了 sysctl, kern.always_console_output + 可以用来控制内核是否把所有输出放到 + TIOCCONS + + 加入了一个用于检测当前使用的调度器名称的 kern.sched.name + sysctl。 考虑到一致性, kern.quantum sysctl + 被改名为 kern.sched.quantum + + &man.pci.4; 总线资源和电源管理进行了更新。 + + + 虽然 &man.pci.4; 总线电源状态管理默认启用, + 它可能在一些系统上引发问题。 可以通过将 + hw.pci.do_powerstate 设置为 + 0 来禁止它。 + + + + 加入了作为附加调度器的 ULE 调度器。 + 请注意被称为 4BSD 的那个传统的调度器仍然是 GENERIC + 内核的默认调度器。 对于一般用户来说, + 已经有很多反馈认为在很多情况下操作系统的交互性得到了改善。 + 这意味着系统忙时交互式应用程序中 跳跃颠簸 + 的现象变得更少。 这并不是说在磁盘子系统超载时的问题得以避免, + 但在 CPU 超载时确实有很大的改善。 对于 SMP 的机器, + ULE 提供了 CPU 独立运行队列来支持 CPU 附着、 CPU 绑定, + 以及高级的超线程支持, 同时也提供了未来进行进一步优化的框架。 + 随着内核细粒度上锁的持续进行, 这个调度器将能够更有效地利用可用的并行资源。 + + &man.vm.map.findspace.9; 中使用的线性查找算法已经为映射项 + splay 树上的 O(log n) 算法所取代。 + 这显著地减少了 &man.vm.map.findspace.9; 在使用了成百或上千个 + &man.mmap.2; 区域的应用程序中所需要的开销。 + + 加载器变量 debug.witness_* + 的名字被改为 debug.witness.* + + + + &os; 的动态和静态连接器加入了线程本地存储 (TLS) 的支持, + 这是一个 GCC 特性, + 通过加入 __thread 修饰符来声明全局和静态变量。 + 这个修饰符表示那个变量的值是线程本地的; + 一个线程改变它的值时, 不会影响到其他任何一个线程。 + + 内核中的文件描述符分配代码进行了更新,它派生于与 OpenBSD 类似的代码。 + + 在 &os;/sparc64 上, time_t + 由 32-位 改为 64-位。 + + + 由于这一变动不是向前兼容的,因此旧有系统上使用 32-位 + time_t 构建的,或调用了处理 + time_t 值的系统调用的程序,都必须重新编译。 + 关于如何从源代码完成升级的更详细信息在 + /usr/src/UPDATING.64BTT 中有所说明。 + + + + 现在可以使用 Intel C/C++ Compiler (可以通过 lang/icc port 安装) 来编译 &os;/i386 + 内核了。 + + + 引导区和 loader 的变化 + + 加入了支持串口控制台的 + boot0 版本。 可以通过 &man.boot0cfg.8; + 并使用 /boot/boot0sio + 将其写入磁盘。 + + cdboot 绕过了由于 BIOS + 问题导致某些系统无法从 USB 光驱启动的问题。 + + + + + + + 硬件支持 + + 增加了用于利用由 ACPI 控制的、类似热键和 LED 等硬件功能的驱动程序 + &man.acpi.asus.4; 以配合 ASUSTek 笔记本。 + + 增加了用于支持 Panasonic 笔记本电脑热键的 + &man.acpi.panasonic.4; 驱动。 目前它支持 + Let's note (在日本以外的地区是 Toughbook) CF-R1N、 CF-R2A、 以及 + CF-R3。 + + 增加了使用 Toshiba 的硬件控制接口以利用其硬件功能的 &man.acpi.toshiba.4; + 驱动程序以配合 Toshiba 笔记本, 例如视频输出切换。 + + 增加了 &man.acpi.video.4; 驱动程序,以便通过 ACPI 视频扩展来控制视频切换以及背光亮度。 + + 新的 &man.acpi.4; 驱动程序能够支持设备相关的 sysctl +(例如, dev.root0.nexus0.acpi0.acpi_lid0.wake) + 以便让用户设置是否允许某一个具体的设备唤醒系统。 + + 更新了 &man.acpi.4; 驱动,在已知有问题的 BIOS 上自动禁止 ACPI。 + 可以通过调整 loader 参数 + hint.acpi.0.disabled0 + 来关闭这一变化。 + + &man.agp.4; 驱动增加了对 AMD64 图形 + aperture 重定位表 (GART) 的支持。 + + 增加了用于 Cronyx Tau 同步串行适配器的 &man.ctau.4; 驱动。 + &os; 正式接纳它之前, ct 已经为人们所熟知。 &merged; + + + 这一驱动的名字发生了变化,但网络接口仍然沿用了 + ct 的名字。 + + + + 加入了用于 Cronyx Tau-PCI 同步串行适配器的 &man.cp.4; 驱动。 + + 由于无法适应新的系统,这一版本中删去了 dgb + (DigiBoard 智能串行卡) 驱动。 + 取代它的是 &man.digi.4; 驱动。 + + 重写了 &man.nmdm.4; 以提高其可靠性。 + + 删去了 raid(4) 驱动 + (来自 NetBSD 的 RAIDframe 磁盘驱动)。 + 它目前无法正常运行, 而且需要大量的工作使其能够与 + 5-STABLE 的 &man.geom.4; API 协调工作。 + + GENERIC 内核删去了 + &man.pcic.4; 驱动, 因为它已经不再维护了。 + 这一选项已经被注释掉很久了。 + + &man.psm.4; 和 &man.moused.8; 驱动现在支持 + Synaptics TouchPad 了。 + + 随机数生成设备 &man.random.4; 现在支持 + VIA C3 Nehemiah (Stepping 3 或更高) CPU 上的硬件随机数发生器 (RNG) 了。 + + &man.sab.4; 可以支持 + BREAK_TO_DEBUGGER 内核选项了。 + + 加入了用于支持 Specialix I/O8+ 和 I/O4+ 智能多口串行控制器的 + sx 驱动。 + + 从 GENERIC 中删除了 tga + 驱动, 因为它需要大量的修改才能在启动时不到止内核崩溃。 + 建议使用串口控制台或普通的 + vga 卡来临时替代它。 + + Support for TurboLaser class machines has been + removed. + + 加入了针对 &man.uart.4; 设备 + hw.uart.console 以及 + hw.uart.dbgport 的内核环境变量。 + 他们可以被用来选择串行控制台和调试所使用的端口及其属性。 + + 增加了 &man.ubser.4; 设备驱动以支持 + BWCT 控制台管理串行适配器。 + + 增加了用于 Cypress CY7C637xx 和 CY7C640/1xx 系列 USB 到 RS232 + 桥的 &man.ucycom.4; 驱动, 使用它们的硬件包括 DeLorme Earthmate USB GPS + 接收器 (这是这个驱动目前支持的唯一设备)。 这一驱动程序目前并不完整, + 目前它还没有提供流量和输出控制。 + + 删除了很多用于旧的 ISA 卡的驱动程序, + 这其中包括, + 用于支持基于 GI1904 的手持式扫描仪的 asc 驱动, + 用于支持 CORTEX-I Frame Grabber 的 ctx 驱动, + 用于支持 National Instruments AT-GPIB 和 AT-GPIB/TNT 板的 gp 驱动, + 用于支持 Genius GS-4500 手持式扫描仪的 gsc 驱动, + 用于支持 DEC EtherWORKS II 和 III 以太网控制器的 le 驱动, + 用于支持基于 RealTek RTL 8002 的便携式以太网适配器的 rdp 驱动, + 用于支持 Creative Labs Video Spigot 视频采集卡的 spigot 驱动, + 用于支持 Stallion Technologies 多口串行控制器的 stlstli 驱动, + 以及用于支持 Archive/Wangtek 磁带机的 wt 驱动。 + 这些驱动程序目前都无法正常工作,而且需要相当多的改动才能够让它们在 + 5-CURRENT 新的 API 中正常工作。 + 用于支持它们的 ioctl 以及工具如 + sascsgsc + 也一并删去了。 + + 设备驱动的基础结构 (以及许多驱动程序) 进行了改进。 + 这些改进中最重要的部分包括: 更多的驱动程序现在使用自动分配的 major numbers + (过去是静态的)。 此外,对于伪-设备克隆的功能也进行了加强。 + 另外,还有一些对于驱动程序 API 的修改,这包括在 struct + cdevsw 中增加 d_version 字段。 + 需要注意的是,第三方驱动程序需要重新编译才能够使用。 + + + 多媒体支持 + + meteor (视频捕捉卡) + 驱动由于无法使用以及无人维护而被删去。 + + 直接渲染管理器 (DRM) 代码进行了更新, + 目前的版本是来自 the DRI Project CVS 2004 年 5 月 26 日的快照版本。 + 这一更新包含了新的 PCI ID, 以及用以支持 Radeon 的套件。 + + 用于支持各式声卡的驱动程序进行了重新组织; + device sound 是通用的声卡驱动, + 而 device snd_* 则提供具体设备的声音驱动。 + 删除了用于支持串口和其他声卡的 midi + 驱动。 更多细节请参考相应的联机手册: + &man.sound.4;, &man.snd.ad1816.4;, &man.snd.als4000.4;, &man.snd.cmi.4;, + &man.snd.cs4281.4;, &man.snd.csa.4;, &man.snd.ds1.4;, &man.snd.emu10k1.4;, + &man.snd.es137x.4;, &man.snd.gusc.4;, &man.snd.maestro3.4;, + &man.snd.sbc.4;, &man.snd.solo.4;, 以及 &man.snd.uaudio.4;。 + + 修改了 &man.sound.4; (之前的 &man.pcm.4;) 驱动, 在启动时读取 + /boot/device.hints + 从而允许设置混音器通道的默认值。 + 需要注意的是目前设备驱动在 + /boot/device.hints 中使用的名字仍然是 + pcm。 更多信息和例子可以在 &man.sound.4; + 联机手册中找到。 + + + + 网络接口设备支持 + + 增加了用于支持 Aironet Arlan 655 网卡的 + &man.arl.4; 驱动。 &merged; + + &man.dc.4; 驱动现在支持将 MAC 地址保存在 + OpenFirmware 的 sparc64 Davicom 网卡了。 + + 修正了重新配置 &man.em.4; 时造成网络停顿的驱动程序错误。 &merged; + + 增加了用于在 FireWire 上支持 IP 的 &man.fwip.4; 驱动。 + 需要说明的是, 目前广播通道号是硬编码的, 并且多播通道分配的 + MCAP 目前还不被支持。 + 这一驱动的目标是符合 RFC 2734 和 RFC 3146 标准,并最终取代 &man.fwe.4; + 驱动。 + + &man.fxp.4; 采用类似 + dev.fxp0 这样的 sysctl 变量名,因此可以为不同的设备设置不同的参数。 + + &man.fxp.4; 提供了对其接收扩展以太网帧容量, + VLAN_MTU 的控制能力。 + 用户可以通过使用 &man.ifconfig.8; + 以及 + 来改变默认设置。 + + hea + (Efficient Networks, Inc. ENI-155p ATM 适配器) + 驱动由于无法使用而被删除。 其功能目前已经集成到了 + &man.en.4; 驱动中。 + + 改进的 &man.hme.4; 驱动现在内建了长帧支持, + 在和 &man.vlan.4; 联用时可以使用与 Ethernet 同样的 MTU 了。 + + &man.hme.4; 驱动现在能够支持 + TCP/UDP 发送/接收 校验和下载了。 + 由于 &man.hme.4; 不会对 UDP 数据报进行校验和补偿, + 因此可能会让它取 0x0。 + UDP 发送校验和下载在默认时是禁用的。 + 可以通过使用 &man.ifconfig.8; 来设置特殊的连接选项 + 重新激活它。 + + 加入了用于支持 Intel PRO/10GBE 万兆以太网卡的 &man.ixgb.4; + 驱动程序。 &merged; + + 由于无人维护和无法使用, 删去了 lmc + (LAN Media Corp. PCI WAN adapter) 驱动。 + + 由于无法适应新系统而且无人维护, + 这一版本不再包含 loran + (Loran-C 接收器) 驱动。 + + &os; 现在提供了能够用来在 &os;/i386 上使用 µsoft.windows; + NDIS 网络设备驱动的二进制仿真层。 它包括了一个 &windows; .SYS + 文件的重定位/连接器, 以便在 &os; 内核和 NDIS API 之间建立接口, + 使用 &os; 内建的内核和功能来模拟它。 + 这一系统支持 PCI (&man.pci.4;) 和 CardBus(&man.cardbus.4;) 网络设备, + 原则上也能适应一般的以太网和无线网卡。 + 详情请参考 &man.ndis.4; 和 &man.ndiscvt.8;。 + + 修正了导致 &man.nge.4; 驱动的 VLAN 支持不能正常工作的问题。 &merged; + + 修正了 &man.rl.4; 驱动中许多与 &man.polling.4; 支持有关的问题。 &merged; + + 修正了 &man.sk.4; 驱动中许多与多播和混杂模式处理有关的问题。 + + 改进的 &man.ste.4; 提供了 &man.polling.4; 支持。 &merged; + + 增加了 &man.udav.4; 驱动。 它提供了 Davicom DM9601 + 芯片组上的 USB 以太网适配器支持。 + + 增加了用以支持 VIA Networking Technologies VT6122 千兆以太网芯片和 + 集成 10/100/1000 copper PHY 的 &man.vge.4; 驱动。 + + 改进的 &man.vr.4; 提供了 &man.polling.4; 支持。 &merged; + + 禁用了 &man.xl.4; 驱动中的 TX 校验和支持, + 因为它无法正确地工作, 并降低了传输速率。 &merged; + + 接口的 &man.polling.4; 支持现在能够以接口为单位启用和禁用了。 + 以下这些驱动能够支持 &man.polling.4;: &man.dc.4;, &man.fxp.4;, + &man.em.4;, &man.ixgb.4;, + &man.nge.4;, &man.re.4;, &man.rl.4;, &man.sis.4;, &man.ste.4;, &man.vge.4;, + 以及 &man.vr.4;。 除了 &man.ixgb.4; 之外, 其他驱动都具有通过 + &man.ifconfig.8; 来控制的能力。 &merged; + + + + + 网络协议 + + &man.gre.4; 隧道驱动现在支持了 WCCP 版本 + 2。 + + &man.ipfw.4; 规则增加了 versrcreach + 选项, 该选项用于验证到包源地址的路由确实已经存在。 + 这个选项对于在路由表中包含整个 Internet 的路由器 + (BGP) 非常有用, 它能够帮助路由器拒绝伪造的或无法路由的源地址。 + 例如, + + deny ip from any to any not versrcreach + + 等价于 Cisco IOS 的: + + ip verify unicast source reachable-via any + + + &man.ipfw.4; 规则增加了 antispoof + 选项, 该选项用以验证进入的包是否属于直接联结的网络。 + 如果包来自直接联结的网络, 则会比较包是否来自那个网络所在的接口。 + 如果包来自的接口不是连接它的接口, 则不匹配这个规则。 + 例如: + + deny ip from any to any not antispoof in + + + &man.ipfw.4; 规则增加了 jail + 选项, 用以将规则与特定的 prison ID 匹配。 + 例如: + + count ip from any to any jail 2 + + 需要说明的是, 这一规则目前只能与 TCP 和 UDP 包联用。 + + + &man.ipfw.4; 增加了查找表支持。 这一特性对于处理大的松散地址集很有用。 + &merged; + + &man.ipfw.4; 的 forward 规则现在必须通过内核选项 + IPFIREWALL_FORWARD 编译到内核中才能启用了。 + + 加入了新的 sysctl net.inet.ip.process_options + 以控制 IP 选项的处理。 当设置为 + 0 时, 将忽略 IP 选项并不加修改地传递它们, + 设置为 1 则所有的 IP 都会被处理 (这是默认值), + 而设置为 2 时所有包含 IP 选项都会用对应的 + ICMP 过滤器禁止消息来拒绝。 + + 修正了一些来自 KAME 的 IPsec 实现中的 bug。 + 这些 bug 与内存对象在全部引用被移除之前实施释放有关, + 可能导致在清除安全策略数据库 (SPD) 时产生一些不正确的行为或内核崩溃。 + + &man.natd.8; 通过新增的 选项支持运行多个实例。 + 这使得能够把 &man.natd.8; 绑定到不同的网络接口上, 并分享负荷。 + + 新增了 &man.ng.atmllc.4; Netgraph 节点, 用以处理 + RFC 1483 ATM LLC 封包。 + + 新增了 &man.ng.hub.4; Netgraph 节点, + 用以支持类似以太网集线器所完成的包分发工作。 &merged; + + 改进的 &man.ng.rfc1490.4; Netgraph 节点现在支持通常用于同 RFC 1940 + 帧转发链路联用的 Cisco 风格的封装了。 + + 新增了 &man.ng.sppp.4; Netgraph 节点, 这是一个 &man.netgraph.4 + 到原先的 &man.sppp.4 网络模块的接口,可以用于同步线路。 + + 提供了新的 Netgraph 方法, 从而允许恢复某些消失的 + 4.X 风格的 &man.ng.tee.4; Netgraph 节点的特性。 + + 增加了 &man.ng.vlan.4; Netgraph 节点, 用以支持 + IEEE 802.1Q VLAN 标记。 &merged; + + PFIL_HOOKS 总被编入内核, + 因此删去了相关的选项。 目前所有 &os; 支持的包过滤器子系统都使用 + PFIL_HOOKS 框架了。 + + 路由 socket 加入了以太网介质的状态的变更通知支持。 + + 重新实现了 &man.ppp.8; 的链路质量监视 (LQM) 支持。 + 由 RFC 1989 描述的 LQM 允许 PPP + 监视正在运行的连接的品质。 &merged; + + 更新了虚拟网络接口的克隆功能以及相关的函数,以支持创建 &man.stf.4; + 的叫做 stf0 , + stf,或者 6to4 + 这样的接口。 这一改动将破坏向前兼容性; 例如, + ifconfig stf 现在会创建名为 stf + 而不是 stf0 的接口,也不会在 stdout 输出 + stf0 + + 下列 TCP 特性被默认开启: RFC + 3042 (受限重传), RFC 3390 (增大的初始拥塞窗口尺寸), + TCP 带宽-延迟积限制。 同时加入的还有一组 sysctl + net.inet.tcp.rfc3042、 + net.inet.tcp.rfc3390、 以及 + net.inet.tcp.inflight.enable + 用于控制这些特性。 &man.tcp.4; 提供了更多的细节。 + + &os; 的 TCP 现在加入了最小 MSS 支持 + (可以通过 + net.inet.tcp.minmss sysctl 来设置) + 并可以限制单个连接发送大量小 TCP 分片的速率 + (通过设置 + net.inet.tcp.minmssoverload sysctl)。 + 超过这一限制的连接将被复位并丢弃。 + 这一特性能够帮助保护系统免受一种耗竭资源的攻击。 + + TCP 实现增加了部分的 (仅限于输出) + RFC 2385 (TCP-MD5) 摘要支持。 可以通过 + TCP_SIGNATURE 和 + FAST_IPSEC 这两个内核选项来启用这一特性, + 它是一个用于验证 TCP 会话的选项。 + &man.setkey.8; 现在包含了用于 TCP-MD5 安全关联类的支持。 + &merged; + + 对 TCP 连接复位的处理进行了改进, + 在保持与最广泛范围的 TCP 协议栈兼容性的前提下尽可能地提高了复位攻击的难度。 + + 改进了 RFC 1948 的实现。 + 初始序号 (ISN) 的时间偏移部分现在包含了随机的正增量, + 因此 ISN 将总是增加, 无论端口的回收有多快。 + + 增加了来自 OpenBSD + 的随机的临时端口分配实现。 这一选项默认打开, 并可以使用 + net.inet.ip.portrange.randomized + sysctl 来关闭。 &merged; + + 增加了 RFC 2018 所描述的 TCP 选择性确认 (SACK)。 + 它能够改进在大量丢包的连接上的 TCP 性能。 + SACK 可以通过 sysctl net.inet.tcp.sack.enable + 来启用。 + + + + 磁盘及存储 + + &man.ata.4; 驱动现在支持 &man.cardbus.4; ATA/SATA + 控制器。 + + 修正了 &man.ata.4; 驱动的许多 bug。 + 其中最显著的是主/从设备的检测, 以及一些与超时有关的问题上的改进。 + + &man.ata.4; 驱动增加了对于 Promise 命令序列的支持, + 用于所有新的 Promise 控制器 (PDC203** PDC206**)。 + + + 同时这也加入了对于将 + Promise SX4/SX4000 作为 普通的 Promise ATA + 控制器的支持; 能够支持 ATA RAID, 尽管只限于 + RAID0、RAID1 和 RAID0+1。 + + + + 用于 CAM SCSI 磁盘驱动器 (&man.cam.4;) 的 + DA_OLD_QUIRKS + 内核选项已经被移除了。 &merged; + + 修正了 &man.fd.4; 驱动中的一处自动密度检测 bug。 + + 修正了 &man.geom.4; 中的一个可能导致 I/O 在某些罕见条件下挂起的问题。 + + 新增了 GEOM_CONCAT + &man.geom.4; 类以支持将多个磁盘作为一个单独的大磁盘来使用。 + + 新增了 GEOM_NOP &man.geom.4; + 类, 可以用于多种测试目的。 + + 新增了 GEOM_RAID3 &man.geom.4; 类来完成 + RAID3 变形, 以及配套的 &man.graid3.8; 工具。 + + 新增了 GEOM_STRIPE + &man.geom.4; 类, 它实现了 RAID0 变形。 + 这个类提供了两个模式: fast(高速) 和 + economic(经济)。 在高速模式下, + 当使用很小的分条尺寸时, 只会向同一分条的磁盘发送一次 + I/O 请求; 这样做在同样情形下比经济模式, + 以及其他 RAID0 实现要快十倍; + 尽管默认情况下会使用高速模式, + 它会消耗比经济模式更多的内存, + 因为后者每次都会发送请求。 + 可以通过将加载器变量 + kern.geom.stripe.fast 设置为 0 + 来启用经济模式。 此外, 也可以用 + kern.geom.stripe.maxmem + 来指定高速模式允许使用的最大内存。 + + 新增了 GEOM Gate, 包扩新的 GEOM_GATE + &man.geom.4; 类, 以及一些 GEOM Gate 用户级实用工具 + (&man.ggatel.8;、&man.ggatec.8;, + 以及 &man.ggated.8;)。 它支持通过网络导出设备, + 包括那些非 &man.geom.4; 的设备。 + + 新增了 GEOM_LABEL + &man.geom.4; 类, 用来检测各种文件系统的卷标, + 例如 UFS, MSDOSFS (FAT12, FAT16, FAT32), 以及 ISO9660。 + + 新增了 GEOM_GPT &man.geom.4; 类, + 它用于支持 GUID 分区表 (GPT) 分区, 并能够在单个磁盘上支持大量的分区。 + 它已经加入到了 GENERIC 的默认选项中。 + + 新增了 GEOM_MIRROR &man.geom.4; 类以支持 + RAID1 功能。 &man.gmirror.8; 可以用来控制这个类。 + + 新增了 GEOM_UZIP &man.geom.4; 类以实现只读的压缩磁盘。 + 目前, 它已经能够支持 cloop V2.0 磁盘压缩格式了。 + + 新增了 GEOM_VINUM &man.geom.4; 类以支持 + &man.vinum.4; 和 &man.geom.4; + 之间的互操作。 + + &man.ips.4; 能够支持最新的 + Adaptec ServeRAID 系列 SCSI 控制卡了。 + + 修正了 &man.isp.4; 驱动的一处 bug, + 这个问题会导致在 SBus 上的卡无法正常工作。 + + 增加了用于支持 3ware 的 9000 系列 PATA/SATA RAID + 控制器的 &man.twa.4; 驱动。 &merged; + + &man.umass.4; 驱动现在支持缺少 + ATAPI MMC 命令的设备, 并能够正确处理超时了。 &merged; + + 对 &man.vinum.4; 卷管理器进行了更新, 以利用 + &man.geom.4;, 5.x 的磁盘 I/O 请求变换框架。 + 同时增加了一个 gvinum 工具。 + + 从 NetBSD 移植了 &man.esp.4; 设备驱动以支持 + Sun Ultra 1e 和 2 上的 SBus SCSI 卡。 + + 加入了 LSI-类型的软件 RAID 支持。 + + + + + File Systems + + EXT2FS 文件系统的代码现在包括了部分的大文件 + (> 4GB) 支持。 这个支持目前尚不完整, + 例如它会拒绝在没有升级到 EXT2_DYN_REV + 或者没有设置 + EXT2_FEATURE_RO_COMPAT_LARGE_FILE + 超级块标记的文件系统上创建这样的文件。 + + 修正了在 NFSv4 客户端中的一处 panic; + 在对只支持 NFSv3/NFSv2 的服务进行操作时可能发生这样的情况。 + + 增加了 MSDOSFS_LARGE 内核选项用以支持超过 + 128GB 的 FAT32 文件系统。 此选项在默认时并不开启。 + 磁盘上的每个文件将使用至少 32 字节的内核内存; + 此外, 只有在可控的几种特定情况下, + 例如挂接少于一百万文件的只读文件时,等等, + 它才是安全的。 使用 NFS 导出这样的大文件系统目前尚未支持。 + + SMBFS 客户端现在增加了 SMB 请求签名的支持, + 这可以防止 中间人 攻击, 并且是默认配置下连接 + Windows 2003 服务所需要的。 + 由于对每个消息进行签名会带来显著的性能下降, + 这一特性只有在服务器需要它时才会启用; + 它可能会最终成为 &man.mount.smbfs.8; 的一个选项。 + + + + 基本系统附带的第三方软件 + + 从 KAME 2004 年 6 月 7 日的快照导入了 ALTQ 框架。 + 这次导入破坏了 struct ifnet + 的 ABI 兼容性, 并需要重新编译所有的网络驱动。 + 另外修改了一些网络设备驱动以支持 ALTQ 框架。 + 更新的驱动包括 &man.bfe.4;、&man.em.4;、&man.fxp.4;、 + &man.em.4;、&man.lnc.4;、&man.tun.4;、&man.de.4;、 + &man.rl.4;、&man.sis.4;,以及 &man.xl.4;。 + + IPFilter 从 + 3.4.31 升级到了 3.4.35 版 &merged;。 + + 来自 Hewlett-Packard 用于 ia64 的 stack unwinder, + Unwind Express (libuwx) + 引入了内核。 + + + + + 应用程序变动 + + &man.acpidump.8; 现在支持 SSDT 表了。 转存或反汇编 + DSDT 会包括存在的任何 SSDT 表。 + + &man.bsdlabel.8; 可以支持 参数, 指定在文件而不是磁盘分区上进行操作。 + + &man.bsdtar.1; 成为了 &os; 基本系统中默认的 &man.tar.1; 工具。 + /usr/bin/tar + 默认时是一个指向 + /usr/bin/bsdtar 的符号连接。 + 如果要恢复默认使用 /usr/bin/gtar, + 则可以用 WITH_GTAR + make 变量来指定。 + + 加入了用于支持蓝牙 HID (Human Interface Device) 的 bthidcontrol + 和 bthidd 两个命令。 + + &man.col.1;, &man.colcrt.1;, &man.colrm.1;, + &man.column.1;, &man.fmt.1;, &man.join.1;, &man.rev.1;, + &man.tr.1;, 以及 &man.ul.1; 能够支持多字节字符了。 + + &man.conscontrol.8; 现在支持 + setunset + 来设定和取消虚拟控制台。 + unset 将使来自系统的输出, 例如内核的 + &man.printf.9; 总是输出到真正的主控制台。 + 另外还提供了一个 tty ioctl 接口 + TIOCCONS + + &man.cron.8 服务程序提供了两个新的选项, + , + 用以为普通用户和超级用户的任务启用时钟抖动。 + 时钟抖动表示 &man.cron.8 将休眠所指定范围内的一个随机的时间, + 然后再执行任务。 这一特性主要是用于使计划执行得大量任务能够不增加过多的负载而设计的。 + &merged; + + &man.cut.1; , + , 以及 + 能够正确工作于多字节字符的 locale 了。 + + &man.cvs.1; 增加了 + 选项关键字, 用以显示 ISO 8601 格式的日期。 + + &man.daemon.8; 增加了 + 选项用于创建 PID 文件。 + + &man.dd.1; 增加了 选项用在转化模式或 + 配合 + 且发生错误时指定占位符。 + + &man.df.1; 增加了 选项, + 用以显示文件系统统计数据的总和。 + + 修正了 &man.df.1; 的一个当指定 + 选项而且调用它的用户无权访问某个挂接点时可能显示出无效信息的 + bug。 + + 从 &os; 基本系统中删除了 doscmd 工具。 + 可以通过 &os; Ports Collection 中的 + emulators/doscmd + 来安装它。 + + &man.dump.8; 和 &man.restore.8; 增加了 + 选项用以指定文件和磁带以外的备份方式。 + 这一选项通过一个普通的 &man.sh.1; 管道经由 + $DUMP_VOLUME$RESTORE_VOLUME + 传递给应用程序。 + 更多信息请参考 &man.dump.8; 和 &man.restore.8;。 + + 增加了用以修改系统保存在 EEPROM 或 NVRAM 中配置信息的 + &man.eeprom.8; 工具。 目前的实现能够支持装备了 + Open Firmware 的设备。 + + &man.fdcontrol.8;, &man.fdformat.1;, 以及 + &man.fdread.1; 这些工具现在能够在 &os;/pc98 上使用了。 + + 加入了 &man.fgetln.3; 函数的宽字符版本 &man.fgetwln.3;。 + + &man.find.1; 工具增加了 + 选项用以查找包含 &man.acl.3; 的文件。 + + &man.find.1; 工具增加了新的 + , + 用以测试当前文件从起点算起的遍历层数是否是 n。 + &merged; + + &man.ftpd.8; 使用当前用户的身份, 而不是 + root 开启数据 socket。 + 使用一条 &man.ipfw.8; 的 uid + 规则可以用来匹配 FTP 通讯数据了。 + + 实现了 &man.ftw.3; 和 &man.nftw.3; 两个函数。 + 他们用来遍历目录结构。 + + 增加了用于操作 &man.geom.4; 的 &man.geom.8; 工具。 + + GUID 分区表维护工具 &man.gpt.8; + 增加了 命令。 它的 + 命令增加了 选项, + 允许用户指定新分区的分区号。 + + &man.id.1; 增加了 选项以显示当前进程的 + MAC 标签。 + + &man.ifconfig.8; 增加了通过 + 参数在运行时重命名接口名称的支持。 + + &man.ifconfig.8; 会显示网络接口的 &man.polling.4; 状态了。 &merged; + + &man.ifconfig.8; 提供了 + 选项, + 用于控制某些以太网卡接受扩展帧的能力 + (例如包含了超过 1500 字节数据的帧)。 + + &man.ifconfig.8; 新增了 + + 选项, 用以控制某些以太网卡在硬件上处理 VLAN 标记的能力。 + + &man.indent.1; 新增了 + 选项用于控制局部变量的缩进。 此外还进行了许多其他的调整。 + + &man.indent.1; 新增了 和 + 选项用于在同一行上的参数使用空格而不是制表符进行缩进, + 以修正使用的制表符不是 8 个空格的情形。 + + &man.ip6fw.8; 新增了 选项, + 以阻止它修改内核中的规则。 + + &man.ipcs.1; 新增了 选项以显示关于 IPC + 机制与指定用户有关的信息。 + + &man.ipfw.8; 新增了 标志, + 指定后将只显示动作和说明, 而忽略规则实体。 + + &man.jail.8; 新增了 选项, + 用于以只在 &man.jail.2; 环境中存在的用户身份执行命令。 + + &man.jail.8; 新增了 选项以清除环境。 + 除了 HOMESHELL、 + PATHTERM,以及 + USER 之外的环境变量在以指定用户的身份执行时, + 都会像 &man.su.1; 的 选项一样清除掉。 + + 新增了一个 &man.kgdb.1; 内核调试工具, 它使用 + libgdb 并了解内核线程、 + 内核模块和 &man.kvm.3;。 + + &man.killall.1; 新增了 标志以便使 + 以现行的 (effective) 而非真实的用户 + ID 操作。 &merged; + + &man.libalias.3; 增加了 (通过增加新的 API) + 对在一个进程中的多个变形实例的支持。 + 现有的 API 被以新的 API 重新实现, 以保持兼容性。 + + 增加了用于处理压缩和未压缩的归档文件的 + libarchive 库。 + 更多细节请参考 &man.libarchive.3;。 + + libdisk 现在使用了 + &os; 中 PC98 的正确磁盘分区数值。 这使得 + &man.sysinstall.8; 的磁盘分区编辑器能够正确地创建覆盖整个磁盘的 + &os; 分区。 &merged; + + libdisk 使用 + d_addr_t 来表达磁盘地址。 + 这使得 &man.sysinstall.8; 能够正确处理超过 1TB 的磁盘和文件系统。 + + 为人们熟知的 + libkse 被命名为 + libpthread, 并成为了 + i386, amd64, 以及 ia64 平台上的默认线程库。 + GCC + 选项被修改以利用 libpthread + 而不是原先的 libc_r。 + + + 使用较早的编译好的程序 (例如, 在这个修改之前编译的 + ports) 应该使用 &man.libmap.conf.5; + 将 libc_r 和/或 + libkse 映射到 + libpthread + + + + 使用由 NVIDIA 提供的驱动和程序库的用户需要使用 + &man.libmap.conf.5; 来把对 + libpthread 的引用映射到 + libc_r, 因为这些工具无法同 + libpthread 一起正确地运行。 + + + + libpthread 现在支持 + LIBPTHREAD_SYSTEM_SCOPE 环境变量以强制 + 1:1 模式 (使用系统可见的线程)。 需要说明的是在编译 + libpthread 时使用 + 参数也可以强制 1:1 模式, + 这也是在目前尚不支持 M:N 模式的架构上的默认设置。 + 另外, 也可以用 LIBPTHREAD_PROCESS_SCOPE + 环境变量来强制 M:N 模式 (使用进程可见的线程)。 + 例如: + + &prompt.user; LIBPTHREAD_SYSTEM_SCOPE=yes threaded_app + + 将强制应用程序 threaded_app 使用系统可见的线程, 而 + + &prompt.user; LIBPTHREAD_PROCESS_SCOPE=yes threaded_app + + 则相应地强制它使用进程可见的线程。 + + 修正了 &man.look.1; 的 选项的一处问题。 + 同时, &man.look.1; 也能够正确地工作在多字节字符上了。 + + 更新的 &man.ls.1; 会根据当前的 LC_CTYPE + 处理多字节字符, 以判断它们是否是可显示的。 + + &man.make.1; 新增了 .warning + 命令。 + + &man.make.1; 新增了 Makefile + 命令行中符合 POSIX 的 + 标志, + 它使得即时在指定了 时也执行那一行。 + 举例来说, 在子 make 中这就非常有用。 + + &man.make.1; 按照 POSIX 的要求将命令行中的变量赋值 + 放到 MAKEFLAGS 变量中。 + 这使得这样的变量被放入 &man.make.1; 所调用的所有子 make + (除非在子 make 环境中显式地修改 MAKEFLAGS + 变量)。 这也使得子 make 除了使用自身的命令行之外几乎不能覆盖这些变量。 + + 实现了 &man.nearbyint.3; 和 + &man.nearbyintf.3; 两个 C99 函数。 + + 实现了 tgmath.h C99 头。 + 这为 math.h + 和 complex.h + 中包含浮点数、双精度数和长双精度数的函数实现提供了范型的宏。 + + 实现了 GNU 扩展中的 &man.mbsnrtowcs.3; + 和 &man.wcsnrtombs.3;。 + + &man.newsyslog.8; 新增了一个功能, + 允许用户通过 newsyslog.conf + 文件来指定调试选项。 + + &man.newsyslog.8; 在处理文件轮转时采用了新的顺序。 + 它首先轮转所有需要轮转的文件, 随后向每一个需要通知的进程发送一次信号, + 最后压缩轮转过的文件。 + + 加入了 &man.nextwctype.3; 函数用于在给定的字符类上执行遍历式迭代。 + + 增加了目前系统所支持的字符集初步的 UTF-8 支持版本。 + 这个初步的支持受益于 + misc/utf8locale + port。 + + 增加了用于以色列希伯莱文的 he_IL.UTF-8 + 支持。 + + 增加了 &man.logins.1; 工具, 用以显示关于用户和系统帐户的附加信息。 + + &man.mountd.8; 增加了 选项, + 允许用户指定一个端口用于防火墙规则集。 + + &man.netstat.1; 增加了显示当前系统中多播组成员的功能。 + + &man.newfs.8; 和 &man.mdmfs.8; 增加了 + 标志来在新文件系统上直接启用 MAC + multilabel 标志, 而无需使用 + &man.tunefs.8;。 + + &man.nologin.8; 通过 + &man.syslogd.8; 报告不良登录企图。 + + &man.nologin.8; 从 /sbin/nologin + 挪到了 /usr/sbin/nologin。 + 保留了一个 /sbin/nologin 符号连接, + 以保持向前兼容性。 + + 对 NSS 支持实施了一处修正。 者解决了当使用第三方 + NSS 模块 (例如 net/nss_ldap) 并对大的成员表实施分组时的问题。 + + &man.od.1; 新增了 POSIX 风格的多字节字符支持。 + + &man.patch.1; 替换成了来自 OpenBSD 的 BSD 授权的版本。 + 它包含了 选项以严格地支持 + POSIX。 + + 增加了 &man.pgrep.1; 和 &man.pkill.1; 命令, 它们来自 NetBSD。 + 它支持 选项, + 用以从指定的 core 文件而不是默认的 /dev/kmem + 中进行搜索, 而 + 选项则可以从指定的系统而不是默认内核中提取列表。 + + &man.ppp.8; 增加了 set rad_alive + N 命令用以支持周期性地将 + RADIUS 记账信息发送给 RADIUS 服务器。 &merged; + + &man.ppp.8; 增加了 + set pppoe [standard|3Com] 命令用以配置下层的 + &man.ng.pppoe.4; Netgraph 节点。 + + &man.ps.1; 的 POSIX/SUSv3 兼容性得到了改善。 + 改变包括列出进程 ID 的 、 + 列出终端名的 、 + 相当于 、 + 列出组 ID 的 、 + 与 功能相反的 , + 以及一些小改进。 要获得进一步的详情, 请参考 &man.ps.1;。 + &merged; + + &man.ps.1; 增加了 + 格式选项, 它将显示进程所在的系统调用模拟环境。 + + &man.pw.8; 增加了 选项, + 用以从文件描述符收取加密的口令。 &merged; + + 在 &man.rarpd.8; 中的一个导致单个网络接口上绑定了多个 + IP 地址情形下无法正常工作的问题被修正。 + &merged; + + &man.regex.3; 增加了支持多字节字符的正则表达式匹配功能。 + + &man.resolver.3; 使用的配置文件增加了 + timeout: 和 + attempts: 两个关键字。 + + 改进了 &man.resolver.3; 以及相关的接口的可重入和线程安全性。 + 能够同时执行多个 DNS 查找, + 从而大幅度地提高了一些多线程应用程序的运行速度。 + 一些多线程的程序需要重新编译; 来自 + Ports Collection 的例子包括 www/mozilla 及其变体、mail/evolutiondevel/gnomevfs, 以及devel/gnomevfs2 + + &man.rmdir.1; 增加了 标志, + 提供更详细的输出。 + + &man.savecore.8; 能够在大于 2GB 的转储文件上正常工作了。 + + 修正了 &man.script.1; 中的一处问题, 使其在标准输入关闭时能够正常工作。 + 这个修正避免了在 sysutils/portupgrade + 软件包在非交互的模式下执行时的一种危险的交互, + 这种情况下它可能会卸载所有的旧 port 而不重新安装它们。 + + 加入了 &man.sdpd.8; 蓝牙服务发现协议服务。 + + &man.sed.1; y (翻译) 命令增加了多字节字符支持。 + + 增加了 &man.sha1.1; 和 &man.rmd160.1; 两个工具。 + 类似 &man.md5.1;, 它们用于计算输入的消息摘要。 + &merged; + + 增加了 &man.smbmsg.8;, 一个用于收发 SMBus 消息的小工具。 + + &man.sunlabel.8; 新增了两个标志: + 用于以柱面而非扇区计算分区大小, 而 + 用于显示以便于阅读的格式显示尺寸/偏移量。 + + &man.talk.1; 改为使用 localhost + 作为 &man.talkd.8; 中请求包发往的默认机器名, + 当目的和源都是本地时。 + 这使得 &man.talk.1; 需要在 /etc/hosts + 或 DNS 中有有效的 localhost 主机项。 + + &man.tftpd.8; 新增了两个选项: + 用以允许创建新文件的 , + 以及用于设置 umask 的 + + &man.top.1; 支持显示当前的 I/O 数量了。 + 这一特性可以通过在显示列表时按 m + 或使用命令行选项 来使用。 + + &man.truss.1; 包括了对 + &os;/amd64 的初步支持。 + + 基本系统中的一些工具 (主要是 GNU + 的工具) 现在使用系统版本的 + &man.getopt.long.3; 而不再是 GNU 的版本。 + + + <filename>/etc/rc.d</filename> 脚本 + + diskless 脚本被分割为 + hostname、 + resolvetmp,以及 + var 四个脚本。 + + 加入了用以支持启用了 gdbe 的交换设备的 gbde_swap 脚本。 + 当在 &man.rc.conf.5; 中指定 + gbde_swap_enable 变量时, 在 &man.fstab.5; + 中的一个名为 + /dev/foo.bde + 将在启动时自动挂接到 + /dev/foo + 并使用一个以 /dev/random 中读到的前 + 512 字节的 MD5 散列作为随机密钥。 + 注意这样做将无法恢复内核的转储文件。 + + 增加了 ip6addrctl_enable 和 + ip6addrctl_verbose 两个变量。 + 当 ip6addrctl_enable 默认设置为 + YES, 将自动安装地址选择策略。 + 如果 /etc/ip6addrctl.conf 存在则将使用其中的设置, + 否则使用默认设置。 ipv6_enable 设置为 + YES 则默认策略将是 RFC 3484。 + 否则, IPv4 地址的优先策略将成为默认策略。 + + 加入了 mixer 脚本。 + 它能在系统关闭时保存当前系统中所有混音器的配置, + 并在下次启动时恢复它。 + + named 脚本进行了更新, 以支持基本系统中的 + BIND 9。 这些变化包括: + + + + &man.named.8; 默认在 &man.chroot.2; 目录 + /var/named 中运行了。 这一行为可以通过 + named_chrootdir 变量来控制, 相应地, + &man.chroot.2; 目录则可以通过 rc.conf 中的 + named_chrootdir 变量来改变。 + + + + named_chroot_autoupdate + 变量设置为 YES (这是默认的) 时, + chroot 目录会在启动时自动地配置。 指向 + /var/named/etc/namedb 的符号连接将作为 + /etc/namedb 自动建立, 另外还有一个指向 + /var/named/var/run/named/pid 的符号连接 + /var/run/named/pid。 后者可以通过 + rc.conf 中的 + named_symlink_enable 变量来禁止。 + + + + 如果不存在 rndc.key 文件, + 则会自动地创建它。 + + + + 增加了 pfpflog + 两个 &man.pf.4; 的脚本。 + + + + + 基本系统包含的第三方软件 + + ACPI-CA 代码从 + 20030619 快照升级到了 20040527 快照。 + + AMD (am-utils) + 从 6.0.9 升级到了 6.0.10p1。 + + 来自贝尔实验室的 awk + 从 2003年7月29日的发行版升级到了2004年2月的发行版。 + + BIND 从 + 8.3.1-REL 版升级到了 9.3.0 版。 + + Binutils 升级到了 + FSF 2.15 版本分支 2004 年 5 月 23 日 的快照。 + + CVS 从 + 1.11.15 升级到了 1.11.17. &merged; + + FILE 从 + 3.41 升级到了 4.10. + + gdtoa (一个用于进行二进制和十进制形式的数进行相互转换的函数库) + 从 20030324 升级到了 20040118. + + GDB 升级到了 + 6.1.1. + + GNU GCC 从 + 2003 年 11 月 6 日的 3.3.3-prerelease 升级到了 + 2004 年 6 月 28 日的 3.4.2-prerelease. + + GNU grep 从 + version 2.4d 升级到了 2.5.1. + + less 从 + version 371 升级到了 381. + + GNU readline 4.3 加入了官方补丁 + 001 到 005。 + + GNU regex 库更新到了 + GNU grep 2.5.1 中附带的版本。 + + GNU sort 从 + textutils 2.1 升级到了 2004 年 8 月 12 日的快照。 + + 基本系统中的 GNU tar + 实现现在叫做 gtar + + Heimdal Kerberos + 从 0.6 升级到了 0.6.1。 + + The ISC DHCP 客户端程序从 + 3.0.1 RC10 升级到了 3.0.1。 + + libpcap 从 + 0.7.1 升级到了 0.8.3。 + + lukemftpd + 从 2003 年 11 月 3 日的快照升级到了 2004 年 8 月 9 日的。 + + NTP + 从 4.1.1a 升级到了 4.2.0。 + + OpenPAM 从 + Dogwood 版本升级到了 Eelgrass 版本。 + + OpenSSH 从 + 3.6.1p1 升级到了 3.8.1p1。 + + + &man.sshd.8; 的默认配置发生了变化。 + 第1版的 SSH 协议默认不再启用。 + 另外, 如果启用了 PAM, + 则通过 SSH 进行口令认证将默认禁用。 + + + + OpenSSL 从 + 0.9.7c 升级到了 0.9.7d。 &merged; + + OpenSSL + 的一个预发布版本中导入了用于加速 Advanced Encryption + Standard (AES) 加密的 + OpenSSL VIA C3 Nehemiah + PadLock ACE (先进密码学引擎) 加密支持。 + + 来自 OpenBSD 3.5-stable 的 pf + OpenBSD 的包过滤器导入了 &os; 基本系统的源代码, 并默认安装。 + 为此新增了两个用户 (proxy 和 + _pflogd) 以及三个组 + (authpfproxy, + 以及 _pflogd)。 这些是 + pf 所需要的。 + + + 从源代码升级时, 必须首先建立这些用户。 + mergemaster -p 可以帮助用户来完成需要在 + &man.passwd.5; 和 &man.group.5; 文件上需要完成的操作。 + 可以通过在 make.conf 中设置 + NO_PF 来阻止编译 + pf + + + 来自 OpenBSD + pf 的许多命令行工具被导入。 + &man.ftp-proxy.8; 是一个用于和 &man.pf.4; 配合的 FTP 代理, + &man.pfctl.8; 等价于 &man.ipf.8;, + &man.pflogd.8; 是一个通过 if_pflog + 以 &man.pcap.3; 格式的日志服务程序, 而 + &man.authpf.8; 则是一个用于修改 + &man.pf.4; 规则集的工具。 + + routed 从 + 2.22 升级到了来自 rhyolite.com 的 2.27。 + 对于依赖 RIP 的 MD5 验证功能的用户来说, + &man.routed.8; routed 现在和先前版本的 + &os; 不再兼容; 然而, 它现在与 + Sun, Cisco 以及一些其他制造商的实现兼容了。 + + sendmail 从 + 8.12.10 升级到了 8.13.1。 &merged; + + tcpdump 从 + 3.7.1 升级到了 3.8.3。 + + tcsh 从 + 6.11 升级到了 6.13.00。 + + 时区数据库从 + tzdata2003a 升级到了 + tzdata2004a + + zlib 从 + 1.1.4 升级到了 1.2.1。 + + + + Ports/Packages Collection 基础结构 + + 绝大多数由 ports 安装的启动和关机脚本采用了新的 &man.rc.8; + 框架, 这一框架从 &os; 5.X + 开始引入, 而一些 ports 仍然在使用旧式的脚本。 + 启动时, 新的 &man.rc.8; 风格的脚本将首先执行, + 然后是旧式脚本。 关机时顺序正好相反。 + + 增加了 distfiles 的 SIZE 属性, 并默认启用。 + 这一属性可以在下载前观察文件大小。 + DISABLE_SIZE 是一个用户可控的开关, + 用以禁制 distfiles 大小检查。 这对 &man.fetch.1; 不支持这一特性的旧版 + &os; 系统, + 以及某些无法正确汇报文件大小的 FTP 代理来说非常实用。 + + 增加了两个新文件到 ports tree 中, 以向用户说明比较有价值的修改: + ports/CHANGES 列出了 + Ports Collection 及其基础结构的重要修改, 而 + ports/UPDATING 则描述了一些在升级时可能遇到的问题, + 类似基本系统中的 src/UPDATING + + pkg_* 中用于分析版本号的代码进行了重写, + 从而恢复了与 4.x 的兼容性, 以及 + sysutils/portupgrade + 的支持。 + + 包工具现在可以通过关系运算符以及 + csh 风格的 {...} + 来进行匹配了。 例如: + + &prompt.root; pkg_info -I 'docbook>=3.0' + + 将列出 (所有的) 版本号至少是 3.0 的 docbook DTD。 + 还加入了一些其他的命令行选项以支持模式匹配。 + + 对包支持工具处理损坏的包数据库方面进行了改进。 + + &man.pkg.create.1; 新增了 + 选项, 使所有的 @cwd 在创建包时附上前缀。 + + &man.pkg.info.1; 新增了 + 选项以显示每个包所需要的脚本。 + + + + 发行版建造工程和功能集成 + + 对启动软盘镜像的制作过程进行了全面的调整。 + 最显著的改变是加载器现在能够从分割到多张软盘 (目前的发行版中是两张) + 的 GENERIC 内核启动了。 + 这极大地改善了从软盘启动的安装过程, 因为现在可以使用与 + CDROM 完全一样的内核 (因此也支持同样多的硬件) 了。 + 不再需要切开的 MFSROOT 内核, + 而 mfsroot + 也不再需要内核模块。 + boot.flp 以及 + driver.flp 两个软盘镜像已经过时, + 并不再被构建。 + + &os; 的密码学支持在这个版本中不再是可选的组件, + 而 crypto 也成为了 + base 的一部分。 + 需要注意的是 编译选项仍然存在, + 那些确实不需要密码学执行文件的用户仍然可以使用它。 + + 受支持的 GNOME + 版本从 2.4 升级到了 2.6.2。 + + + 如果您过去使用了较早版本的 GNOME + 桌面系统 (x11/gnome2), + 则简单地使用 + &man.portupgrade.1; + (sysutils/portupgrade) + 在 &os; Ports Collection 中升级将导致非常严重的问题。 + 如果您是 GNOME 桌面的用户, + 请仔细阅读 + + 这里的说明, + 并使用 gnome_upgrade.sh 脚本来升级到 + GNOME 2.6。 + + 请注意如果您只是 + GNOME 函数库的普通用户, 则 + &man.portupgrade.1; 应该足以升级您的 ports。 + + + + 受支持的 KDE 版本从 + 3.1.4 更新到了 3.3.0。 + + 新增了 security/portaudit 工具到 + &os; 的 Ports Collection。 这个工具能够读取包含已知的 ports 漏洞的数据库, + 并向管理员报告。 + + &os; 采用 Xorg 代替了 + XFree86 作为默认的 X Window 系统。 + 官方支持的版本是 Xorg X11R6.7.0。 + 需要说明的是, XFree86 也依然在 &os; + 的 Ports Collection 中 (x11/XFree86-4)。 + + + + 文档 + + + + + + + + 从先前版本的 &os; 升级 + + 强烈建议现有的 &os; 系统用户阅读 + Early Adopter's Guide to &os; &release.current;。 + 这份文档的名字通常是 EARLY.TXT, + 一般也可以随发行说明找到。 + 它提供了一些关于升级的说明,但更重要的是, + 它同时讨论了 &os; + 5.X 和运行 &os; + 4.X 时的不同点。 + + + 很显然,升级 &os; 时,应该首先备份 + 所有 数据和配置文件。 + + diff --git a/release/doc/zh_CN.GB2312/relnotes/common/relnotes.ent b/release/doc/zh_CN.GB2312/relnotes/common/relnotes.ent new file mode 100644 index 000000000000..638ea7f47dd0 --- /dev/null +++ b/release/doc/zh_CN.GB2312/relnotes/common/relnotes.ent @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/release/doc/zh_CN.GB2312/relnotes/i386/Makefile b/release/doc/zh_CN.GB2312/relnotes/i386/Makefile new file mode 100644 index 000000000000..8d4b5f14fdc9 --- /dev/null +++ b/release/doc/zh_CN.GB2312/relnotes/i386/Makefile @@ -0,0 +1,21 @@ +# Original Revision: 1.7 +# $FreeBSD$ + +RELN_ROOT?= ${.CURDIR}/../../.. + +DOC?= article +FORMATS?= html +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +JADEFLAGS+= -V %generate-article-toc% + +# SGML content +SRCS+= article.sgml +SRCS+= ../common/relnotes.ent +SRCS+= ../common/new.sgml + +URL_RELPREFIX?= ../../../.. + +.include "${RELN_ROOT}/share/mk/doc.relnotes.mk" +.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/release/doc/zh_CN.GB2312/relnotes/i386/article.sgml b/release/doc/zh_CN.GB2312/relnotes/i386/article.sgml new file mode 100644 index 000000000000..ef0fe8dd97e7 --- /dev/null +++ b/release/doc/zh_CN.GB2312/relnotes/i386/article.sgml @@ -0,0 +1,22 @@ + + + + +%articles.ent; + + +%release; + +%sections; + + + + + + +]> + +
+ &art; +
diff --git a/release/doc/zh_CN.GB2312/relnotes/ia64/Makefile b/release/doc/zh_CN.GB2312/relnotes/ia64/Makefile new file mode 100644 index 000000000000..fa21257f0f08 --- /dev/null +++ b/release/doc/zh_CN.GB2312/relnotes/ia64/Makefile @@ -0,0 +1,19 @@ +# Original Revision: 1.1 +# $FreeBSD$ + +RELN_ROOT?= ${.CURDIR}/../../.. + +DOC?= article +FORMATS?= html +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +JADEFLAGS+= -V %generate-article-toc% + +# SGML content +SRCS+= article.sgml +SRCS+= ../common/relnotes.ent +SRCS+= ../common/new.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/relnotes/ia64/article.sgml b/release/doc/zh_CN.GB2312/relnotes/ia64/article.sgml new file mode 100644 index 000000000000..b3a8c9b394fc --- /dev/null +++ b/release/doc/zh_CN.GB2312/relnotes/ia64/article.sgml @@ -0,0 +1,22 @@ + + + + +%articles.ent; + + +%release; + +%sections; + + + + + + +]> + +
+ &art; +
diff --git a/release/doc/zh_CN.GB2312/relnotes/pc98/Makefile b/release/doc/zh_CN.GB2312/relnotes/pc98/Makefile new file mode 100644 index 000000000000..fa21257f0f08 --- /dev/null +++ b/release/doc/zh_CN.GB2312/relnotes/pc98/Makefile @@ -0,0 +1,19 @@ +# Original Revision: 1.1 +# $FreeBSD$ + +RELN_ROOT?= ${.CURDIR}/../../.. + +DOC?= article +FORMATS?= html +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +JADEFLAGS+= -V %generate-article-toc% + +# SGML content +SRCS+= article.sgml +SRCS+= ../common/relnotes.ent +SRCS+= ../common/new.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/relnotes/pc98/article.sgml b/release/doc/zh_CN.GB2312/relnotes/pc98/article.sgml new file mode 100644 index 000000000000..7f38047b1b76 --- /dev/null +++ b/release/doc/zh_CN.GB2312/relnotes/pc98/article.sgml @@ -0,0 +1,22 @@ + + + + +%articles.ent; + + +%release; + +%sections; + + + + + + +]> + +
+ &art; +
diff --git a/release/doc/zh_CN.GB2312/relnotes/sparc64/Makefile b/release/doc/zh_CN.GB2312/relnotes/sparc64/Makefile new file mode 100644 index 000000000000..f548b33ede17 --- /dev/null +++ b/release/doc/zh_CN.GB2312/relnotes/sparc64/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ + +RELN_ROOT?= ${.CURDIR}/../../.. + +DOC?= article +FORMATS?= html +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +JADEFLAGS+= -V %generate-article-toc% + +# SGML content +SRCS+= article.sgml +SRCS+= ../common/relnotes.ent +SRCS+= ../common/new.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/relnotes/sparc64/article.sgml b/release/doc/zh_CN.GB2312/relnotes/sparc64/article.sgml new file mode 100644 index 000000000000..798563f3c5fb --- /dev/null +++ b/release/doc/zh_CN.GB2312/relnotes/sparc64/article.sgml @@ -0,0 +1,30 @@ + + + + + +%man; + +%authors; + +%mlists; + +%trademarks; + +%release; + +%urls.ent; + %sections; + + + + + + +]> + +
+ &art; +
diff --git a/release/doc/zh_CN.GB2312/share/sgml/catalog b/release/doc/zh_CN.GB2312/share/sgml/catalog new file mode 100644 index 000000000000..a4d71599493f --- /dev/null +++ b/release/doc/zh_CN.GB2312/share/sgml/catalog @@ -0,0 +1,10 @@ + -- FreeBSD SGML Public Identifiers -- + -- Language-specific -- + + -- Original Revision: 1.1 -- + -- $FreeBSD$ -- + +PUBLIC "-//FreeBSD//DOCUMENT Release Notes DocBook Stylesheet//EN" + "release.dsl" + + diff --git a/release/doc/zh_CN.GB2312/share/sgml/release.dsl b/release/doc/zh_CN.GB2312/share/sgml/release.dsl new file mode 100644 index 000000000000..b274f8e7fccc --- /dev/null +++ b/release/doc/zh_CN.GB2312/share/sgml/release.dsl @@ -0,0 +1,63 @@ + + + + + + +]> + + + + + + + (define %refentry-xref-link% #t) + + (define ($email-footer$) + (make sequence + (make element gi: "p" + attributes: (list (list "align" "center")) + (make element gi: "small" + (literal "这份文档,以及其他与FreeBSD发行版本有关的文档,都可以在 ") + (create-link (list (list "HREF" (entity-text "release.url"))) + (literal (entity-text "release.url"))) + (literal "下载。"))) + (make element gi: "p" + attributes: (list (list "align" "center")) + (make element gi: "small" + (literal "在遇到关于FreeBSD的技术问题时,请首先阅读 ") + (create-link + (list (list "HREF" "http://www.FreeBSD.org/docs.html")) + (literal "文档")) + (literal " 之后再考虑联系 <") + (create-link + (list (list "HREF" "mailto:questions@FreeBSD.org")) + (literal "questions@FreeBSD.org")) + (literal ">。"))) + (make element gi: "p" + attributes: (list (list "align" "center")) + (make element gi: "small" + (literal "所有 FreeBSD ") + (literal (entity-text "release.branch")) + (literal " 的用户都应该订阅 ") + (literal "<") + (create-link (list (list "HREF" "mailto:stable@FreeBSD.org")) + (literal "stable@FreeBSD.org")) + (literal "> 邮件列表。"))) + + (make element gi: "p" + attributes: (list (list "align" "center")) + (make element gi: "small" + (literal "关于这份文档的任何问题,请致信 <") + (create-link (list (list "HREF" "mailto:doc@FreeBSD.org")) + (literal "doc@FreeBSD.org")) + (literal ">。"))))) + ]]> + + + + + +