aboutsummaryrefslogtreecommitdiff
path: root/zh_CN.GB2312/books/handbook
diff options
context:
space:
mode:
authorGabor Kovesdan <gabor@FreeBSD.org>2012-08-21 19:16:02 +0000
committerGabor Kovesdan <gabor@FreeBSD.org>2012-08-21 19:16:02 +0000
commit2e51ec7022b39b6fb3524de08669b20d0d436285 (patch)
tree79fbae1d36dfb1cf1c634282cd893ef6532e3abb /zh_CN.GB2312/books/handbook
parentb2153405c50aa7276c3b5ad07d50eec1f0b45449 (diff)
downloaddoc-2e51ec7022b39b6fb3524de08669b20d0d436285.tar.gz
doc-2e51ec7022b39b6fb3524de08669b20d0d436285.zip
- Strip unnecessary trailing spaces
Approved by: doceng (implicit)
Notes
Notes: svn path=/projects/sgml2xml/; revision=39416
Diffstat (limited to 'zh_CN.GB2312/books/handbook')
-rw-r--r--zh_CN.GB2312/books/handbook/advanced-networking/chapter.sgml26
-rw-r--r--zh_CN.GB2312/books/handbook/audit/chapter.sgml2
-rw-r--r--zh_CN.GB2312/books/handbook/basics/chapter.sgml16
-rw-r--r--zh_CN.GB2312/books/handbook/bibliography/chapter.sgml8
-rw-r--r--zh_CN.GB2312/books/handbook/book.sgml6
-rw-r--r--zh_CN.GB2312/books/handbook/boot/chapter.sgml4
-rw-r--r--zh_CN.GB2312/books/handbook/chapters.ent2
-rw-r--r--zh_CN.GB2312/books/handbook/config/chapter.sgml10
-rw-r--r--zh_CN.GB2312/books/handbook/cutting-edge/chapter.sgml8
-rw-r--r--zh_CN.GB2312/books/handbook/desktop/chapter.sgml18
-rw-r--r--zh_CN.GB2312/books/handbook/disks/chapter.sgml72
-rw-r--r--zh_CN.GB2312/books/handbook/dtrace/chapter.sgml4
-rw-r--r--zh_CN.GB2312/books/handbook/eresources/chapter.sgml6
-rw-r--r--zh_CN.GB2312/books/handbook/filesystems/chapter.sgml6
-rw-r--r--zh_CN.GB2312/books/handbook/firewalls/chapter.sgml6
-rw-r--r--zh_CN.GB2312/books/handbook/geom/chapter.sgml6
-rw-r--r--zh_CN.GB2312/books/handbook/install/chapter.sgml130
-rw-r--r--zh_CN.GB2312/books/handbook/introduction/chapter.sgml74
-rw-r--r--zh_CN.GB2312/books/handbook/jails/chapter.sgml4
-rw-r--r--zh_CN.GB2312/books/handbook/kernelconfig/chapter.sgml14
-rw-r--r--zh_CN.GB2312/books/handbook/l10n/chapter.sgml8
-rw-r--r--zh_CN.GB2312/books/handbook/mac/chapter.sgml6
-rw-r--r--zh_CN.GB2312/books/handbook/mail/chapter.sgml4
-rw-r--r--zh_CN.GB2312/books/handbook/mirrors/chapter.sgml228
-rw-r--r--zh_CN.GB2312/books/handbook/multimedia/chapter.sgml22
-rw-r--r--zh_CN.GB2312/books/handbook/network-servers/chapter.sgml10
-rw-r--r--zh_CN.GB2312/books/handbook/ports/chapter.sgml12
-rw-r--r--zh_CN.GB2312/books/handbook/ppp-and-slip/chapter.sgml4
-rw-r--r--zh_CN.GB2312/books/handbook/printing/chapter.sgml554
-rw-r--r--zh_CN.GB2312/books/handbook/security/chapter.sgml48
-rw-r--r--zh_CN.GB2312/books/handbook/txtfiles.ent8
-rw-r--r--zh_CN.GB2312/books/handbook/users/chapter.sgml4
-rw-r--r--zh_CN.GB2312/books/handbook/vinum/chapter.sgml76
-rw-r--r--zh_CN.GB2312/books/handbook/virtualization/chapter.sgml60
-rw-r--r--zh_CN.GB2312/books/handbook/x11/chapter.sgml6
35 files changed, 736 insertions, 736 deletions
diff --git a/zh_CN.GB2312/books/handbook/advanced-networking/chapter.sgml b/zh_CN.GB2312/books/handbook/advanced-networking/chapter.sgml
index bdf40ed789..f7ef29e103 100644
--- a/zh_CN.GB2312/books/handbook/advanced-networking/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/advanced-networking/chapter.sgml
@@ -491,7 +491,7 @@ host2.example.com link#1 UC 0 0
<para>在这里,<hostid>RouterA</hostid> 是我们的 &os;
机子,它充当连接到互联网其它部分的路由器的角色。
- 默认路由设置为<hostid
+ 默认路由设置为<hostid
role="ipaddr">10.0.0.1</hostid>,
它就允许与外界连接。我们假定已经正确配置了
<hostid>RouterB</hostid>,并且知道如何连接到想去的任何地方。
@@ -636,7 +636,7 @@ route_net2="-net 192.168.1.0/24 192.168.1.1"</programlisting>
<acronym>DVMRP</acronym> 多播路由协议,
在许多采用多播的场合,
它已被 &man.pim.4; 取代。 &man.mrouted.8; 以及相关的
- &man.map-mbone.8; 和 &man.mrinfo.8 工具可以在 &os; 的 Ports&nbsp;Collection
+ &man.map-mbone.8; 和 &man.mrinfo.8 工具可以在 &os; 的 Ports&nbsp;Collection
<filename role="package">net/mrouted</filename> 中找到。</para>
</note>
</sect2>
@@ -1817,7 +1817,7 @@ wpa_pairwise=CCMP TKIP <co id="co-ap-wpapsk-pwise"/></programlisting>
<callout arearefs="co-ap-wpapsk-ciface">
<para><literal>ctrl_interface</literal> 这项给出了
- <application>hostapd</application>
+ <application>hostapd</application>
存储与其他外部程序(比如 &man.hostapd.cli.8;)
通信的域套接口文件路径。这里使用了默认值。</para>
</callout>
@@ -2894,11 +2894,11 @@ bridge0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; metric 0 mtu 1
"/usr/lib/snmp_bridge.so"</literal>
并启动 <application>bsnmpd</application> 守护进程。
其他的配置选项诸如 community names 和 access lists
- 可能也许也需要修改。 参阅 &man.bsnmpd.1; 和
+ 可能也许也需要修改。 参阅 &man.bsnmpd.1; 和
&man.snmp.bridge.3; 获取更多信息。</para>
<para>以下的例子中使用了
- <application>Net-SNMP</application> 软件
+ <application>Net-SNMP</application> 软件
(<filename role="package">net-mgmt/net-snmp</filename>)
来查询一个网桥,当然同样也能够使用port
<filename role="package">net-mgmt/bsnmptools</filename>。
@@ -2934,7 +2934,7 @@ RSTP-MIB::dot1dStpVersion.0 = INTEGER: rstp(2)</screen>
<literal>dot1dStpTimeSinceTopologyChange.0</literal>
的值则能够显示这是何时改变的。</para>
- <para>监测多个网桥接口可以使用 private
+ <para>监测多个网桥接口可以使用 private
BEGEMOT-BRIDGE-MIB:</para>
<screen>&prompt.user; <userinput>snmpwalk -v 2c -c public bridge1.example.com</userinput>
@@ -3079,9 +3079,9 @@ BEGEMOT-BRIDGE-MIB::begemotBridgeDefaultBridgeIf.0 s bridge2</screen>
&prompt.root; <userinput>ifconfig <replaceable>lagg0</replaceable> up laggproto lacp laggport <replaceable>fxp0</replaceable> laggport <replaceable>fxp1</replaceable></userinput></screen>
<para>用下面的命令查看接口状态:</para>
-
+
<screen>&prompt.root; <userinput>ifconfig <replaceable>lagg0</replaceable></userinput></screen>
-
+
<para>标记为
<emphasis>ACTIVE</emphasis> 的接口是激活据合组的部分,
这表示它们已经完成了与远程交换机的协商,
@@ -3100,10 +3100,10 @@ BEGEMOT-BRIDGE-MIB::begemotBridgeDefaultBridgeIf.0 s bridge2</screen>
<para>如果需要查看交换机上的端口状态, 则应使用 <userinput>show
lacp neighbor</userinput> 命令:</para>
- <screen>switch# show lacp neighbor
-Flags: S - Device is requesting Slow LACPDUs
+ <screen>switch# show lacp neighbor
+Flags: S - Device is requesting Slow LACPDUs
F - Device is requesting Fast LACPDUs
- A - Device is in Active mode P - Device is in Passive mode
+ A - Device is in Active mode P - Device is in Passive mode
Channel group 1 neighbors
@@ -3111,7 +3111,7 @@ Partner's information:
LACP port Oper Port Port
Port Flags Priority Dev ID Age Key Number State
-Fa0/1 SA 32768 0005.5d71.8db8 29s 0x146 0x3 0x3D
+Fa0/1 SA 32768 0005.5d71.8db8 29s 0x146 0x3 0x3D
Fa0/2 SA 32768 0005.5d71.8db8 29s 0x146 0x4 0x3D</screen>
<para>如欲查看进一步的详情, 则需要使用 <userinput>show lacp neighbor
@@ -3173,7 +3173,7 @@ lagg0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; metric 0 mtu 150
bge0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; metric 0 mtu 1500
options=19b&lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&gt;
ether 00:21:70:da:ae:37
- inet6 fe80::221:70ff:feda:ae37%bge0 prefixlen 64 scopeid 0x2
+ inet6 fe80::221:70ff:feda:ae37%bge0 prefixlen 64 scopeid 0x2
nd6 options=29&lt;PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL&gt;
media: Ethernet autoselect (1000baseT &lt;full-duplex&gt;)
status: active</screen>
diff --git a/zh_CN.GB2312/books/handbook/audit/chapter.sgml b/zh_CN.GB2312/books/handbook/audit/chapter.sgml
index 26a2315bbe..06eeed9f3d 100644
--- a/zh_CN.GB2312/books/handbook/audit/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/audit/chapter.sgml
@@ -497,7 +497,7 @@ trailer,133</programlisting>
注意审计用户 ID 和实际用户 ID 是不同的:
用户 <username>robert</username> 在执行这个命令之前已经切换为
<username>root</username> 帐户, 但它会以最初进行身份验证的用户身份进行审计。
- 最后, <literal>return</literal> 短语表示执行成功,
+ 最后, <literal>return</literal> 短语表示执行成功,
而 <literal>trailer</literal> 表示终结这一记录。</para>
<para><command>praudit</command>
diff --git a/zh_CN.GB2312/books/handbook/basics/chapter.sgml b/zh_CN.GB2312/books/handbook/basics/chapter.sgml
index 6884e7e19f..30560c4d22 100644
--- a/zh_CN.GB2312/books/handbook/basics/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/basics/chapter.sgml
@@ -284,7 +284,7 @@ options SC_PIXEL_MODE</programlisting>
<screen>&prompt.root; <userinput>vidcontrol -i mode</userinput></screen>
<para>这个命令的输出是一份你的硬件所支持的显示模式列表。
- 你可以在以 root 身份在控制台上键入 &man.vidcontrol.1;
+ 你可以在以 root 身份在控制台上键入 &man.vidcontrol.1;
命令来改变显示模式:</para>
<screen>&prompt.root; <userinput>vidcontrol MODE_279</userinput></screen>
@@ -852,8 +852,8 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
<entry><filename class="directory">/sbin/</filename></entry>
<entry>在单个用户和多用户环境下的存放系统程序和管理所需的基本实用目录。</entry>
</row>
-
-
+
+
<row>
<entry><filename class="directory">/tmp/</filename></entry>
<entry>临时文件。
@@ -1185,7 +1185,7 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
<itemizedlist>
<title>多个文件系统的益处</title>
-
+
<listitem>
<para>不同的文件系统可用不同的 <firstterm>挂接参数</firstterm>。
举些例子, 仔细想一下, 根文件系统能用只读的方式挂接上,
@@ -1309,7 +1309,7 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
slices, 但您可以在物理 slice 中使用适当的类型来创建逻辑 slice。
这些扩展 slice 编号从 5 开始, 因此
<quote>ad0<emphasis>s5</emphasis></quote> 是第一个 IDE 磁盘中的第一个
- 扩展 slice。 文件系统所使用的设备应该占满 slice。</para>
+ 扩展 slice。 文件系统所使用的设备应该占满 slice。</para>
<para>Slices, <quote>专用指定</quote> 物理驱动器,
和其他驱动器都包含 <firstterm>partitions</firstterm>,
@@ -1464,7 +1464,7 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
| | &gt; referred to as ad0s2b |
| | | |
:-----------------: ==: | Partition c, no
-| | | Partition e, used as /var &gt; file system, all
+| | | Partition e, used as /var &gt; file system, all
| | &gt; referred to as ad0s2e | of FreeBSD slice,
| | | | ad0s2c
:-----------------: ==: |
@@ -1998,8 +1998,8 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
<para>在系统上随意杀死进程是个坏主意,特别是&man.init.8;,
它的进程ID是1,它非常特殊。可以运行
<command>/bin/kill -s KILL 1</command> 命令来让系统迅速关机。
- 当您按下 <keycap>Return</keycap> (回车)键之前,
- <emphasis>一定要</emphasis> 详细检查您运行 &man.kill.1;
+ 当您按下 <keycap>Return</keycap> (回车)键之前,
+ <emphasis>一定要</emphasis> 详细检查您运行 &man.kill.1;
时所指定的参数。</para>
</important>
</sect1>
diff --git a/zh_CN.GB2312/books/handbook/bibliography/chapter.sgml b/zh_CN.GB2312/books/handbook/bibliography/chapter.sgml
index bdb33fbecb..75ae35efe0 100644
--- a/zh_CN.GB2312/books/handbook/bibliography/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/bibliography/chapter.sgml
@@ -77,14 +77,14 @@
<listitem>
<para><ulink url="http://www.shoeisha.com/book/Detail.asp?bid=650">
- Complete Introduction to FreeBSD</ulink> (日文),
+ Complete Introduction to FreeBSD</ulink> (日文),
出版商:<ulink url="http://www.shoeisha.co.jp/">Shoeisha Co., Ltd</ulink>. ISBN 4-88135-473-6 P3600E.</para>
</listitem>
<listitem>
<para><ulink
url="http://www.ascii.co.jp/pb/book1/shinkan/detail/1322785.html">
- Personal UNIX Starter Kit FreeBSD</ulink> (日文),
+ Personal UNIX Starter Kit FreeBSD</ulink> (日文),
出版商:<ulink url="http://www.ascii.co.jp/">ASCII</ulink>. ISBN 4-7561-1733-3 P3000E.</para>
</listitem>
@@ -134,7 +134,7 @@
<listitem>
<para>Onno W Purbo, Dodi Maryanto, Syahrial Hubbany, Widjil Widodo
<emphasis><ulink url="http://maxwell.itb.ac.id/">Building Internet
- Server with FreeBSD</ulink></emphasis> (印尼文),
+ Server with FreeBSD</ulink></emphasis> (印尼文),
出版商: <ulink url="http://www.elexmedia.co.id/">Elex Media
Komputindo</ulink>.</para>
</listitem>
@@ -359,7 +359,7 @@
<listitem>
<para>Harbison, Samuel P. and Steele, Guy L. Jr. <emphasis>C: A
- Reference Manual</emphasis>. 4th ed. Prentice Hall, 1995.
+ Reference Manual</emphasis>. 4th ed. Prentice Hall, 1995.
ISBN 0-13-326224-3</para>
</listitem>
diff --git a/zh_CN.GB2312/books/handbook/book.sgml b/zh_CN.GB2312/books/handbook/book.sgml
index be41db34ba..fc8e96f6ab 100644
--- a/zh_CN.GB2312/books/handbook/book.sgml
+++ b/zh_CN.GB2312/books/handbook/book.sgml
@@ -125,7 +125,7 @@
服务器</ulink> 或众多的 <link
linkend="mirrors-ftp">镜像站点</link> 得到这份文档的各种其他格式以及压缩形式的版本。
如果您更希望得到一份印刷版本的手册, 可以从
- <ulink url="http://www.FreeBSDmall.com/">FreeBSD Mall</ulink> 购买。 您还可以 <ulink
+ <ulink url="http://www.FreeBSDmall.com/">FreeBSD Mall</ulink> 购买。 您还可以 <ulink
url="&url.base;/search/index.html">搜索手册</ulink>。</para>
</abstract>
</bookinfo>
@@ -169,10 +169,10 @@
&chap.ports;
&chap.x11;
</part>
-
+
<part id="common-tasks">
<title>常见的任务</title>
-
+
<partintro>
<para>前面已经介绍了必要的基础知识, 手册的这一部分将讨论 FreeBSD 的一些最常用的功能。
这些章节包括:</para>
diff --git a/zh_CN.GB2312/books/handbook/boot/chapter.sgml b/zh_CN.GB2312/books/handbook/boot/chapter.sgml
index 61cbc47bff..34559ac5ed 100644
--- a/zh_CN.GB2312/books/handbook/boot/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/boot/chapter.sgml
@@ -192,7 +192,7 @@ label=FreeBSD</programlisting>
<application>bsdlabel</application>(见下文)复制自被组合而成的
<filename>/boot/boot</filename>。</para>
- <para>它们位于文件系统外,引导分区的第一轨道,从第一扇区开始。在这里<link
+ <para>它们位于文件系统外,引导分区的第一轨道,从第一扇区开始。在这里<link
linkend="boot-boot0">boot0</link>,或者任何其它引导管理器,
期望找到一个程序运行,继续引导进程。
所使用的扇区数可由<filename>/boot/boot</filename>的大小确定。</para>
@@ -220,7 +220,7 @@ boot:</screen>
<para>如果您要更改已安装的 <filename>boot1</filename> 和
<filename>boot2</filename>,请使用命令
&man.bsdlabel.8;。</para>
-
+
<screen>&prompt.root; <userinput>bsdlabel -B <replaceable>diskslice</replaceable></userinput></screen>
<para><replaceable>diskslice</replaceable> 是用于引导的磁盘和分区,
diff --git a/zh_CN.GB2312/books/handbook/chapters.ent b/zh_CN.GB2312/books/handbook/chapters.ent
index 4430320c72..13f3c50907 100644
--- a/zh_CN.GB2312/books/handbook/chapters.ent
+++ b/zh_CN.GB2312/books/handbook/chapters.ent
@@ -6,7 +6,7 @@
chapter's .sgml file is stored.
Chapters should be listed in the order in which they are referenced.
-
+
Original revision: 1.39
$FreeBSD$
-->
diff --git a/zh_CN.GB2312/books/handbook/config/chapter.sgml b/zh_CN.GB2312/books/handbook/config/chapter.sgml
index a0e28d6519..a9461408a7 100644
--- a/zh_CN.GB2312/books/handbook/config/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/config/chapter.sgml
@@ -523,7 +523,7 @@ HOME=/var/log
<command>crontab</command> 程序来完成。最常见的用法是:</para>
<screen>&prompt.user; <userinput>crontab crontab-file</userinput></screen>
-
+
<para>在前面的例子中, <filename>crontab-file</filename> 是一个事先写好的
<filename>crontab</filename>。</para>
@@ -536,7 +536,7 @@ HOME=/var/log
它将会启动一个编辑器并且创建一个新文件,当这个文件被保存的时候,
它会自动的用 <command>crontab</command> 来安装这个文件。
</para>
-
+
<para>如果您稍后想要彻底删除自己的用户 <filename>crontab</filename>
可以使用 <command>crontab</command> 的 <option>-r</option>
选项。
@@ -577,7 +577,7 @@ HOME=/var/log
<programlisting>natd_enable="YES"</programlisting>
<para>如果 <option>natd_enable="NO"</option> 行已经存在,
- 只要简单的把 <option>NO</option> 改成
+ 只要简单的把 <option>NO</option> 改成
<option>YES</option> 即可。
rc 脚本在下次重新启动的时候会自动的装载所需要的服务,
像下面所描述的那样。</para>
@@ -2175,8 +2175,8 @@ kern.maxvnodes: 100000</screen>
<title>电源和资源管理</title>
<para>
-
-
+
+
<acronym>BIOS</acronym> 接口管理,例如<emphasis>可插拔 BIOS
(PNPBIOS)</emphasis>或者<emphasis>高级电源管理(APM)</emphasis>
等等。电源和资源管理是现代操作系统的关键组成部分。
diff --git a/zh_CN.GB2312/books/handbook/cutting-edge/chapter.sgml b/zh_CN.GB2312/books/handbook/cutting-edge/chapter.sgml
index ba45c3f974..a40120fdd1 100644
--- a/zh_CN.GB2312/books/handbook/cutting-edge/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/cutting-edge/chapter.sgml
@@ -118,7 +118,7 @@
你需要安装
<filename role="package">net/cvsup</filename> port
或者二进制包(如果你不想要安装图形界面的 <command>cvsup</command>
- 客户端的话, 则可以安装
+ 客户端的话, 则可以安装
<filename role="package">net/cvsup-without-gui</filename> port)。
你也可以使用 &man.csup.1; 代替,
它现在已经是基本系统的一部分了。</para>
@@ -612,7 +612,7 @@ Fetching 133 new ports or files... done.</screen>
<para>这个例子展示的是 &man.portsnap.8;
发现并校验了几个用于当前 ports 的补丁。这还表明以前运行过,
- 如果是第一次运行的话,那么仅仅只会下载 Ports Collection。</para>
+ 如果是第一次运行的话,那么仅仅只会下载 Ports Collection。</para>
<para>在 &man.portsnap.8; 成功地完成一次
<command>fetch</command> 操作之后,
@@ -980,7 +980,7 @@ DOCSUPFILE?= /usr/share/examples/cvsup/doc-supfile</programlisting>
<para>允许构建 HTML 格式: 每份文档为一个单一的 HTML 文件。
此种文档的文件名视情况而定通常是
<filename>article.html</filename>,
- 或 <filename>book.html</filename>,
+ 或 <filename>book.html</filename>,
另外附加一些图片。</para>
</listitem>
</varlistentry>
@@ -1037,7 +1037,7 @@ DOCSUPFILE?= /usr/share/examples/cvsup/doc-supfile</programlisting>
<note>
<para>当使用二进制包时, 将安装所指定语言相关的 &os; 文档的
- <emphasis>所有</emphasis> 可用格式。</para>
+ <emphasis>所有</emphasis> 可用格式。</para>
</note>
<para>举例来说, 以下的命令将安装最新预编译的匈牙利语文档:</para>
diff --git a/zh_CN.GB2312/books/handbook/desktop/chapter.sgml b/zh_CN.GB2312/books/handbook/desktop/chapter.sgml
index 90ad46035d..d09876f0c9 100644
--- a/zh_CN.GB2312/books/handbook/desktop/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/desktop/chapter.sgml
@@ -150,7 +150,7 @@
<entry>长</entry>
<entry><application>Gtk+</application></entry>
</row>
-
+
<row>
<entry><application>Konqueror</application></entry>
<entry>中等</entry>
@@ -205,7 +205,7 @@
<para>通过 Ports 套件来安装 <application>OpenJDK 6</application>,
输入下面的命令:</para>
-
+
<screen>&prompt.root; <userinput>cd /usr/ports/java/openjdk6</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
@@ -343,8 +343,8 @@
并符合标准的浏览器。 它还提供了内建的邮件和新闻阅读器、 IRC 客户端,
RSS/Atom feed 阅读器以及更多功能。 除此之外,
<application>Opera</application> 是一个比较轻量的浏览器,
- 其速度很快。 它提供了两种不同的版本: <quote>native</quote>
- FreeBSD 版本, 以及通过 Linux
+ 其速度很快。 它提供了两种不同的版本: <quote>native</quote>
+ FreeBSD 版本, 以及通过 Linux
模拟运行的版本。</para>
<para>要使用 <application>Opera</application> 的 FreeBSD
@@ -466,7 +466,7 @@
<entry><application>LibreOffice</application></entry>
<entry>较重</entry>
<entry>巨大</entry>
- <entry><application>Gtk+</application> 或 <application>KDE</application>/
+ <entry><application>Gtk+</application> 或 <application>KDE</application>/
<application>GNOME</application> 或 <application>&jdk;</application></entry>
</row>
</tbody>
@@ -667,7 +667,7 @@
它提供了许多不同语言的支持 &mdash; 国际化支持除了界面之外,
还包括了拼写检查器和字典。</para>
- <para><application>LibreOffice</application>
+ <para><application>LibreOffice</application>
的字处理程序使用了内建的 XML 文件格式,
以期获得更好的可移植性和灵活性。
电子表格程序提供了一种可以与外部数据库交互的宏语言支持。
@@ -897,7 +897,7 @@
和 <application>Excel</application> 文件。</para>
<para>本节涵盖如下程序:</para>
-
+
<informaltable frame="none" pgwide="1">
<tgroup cols="4">
<thead>
@@ -1035,14 +1035,14 @@
<secondary><application>KMyMoney</application></secondary>
</indexterm>
- <para><application>KMyMoney</application> 是一个
+ <para><application>KMyMoney</application> 是一个
<application>KDE</application>环境下的个人财务管理软件。
<application>KMyMoney</application>
旨在提供并融合各种商业财务管理软件所有的重要特性。
它也同样注重易用性和特有的复式记帐功能。
<application>KMyMoney</application>
能从标准的 Quicken Interchange Format (QIF) 文件导入数据,
- 追踪投资,处理多种货币并能提供一个财务报告。
+ 追踪投资,处理多种货币并能提供一个财务报告。
另有可用的插件支持导入 OFX 格式的数据。</para>
<para>以 package 的方式安装 <application>KMyMoney</application>
diff --git a/zh_CN.GB2312/books/handbook/disks/chapter.sgml b/zh_CN.GB2312/books/handbook/disks/chapter.sgml
index c3dcbfa1ec..59121317ad 100644
--- a/zh_CN.GB2312/books/handbook/disks/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/disks/chapter.sgml
@@ -168,7 +168,7 @@
<para>因为 FreeBSD 运行在 IBM-PC 兼容机上,它必须遵循 PC BIOS 分区规范。
这与传统的 BSD 分区是不同的。一个 PC 的磁盘最高只能有四个 BIOS
- 主分区。如果磁盘只安装 FreeBSD 您可以使用 <emphasis>dedicated</emphasis>
+ 主分区。如果磁盘只安装 FreeBSD 您可以使用 <emphasis>dedicated</emphasis>
模式。另外, FreeBSD 必须安装在 PC BIOS 支持的分区内。FreeBSD 把分区叫作
<emphasis>slices</emphasis> 这可能会把人搞糊涂。您也可以在只安装
FreeBSD 的磁盘上使用 slices,也可以在安装有其它操作系统的磁盘上使用
@@ -271,7 +271,7 @@
<para>这步安装将允许磁盘与可能安装在您计算机上的其它操作系统一起
正确工作,而不会搞乱其它操作系统的分区。推荐使用这种方法来安装
- 新磁盘,除非您有更好的理由再使用 <literal>dedicated</literal>
+ 新磁盘,除非您有更好的理由再使用 <literal>dedicated</literal>
模式!</para>
<screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da1 bs=1k count=1</userinput>
@@ -291,7 +291,7 @@
<title>专用模式</title>
<indexterm><primary>OS/2</primary></indexterm>
- <para>如果您并没有安装其它的操作系统,可以使用 <literal>dedicated</literal>
+ <para>如果您并没有安装其它的操作系统,可以使用 <literal>dedicated</literal>
模式。记住这种模式可能会弄乱 Microsoft 的操作系统,但不会对它进行破坏。
它不识别找到的 IBM &os2 的 <quote>appropriate</quote> 分区。</para>
@@ -356,7 +356,7 @@
接下来是速度和性能。 这个系统的数据传输速度基本上受限于网络。
性能也非常重要,
CCD 驱动器上的所有数据都被备份到了 CD-R 盘, 可以很容易地对数据进行恢复。
- </para>
+ </para>
<para>在选择一个大容量的存储解决方案时,第一步是要设计您自己的需求。
如果您的需求更偏重于速度和性能,那么您的解决方案将就不同于上面的设计。
@@ -381,7 +381,7 @@ ad3: 29333MB &lt;WDC WD307AA&gt; [59598/16/63] at ata1-slave UDMA33</programlist
正确。大多数 IDE 磁盘有一个 <quote>Cable Select</quote> 跳线。这个
<emphasis>不是</emphasis> 设置 master/slave 硬盘的跳线。查阅文档
信息来确定正确的跳线设置。</para></note>
-
+
<para>接下来考虑的是,如何创建文件系统。应该好好研究一下 &man.vinum.4; (<xref
linkend="vinum-vinum"/>)和 &man.ccd.4; 两种方式,在这里我们选择 &man.ccd.4;
</para>
@@ -391,7 +391,7 @@ ad3: 29333MB &lt;WDC WD307AA&gt; [59598/16/63] at ata1-slave UDMA33</programlist
<title>安装 CCD</title>
<para>&man.ccd.4; 允许用户将几个相同的的磁盘通过一个逻辑文件系统
- 连接起来。要使用 &man.ccd.4;,您需要在内核中配置 &man.ccd.4;
+ 连接起来。要使用 &man.ccd.4;,您需要在内核中配置 &man.ccd.4;
支持选项。把这行加入到内核配置文件中,然后重建内核:</para>
<programlisting>device ccd</programlisting>
@@ -404,7 +404,7 @@ ad3: 29333MB &lt;WDC WD307AA&gt; [59598/16/63] at ata1-slave UDMA33</programlist
bsdlabel -w ad2 auto
bsdlabel -w ad3 auto</programlisting>
- <para>此处将整个硬盘创建为 <devicename>ad1c</devicename>, <devicename>ad2c</devicename>
+ <para>此处将整个硬盘创建为 <devicename>ad1c</devicename>, <devicename>ad2c</devicename>
和 <devicename>ad3c</devicename>。</para>
<para>下一步是改变 disklable 的类型。也可以使用 &man.bsdlabel.8; 来编辑:</para>
@@ -514,7 +514,7 @@ bsdlabel -e ad3</programlisting>
<para>Vinum 卷管理是一个实现虚拟磁盘的块驱动设备工具。它使磁盘从
块设备的接口和数据映射中独立出来。与传统的存储设备相比,增加了
- 灵活性、性能和可靠性。 &man.vinum.4; 实现了 RAID-0、RAID-1 和
+ 灵活性、性能和可靠性。 &man.vinum.4; 实现了 RAID-0、RAID-1 和
RAID-5 三种模式,它们既可以独立使用,也可组合使用。</para>
<para>参考 <xref linkend="vinum-vinum"/> 得到更多 &man.vinum.4;
@@ -906,7 +906,7 @@ umass0: detached</screen>
Microsoft 系统的 Joliet 扩展,<option>-hfs</option> 选项能用来创建用于
&macos; 系统的 HFS 文件系统。</para>
- <para>对于那些即将要在 FreeBSD 系统中使用 CD 的人来说,<option>-U</option>
+ <para>对于那些即将要在 FreeBSD 系统中使用 CD 的人来说,<option>-U</option>
选项能用来消除所有文件名的限制。当使用 <option>-R</option> 选项时,它会产生一个
文件系统映像,它与您从那儿启动 FreeBSD 树是一样的,虽然它在许多方面也违反了
ISO 9660 的标准。</para>
@@ -937,7 +937,7 @@ umass0: detached</screen>
<screen>&prompt.root; <userinput>mdconfig -a -t vnode -f /tmp/bootable.iso -u 0</userinput>
&prompt.root; <userinput>mount -t cd9660 /dev/md0 /mnt</userinput></screen>
- <para>可以发现 <filename>/mnt</filename> 和 <filename>/tmp/myboot</filename>
+ <para>可以发现 <filename>/mnt</filename> 和 <filename>/tmp/myboot</filename>
是一样的。</para>
<para>还可以使用 &man.mkisofs.8;
@@ -951,7 +951,7 @@ umass0: detached</screen>
<primary>CDROMs</primary>
<secondary>burning</secondary>
</indexterm>
- <para>如果用的是 ATAPI 的 CD 刻录机,可以使用 <command>burncd</command>
+ <para>如果用的是 ATAPI 的 CD 刻录机,可以使用 <command>burncd</command>
 命令来刻录您的 CD ISO 映像文件。 <command>burncd</command> 命令是基本
 系统的一部分,中以使用 <filename>/usr/sbin/burncd</filename> 来安装。
 用法如下:</para>
@@ -968,7 +968,7 @@ umass0: detached</screen>
<sect2 id="cdrecord">
<title>cdrecord</title>
- <para>如果没有一个 ATAPI CD 刻录机,必须使用 <command>cdrecord</command>
+ <para>如果没有一个 ATAPI CD 刻录机,必须使用 <command>cdrecord</command>
来刻录您的 CD 。 <command>cdrecord</command> 不是基本系统的一部分;必须
从 <filename role="package">sysutils/cdrtools</filename> 或适当的
package 安装它。基本系统的变化可能会引起这个程序的错误。可能是由
@@ -1013,7 +1013,7 @@ scsibus1:
<para>这个列表列出了设备的的适当的 <option>dev</option> 值。找到您的
CD burner ,使用三个用逗号分隔的数值来表示 <option>dev</option>.在
这个例子中,CRW 是 <option>dev=1,5,0</option>,所以正确的输入应是
- dev=1,5,0 。有一个很容易的方法可以指定这个值;看看 &man.cdrecord.1;
+ dev=1,5,0 。有一个很容易的方法可以指定这个值;看看 &man.cdrecord.1;
的介绍了解有关音轨,控制速度和其他的东西。</para>
</sect2>
@@ -1146,7 +1146,7 @@ scsibus1:
Unicode 字符自动转换为内核可以识别的形式。 如果您发现有些非英文字符显示为问号,
就绪要使用 <option>-C</option> 选项来指定字符集了。
欲了解进一步的详情, 请参见联机手册 &man.mount.cd9660.8;。</para>
-
+
<note>
<para>如果希望通过 <option>-C</option> 选项来进行字符集转换,
则内核会需要加载 <filename>cd9660_iconv.ko</filename> 模块。 这项工作可以通过在
@@ -1420,7 +1420,7 @@ cd0: Attempt to query device size failed: NOT READY, Medium not present - tray c
光盘成为不可附加的。这会提供更多的和
DVD-ROM 驱动器的介质兼容性。</para>
- <para>也可以刻录成一个 pre-mastered 映像,
+ <para>也可以刻录成一个 pre-mastered 映像,
例如记录一个映像文件
<replaceable>imagefile.iso</replaceable>, 我们可以运行:</para>
@@ -1471,7 +1471,7 @@ cd0: Attempt to query device size failed: NOT READY, Medium not present - tray c
</indexterm>
<para>DVD-Video 是一种特殊的基于 ISO 9660
- 和 micro-UDF (M-UDF) 规范的文件系统。 DVD-Video
+ 和 micro-UDF (M-UDF) 规范的文件系统。 DVD-Video
也呈现了一个特殊的数据格式,
这就是为什么您需要一个特殊的程序像 <filename
role="package">multimedia/dvdauthor</filename> 来制作
@@ -1521,7 +1521,7 @@ cd0: Attempt to query device size failed: NOT READY, Medium not present - tray c
<para>DVD+RW 格式化程序为简单的向以前的记录追加数据提供了可能性。
这个操作有一个新的会话和一个已经存在的会话合并而成。
它不需要多个写会话过程,
- &man.growisofs.1; 将在介质上 <emphasis>增加</emphasis>
+ &man.growisofs.1; 将在介质上 <emphasis>增加</emphasis>
ISO 9660 文件系统。</para>
<para>例如,我们想追加一些数据到到我们以前的
@@ -1529,7 +1529,7 @@ cd0: Attempt to query device size failed: NOT READY, Medium not present - tray c
<screen>&prompt.root; <userinput>growisofs -M <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/nextdata</replaceable></userinput></screen>
- <para>在以后的写操作时, 应使用与最初的刻录会话时相同的 &man.mkisofs.8;
+ <para>在以后的写操作时, 应使用与最初的刻录会话时相同的 &man.mkisofs.8;
选项。</para>
<note>
@@ -1632,7 +1632,7 @@ cd0: Attempt to query device size failed: NOT READY, Medium not present - tray c
<sect2>
<title>更多的信息</title>
-
+
<para>要获得更多的关于 DVD 的信息
<command>dvd+rw-mediainfo
<replaceable>/dev/cd0</replaceable></command> 命令可以运行来获得
@@ -1832,7 +1832,7 @@ cd0: Attempt to query device size failed: NOT READY, Medium not present - tray c
<para>4mm 磁带机正在逐步取代 QIC 成为工作站备份数据的首选设备。
在 Conner 收购了 QIC 磁带机领域领先的制造商 Archive 之后不久,
即不再生产这种磁带机, 这使得这一趋势变得愈加明显。
- 4mm 的驱动器更加小和安静,但对于数据保存的可靠性仍不及 8mm
+ 4mm 的驱动器更加小和安静,但对于数据保存的可靠性仍不及 8mm
驱动器。它要比 8mm 的便宜和小得多 (3 x 2 x 0.5 inches, 76 x 51
x 12 mm) 。和 8mm 的一样,读写关的寿命都不长,因为它们同样使用螺旋式
的方式来读写。</para>
@@ -1896,7 +1896,7 @@ cd0: Attempt to query device size failed: NOT READY, Medium not present - tray c
(152&nbsp;x 102&nbsp;x 17 毫米)。</para>
<para>数据传输的速度介于 150&nbsp;kB/s 到 500&nbsp;kB/s 之间,可存储的空间
- 从 40&nbsp;MB 到 15&nbsp;GB。较新的 QIC 磁带机具有硬件压缩的功能。 QIC
+ 从 40&nbsp;MB 到 15&nbsp;GB。较新的 QIC 磁带机具有硬件压缩的功能。 QIC
的使用率愈来愈低,渐渐被 DAT 所取代。</para>
<para>数据以磁道的方式记录在磁带上,磁道数及磁道的宽度会根据容量而有所不同。
@@ -1955,7 +1955,7 @@ cd0: Attempt to query device size failed: NOT READY, Medium not present - tray c
<screen>sa0(ncr1:4:0): NOT READY asc:4,1
sa0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
- <para>信息指出这块磁带没有块编号 (block 编号为 0)。在 QIC-525 之后的所有 QIC
+ <para>信息指出这块磁带没有块编号 (block 编号为 0)。在 QIC-525 之后的所有 QIC
磁带,都采用 QIC-525 标准,必须写入一个 Identifier Block 。对于这种问题,
有以下两种解决的办法:</para>
@@ -2039,7 +2039,7 @@ sa0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
</indexterm>
<indexterm><primary>compression</primary></indexterm>
- <para>不幸的是,&man.tar.1; 在为多卷文件作备份时是不允许使用 <option>-z</option>
+ <para>不幸的是,&man.tar.1; 在为多卷文件作备份时是不允许使用 <option>-z</option>
选项的。当然,可以用 &man.gzip.1; 压缩所有的文件,把它们打包到磁盘,以后在用
&man.gunzip.1; 解开。</para>
</sect2>
@@ -2190,7 +2190,7 @@ sa0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
<para>要注意的是:必须检查您在使用 <filename>.rhosts</filename> 时的安全情况。</para>
- <para>也可以通过使用 <command>ssh</command> 用一个更安全的方式来使用 <command>dump</command>
+ <para>也可以通过使用 <command>ssh</command> 用一个更安全的方式来使用 <command>dump</command>
和 <command>restore</command> 。</para>
<example>
@@ -2295,7 +2295,7 @@ sa0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
<para><application>Amanda</application> (Advanced Maryland
Network Disk Archiver) 并非单一的程序,而是一个客户机/服务器模式的备份系统
。一台 <application>Amanda</application> 服务器可以备份任意数量执行
- <application>Amanda</application> 的客户机或是将连上 <application>Amanda</application>
+ <application>Amanda</application> 的客户机或是将连上 <application>Amanda</application>
服务器的计算机上的数据备份到一台磁带机上。一个常见的问题是,数据写入磁带机的时间将超
过取行数据的时间,而 <application>Amanda</application> 解决了这个问题。它使用一个
<quote>holding disk</quote> 来同时备份几个文件系统。 <application>Amanda</application>
@@ -2303,8 +2303,8 @@ sa0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
的配置文件中所列出的完整的文件系统。</para>
<para> <application>Amanda</application> 配置文件提供完整的备份控制及
- <application>Amanda</application> 产生的网络传输。 <application>Amanda</application>
- 可以使用上述任何一个设备程序来向磁带写入数据。<application>Amanda</application>
+ <application>Amanda</application> 产生的网络传输。 <application>Amanda</application>
+ 可以使用上述任何一个设备程序来向磁带写入数据。<application>Amanda</application>
可以从 port 或 package 取得,它并非系统默认安装的。</para>
</sect2>
@@ -2315,12 +2315,12 @@ sa0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
不需要预算,不需要备份的计划表,全部都不用。如果您的数据发生了什么问题,
忽略它!</para>
- <para>如果您的时间和数据不值得您做这些事,那么 <quote>Do nothing</quote>
+ <para>如果您的时间和数据不值得您做这些事,那么 <quote>Do nothing</quote>
将是最好的备份程序。要注意的是,&unix; 是相当好用的工具,您可能在几个月
内,就发现您已经收集了不少对您来说相当具有价值的文件和程序。</para>
<para><quote>Do nothing</quote> 对于像 <filename>/usr/obj</filename> 和其他
- 可由您的计算机产生的文件来说,是最好的方法。例如这本手册包含有 HTML 或
+ 可由您的计算机产生的文件来说,是最好的方法。例如这本手册包含有 HTML 或
&postscript; 格式的文件。这些文档格式是从 SGML 输入文件创建的。创建 HTML
或 &postscript; 格式的文件的备份就没有必要了。只要经常备份 SGML 文件就够了。</para>
</sect2>
@@ -2777,8 +2777,8 @@ Filesystem 1K-blocks Used Avail Capacity Mounted on
<programlisting>/dev/da1s2g /home ufs rw,userquota,groupquota 1 2</programlisting>
- <para>默认情况下,配额文件是存放在文件系统的以 <filename>quota.user</filename>
- 和 <filename>quota.group</filename> 命名的根目录下。可以查看 &man.fstab.5;
+ <para>默认情况下,配额文件是存放在文件系统的以 <filename>quota.user</filename>
+ 和 <filename>quota.group</filename> 命名的根目录下。可以查看 &man.fstab.5;
联机手册了解更多信息。 尽管联机手册 &man.fstab.5; 提到,
可以为配额文件指定其他的位置, 但并不推荐这样做,
因为不同的配额工具并不一定遵循此规则。</para>
@@ -2828,7 +2828,7 @@ Filesystem 1K-blocks Used Avail Capacity Mounted on
而继续分配磁盘空间的操作将被拒绝。
当用户占用的空间回到软性限制值以下时, 宽限期将重新开始计算。</para>
- <para>下面是一个运行 &man.edquota.8; 时看到的例子。当 &man.edquota.8;
+ <para>下面是一个运行 &man.edquota.8; 时看到的例子。当 &man.edquota.8;
命令被调用时,会被转移进 <envar>EDITOR</envar> 环境变量指派的编辑
器中,允许编辑配额限制。如果环境变量没有设置,默认在
<application>vi</application> 编辑器上进行。</para>
@@ -2901,7 +2901,7 @@ Filesystem 1K-blocks Used Avail Capacity Mounted on
<indexterm><primary>NFS</primary></indexterm>
<para>配额能够在 NFS 服务器上被配额子系统强迫使用。在 NFS 客户端,
- &man.rpc.rquotad.8; 命令可以使用 quota 信息用于 &man.quota.1;
+ &man.rpc.rquotad.8; 命令可以使用 quota 信息用于 &man.quota.1;
命令, 可以允许用户查看它们的 quota 统计信息。</para>
<para>可以这样在 <filename>/etc/inetd.conf</filename> 中启用
@@ -3333,7 +3333,7 @@ device crypto</programlisting>
<para>主密钥将由口令字保护, 而密钥文件的数据来源则将是
<filename>/dev/random</filename>。 我们称之为 provider 的
- <filename>/dev/da2.eli</filename> 的扇区尺寸将是 4kB。</para>
+ <filename>/dev/da2.eli</filename> 的扇区尺寸将是 4kB。</para>
<screen>&prompt.root; <userinput>dd if=/dev/random of=/root/da2.key bs=64 count=1</userinput>
&prompt.root; <userinput>geli init -s 4096 -K /root/da2.key /dev/da2</userinput>
@@ -3412,14 +3412,14 @@ geli_da2_flags="-p -k /root/da2.key"</programlisting>
<command>geli</command> provider, 其主密钥文件位于
<filename>/root/da2.key</filename>, 而
<command>geli</command> 在连接 provider 时将不使用口令字
- (注意只有在 <command>geli</command> init 阶段使用了
+ (注意只有在 <command>geli</command> init 阶段使用了
<option>-P</option> 才可以这样做)。
系统将在关闭之前将 <literal>geli</literal> provider 断开。</para>
<para>关于如何配置 <filename>rc.d</filename> 的详细信息可以在使用手册的
<link linkend="configtuning-rcd">rc.d</link> 一节中找到。</para>
</sect3>
- </sect2>
+ </sect2>
</sect1>
diff --git a/zh_CN.GB2312/books/handbook/dtrace/chapter.sgml b/zh_CN.GB2312/books/handbook/dtrace/chapter.sgml
index cb59262813..01d6c9298f 100644
--- a/zh_CN.GB2312/books/handbook/dtrace/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/dtrace/chapter.sgml
@@ -113,7 +113,7 @@ that might make this chapter too large.
简化的调试信息。<acronym>CTF</acronym> 数据是由
<command>ctfconvert</command> 和 <command>ctfmerge</command>
工具加入二进制文件的。<command>ctfconvert</command>
- 工具分析由编译器生成的 <acronym>DWARF</acronym>
+ 工具分析由编译器生成的 <acronym>DWARF</acronym>
<acronym>ELF</acronym> 调试 section,
<command>ctfmerge</command> 合并目标文件的
<acronym>CTF</acronym> <acronym>ELF</acronym> section
@@ -259,7 +259,7 @@ Sampling... Hit Ctrl-C to end.</screen>
</keycombo> 组合键停止这个进程。
紧接着中止之后,脚本便会一张内核函数与测定时间的列表,
使用增量排序输出:</para>
-
+
<screen>kernel`_thread_lock_flags 2 0.0%
0xc1097063 2 0.0%
diff --git a/zh_CN.GB2312/books/handbook/eresources/chapter.sgml b/zh_CN.GB2312/books/handbook/eresources/chapter.sgml
index 2f73b50b99..de1b7cf57f 100644
--- a/zh_CN.GB2312/books/handbook/eresources/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/eresources/chapter.sgml
@@ -45,7 +45,7 @@
邮件列表常见问题回答集</ulink> (FAQ) 文档, 来避免经常重复的讨论。</para>
<para>全部的邮件列表记录都可以在<ulink url="&url.base;/search/index.html">FreeBSD World
- Wide Web服务器</ulink>上找到。此服务器提供了很棒的关键词搜寻功能,可让您找到FAQ的解答。
+ Wide Web服务器</ulink>上找到。此服务器提供了很棒的关键词搜寻功能,可让您找到FAQ的解答。
而在邮件列表上提问之前,请先搜寻是否已有答案。
请注意这意味着所有发往 FreeBSD 邮件列表的消息都会被永久归档保存。
当涉及到隐私保护的话,
@@ -1314,7 +1314,7 @@
<listitem>
<para><emphasis><quote>ports</quote>的讨论</emphasis></para>
- <para>关于FreeBSD的<quote>ports collection</quote> (<filename>/usr/ports</filename>)的讨论,
+ <para>关于FreeBSD的<quote>ports collection</quote> (<filename>/usr/ports</filename>)的讨论,
ports的基础构造和调整过的ports结构。这是一个纯技术的邮件列表。</para>
</listitem>
</varlistentry>
@@ -1364,7 +1364,7 @@
<listitem>
<para><emphasis>用户问题</emphasis></para>
- <para>这是一个有关FreeBSD问题的邮件列表。您不应当发送<quote>how to</quote>
+ <para>这是一个有关FreeBSD问题的邮件列表。您不应当发送<quote>how to</quote>
问题给技术列表,除非您认为这个问题是非常可爱的技术问题。</para>
</listitem>
</varlistentry>
diff --git a/zh_CN.GB2312/books/handbook/filesystems/chapter.sgml b/zh_CN.GB2312/books/handbook/filesystems/chapter.sgml
index 2531075bb8..fb085229f9 100644
--- a/zh_CN.GB2312/books/handbook/filesystems/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/filesystems/chapter.sgml
@@ -143,7 +143,7 @@
<sect3>
<title>Loader 可调参数</title>
- <para>所有构架上 &os; 都应该加大 <devicename>kmem</devicename>
+ <para>所有构架上 &os; 都应该加大 <devicename>kmem</devicename>
地址空间。在有 1GB 物理内存的测试系统上,在
<filename>/boot/loader.conf</filename>
中加入如下的参数并且重启后通过了测试。</para>
@@ -298,7 +298,7 @@ example/data 17547008 0 17547008 0% /example/data</screen>
<acronym>RAID</acronym>。<acronym>ZFS</acronym>
在它的存储池设计中支持这样的特性,
这便是下一节将探讨的。</para>
-
+
</sect3>
<sect3>
@@ -399,7 +399,7 @@ storage 26320512 0 26320512 0% /storage
storage/home 26320512 0 26320512 0% /home</screen>
<para>这样就基本完成了 <acronym>RAID</acronym>-Z
- 的配置了。使用夜间 &man.periodic.8;
+ 的配置了。使用夜间 &man.periodic.8;
获取有关文件系统创建之类的状态更新,
执行如下的命令:</para>
diff --git a/zh_CN.GB2312/books/handbook/firewalls/chapter.sgml b/zh_CN.GB2312/books/handbook/firewalls/chapter.sgml
index 7a7f4d9735..783f17639f 100644
--- a/zh_CN.GB2312/books/handbook/firewalls/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/firewalls/chapter.sgml
@@ -217,7 +217,7 @@
和提供一些关于使用方面的一般常识。更详细的使用信息请参阅
<ulink url="http://www.openbsd.org/faq/pf/">PF FAQ</ulink>。</para>
- <para>更多的详细信息, 可以在 &os; 版本的
+ <para>更多的详细信息, 可以在 &os; 版本的
<acronym>PF</acronym> 网站上找到: <ulink
url="http://pf4freebsd.love2party.net/"></ulink>。</para>
@@ -284,7 +284,7 @@
</indexterm>
<para>虽然你不必亲自把对 <acronym>PF</acronym> 的支持编译进 &os;
- 内核,但是有时你仍然需要这么做来使用到 PF
+ 内核,但是有时你仍然需要这么做来使用到 PF
的某些没有被收录进可加载模块的高级特性,比如 &man.pfsync.4;
伪设备用来发送某些改变到<acronym>PF</acronym> 状态表。
它能配合 &man.carp.4; 使用 PF 建立支持故障转移的防火墙。
@@ -2057,7 +2057,7 @@ add deny out</programlisting>
<para><command>ipfw</command> 命令是在防火墙运行时,
用于在其内部规则表中手工逐条添加或删除防火墙规则的标准工具。
这一方法的问题在于, 一旦您的关闭计算机或停机,
- 则所有增加或删除或修改的规则也就丢掉了。
+ 则所有增加或删除或修改的规则也就丢掉了。
把所有的规则都写到一个文件中, 并在启动时使用这个文件来加载规则,
或一次大批量地替换防火墙规则, 那么推荐使用这里介绍的方法。</para>
diff --git a/zh_CN.GB2312/books/handbook/geom/chapter.sgml b/zh_CN.GB2312/books/handbook/geom/chapter.sgml
index 3012736c11..5d1af468fc 100644
--- a/zh_CN.GB2312/books/handbook/geom/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/geom/chapter.sgml
@@ -490,7 +490,7 @@ ggate0
<title>标签类型和使用示范</title>
<para>有两种类型的标签, 一种是普通标签, 另一种是文件系统标签。
- 标签可以是永久性的或暂时性的。永久性的标签可以通过
+ 标签可以是永久性的或暂时性的。永久性的标签可以通过
&man.tunefs.8; 或 &man.newfs.8; 命令创键。根据文件系统的类型,
它们将在 <filename class="directory">/dev</filename>
下的一个子目录中被创建。例如,
@@ -634,7 +634,7 @@ ufsid/486b6fc16926168e N/A ad4s1f</screen>
<sect1 id="geom-gjournal">
<title>通过 GEOM 实现 UFS 日志</title>
-
+
<indexterm>
<primary>GEOM</primary>
</indexterm>
@@ -702,7 +702,7 @@ ufsid/486b6fc16926168e N/A ad4s1f</screen>
例如, 如果有 <devicename>ad4s1</devicename> 和
<devicename>ad4s2</devicename> 这两个 slice,
则 <command>gjournal</command> 会建立
- <devicename>ad4s1.journal</devicename> 和
+ <devicename>ad4s1.journal</devicename> 和
<devicename>ad4s2.journal</devicename>。</para>
</note>
diff --git a/zh_CN.GB2312/books/handbook/install/chapter.sgml b/zh_CN.GB2312/books/handbook/install/chapter.sgml
index f8aa4e0202..0c89adcf78 100644
--- a/zh_CN.GB2312/books/handbook/install/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/install/chapter.sgml
@@ -64,7 +64,7 @@
<itemizedlist>
<listitem>
- <para>阅读您要安装的 FreeBSD
+ <para>阅读您要安装的 FreeBSD
版本所附的硬件支持列表以确定您的硬件有没有被支持。</para>
</listitem>
</itemizedlist>
@@ -148,7 +148,7 @@
<para>支持的硬件列表, 会作为 &os; 发行版本的 &os; 兼容硬件说明提供。
这个文档通常可以在 CDROM 或 FTP 安装文件的顶级目录找到,
它的名字是 <filename>HARDWARE.TXT</filename>, 此外, 在
- <application>sysinstall</application> 的 documentation
+ <application>sysinstall</application> 的 documentation
菜单也可以找到。它针对特定的硬件架构列出了 &os; 已知支持的硬件。
不同发行版本和架构上的硬件支持列表,可以在 &os; 网站的 <ulink
url="http://www.FreeBSD.org/releases/index.html">发行版信息</ulink>
@@ -314,7 +314,7 @@
<firstterm>驱动器字符</firstterm>,
从 <devicename>C:</devicename> 开始。</para>
- <para>FreeBSD 必须安装在主分区。FreeBSD
+ <para>FreeBSD 必须安装在主分区。FreeBSD
可以在这个分区上面存放系统数据或是您建立的任何文件。
然而,如果您有多个硬盘,您也可以在这些硬盘上(全部或部分)建立 FreeBSD
分区。在您安装 FreeBSD 的时候,必须要有一个分区可以给 FreeBSD 使用。
@@ -337,7 +337,7 @@
那么将需要更多的硬盘空间。</para>
<para>您可以使用类似 <application>&partitionmagic;</application>
- 这样的商业版本工具, 或类似 <application>GParted</application>
+ 这样的商业版本工具, 或类似 <application>GParted</application>
这样的自由软件工具来调整分区尺寸, 从而为 FreeBSD 腾出空间。
<application>&partitionmagic;</application> 和
<application>GParted</application>
@@ -347,7 +347,7 @@
中均有提供。</para>
<para>目前已经有报告显示改变 &microsoft; Vista
- 分区尺寸时会出现问题。 在进行此类操作时,
+ 分区尺寸时会出现问题。 在进行此类操作时,
建议您准备一张 Vista 安装 CDROM。如同其他的磁盘维护操作一样,
强烈建议您事先进行备份。</para>
@@ -359,7 +359,7 @@
<example>
<title>使用已存在的分区</title>
- <para>假设您只有一个 4GB 的硬盘,而且已经装了 &windows;
+ <para>假设您只有一个 4GB 的硬盘,而且已经装了 &windows;
然后您将这个硬盘分成两个分区 <devicename>C:</devicename> 跟
<devicename>D:</devicename>,每个分区大小为 2&nbsp;GB。在
<devicename>C:</devicename> 分区上存放有 1&nbsp;GB 的数据、
@@ -376,7 +376,7 @@
<para>假设您只有一个 4&nbsp;GB 的硬盘,而且已经装了 &windows;。
您在安装 &windows; 的时候把 4&nbsp;GB 都给了
- <devicename>C:</devicename> 分区,并且已经使用了 1.5&nbsp;GB
+ <devicename>C:</devicename> 分区,并且已经使用了 1.5&nbsp;GB
的空间。您想将剩余空间中的 2&nbsp;GB 给 FreeBSD 使用。</para>
<para>为了安装 FreeBSD,您必须从下面两种方式中选择一种:</para>
@@ -463,7 +463,7 @@
</sect2>
<sect2>
<title>检查 FreeBSD 发行勘误</title>
-
+
<para>虽然我们尽力确保每个 FreeBSD 发行版本的稳定性,
但偶尔也会有一些错误进入发行版。极少数情况下,
这些问题甚至可能会影响安装。
@@ -535,7 +535,7 @@
<sect2 id="install-boot-media">
<title>准备引导介质</title>
- <para>FreeBSD 的安装过程开始于将您的电脑开机进入 FreeBSD
+ <para>FreeBSD 的安装过程开始于将您的电脑开机进入 FreeBSD
安装环境 &mdash; -并非在其它的操作系统上运行一个程序。
计算机通常使用安装在硬盘上的操作系统进行引导,
也可以配置成使用一张<quote>bootable(可引导)</quote>的软盘进行启动。
@@ -544,12 +544,12 @@
<tip>
<para>如果您有 FreeBSD 的安装光盘或 DVD(或者是您购买的,
或者是您自己准备的。)并且您的计算机可以从光驱进行启动
- (通常在 BIOS 中会有 <quote>Boot Order</quote>
+ (通常在 BIOS 中会有 <quote>Boot Order</quote>
或类似的选项可以设置),那么您就可以跳过此小节。
因为 FreeBSD 光盘及 DVD 光盘都是可以引导的,
用它们开机您不用做什么特别的准备。</para>
</tip>
-
+
<para>要创建引导系统所需的记忆棒,
需按下面的操作进行:</para>
@@ -612,7 +612,7 @@
<procedure>
<step>
<title>获取开机软盘映像文件</title>
-
+
<important>
<para>请注意, 从 &os; 8.0 开始,
我们不再提供软盘映像了。 请参阅前面关于如何使用 USB 记忆棒,
@@ -654,7 +654,7 @@
<para>您必须为您下载的每一个映像文件准备一张软盘。
并且请避免使用到坏掉的软盘。
最简单的方式就是您先将这些软盘格式化,
- 不要相信所谓的已格式化的软盘。在 &windows;
+ 不要相信所谓的已格式化的软盘。在 &windows;
下的格式化程序不会告诉您出现多少坏块,
它只是简单的标记它们为 <quote>bad</quote> 并且忽略它们。
根据建议您应该使用全新的软盘来存放安装程序。</para>
@@ -672,7 +672,7 @@
<para><filename>.flp</filename> 文件 <emphasis>并非</emphasis>
一般的文件,您不能直接将它们复制到软盘上。
事实上它是一张包含完整磁盘内容的映像文件。这表示您
- <emphasis>不能</emphasis> 简单的使用 DOS 的 copy
+ <emphasis>不能</emphasis> 简单的使用 DOS 的 copy
命令将文件写到软盘上,
而必须使用特别的工具程序将映像文件直接写到软盘中。</para>
@@ -699,7 +699,7 @@
<para>如果您在 &unix; 系统上制作软盘(例如其它 FreeBSD 机器),
您可以使用 &man.dd.1; 命令来将映像文件写到软盘中。
如果您用 FreeBSD,可以执行下面的命令:</para>
-
+
<screen>&prompt.root; <userinput>dd if=boot.flp of=/dev/fd0</userinput></screen>
<para>在 FreeBSD 中,<filename>/dev/fd0</filename>
@@ -775,7 +775,7 @@ We can take no responsibility for lost disk contents!</literallayout>
<xref linkend="install-boot-media"/> 制作了 <quote>可引导</quote> 的 USB 记忆棒,
在开机前将其插到计算机上。</para>
- <para>如果您是从光盘安装, 那么开机后请立即将
+ <para>如果您是从光盘安装, 那么开机后请立即将
FreeBSD 光盘放入光驱中。</para>
<note>
@@ -828,9 +828,9 @@ FreeBSD/i386 bootstrap loader, Revision 1.1
Loading /boot/defaults/loader.conf
/boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d]
\</screen>
-
+
<para>如果您从软盘启动, 则应看到类似下面的画面:</para>
-
+
<screen>Booting from Floppy...
Uncompressing ... done
@@ -855,7 +855,7 @@ Insert disk labelled "Kernel floppy 1" and press any key...</screen>
</step>
<step>
- <para>不论是从光盘、 USB 记忆棒或软盘引导, 接下来都会进入 &os;
+ <para>不论是从光盘、 USB 记忆棒或软盘引导, 接下来都会进入 &os;
引导加载器菜单:</para>
<figure id="boot-loader-menu">
@@ -1062,8 +1062,8 @@ Mounting root from ufs:/dev/md0c
如下的信息:</para>
- <screen> User Confirmation Requested
- Are you sure you wish to exit? The system will reboot
+ <screen> User Confirmation Requested
+ Are you sure you wish to exit? The system will reboot
[ Yes ] No</screen>
@@ -1165,7 +1165,7 @@ Mounting root from ufs:/dev/md0c
<keycap>Space</keycap> 键可以取消选取。当您完成后,
请选择 &gui.ok; 然后按 <keycap>Enter</keycap> 键。</para>
- <para>这一屏幕只显示出部分列表。选择 &gui.cancel;
+ <para>这一屏幕只显示出部分列表。选择 &gui.cancel;
按 <keycap>Tab</keycap> 键将使用默认的键盘对应,
并返回到主菜单</para>
@@ -1243,7 +1243,7 @@ Mounting root from ufs:/dev/md0c
<sect1 id="install-steps">
<title>分配磁盘空间</title>
- <para>您的第一个工作就是要分配 FreeBSD 用的硬盘空间以便
+ <para>您的第一个工作就是要分配 FreeBSD 用的硬盘空间以便
<application>sysinstall</application> 先做好一些准备。
为了完成这个工作,您必须先对 FreeBSD
如何找到磁盘信息做一个了解。</para>
@@ -1256,7 +1256,7 @@ Mounting root from ufs:/dev/md0c
<indexterm><primary>DOS</primary></indexterm>
<indexterm><primary>Microsoft Windows</primary></indexterm>
- <para>在 pc 架构,当您跑像 &ms-dos; 或 &microsoft.windows;
+ <para>在 pc 架构,当您跑像 &ms-dos; 或 &microsoft.windows;
这种跟 BIOS 相关的操作系统的时候,BIOS 有能力改变正常的磁盘顺序,
然后这些操作系统会跟着 BIOS 做改变。这让使用者不一定非要有所谓的
<quote>primary master</quote> 硬盘开机。
@@ -1295,12 +1295,12 @@ Mounting root from ufs:/dev/md0c
他就跟 Bill 说起这件事。</para>
<para>又过了几天,Bill 决定是该解决问题的时候了,
- 所以他从后面房间的硬盘 <quote>收藏</quote>
+ 所以他从后面房间的硬盘 <quote>收藏</quote>
中找出了一个一模一样的硬盘,并且经过表面测试后显示这块硬盘没有问题。
因此,Bill 将它的 ID 调成 4,然后安装到 Fred 的机器,
并且将资料从磁盘 0 复制到磁盘 4。现在新硬盘装好了,
而且看起来好像一切正常;所以,Bill 认为现在应该可以开始用它了。
- Bill 于是到 SCSI BIOS 中设定 SCSI ID 4 为开机盘,用磁盘 4
+ Bill 于是到 SCSI BIOS 中设定 SCSI ID 4 为开机盘,用磁盘 4
重新开机后,一切跑得很顺利。</para>
<para>继续用了几天后,Bill 跟 Fred 决定要来玩点新的:
@@ -1380,7 +1380,7 @@ Mounting root from ufs:/dev/md0c
为什么遗失了呢?</para>
<para>试想,如果您有两个 IDE 硬盘,一个是在第一个 Primary master,
- 一个是 Secondary master,这样会发生什么事呢? 如果 FreeBSD
+ 一个是 Secondary master,这样会发生什么事呢? 如果 FreeBSD
依照找到的顺序来为他们命名,如 <devicename>ad0</devicename> 和
<devicename>ad1</devicename> 那么就不会有什么问题。</para>
@@ -1418,7 +1418,7 @@ Mounting root from ufs:/dev/md0c
它们的描述以及类别(sub-type)。此范例显示有两个未使用的小分区,
还有一个大的 <acronym>FAT</acronym> 分区,
(很可能是 &ms-dos; 或 &windows; 的 <devicename>C:</devicename> ),
- 以及一个扩展分区(在 &ms-dos; 或 &windows;
+ 以及一个扩展分区(在 &ms-dos; 或 &windows;
里面还可以包含逻辑分区)。</para>
<para>第三个部分显示 <application>FDisk</application> 中可用的命令。</para>
@@ -1436,21 +1436,21 @@ Mounting root from ufs:/dev/md0c
<para>接下来要做的事跟您要怎么给您的硬盘分区有关。</para>
<para>如果您要让 FreeBSD 使用整个硬盘(稍后您确认要
- <application>sysinstall </application>
+ <application>sysinstall </application>
继续安装后会删除所有这个硬盘上的资料),那么您就可以按
<keycap>A</keycap> 键(<guimenuitem>Use Entire Disk</guimenuitem> )
目前已有的分区都会被删除,取而代之的是一个小的,标示为
<literal>unused </literal> 的分区,以及一个大的 FreeBSD 分区。之后,
请用方向键将光标移到这个 FreeBSD 分区,然后按 <keycap>S</keycap>
- 以将此分区标记为启动分区。 您会看到类似
- <xref linkend="sysinstall-fdisk2"/> 的画面。注意,在
- <literal>Flags</literal> 栏中的 <literal>A</literal>
+ 以将此分区标记为启动分区。 您会看到类似
+ <xref linkend="sysinstall-fdisk2"/> 的画面。注意,在
+ <literal>Flags</literal> 栏中的 <literal>A</literal>
记号表示此分区是 <emphasis>激活</emphasis> 的,
因而启动将从此分区进行。</para>
<para>要删除现有的分区以便为 FreeBSD 腾出空间,
您可以将光标移动到要删除的分区后按 <keycap>D</keycap> 键。
- 然后就可按 <keycap>C</keycap> 键,
+ 然后就可按 <keycap>C</keycap> 键,
并在弹出的对话框中输入将要创建的分区的大小。
输入合适的大小后按 <keycap>Enter</keycap> 键。
一般而言, 这个对话框中的初始值是可以分配给该分区的最大值。
@@ -1539,7 +1539,7 @@ Mounting root from ufs:/dev/md0c
</mediaobject>
</figure>
- <para><keycap>Tab</keycap> 键可以在您最后选择的硬盘、 &gui.ok;
+ <para><keycap>Tab</keycap> 键可以在您最后选择的硬盘、 &gui.ok;
以及 &gui.cancel; 之间进行切换。</para>
<para>用 <keycap>Tab</keycap> 键将光标移动到 &gui.ok;
@@ -1815,13 +1815,13 @@ Mounting root from ufs:/dev/md0c
</mediaobject>
</figure>
- <para>如果使用此处显示的默认尺寸, 则会创建一个占满整个 slice
+ <para>如果使用此处显示的默认尺寸, 则会创建一个占满整个 slice
空余空间的 partition。如果希望使用前面例子中描述的 partition 尺寸,
则应按 <keycap>Backspace</keycap> 键删除这些数字, 并输入
<userinput>512M</userinput>, 如
<xref linkend="sysinstall-label-add2"/> 所示。 然后, 按下
&gui.ok;。</para>
-
+
<figure id="sysinstall-label-add2">
<title>编辑要分区大小</title>
@@ -1936,7 +1936,7 @@ Mounting root from ufs:/dev/md0c
软件所需要的程序源代码,而是一个包含自动下载、编辑以及安装的文档集合。
<xref linkend="ports"/> 一章讨论如何使用Ports.</para>
- <para>安装程序并不会检查您是否有足够的硬盘空间,
+ <para>安装程序并不会检查您是否有足够的硬盘空间,
在选择这一项之前请先确定您有足够的硬盘空间。
目前 FreeBSD &rel.current; 版本中, FreeBSD Ports Collection
大约占用 &ports.size; 大小的硬盘空间。
@@ -1953,11 +1953,11 @@ Mounting root from ufs:/dev/md0c
of a problem).
The Ports Collection is a very valuable resource and well worth having
- on your /usr partition, so it is advisable to say Yes to this option.
+ on your /usr partition, so it is advisable to say Yes to this option.
For more information on the Ports Collection &amp; the latest ports,
- visit:
- http://www.FreeBSD.org/ports
+ visit:
+ http://www.FreeBSD.org/ports
[ Yes ] No</screen>
@@ -2063,7 +2063,7 @@ Mounting root from ufs:/dev/md0c
</listitem>
</varlistentry>
</variablelist>
-
+
<para>对于一个 FTP 代理服务器而言,
通常在使用者登入名称中加入您要登入的服务器的用户名,
加在 <quote>@</quote> 符号后面。然后代理服务器就会
@@ -2119,7 +2119,7 @@ We will now move on to the final configuration questions.
For any option you do not wish to configure, simply select No.
If you wish to re-enter this utility after the system is up, you may
-do so by typing: /usr/sbin/sysinstall.
+do so by typing: /usr/sbin/sysinstall.
[ OK ]
@@ -2160,7 +2160,7 @@ installation menus to retry whichever operations have failed.
<link linkend="advanced-networking">Advanced Networking</link>
的相关文章。</para>
- <screen> User Confirmation Requested
+ <screen> User Confirmation Requested
Would you like to configure any Ethernet or PPP network devices?
[ Yes ] No</screen>
@@ -2190,7 +2190,7 @@ installation menus to retry whichever operations have failed.
&gui.no; 然后按 <keycap>Enter</keycap>。</para>
<para>如果想试试新的IP通信协议 <acronym>IPv6</acronym> ,
- 使用 <acronym>RA</acronym> 服务,请选择 &gui.yes;
+ 使用 <acronym>RA</acronym> 服务,请选择 &gui.yes;
然后按 <keycap>Enter</keycap>。
寻找 RA 服务器将会花费几秒的时间。</para>
@@ -2299,7 +2299,7 @@ installation menus to retry whichever operations have failed.
<keycap>Enter</keycap>键。</para>
- <screen> User Confirmation Requested
+ <screen> User Confirmation Requested
Would you like to bring the ed0 interface up right now?
[ Yes ] No</screen>
@@ -2775,7 +2775,7 @@ Press [Enter] now to invoke an editor on /etc/exports
系统不会给出这个提示。</para>
</note>
- <screen> User Confirmation Requested
+ <screen> User Confirmation Requested
Would you like to enable Linux binary compatibility?
[ Yes ] No</screen>
@@ -2797,12 +2797,12 @@ Press [Enter] now to invoke an editor on /etc/exports
以取得有关模拟三键鼠标的信息。范例中使用的鼠标不是USB接口。
(例如ps/2或com接口的鼠标):</para>
- <screen> User Confirmation Requested
+ <screen> User Confirmation Requested
Does this system have a PS/2, serial, or bus mouse?
[ Yes ] No </screen>
- <para>如果您使用的是 PS/2、 串口或 Bus 鼠标,请选择 &gui.yes;,
+ <para>如果您使用的是 PS/2、 串口或 Bus 鼠标,请选择 &gui.yes;,
如果是 USB 鼠标, 则应选择
&gui.no; 并按
<keycap>Enter</keycap>。</para>
@@ -2832,7 +2832,7 @@ Press [Enter] now to invoke an editor on /etc/exports
<para>在这个例子中使用的类型是ps/2鼠标,所以可以使用默认的
<guimenuitem>Auto(自动)</guimenuitem> 。
- 您可以用方向键选择合适的项目,确定选择了 &gui.ok;
+ 您可以用方向键选择合适的项目,确定选择了 &gui.ok;
后按 <keycap>Enter</keycap> 键离开此画面。</para>
<figure id="config-mouse-port">
@@ -2909,7 +2909,7 @@ Press [Enter] now to invoke an editor on /etc/exports
<screen> User Confirmation Requested
The FreeBSD package collection is a collection of hundreds of
ready-to-run applications, from text editors to games to WEB servers
- and more. Would you like to browse the collection now?
+ and more. Would you like to browse the collection now?
[ Yes ] No</screen>
@@ -2973,7 +2973,7 @@ Press [Enter] now to invoke an editor on /etc/exports
<para>使用 <keycap>Tab</keycap> 和左右方向键选择
<guibutton>[&nbsp;Install&nbsp;]</guibutton>
- 并按 <keycap>Enter</keycap>。
+ 并按 <keycap>Enter</keycap>。
接下来需要确认将要安装的预编译包:</para>
<figure id="package-install-confirm">
@@ -3008,7 +3008,7 @@ Press [Enter] now to invoke an editor on /etc/exports
Would you like to add any initial user accounts to the system? Adding
at least one account for yourself at this stage is suggested since
working as the "root" user is dangerous (it is easy to do things which
- adversely affect the entire system).
+ adversely affect the entire system).
[ Yes ] No</screen>
@@ -3107,7 +3107,7 @@ Press [Enter] now to invoke an editor on /etc/exports
</variablelist>
<para>你可以将登录 shell 由 <filename>/bin/sh</filename> 改为
- <filename>/usr/local/bin/bash</filename>,
+ <filename>/usr/local/bin/bash</filename>,
以便使用事先以 package 形式安装的 <application>bash</application>
shell。不要使用一个不存在的或您不能登录的shell。
最通用的shell是使用 BSD-world 的 C shell,
@@ -3230,7 +3230,7 @@ Retype new password :</screen>
<para>如果之前缺少这一领域的经验, 那么配置网络服务对于新手而言,
很可能会是一件很有挑战的事情。 网络, 包括 Internet,
对于包括 &os; 在内的所有现代操作系统而言都至关重要。
- 因此, 首先对 &os; 提供的丰富的网络性能加以了解会很有帮助。
+ 因此, 首先对 &os; 提供的丰富的网络性能加以了解会很有帮助。
在安装过程中了解这些知识,
能够确保用户更好地理解他们可以用到的各种服务。</para>
@@ -3372,7 +3372,7 @@ Retype new password :</screen>
因为较远的服务器的连接延迟可能会比较大。</para>
<para>下一个选项是 <acronym>PCNFSD</acronym>。
- 这个选项将安装第三方软件包
+ 这个选项将安装第三方软件包
<filename role="package">net/pcnfsd</filename>。
它可以用来为无法自行提供 <acronym>NFS</acronym>
认证服务的操作系统, 如微软的 &ms-dos; 提供服务。</para>
@@ -3390,7 +3390,7 @@ Retype new password :</screen>
</figure>
<para>&man.rpcbind.8;, &man.rpc.statd.8; 和
- &man.rpc.lockd.8; 这三个程序是用来提供远程过程调用
+ &man.rpc.lockd.8; 这三个程序是用来提供远程过程调用
(<acronym>RPC</acronym>) 服务的。
<command>rpcbind</command> 程序管理 <acronym>NFS</acronym>
服务器和客户端的通信, 这是 <acronym>NFS</acronym>
@@ -3667,7 +3667,7 @@ Please press any key to reboot.</screen>
<note>
<para>有些安装问题可以借助更新硬件的程序来解决,特别是主板的
<acronym>BIOS</acronym> 。
- 大部分的主板制造商都会提供网站给用户下载新的 BIOS
+ 大部分的主板制造商都会提供网站给用户下载新的 BIOS
以及提供如何更新的说明。</para>
<para>也有许多制造商强烈建议,除非必要否则不要轻易更新
@@ -3768,7 +3768,7 @@ Please press any key to reboot.</screen>
<para>因而, 在发生这种情况时,&os;
可能会需要一些帮助才能找到磁盘。有两种常见的情况,
在这些情况下您都需要手工告诉 &os; 根文件系统模块的位置。
- 这是通过告诉引导加载器 BIOS 磁盘编号、磁盘类型以及 &os;
+ 这是通过告诉引导加载器 BIOS 磁盘编号、磁盘类型以及 &os;
中的该种磁盘的编号来实现的。</para>
<para>第一种情况是有两块 IDE 硬盘, 分别配置为对应 IDE
@@ -3814,7 +3814,7 @@ Please press any key to reboot.</screen>
</question>
<answer>
<para>在您安装 &os; 进行到分区编辑器时所设置的磁盘尺寸信息不对。
- 请回到分区编辑器并指定正确的磁盘尺寸。
+ 请回到分区编辑器并指定正确的磁盘尺寸。
这种情况必须重新安装 &os;。</para>
<para>如果您无法确定在您机器上的正确尺寸信息,可以用一个小技巧:
@@ -4231,7 +4231,7 @@ Please press any key to reboot.</screen>
<sect2 id="install-ftp">
<title>为 FreeBSD 安装盘建立局域网 FTP 站点</title>
-
+
<indexterm>
<primary>installation</primary>
<secondary>network</secondary>
@@ -4254,7 +4254,7 @@ Please press any key to reboot.</screen>
<step>
<para>在 <filename>/etc/passwd</filename>
文件中建立一个可匿名访问 FTP 服务器的账号。
- 您可以利用 &man.vipw.8; 命令编辑
+ 您可以利用 &man.vipw.8; 命令编辑
<filename>/etc/passwd</filename> 文件,
加入下面这一行叙述:</para>
@@ -4306,7 +4306,7 @@ Please press any key to reboot.</screen>
<para>至少这些软盘必须是 1.44 MB 的,用来容纳所有在
<filename>base</filename> (基本系统) 目录下的文件。如果您在 DOS
操作系统下准备就 <emphasis>必须</emphasis> 使用 &ms-dos; 的
- <command>FORMAT</command> 命令来格式化软盘。
+ <command>FORMAT</command> 命令来格式化软盘。
如果您使用的是 &windows; 操作系统,
在资源管理器中就可以完成这个工作 (用右键单击
<devicename>A:</devicename> 驱动器,并选择
@@ -4378,7 +4378,7 @@ Please press any key to reboot.</screen>
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/base/">&rel.current;/base/</ulink> 目录中找到。</para>
<para>对很多发行包来说,如果您希望从 &ms-dos;分区安装的话
- (您有足够的空间),安装 <filename>c:\freebsd</filename> &mdash;
+ (您有足够的空间),安装 <filename>c:\freebsd</filename> &mdash;
下的每个文件-这个 <literal>BIN</literal>
发行包只是最低限度的要求。</para>
</sect2>
@@ -4390,7 +4390,7 @@ Please press any key to reboot.</screen>
<primary>installation</primary>
<secondary>from QIC/SCSI Tape</secondary>
</indexterm>
- <para>从磁带安装也许是最简单的方式, 比在线使用 FTP
+ <para>从磁带安装也许是最简单的方式, 比在线使用 FTP
安装或使用 CDROM 还快。安装的程序假设是简单地被压缩在磁带上。
在您得到所有配置文件后,简单地解开它们,用下面的命令:</para>
@@ -4440,7 +4440,7 @@ Please press any key to reboot.</screen>
<para>此外, 您还需要知道自己的 IP 地址、 网络类型对应的子网掩码,
以及机器名。 如果您正通过 PPP 连接安装而没有固定的静态 IP,
- 不用怕, 这个 IP 地址会由您的 ISP 自动分配。
+ 不用怕, 这个 IP 地址会由您的 ISP 自动分配。
您的系统管理员会告诉您进行网络配置所需的信息。
如果您需要通过名字而不是 IP 地址来访问其他主机,
则还需要配置一个域名服务器, 可能还需要一个网关地址 (在使用 PPP 时,
diff --git a/zh_CN.GB2312/books/handbook/introduction/chapter.sgml b/zh_CN.GB2312/books/handbook/introduction/chapter.sgml
index 643d50274a..c764419cfd 100644
--- a/zh_CN.GB2312/books/handbook/introduction/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/introduction/chapter.sgml
@@ -52,12 +52,12 @@
<sect1 id="nutshell">
<title>欢迎来到 &os; 的世界!</title>
- <indexterm><primary>4.4BSD-Lite</primary></indexterm>
+ <indexterm><primary>4.4BSD-Lite</primary></indexterm>
<para>&os; 是一个支持
Intel (x86 和 &itanium;),AMD64, Sun
&ultrasparc; 计算机的基于 4.4BSD-Lite 的操作系统。
- 到其他体系结构的移植也在进行中。
+ 到其他体系结构的移植也在进行中。
您也可以阅读 <link linkend="history">&os; 的历史</link>,
或者<link linkend="relnotes">最新的发行版本</link>。
如果您有意捐助(代码,
@@ -88,7 +88,7 @@
可以对用户或者用户组进行个别的资源限制,
以保护临界系统资源不被滥用。</para>
</listitem>
-
+
<listitem>
<indexterm><primary>TCP/IP 网络</primary></indexterm>
@@ -107,7 +107,7 @@
<para><emphasis>内存保护</emphasis>确保应用程序(或者用户)不会相互干扰。
一个应用程序崩溃不会以任何方式影响其他程序。</para>
</listitem>
-
+
<listitem>
<para>&os; 是一个 <emphasis>32 位</emphasis>操作系统
(在 &itanium;,AMD64,和 &ultrasparc; 上是<emphasis>64 位</emphasis>),
@@ -148,7 +148,7 @@
<para>和许多 Linux,SCO,SVR4,BSDI 和 NetBSD 程序的<emphasis>二进制代码兼容性</emphasis></para>
</listitem>
-
+
<listitem>
<para>数以千计的 <emphasis>ready-to-run</emphasis>
应用程序可以从 &os;
@@ -156,21 +156,21 @@
套件中找到。 您可以顺利地从这里找到,
何须搜索网络?</para>
</listitem>
-
+
<listitem>
<para>可以在 Internet 上找到成千上万其它
<emphasis>easy-to-port</emphasis> 的应用程序。
&os; 和大多数流行的商业 &unix; 代码级兼容,
因此大多数应用程序不需要或者只要很少的改动就可以编译。</para>
</listitem>
-
+
<listitem>
<indexterm><primary>虚拟内存</primary></indexterm>
<para>页式请求<emphasis>虚拟内存</emphasis>和<quote>集成的
VM/buffer 缓存</quote>设计有效地满足了应用程序巨大的内存需求并依然保持其他用户的交互式响应。</para>
</listitem>
-
+
<listitem>
<indexterm>
<primary>对称多处理器(SMP)</primary>
@@ -208,16 +208,16 @@
为什么还要受困于私有的解决方案,
任商业公司摆布呢?</para>
</listitem>
-
+
<listitem>
<para>丰富的<emphasis>在线文档</emphasis>。</para>
</listitem>
-
+
<listitem>
<para><emphasis>不仅如此!</emphasis></para>
</listitem>
</itemizedlist>
-
+
<indexterm><primary>4.4BSD-Lite</primary></indexterm>
<indexterm>
<primary>计算机系统研究组(CSRG)</primary>
@@ -246,7 +246,7 @@
所以对于特定的应用程序或项目,可以对系统进行最大限度的定制。
这对于大多数主流的商业生产商的操作系统来说几乎是不可能的。
以下是当前人们应用 &os; 的某些程序的例子:</para>
-
+
<itemizedlist>
<listitem>
<para><emphasis>Internet 服务:</emphasis>
@@ -260,7 +260,7 @@
<para>FTP 服务器</para>
</listitem>
-
+
<listitem>
<indexterm><primary>web 服务器</primary></indexterm>
@@ -291,13 +291,13 @@
<para>电子邮件服务器</para>
</listitem>
-
+
<listitem>
<indexterm><primary>USENET</primary></indexterm>
<para>USENET 新闻组和电子布告栏系统</para>
</listitem>
-
+
<listitem>
<para>还有许多...</para>
</listitem>
@@ -307,7 +307,7 @@
386 类 PC 起步,并随着您的企业成长,一路升级到带有
RAID 存储的四路 Xeon 服务器。</para>
</listitem>
-
+
<listitem>
<para><emphasis>教育:</emphasis>
您是一名计算机科学或者相关工程领域的学生吗?
@@ -316,7 +316,7 @@
CAD、数学和图形设计包也使它对于那些主要兴趣是在计算机上完成
<emphasis>其他</emphasis>工作的人非常有帮助。</para>
</listitem>
-
+
<listitem>
<para><emphasis>研究:</emphasis>
有完整的系统源代码,&os;
@@ -326,7 +326,7 @@
交流想法与合作开发成为可能,
且不必担心特别的版权协定或者限制。</para>
</listitem>
-
+
<listitem>
<indexterm><primary>路由</primary></indexterm>
<indexterm><primary>DNS 服务器</primary></indexterm>
@@ -350,12 +350,12 @@
是廉价 X 终端的一种绝佳解决方案,
您可以选择使用免费的 X11 服务器。
与 X 终端不同,如果需要的话 &os;
- 能够在本地直接运行程序,
+ 能够在本地直接运行程序,
因而减少了中央服务器的负担。 &os;
甚至能够在 <quote>无盘</quote> 环境下启动,
这使得终端更为便宜和易于管理。</para>
</listitem>
-
+
<listitem>
<indexterm><primary>GNU Compiler Collection</primary></indexterm>
@@ -364,7 +364,7 @@
编译器和调试工具在内的一整套开发工具。</para>
</listitem>
</itemizedlist>
-
+
<para>&os; 可以通过 CD-ROM、DVD,
以及匿名 FTP 以源代码和二进制方式获得。请查看<xref linkend="mirrors"/>
了解获取 &os; 的更多细节。</para>
@@ -491,7 +491,7 @@
</sect2>
</sect1>
-
+
<sect1 id="history">
<title>关于 &os; 项目</title>
@@ -523,14 +523,14 @@
部分作为 <quote>Unofficial 386BSD
Patchkit</quote> 的副产物,patchkit 的最后 3 个协调维护人是:Nate
Williams,Rod Grimes 和我。</para>
-
+
<indexterm><primary>386BSD</primary></indexterm>
<para>我们最初的目标是做出一份 386BSD 的测试版以修正一些
Patchkit 机制无法解决的错误(bug)。
很多人可能还记得早期的项目名称叫做
<quote>386BSD 0.5</quote> 或者 <quote>386BSD Interim</quote>
就是这个原因。</para>
-
+
<indexterm><primary>Jolitz, Bill</primary></indexterm>
<para>386BSD 是 Bill Jolitz 的操作系统,
到那时已被严重地忽视了一年之久。
@@ -657,7 +657,7 @@
<ulink url="ftp://current.FreeBSD.org/pub/FreeBSD/snapshots/">
快照服务器</ulink> 找到。</para>
</sect2>
-
+
<sect2 id="goals">
<sect2info>
<authorgroup>
@@ -670,7 +670,7 @@
</sect2info>
<title>&os; 项目目标</title>
-
+
<indexterm>
<primary>FreeBSD Project</primary>
<secondary>goals</secondary>
@@ -699,7 +699,7 @@
因此,如果可以选择的话, 我们更偏好使用限制相对更宽松的
BSD 版权来发布软件。</para>
</sect2>
-
+
<sect2 id="development">
<sect2info>
<authorgroup>
@@ -712,7 +712,7 @@
</sect2info>
<title>&os; 开发模式</title>
-
+
<indexterm>
<primary>FreeBSD Project</primary>
<secondary>开发模式</secondary>
@@ -784,11 +784,11 @@
获得更多的相关信息。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>committer 列表<anchor
id="development-committers"/></term>
-
+
<listitem>
<indexterm><primary>committers</primary></indexterm>
@@ -803,7 +803,7 @@
您也可以通过邮件将它们发送至 &a.committers;。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>FreeBSD 核心团队<anchor id="development-core"/></term>
@@ -836,7 +836,7 @@
</note>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>外围贡献者</term>
@@ -847,7 +847,7 @@
&os; 的非集中式的开发者保持联系的主要方式就是预订
&a.hackers;,很多事情在那里讨论。查看<xref
linkend="eresources"/>了解众多 &os; 邮件列表的更多信息。</para>
-
+
<para><citetitle><ulink
url="&url.articles.contributors;/article.html">
&os; 贡献者列表</ulink></citetitle> 很长并在不断增长,
@@ -860,7 +860,7 @@
</listitem>
</varlistentry>
</variablelist>
-
+
<para>总的来说,我们的开发模式好像是一组没有拘束的同心圆。
这种集中式的开发模式,主要是考虑到 &os;
<emphasis>用户</emphasis>的方便,
@@ -870,7 +870,7 @@
<link linkend="ports">应用程序</link>的稳定的操作系统,
以利于用户的安装和使用,&mdash;
这种模式在完成目标的过程中工作得非常有效。</para>
-
+
<para>我们对于那些想要加入,成为 &os; 开发者的期待是:
具有如同当前其他人一样的投入,来确保持续的成功!</para>
</sect2>
@@ -943,7 +943,7 @@
url="file://localhost/usr/share/doc/handbook/index.html"><filename>/usr/share/doc/handbook/index.html</filename></ulink></para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>FreeBSD FAQ</term>
@@ -953,7 +953,7 @@
</listitem>
</varlistentry>
</variablelist>
-
+
<para>您也可以查看在 <ulink
url="http://www.FreeBSD.org/"></ulink> 的主站上的副本。</para>
</sect2>
diff --git a/zh_CN.GB2312/books/handbook/jails/chapter.sgml b/zh_CN.GB2312/books/handbook/jails/chapter.sgml
index b407ce8c14..998c5de3d2 100644
--- a/zh_CN.GB2312/books/handbook/jails/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/jails/chapter.sgml
@@ -417,7 +417,7 @@ jail_<replaceable>www</replaceable>_devfs_ruleset="<replaceable>www_ruleset</rep
<title>由 &os; Ports 套件提供的高级管理工具</title>
<para>在众多第三方 jail 管理工具中, <filename
- role="package">sysutils/jailutils</filename> 是最完整和好用的。
+ role="package">sysutils/jailutils</filename> 是最完整和好用的。
它是一系列方便 &man.jail.8; 管理的小工具。 请参见其网站以了解进一步的详情。</para>
</sect2>
</sect1>
@@ -644,7 +644,7 @@ jail_<replaceable>www</replaceable>_devfs_ruleset="<replaceable>www_ruleset</rep
/home/js/ns /home/j/ns/s nullfs rw 0 0
/home/js/mail /home/j/mail/s nullfs rw 0 0
/home/js/www /home/j/www/s nullfs rw 0 0</programlisting>
-
+
<note>
<para>扫描批次号 (pass number) 为 0 的分区不会在启动时使用 &man.fsck.8;
进行检查, 而转存批次号 (dump number) 为 0 的分区则不会在
diff --git a/zh_CN.GB2312/books/handbook/kernelconfig/chapter.sgml b/zh_CN.GB2312/books/handbook/kernelconfig/chapter.sgml
index 42b0519fe5..e9c9a14d37 100644
--- a/zh_CN.GB2312/books/handbook/kernelconfig/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/kernelconfig/chapter.sgml
@@ -127,7 +127,7 @@
</authorgroup>
</sect1info>
<title>发现系统硬件</title>
-
+
<para>在尝试配置内核以前,比较明智的做法是先获得一份机器硬件的清单。
当 &os; 并不是主操作系统时,通过查看当前操作系统的配置可以很容易的
创建一份机器硬件的配置清单。举例来说, &microsoft; 的
@@ -311,7 +311,7 @@ following line in &man.loader.conf.5;:
<screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf</userinput>
&prompt.root; <userinput>mkdir /root/kernels</userinput>
-&prompt.root; <userinput>cp GENERIC /root/kernels/<replaceable>MYKERNEL</replaceable></userinput>
+&prompt.root; <userinput>cp GENERIC /root/kernels/<replaceable>MYKERNEL</replaceable></userinput>
&prompt.root; <userinput>ln -s /root/kernels/<replaceable>MYKERNEL</replaceable></userinput></screen>
</tip>
@@ -397,7 +397,7 @@ following line in &man.loader.conf.5;:
<indexterm>
<primary><filename class="directory">/boot/kernel.old</filename></primary>
- </indexterm>
+ </indexterm>
<para>新内核将会被复制到 <filename
class="directory">/boot/kernel</filename> 目录中成为
@@ -543,7 +543,7 @@ cpu I686_CPU</programlisting>
#hints "GENERIC.hints" # Default places to look for devices.</programlisting>
<para>&man.device.hints.5; 可以用来配置设备驱动选项。
- 在启动的时候 &man.loader.8; 将会检查缺省位置 <filename>/boot/devicehints</filename>。
+ 在启动的时候 &man.loader.8; 将会检查缺省位置 <filename>/boot/devicehints</filename>。
使用 <literal>hints</literal> 选项您就可以把这些 hints 静态编译进内核。
这样就没有必要在
<filename>/boot</filename>下创建<filename>devicehints</filename>。</para>
@@ -1236,7 +1236,7 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
<para>大内存配置的机器需要超过4GB的虚拟地址。
因为4GB的限制,Intel在&pentium;及后续的CPUs上增加了36位物理地址的支持。
</para>
-
+
<para>物理地址扩展 (<acronym>PAE</acronym>) 是
&intel; &pentium; Pro和后续的 CPU 提供的一种允许将内存地址扩展到 64GB
的功能, &os; 的所有最新版本均支持此功能, 并通过
@@ -1245,7 +1245,7 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
超过 4GB 的内存分配只是简单地添加到可用内存池中。</para>
<para>为了让内核支持<acronym>PAE</acronym>,只要增加下面这一行到配置文件:</para>
-
+
<programlisting>options PAE</programlisting>
<note>
@@ -1255,7 +1255,7 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
</note>
<para><acronym>PAE</acronym>在&os;下有如下的一些限制:</para>
-
+
<itemizedlist>
<listitem>
<para>进程不能接触大于4GB的VM空间。</para>
diff --git a/zh_CN.GB2312/books/handbook/l10n/chapter.sgml b/zh_CN.GB2312/books/handbook/l10n/chapter.sgml
index 0a9b4ea132..e8c4714259 100644
--- a/zh_CN.GB2312/books/handbook/l10n/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/l10n/chapter.sgml
@@ -62,7 +62,7 @@
<primary>国际化</primary>
<see>本地化</see>
</indexterm>
- <indexterm><primary>本地化</primary></indexterm>
+ <indexterm><primary>本地化</primary></indexterm>
<para>开发人员把internationalization简写成I18N,中间的数字是前后两个字母间的字母个数。
L10N依据<quote>localization</quote> 使用同样的命名规则。
@@ -147,7 +147,7 @@
比较老的应用程序可能会无法识别它们, 并误认为是控制字符。
比较新的应用程序通常会认出 8-位字符。 随实现的不同,
用户可能不得不将宽或多字节字符支持编入应用程序, 或进行一些额外的配置,
- 才能够正常使用它们。 要输入和处理宽或多字节字符, <ulink
+ 才能够正常使用它们。 要输入和处理宽或多字节字符, <ulink
url="&url.base;/ports/index.html">FreeBSD Ports Collection</ulink>
已经为每种语言提供了不同的程序。 请参考各个 FreeBSD Port 中的 I18N
文档。</para>
@@ -250,14 +250,14 @@
me:\
:lang=zh_TW.Big5:\
:setenv=LC_ALL=zh_TW.Big5:\
- :setenv=LC_COLLATE=zh_TW.Big5:\
+ :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=gcin": #Set gcin as the XIM Input Server</programlisting>
+ :xmodifiers="@im=gcin": #Set gcin as the XIM Input Server</programlisting>
<para>更多的信息参考<link linkend="adm-setup">管理员级设置</link>和&man.login.conf.5;</para>
</sect5>
diff --git a/zh_CN.GB2312/books/handbook/mac/chapter.sgml b/zh_CN.GB2312/books/handbook/mac/chapter.sgml
index 4116658d46..25dfb9ffa3 100644
--- a/zh_CN.GB2312/books/handbook/mac/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/mac/chapter.sgml
@@ -557,7 +557,7 @@ test: biba/high</screen>
如 Biba、 Lomac、
<acronym>MLS</acronym> 以及 <acronym>SEBSD</acronym>
才有意义。</para>
-
+
<para>很多情况下是不需要设置 <option>multilabel</option> 的。
考虑下列情形和安全模型:</para>
@@ -1298,7 +1298,7 @@ test: biba/low</screen>
以及其他开发工具, 而其他用户则分入其他类别,
如测试人员、 设计人员, 以及普通用户,
这些用户可能只拥有读这些资料的权限。</para>
-
+
<para>通过其自然的安全控制, 完整性级别较低的主体,
就会无法向完整性级别高的主体进行写操作; 而完整性级别较高的主体,
也不能观察或读较低完整性级别的客体。 通过将客体的标签设为最低级,
@@ -1445,7 +1445,7 @@ mac_seeotheruids_load="YES"</programlisting>
<username>www</username> 这两个用户归入不安全 class:</para>
<screen>&prompt.root; <userinput>pw usermod nagios -L insecure</userinput></screen>
- <screen>&prompt.root; <userinput>pw usermod www -L insecure</userinput></screen>
+ <screen>&prompt.root; <userinput>pw usermod www -L insecure</userinput></screen>
</sect2>
<sect2>
diff --git a/zh_CN.GB2312/books/handbook/mail/chapter.sgml b/zh_CN.GB2312/books/handbook/mail/chapter.sgml
index f65903ec27..cdb4532c15 100644
--- a/zh_CN.GB2312/books/handbook/mail/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/mail/chapter.sgml
@@ -293,7 +293,7 @@ FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org</screen>
<listitem>
<para><application>courier-imap</application>;</para>
</listitem>
-
+
<listitem>
<para><application>dovecot</application>;</para>
</listitem>
@@ -645,7 +645,7 @@ postmaster@example.com postmaster@noc.example.net
通过邮件来传送其执行结果。 您系统中的许多部分可能都假定有可用的
<application>sendmail</application>-兼容 系统。 如果这些应用程序继续使用
<application>sendmail</application> 的执行文件来发送邮件,
- 而您又禁用了它, 则邮件将进入 <application>sendmail</application>
+ 而您又禁用了它, 则邮件将进入 <application>sendmail</application>
的非活跃 (inactive) 队列, 而永远不会被送达。</para>
</warning>
diff --git a/zh_CN.GB2312/books/handbook/mirrors/chapter.sgml b/zh_CN.GB2312/books/handbook/mirrors/chapter.sgml
index b15ccb9441..d3971756ef 100644
--- a/zh_CN.GB2312/books/handbook/mirrors/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/mirrors/chapter.sgml
@@ -257,7 +257,7 @@
用户下载镜像的 torrent 文件能够在这里找到 <ulink
url="http://torrents.freebsd.org:8080/">http://torrents.freebsd.org:8080</ulink></para>
- <para>BitTorrent 客户端软件可以从这个 port
+ <para>BitTorrent 客户端软件可以从这个 port
<filename role="package">net-p2p/py-bittorrent</filename>
或预编译的二进制包安装。</para>
@@ -352,7 +352,7 @@
<programlisting>SSH2 HostKey: 1024 02:ed:1b:17:d6:97:2b:58:5e:5c:e2:da:3b:89:88:26 /etc/ssh/ssh_host_rsa_key.pub
SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub</programlisting>
-
+
</listitem>
<listitem>
<para><emphasis>美国</emphasis>:
@@ -454,7 +454,7 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
<itemizedlist>
<listitem>
- <para><ulink
+ <para><ulink
url="http://users.csc.calpoly.edu/~gfisher/classes/308/handouts/cvs-basics.html">CVS 教程</ulink>,
来自加州州立理工大学。</para>
</listitem>
@@ -472,8 +472,8 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
</itemizedlist>
</sect2>
</sect1>
-
-
+
+
<sect1 id="ctm">
<title>使用 CTM</title>
@@ -513,7 +513,7 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
<para>您需要两样东西:<application>CTM</application>
程序,还有初始的 deltas 来 feed it(达到
<quote>current</quote> 级别)。</para>
-
+
<para><application>CTM</application> 程序从版本 2.0 发布以来
已经是 &os; 的一部分了,如果您安装了源代码副本的话, 它位于
<filename>/usr/src/usr.sbin/ctm</filename>。</para>
@@ -717,7 +717,7 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
<sect2 id="mirrors-ctm">
<title>CTM 镜像</title>
-
+
<para><link linkend="ctm">CTM</link>/&os; 可以在下面的镜像站点通过匿名
FTP 下载。如果您选择通过匿名 FTP 获取 <application>CTM</application>,
请试着使用一个离您较近的站点。</para>
@@ -778,16 +778,16 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
<sect1 id="cvsup">
<title>使用 CVSup</title>
-
+
<sect2 id="cvsup-intro">
<title>概述</title>
-
+
<para><application>CVSup</application> 是一个用于从远程服务器主机上的主
CVS 仓库发布和升级源代码树的软件包。
&os; 的源代码维护在加利福尼亚州一台主开发服务器的 CVS 仓库里。
有了 <application>CVSup</application>, &os;
用户可以很容易的保持他们自己的源代码树更新。</para>
-
+
<para><application>CVSup</application> 使用所谓的升级
<emphasis>pull</emphasis> 模式。在 pull
模式下,客户端在需要的时候向服务器端请求更新。
@@ -796,7 +796,7 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
服务器决不会发送未请求的升级。用户必须手动运行
<application>CVSup</application> 客户端获取更新,
或者设置一个 <command>cron</command> 作业来让它以固定的规律自动运行。</para>
-
+
<para>术语 <application>CVSup</application>用大写字母写正是表示,
代表了完整的软件包。 它的主要组件是运行在每个用户机器上的客户端 <command>cvsup</command>,
和运行在每个 &os; 镜像站点上的服务器端 <command>cvsupd</command>。</para>
@@ -825,7 +825,7 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
<sect2 id="cvsup-install">
<title>安装</title>
-
+
<para>安装 <application>CVSup</application> 最简单的方式就是使用
&os; <link linkend="ports">packages collection</link>
中预编译的 <filename role="package">net/cvsup</filename> 包。
@@ -846,37 +846,37 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
<sect2 id="cvsup-config">
<title>CVSup 配置</title>
-
+
<para><application>CVSup</application> 的操作被一个叫做
<filename>supfile</filename> 的配置文件所控制。
在目录 <ulink type="html"
url="file://localhost/usr/share/examples/cvsup/"><filename>/usr/share/examples/cvsup/</filename></ulink>
下面有一些示例的 <filename>supfiles</filename>。</para>
-
+
<para><filename>supfile</filename> 中的信息解答了
<application>CVSup</application> 下面的几个问题:</para>
-
+
<itemizedlist>
<listitem>
<para><link linkend="cvsup-config-files">您想接收
哪些文件?</link></para>
</listitem>
-
+
<listitem>
<para><link linkend="cvsup-config-vers">您想要它们的
哪个版本?</link></para>
</listitem>
-
+
<listitem>
<para><link linkend="cvsup-config-where">您想从哪里
获取它们?</link></para>
</listitem>
-
+
<listitem>
<para><link linkend="cvsup-config-dest">您想把它们
放在您自己机器的什么地方?</link></para>
</listitem>
-
+
<listitem>
<para><link linkend="cvsup-config-status">您想把
您的状态文件放在哪?</link></para>
@@ -890,7 +890,7 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
<para><filename>supfile</filename> 是个文本文件。注释用
<literal>#</literal> 开头,至行尾有效。
空行和只包含注释的行会被忽略。</para>
-
+
<para>每个保留行描述一批用户希望接收的文件。
每行以 <quote>collection</quote>,
由服务器端定义的合理的文件分组,的名字开头。
@@ -903,7 +903,7 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
<literal>compress</literal>。值字段也用关键字开头,
关键字后面跟 <literal>=</literal> 和第二个词而没有空格。
例如,<literal>release=cvs</literal> 是一个值字段。</para>
-
+
<para>一个典型的 <filename>supfile</filename> 往往接收多于一个的
collection。创建
<filename>supfile</filename> 的一种方式是明确的为每一个
@@ -928,7 +928,7 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
<itemizedlist>
<listitem>
<para><anchor id="cvsup-config-files"/>您想接收哪些文件?</para>
-
+
<para>通过 <application>CVSup</application> 可用的文件组织成叫做
<quote>collections</quote> 的名称组。
这些可用的 collection 在 <link
@@ -956,7 +956,7 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
CVS 仓库工作,那包含了所有的版本。您可以
用 <literal>tag=</literal> 和 <option>date=</option> 值字段
指定一个您想要的版本。</para>
-
+
<warning>
<para>仔细的正确指定任何 <literal>tag=</literal>
字段。有一些 tag 只对特定的 collection 文件合法。
@@ -975,7 +975,7 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
分支标签,另一方面,代表给定开发线上给定时间的最新修订。
因为分支标签不代表一个特定的修订版本,
它明天的含义就可能和今天的有所不同。</para>
-
+
<para><xref linkend="cvs-tags"/> 包含了用户可能感兴趣的分支标签。
当在 <application>CVSup</application> 的配置文件中指定标签的时候,必须用
<literal>tag=</literal> 开头
@@ -1001,7 +1001,7 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
<para>对于我们的示例来说,我们希望接收 &os;-CURRENT。
我们在我们的
<filename>supfile</filename> 的开头添加这行:</para>
-
+
<programlisting>*default tag=.</programlisting>
<para>有一个重要的特例,
@@ -1017,7 +1017,7 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
<listitem>
<para><anchor id="cvsup-config-where"/>您想从哪里获取他们?</para>
-
+
<para>我们使用 <literal>host=</literal> 字段来告诉
<command>cvsup</command> 从哪里获取更新。
任何一个 <link linkend="cvsup-mirrors">CVSup 镜像站点</link>都可以,
@@ -1026,25 +1026,25 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
<hostid role="fqdn">cvsup99.FreeBSD.org</hostid>:</para>
<programlisting>*default host=cvsup99.FreeBSD.org</programlisting>
-
+
<para>您需要在运行 <application>CVSup</application>
之前把这个改成一个实际存在的站点。
在任何 <command>cvsup</command> 运行的特定时刻,
您都可以在命令行上使用 <option>-h
<replaceable>hostname</replaceable></option> 选项来覆盖主机设置。</para>
</listitem>
-
+
<listitem>
<para><anchor id="cvsup-config-dest"/>您想把它们放在
您自己机器的什么地方?</para>
-
+
<para><literal>prefix=</literal> 字段告诉
<command>cvsup</command> 把接收的文件放在哪里。
在这个例子里,我们把源代码文件直接放进我们的主源代码树,
<filename>/usr/src</filename>。
<filename>src</filename> 目录已经隐含在我们选择接收的 collection 里了,
所以正确的写法是:</para>
-
+
<programlisting>*default prefix=/usr</programlisting>
</listitem>
@@ -1069,7 +1069,7 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
<listitem>
<para>其他的 <filename>supfile</filename>
设置:</para>
-
+
<para>在 <filename>supfile</filename>
中有一些其他选项需要介绍一下:</para>
@@ -1077,7 +1077,7 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
<para><literal>release=cvs</literal> 显示服务器应该从 &os; 的主 CVS 仓库中获取信息。
事实上总是这样的,但是也有可能会超出这个讨论的范围。</para>
-
+
<para><literal>delete</literal> 给
<application>CVSup</application> 权限删除文件。
您应该总是指定这个,这样
@@ -1098,7 +1098,7 @@ Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hos
<listitem>
<para>把它们放在一起:</para>
- <para>这是我们的示例的完整 <filename>supfile</filename>
+ <para>这是我们的示例的完整 <filename>supfile</filename>
文件:</para>
<programlisting>*default tag=.
@@ -1183,23 +1183,23 @@ doc/zh_*</screen>
下载那些从来不用的文件。要了解
<filename>refuse</filename> 文件的更多信息以及其它
<application>CVSup</application> 的优雅的特性,请浏览它的
- 手册页。</para>
+ 手册页。</para>
</sect3>
</sect2>
-
+
<sect2>
<title>运行 <application>CVSup</application></title>
-
+
<para>您现在准备尝试升级了。命令很简单:</para>
<screen>&prompt.root; <userinput>cvsup <replaceable>supfile</replaceable></userinput></screen>
<para><filename><replaceable>supfile</replaceable></filename>
- 的位置当然就是您刚刚创建的 <filename>supfile</filename> 文件名啦。
+ 的位置当然就是您刚刚创建的 <filename>supfile</filename> 文件名啦。
如果您在 X11 下面运行,<command>cvsup</command>
会显示一个有一些可以做平常事情的按钮的 GUI 窗口。
按 <guibutton>go</guibutton> 按钮,然后看着它运行。</para>
-
+
<para>在这个例子里您将要升级您目前的
<filename>/usr/src</filename> 树,您将需要
用 <username>root</username> 来运行程序,这样
@@ -1211,7 +1211,7 @@ doc/zh_*</screen>
<screen>&prompt.root; <userinput>mkdir /var/tmp/dest</userinput>
&prompt.root; <userinput>cvsup supfile /var/tmp/dest</userinput></screen>
-
+
<para>您指定的目录会作为所有文件更新的目的路径。
<application>CVSup</application> 会检查您在
<filename>/usr/src</filename> 中的文件,但是不会修改或
@@ -1223,23 +1223,23 @@ doc/zh_*</screen>
因为您有
<filename>/usr/src</filename> 目录的读权限,所以执行这种试验性的运行
甚至不需要使用 <username>root</username> 用户。</para>
-
+
<para>如果您没有运行 X11 或者不喜欢 GUI,
当您运行 <command>cvsup</command> 的时候需要在命令行添加
两个选项:</para>
-
+
<screen>&prompt.root; <userinput>cvsup -g -L 2 <replaceable>supfile</replaceable></userinput></screen>
-
+
<para><option>-g</option> 告诉
<application>CVSup</application> 不要使用 GUI。如果您
没在运行 X11 这个是自动的,否则您必须指定它。</para>
-
+
<para><option>-L 2</option> 告诉
<application>CVSup</application> 输出所有正在升级的文件的细节。
有三个等级可以选择,从 <option>-L 0</option> 到
<option>-L 2</option>。默认是 0,意味着除了错误消息
什么都不输出。</para>
-
+
<para>还有许多其它的选项可用。想要一个简短的列表,
输入 <command>cvsup -H</command>。要查看更详细的描述,
请查看手册页。</para>
@@ -1253,7 +1253,7 @@ doc/zh_*</screen>
<sect2 id="cvsup-collec">
<title><application>CVSup</application> 文件 collection</title>
-
+
<para><application>CVSup</application> 可用的文件 collection
是分级组织的。
有几个大的 collection,然后它们有分成更小的子
@@ -1261,31 +1261,31 @@ doc/zh_*</screen>
接收它的每一个子 collection。
collection 的等级关系在下面列表中通过缩进的使用
反映出来。</para>
-
+
<para>最常用的 collection 是
<literal>src-all</literal>,和
<literal>ports-all</literal>。其它的 collection 只被有着特定
目的的小部分人使用,
有些站点可能不全部支持。</para>
-
+
<variablelist>
<varlistentry>
<term><literal>cvs-all release=cvs</literal></term>
-
+
<listitem>
<para>&os; 主 CVS 仓库,包含
密码系统的代码。</para>
-
+
<variablelist>
<varlistentry>
<term><literal>distrib release=cvs</literal></term>
-
+
<listitem>
<para>&os; 发行版本和镜像相关的
文件。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><literal>doc-all release=cvs</literal></term>
<listitem>
@@ -1350,7 +1350,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-archivers
release=cvs</literal></term>
-
+
<listitem>
<para>存档工具。</para>
</listitem>
@@ -1359,7 +1359,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-astro
release=cvs</literal></term>
-
+
<listitem>
<para>天文相关的 ports。</para>
</listitem>
@@ -1368,7 +1368,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-audio
release=cvs</literal></term>
-
+
<listitem>
<para>声音支持。</para>
</listitem>
@@ -1377,7 +1377,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-base
release=cvs</literal></term>
-
+
<listitem>
<para>Ports Collection 构建下部构造 -
位于 <filename>/usr/ports</filename> 的
@@ -1399,7 +1399,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-benchmarks
release=cvs</literal></term>
-
+
<listitem>
<para>基准。</para>
</listitem>
@@ -1417,7 +1417,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-cad
release=cvs</literal></term>
-
+
<listitem>
<para>计算机辅助设计工具。</para>
</listitem>
@@ -1426,7 +1426,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-chinese
release=cvs</literal></term>
-
+
<listitem>
<para>中文语言支持。</para>
</listitem>
@@ -1435,7 +1435,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-comms
release=cvs</literal></term>
-
+
<listitem>
<para>通信软件。</para>
</listitem>
@@ -1444,7 +1444,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-converters
release=cvs</literal></term>
-
+
<listitem>
<para>字符编码转换。</para>
</listitem>
@@ -1453,16 +1453,16 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-databases
release=cvs</literal></term>
-
+
<listitem>
<para>数据库</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><literal>ports-deskutils
release=cvs</literal></term>
-
+
<listitem>
<para>计算机发明前常出现在桌面上的东西。</para>
</listitem>
@@ -1485,7 +1485,7 @@ doc/zh_*</screen>
<para>DNS 相关软件。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><literal>ports-editors
release=cvs</literal></term>
@@ -1498,7 +1498,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-emulators
release=cvs</literal></term>
-
+
<listitem>
<para>其它操作系统的模拟器</para>
</listitem>
@@ -1507,7 +1507,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-finance
release=cvs</literal></term>
-
+
<listitem>
<para>货币,金融相关应用程序。</para>
</listitem>
@@ -1516,7 +1516,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-ftp
release=cvs</literal></term>
-
+
<listitem>
<para>FTP 客户端和服务器端工具。</para>
</listitem>
@@ -1525,16 +1525,16 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-games
release=cvs</literal></term>
-
+
<listitem>
<para>游戏</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><literal>ports-german
release=cvs</literal></term>
-
+
<listitem>
<para>德语支持。</para>
</listitem>
@@ -1561,7 +1561,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-hungarian
release=cvs</literal></term>
-
+
<listitem>
<para>匈牙利语言支持。</para>
</listitem>
@@ -1584,7 +1584,7 @@ doc/zh_*</screen>
<para>日语支持。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><literal>ports-java
release=cvs</literal></term>
@@ -1651,7 +1651,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-net
release=cvs</literal></term>
-
+
<listitem>
<para>网络软件。</para>
</listitem>
@@ -1687,16 +1687,16 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-news
release=cvs</literal></term>
-
+
<listitem>
<para>USENET 新闻软件。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><literal>ports-palm
release=cvs</literal></term>
-
+
<listitem>
<para><trademark class="trade">Palm</trademark>
系列软件支持。</para>
@@ -1706,7 +1706,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-polish
release=cvs</literal></term>
-
+
<listitem>
<para>波兰语支持。</para>
</listitem>
@@ -1724,7 +1724,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-portuguese
release=cvs</literal></term>
-
+
<listitem>
<para>葡萄牙语支持。</para>
</listitem>
@@ -1733,7 +1733,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-print
release=cvs</literal></term>
-
+
<listitem>
<para>打印软件。</para>
</listitem>
@@ -1742,7 +1742,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-russian
release=cvs</literal></term>
-
+
<listitem>
<para>俄语支持。</para>
</listitem>
@@ -1760,7 +1760,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-security
release=cvs</literal></term>
-
+
<listitem>
<para>安全工具。</para>
</listitem>
@@ -1769,7 +1769,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-shells
release=cvs</literal></term>
-
+
<listitem>
<para>命令行 shell。</para>
</listitem>
@@ -1778,7 +1778,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-sysutils
release=cvs</literal></term>
-
+
<listitem>
<para>系统实用工具。</para>
</listitem>
@@ -1787,7 +1787,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-textproc
release=cvs</literal></term>
-
+
<listitem>
<para>文本处理工具(不
包含桌面出版)。</para>
@@ -1806,7 +1806,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-vietnamese
release=cvs</literal></term>
-
+
<listitem>
<para>越南语支持。</para>
</listitem>
@@ -1815,7 +1815,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-www
release=cvs</literal></term>
-
+
<listitem>
<para>万维网(WWW)相关软件。</para>
</listitem>
@@ -1824,7 +1824,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-x11
release=cvs</literal></term>
-
+
<listitem>
<para>支持 X window 系统的 ports。</para>
</listitem>
@@ -1833,7 +1833,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-x11-clocks
release=cvs</literal></term>
-
+
<listitem>
<para>X11 时钟。</para>
</listitem>
@@ -1860,7 +1860,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-x11-fonts
release=cvs</literal></term>
-
+
<listitem>
<para>X11 字体和字体工具。</para>
</listitem>
@@ -1878,7 +1878,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-x11-servers
release=cvs</literal></term>
-
+
<listitem>
<para>X11 服务器。</para>
</listitem>
@@ -1896,7 +1896,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>ports-x11-wm
release=cvs</literal></term>
-
+
<listitem>
<para>X11 窗口管理器。</para>
</listitem>
@@ -1914,7 +1914,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>src-all release=cvs</literal></term>
-
+
<listitem>
<para>&os; 主代码,包含密码系统的代码。</para>
@@ -1972,7 +1972,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>src-eBones release=cvs</literal></term>
-
+
<listitem>
<para>Kerberos 和 DES
(<filename>/usr/src/eBones</filename>)。
@@ -1993,7 +1993,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>src-games
release=cvs</literal></term>
-
+
<listitem>
<para>游戏
(<filename>/usr/src/games</filename>)。</para>
@@ -2013,7 +2013,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>src-include
release=cvs</literal></term>
-
+
<listitem>
<para>头文件
(<filename>/usr/src/include</filename>)。</para>
@@ -2023,7 +2023,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>src-kerberos5
release=cvs</literal></term>
-
+
<listitem>
<para>Kerberos5 安全包
(<filename>/usr/src/kerberos5</filename>)。</para>
@@ -2033,7 +2033,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>src-kerberosIV
release=cvs</literal></term>
-
+
<listitem>
<para>KerberosIV 安全包
(<filename>/usr/src/kerberosIV</filename>)。</para>
@@ -2059,21 +2059,21 @@ doc/zh_*</screen>
(<filename>/usr/src/libexec</filename>)。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><literal>src-release
release=cvs</literal></term>
-
+
<listitem>
<para>生成 &os; 版本必需的文件
(<filename>/usr/src/release</filename>)。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><literal>src-rescue
release=cvs</literal></term>
-
+
<listitem>
<para>用于紧急修复的静态联编的程序; 请参见 &man.rescue.8;
(<filename>/usr/src/rescue</filename>)。</para>
@@ -2088,7 +2088,7 @@ doc/zh_*</screen>
(<filename>/usr/src/sbin</filename>)。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><literal>src-secure
release=cvs</literal></term>
@@ -2122,7 +2122,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>src-sys-crypto
release=cvs</literal></term>
-
+
<listitem>
<para>内核密码系统代码
(<filename>/usr/src/sys/crypto</filename>)。</para>
@@ -2152,7 +2152,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>src-usrsbin
release=cvs</literal></term>
-
+
<listitem>
<para>系统工具
(<filename>/usr/src/usr.sbin</filename>)。</para>
@@ -2161,10 +2161,10 @@ doc/zh_*</screen>
</variablelist>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><literal>www release=cvs</literal></term>
-
+
<listitem>
<para>&os; WWW 站点的源代码。</para>
</listitem>
@@ -2172,12 +2172,12 @@ doc/zh_*</screen>
</variablelist>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><literal>distrib release=self</literal></term>
<listitem>
- <para><application>CVSup</application> 服务器的
+ <para><application>CVSup</application> 服务器的
配置文件。用于 <application>CVSup</application>
镜像站点。</para>
</listitem>
@@ -2193,7 +2193,7 @@ doc/zh_*</screen>
<varlistentry>
<term><literal>mail-archive release=current</literal></term>
-
+
<listitem>
<para>&os; 邮件列表存档。</para>
</listitem>
@@ -2236,7 +2236,7 @@ doc/zh_*</screen>
&chap.mirrors.cvsup.inc;
</sect2>
</sect1>
-
+
<sect1 id="cvs-tags">
<title>CVS 标签</title>
@@ -2878,7 +2878,7 @@ doc/zh_*</screen>
<para>&os; 4.0</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>RELENG_3_5_0_RELEASE</term>
@@ -3018,7 +3018,7 @@ doc/zh_*</screen>
&man.rcp.1; 的工作方式很相像,
但是有更多的选项,使用 rsync 远程更新协议只传输
两份文件的不同之处,
- 因此能够大幅度的提高网络同步速率。
+ 因此能够大幅度的提高网络同步速率。
如果您是 &os; FTP 服务器或者 CVS 仓库的镜像站点,
这一点非常有用。
<application>rsync</application> 套件可以工作在许多种
@@ -3129,7 +3129,7 @@ doc/zh_*</screen>
<itemizedlist>
<listitem><para>&os;:&os; FTP 服务器的主要存档。</para></listitem>
<listitem><para>acl:&os; 主 ACL
- 列表。</para></listitem>
+ 列表。</para></listitem>
</itemizedlist>
<para>rsync://ftp13.FreeBSD.org/</para>
@@ -3142,5 +3142,5 @@ doc/zh_*</screen>
</listitem>
</varlistentry>
</variablelist>
- </sect1>
+ </sect1>
</appendix>
diff --git a/zh_CN.GB2312/books/handbook/multimedia/chapter.sgml b/zh_CN.GB2312/books/handbook/multimedia/chapter.sgml
index ac66f760aa..a47b230f6c 100644
--- a/zh_CN.GB2312/books/handbook/multimedia/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/multimedia/chapter.sgml
@@ -341,7 +341,7 @@ kld snd_ich (1p/2r/0v channels duplex default)</screen>
要检查这种情况, 运行
<application>dmesg</application> 并观察 <literal>pcm</literal>。
其输出类似下面这样:</para>
-
+
<programlisting>...
hdac0: HDA Driver Revision: 20100226_0142
hdac1: HDA Driver Revision: 20100226_0142
@@ -370,7 +370,7 @@ pcm7: &lt;HDA Realtek ALC889 PCM #3 Digital&gt; at cad 2 nid 1 on hdac1
<para>这里的 <literal>n</literal> 是希望使用的声音设备编号,
在这个例子中是 <literal>4</literal>。 您可以在
<filename>/etc/sysctl.conf</filename> 中写上这个配置来令其永久性生效:</para>
-
+
<programlisting>hw.snd.default_unit=<replaceable>4</replaceable></programlisting>
</sect3>
</sect2>
@@ -754,7 +754,7 @@ screen #0
Adaptor #0: "Savage Streams Engine"
number of ports: 1
port base: 43
- operations supported: PutImage
+ operations supported: PutImage
supported visuals:
depth 16, visualID 0x22
depth 16, visualID 0x23
@@ -883,25 +883,25 @@ no adaptors present</screen>
<listitem>
<para>一个应用程序不能播放其它程序制作的文件。</para>
- </listitem>
+ </listitem>
<listitem>
<para>一个应用程序不能播放其自已制作的文件。</para>
- </listitem>
+ </listitem>
<listitem>
<para>不同机上的同样的程序,各自重新建立(rebuild)了一次,
播放同一个文件结果也会有不同。</para>
- </listitem>
+ </listitem>
<listitem>
<para>一个看起来没什么的过滤器, 如图像尺寸的调整,
也有可能因为一个调整例程的问题变得很不象样。</para>
- </listitem>
+ </listitem>
<listitem>
<para>应用程序频繁地留下垃圾(dumps core)。</para>
- </listitem>
+ </listitem>
<listitem>
<para>没有随 port 一起安装的文档可以在网上或者
@@ -1108,7 +1108,7 @@ zoom=yes</programlisting>
<para><application>xine</application> 视频播放器是一个关注范围很广的项目,
它不仅看准多合一的视频解决,
而且出品了一个可再用的基本库和一个可扩展插件的可执行模块。
- 发行有 <quote>包</quote> 和port版本--
+ 发行有 <quote>包</quote> 和port版本--
<filename role="package">multimedia/xine</filename>。</para>
<para><application>xine</application> 播放器仍然很粗糙,
@@ -1390,7 +1390,7 @@ bktr0: Pinnacle/Miro TV, Philips SECAM tuner.</programlisting>
在做任何配置之前请确保您的扫描仪被 <application>SANE</application>
支持。 <application>SANE</application> 有一个 <ulink
url="http://www.sane-project.org/sane-supported-devices.html">
- 支持的设备</ulink> 列表,
+ 支持的设备</ulink> 列表,
可以为您提供有关扫描仪的支持情况和状态的信息。
在 &os;&nbsp;8.X 之前版本的系统中,
&man.uscanner.4; 手册页也提供了系统支持的 USB 扫描仪列表。</para>
@@ -1420,7 +1420,7 @@ device ehci</programlisting>
<programlisting>device uscanner</programlisting>
- <para>在这些 &os; 版本中, 是通过设备驱动程序 &man.uscanner.4;
+ <para>在这些 &os; 版本中, 是通过设备驱动程序 &man.uscanner.4;
来提供对 USB 扫描仪的支持的。 从
&os;&nbsp;8.0 开始, 这些支持则直接由
&man.libusb.3; 函数库提供。</para>
diff --git a/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml b/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml
index a742322a35..599a36a6ff 100644
--- a/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml
@@ -61,7 +61,7 @@
</listitem>
<listitem>
- <para>如何使用<application>Samba</application>为 &windows;
+ <para>如何使用<application>Samba</application>为 &windows;
客户端设置文件和打印服务。</para>
</listitem>
@@ -2543,7 +2543,7 @@ host mailhost {
<callout arearefs="fixed-address">
<para>指定总是得到同一 IP 地址的主机。
- 请注意在此处使用主机名是对的, 因为 DHCP
+ 请注意在此处使用主机名是对的, 因为 DHCP
服务器会在返回租借地址信息之前自行解析主机名。</para>
</callout>
</calloutlist>
@@ -2646,7 +2646,7 @@ dhcpd_ifaces="dc0"</programlisting>
例如, 查询 <hostid role="fqdn">www.FreeBSD.org</hostid>
将得到 &os; Project 的 web 服务器的 <acronym>IP</acronym> 地址, 而查询 <hostid
role="fqdn">ftp.FreeBSD.org</hostid> 则将得到响应的 <acronym>FTP</acronym> 机器的
- <acronym>IP</acronym> 地址。 类似地, 也可以做相反的事情。 查询 <acronym>IP</acronym>
+ <acronym>IP</acronym> 地址。 类似地, 也可以做相反的事情。 查询 <acronym>IP</acronym>
地址可以得到其主机名。 当然, 完成 <acronym>DNS</acronym>
查询并不需要在系统中运行域名服务器。</para>
@@ -3819,7 +3819,7 @@ DocumentRoot /www/someotherdomain.tld
<para>在安装了 Django 和那些依赖的软件之后,
你需要创建一个 Django 项目的目录,然后配置
- Apache,当有对于你网站上应用程序的某些指定的 URL
+ Apache,当有对于你网站上应用程序的某些指定的 URL
时调用内嵌的 Python 解释器。</para>
<example id="network-www-django-apache-config">
@@ -4705,7 +4705,7 @@ syslogd_flags="-a logclient.example.com -v -v"</programlisting>
<itemizedlist>
<listitem>
- <para>&man.syslogd.8;
+ <para>&man.syslogd.8;
必须被配置成发送指定类型的消息到能接收他们的日志服务器。</para>
</listitem>
diff --git a/zh_CN.GB2312/books/handbook/ports/chapter.sgml b/zh_CN.GB2312/books/handbook/ports/chapter.sgml
index a88707e1bd..3e7771437d 100644
--- a/zh_CN.GB2312/books/handbook/ports/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/ports/chapter.sgml
@@ -236,7 +236,7 @@ lsof: /usr/ports/sysutils/lsof</screen>
<filename>/usr/ports/sysutils/lsof</filename>目录中找到。</para></listitem>
<listitem>
- <para>你可以使用简单的 &man.echo.1;
+ <para>你可以使用简单的 &man.echo.1;
语句来查找某个 port 是否存在于 ports 树中。
例如:</para>
@@ -267,7 +267,7 @@ Path: /usr/ports/sysutils/lsof
Info: Lists information about open files (similar to fstat(1))
Maint: obrien@FreeBSD.org
Index: sysutils
-B-deps:
+B-deps:
R-deps: </screen>
<para>在输出的内容里面您要特别注意包含 <quote>Path:</quote>
@@ -422,7 +422,7 @@ docbook-1.2 Meta-port for the different versions of the DocBook DTD
...</screen>
<para>&man.pkg.version.1;是一个用来统计所有安装的软件包版本的工具。
它可以用来比较本地 package 的版本与 ports 目录中的当前版本是否一致。
- </para>
+ </para>
<indexterm>
<primary><command>pkg_version</command></primary>
</indexterm>
@@ -479,7 +479,7 @@ docbook =
<secondary>deleting</secondary>
</indexterm>
<para>要删除先前安装的软件package,只要使用&man.pkg.delete.1; 工具。
-
+
</para>
<screen>&prompt.root; <userinput>pkg_delete <replaceable>xchat-1.7.1</replaceable></userinput></screen>
@@ -960,7 +960,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
<sect3>
<title>重新配置 Ports</title>
- <para>当你在编译某些 ports 的时候,可能会弹出一个基于 ncurses
+ <para>当你在编译某些 ports 的时候,可能会弹出一个基于 ncurses
的菜单来让你来选择一些编译选项。 通常用户都希望能够在一个 port
被编译安装了以后还能再次访问这份菜单以添加删除或修改这些选项。
实际上有很多方法来做这件事情。 一个方法进入那个 port 的目录后键入
@@ -1275,7 +1275,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
如果您不知道它们的网站地址,请使用下面的命令</para>
<screen>&prompt.root; <userinput>pkg_info <replaceable>foopackage-1.0.0</replaceable></userinput></screen>
-
+
<para>一个 <literal>WWW:</literal> 行, 如果它存在,
它将提供一个这个应用程序的网站URL.</para>
</listitem>
diff --git a/zh_CN.GB2312/books/handbook/ppp-and-slip/chapter.sgml b/zh_CN.GB2312/books/handbook/ppp-and-slip/chapter.sgml
index 79a0d33a26..134261fc2e 100644
--- a/zh_CN.GB2312/books/handbook/ppp-and-slip/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/ppp-and-slip/chapter.sgml
@@ -1434,7 +1434,7 @@ modem # modem line</programlisting>
<para>下面这个脚本<filename>/etc/ppp/pppserv</filename>
使<application>pppd</application>以服务器方式启动:</para>
- <programlisting>#!/bin/sh
+ <programlisting>#!/bin/sh
pgrep -l pppd
pid=`pgrep pppd`
if [ "X${pid}" != "X" ] ; then
@@ -2631,7 +2631,7 @@ water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438
就需要修改 <filename>/etc/rc.conf</filename> 文件,
将 <literal>gateway_enable</literal> 变量设为
<option>YES</option>。 这样下次系统引导时就能够保持这一配置了。</para>
-
+
<para>要立即应用这些配置, 可以 <username>root</username>
的身份运行:</para>
diff --git a/zh_CN.GB2312/books/handbook/printing/chapter.sgml b/zh_CN.GB2312/books/handbook/printing/chapter.sgml
index 8fd0024b51..bc872cdf91 100644
--- a/zh_CN.GB2312/books/handbook/printing/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/printing/chapter.sgml
@@ -1520,7 +1520,7 @@ $%&amp;'()*+,-./01234567
</cmdsynopsis>
<para>这里</para>
-
+
<variablelist>
<varlistentry>
<term><option>-c</option></term>
@@ -1728,7 +1728,7 @@ $%&amp;'()*+,-./01234567
<command>lprps</command>, 将下面的内容添加到
<filename>/etc/printcap</filename> 文件中 &postscript;
打印机的记录部分中:</para>
-
+
<programlisting>:if=<filename>/usr/local/libexec/psif</filename>:</programlisting>
<para>同时还需要指定 <literal>rw</literal> 标签来告诉
@@ -1857,21 +1857,21 @@ exit 2</programlisting>
<para>在完成了 <link
linkend="printing-simple"> 打印机简单设置 </link> 这节中所描述的内容之后, 头一件事
恐怕就是为你喜爱的格式的文件安装转换过滤器了 (除了纯 ASCII 文本)。</para>
-
+
<sect4>
<title>为什么安装转换过滤器?</title>
<indexterm>
<primary>&tex;</primary>
<secondary>printing DVI files</secondary>
</indexterm>
-
+
<para>转换过滤器使打印众多格式的文件变得很容易。
比如, 假设我们大量使用 &tex;
排版系统, 并且有一台 &postscript; 打印机。
每次从 &tex; 生成一个 DVI 文件,
我们都不能直接打印它直到我们将 DVI 文件转换成 &postscript;。
转换的命令应该是下面的样子:</para>
-
+
<screen>&prompt.user; <userinput><command>dvips <filename><replaceable>seaweed-analysis.dvi</replaceable></filename></command></userinput>
&prompt.user; <userinput><command>lpr <filename><replaceable>seaweed-analysis.ps</replaceable></filename></command></userinput></screen>
@@ -1897,13 +1897,13 @@ exit 2</programlisting>
<sect4>
<title>我应该安装哪个转换过滤器?</title>
-
+
<para>您应该安装您希望使用的转换过滤器。
如果要打印很多 DVI 数据, 就需要 DVI 转换过滤器;
如果有大量的 troff 数据,
就应该安装 troff 过滤器。</para>
-
- <para>下面的表格总结了可以与
+
+ <para>下面的表格总结了可以与
<application>LPD</application>配合
工作的过滤器, 以及它们在
<filename>/etc/printcap</filename>文件中的变量名, 还有如何在
@@ -1918,50 +1918,50 @@ exit 2</programlisting>
<entry>在<command>lpr</command>命令中调用使用的参数</entry>
</row>
</thead>
-
+
<tbody>
<row>
<entry>cifplot</entry>
<entry><literal>cf</literal></entry>
<entry><option>-c</option></entry>
</row>
-
+
<row>
<entry>DVI</entry>
<entry><literal>df</literal></entry>
<entry><option>-d</option></entry>
</row>
-
+
<row>
<entry>plot</entry>
<entry><literal>gf</literal></entry>
<entry><option>-g</option></entry>
</row>
-
+
<row>
<entry>ditroff</entry>
<entry><literal>nf</literal></entry>
<entry><option>-n</option></entry>
</row>
-
+
<row>
<entry>FORTRAN text</entry>
<entry><literal>rf</literal></entry>
<entry><option>-f</option></entry>
</row>
-
+
<row>
<entry>troff</entry>
<entry><literal>tf</literal></entry>
<entry><option>-f</option></entry>
</row>
-
+
<row>
<entry>raster</entry>
<entry><literal>vf</literal></entry>
<entry><option>-v</option></entry>
</row>
-
+
<row>
<entry>plain text</entry>
<entry><literal>if</literal></entry>
@@ -1971,11 +1971,11 @@ exit 2</programlisting>
</tbody>
</tgroup>
</informaltable>
-
+
<para>在例子中, <command>lpr <option>-d</option></command>就是指
打印机需要在<filename>/etc/printcap</filename>文件中
<literal>df</literal>变量所指的过滤器。</para>
-
+
<indexterm><primary>FORTRAN</primary></indexterm>
<para>不管别人怎么说, 像 FORTRAN 的文本
和 plot 这些格式已经基本不用了。 所以在您的机器上,
@@ -1991,7 +1991,7 @@ exit 2</programlisting>
<sect4>
<title>安装转换过滤器</title>
-
+
<para>以为安装的转换过滤器不是 &os; 基本系统的一部分,
所以它们可能是在
<filename class="directory">/usr/local</filename> 目录下。 通常目录
@@ -1999,11 +1999,11 @@ exit 2</programlisting>
因为它们通常是通过
<application>LPD</application> 运行的;
普通用户应该并不需要直接运行它们。</para>
-
+
<para>要启用一个转换过滤器, 只需要在
<filename>/etc/printcap</filename>
文件中为目标打印机中合适的变量赋上过滤器所在的路径。</para>
-
+
<para>在接下来的例子当中, 我们将为
一台叫做 <literal>bamboo</literal> 的打印机添加一个转换过滤器。
下面是这个例子的 <filename>/etc/printcap</filename> 文件,
@@ -2042,20 +2042,20 @@ exec /usr/local/bin/dvips -f | /usr/local/libexec/lprps "$@"</programlisting>
然后运行 &postscript; 文本过滤器
<command>lprps</command> (详见 <link
linkend="printing-advanced-if-conversion">在
- &postscript; 打印机上打印纯文本任务</link> 这一节), 并且带着
+ &postscript; 打印机上打印纯文本任务</link> 这一节), 并且带着
<application>LPD</application>
传给脚本的全部参数。 <command>lprps</command>
工具将利用这些参数来为打印进行记帐。</para>
</sect4>
-
+
<sect4>
<title>更多转换过滤器应用实例</title>
-
+
<para>因为安装转换过滤器的步骤并不是固定的,
所以这节介绍了一些可行的例子。
在以后的安装配置过程中可以以这些例子为参考。
甚至如果合适的话, 可以完全照搬过去。</para>
-
+
<para>这段例子中的脚本是一个
Hewlett Packard LaserJet III-Si
打印机的光栅格式数据 (实际上也就是 GIF 文件):</para>
@@ -2064,7 +2064,7 @@ exec /usr/local/bin/dvips -f | /usr/local/libexec/lprps "$@"</programlisting>
#
# hpvf - Convert GIF files into HP/PCL, then print
# Installed in /usr/local/libexec/hpvf
-
+
PATH=/usr/X11R6/bin:$PATH; export PATH
giftopnm | ppmtopgm | pgmtopbm | pbmtolj -resolution 300 \
&amp;&amp; exit 0 \
@@ -2073,7 +2073,7 @@ giftopnm | ppmtopgm | pgmtopbm | pbmtolj -resolution 300 \
<para>它的工作原理就是将 GIF 文件转换成 portable anymap,
再转换成 portable graymap, 然后再转换成
portable bitmap, 最后再转换成 LaserJet/PCL- 兼容的数据。</para>
-
+
<para>下面是为打印机配置上上述过滤器的 <filename>/etc/printcap</filename>
文件:</para>
@@ -2084,7 +2084,7 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
:lp=<filename class="devicefile">/dev/lpt0</filename>:sh:sd=<filename class="directory">/var/spool/lpd/teak</filename>:mx#0:\
:if=<filename>/usr/local/libexec/hpif</filename>:\
:vf=<filename>/usr/local/libexec/hpvf</filename>:</programlisting>
-
+
<para>下面的脚本是一个在名叫
<literal>bamboo</literal> 的这台 &postscript;
打印机上打印用 groff 排版软件生成的 troff 数据的打印过滤器:</para>
@@ -2095,8 +2095,8 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
# Installed in /usr/local/libexec/pstf
#
exec grops | /usr/local/libexec/lprps "$@"</programlisting>
-
- <para>上面这段脚本还是用 <command>lprps</command>
+
+ <para>上面这段脚本还是用 <command>lprps</command>
来与打印机进行通讯。 如果打印机是接在并口上的,
那么就应该使用下面的这段脚本:</para>
@@ -2106,12 +2106,12 @@ exec grops | /usr/local/libexec/lprps "$@"</programlisting>
# Installed in /usr/local/libexec/pstf
#
exec grops</programlisting>
-
+
<para>这里是我们要启用过滤器需要在
<filename>/etc/printcap</filename> 里增加的内容:</para>
-
+
<programlisting>:tf=<filename>/usr/local/libexec/pstf</filename>:</programlisting>
-
+
<para>下面的例子也许会让许多 FORTRAN 老手羞愧。
它是一个 FORTRAN- 文本 的过滤器, 能在任意一台
可以打印纯文本的打印机上使用。 我们将为打印机
@@ -2126,21 +2126,21 @@ exec grops</programlisting>
printf "\033&amp;k2G" &amp;&amp; fpr &amp;&amp; printf "\033&amp;l0H" &amp;&amp;
exit 0
exit 2</programlisting>
-
+
<para>然后我们要在
<filename>/etc/printcap</filename> 中为打印机能够
<literal>teak</literal> 启用这个过滤器添加下面的内容:</para>
-
+
<programlisting>:rf=<filename>/usr/local/libexec/hprf</filename>:</programlisting>
-
+
<para>最后, 再给出一个有些复杂的例子。 我们将给以前介绍过的
<literal>teak</literal> 这台激光打印机添加一个 DVI
过滤器。 首先, 最容易的部分: 更新
<filename>/etc/printcap</filename> 加入 DVI
过滤器的路径:</para>
-
+
<programlisting>:df=<filename>/usr/local/libexec/hpdf</filename>:</programlisting>
-
+
<para>现在, 该困难的部分了: 编写过滤器。 为了实现过滤器, 我们需要一个
DVI-到-LaserJet/PCL 转换程序。 &os; Ports
Collection (详见 <link linkend="ports">Ports Collection</link> 这一节)
@@ -2148,7 +2148,7 @@ exit 2</programlisting>
安装这个 port 就会得到我们需要的程序,
<command>dvilj2p</command> , 它可以将 DVI 数据转换成 LaserJet IIp,
LaserJet III, 和 LaserJet 2000 兼容的数据。</para>
-
+
<para><command>dvilj2p</command> 工具使得过滤器
<command>hpdf</command> 变得十分复杂, 因为
<command>dvilj2p</command> 不能读取标准输入。
@@ -2159,7 +2159,7 @@ exit 2</programlisting>
(一个以 <filename>.dvi</filename> 结尾的文件名)
到 <filename class="devicefile">/dev/fd/0</filename>, 从而强制
<command>dvilj2p</command> 从标准输入读取。</para>
-
+
<para>现在迎面而来的是另外一个问题, 我们不能使用
<filename class="directory">/tmp</filename> 存放临时连接。 符号连接是被用户和组
<username>bin</username> 拥有的。 而过滤器则是以
@@ -2168,7 +2168,7 @@ exit 2</programlisting>
所以过滤器只能建立符号连接,
但它不能在用完之后清除掉这些连接。
因为它们属于不同的用户。</para>
-
+
<para>所以过滤器将在当前工作目录下建立符号连接,
即后台打印队列目录 (用变量
<literal>sd</literal> 在
@@ -2176,7 +2176,7 @@ exit 2</programlisting>
这是一个非常好的让过滤器完成它工作的地方,
特别还是因为 (有时) 这个目录比起
<filename class="directory">/tmp</filename> 来有更多的可用磁盘空间。</para>
-
+
<para>最后, 给出过滤器的代码:</para>
<programlisting>#!/bin/sh
@@ -2210,7 +2210,7 @@ fatal() {
# If user removes the job, LPD will send SIGINT, so trap SIGINT
# (and a few other signals) to clean up after ourselves.
#
-trap cleanup 1 2 15
+trap cleanup 1 2 15
#
# Make sure we are not colliding with any existing files.
@@ -2227,7 +2227,7 @@ ln -s /dev/fd/0 hpdf$$.dvi || fatal "Cannot symlink /dev/fd/0"
#
printf "\033&amp;k2G" || fatal "Cannot initialize printer"
-#
+#
# Convert and print. Return value from dvilj2p does not seem to be
# reliable, so we ignore it.
#
@@ -2242,7 +2242,7 @@ exit 0</programlisting>
<sect4 id="printing-advanced-autoconv">
<title>自动转换: 一种替代转换过滤器的方法</title>
-
+
<para>以上这些转换过滤器基本上建成了您的打印环境,
但也有不足就是必须由用户来指定
(在 &man.lpr.1; 命令行中) 要使用哪一个过滤器。
@@ -2251,7 +2251,7 @@ exit 0</programlisting>
更糟的是, 当过滤器设定的不正确时,
过滤器被用在了不它对应类型的文件上,
打印机也许会喷出上百张纸。</para>
-
+
<para>比只安装转换过滤器更好的方法,
就是让文本过滤器 (因为它是默认的过滤器)
来检测要打印文件的类型,
@@ -2260,7 +2260,7 @@ exit 0</programlisting>
要区分开
<emphasis>有些</emphasis> 文件的类型还是有困难的 &mdash; 但是, 当然,
您可以仅为它们提供转换过滤器。</para>
-
+
<indexterm><primary>apsfilter</primary></indexterm>
<indexterm>
<primary>printing</primary>
@@ -2273,11 +2273,11 @@ exit 0</programlisting>
并在执行相应的转换之后完成打印工作。</para>
</sect4>
</sect3>
-
+
<sect3 id="printing-advanced-of">
<title>输出过滤器</title>
- <para><application>LPD</application> 后台打印系统还支持一种我们还没有讨论过的过滤器:
+ <para><application>LPD</application> 后台打印系统还支持一种我们还没有讨论过的过滤器:
输出过滤器。
输出过滤器只是用来打印纯文本的, 类似于文本过滤器,
但简化了许多地方。 如果您正在使用输出过滤器而不是文本过滤器,
@@ -2288,22 +2288,22 @@ exit 0</programlisting>
<para><application>LPD</application> 为整个任务启动一个输出过滤器,
而不是为任务中的每个文件都启动一次。</para>
</listitem>
-
+
<listitem>
<para><application>LPD</application> 不会提供任务中文件开始和结束的信息给输出过滤器。</para>
</listitem>
-
+
<listitem>
- <para><application>LPD</application> 不会提供用户名或者主机名给过滤器,
+ <para><application>LPD</application> 不会提供用户名或者主机名给过滤器,
所以它是无法做打印记帐的。
事实上它只有两个参数:</para>
-
+
<cmdsynopsis>
<command>过滤器-名字</command>
<arg choice="plain">-w<replaceable>宽度</replaceable></arg>
<arg choice="plain">-l<replaceable>长度</replaceable></arg>
</cmdsynopsis>
-
+
<para><replaceable>宽度</replaceable> 来自于
<literal>pw</literal> 变量, 而
<replaceable>length</replaceable> 来自于
@@ -2321,13 +2321,13 @@ exit 0</programlisting>
它要检查发给它的字节流中是否有特殊的标志字符,
并且给自己发送信号来代替
<application>LPD</application> 的。</para>
-
+
<para>可是, 如果打算要报头页或者需要发送控制字符或者其他的初始化字符串来完成打印报头页,
那么输出过滤器则是 <emphasis>必需的</emphasis>。
(但是它也是
<emphasis>无用的</emphasis> 如果打算对打印的用户计费, 因为
<application>LPD</application> 不会给输出过滤器任何用户或者主机的信息。)</para>
-
+
<para>在一台单个的打印机上, <application>LPD</application>
同时允许输出过滤器、 文本过滤器和其他的过滤器。
在某些情况下, <application>LPD</application> 将仅会启动输出过滤器来打印报头页 (详见 <link
@@ -2339,7 +2339,7 @@ exit 0</programlisting>
信号来停止自己的运行。 当
<application>LPD</application>
已经运行好了其他的过滤器, 它会通过给输出过滤器发送 <literal>SIGCONT</literal> 信号来让输出过滤器重新运行。</para>
-
+
<para>如果仅有一个输出过滤器而 <emphasis>没有</emphasis>
文本过滤器, 并且 <application>LPD</application> 正在处理一个纯文本任务,
<application>LPD</application> 会使用输出过滤器来完成这个任务。
@@ -2348,14 +2348,14 @@ exit 0</programlisting>
而不会插入送纸或其他进纸的命令, 但这也许并
<emphasis>不是</emphasis> 您想要的结果。 在大多数情况下,
您还是需要一个文本过滤器。</para>
-
+
<para><command>lpf</command> 这个我们前面介绍过的文本过滤器程序,
也可以用来做输出过滤器。 如果需要使用快速且混乱的输出过滤器,
但又不想写字节检测和信号发送代码,
那么试试 <command>lpf</command>。
<command>lpf</command> 也可以包含在一个 shell 脚本中来处理任何打印机可能需要的初始化代码。</para>
</sect3>
-
+
<sect3 id="printing-advanced-lpf">
<title><command>lpf</command>: 一个文本过滤器</title>
@@ -2367,13 +2367,13 @@ exit 0</programlisting>
<command>lpr <option>-l</option></command> 提交的任务),
可以调整任务中退格和制表符打印的位置, 还可以对打印进行记帐。
它同样可以像输出过滤器一样工作。</para>
-
+
<para><command>lpf</command> 适用于很多打印环境。
尽管它本身没有向打印机发送初始化代码的功能,
但写一个 shell
脚本来完成所需的初始化并执行
<command>lpf</command> 是很容易的。</para>
-
+
<indexterm><primary>page accounting</primary></indexterm>
<indexterm>
<primary>accounting</primary>
@@ -2387,13 +2387,13 @@ exit 0</programlisting>
linkend="printing-advanced-acct">对打印机使用进行记帐</link>。</para>
</sect3>
</sect2>
-
+
<sect2 id="printing-advanced-header-pages">
<title>报头页</title>
-
+
<para>如果您有 <emphasis>很多</emphasis> 用户, 他们正在使用各式各样的打印机,
那么您或许要考虑一下把 <emphasis>报头页</emphasis> 当作无可避免之灾祸了。</para>
-
+
<indexterm>
<primary>banner pages</primary>
<see>header pages</see>
@@ -2410,13 +2410,13 @@ exit 0</programlisting>
最后它们会被放进回收站或者扔进垃圾堆。
(注意报头页只是一个任务一个, 而不是任务中的每个文件都有一个,
所以可能对纸张还不算很浪费。)</para>
-
+
<para><application>LPD</application> 系统可以自动为您的打印提供报头页,
<emphasis>如果</emphasis> 您的打印机可以直接打印纯文本。
如果您的打印机是一台 &postscript; 打印机,
您将需要一个外部的程序来生成报头页; 详见 <link
linkend="printing-advanced-header-pages-ps">在 &postscript; 打印机上打印报头页</link>。</para>
-
+
<sect3 id="printing-advanced-header-pages-enabling">
<title>打开报头页</title>
@@ -2438,11 +2438,11 @@ exit 0</programlisting>
printf "\033&amp;k2G" || exit 2
exec /usr/libexec/lpr/lpf</programlisting>
-
+
<para>用
<literal>of</literal> 变量指定输出过滤器的路径。 参见 <link
linkend="printing-advanced-of">输出过滤器</link> 这一节来得到更多信息。</para>
-
+
<para>下面是一个为我们以前介绍的叫做 <literal>teak</literal>
的打印机配置的 <filename>/etc/printcap</filename> 文件;
在配置当中我们开启了报头页并且加入了上述的打印过滤器:</para>
@@ -2455,7 +2455,7 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
:if=<filename>/usr/local/libexec/hpif</filename>:\
:vf=<filename>/usr/local/libexec/hpvf</filename>:\
:of=<filename>/usr/local/libexec/hpof</filename>:</programlisting>
-
+
<para>现在, 当用户再发任务给打印机 <literal>teak</literal> 的时候,
每个任务都会有一个报头页。 如果用户想要花时间来寻找他们自己打印的文件,
那么他们可以通过
@@ -2470,7 +2470,7 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
变量指定即可。</para>
</note>
</sect3>
-
+
<sect3 id="printing-advanced-header-pages-controlling">
<title>控制报头页</title>
@@ -2479,7 +2479,7 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
一整页的大字母, 标着用户, 主机和任务名。
下面是一个例子 (<username>kelly</username> 从主机
<hostid>rose</hostid> 打印了一个叫做 <quote>outline</quote> 的任务):</para>
-
+
<screen> k ll ll
k l l
k l l
@@ -2533,13 +2533,13 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
(除非设置了 <literal>sf</literal> (禁止换纸)
在 <filename>/etc/printcap</filename>
文件里目标打印机的记录中)。</para>
-
+
<para>如果您喜欢, <application>LPD</application>
可以生成一个 <emphasis>短报头</emphasis>;
指定 <literal>sb</literal> (短 banner)
在文件 <filename>/etc/printcap</filename> 中。
报头页就会看起来像下面这样:</para>
-
+
<screen>rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995</screen>
<para>同样是默认的, <application>LPD</application>
@@ -2547,7 +2547,7 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
要想反过来, 在 <filename>/etc/printcap</filename>
中指定 <literal>hl</literal> (最后报头)。</para>
</sect3>
-
+
<sect3 id="printing-advanced-header-pages-accounting">
<title>为带报头页的任务记帐</title>
@@ -2555,7 +2555,7 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
内置的报头页会在进行打印记帐的时候产生一种特殊情况:
报头页肯定是
<emphasis>免费</emphasis> 的。</para>
-
+
<para>为什么?</para>
<para>因为输出过滤器是仅有的一个在打印报头页时能进行记帐的外部程序,
@@ -2568,7 +2568,7 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
他还是需要为自己并没有打印的报头页付钱。
基本上, <command>lpr <option>-h</option></command> 是明知用户的首选,
但也不能强制让别人使用它。</para>
-
+
<para>让每个过滤器生成自己的报头页
(因此可以为它们计费) 是 <emphasis>仍然不够的</emphasis>。
如果用户想要用 <command>lpr <option>-h</option></command>
@@ -2586,7 +2586,7 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
<para>认可 <application>LPD</application> 的这个问题,
并且免费提供报头页打印。</para>
</listitem>
-
+
<listitem>
<para>安装一个替代 <application>LPD</application> 的软件,
比如
@@ -2595,7 +2595,7 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
来得到更多关于可以替代 <application>LPD</application> 的软件的信息。
</para>
</listitem>
-
+
<listitem>
<para>写一个 <emphasis>聪明的</emphasis> 输出过滤器。
通常, 输出过滤器不应该去完成除了初始化打印机或者进行一些简单字符转换以外的任何事情。
@@ -2618,7 +2618,7 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
</listitem>
</itemizedlist>
</sect3>
-
+
<sect3 id="printing-advanced-header-pages-ps">
<title>在 &postscript; 打印机上打印报头页</title>
@@ -2626,14 +2626,14 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
可以生成一个纯文本的报头页来适应多种打印机。
当然, &postscript; 不能直接打印纯文本,
所以 <application>LPD</application> 没什么用&mdash;或者说大多时候是这样。</para>
-
+
<para>一个显而易见的方法来得到报头页就是让每个转换过滤器和文本过滤器都来生成报头页。
这些过滤器应该用用户名和主机的参数来生成一个相对应的报头页。
这种方法的缺点就是用户总是打印出报头页,
无论他们是否用
<command>lpr <option>-h</option></command>
命令来提交的任务。</para>
-
+
<para>让我们来深入深入的研究一下这个方法。
下面的脚本输入三个参数
(用户登录名, 主机名, 和任务名)
@@ -2731,7 +2731,7 @@ EOF</programlisting>
#
# Invoked by lpd when user runs lpr -d
#
-
+
orig_args="$@"
fail() {
@@ -2761,13 +2761,13 @@ done
尽管文本过滤器需要输入的参数有些小的不同,
(参见 <link
linkend="printing-advanced-filters">过滤器是怎样工作的</link>)。</para>
-
+
<para>像我们以前提到的那样, 上面的配置, 尽管相当简单,
关掉了 <quote>禁止报头页</quote> 的选项
(<option>-h</option> 选项) 在 <command>lpr</command> 中。
如果用户想要保护树木 (或者是几便士, 如果你对打印报头页收费的话),
它还不能完成这件事情, 因为每个过滤器都要为每个任务打印一个报头页。</para>
-
+
<para>要允许用户对于每个任务都可以关闭报头页,
您需要使用在 <link
linkend="printing-advanced-header-pages-accounting">为报头页记帐</link>
@@ -2777,20 +2777,20 @@ done
<command>lpr <option>-h</option></command> 命令提交任务, 那么
<application>LPD</application> 将不会生成报头页,
并且输出过滤器也不会生成报头页。
- 否则, 输出过滤器将从
+ 否则, 输出过滤器将从
<application>LPD</application> 读取文本,
然后发送适当的报头页的 &postscript; 编码给打印机。</para>
-
+
<para>如果您有的是一台连在串口上的 &postscript; 打印机,
您可以使用 <command>lprps</command> 里的一个输出过滤器,
<command>psof</command> , 它可以完成上述任务。 但注意
<command>psof</command> 不对报头页计费。</para>
</sect3>
</sect2>
-
+
<sect2 id="printing-advanced-network-printers">
<title>网络打印</title>
-
+
<indexterm>
<primary>printers</primary>
<secondary>network</secondary>
@@ -2798,7 +2798,7 @@ done
<indexterm><primary>network printing</primary></indexterm>
<para>&os; 支持网络打印: 发送任务给远程打印机。
网络打印通常指两种不同的方式:</para>
-
+
<itemizedlist>
<listitem>
<para>访问一台连接在远程主机上的打印机。
@@ -2814,7 +2814,7 @@ done
<para>访问一台直接连接在网络上的打印机。
打印机另有一个网络接口 (或者替代常规的串口或者并口)。
这样的打印机可能像下面这样工作:</para>
-
+
<itemizedlist>
<listitem>
<para>它或许可以理解 <application>LPD</application>
@@ -2824,7 +2824,7 @@ done
<link linkend="printing-advanced-network-rm">安装在远程主机上的打印机</link>
里介绍的步骤, 可以设置好这样的打印机。</para>
</listitem>
-
+
<listitem>
<para>它或许支持网络数据流。
这样, 把打印机 <quote>接</quote> 在一台网络上的主机上,
@@ -2836,7 +2836,7 @@ done
</itemizedlist>
</listitem>
</itemizedlist>
-
+
<sect3 id="printing-advanced-network-rm">
<title>安装在远程主机上的打印机</title>
@@ -2846,7 +2846,7 @@ done
这个功能使您可以在一台主机上安装打印机,
并让它可以在其他主机上访问。 这个功能同样适用在那些有网络接口并且可以理解
<application>LPD</application> 协议的打印机上。</para>
-
+
<para>要开启这种远程打印的功能, 首先在一台主机上安装打印机, 就是
<emphasis>打印服务器</emphasis>, 可以使用在
<link linkend="printing-simple">简单打印机设置</link>
@@ -2858,7 +2858,7 @@ done
<application>LPD</application>
服务 (参见 <link
linkend="printing-advanced-restricting-remote">限制远程主打印任务</link>)。</para>
-
+
<indexterm>
<primary>printers</primary>
<secondary>network</secondary>
@@ -2877,7 +2877,7 @@ done
CRLF 的转换, 因而也就不需要
<filename>hpif</filename> 脚本了。</para>
</tip>
-
+
<para>然后, 在另外一台你想要访问打印机的主机上的
<filename>/etc/printcap</filename> 文件中加入它们的记录,
像下面这样:</para>
@@ -2887,24 +2887,24 @@ done
<para>可以随意给这个记录起名字。 简单起见,
您可以给打印服务器使用相同的名字或者别名。</para>
</listitem>
-
+
<listitem>
<para>保留 <literal>lp</literal> 变量为空,
(<literal>:lp=:</literal>)。</para>
</listitem>
-
+
<listitem>
<para>建立一个后台打印队列目录, 并用
<literal>sd</literal> 变量指明其位置。 <application>LPD</application>
将把任务提交给打印服务器之前,
会把这些任务保存在这里。</para>
</listitem>
-
+
<listitem>
<para>在
<literal>rm</literal> 变量中放入打印服务器的名字。</para>
</listitem>
-
+
<listitem>
<para>在
<literal>rp</literal> 中放入打印服务器上打印机的名字。</para>
@@ -2952,7 +2952,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
<para>然后, 我们只需要在主机
<hostid>orchid</hostid> 上建立一个后台打印队列目录:</para>
-
+
<screen>&prompt.root; <userinput><command>mkdir <option>-p</option> <filename class="directory">/var/spool/lpd/rattan</filename> <filename class="directory">/var/spool/lpd/bamboo</filename></command></userinput>
&prompt.root; <userinput><command>chmod 770 <filename class="directory">/var/spool/lpd/rattan</filename> <filename class="directory">/var/spool/lpd/bamboo</filename></command></userinput>
&prompt.root; <userinput><command>chown daemon:daemon <filename class="directory">/var/spool/lpd/rattan</filename> <filename class="directory">/var/spool/lpd/bamboo</filename></command></userinput></screen>
@@ -2960,7 +2960,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
<para>现在, 主机 <hostid>orchid</hostid> 上的用户可以打印到
<literal>rattan</literal> 和 <literal>bamboo</literal> 了。 如果,
比如, 一个用户在主机 <hostid>orchid</hostid> 上输入了:</para>
-
+
<screen>&prompt.user; <userinput><command>lpr <option>-P</option> bamboo <option>-d</option> <filename><replaceable>sushi-review.dvi</replaceable></filename></command></userinput></screen>
<para><application>LPD</application> 系统在主机 <hostid>orchid</hostid>
@@ -2974,7 +2974,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
&postscript; (因为 <literal>bamboo</literal> 是一台 &postscript; 打印机) 在主机
<hostid>rose</hostid>。</para>
</sect3>
-
+
<sect3 id="printing-advanced-network-net-if">
<title>带有网络数据流接口的打印机</title>
@@ -2985,13 +2985,13 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
这节讲述如何使用这个便宜一些的版本。 要得到贵一些版本的更多信息,
参见前面章节 <link
linkend="printing-advanced-network-rm">安装在远程主机上的打印机</link>。</para>
-
+
<para><filename>/etc/printcap</filename> 文件的格式让您指定使用哪个串口或并口,
并且还要指定 (如果您正在使用串口),
使用多快的波特, 是否使用流量控制,
为制表符延迟, 转换换行, 等等。
但是没有一种方法指定一个连接到一台正在监听 TCP/IP 的或者其他网络接口的打印机。</para>
-
+
<para>要发送数据到网络打印机, 就需要开发一个通讯程序,
它可以被文本或者转换过滤器调用。
下面是一些例子: 脚本
@@ -3025,12 +3025,12 @@ socket(PRINTER, &amp;PF_INET, &amp;SOCK_STREAM, $protocol)
connect(PRINTER, $sockaddr) || die "Can't contact $printer_host: $!";
while (&lt;STDIN&gt;) { print PRINTER; }
exit 0;</programlisting>
-
+
<para>然后我们就可以在多种过滤器里使用这个脚本了。 加入我们有一台
Diablo 750-N 行式打印机联在网络上。 打印机在 5100 端口上接收要打印的数据。
打印机的主机名是 <hostid>scrivener</hostid>。
这里是为这个打印机写的文本过滤器:</para>
-
+
<programlisting>#!/bin/sh
#
# diablo-if-net - Text filter for Diablo printer `scrivener' listening
@@ -3039,10 +3039,10 @@ exit 0;</programlisting>
exec /usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100</programlisting>
</sect3>
</sect2>
-
+
<sect2 id="printing-advanced-restricting">
<title>限制打印机的使用</title>
-
+
<indexterm>
<primary>printers</primary>
<secondary>restricting access to</secondary>
@@ -3052,7 +3052,7 @@ exec /usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100</pro
无论本地或是远程的,
是否他们可以打印机多份副本, 任务可以有多大,
以及打印队列的尺寸等。</para>
-
+
<sect3 id="printing-advanced-restricting-copies">
<title>限制多份副本</title>
@@ -3060,13 +3060,13 @@ exec /usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100</pro
用户可以用 <command>lpr <option>-#5</option></command>
(举例) 来提交打印任务, 则会将任务中每个文件都打印五份副本。
这是不是一件很棒的事情呢。</para>
-
+
<para>如果您感觉多份副本会对打印机造成不必要的磨损和损耗,
您可以屏蔽掉 &man.lpr.1; 的 <option>-#</option> 选项,
这可以通过在 <filename>/etc/printcap</filename>
文件中增加 <literal>sc</literal> 变量来完成。 当用户用
<option>-#</option> 选项提交任务时, 他们将看到:</para>
-
+
<screen>lpr: multiple copies are not allowed</screen>
<para>注意当为一台远程打印机进行设置时 (参见
@@ -3074,7 +3074,7 @@ exec /usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100</pro
您还需要同时在远程主机的 <filename>/etc/printcap</filename> 文件中
增加<literal>sc</literal> 变量,
否则用户还是可以从其他主机上提交使用多份副本的任务。</para>
-
+
<para>下面是一个例子。 这个是
<filename>/etc/printcap</filename> 文件在主机
<hostid>rose</hostid> 上。 打印机 <literal>rattan</literal>
@@ -3096,7 +3096,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:lp=<filename class="devicefile">/dev/ttyu5</filename>:ms#-parenb cs8 clocal crtscts:rw:\
:if=<filename>/usr/local/libexec/psif</filename>:\
:df=<filename>/usr/local/libexec/psdf</filename>:</programlisting>
-
+
<para>现在, 我们还需要增机 <literal>sc</literal> 变量在主机
<hostid>orchid</hostid> 的
<filename>/etc/printcap</filename> 文件中 (顺便我们也禁止打印机
@@ -3116,19 +3116,19 @@ rattan|line|diablo|lp|Diablo 630 Line Printer:\
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:lp=:rm=rose:rp=bamboo:sd=<filename class="directory">/var/spool/lpd/bamboo</filename>:sc:</programlisting>
-
+
<para>通过使用 <literal>sc</literal> 变量, 我们阻止了
<command>lpr <option>-#</option></command> 命令的使用, 但仍然没有禁止用户多次运行
&man.lpr.1; ,
或者多次提交任务中同样的文件,
像下面这样:</para>
-
+
<screen>&prompt.user; <userinput>lpr <filename><replaceable>forsale.sign forsale.sign forsale.sign forsale.sign forsale.sign</replaceable></filename></userinput></screen>
-
+
<para>这里有很多种方法可以阻止这种行为 (包括忽略它),
并且是免费的。</para>
</sect3>
-
+
<sect3 id="printing-advanced-restricting-access">
<title>限制对打印机的访问</title>
@@ -3137,7 +3137,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
<literal>rg</literal> 变量。
只要把可以访问打印机的用户放进适当的组中, 然后在
<literal>rg</literal> 变量中写上组的名字。</para>
-
+
<para>如果这组以外的用户 (包括 <username>root</username>)
试图打印到被限制的打印机,将会得到这样的提示:</para>
@@ -3148,13 +3148,13 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
在远程同样对打印机有访问限制的主机上,
如果您感觉合适的话 (参考 <link
linkend="printing-advanced-network-rm">安装在远程主机上的打印机</link> 这一节)。</para>
-
+
<para>比如, 我们将让任何人都可以访问打印机
<literal>rattan</literal>, 但只有在
<groupname>artists</groupname> 组中的人可以使用打印机 <literal>bamboo</literal>。
这里是类似的主机 <hostid>rose</hostid> 上的
<filename>/etc/printcap</filename> 文件:</para>
-
+
<programlisting>#
# /etc/printcap for host rose - restricted group for bamboo
#
@@ -3181,7 +3181,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
<para>这里每台仅能有一个限制的组。</para>
</note>
</sect3>
-
+
<sect3 id="printing-advanced-restricting-sizes">
<title>控制提交的任务大小</title>
@@ -3213,7 +3213,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
但它是将限制大小以内的部分排入队列,
并且打印出来的只有这些。 剩下的部分将被丢弃。
这个行为是否正确还需讨论。</para>
-
+
<para>让我们来为例子打印机
<literal>rattan</literal> 和 <literal>bamboo</literal> 增加限制。
由于那些 <groupname>artists</groupname> 的 &postscript; 文件可能会很大,
@@ -3247,17 +3247,17 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
参见 <link
linkend="printing-advanced-network-rm">安装在远程主机上的打印机</link>
这一节来得到更多有关远程打印的信息。</para>
-
+
<para>除此之外, 还有另一种限制远程任务大小的方法;
参见 <link
linkend="printing-advanced-restricting-remote">限制远程主机打印任务</link>。</para>
</sect3>
-
+
<sect3 id="printing-advanced-restricting-remote">
<title>限制远程主机打印任务</title>
<para><application>LPD</application> 后台打印系统提供了多种方法来限制从远程主机提交的任务:</para>
-
+
<variablelist>
<varlistentry>
<term>主机限制</term>
@@ -3270,13 +3270,13 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
<application>LPD</application> 查看是否到来的任务请求来自被这两个文件中列出的主机。
如果没有, <application>LPD</application>
会拒绝这个请求。</para>
-
+
<para>这些文件的格式非常简单: 每行一个主机名。
注意
<filename>/etc/hosts.equiv</filename> 文件也被
&man.ruserok.3; 协议使用, 并影响着
&man.rsh.1; and &man.rcp.1; 等程序, 所以要小心。</para>
-
+
<para>举个例子, 下面是
<filename>/etc/hosts.lpd</filename> 文件在主机
<hostid>rose</hostid> 上:</para>
@@ -3292,29 +3292,29 @@ madrigal.fishbaum.de</programlisting>
<application>LPD</application>, 任务将被拒绝。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>大小限制</term>
-
+
<listitem>
<para>您可以控制后台打印队列目录需要保留多少空间。
建立一个叫做
<filename>minfree</filename> 的文件在后台打印队列目录下为本地打印机。
在这个文件中插入一个数字来代表多少磁盘块数 (512 字节)
的剩余空间来接收远程任务。</para>
-
+
<para>这让您可以保证远程用户不会填满您的文件系统。
您也可以用它来给本地用户一个优先:
他们可以在磁盘剩余空间低于
<filename>minfree</filename>
文件中的指定值后仍然可以提交任务。</para>
-
+
<para>比如, 让我们增加一个 <filename>minfree</filename>
文件为打印机 <literal>bamboo</literal>。 我们检查
<filename>/etc/printcap</filename> 文件来找到这个打印机的后台打印队列目录;
这里是打印机 <literal>bamboo</literal>
的记录:</para>
-
+
<programlisting>bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=<filename class="directory">/var/spool/lpd/bamboo</filename>:sc:rg=artists:mx#5000:\
:lp=<filename class="devicefile">/dev/ttyu5</filename>:ms#-parenb cs8 clocal crtscts:rw:mx#5000:\
@@ -3325,15 +3325,15 @@ madrigal.fishbaum.de</programlisting>
变量中给出。 我们设置 3 兆字节 (6144 磁盘块)
为文件系统上必须存在的总共剩余空间, 让
<application>LPD</application> 可以接受远程任务:</para>
-
+
<screen>&prompt.root; <userinput><command>echo 6144 &gt; <filename>/var/spool/lpd/bamboo/minfree</filename></command>
</userinput></screen>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>用户限制</term>
-
+
<listitem>
<para>您可以控制哪些远程用户可以打印到本地打印机, 通过指定
<literal>rs</literal> 变量在
@@ -3342,7 +3342,7 @@ madrigal.fishbaum.de</programlisting>
<application>LPD</application> 将接收来自远程主机
<emphasis> 并 </emphasis> 在本地有同样登录名的用户提交的任务。
否则, <application>LPD</application> 会拒绝这个任务。</para>
-
+
<para>这个功能在一个 (比如) 有许多部门共享一个网络的环境中特别有用,
并且有些用户可以越过部门的边界。
通过为他们在您的系统上建立帐号,
@@ -3356,10 +3356,10 @@ madrigal.fishbaum.de</programlisting>
</variablelist>
</sect3>
</sect2>
-
+
<sect2 id="printing-advanced-acct">
<title>对打印机使用记帐</title>
-
+
<indexterm>
<primary>accounting</primary>
<secondary>printer</secondary>
@@ -3370,22 +3370,22 @@ madrigal.fishbaum.de</programlisting>
使用形式, 和维护费用来得出每页
(或者每尺, 每米, 或者每什么) 的费用。 现在,
您怎样启动打印记帐呢?</para>
-
+
<para>好了, 坏消息是 <application>LPD</application>
后台打印系统在这个部分没有提供很多帮助。
记帐是一个对使用的打印机的种类,
打印的格式, 和
<emphasis>您的</emphasis> 在对打印机的使用计费的需求依赖性很高的。</para>
-
+
<para>要实现记帐, 您必须更改打印机的文本过滤器
(对纯文本任务记费) 和转换过滤器
(对其他格式的文件计费), 要统计页数或者查询打印了多少页的话。
您不可以通过使用简单的输出过滤器来逃脱计费,
因为它不能进行记帐。 参见 <link
linkend="printing-advanced-filter-intro">过滤器</link> 这节。</para>
-
+
<para>通常, 有两种方法来进行记帐:</para>
-
+
<itemizedlist>
<listitem>
<para><emphasis>定期记帐</emphasis> 是更常用的方法,
@@ -3396,7 +3396,7 @@ madrigal.fishbaum.de</programlisting>
按用户对打印的页数进行结算, 并对使用进行付费。
然后删掉所有记录文件, 开始一个新的计费周期。</para>
</listitem>
-
+
<listitem>
<para><emphasis>实时记帐</emphasis> 不太常用,
可能因为它比较难。
@@ -3407,7 +3407,7 @@ madrigal.fishbaum.de</programlisting>
<quote>打印配额。</quote> 但这个方法需要一些数据库代码来跟踪用户和他们的配额。</para>
</listitem>
</itemizedlist>
-
+
<para><application>LPD</application> 后台打印系统对两种方法都支持且很简单:
所以您需要提供过滤器
(大多数时候), 还要提供记帐代码。
@@ -3417,7 +3417,7 @@ madrigal.fishbaum.de</programlisting>
用户名, 主机名, 任务类型, 打印页数,
使用了多少平方尺的纸, 任务打印了多长时间, 等等。
您可以通过修改过滤器来存储这些信息。</para>
-
+
<sect3>
<title>快速并且混乱的打印记帐</title>
@@ -3450,7 +3450,7 @@ madrigal.fishbaum.de</programlisting>
3.00 orchid:mary
5.00 orchid:mary
2.00 orchid:zhang</programlisting>
-
+
<para>您应该让每个打印机都使用一个独立的记帐文件, 像
<command>lpf</command> 就没有内建文件锁逻辑,
这样两个 <command>lpf</command> 可能会发生彼此记录混合的情况,
@@ -3459,12 +3459,12 @@ madrigal.fishbaum.de</programlisting>
<literal>af=acct</literal> 写在 <filename>/etc/printcap</filename> 文件中。
然后, 每个打印机的记帐文件都会在这台打印机的后台打印队列目录中,
文件的名字叫做 <filename>acct</filename>。</para>
-
+
<para>当您准备对用户的打印进行收费时, 运行
&man.pac.8; 程序。 只要转换到要收集信息的这台打印机的后台打印队列目录,
然后输入 <command>pac</command>。
您将会得到一个美元计费的摘要像下面这样:</para>
-
+
<screen> Login pages/feet runs price
orchid:kelly 5.00 1 $ 0.10
orchid:mary 31.00 3 $ 0.62
@@ -3475,7 +3475,7 @@ rose:mary 87.00 32 $ 1.74
rose:root 26.00 12 $ 0.52
total 337.00 154 $ 6.74</screen>
-
+
<para>这些是 &man.pac.8; 需要的参数:</para>
<variablelist>
@@ -3489,18 +3489,18 @@ total 337.00 154 $ 6.74</screen>
<filename>/etc/printcap</filename> 文件中指定了绝对路径的情况下起作用。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><option>-c</option></term>
-
+
<listitem>
<para>以金额来排序输出来代替以用户名字字母排序。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><option>-m</option></term>
-
+
<listitem>
<para>忽略记帐文件中的主机名。 带上这个选项,
用户 <username>smith</username> 在主机
@@ -3509,10 +3509,10 @@ total 337.00 154 $ 6.74</screen>
不带这个选项的话, 他们则是不同的用户。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><option>-p<replaceable>单价</replaceable></option></term>
-
+
<listitem>
<para>使用 <replaceable>price</replaceable>
作为每页或每尺美元的单价来替代
@@ -3522,28 +3522,28 @@ total 337.00 154 $ 6.74</screen>
可以用一个浮点数来指定。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><option>-r</option></term>
-
+
<listitem>
<para>反向排序。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><option>-s</option></term>
-
+
<listitem>
<para>建立一个记帐摘要文件,
并且截短记帐文件。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><replaceable>名字</replaceable>
<replaceable>&hellip;</replaceable></term>
-
+
<listitem>
<para>只打印指定
<replaceable>名字</replaceable> 用户的记帐信息。</para>
@@ -3556,7 +3556,7 @@ total 337.00 154 $ 6.74</screen>
如果在您这里, 主机不考虑 (因为用户可以使用任何主机),
运行 <command>pac <option>-m</option></command>,
来得到下面的摘要:</para>
-
+
<screen> Login pages/feet runs price
andy 2.00 1 $ 0.04
kelly 182.00 105 $ 3.64
@@ -3565,7 +3565,7 @@ root 26.00 12 $ 0.52
zhang 9.00 1 $ 0.18
total 337.00 154 $ 6.74</screen>
-
+
<para>要以美元计算应付钱数,
&man.pac.8; 指定 <literal>pc</literal> 变量在
@@ -3576,9 +3576,9 @@ total 337.00 154 $ 6.74</screen>
<option>-p</option> 的时候。 参数 <option>-p</option>
的单位是美元, 而不是百分之一分。
例如,</para>
-
+
<screen>&prompt.root; <userinput><command>pac <option>-p1.50</option></command></userinput></screen>
-
+
<para>设定每页的价格是 1 美元 5 美分。
您可以通过这个选项来达到目标利润。</para>
@@ -3589,24 +3589,24 @@ total 337.00 154 $ 6.74</screen>
当您再次运行 &man.pac.8; 的时候, 它再次读取记帐文件来得到初始的总计,
然后在记帐文件中增加信息。</para>
</sect3>
-
+
<sect3>
<title>怎样对打印的页数进行计数?</title>
<para>为了进行远程的精确记帐,
需要判断一个任务将会消耗多少张纸。
这是打印记帐问题的关键。</para>
-
+
<para>对于纯文本任务, 这个问题不是太难解决:
对任务中的行数进行计数然后与打印机支持的每页行数进行比较。
别忘了也对添印的行, 或者很长的逻辑上的一行但在打印机上会折成两行的这类进行记帐。</para>
-
+
<para>文本过滤器 <command>lpf</command> (在 <link
linkend="printing-advanced-lpf">lpf:一个文本过滤器</link> 这节中介绍)
会在记帐时考虑这些问题。
如果正在编写一个可以进行记帐的文本过滤器,
您可能需要查看 <command>lpf</command> 的源代码。</para>
-
+
<para>怎样处理其他格式的文件?</para>
<para>好, 对于 DVI- 到 -LaserJet 或者 DVI- 到 -&postscript; 转换,
@@ -3617,7 +3617,7 @@ total 337.00 154 $ 6.74</screen>
<para>但是这些方法的弱点就是事实上打印机并不是打印了所有的页。
比如, 卡纸, 缺墨,
或者炸掉了 &mdash; 但用户还是要为没有打印的部分付钱。</para>
-
+
<para>您该怎样做?</para>
<para>只有一条 <emphasis>肯定</emphasis> 的方法来进行
@@ -3629,7 +3629,7 @@ total 337.00 154 $ 6.74</screen>
并 <emphasis>仅</emphasis> 基于这个值进行记帐。
不需要计算行数,
也不需要容易出错的文件检查。</para>
-
+
<para>当然, 您也总是可以大方的使打印免费。</para>
</sect3>
</sect2>
@@ -3637,7 +3637,7 @@ total 337.00 154 $ 6.74</screen>
<sect1 id="printing-using">
<title>使用打印机</title>
-
+
<indexterm>
<primary>printers</primary>
<secondary>usage</secondary>
@@ -3653,7 +3653,7 @@ total 337.00 154 $ 6.74</screen>
<para>打印任务</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>&man.lpq.1;</term>
@@ -3661,7 +3661,7 @@ total 337.00 154 $ 6.74</screen>
<para>检查打印队列</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>&man.lprm.1;</term>
@@ -3670,7 +3670,7 @@ total 337.00 154 $ 6.74</screen>
</listitem>
</varlistentry>
</variablelist>
-
+
<para>还有一个管理命令, &man.lpc.8;, 在 <link
linkend="printing-lpc">管理打印机</link> 一节中有所介绍,
它可以用于控制打印机及其队列。</para>
@@ -3690,44 +3690,44 @@ total 337.00 154 $ 6.74</screen>
就是指 <envar>PRINTER</envar> 环境变量中指定的这台,
或者叫做 <literal>lp</literal> 的这一台当没有环境变量
<envar>PRINTER</envar> 的时候。</para>
-
+
<sect2 id="printing-lpr">
<title>打印任务</title>
-
+
<para>要打印文件, 输入:</para>
-
+
<screen>&prompt.user; <userinput><command>lpr <filename><replaceable>filename</replaceable></filename> <replaceable>...</replaceable></command></userinput></screen>
-
+
<indexterm><primary>printing</primary></indexterm>
<para>这个命令会打印所有列出的文件到默认打印机。
如果没有列出文件, &man.lpr.1; 会从标准输入读取打印数据。
比如, 这个命令打印一些重要的系统文件:</para>
<screen>&prompt.user; <userinput><command>lpr <filename>/etc/host.conf</filename> <filename>/etc/hosts.equiv</filename></command></userinput></screen>
-
+
<para>要选择一个指定的打印机, 输入:</para>
-
+
<screen>&prompt.user; <userinput><command>lpr <option>-P</option> <replaceable>printer-name</replaceable> <filename><replaceable>filename</replaceable></filename> <replaceable>...</replaceable></command></userinput></screen>
<para>这个例子打印一个当前目录的长长的列表到叫做
<literal>rattan</literal> 的这台打印机:</para>
-
+
<screen>&prompt.user; <userinput><command>ls <option>-l</option> | lpr <option>-P</option> rattan</command></userinput></screen>
-
+
<para>因为没有为
&man.lpr.1; 命令列出文件, <command>lpr</command> 从标准输入读入数据,
在这里是 <command>ls
<option>-l</option></command> 命令的输出。</para>
-
+
<para> &man.lpr.1; 命令同样可以接受多种控制格式的选项,
应用文件转换, 生成多份副本, 等等。
要得到更多信息, 参考 <link
linkend="printing-lpr-options">打印选项</link> 这节。</para>
</sect2>
-
+
<sect2 id="printing-lpq">
<title>检查任务</title>
-
+
<indexterm><primary>print jobs</primary></indexterm>
<para>当使用 &man.lpr.1; 进行打印时, 您希望打印的所有数据被放在一起打包成了一个
<quote>打印任务</quote>, 它被发送到
@@ -3745,27 +3745,27 @@ total 337.00 154 $ 6.74</screen>
会显示打印机 <literal>bamboo</literal> 的队列。
下面是命令 <command>lpq</command>
输出的一个例子:</para>
-
+
<screen>bamboo is ready and printing
Rank Owner Job Files Total Size
active kelly 9 /etc/host.conf, /etc/hosts.equiv 88 bytes
2nd kelly 10 (standard input) 1635 bytes
3rd mary 11 ... 78519 bytes</screen>
-
+
<para>这里显示了队列中有三个任务在 <literal>bamboo</literal> 中。
第一个任务, 用户 kelly 提交的, 标识 <quote>任务编号</quote>
9。 每个要打印的任务都会获得一个不同的任务编号。
大多时候可以忽略这个任务编号, 但在您需要取消任务时会用到这个号码;
参考 <link
linkend="printing-lprm">移除任务</link> 这节得到更多信息。</para>
-
+
<para>编号为 9 的任务包含了两个文件; 在
&man.lpr.1; 命令行中指定的多个文件被看作是一个单个的任务。
它是当前激活的任务 (注意这个词 <literal>激活</literal>
在 <quote>Rank</quote> 这列下面), 意思是打印机当前正在打印那个任务。
第二个任务包含了标准输入传给
&man.lpr.1; 命令的数据。
- 第三个任务来自用户 <username>mary</username>; ,
+ 第三个任务来自用户 <username>mary</username>; ,
它是一个比较大的任务。 她要打印的文件的路径名太长了,
所以 &man.lpq.1; 命令只显示了三个点。</para>
@@ -3776,7 +3776,7 @@ active kelly 9 /etc/host.conf, /etc/hosts.equiv 88 bytes
<para> &man.lpq.1; 命令同样支持 <option>-l</option> 选项来生成一个详细的长列表。
下面是一个
<command>lpq <option>-l</option></command> 命令的例子:</para>
-
+
<screen>waiting for bamboo to become ready (offline ?)
kelly: 1st [job 009rose]
/etc/host.conf 73 bytes
@@ -3791,24 +3791,24 @@ mary: 3rd [job 011rose]
<sect2 id="printing-lprm">
<title>移除任务</title>
-
+
<para>如果您对一个打印任务改变了主意,
可以用 &man.lprm.1; 将任务从队列中删除。 通常, 您甚至可以用
&man.lprm.1; 命令来移除一个当前激活的任务, 但是任务的一部分或者所有还是可能打印出来。</para>
-
+
<para>要从默认打印机中移除一个任务, 首先使用
&man.lpq.1; 找到任务编号。 然后输入:</para>
-
+
<screen>&prompt.user; <userinput><command>lprm <replaceable>job-number</replaceable></command></userinput></screen>
-
+
<para>要从指定打印机中删除任务, 增加
<option>-P</option> 选项。 下面的命令会删除编号为
10 的任务从 <literal>bamboo</literal> 这台打印机:</para>
-
+
<screen>&prompt.user; <userinput><command>lprm <option>-P</option> bamboo 10</command></userinput></screen>
-
+
<para> &man.lprm.1; 命令有一些快捷方式:</para>
-
+
<variablelist>
<varlistentry>
<term>lprm -</term>
@@ -3820,7 +3820,7 @@ mary: 3rd [job 011rose]
<varlistentry>
<term>lprm <replaceable>user</replaceable></term>
-
+
<listitem>
<para>删除所有属于用户
<replaceable>user</replaceable> 的任务 (默认打印机的)。
@@ -3830,7 +3830,7 @@ mary: 3rd [job 011rose]
<varlistentry>
<term>lprm</term>
-
+
<listitem>
<para>命令行中不带任务编号, 任务名, 或者 <option>-</option>
选项, &man.lprm.1; 会删除默认打印机上当前激活的任务,
@@ -3838,19 +3838,19 @@ mary: 3rd [job 011rose]
</listitem>
</varlistentry>
</variablelist>
-
+
<para>使用参数 <option>-P</option> 和上面的快捷方式来用指定打印机替代默认打印机。
例如, 下面的命令会删除当前用户在打印机
<literal>rattan</literal> 队列中的所有任务:</para>
-
+
<screen>&prompt.user; <userinput><command>lprm <option>-P</option> rattan -</command></userinput></screen>
-
+
<note>
<para>如果您正工作在一个网络环境中, &man.lprm.1;
将只允许在提交任务的主机上删除任务,
甚至是同一台打印机也可以在其他主机上使用时。
下面的命令证明了这个:</para>
-
+
<screen>&prompt.user; <userinput><command>lpr <option>-P</option> rattan <filename><replaceable>myfile</replaceable></filename></command></userinput>
&prompt.user; <userinput><command>rlogin orchid</command></userinput>
&prompt.user; <userinput><command>lpq <option>-P</option> rattan</command></userinput>
@@ -3866,15 +3866,15 @@ cfA013rose dequeued
</screen>
</note>
</sect2>
-
+
<sect2 id="printing-lpr-options">
<title>超越纯文本:打印选项</title>
-
+
<para> &man.lpr.1; 支持许多控制文本格式的参数,
转换图形和其他格式文件,
生成多份副本, 处理任务, 等等。
这一节将描述这些选项。</para>
-
+
<sect3 id="printing-lpr-options-format">
<title>格式与转换选项</title>
@@ -3882,14 +3882,14 @@ cfA013rose dequeued
使用这些参数, 如果任务不含纯文本,
或者您想让纯文本通过
&man.pr.1; 格式化。</para>
-
+
<indexterm><primary>&tex;</primary></indexterm>
<para>例如, 下面的命令打印一个 DVI 文件 (来自
&tex; 排版系统) 文件名为 <filename><replaceable>fish-report.dvi</replaceable></filename>
到打印 <literal>bamboo</literal>:</para>
-
+
<screen>&prompt.user; <userinput><command>lpr <option>-P</option> bamboo -d <filename><replaceable>fish-report.dvi</replaceable></filename></command></userinput></screen>
-
+
<para>这些选项应用到任务中的每个文件, 所以您不能混合
(说) DVI 和 ditroff 文件在同一个任务中。 替代的方法是,
用独立的任务提交这些文件, 使用不同的转换选项给不同的任务。</para>
@@ -3911,34 +3911,34 @@ cfA013rose dequeued
<para>打印 cifplot 文件。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><option>-d</option></term>
-
+
<listitem>
<para>打印 DVI 文件。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><option>-f</option></term>
-
+
<listitem>
<para>打印 FORTRAN 文本文件。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><option>-g</option></term>
-
+
<listitem>
<para>打印 plot 数据。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><option>-i <replaceable>number</replaceable></option></term>
-
+
<listitem>
<para>缩进 <replaceable>number</replaceable> 列;
如果没有指定 <replaceable>number</replaceable>,
@@ -3949,36 +3949,36 @@ cfA013rose dequeued
</note>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><option>-l</option></term>
-
+
<listitem>
<para>打印文字数据,
包括控制字符。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><option>-n</option></term>
-
+
<listitem>
<para>打印 ditroff (无设备依赖 troff) 数据。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>-p</term>
-
+
<listitem>
<para>打印之前用 &man.pr.1; 格式化纯文本。 参考
&man.pr.1; 得到更多信息。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><option>-T <replaceable>title</replaceable></option></term>
-
+
<listitem>
<para>使用 <replaceable>title</replaceable> 在
&man.pr.1; 上来替代文件名。
@@ -3986,29 +3986,29 @@ cfA013rose dequeued
选项时起作用。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><option>-t</option></term>
-
+
<listitem>
<para>打印 troff 数据。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><option>-v</option></term>
-
+
<listitem>
<para>打印 raster 数据。</para>
</listitem>
</varlistentry>
</variablelist>
-
+
<para>下面是一个例子: 这个命令打印了一个很好的
&man.ls.1; 联机手册到默认打印机:</para>
-
+
<screen>&prompt.user; <userinput><command>zcat <filename>/usr/share/man/man1/ls.1.gz</filename> | troff <option>-t</option> -man | lpr <option>-t</option></command></userinput></screen>
-
+
<para> &man.zcat.1; 命令解压缩
&man.ls.1; 的手册并且将内容传给 &man.troff.1;
命令, 它将格式化这些内容并且生成 GNU troff
@@ -4018,13 +4018,13 @@ cfA013rose dequeued
选项为 &man.lpr.1; , 后台打印将会转换 GNU
troff 输出到默认打印机可以理解的格式当任务被打印时。</para>
</sect3>
-
+
<sect3 id="printing-lpr-options-job-handling">
<title>任务处理选项</title>
<para>下面的 &man.lpr.1; 选项告诉
<application>LPD</application> 对任务特殊处理:</para>
-
+
<variablelist>
<varlistentry>
<term>-# <replaceable>copies</replaceable></term>
@@ -4040,14 +4040,14 @@ cfA013rose dequeued
<para>这个例子打印三份副本的文件
<filename><replaceable>parser.c</replaceable></filename> 跟着三份副本的文件
<filename><replaceable>parser.h</replaceable></filename> 到默认打印机:</para>
-
+
<screen>&prompt.user; <userinput><command>lpr <option>-#3</option> <filename><replaceable>parser.c parser.h</replaceable></filename></command></userinput></screen>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>-m</term>
-
+
<listitem>
<para>打印完成后发信。 使用这个选项,
<application>LPD</application> 系统将会发送邮件到您的帐户,
@@ -4056,25 +4056,25 @@ cfA013rose dequeued
并且 (通常) 指明是什么错误。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>-s</term>
-
+
<listitem>
<para>不要复制文件到后台打印队列目录,
要使用符号连接。</para>
-
+
<para>如果您正在打印一个很大的任务, 您可能需要这个选项。
它节省后台打印队列目录的空间
(您的任务可能使后台打印队列目录所在的文件系统剩余空间超出)。
- 它同样也节省了时间, 因为
+ 它同样也节省了时间, 因为
<application>LPD</application>
将不会副本任务的每个字节到后台打印队列目录。</para>
-
- <para>这也有一个缺点: 因为
+
+ <para>这也有一个缺点: 因为
<application>LPD</application> 将直接指向源文件,
您不能修改或者删除它们直到它们被打印出来。</para>
-
+
<note>
<para>如果您打印到一台远程打印机,
<application>LPD</application>
@@ -4085,10 +4085,10 @@ cfA013rose dequeued
</note>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>-r</term>
-
+
<listitem>
<para>移除任务中的文件在它们被复制到后台打印队列目录之后,
或者在用
@@ -4098,7 +4098,7 @@ cfA013rose dequeued
</varlistentry>
</variablelist>
</sect3>
-
+
<sect3 id="printing-lpr-options-misc">
<title>报头页选项</title>
@@ -4107,7 +4107,7 @@ cfA013rose dequeued
这些选项将不会起作用。 参考
<link linkend="printing-advanced-header-pages">报头页</link>
得到更多关于设置报头页的信息。</para>
-
+
<variablelist>
<varlistentry>
<term>-C <replaceable>text</replaceable></term>
@@ -4118,10 +4118,10 @@ cfA013rose dequeued
主机名通常都是提交任务的主机名称。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>-J <replaceable>text</replaceable></term>
-
+
<listitem>
<para>替换报头页上的任务名为
<replaceable>text</replaceable>。 任务名通常是任务中头一个文件的名字,
@@ -4129,13 +4129,13 @@ cfA013rose dequeued
<filename>stdin</filename> 如果您正在打印标准输入。</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>-h</term>
-
+
<listitem>
<para>不打印任何报头页。</para>
-
+
<note>
<para>在某些地点, 这个选项可能无效,
与报头页的产生方法有关。 参考 <link
@@ -4147,15 +4147,15 @@ cfA013rose dequeued
</variablelist>
</sect3>
</sect2>
-
+
<sect2 id="printing-lpc">
<title>管理打印机</title>
-
+
<para>作为一个打印机的管理者, 您必须要安装,
设置, 并且测试它们。 使用 &man.lpc.8; 命令,
您可以与打印机以更多的方式交流。 用 &man.lpc.8; ,
您可以</para>
-
+
<itemizedlist>
<listitem>
<para>启动或停止打印机</para>
@@ -4169,18 +4169,18 @@ cfA013rose dequeued
<para>重新安排每个队列中的任务。</para>
</listitem>
</itemizedlist>
-
+
<para>首先, 一个关于术语的解释: 如果一个打印机被
<emphasis>停止</emphasis> 了, 它将不会打印它队列中的任何东西。
但用户还是可以提交任务, 它们会在队列中等待直到打印机被
<emphasis>启动</emphasis> 或者队列被清空。</para>
-
+
<para>如果一个队列被 <emphasis>禁止</emphasis>, 没有用户 (除了
<username>root</username>) 可以提交任务到打印机。 一个
<emphasis>启用</emphasis> 的队列允许任务被提交。
一个打印机可以被 <emphasis>启动</emphasis> 但它的队列被禁止,
在这种情况下打印机将打印队列中的任务, 直到队列为空。</para>
-
+
<para>通常, 您必须有 <username>root</username> 权限来使用
&man.lpc.8; 命令。 普通用户可以使用 &man.lpc.8;
命令来获得打印机状态并且重启一台挂了的打印机。</para>
@@ -4190,7 +4190,7 @@ cfA013rose dequeued
您可以用 <literal>all</literal>
填在 <replaceable>printer-name</replaceable> 的位置来代表所有在
<filename>/etc/printcap</filename> 文件中列出的打印机。</para>
-
+
<variablelist>
<varlistentry>
<term><command>abort
@@ -4205,7 +4205,7 @@ cfA013rose dequeued
<varlistentry>
<term><command>clean
<replaceable>printer-name</replaceable></command></term>
-
+
<listitem>
<para>从打印机的后台打印队列目录移除旧的文件。
有时, 组成任务的文件没有被
@@ -4218,13 +4218,13 @@ cfA013rose dequeued
<varlistentry>
<term><command>disable
<replaceable>printer-name</replaceable></command></term>
-
+
<listitem>
<para>禁止新任务入队。 如果打印机正在工作,
它将会继续打印队列中剩余的任务。
超级用户 (<username>root</username>) 总是可以提交任务,
甚至提交到一个禁止的队列。</para>
-
+
<para>这个命令在测试一台新打印机或者安装过滤器时非常有用:
禁止队列并提交以
<username>root</username> 提交任务。
@@ -4236,7 +4236,7 @@ cfA013rose dequeued
<varlistentry>
<term><command>down <replaceable>printer-name</replaceable>
<replaceable>message</replaceable></command></term>
-
+
<listitem>
<para>打印机下线。 等于
<command>disable</command> 命令后跟一个 <command>stop</command> 命令。
@@ -4249,7 +4249,7 @@ cfA013rose dequeued
<varlistentry>
<term><command>enable
<replaceable>printer-name</replaceable></command></term>
-
+
<listitem>
<para>为打印机开启队列。
用户可以提交任务到打印机但是在打印机启动之前不会打印出任何东西。</para>
@@ -4259,7 +4259,7 @@ cfA013rose dequeued
<varlistentry>
<term><command>help
<replaceable>command-name</replaceable></command></term>
-
+
<listitem>
<para>打印关于
<replaceable>command-name</replaceable> 命令的帮助。 不带
@@ -4271,10 +4271,10 @@ cfA013rose dequeued
<varlistentry>
<term><command>restart
<replaceable>printer-name</replaceable></command></term>
-
+
<listitem>
<para>启动打印机。 普通用户可以使用这个命令,
- 当一些特别的环境导致
+ 当一些特别的环境导致
<application>LPD</application> 锁死时, 但他们不能启用一台使用
<command>stop</command> 或者
<command>down</command> 命令停用的打印机。
@@ -4287,7 +4287,7 @@ cfA013rose dequeued
<varlistentry>
<term><command>start
<replaceable>printer-name</replaceable></command></term>
-
+
<listitem>
<para>启用打印机。 打印机将开始打印队列中的任务。</para>
</listitem>
@@ -4296,7 +4296,7 @@ cfA013rose dequeued
<varlistentry>
<term><command>stop
<replaceable>printer-name</replaceable></command></term>
-
+
<listitem>
<para>停止打印机。 打印机将完成当前任务并且将不再打印队列中的任务任务。
尽管打印机被停用,
@@ -4307,7 +4307,7 @@ cfA013rose dequeued
<varlistentry>
<term><command>topq <replaceable>printer-name</replaceable>
<replaceable>job-or-username</replaceable></command></term>
-
+
<listitem>
<para>重新以
<replaceable>printer-name</replaceable> 安排队列,
@@ -4322,7 +4322,7 @@ cfA013rose dequeued
<varlistentry>
<term><command>up
<replaceable>printer-name</replaceable></command></term>
-
+
<listitem>
<para>打印机上线; 相对于
<command>down</command> 命令。 等同于
@@ -4331,17 +4331,17 @@ cfA013rose dequeued
</listitem>
</varlistentry>
</variablelist>
-
+
<para>&man.lpc.8; 的命令行接受上面的命令。
如果您不输入任何命令, &man.lpc.8; 则进入一个交互模式,
在这里您可以输入命令直到输入 <command>exit</command>,
<command>quit</command>, 或者文件结束符。</para>
</sect2>
</sect1>
-
+
<sect1 id="printing-lpd-alternatives">
<title>替换标准后台打印</title>
-
+
<para>如果您已经通读过了这个手册,
那么到现在您应该已经了解了关于 FreeBSD 包含的后台打印系统
<application>LPD</application>
@@ -4580,7 +4580,7 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
<para>使用打印机的配置开关或者控制面板来强制对
LF 和 CR 进行下面的转换:</para>
-
+
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
diff --git a/zh_CN.GB2312/books/handbook/security/chapter.sgml b/zh_CN.GB2312/books/handbook/security/chapter.sgml
index 6ca17e419f..214952994e 100644
--- a/zh_CN.GB2312/books/handbook/security/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/security/chapter.sgml
@@ -413,7 +413,7 @@
<application>rshd</application> 甚至
<application>rlogind</application> 登录,
就应该毫不犹豫地关闭它们!</para>
-
+
<para>&os; 现在默认在沙盒中运行
<application>ntalkd</application>,
<application>comsat</application>, 以及
@@ -663,7 +663,7 @@
<para>一种比较常见的 DoS 攻击情形, 是通过攻击复制进程 (fork)
的服务, 使其产生大量子进程, 从而是其运行的机器耗尽内存、 文件描述符等资源,
- 直到服务器彻底死掉。 <application>inetd</application>
+ 直到服务器彻底死掉。 <application>inetd</application>
(参见 &man.inetd.8;) 提供了许多选项来限制这类攻击。
需要注意的是, 尽管能够阻止一台机器彻底垮掉,
但通常无法防止服务本身被击垮。
@@ -742,7 +742,7 @@
echo 口的 UDP 包, 然后将这个包发到 B 的 echo 口。
于是, 两台服务器将不停地将包弹给对方。
攻击者能够将两台服务器的这种服务都耗竭,
- 并且通过这种方式, 只需要很少的包就可以让 LAN 超载。
+ 并且通过这种方式, 只需要很少的包就可以让 LAN 超载。
类似的问题对
<application>chargen</application> 口也是存在的。
好的系统管理员应该关闭这些 inetd 的测试服务。</para>
@@ -756,7 +756,7 @@
1600 秒才会过期。 如果内核发现路由表变得太大, 它会动态地降低
<varname>rtexpire</varname> 但以
<varname>rtminexpire</varname> 为限。 这引发了两个问题:</para>
-
+
<orderedlist>
<listitem>
<para>在访问量不大的服务器上, 内核对于突然袭击的反应不够快。</para>
@@ -860,7 +860,7 @@
<para>可以很容易地识别 &os; 使用哪种加密方法。
检查 <filename>/etc/master.passwd</filename> 文件中的加密密码是一种方法。
- 用 MD5 散列加密的密码通常要比用
+ 用 MD5 散列加密的密码通常要比用
DES 散列得到的长一些, 并且以
<literal>&dollar;1&dollar;</literal> 字符开始。 以
<literal>&dollar;2a&dollar;</literal> 开始的口令是通过
@@ -1084,7 +1084,7 @@ Enter secret pass phrase: <userinput>&lt;secret password&gt;</userinput>
这个文件默认情况下就是存在的。
请参阅 &man.opieaccess.5; 以了解关于这个文件进一步的情况,
以及安全方面需要进行的一些考虑。</para>
-
+
<para>下面是一个示范的 <filename>opieaccess</filename> 文件:</para>
<programlisting>permit 192.168.0.0 255.255.0.0</programlisting>
@@ -1112,7 +1112,7 @@ Enter secret pass phrase: <userinput>&lt;secret password&gt;</userinput>
<title>TCP Wrappers</title>
<indexterm><primary>TCP Wrappers</primary></indexterm>
-
+
<para>每一个熟悉 &man.inetd.8; 都应该听说过
<acronym>TCP</acronym> Wrappers,
但几乎没有人对它在网络环境中的作用有全面的理解。
@@ -1213,7 +1213,7 @@ qpopper : ALL : allow</programlisting>
这些需求都可以通过使用 <literal>通配符</literal>,
扩展字符以及外部命令来实现。
接下来的两节将介绍这些。</para>
-
+
<sect3>
<title>外部命令</title>
@@ -1852,7 +1852,7 @@ jdoe@example.org</screen>
程序使用不同 (尽管等价) 的命令和协议。 如果您的
<acronym>KDC</acronym> 是 <acronym>MIT</acronym> 的,
则其影响是不能使用 Heimdal 的 <command>kadmin</command>
- 程序来远程管理 <acronym>KDC</acronym>
+ 程序来远程管理 <acronym>KDC</acronym>
(或相反)。</para>
<para>完成同样工作的命令可能会有些许的不同。 推荐按照
@@ -2130,7 +2130,7 @@ An optional company name []:<userinput><replaceable>Another Name</replaceable></
需要生成 <acronym>RSA</acronym> 密钥:</para>
<screen>&prompt.root; <userinput>openssl dsaparam -rand -genkey -out <filename>myRSA.key</filename> 1024</userinput></screen>
-
+
<para>接下来, 生成 <acronym>CA</acronym> 密钥:</para>
<screen>&prompt.root; <userinput>openssl gendsa -des3 -out <filename>myca.key</filename> <filename>myRSA.key</filename></userinput></screen>
@@ -2235,7 +2235,7 @@ Connection closed by foreign host.</screen>
</indexterm>
<para>使用 FreeBSD 网关在两个被 Internet 分开的网络之间架设 VPN。</para>
-
+
<sect2>
<sect2info>
<authorgroup>
@@ -2259,16 +2259,16 @@ Connection closed by foreign host.</screen>
<para><emphasis>IPsec</emphasis> 是一种建立在 Internet
协议 (IP) 层之上的协议。 它能够让两个或更多主机以安全的方式来通讯
- (并因此而得名)。
+ (并因此而得名)。
FreeBSD IPsec <quote>网络协议栈</quote> 基于
<ulink url="http://www.kame.net/">KAME</ulink> 的实现,
它支持两种协议族, IPv4 和 IPv6。</para>
-
+
<indexterm>
<primary>IPsec</primary>
<secondary>ESP</secondary>
</indexterm>
-
+
<indexterm>
<primary>IPsec</primary>
<secondary>AH</secondary>
@@ -2291,10 +2291,10 @@ Connection closed by foreign host.</screen>
以便能够验证包。</para>
</listitem>
</itemizedlist>
-
+
<para><acronym>ESP</acronym> 和 <acronym>AH</acronym> 可以根据环境的不同,
分别或者一同使用。</para>
-
+
<indexterm>
<primary>VPN</primary>
</indexterm>
@@ -2338,13 +2338,13 @@ options IPSEC_DEBUG #debug for IP security
<sect2>
<title>问题</title>
-
+
<para>由于对如何建立 VPN 并不存在标准, 因此 VPN
可以采用许多种不同的技术来实现, 每种技术都有其强项和弱点。
这篇文章将展现一个具体的应用情景, 并为它设计了适合的 VPN。</para>
</sect2>
-
- <sect2>
+
+ <sect2>
<title>情景: 两个网络,一个家庭的网络和一个公司的网络。
都接入了 Internet,并且通过这条 <acronym>VPN</acronym>
就像在同一个网络一样。</title>
@@ -2355,7 +2355,7 @@ options IPSEC_DEBUG #debug for IP security
</indexterm>
<para>现有条件如下:</para>
-
+
<itemizedlist>
<listitem>
<para>至少有两个不同的站点</para>
@@ -2398,7 +2398,7 @@ options IPSEC_DEBUG #debug for IP security
<filename role="package">security/ipsec-tools</filename>。
这个第三方软件提供了一些能够帮助配置的应用程序。</para>
- <para>下一步是创建两个 &man.gif.4;
+ <para>下一步是创建两个 &man.gif.4;
伪设备用来在两个网络间传输数据包的 <quote>隧道</quote>。
使用 <username>root</username> 身份运行以下命令,
并用真实的内部外部网关替换命令中的
@@ -2654,7 +2654,7 @@ pass out quick on gif0 from any to any</programlisting>
ipsec_program="/usr/local/sbin/setkey"
ipsec_file="/usr/local/etc/racoon/setkey.conf" # allows setting up spd policies on boot
racoon_enable="yes"</programlisting>
- </sect2>
+ </sect2>
</sect1>
<sect1 id="openssh">
@@ -3067,7 +3067,7 @@ user@unfirewalled-system.example.org's password: <userinput>*******</userinput><
<sect2>
<title>进一步的资料</title>
<para><ulink url="http://www.openssh.com/">OpenSSH</ulink></para>
- <para>&man.ssh.1; &man.scp.1; &man.ssh-keygen.1;
+ <para>&man.ssh.1; &man.scp.1; &man.ssh-keygen.1;
&man.ssh-agent.1; &man.ssh-add.1; &man.ssh.config.5;</para>
<para>&man.sshd.8; &man.sftp-server.8; &man.sshd.config.5;</para>
</sect2>
@@ -3514,5 +3514,5 @@ VII. References<co id="co-ref"/></programlisting>
<para>更多的可用选项在联机手册
&man.lastcomm.1;、 &man.acct.5; 和 &man.sa.8; 中有所介绍。</para>
</sect2>
- </sect1>
+ </sect1>
</chapter>
diff --git a/zh_CN.GB2312/books/handbook/txtfiles.ent b/zh_CN.GB2312/books/handbook/txtfiles.ent
index 0960a83d2c..d7e3d457f8 100644
--- a/zh_CN.GB2312/books/handbook/txtfiles.ent
+++ b/zh_CN.GB2312/books/handbook/txtfiles.ent
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="GB2312"?>
-<!--
- Creates entities for each .txt screenshot that is included in the
+<!--
+ Creates entities for each .txt screenshot that is included in the
Handbook.
Each entity is named txt.dir.foo, where dir is the directory in
- which it is stored, and foo is its filename, without the '.txt'
+ which it is stored, and foo is its filename, without the '.txt'
extension.
Entities should be listed in alphabetical order.
Original Revision: 1.4
-
+
$FreeBSD$
-->
diff --git a/zh_CN.GB2312/books/handbook/users/chapter.sgml b/zh_CN.GB2312/books/handbook/users/chapter.sgml
index 0f3424ba8c..c648e90868 100644
--- a/zh_CN.GB2312/books/handbook/users/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/users/chapter.sgml
@@ -260,7 +260,7 @@
<primary>帐户</primary>
<secondary>用户</secondary>
</indexterm>
- <para>用户帐户是让真实的用户访问系统的主要方式,
+ <para>用户帐户是让真实的用户访问系统的主要方式,
这些帐户把用户和环境隔离, 能阻止用户损坏系统和其他用户,
在不影响其他用户的情况之下定制自己的环境。</para>
@@ -414,7 +414,7 @@ Add another user? (yes/no): <userinput>no</userinput> Goodbye!
</step>
<step>
<para>最后, 删除 <filename>/etc/group</filename>中所有属于组的该用户名.</para>
-
+
<note>
<para>如果一个组变成空,而组名和用户名一样,组将被删除.
&man.adduser.8;命令建立每个用户唯一的组.</para>
diff --git a/zh_CN.GB2312/books/handbook/vinum/chapter.sgml b/zh_CN.GB2312/books/handbook/vinum/chapter.sgml
index f6d3bffb62..dac54718d0 100644
--- a/zh_CN.GB2312/books/handbook/vinum/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/vinum/chapter.sgml
@@ -91,7 +91,7 @@
<para>现代系统经常需要用一个高度并发的方式来访问数据。
例如,巨大的FTP 或HTTP 服务器可以支持数以千计的并发会话,
- 可以有多个连到外部世界的100&nbsp;Mbit/s ,
+ 可以有多个连到外部世界的100&nbsp;Mbit/s ,
这远远地超过了绝大多数磁盘的数据传输速率。</para>
<para>当前的磁盘驱动器最高可以以70&nbsp;MB/s的速度传输数据,
@@ -115,7 +115,7 @@
<para>对于这个瓶颈的一般和明显的解决方法是采用
<quote>多个磁盘</quote>:而不是只使用一个大磁盘,
- 它使用几个比较小的磁盘联合起来形成一个大的磁盘.
+ 它使用几个比较小的磁盘联合起来形成一个大的磁盘.
每个磁盘都可以独立地进行传输数据,所以通过使用多个磁盘
大大提高了数据吞吐量。
</para>
@@ -142,7 +142,7 @@
它有一个优点就是磁盘不需要有任何特定的大小关系。
当访问到的虚拟磁盘根据它的地址空间来分布的时候, 它能工作得很好。
当访问集中在一个比较小的区域的时候,性能的提高没有显著的改进。
- <xref linkend="vinum-concat"/>
+ <xref linkend="vinum-concat"/>
举例说明了用串联组织的方式来分配存储单元的顺序。</para>
<para>
@@ -207,7 +207,7 @@
<indexterm>
<primary>RAID-1</primary>
</indexterm>
-
+
<para>解决这个问题的传统方法是建立
<emphasis>镜象</emphasis>, 在不同的物理硬件上对数据做两个副本。
根据 <acronym>RAID</acronym> 级别出现的时间顺序, 这个技术也被叫做
@@ -215,9 +215,9 @@
<acronym>RAID-1</acronym>。 任何写到卷的数据也会被写到镜象上,
所以可以从任何一个副本读取数据, 如果其中有一个出现故障,
数据也还可以从其他驱动器上访问到。</para>
-
+
<para>镜象有两个问题:</para>
-
+
<itemizedlist>
<listitem>
<para>价格. 它需要两倍的存储容量。</para>
@@ -287,7 +287,7 @@
分解成叫做<emphasis>subdisks</emphasis>的相邻区域, 它可以使用这个
来为plex 建立块。</para>
</listitem>
-
+
<listitem>
<para>Subdisks 位于 Vinum <emphasis>驱动器上</emphasis>,
当前的UNIX 分区。Vinum 驱动器可以包含很多的subdisks。
@@ -305,7 +305,7 @@
结果, 每个独立的驱动器的大小都不会限制plex 的大小,从而不会限制卷的大小
</para>
</sect2>
-
+
<sect2>
<title>多余的数据存储</title>
<para>Vinum 通过给一个卷连上多个plex 来完成镜象的功能。
@@ -319,7 +319,7 @@
卷的完全地址范围提供数据,卷就能够正常工作。
</para>
</sect2>
-
+
<sect2>
<title>性能问题</title>
@@ -343,11 +343,11 @@
<title>哪种plex 组织更有效?</title>
<para>&os;&nbsp;&rel.current;提供的Vinum 版本能实现两种plex:</para>
-
+
<itemizedlist>
<listitem>
<para>串联的plex 更加灵活:它们可以包含任何数量的subdisk,
- subdisk 也可能有不同的长度。Plex 可以通过添加额外的subdisk
+ subdisk 也可能有不同的长度。Plex 可以通过添加额外的subdisk
来得到扩展。 与分段 plex 不同, 它们需要的
<acronym>CPU</acronym> 时钟更少, 尽管
<acronym>CPU</acronym> 上的负载差异是不可测量的。
@@ -360,16 +360,16 @@
它们减少了负载不平衡的情况: 通过选择一个最合适大小的分段
(大约是256&nbsp;kB), 您甚至可以在各个组成的驱动器上降低负载
. 这种方法的缺点是在subdisk 上受到非常复杂的编码限制
- : 它们必须是同样大小, 通过添加新的subdisk 来扩展一个plex
+ : 它们必须是同样大小, 通过添加新的subdisk 来扩展一个plex
是非常复杂的,以至Vinum 当前没有实现它. Vinum 利用一个额外
的,代价不高的限制:一个分段的plex 必须有至少两个subdisk,
否则, 它就无法区分连接的 plex 了。</para>
</listitem>
</itemizedlist>
-
+
<para><xref linkend="vinum-comparison"/> 总结一下每个plex 组织
的优点和缺点.</para>
-
+
<table id="vinum-comparison" frame="none">
<title>Vinum Plex组织图</title>
<tgroup cols="5">
@@ -392,7 +392,7 @@
<entry>带有很大弹性和适中性能的大数据量存储。
</entry>
</row>
-
+
<row>
<entry>分段</entry>
<entry>2</entry>
@@ -405,7 +405,7 @@
</table>
</sect2>
</sect1>
-
+
<sect1 id="vinum-examples">
<title>一些例子</title>
@@ -415,7 +415,7 @@
Vinum 中称为 <emphasis>device</emphasis>) 上都保存配置数据库的副本。
这一数据库在每次状态变化时均会更新, 因而重启每个 Vinum 对象时,
都能够恢复其状态。</para>
-
+
<sect2>
<title>配置文件</title>
<para>配置文件描述了独立的 Vinum.一个简单卷的定义可能是这样的:</para>
@@ -449,18 +449,18 @@
<emphasis>concat</emphasis>. 没有名称是必然的:
系统自动通过添加suffix
<emphasis>.p</emphasis><emphasis>x</emphasis>
- 来从卷名称产生一个名字,这里的<emphasis>x</emphasis>
+ 来从卷名称产生一个名字,这里的<emphasis>x</emphasis>
是在卷中的plex 的编号。而这个plex 将被
叫做<emphasis>myvol.p0</emphasis>。</para>
-
-
+
+
</listitem>
<listitem>
<para> <emphasis>sd</emphasis> 行描述了一个subdisk。
最小的说明是存储subdisk 的驱动器名称,和subdisk 的长度。
对于plex,没有名称也是必然的:系统自动通过添加
- suffix <emphasis>.s</emphasis><emphasis>x</emphasis>
+ suffix <emphasis>.s</emphasis><emphasis>x</emphasis>
来分配源自plex 的名称,这里 <emphasis>x</emphasis>是plex 中subdisk 的编号。
Vinum 给这个subdisk 命名为<emphasis>myvol.p0.s0</emphasis>。</para>
</listitem>
@@ -475,13 +475,13 @@
Volumes: 1 (4 configured)
Plexes: 1 (8 configured)
Subdisks: 1 (16 configured)
-
+
D a State: up Device /dev/da3h Avail: 2061/2573 MB (80%)
-
+
V myvol State: up Plexes: 1 Size: 512 MB
-
+
P myvol.p0 C State: up Subdisks: 1 Size: 512 MB
-
+
S myvol.p0.s0 State: up PO: 0 B Size: 512 MB</programlisting>
<para>这些输出内容展示了 &man.gvinum.8; 的简要列表格式。
@@ -530,21 +530,21 @@
Volumes: 2 (4 configured)
Plexes: 3 (8 configured)
Subdisks: 3 (16 configured)
-
+
D a State: up Device /dev/da3h Avail: 1549/2573 MB (60%)
D b State: up Device /dev/da4h Avail: 2061/2573 MB (80%)
V myvol State: up Plexes: 1 Size: 512 MB
V mirror State: up Plexes: 2 Size: 512 MB
-
+
P myvol.p0 C State: up Subdisks: 1 Size: 512 MB
P mirror.p0 C State: up Subdisks: 1 Size: 512 MB
P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB
-
+
S myvol.p0.s0 State: up PO: 0 B Size: 512 MB
S mirror.p0.s0 State: up PO: 0 B Size: 512 MB
S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB</programlisting>
-
+
<para><xref linkend="vinum-mirrored-vol"/> 以图形方式展示了其结构。</para>
<para>
@@ -586,21 +586,21 @@
Volumes: 3 (4 configured)
Plexes: 4 (8 configured)
Subdisks: 7 (16 configured)
-
+
D a State: up Device /dev/da3h Avail: 1421/2573 MB (55%)
D b State: up Device /dev/da4h Avail: 1933/2573 MB (75%)
D c State: up Device /dev/da5h Avail: 2445/2573 MB (95%)
D d State: up Device /dev/da6h Avail: 2445/2573 MB (95%)
-
+
V myvol State: up Plexes: 1 Size: 512 MB
V mirror State: up Plexes: 2 Size: 512 MB
V striped State: up Plexes: 1 Size: 512 MB
-
+
P myvol.p0 C State: up Subdisks: 1 Size: 512 MB
P mirror.p0 C State: up Subdisks: 1 Size: 512 MB
P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB
P striped.p1 State: up Subdisks: 1 Size: 512 MB
-
+
S myvol.p0.s0 State: up PO: 0 B Size: 512 MB
S mirror.p0.s0 State: up PO: 0 B Size: 512 MB
S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB
@@ -659,7 +659,7 @@
</para>
</sect2>
</sect1>
-
+
<sect1 id="vinum-object-naming">
<title>对象命名</title>
@@ -726,7 +726,7 @@
/dev/vinum/plex:
total 0
crwxr-xr-- 1 root wheel 25, 0x10000002 Apr 13 16:46 s64.p0
-
+
/dev/vinum/sd:
total 0
crwxr-xr-- 1 root wheel 91, 0x20000002 Apr 13 16:46 s64.p0.s0
@@ -763,7 +763,7 @@
<screen>&prompt.root; <userinput>newfs /dev/gvinum/concat</userinput></screen>
</sect2>
</sect1>
-
+
<sect1 id="vinum-config">
<title>配置 Vinum</title>
@@ -802,7 +802,7 @@ sd name bigraid.p0.s1 drive b plex bigraid.p0 state initializing len 4194304b dr
sd name bigraid.p0.s2 drive c plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 8388608b
sd name bigraid.p0.s3 drive d plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 12582912b
sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 16777216b</programlisting>
-
+
<para>这里最明显的区别是, 指定了配置的位置信息、名称
(这些在配置文件中还是可用的, 但不鼓励用户自行指定)
以及状态信息 (这是用户不能指定的)。 Vinum
@@ -810,7 +810,7 @@ sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len 4194304b dr
它会扫描已经配置的磁盘驱动器上包含 Vinum 标识的分区。
这使得 Vinum 能够在 &unix; 驱动器被指定了不同的
ID 时也能够正确识别它们。</para>
-
+
<sect3 id="vinum-rc-startup">
<title>自动启动</title>
diff --git a/zh_CN.GB2312/books/handbook/virtualization/chapter.sgml b/zh_CN.GB2312/books/handbook/virtualization/chapter.sgml
index cd8b100804..ae6e04b9e7 100644
--- a/zh_CN.GB2312/books/handbook/virtualization/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/virtualization/chapter.sgml
@@ -20,14 +20,14 @@
</chapterinfo>
<title>虚拟化</title>
-
+
<sect1 id="virtualization-synopsis">
<title>概述</title>
-
+
<para>虚拟化软件能够让同一台机器上同时运行多个操作系统。
在 PC 上, 这种系统通常由一个运行虚拟化软件的宿主操作系统,
以及一系列客户操作系统组成。</para>
-
+
<para>读完这章, 您将了解:</para>
<itemizedlist>
@@ -433,7 +433,7 @@ cpu0 on motherboard
Timecounters tick every 10.000 msec
[XEN] Initialising virtual ethernet driver.
xn0: Ethernet address: 00:16:3e:6b:de:3a
-[XEN]
+[XEN]
Trying to mount root from ufs:/dev/xbd769a
WARNING: / was not properly dismounted
Loading configuration files.
@@ -443,9 +443,9 @@ 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&lt;UP,LOOPBACK,RUNNING,MULTICAST&gt; mtu 16384
- inet6 ::1 prefixlen 128
- inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
- inet 127.0.0.1 netmask 0xff000000
+ 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.
@@ -474,7 +474,7 @@ login: </screen>
内核了:</para>
<screen>&prompt.root; <userinput>uname -a</userinput>
-FreeBSD demo.freebsd.org 7.0-CURRENT FreeBSD 7.0-CURRENT #113: Wed Jan 4 06:25:43 UTC 2006
+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</screen>
<para>接下来可以在 domU 中配置网络了。 &os;
@@ -487,57 +487,57 @@ xn0: flags=843&lt;UP,BROADCAST,RUNNING,SIMPLEX&gt; mtu 1500
inet 10.10.10.200 netmask 0xff000000 broadcast 10.255.255.255
ether 00:16:3e:6b:de:3a
lo0: flags=8049&lt;UP,LOOPBACK,RUNNING,MULTICAST&gt; mtu 16384
- inet6 ::1 prefixlen 128
- inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
+ inet6 ::1 prefixlen 128
+ inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
inet 127.0.0.1 netmask 0xff000000 </screen>
<para>在 dom0 Slackware 上 会出现一些 <application>&xen;</application>
专用的网络接口:</para>
<screen>&prompt.root; <userinput>ifconfig</userinput>
-eth0 Link encap:Ethernet HWaddr 00:07:E9:A0:02:C2
+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
+ collisions:0 txqueuelen:0
RX bytes:204857 (200.0 KiB) TX bytes:129915 (126.8 KiB)
-lo Link encap:Local Loopback
+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
+ 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
+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
+ collisions:0 txqueuelen:1000
RX bytes:2432115831 (2.2 GiB) TX bytes:86528526 (82.5 MiB)
- Base address:0xc000 Memory:ef020000-ef040000
+ Base address:0xc000 Memory:ef020000-ef040000
-vif0.1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
+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
+ 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
+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
+ 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
+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
+ collisions:0 txqueuelen:0
RX bytes:112 (112.0 b) TX bytes:0 (0.0 b)</screen>
<screen>&prompt.root; <userinput>brctl show</userinput>
@@ -585,7 +585,7 @@ xenbr1 8000.feffffffffff no vif0.1
<imagedata fileref="virtualization/virtualpc-freebsd3"/>
</imageobject>
</mediaobject>
-
+
<para>并依据自身需求来规划硬盘容量和内存的分配。对大多数在
<application>Virtual PC</application> 使用 &os;
的情况而言, 大约 4GB 的硬盘空间以及 512MB 的内存就够用了。</para>
@@ -698,7 +698,7 @@ xenbr1 8000.feffffffffff no vif0.1
<programlisting>kern.hz=100</programlisting>
<para>若不作这设定, 那么光是 idle 状态的 &os;
- <application>Virtual PC</application> guest OS
+ <application>Virtual PC</application> guest OS
就会在单一处理器的电脑上大约有 40% 的 CPU 占用率。
作了上述修改之后, 占用率大约会降至 3%。</para>
</step>
@@ -876,7 +876,7 @@ xenbr1 8000.feffffffffff no vif0.1
<programlisting>kern.hz=100</programlisting>
<para>如果没有这项设定,<application>VMware</application>
- 上的 &os; 客户 OS 空闲时将占用 &imac; 上一个 CPU
+ 上的 &os; 客户 OS 空闲时将占用 &imac; 上一个 CPU
大约 15% 的资源。在修改此项设定之后仅为 5%。</para>
</step>
@@ -892,7 +892,7 @@ xenbr1 8000.feffffffffff no vif0.1
<step>
<title>设置网络</title>
- <para>最基本的网络设定包括简单的使用 DHCP
+ <para>最基本的网络设定包括简单的使用 DHCP
把你的虚拟机器连接到宿主 &mac; 相同的本地网络上。
在 <filename>/etc/rc.conf</filename> 中加入:
<literal>ifconfig_em0="DHCP"</literal>。
@@ -918,7 +918,7 @@ xenbr1 8000.feffffffffff no vif0.1
<para><application>&virtualbox;</application> 是一个开发非常活跃,
完全虚拟化的软件, 并且可在大部份的操作系统上使用, 包括 &windows;,
- &macos;, &linux; 和 &os;。同样也能把 &windows; 或 &unix;
+ &macos;, &linux; 和 &os;。同样也能把 &windows; 或 &unix;
作为客户系统运行。 它有一个开源和一个私有两种版本。 从用户的角度来看,
<acronym>OSE</acronym> 版本最主要的限制也许是缺乏 USB 的支持。
其他更多的差异可以通过链接
@@ -951,7 +951,7 @@ xenbr1 8000.feffffffffff no vif0.1
<screen>&prompt.root; <userinput>kldload vboxdrv</userinput></screen>
- <para>可以在 <filename>/boot/loader.conf</filename>
+ <para>可以在 <filename>/boot/loader.conf</filename>
中加入以下的配置使此模块在机器重启之后能自动加载:</para>
<programlisting>vboxdrv_load="YES"</programlisting>
@@ -1009,7 +1009,7 @@ xenbr1 8000.feffffffffff no vif0.1
<sect2 id="virtualization-other">
<title>其他的虚拟化选项</title>
- <para><application>&xen;</application>在 &os;
+ <para><application>&xen;</application>在 &os;
上作为宿主运行依然处于开发之中。</para>
</sect2>
-->
diff --git a/zh_CN.GB2312/books/handbook/x11/chapter.sgml b/zh_CN.GB2312/books/handbook/x11/chapter.sgml
index b2d817afe9..5263d2af15 100644
--- a/zh_CN.GB2312/books/handbook/x11/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/x11/chapter.sgml
@@ -269,7 +269,7 @@
是由 X.Org 基金会发行的开放源代码 X Window 系统实现中的 X 服务。
<application>&xorg;</application> 基于
<application>&xfree86&nbsp;4.4RC2</application> 和 X11R6.6 的代码。
- 从 &os; Ports 套件可以安装 <application>&xorg;</application>
+ 从 &os; Ports 套件可以安装 <application>&xorg;</application>
的 &xorg.version; 版本。</para>
<para>如果需要从 Ports Collection 编译和安装 <application>&xorg;</application>:</para>
@@ -1424,11 +1424,11 @@ DisplayManager.requestPort: 0</screen>
这可以通过编辑 <filename>.xinitrc</filename> 文件来完成:</para>
<para>对于 <application>KDE3</application>:</para>
-
+
<screen>&prompt.user; <userinput>echo "exec startkde" &gt; ~/.xinitrc</userinput></screen>
<para>对于 <application>KDE4</application>:</para>
-
+
<screen>&prompt.user; <userinput>echo "exec /usr/local/kde4/bin/startkde" &gt; ~/.xinitrc</userinput></screen>
<para>现在,无论您什么时候用