From 47985906618b110efa54ead1f4cbe3b9430b50bf Mon Sep 17 00:00:00 2001 From: Xin LI Date: Tue, 17 Apr 2007 03:12:07 +0000 Subject: Refresh with latest snapshot from FreeBSD Simplified Chinese Project. Obtained from: The FreeBSD Simplified Chinese Project --- zh_CN.GB2312/books/handbook/Makefile | 3 +- zh_CN.GB2312/books/handbook/basics/chapter.sgml | 10 +- zh_CN.GB2312/books/handbook/book.sgml | 3 +- zh_CN.GB2312/books/handbook/chapters.ent | 3 +- zh_CN.GB2312/books/handbook/config/chapter.sgml | 65 +-- zh_CN.GB2312/books/handbook/geom/chapter.sgml | 2 +- zh_CN.GB2312/books/handbook/install/chapter.sgml | 37 +- zh_CN.GB2312/books/handbook/jails/chapter.sgml | 56 ++- zh_CN.GB2312/books/handbook/l10n/chapter.sgml | 18 +- zh_CN.GB2312/books/handbook/mirrors/chapter.sgml | 39 +- .../books/handbook/network-servers/chapter.sgml | 4 +- zh_CN.GB2312/books/handbook/preface/preface.sgml | 23 +- .../books/handbook/virtualization/Makefile | 18 + .../books/handbook/virtualization/chapter.sgml | 475 +++++++++++++++++++++ 14 files changed, 668 insertions(+), 88 deletions(-) create mode 100644 zh_CN.GB2312/books/handbook/virtualization/Makefile create mode 100644 zh_CN.GB2312/books/handbook/virtualization/chapter.sgml (limited to 'zh_CN.GB2312/books/handbook') diff --git a/zh_CN.GB2312/books/handbook/Makefile b/zh_CN.GB2312/books/handbook/Makefile index 005428fd58..7f201a288b 100644 --- a/zh_CN.GB2312/books/handbook/Makefile +++ b/zh_CN.GB2312/books/handbook/Makefile @@ -3,7 +3,7 @@ # # Build the FreeBSD Handbook (Simplified Chinese). # -# Original revision: 1.101 +# Original revision: 1.102 # ------------------------------------------------------------------------ # @@ -188,6 +188,7 @@ SRCS+= security/chapter.sgml SRCS+= serialcomms/chapter.sgml SRCS+= users/chapter.sgml SRCS+= vinum/chapter.sgml +SRCS+= virtualization/chapter.sgml SRCS+= x11/chapter.sgml # Entities diff --git a/zh_CN.GB2312/books/handbook/basics/chapter.sgml b/zh_CN.GB2312/books/handbook/basics/chapter.sgml index ed75991de2..dbfdb94aa8 100644 --- a/zh_CN.GB2312/books/handbook/basics/chapter.sgml +++ b/zh_CN.GB2312/books/handbook/basics/chapter.sgml @@ -2,7 +2,7 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.146 + Original Revision: 1.147 $FreeBSD$ --> @@ -700,12 +700,8 @@ total 530 /sbin/ 在单个用户和多用户环境下的存放系统程序和管理所需的基本实用目录。 - - - /stand/ - 独立的程序环境。 - - + + /tmp/ 临时文件。 diff --git a/zh_CN.GB2312/books/handbook/book.sgml b/zh_CN.GB2312/books/handbook/book.sgml index 91eca73530..b2076b4698 100644 --- a/zh_CN.GB2312/books/handbook/book.sgml +++ b/zh_CN.GB2312/books/handbook/book.sgml @@ -2,7 +2,7 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Documentation Project - Original Revision: 1.170 + Original Revision: 1.171 $FreeBSD$ --> @@ -257,6 +257,7 @@ + diff --git a/zh_CN.GB2312/books/handbook/chapters.ent b/zh_CN.GB2312/books/handbook/chapters.ent index 0591c39cd8..ffb159ffea 100644 --- a/zh_CN.GB2312/books/handbook/chapters.ent +++ b/zh_CN.GB2312/books/handbook/chapters.ent @@ -6,7 +6,7 @@ Chapters should be listed in the order in which they are referenced. - Original revision: 1.36 + Original revision: 1.37 $FreeBSD$ --> @@ -37,6 +37,7 @@ + diff --git a/zh_CN.GB2312/books/handbook/config/chapter.sgml b/zh_CN.GB2312/books/handbook/config/chapter.sgml index 50c6dfa162..bcdee09b06 100644 --- a/zh_CN.GB2312/books/handbook/config/chapter.sgml +++ b/zh_CN.GB2312/books/handbook/config/chapter.sgml @@ -2,7 +2,7 @@ The FreeBSD Documentation Project The FreeBSD Chinese Documentation Project - Original Revision: 1.225 + Original Revision: 1.226 $FreeBSD$ --> @@ -2199,8 +2199,8 @@ kern.maxvnodes: 100000 电源和资源管理 - 以有效的方式利用硬件资源是非常重要的。在提出 ACPI - 之前,管理电源使用和系统散热对操作系统是很困难的。硬件被嵌入的 + + BIOS 接口管理,例如可插拔 BIOS (PNPBIOS)或者高级电源管理(APM) 等等。电源和资源管理是现代操作系统的关键组成部分。 @@ -2208,6 +2208,13 @@ kern.maxvnodes: 100000 (并且可能提醒您)。 + 以有效的方式利用硬件资源是非常重要的。 在引入 ACPI + 之前, 管理电源使用和系统散热对操作系统是很困难的。 硬件由 BIOS + 进行管理, 因而用户对电源管理配置的控制和查看都比较困难。 一些系统通过 + 高级电源管理 (APM) 提供了有限的配置能力。 + 电源和资源管理是现代操作系统的一个关键组件。 例如, 您可能希望操作系统监视系统的一些限制, + 例如系统的温度是否超出了预期的增长速度 (并在需要时发出警告)。 + 在 &os; 使用手册的这一章节,我们将提供 ACPI 全面的信息。 参考资料会在末尾给出。 @@ -2240,7 +2247,8 @@ kern.maxvnodes: 100000 是一种基于系统目前的活动控制其电源使用的机制。 APM BIOS 由 (系统的) 制造商提供, 并且是硬件平台专属的。 在 OS 中的 APM 驱动作为中介来访问 APM 软件接口, - 从而实现对电源使用的管理。 + 从而实现对电源使用的管理。 在 2000 年或更早的时期生产的计算机系统, + 仍需要使用 APM。 APM 有四个主要的问题。 首先, 电源管理是通过 (制造商专属的) BIOS 实现的, 而 OS 则完全不了解其细节。 @@ -2268,30 +2276,33 @@ kern.maxvnodes: 100000 配置 <acronym>ACPI</acronym> - acpi.ko 驱动默认的在启动时通过 - &man.loader.8; 被加载并且 不应该 - 被编译进内核。原因是这个模块跟系统很容易的工作在一起,比方说不用为了 - acpi.ko 而重新编译内核。 - 这对更简单的测试来说很有利。另一个原因是系统启动后再启动 - ACPI 不是很有用,并且在一些情况下会失败。 - 拿不准的话只要全部禁止 ACPI 即可。 - 这个驱动不应该而且不能被卸载,因为系统通过它跟各种各样的硬件打交道。 - ACPI 可以通过 &man.acpiconf.8; 来禁止。实际上通过 - ACPI 的交互可以通过 &man.acpiconf.8; 来完成。 - 简单的说,如果任何关于 ACPI 的信息在 - &man.dmesg.8; 的输出中,那么它很可能已经运行了。 - - ACPIAPM - 不能共存并且应该分开使用。后来装载的如果注意到另一个在运行将会终止执行。 - - 最简单的表现形式是,ACPI 可以通过 - &man.acpiconf.8; 的 标志和一个 - 1-5 的选项来使系统进入休眠状态。 - 5 选项将会像下面动作一样让系统软关机: + 默认情况下, acpi.ko 驱动, + 会在系统引导时由 &man.loader.8; 加载, 而 不应 + 直接联编进内核。 这样做的原因是模块操作起来更方便, 例如, 无需重新联编内核就可以切换到另一个 + acpi.ko 版本。 这样可以让测试变得更简单一些。 + 另一个原因是, 许多时候在启动已经启动之后再启动 ACPI 可能会有些问题。 + 如果您遇到了问题, 可以全面禁用 ACPI。 + 这个驱动不应, 目前也无法卸载, 因为系统总线通过它与许多不同的硬件进行交互。 + ACPI 可以通过在 + /boot/loader.conf 中配置或在 &man.loader.8; 提示符处配置 + hint.acpi.0.disabled="1" 来禁用。 + + + ACPIAPM 不能共存, + 相反, 它们应分开使用。 后加载的驱动如果发现系统中已经执行了其中的一个, + 便会停止执行。 + + ACPI 可以用来让系统进入休眠模式, + 方法是使用 &man.acpiconf.8; 的 + 参数, 加上一个 1-5 的数字。 多数用户会希望使用 + 13 (挂起到 RAM)。 + 而 5 则会让系统执行与下列命令效果类似的软关机: &prompt.root; halt -p - 其他选项也是可行的。查看 &man.acpiconf.8; 手册页以获得更多信息。 + 除此之外, 还有一些通过 &man.sysctl.8; 提供的选项。 请参见联机手册 + &man.acpi.4; 和 &man.acpiconf.8; 以获得更多信息。 + @@ -2382,7 +2393,7 @@ kern.maxvnodes: 100000 为了得到 ASL 您可以运行这个命令: - &prompt.root; acpidump -t -d > name-system.asl + &prompt.root; acpidump -dt > name-system.asl (把 name 改为您的登录名, @@ -2521,7 +2532,7 @@ hw.acpi.s4bios: 0 /etc/rc.resume 来将这个过程自动化。 在这两个文件中有一个注释掉的卸载和加载驱动程序的例子供您参考。 另外您还可以将 设置为零 - (0), 如果您的显示在唤醒之后显得很混乱。 + (0), 如果您的显示在唤醒之后显得很混乱。 此外您还可以尝试更长或更短的 值看看是否有所助益。 diff --git a/zh_CN.GB2312/books/handbook/geom/chapter.sgml b/zh_CN.GB2312/books/handbook/geom/chapter.sgml index 98ed74168b..40088f9d3d 100644 --- a/zh_CN.GB2312/books/handbook/geom/chapter.sgml +++ b/zh_CN.GB2312/books/handbook/geom/chapter.sgml @@ -2,7 +2,7 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.25 + Original Revision: 1.26 $FreeBSD$ --> diff --git a/zh_CN.GB2312/books/handbook/install/chapter.sgml b/zh_CN.GB2312/books/handbook/install/chapter.sgml index 329f8f0013..d5ba131bdb 100644 --- a/zh_CN.GB2312/books/handbook/install/chapter.sgml +++ b/zh_CN.GB2312/books/handbook/install/chapter.sgml @@ -2,7 +2,7 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.345 + Original Revision: 1.347 $FreeBSD$ --> @@ -769,13 +769,10 @@ FreeBSD/i386 bootstrap loader, Revision 0.8 Please insert MFS root floppy and press enter: 请根据提示将 - kern.flp 软盘取出, 并插入 - mfsroot.flp 这张盘, 然后按 - Enter。 &os; 5.3 - 和更高版本提供了另外一组软盘, - 在 前一节 - 中已经介绍过了。 您只需从第一张软盘启动, - 然后再需要时根据提示插入其他软盘。 + boot.flp 软盘取出, 插入 + kern1.flp 这张盘, 然后按 + Enter。 您只需从第一张软盘启动, + 然后再需要时根据提示插入其他软盘就可以了。 @@ -804,9 +801,11 @@ Booting [kernel] in 9 seconds... _ - 如您需要准备安装软盘,请参考 。 - 将用 kern.flp 做的引导盘放入软驱中然后输入下列命令 - (请视实际情况修改命令中的软驱盘符): + 如您需要制作用于安装的软盘, 请参考 + , 将其中一张制作为第一片引导盘, 其中包含 + boot.flp。 将这张软盘插进软驱, 并输入下列命令, + 以便从软盘启动 + (请视实际情况修改命令中的软驱盘符): >>>BOOT DVA0 -FLAGS '' -FILE '' @@ -819,10 +818,12 @@ Booting [kernel] in 9 seconds... _ 然后 FreeBSD 就会启动。如果您从软盘引导,到某个阶段您会看到下面的信息: - Please insert MFS root floppy and press enter: + Insert disk labelled "Kernel floppy 1" and press any key... - 按照屏幕指示,将 kern.flp 软盘取出,换上 - mfsroot.flp 然后按Enter键。 + 此时应按照提示取出 + boot.flp 软盘, 换上 + kern1.flp 软盘, 然后按 + Enter 键。 @@ -949,8 +950,8 @@ Mounting root from ufs:/dev/md0c 如果 CDROM 还留在光驱里,而且选择了 &gui.yes;, 则安装程序将重新启动。 - 如果您是从软盘启动,那么重新开机前您必须将 mfsroot.flp - 软盘取出再换上 kern.flp 软盘。 + 如果您是从软盘启动, 则在重启系统之前, + 需要将 boot.flp 软盘取出。 @@ -1886,12 +1887,12 @@ Mounting root from ufs:/dev/md0c - + 对于一个 FTP 代理服务器而言,通常在使用者登入名称中加入您要登入的 服务器的用户名,加在 @ 符号后面。然后代理服务器就会 假装 成一个真的服务器。 例如, 假设您要从 ftp.FreeBSD.org 安装,通过 FTP - 代理服务器 foo.example.com,使用1024端口。 + 代理服务器 foo.example.com,使用1234端口。 在这种情况下,您可以到 options 菜单,将 FTP username 设为 ftp@ftp.FreeBSD.org,密码设为您的电子邮件地址。 diff --git a/zh_CN.GB2312/books/handbook/jails/chapter.sgml b/zh_CN.GB2312/books/handbook/jails/chapter.sgml index d89033eb5d..e49ba98b7b 100644 --- a/zh_CN.GB2312/books/handbook/jails/chapter.sgml +++ b/zh_CN.GB2312/books/handbook/jails/chapter.sgml @@ -2,7 +2,7 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.1 + Original Revision: 1.5 $FreeBSD$ --> @@ -72,27 +72,42 @@ &man.chroot.2; (命令) - + + &os; 的一个系统调用, 其作用是改变进程及其衍生进程所能看到的根目录。 + &man.chroot.2; (环境) - + + chroot 中运行的进程环境。 + 这包括类似文件系统中的可见部分、 可用的用户及用户组 ID、 + 网络接口以及其他 IPC 机制等资源。 + &man.jail.8; (命令) - + + 用以在 jail 环境中运行进程的系统管理工具。 + 宿主 (系统、 进程、 用户等等) - + + 能够控制 jail 环境的系统。 宿主系统能够访问全部可用的硬件资源, + 并能够控制 jail 环境内外的进程。 宿主系统与 jail 的一项重要区别是, + 在宿主系统中的超级用户进程, 并不像在 + jail 中那样受到一系列限制。 + hosted (系统、 进程、 用户等等) - + + 可访问资源受 &os; jail 限制的进程、 用户或其他实体。 + @@ -106,22 +121,22 @@ 使其能够用于真正的用途, 而阻止安全方面的风险。 &os; 系统提供的一项用于改善安全的工具就是 jail。 - jail 是在 &os; 4.X 中由 &a.phk; 引入的, 它在 - &os; 5.X 中又进行了一系列改进, 使得它称为一个强大而灵活的系统。 + jail 是在 &os;-4.X 中由 &a.phk; 引入的, 它在 + &os;-5.X 中又进行了一系列改进, 使得它称为一个强大而灵活的系统。 目前仍然在对其进行持续的开发, 以提高其可用性、 性能和安全性。 Jail 是什么 - BSD-类的操作系统从 4.2BSD 开始即提供了 &man.chroot.2;。 - &man.chroot.2; 工具能够改变一组进程的 / 目录的位置, + BSD-类的操作系统从 4.2BSD 开始即提供了 &man.chroot.8;。 + &man.chroot.2; 工具能够改变一组进程的根目录的位置, 从而建立一个与系统中其他部分相隔离的安全环境: 在 chroot 环境中的进程, 将无法访问其外的文件或其他资源。 正是由于这种能力, 即使攻击者攻破了某一个运行于 chroot 环境的服务, 也不能攻破整个系统。 - &man.chroot.2; 对于哪些不需要很多灵活性或复杂的高级功能的简单应用而言相当好用。 + &man.chroot.8; 对于哪些不需要很多灵活性或复杂的高级功能的简单应用而言相当好用。 另外, 在引入 chroot 概念的过程中, 曾经发现过许多跳出 chroot 环境的方法, 尽管这些问题在较新的 &os; 版本中已经修正, 但很明显地, - &man.chroot.2; 并不是一项用于加固服务安全的理想解决方案。 + &man.chroot.8; 并不是一项用于加固服务安全的理想解决方案。 因此, 必须实现一个新的子系统来解决这些问题。 这就是为什么要开发 @@ -154,7 +169,8 @@ IP 地址 — 这个地址是指定给 jail 的, - 在 jail 的生命周期内都无法改变。 通常这个地址是某一个网络接口上的别名地址。 + 在 jail 的生命周期内都无法改变。 通常 jail 的 IP 地址是某一个网络接口上的别名地址, + 但这并不是必需的。 @@ -168,7 +184,7 @@ root 用户。 自然, 这里的 root 用户的权力会受限于 jail 环境, 并且, 从宿主系统的观点看来, jail root 用户并不是一个无所不能的用户。 - 此外, root 用户不能执行除了其对应 &man.jail.8; + 此外, jail 中的 root 用户不能执行除了其对应 &man.jail.8; 环境之外的系统中的一些关键操作。 关于 root 用户的能力和限制, 在后面的 中将加以介绍。 @@ -195,12 +211,13 @@ is not required on &os; 6.0 and later. - 为 jail 选择一个位置是建立它的第一步。 这个路径是宿主系统中 jail + 为 jail 选择一个位置是建立它的第一步。 这个路径是在宿主系统中 jail 的物理位置。 一种常用的选择是 /usr/jail/jailname, 此处 jailname 是 jail 的主机名。 /usr/ 文件系统通常会有足够的空间来保存 jail - 文件系统, 后者通常包含 &os; 默认安装的基本系统中每个文件的副本。 + 文件系统, 对于 完整 的 jail 而言, + 这通常包含 &os; 默认安装的基本系统中每个文件的副本。 @@ -213,7 +230,8 @@ is not required on &os; 6.0 and later. distribution 这个 make target 将安装全部配置文件, 或者换句话说, 就是将 - /usr/src/etc/ 复制到 + /usr/src/etc/ 复制到 jail 环境中的 + /etc$D/etc/ @@ -232,7 +250,7 @@ is not required on &os; 6.0 and later. &man.jail.8; 工具来安装它了。 &man.jail.8; 工具需要四个必填参数, 这些参数在 小节中进行了介绍。 除了这四个参数之外, - 您还可以指定一些其他参数, 例如以特定用户身份来运行程序等等。 + 您还可以指定一些其他参数, 例如, 以特定用户身份来在 jail 中运行程序等等。 这里, command 参数取决于您希望建立的 jail 的类型; 对于 虚拟系统, 可以选择 /etc/rc, 因为它会完成真正的 &os; 系统启动所需的操作。 对于 @@ -256,7 +274,7 @@ jail_list="www" # jail_www_rootdir="/usr/jail/www" # jail 的根目录 jail_www_hostname="www.example.org" # jail 的主机名 -jail_www_ip_="192.168.0.10" # jail 的 IP 地址 +jail_www_ip="192.168.0.10" # jail 的 IP 地址 jail_www_devfs_enable="YES" # 在 jail 中挂接 devfs jail_www_devfs_ruleset="www_ruleset" # 在 jail 中应用的devfs 规则集 diff --git a/zh_CN.GB2312/books/handbook/l10n/chapter.sgml b/zh_CN.GB2312/books/handbook/l10n/chapter.sgml index edaf6069e5..32da110d93 100644 --- a/zh_CN.GB2312/books/handbook/l10n/chapter.sgml +++ b/zh_CN.GB2312/books/handbook/l10n/chapter.sgml @@ -2,7 +2,7 @@ The FreeBSD Documentation Project The FreeBSD Chinese Documentation Project - Original Revision: 1.122 + Original Revision: 1.123 $FreeBSD$ --> @@ -248,15 +248,15 @@ #of Taiwan can manually change each variable me:\ :lang=zh_TW.Big5:\ - :lc_all=zh_TW.Big:\ - :lc_collate=zh_TW.Big5:\ - :lc_ctype=zh_TW.Big5:\ - :lc_messages=zh_TW.Big5:\ - :lc_monetary=zh_TW.Big5:\ - :lc_numeric=zh_TW.Big5:\ - :lc_time=zh_TW.Big5:\ + :setenv=LC_ALL=zh_TW.Big:\ + :setenv=LC_COLLATE=zh_TW.Big5:\ + :setenv=LC_CTYPE=zh_TW.Big5:\ + :setenv=LC_MESSAGES=zh_TW.Big5:\ + :setenv=LC_MONETARY=zh_TW.Big5:\ + :setenv=LC_NUMERIC=zh_TW.Big5:\ + :setenv=LC_TIME=zh_TW.Big5:\ :charset=big5:\ - :xmodifiers="@im=xcin": #Setting the XIM Input Server + :xmodifiers="@im=gcin": #Set gcin as the XIM Input Server 更多的信息参考管理员级设置和&man.login.conf.5; diff --git a/zh_CN.GB2312/books/handbook/mirrors/chapter.sgml b/zh_CN.GB2312/books/handbook/mirrors/chapter.sgml index 5e568d7947..2ce7787a51 100644 --- a/zh_CN.GB2312/books/handbook/mirrors/chapter.sgml +++ b/zh_CN.GB2312/books/handbook/mirrors/chapter.sgml @@ -2,7 +2,7 @@ The FreeBSD Documentation Project The FreeBSD Chinese Documentation Project - Original Revision: 1.429 + Original Revision: 1.432 $FreeBSD$ --> @@ -1969,6 +1969,17 @@ doc/zh_* + + src-cddl + release=cvs + + + 采用了 + CDDL 授权的实用工具和函数库 + (/usr/src/cddl)。 + + + src-contrib release=cvs @@ -2088,6 +2099,16 @@ doc/zh_* (/usr/src/release)。 + + + src-rescue + release=cvs + + + 用于紧急修复的静态联编的程序; 请参见 &man.rescue.8; + (/usr/src/rescue)。 + + src-sbin release=cvs @@ -3063,6 +3084,22 @@ doc/zh_* + + 台湾地区 (中国) + + + rsync://ftp.tw.FreeBSD.org/ + rsync://ftp2.tw.FreeBSD.org/ + rsync://ftp6.tw.FreeBSD.org/ + + 可用的 collection: + + FreeBSD: FreeBSD FTP + 服务器的完整镜像。 + + + + 英国 diff --git a/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml b/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml index 479c36a76d..2d09e69368 100644 --- a/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml +++ b/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml @@ -2,7 +2,7 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.94 + Original Revision: 1.95 $FreeBSD$ --> @@ -4064,7 +4064,7 @@ DocumentRoot /www/someotherdomain.tld 请参见 官方的 Samba HOWTO + url="http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/">官方的 Samba HOWTO 以了解关于配置选项的进一步信息。 按照前面给出的描述, 您应该已经可以启动 Samba 了。 diff --git a/zh_CN.GB2312/books/handbook/preface/preface.sgml b/zh_CN.GB2312/books/handbook/preface/preface.sgml index 224d000e49..ad6aeff3a1 100644 --- a/zh_CN.GB2312/books/handbook/preface/preface.sgml +++ b/zh_CN.GB2312/books/handbook/preface/preface.sgml @@ -1,7 +1,7 @@ @@ -300,6 +300,13 @@ Kerberos, IPsec 以及 OpenSSH。 + + , Jail + + 介绍了 jail 框架, 以及 jail 相对于 + &os; 中传统的 chroot 支持的改进。 + + , 强制访问控制 @@ -307,6 +314,14 @@ FreeBSD 系统的安全。 + + , 安全事件审计 + + 介绍了 &os; 事件审计是什么, 以及如何安装、 配置它, + 并检查或监视审计记帐信息。 + + + ,存储 @@ -328,6 +343,12 @@ RAID-0、RAID-1 以及 RAID-5。 + + , 虚拟化 + + 介绍了虚拟化系统提供的功能, 以及如何配合 &os; 使用它们。 + + ,本地化 diff --git a/zh_CN.GB2312/books/handbook/virtualization/Makefile b/zh_CN.GB2312/books/handbook/virtualization/Makefile new file mode 100644 index 0000000000..c8e2b9c25d --- /dev/null +++ b/zh_CN.GB2312/books/handbook/virtualization/Makefile @@ -0,0 +1,18 @@ +# +# Build the Handbook with just the content from this chapter. +# +# The FreeBSD Simplified Chinese Project +# Original Revision: 1.1 +# +# $FreeBSD$ +# + +CHAPTERS= virtualization/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/zh_CN.GB2312/books/handbook/virtualization/chapter.sgml b/zh_CN.GB2312/books/handbook/virtualization/chapter.sgml new file mode 100644 index 0000000000..fb3b70ce67 --- /dev/null +++ b/zh_CN.GB2312/books/handbook/virtualization/chapter.sgml @@ -0,0 +1,475 @@ + + + + + + + Murray + Stokely + 原作 + + + + + + 虚拟化 + + + 概述 + + 虚拟化软件能够让同一台机器上同时运行多个操作系统。 + 在 PC 上, 这种系统通常由一个运行虚拟化软件的宿主操作系统, + 以及一系列客户操作系统组成。 + + 读完这章, 您将了解: + + + + 宿主操作系统与客户操作系统的区别。 + + + + 如何在包含 &xen; 的 Linux 上安装 FreeBSD。 + + + + 如何在采用 &intel; 处理器的 &apple; &macintosh; + 计算机上安装 FreeBSD。 + + + + 如何为虚拟化对 FreeBSD 系统进行性能调优。 + + + + + 在阅读这章之前, 您应: + + + + 理解 &unix; 和 FreeBSD 的基础知识 ()。 + + + 了解如何安装 FreeBSD ()。 + + 了解如何配置网络连接 ()。 + + 了解如何安装第三方软件 + (). + + + + + + + + 作为客户 OS 的 FreeBSD + + + MacOS 上的 Parallels + + 为 &mac; 设计的 Parallels Desktop 是一种可用于采用 &intel; 处理器, 并运行 &macos; + 10.4.6 或更高版本的 &apple; &mac; 计算机的商业软件。 在 &macos; + X 上安装了这个软件之后, 用户需要配置虚拟机并安装所需的客户操作系统。 + + + 在 Parallels/&macos; X 上安装 FreeBSD + + 在 &macos; + X/Parallels 上安装 FreeBSD 的第一步是创建一个新的虚拟机。 + 在系统提示选择客户 OS 类型 (Guest OS Type) 时选择 FreeBSD, + 并根据您使用 FreeBSD 虚拟实例的需要分配磁盘和内存。 对多数在 Parallels 上使用 + FreeBSD 的情形而言, 4GB 磁盘空间和 512MB 的 RAM 就够用了。 + + 在创建了 FreeBSD 虚拟机之后, 还需要在其中安装 FreeBSD。 + 最好的做法是使用官方的 FreeBSD CDROM 或从官方 FTP 站点下载的 ISO 镜像来完成这个任务。 + 如果您的本地 &mac; 文件系统中有 ISO 映像文件, 或您的 &mac; 的 CD 驱动器中有 + CDROM, 就可以在 FreeBSD Parallels 窗口的右下角点击光盘图标。 + 之后, 系统将给出一个窗口, 供您完成将虚拟机中的 + CDROM 驱动器连接到本地的 ISO 文件或真正的 CDROM 驱动器上。 + + 在完成了将 CDROM 与您的安装源完成关联之后, + 就可以按重启 (reboot) 图标来重启 FreeBSD 虚拟机了。 Parallels 将配合一个特殊的 + BIOS 启动, 后者能够像普通的 BIOS 一样检查系统中是否有 CDROM 驱动器。 + 此时, 它就能够找到 FreeBSD 安装介质并开始 + 中所介绍的标准的基于 sysinstall 安装的过程。 此时您可以安装 X11, + 但暂时不要对它进行配置。 在完成安装之后, 重启并进入新安装的 FreeBSD 虚拟机。 + + + + + 在 &macos; X/Parallels 上配置 FreeBSD + + 在您将 FreeBSD 安装到 &macos; + X 的 Parallels 上之后, 还需要进行一系列的配置, + 以便为系统的虚拟化操作进行优化。 + + + + 配置引导加载器变量 + + 最重要的一步是通过调低 + 变量来降低 Parallels 环境中的 FreeBSD + 对 CPU 的使用。 这可以通过在 + /boot/loader.conf 中增加下述配置来完成: + + kern.hz=100 + + 如果不使用这个配置, 闲置的 FreeBSD Parallels 客户 + OS 会在单处理器的 &imac; 上使用大约 15% 的 CPU。 如此修改之后, + 空闲时的使用量就减少到大约 5% 了。 + + + + 创建新的内核配置文件 + + 您可以删去全部 SCSI、 FireWire, 以及 USB + 设备驱动程序。 Parallels 提供了一个由 &man.ed.4; 驱动的虚拟网卡, + 因此, 除了 + &man.ed.4; 和 &man.miibus.4; + 之外的其他网络接口驱动都可以从内核中删去。 + + + + 配置网络 + + 最基本的网络配置, 是通过使用 DHCP 来将您的虚拟机与宿主 &mac; + 接入同一个局域网。 这可以通过在 + /etc/rc.conf 中加入 + ifconfig_ed0="DHCP" 来完成。 + 更高级一些的网络配置方法, 请参见 中的介绍。 + + + + + + + + + + + + 福康 + 陈 (Loader) + 原作 + + + + + + 在 Linux 上通过 &xen; 运行 FreeBSD + + &xen; hypervisor 是一个开放源代码的并行虚拟化产品, + 并由商业的 XenSource 公司提供支持。 在这种系统中, 客户操作系统称为 domU 域, + 而宿主系统则称为 dom0。 在 Linux 上运行 FreeBSD 虚拟机实例的第一步, 是安装用于 + Linux dom0 的 + &xen;。 在这个例子中, + 宿主系统采用的发行版本是 Slackware Linux。 + + + 在 Linux dom0 上安装 &xen; 3 + + + + 从 XenSource 下载 &xen; 3.0 + + 下载 xen-3.0.4_1-src.tgz + + + + + 解压缩源代码包 + + &prompt.root; cd xen-3.0.4_1-src +&prompt.root; KERNELS="linux-2.6-xen0 linux-2.6-xenU" make world +&prompt.root; make install + + + 为 dom0 重新编译内核: + + &prompt.root; cd xen-3.0.4_1-src/linux-2.6.16.33-xen0 +&prompt.root; make menuconfig +&prompt.root; make +&prompt.root; make install + + 对于较早版本的 &xen;, 可能需要指定 + make ARCH=xen menuconfig + + + + + 在 Grub 的 menu.lst 中增加一个对应的菜单项 + + 编辑 /boot/grub/menu.lst + 并在其中增加下列配置: + + title Xen-3.0.4 +root (hd0,0) +kernel /boot/xen-3.0.4-1.gz dom0_mem=262144 +module /boot/vmlinuz-2.6.16.33-xen0 root=/dev/hda1 ro + + + + 重新启动计算机并进入 &xen; + + 首先, 编辑 + /etc/xen/xend-config.sxp, + 并在其中增加下列配置: + + (network-script 'network-bridge netdev=eth0') + + 接下来就可以运行 + &xen; 了: + + &prompt.root; /etc/init.d/xend start +&prompt.root; /etc/init.d/xendomains start + + 现在 dom0 已经开始运行: + + &prompt.root; xm list +Name ID Mem VCPUs State Time(s) +Domain-0 0 256 1 r----- 54452.9 + + + + + + FreeBSD 7-CURRENT domU + + http://www.fsmware.com/ + 下载用于 &xen; 3.0 的 FreeBSD domU 内核。 + + + + kernel-current + + + + mdroot-7.0.bz2 + + + + xmexample1.bsd + + + + 将配置文件 xmexample1.bsd + 放到 /etc/xen/ 并修改与内核及磁盘映像位置有关的配置项。 + 下面是一个示范的例子: + + kernel = "/opt/kernel-current" +memory = 256 +name = "freebsd" +vif = [ '' ] +disk = [ 'file:/opt/mdroot-7.0,hda1,w' ] +#on_crash = 'preserve' +extra = "boot_verbose" +extra += ",boot_single" +extra += ",kern.hz=100" +extra += ",vfs.root.mountfrom=ufs:/dev/xbd769a" + + 其中, mdroot-7.0.bz2 应是未压缩的。 + + 接下来, 您需要修改 kernel-current 中的 __xen_guest + 小节, 并加入 &xen; 3.0.3 所需要的 VIRT_BASE: + + &prompt.root; objcopy kernel-current -R __xen_guest +&prompt.root; perl -e 'print "LOADER=generic,GUEST_OS=freebsd,GUEST_VER=7.0,XEN_VER=xen-3.0,BSD_SYMTAB,VIRT_BASE=0xC0000000\x00"' > tmp +&prompt.root; objcopy kernel-current --add-section __xen_guest=tmp + + &prompt.root; objdump -j __xen_guest -s kernel-current + +kernel-current: file format elf32-i386 + +Contents of section __xen_guest: + 0000 4c4f4144 45523d67 656e6572 69632c47 LOADER=generic,G + 0010 55455354 5f4f533d 66726565 6273642c UEST_OS=freebsd, + 0020 47554553 545f5645 523d372e 302c5845 GUEST_VER=7.0,XE + 0030 4e5f5645 523d7865 6e2d332e 302c4253 N_VER=xen-3.0,BS + 0040 445f5359 4d544142 2c564952 545f4241 D_SYMTAB,VIRT_BA + 0050 53453d30 78433030 30303030 3000 SE=0xC0000000. + + 现在可以创建并运行 domU 了: + + &prompt.root; xm create /etc/xen/xmexample1.bsd -c +Using config file "/etc/xen/xmexample1.bsd". +Started domain freebsd +WARNING: loader(8) metadata is missing! +Copyright (c) 1992-2006 The FreeBSD Project. +Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 +The Regents of the University of California. All rights reserved. +FreeBSD 7.0-CURRENT #113: Wed Jan 4 06:25:43 UTC 2006 + kmacy@freebsd7.gateway.2wire.net:/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF +WARNING: DIAGNOSTIC option enabled, expect reduced performance. +Xen reported: 1796.927 MHz processor. +Timecounter "ixen" frequency 1796927000 Hz quality 0 +CPU: Intel(R) Pentium(R) 4 CPU 1.80GHz (1796.93-MHz 686-class CPU) + Origin = "GenuineIntel" Id = 0xf29 Stepping = 9 + Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH, + DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> + Features2=0x4400<CNTX-ID,<b14>> +real memory = 265244672 (252 MB) +avail memory = 255963136 (244 MB) +xc0: <Xen Console> on motherboard +cpu0 on motherboard +Timecounters tick every 10.000 msec +[XEN] Initialising virtual ethernet driver. +xn0: Ethernet address: 00:16:3e:6b:de:3a +[XEN] +Trying to mount root from ufs:/dev/xbd769a +WARNING: / was not properly dismounted +Loading configuration files. +No suitable dump device was found. +Entropy harvesting: interrupts ethernet point_to_point kickstart. +Starting file system checks: +/dev/xbd769a: 18859 files, 140370 used, 113473 free (10769 frags, 12838 blocks, 4.2% fragmentation) +Setting hostname: demo.freebsd.org. +lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 + inet6 ::1 prefixlen 128 + inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 + inet 127.0.0.1 netmask 0xff000000 +Additional routing options:. +Mounting NFS file systems:. +Starting syslogd. +/etc/rc: WARNING: Dump device does not exist. Savecore not run. +ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/X11R6/lib /usr/local/lib +a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout +Starting usbd. +usb: Kernel module not available: No such file or directory +Starting local daemons:. +Updating motd. +Starting sshd. +Initial i386 initialization:. +Additional ABI support: linux. +Starting cron. +Local package initialization:. +Additional TCP options:. +Starting background file system checks in 60 seconds. + +Sun Apr 1 02:11:43 UTC 2007 + +FreeBSD/i386 (demo.freebsd.org) (xc0) + +login: + + 现在 domU 应该能运行 &os; 7.0-CURRENT + 内核了: + + &prompt.root; uname -a +FreeBSD demo.freebsd.org 7.0-CURRENT FreeBSD 7.0-CURRENT #113: Wed Jan 4 06:25:43 UTC 2006 +kmacy@freebsd7.gateway.2wire.net:/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF i386 + + 接下来可以在 domU 中配置网络了。 &os; + domU 会使用一种称做 + xn0 的专用网络接口: + + &prompt.root; ifconfig xn0 10.10.10.200 netmask 255.0.0.0 +&prompt.root; ifconfig +xn0: flags=843<UP,BROADCAST,RUNNING,SIMPLEX> mtu 1500 + inet 10.10.10.200 netmask 0xff000000 broadcast 10.255.255.255 + ether 00:16:3e:6b:de:3a +lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 + inet6 ::1 prefixlen 128 + inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 + inet 127.0.0.1 netmask 0xff000000 + + 在 dom0 Slackware 上 会出现一些 &xen; + 专用的网络接口: + + &prompt.root; ifconfig +eth0 Link encap:Ethernet HWaddr 00:07:E9:A0:02:C2 + inet addr:10.10.10.130 Bcast:0.0.0.0 Mask:255.0.0.0 + UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 + RX packets:815 errors:0 dropped:0 overruns:0 frame:0 + TX packets:1400 errors:0 dropped:0 overruns:0 carrier:0 + collisions:0 txqueuelen:0 + RX bytes:204857 (200.0 KiB) TX bytes:129915 (126.8 KiB) + +lo Link encap:Local Loopback + inet addr:127.0.0.1 Mask:255.0.0.0 + UP LOOPBACK RUNNING MTU:16436 Metric:1 + RX packets:99 errors:0 dropped:0 overruns:0 frame:0 + TX packets:99 errors:0 dropped:0 overruns:0 carrier:0 + collisions:0 txqueuelen:0 + RX bytes:9744 (9.5 KiB) TX bytes:9744 (9.5 KiB) + +peth0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF + UP BROADCAST RUNNING NOARP MTU:1500 Metric:1 + RX packets:1853349 errors:0 dropped:0 overruns:0 frame:0 + TX packets:952923 errors:0 dropped:0 overruns:0 carrier:0 + collisions:0 txqueuelen:1000 + RX bytes:2432115831 (2.2 GiB) TX bytes:86528526 (82.5 MiB) + Base address:0xc000 Memory:ef020000-ef040000 + +vif0.1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF + UP BROADCAST RUNNING NOARP MTU:1500 Metric:1 + RX packets:1400 errors:0 dropped:0 overruns:0 frame:0 + TX packets:815 errors:0 dropped:0 overruns:0 carrier:0 + collisions:0 txqueuelen:0 + RX bytes:129915 (126.8 KiB) TX bytes:204857 (200.0 KiB) + +vif1.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF + UP BROADCAST RUNNING NOARP MTU:1500 Metric:1 + RX packets:3 errors:0 dropped:0 overruns:0 frame:0 + TX packets:2 errors:0 dropped:157 overruns:0 carrier:0 + collisions:0 txqueuelen:1 + RX bytes:140 (140.0 b) TX bytes:158 (158.0 b) + +xenbr1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF + UP BROADCAST RUNNING NOARP MTU:1500 Metric:1 + RX packets:4 errors:0 dropped:0 overruns:0 frame:0 + TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 + collisions:0 txqueuelen:0 + RX bytes:112 (112.0 b) TX bytes:0 (0.0 b) + + &prompt.root; brctl show +bridge name bridge id STP enabled interfaces +xenbr1 8000.feffffffffff no vif0.1 + peth0 + vif1.0 + + + + + + 运行于 &windows;/&mac;/&linux; 的 VMware + + 本节尚未开始撰写。 + + + + + + + 作为宿主 OS 的 FreeBSD + + 目前, 还没有任何一种虚拟化软件包官方支持 FreeBSD 作为宿主操作系统, + 但很多人使用较早版本的 VMware 提供的这项能力。 目前, + 已经有人在为让 &xen; 能够在 FreeBSD 上作为宿主环境而进行相关的开发工作。 + + + + + + -- cgit v1.2.3