From b99e83b0a7c48690c2e6b7699bbd549e9a2c8da1 Mon Sep 17 00:00:00 2001 From: Xin LI Date: Wed, 15 Mar 2006 19:38:56 +0000 Subject: Mass synchnorization to the English revisions: Makefile 1.95 -> 1.97 book.sgml 1.162 -> 1.164 chapters.ent 1.32 -> 1.33 advanced-networking/chapter.sgml 1.367 -> 1.380 audit/chapter.sgml 1.5 -> 1.13 basics/chapter.sgml 1.137 -> 1.143 [1] boot/chapter.sgml 1.59 -> 1.64 config/chapter.sgml 1.212 -> 1.216 [2] cutting-edge/chapter.sgml 1.217 -> 1.222 [3] [4] [5] desktop/chapter.sgml 1.56 -> 1.64 disks/chapter.sgml 1.241 -> 1.251 eresources/chapter.sgml 1.174 -> 1.175 firewalls/chapter.sgml 1.62 -> 1.66 geom/chapter.sgml 1.7 -> 1.22 install/chapter.sgml 1.329 -> 1.331 [6] [7] [8] [1] introduction/chapter.sgml 1.110 -> 1.111 kernelconfig/chapter.sgml 1.158 -> 1.163 [1] l10n/chapter.sgml 1.111 -> 1.118 linuxemu/chapter.sgml 1.124 -> 1.129 mac/chapter.sgml 1.47 -> 1.49 mail/chapter.sgml 1.129 -> 1.133 mirrors/Makefile (add proper original revision) mirrors/chapter.sgml 1.386 -> 1.411 multimedia/chapter.sgml 1.110 -> 1.115 network-servers/chapter.sgml 1.69 -> 1.78 [9] [10] pgpkeys/chapter.sgml 1.270 -> 1.286 ports/chapter.sgml 1.243 -> 1.253 [8] ppp-and-slip/Makefile (correct original revision) ppp-and-slip/chapter.sgml 1.170 -> 1.172 preface/preface.sgml 1.29 -> 1.30 printing/chapter.sgml 1.93 -> 1.95 security/chapter.sgml 1.281 -> 1.292 serialcomms/chapter.sgml 1.100 -> 1.112 users/chapter.sgml 1.52 -> 1.54 x11/chapter.sgml 1.166 -> 1.169 [8] Obtained from: The FreeBSD Simplified Chinese Project Merging work done by: delphij, intron with language suggestions from: alakee [1], Qiang LI [2], liushk@gmail.com [3], Ye ZHANG [4], zhaoyongjie [5], sharkwang at gmail.com [6], Heng DUANMU [7], [8], mengkezhi [9], [10] --- .../books/handbook/cutting-edge/chapter.sgml | 92 +++++++++++----------- 1 file changed, 44 insertions(+), 48 deletions(-) (limited to 'zh_CN.GB2312/books/handbook/cutting-edge') diff --git a/zh_CN.GB2312/books/handbook/cutting-edge/chapter.sgml b/zh_CN.GB2312/books/handbook/cutting-edge/chapter.sgml index e367dd337e..b9a1e6f6b9 100644 --- a/zh_CN.GB2312/books/handbook/cutting-edge/chapter.sgml +++ b/zh_CN.GB2312/books/handbook/cutting-edge/chapter.sgml @@ -2,7 +2,7 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.217 + Original Revision: 1.222 $FreeBSD$ --> @@ -342,15 +342,16 @@ - 如果安装一个新的系统又想它尽可能稳定的话,您可以仅仅从 - 获取最新的分支快照并象其它发行版一样安装它。或者您可以从镜像站点安装最新的 &os.stable; 发行版, - 并按照下边的说明升级您的系统到最新的 &os.stable; 源码。 + 如果您正安装一个新系统, 并希望它运行每月从 &os.stable; 编译的快照, + 请察看 + Snapshots 网页以了解更多信息。 + 另外, 也可以从 + 镜像站点 安装最新的 &os.stable; 发行版, + 并按照其中的说明将系统更新到最新的 &os.stable; 源代码。 - 如果您已经在运行以前的 &os; 发行版,并希望通过源码方式升级, - 那么您可能轻易的从 &os; 镜像站点完成。 - 有两种方式: + 如果您已经在运行较早的 &os; 版本, 并希望通过源代码方式升级, + 则可以通过 &os; 镜像站点 来完成。 + 这可以通过两种方式来进行: @@ -364,7 +365,7 @@ 使用CVSup同步 - 与称作 standard-supfile 的 + 与称作 stable-supfilesupfile 一起使用 cvsup,这个可以从 /usr/share/examples/cvsup 得到。 @@ -522,8 +523,9 @@ 讲清问题的本质以及受影响的系统。在问题解决后,再贴封解除(all clear)声明。 - 如可您想跟踪 &os.stable; 或 &os.current; - 而又不阅读 &a.stable; 和 &a.current; 各自的邮件列表,那么您是自找麻烦。 + 如果使用 &os.stable; 或 &os.current; + 而又不阅读 &a.stable; 和 &a.current; 各自的邮件列表, + 那么您是自找麻烦。 @@ -611,7 +613,8 @@ 一般的用户通常会从 /usr/share/examples/etc/make.conf (或者 &os; 4.X 中的 /etc/defaults/make.conf) 复制 CFLAGS 和 - NOPROFILE 这样的设置到 + NO_PROFILE (或者, 在 + &os; 5.X 和更早版本上, 是 NOPROFILE) 这样的设置到 /etc/make.conf 中并令它们生效。 请考虑其他的一些选项 (例如 COPTFLAGS、 @@ -788,13 +791,13 @@ Script done, … /etc/make.conf 设置的变量一样, 只是提供了另一种设置它们的方法。 - &prompt.root; make -DNOPROFILE target + &prompt.root; make -DNO_PROFILE target 是另一种指定不被建立 (built) 的先定库 (profiled libraries) 的方式,协同 /etc/make.conf 里的 - NOPROFILE= true # 避免编译先定库 + NO_PROFILE= true # 避免编译性能分析库 一起使用。 @@ -854,25 +857,29 @@ Script done, … &prompt.root; make buildworld - 现在可能给 make 指定 - 选项了,这样会使用产生出几个并发的进程来。 - 这在多处理器 (multi-CPU) 机器里最有用。但是, - 由于大部分的编译过程是 IO 限制远胜 CPU 限制,它在单处理器 - (single-CPU) 的机器里也是有用的。 + 目前, 我们提供了一个试验性的功能, 可以在构建过程中为 + make 指定 参数, + 令其在构建过程中同时启动多个并发的进程。 对于多 CPU 的机器而言, + 这样做有助于发挥其性能。 不过, 由于编译过程中的瓶颈主要是在 IO + 而不是 CPU 上, 因此它也会对单 CPU 的机器带来好处。 - 在一般的单 CPU 机器里,您要运行: + 对典型的单 CPU 机器, 可以使用: &prompt.root; make -j4 buildworld - &man.make.1; 然后会有至多 4 个进程在同一时刻执行。 - 贴到邮件列表里的实验证据显示这样会收到最好的效果。 + 这样, &man.make.1; 会最多同时启动 4 个进程。 + 从发到邮件列表中的经验看, 这样做能带来最佳的性能。 + + 如果您使用的机器有多颗 CPU, 并且配置了 SMP 的内核, + 也可以试试看 6 到 10 的数值, 并观察是否能带来构建性能上的改善。 - 如果您有一台多 CPU 机器,那您就使用 SMP - 配置内核,试试 6 到 10 之间的值,看这些值提速如何。 + + 目前为止这仍然是试验性的功能, 提交到源代码树上的变更, + 也随时可能导致这一功能不可用。 如果您使用这个参数时发现无法构建 + world, 在报告问题之前, 应首先试试看去掉这个参数是否能修正问题。 - 注意,这仍处在实验性阶段,如果提交到源码树上的话, - 可能会断送其前程 (break this feature)。 - 如果用这个参数编译的话,您报告错误前试试不用它。 + 当您通过源代码升级系统时, 使用这一选项可能引致无法预测的后果。 + @@ -920,11 +927,6 @@ Script done, … &prompt.root; cd /usr/src &prompt.root; make buildkernel KERNCONF=MYKERNEL &prompt.root; make installkernel KERNCONF=MYKERNEL - - 在 FreeBSD 4.2 或更早的版本里,您必须使用 - KERNEL= 替换 KERNCONF=。在 - 2001 年 2 月 2 号以前发行的 4.2-STABLE 并不识别 - KERNCONF= 注意,如果您已把 内核安全级别(kern.securelevel) @@ -934,11 +936,6 @@ Script done, … 如果您没有设置它, 则应该也能毫无问题地在多用户模式执行这两个命令。 请参考 &man.init.8; 以了解更多关于 内核安全级(kern.securelevel) 的信息;查看 &man.chflags.1; 了解更多关于不同文件标识的信息。 - 如果您升级到 &os; 4.0 以前版本,您应旧的内核 build - 程序。但还是推荐您使用新版的 &man.config.8;, - 可以使用下边的命令行: - - &prompt.root; /usr/obj/usr/src/usr.sbin/config/config KERNELNAME @@ -970,11 +967,11 @@ Script done, … 举例,您执行了: - &prompt.root; make -DNOPROFILE buildworld + &prompt.root; make -DNO_PROFILE buildworld 您就必须使用: - &prompt.root; make -DNOPROFILE installworld + &prompt.root; make -DNO_PROFILE installworld 来安装结果,否则就要试着安装先定 (profiled) 的在 make buildworld 阶段没有建立 (built) @@ -1012,10 +1009,6 @@ Script done, … 源码树里边的配置文件的不同点。 这是保持系统配置文件同源码树里的一起更新的推荐方式。 - mergemaster 被集成到了 3.3-RELEASE 和 - 3.4-RELEASE 之间的 FreeBSD 基本系统里,这意味着自 3.3 - 版本起所有的 -STABLE 和 -CURRENT 系统都有。 - 在提示符里简单地输入 mergemaster 就可以开始,并观看它的开始过程。mergemaster 会建立一个临时的根(root)环境,在 / 下, @@ -1231,7 +1224,7 @@ Script done, … 不必包括日戳 (time stamps)。最简单的方式是使用 &man.awk.1; 提取信息: &prompt.root; cd /dev -&prompt.root; ls -l | awk '{print $1, $2, $3, $4, $5, $6, $NF}' > /var/tmp/dev.out +&prompt.root; ls -l | awk '{print $1, $2, $3, $4, $5, $6, $NF}' > /var/tmp/dev.out @@ -1401,7 +1394,10 @@ Script done, … … 问题修复 … &prompt.root; cd /usr/src -&prompt.root; make -DNOCLEAN all +&prompt.root; make -DNO_CLEAN all + + 在 &os; 5.X 和更早版本中, 应使用 + -DNOCLEAN 代替。 这样就不会取消先前的 make buildworld 所做的工作。 @@ -1443,7 +1439,7 @@ Building everything.. 关掉 profiling (在 /etc/make.conf - 里设置 NOPROFILE=true)。您差不多用不了它。 + 里设置 NO_PROFILE=true)。您差不多用不了它。 @@ -1557,7 +1553,7 @@ Building everything.. 首先,确定一批机器,运行的二进制代码是同一套---我们称作 建造套件(build set)。每台机器可以有定制内核, 但他们运行的是相同的用户区二进制文件(userland binaries)。 - 从这个集起,选择一台机器做为 建造机器(build machine)。 + 从这批机器中选择一台机器做为 建造机器(build machine)。 这将是用于建造(build)系统和内核的机器。想像一下,它应该是一台快速的机器, 有足够的空余的 CPU 来执行make buildworld。 您也想要选一台机器做为 测试机器(test machine), -- cgit v1.2.3