Makefile: 1.99 -> 1.100
  book.sgml: 1.165 -> 1.166
  chapters.ent: 1.34 -> 1.35
  advanced-networking/chapter.sgml: 1.380 -> 1.381
  bibliography/chapter.sgml: 1.76 -> 1.77
  boot/chapter.sgml: 1.64 -> 1.65
  config/chapter.sgml: 1.216 -> 1.217
  cutting-edge/chapter.sgml: 1.222 -> 1.223
  disks/chapter.sgml: 1.257 -> 1.262
  firewalls/chapter.sgml: 1.66 -> 1.68
  install/chapter.sgml: 1.331 -> 1.332
  kernelconfig/chapter.sgml: 1.163 -> 1.164
  l10n/chapter.sgml: 1.118 -> 1.119
  linuxemu/chapter.sgml: 1.130 -> 1.131
  mac/chapter.sgml: 1.65 -> 1.67
  mirrors/chapter.sgml: 1.416 -> 1.419
  multimedia/chapter.sgml: 1.115 -> 1.116
  network-servers/chapter.sgml: 1.79 -> 1.86
  ppp-and-slip/chapter.sgml: 1.172 -> 1.173
  preface/preface.sgml: 1.31 -> 1.32
  printing/chapter.sgml: 1.95 -> 1.96
  security/chapter.sgml: 1.293 -> 1.294
  serialcomms/chapter.sgml: 1.112 -> 1.113
  users/chapter.sgml: 1.54 -> 1.55
  vinum/chapter.sgml: 1.40 -> 1.41
  x11/chapter.sgml: 1.172 -> 1.173

Language improvements:
  basics/chapter.sgml [3]
  cutting-edge/chapter.sgml [1]
  install/chapter.sgml [1]
  mail/chapter.sgml [1]
  ppp-and-slip/chapter.sgml [1]
  serialcomms/chapter.sgml [2]
  vinum/chapter.sgml [1]

Submitted by:	[1] Alex <delhua gmail com>,
		[2] bluedolphin <lxutao gmail com>,
		[3] <always.8 gmail com>
This commit is contained in:
Xin LI 2006-06-03 15:34:25 +00:00
parent e76e00aba4
commit 226a77678a
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=28012
31 changed files with 1402 additions and 3529 deletions

View file

@ -3,7 +3,7 @@
#
# Build the FreeBSD Handbook (Simplified Chinese).
#
# Original revision: 1.99
# Original revision: 1.100
# ------------------------------------------------------------------------
#
@ -177,7 +177,6 @@ SRCS+= mac/chapter.sgml
SRCS+= mail/chapter.sgml
SRCS+= mirrors/chapter.sgml
SRCS+= multimedia/chapter.sgml
SRCS+= nanobsd/chapter.sgml
SRCS+= network-servers/chapter.sgml
SRCS+= pgpkeys/chapter.sgml
SRCS+= ports/chapter.sgml

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Chinese Documentation Project
Original revision: 1.380
Original revision: 1.381
$FreeBSD$
-->
@ -1165,7 +1165,7 @@ ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54Mbps</screen>
3Com Bluetooth PC 卡 3CRWB60-A 由 &man.ng.bt3c.4; 驱动程序支持。
基于 Serial 和 UART 的蓝牙设备由 &man.sio.4;、&man.ng.h4.4;
和 &man.hcseriald.8;。本节介绍 USB Bluetooth dongle
的使用。在 &os; 5.0 及更新的系统里,都可以支持 Bluetooth。</para>
的使用。</para>
</sect2>
<sect2>
@ -1762,8 +1762,7 @@ rfcomm_sppd[94692]: Starting on /dev/ttyp6...</screen>
<title>选择网络接口卡</title>
<para>一个网桥至少需要两块网卡才能运行。
不幸的是,并不是所有的网卡都能被 FreeBSD 4.0
支持用于桥接。阅读 &man.bridge.4;
不幸的是,并不是所有的网卡都能被用于桥接。阅读 &man.bridge.4;
了解所支持网卡的细节。</para>
<para>在继续之前要先安装并测试这两块网卡。</para>
@ -1941,8 +1940,7 @@ net.link.ether.bridge_ipfw=1</programlisting>
文件系统和一个共享的只读<filename>/usr</filename>。</para>
<para>root 文件系统是一份标准的 FreeBSD 根文件系统
(一般是服务器的),只是一些配置文件被特定于无盘操作的配置文件覆盖。</para>
<para>root 文件系统必须可写的部分被 &man.mfs.8;
(&os; 4.X) 或 &man.md.4; (&os; 5.X) 文件系统覆盖。
<para>root 文件系统必须可写的部分被 &man.md.4; 文件系统覆盖。
任何的改写在重启后都会丢失。</para>
</listitem>
<listitem>
@ -1956,9 +1954,8 @@ net.link.ether.bridge_ipfw=1</programlisting>
它应该处于网络的受保护区域并不被其它主机信任。</para>
</caution>
<para>这部分所有的信息都已使用 &os;releases 4.9-RELEASE 和
5.2.1-RELEASE 测试过。文本主是使用 4.X 格式组织的。为适应
5.X 的改变,都有注释被加入。</para>
<para>这部分所有的信息均在
5.2.1-RELEASE 上测试过。</para>
<sect2>
<title>背景信息</title>
@ -2031,14 +2028,12 @@ net.link.ether.bridge_ipfw=1</programlisting>
</itemizedlist>
<para><acronym>PXE</acronym> 和
<application>Etherboot</application> 在 4.X
系统里工作得一样的好。因为 5.X 内核通常让 &man.loader.8;
做了更多的事情,<acronym>PXE</acronym> 比较适合 5.X 系统。</para>
<application>Etherboot</application> 工作得一样的好。
不过, 因为一般情况下内核希望 &man.loader.8;
做了更多的事情, <acronym>PXE</acronym> 是推荐的方法。</para>
<para>如果您的 <acronym>BIOS</acronym> 和网卡支持
<acronym>PXE</acronym>,您应该使用它。当然,
使用 <application>Etherboot</application> 依然可以启动
5.X 系统。</para>
<para>如果您的 <acronym>BIOS</acronym> 和网卡都支持
<acronym>PXE</acronym> 就应该使用它。</para>
</listitem>
<listitem>
@ -2063,7 +2058,7 @@ net.link.ether.bridge_ipfw=1</programlisting>
服务器可以回应 BOOTP 和 <acronym>DHCP</acronym>
的请求。</para>
<para>对于4.9的发行版,<application>ISC DHCP 3.0</application>
<para><application>ISC DHCP 3.0</application>
并不属于基本系统。首先您需要安装
<filename role="package">net/isc-dhcp3-server</filename>
port 或相应的<quote>包</quote>。</para>
@ -2230,16 +2225,14 @@ margaux:ha=0123456789ab:tc=.def100</programlisting>
<para>默认地,&man.pxeboot.8; 装载器通过 <acronym>NFS</acronym>
装载内核。它可以编译来使用 <acronym>TFTP</acronym>——通过在文件
<filename>/etc/make.conf</filename> 里指定
<literal>LOADER_TFTP_SUPPORT</literal> 选项来代替。查看
<filename>/etc/defaults/make.conf</filename> 里的注释
(或5.X系统的 <filename>/usr/share/examples/etc/make.conf</filename>)
可以获得指导。</para>
<literal>LOADER_TFTP_SUPPORT</literal> 选项来代替。 请参见
<filename>/usr/share/examples/etc/make.conf</filename> 里的注释
了解如何配置。</para>
<para>其它有两个未说明的 <filename>make.conf</filename>
<para>除此之外还有两个未说明的 <filename>make.conf</filename>
选项——它可能对于设置一系列控制台无盘机器会有用:
<literal>BOOT_PXELDR_PROBE_KEYBOARD</literal>和
<literal>BOOT_PXELDR_ALWAYS_SERIAL</literal>
(后者只存在于 &os; 5.X 里)。</para>
<literal>BOOT_PXELDR_ALWAYS_SERIAL</literal>。</para>
<para>当机器启动里,要使用 <acronym>PXE</acronym>
通常需要选择 <literal>Boot from network</literal>
@ -2281,8 +2274,10 @@ margaux:ha=0123456789ab:tc=.def100</programlisting>
</note>
</step>
<step>
<para>让 <application>inetd</application> 重读它的配置文件:</para>
<screen>&prompt.root; <userinput>kill -HUP `cat /var/run/inetd.pid`</userinput></screen>
<para>让 <application>inetd</application> 重读其配置文件。
要正确执行这个命令, 在 <filename>/etc/rc.conf</filename> 文件中必须加入
<option>inetd_enable="YES"</option></para>
<screen>&prompt.root; <userinput>/etc/rc.d/inetd restart</userinput></screen>
</step>
</procedure>
@ -2311,7 +2306,7 @@ margaux:ha=0123456789ab:tc=.def100</programlisting>
重读它的配置文件。如果您真的需要启用第一步的
<filename>/etc/rc.conf</filename> 里 <acronym>NFS</acronym>
您可能就要重启系统了。</para>
<screen>&prompt.root; <userinput>kill -HUP `cat /var/run/mountd.pid`</userinput></screen>
<screen>&prompt.root; <userinput>/etc/rc.d/mountd restart</userinput></screen>
</step>
</procedure>
@ -2336,8 +2331,7 @@ options BOOTP_NFSROOT # NFS mount root filesystem using BOOTP info
<para>您可能也想使用 <literal>BOOTP_NFSV3</literal>
<literal>BOOT_COMPAT</literal> 和 <literal>BOOTP_WIRED_TO</literal>
(参考 4.X 里的 <filename>LINT</filename> 或5.X里的
<filename>NOTES</filename>)。</para>
(参考 <filename>NOTES</filename> 文件)。</para>
<para>这些名字具有历史性,并且有些有些误导,
因为它们实际上启用了内核里 (它可能强制限制 BOOTP 或
@ -2361,7 +2355,7 @@ options BOOTP_NFSROOT # NFS mount root filesystem using BOOTP info
<note>
<para>为了使带有 <application>Etherboot</application>
5.X 内核可引导,就需要把设备提示 (device hint)
的内核可引导,就需要把设备提示 (device hint)
编译进去。通常要在配置文件(查看 <filename>NOTES</filename>
配置注释文件) 里设置下列选项:</para>
@ -2377,47 +2371,20 @@ options BOOTP_NFSROOT # NFS mount root filesystem using BOOTP info
<secondary>无盘操作</secondary>
</indexterm>
<para>您需要为无盘工作站建立根文件系统,位置列在
<para>您需要为无盘工作站建立根文件系统, 它就是
<filename>dhcpd.conf</filename> 里的 <literal>root-path</literal>
里边。下面部分描述了要这样做的两种方法:</para>
所指定的目录。</para>
<sect4>
<title>使用 <filename>clone_root</filename> 脚本</title>
<title>使用 <command>make world</command> 来复制根文件系统</title>
<para>这是建立根文件系统最快的方法,只是目前只在 &os;4.X
里支持。这个 shell 脚本位于
<filename>/usr/share/examples/diskless/clone_root</filename>
并且需要定制,至少需要调整将会被建立文件系统的地方
(<literal>DEST</literal> 可变)。</para>
<para>参考用于指导的脚本的最前边的注释。
它们说明了如何建立一个基本文件系统,
并且如果根据特定版本的无盘工作站、子网或个人工作站选择性地忽略。
它们也为无盘的 <filename>/etc/fstab</filename> 的
<filename>/etc/rc.conf</filename> 文件给出了例子。</para>
<para>在 <filename>/usr/share/examples/diskless</filename> 里的
<filename>README</filename> 文件包含了许多有趣的背景信息,
但是,他们同 <filename>diskless</filename> 目录里的其它例子一起,
实际上说明了一种配置方法——与被 <filename>clone_root</filename>
和 <filename role="directory">/etc</filename>
里的系统启动脚本使用的完全不同,这个有点迷惑人。
使用它们只用做参考,
除非您使用它们所描述的方法——这种情况下您需要定制
<filename>rc</filename> 脚本。</para>
</sect4>
<sect4>
<title>使用标准的 <command>make world</command> 程序</title>
<para>这种方法可以应用到 &os; 4.X 或 5.X
而且会安装一个彻底干净的系统(不仅仅是根文件系统)到
<envar>DESTDIR</envar>。您需要做的就是简单地执行下面的脚本:</para>
<para>这种方法可以迅速安装一个彻底干净的系统 (不仅仅是根文件系统) 到
<envar>DESTDIR</envar>。 您要做的就是简单地执行下面的脚本:</para>
<programlisting>#!/bin/sh
export DESTDIR=/data/misc/diskless
mkdir -p ${DESTDIR}
cd /usr/src; make world &amp;&amp; make kernel
cd /usr/src; make buildworld &amp;&amp; make buildkernel
cd /usr/src/etc; make distribution</programlisting>
<para>一旦完成,您可能需要定制 <filename>/etc/rc.conf</filename>
@ -2430,70 +2397,10 @@ cd /usr/src/etc; make distribution</programlisting>
<title>配置 swap(交换)</title>
<para>如果需要,位于服务器上的交换文件可以通过
<acronym>NFS</acronym> 来访问。完成它的一种普遍使用的方法在
5.X 的发行版里已不再继续(使用)。</para>
<acronym>NFS</acronym> 来访问。</para>
<sect4>
<title><acronym>NFS</acronym>与 &os; 4.X 之间的 Swap(交换)</title>
<para>交换文件的位置和大小可以使用BOOTP/<acronym>DHCP</acronym>
来指定,&os; 指定的选项是 128 和 129。用于
<application>ISC DHCP 3.0</application> 或
<application>bootpd</application>的配置文件例子如下:</para>
<procedure><step><para>把下边几行加到 <filename>dhcpd.conf</filename> 里:</para>
<programlisting>
# Global section
option swap-path code 128 = string;
option swap-size code 129 = integer 32;
host margaux {
... # Standard lines, see above
option swap-path <replaceable>"192.168.4.4:/netswapvolume/netswap"</replaceable>;
option swap-size <replaceable>64000</replaceable>;
}
</programlisting>
<para><literal>swap-path</literal> 指的是存放交换文件存的路径。
每个文件会命名为
<filename>swap.<replaceable>client-ip</replaceable></filename>。</para>
<para>旧版的 <application>dhcpd</application> 使用的风格是
<literal>option option-128 "...</literal>,这个已不在支持。</para>
<para><filename>/etc/bootptab</filename> 会使用下面的格式代替:</para>
<programlisting>T128="192.168.4.4:/netswapvolume/netswap":T129=0000fa00</programlisting>
<note><para>在 <filename>/etc/bootptab</filename> 里,
交换大小必须以十六进制表示。</para>
</note>
</step>
<step>
<para>在 <acronym>NFS</acronym> 交换文件服务器上,建立交换文件:</para>
<screen>
&prompt.root; <userinput>mkdir <replaceable>/netswapvolume/netswap</replaceable></userinput>
&prompt.root; <userinput>cd <replaceable>/netswapvolume/netswap</replaceable></userinput>
&prompt.root; <userinput>dd if=/dev/zero bs=1024 count=<replaceable>64000</replaceable> of=swap.<replaceable>192.168.4.6</replaceable></userinput>
&prompt.root; <userinput>chmod 0600 swap.<replaceable>192.168.4.6</replaceable></userinput>
</screen>
<para><replaceable>192.168.4.6</replaceable> 是无盘客户端的 IP 地址。</para>
</step>
<step>
<para>在 <acronym>NFS</acronym> 交换文件服务器上,
增加下面几行到 <filename>/etc/exports</filename></para>
<programlisting>
<replaceable>/netswapvolume</replaceable> -maproot=0:10 -alldirs <replaceable>margaux corbieres</replaceable>
</programlisting>
<para>然后让 <application>mountd</application>
重读 <filename>exports</filename>文件,同上。</para>
</step>
</procedure>
</sect4>
<sect4>
<title><acronym>NFS</acronym> 与 &os; &amp;os 5.X 之间的 Swap(交换)</title>
<title><acronym>NFS</acronym> 交换区</title>
<para>内核并不支持在引导时启用 <acronym>NFS</acronym>
交换区。 交换区必须通过启动脚本启用, 其过程是挂接一个可写的文件系统,
@ -2533,15 +2440,13 @@ host margaux {
FreeBSD您须要在 FreeBSD 机器上建立根文件系统,
然后把它复制到它的目的地,使用的命令可以是
<command>tar</command> 或 <command>cpio</command>。</para>
<para>在这种情况下,有时对于 <filename>/dev</filename>
里的一些特殊的文件会有问题,原因就是不同的
<quote>最大/最小</quote>整数大小。
一种解决的方法就是从非 FreeBSD 服务里导出一个目录,
并把它载入 FreeBSD 到机子上,然后在 FreeBSD 机子上执行
<command>MAKEDEV</command> 来建立正确的设备条目
(FreeBSD 5.0及新版使用 &man.devfs.5;
来为用户透明地分派设备节点,在这些版本上执行
<command>MAKEDEV</command> 是毫无意义的)。</para>
并把它载入 FreeBSD 到机子上, 并使用 &man.devfs.5;
来为用户透明地分派设备节点。</para>
</sect4>
@ -2609,9 +2514,9 @@ host margaux {
</indexterm>
<para>FreeBSD 的 ISDN 工具通过被动卡
(passive card) 仅支持 DSS1/Q.931(或 Euro-ISDN) 标准。启动
FreeBSD 4.4,有些主动卡 (active card) 也被支持
时它也支持其它发信协议;包括有最先支持的
(passive card) 仅支持 DSS1/Q.931(或 Euro-ISDN) 标准。
此外也支持一些 active card 它们的固件也支持其它信号协议
其中包括最先得到支持的
<quote>Primary Rate (PRI) ISDN</quote>卡。</para>
<para><application>isdn4bsd</application> 软件允许连接到其它
@ -3216,13 +3121,8 @@ redirect_port tcp 192.168.0.3:80 80</programlisting>
lpt0: &lt;Printer&gt; on ppbus0
lpt0: Interrupt-driven port</screen>
<para>并口必须是一个中断驱动的端口,在 &os; 4.X
里,您的内核配置文件应该有一行和下面的差不多:</para>
<programlisting>device ppc0 at isa? irq 7</programlisting>
<para>在 &os;&nbsp;5.X 中,
<filename>/boot/device.hints</filename> 文件中应包含下面的行:</para>
<para>并口必须是一个中断驱动的端口, 您应在
<filename>/boot/device.hints</filename> 文件中配置:</para>
<programlisting>hint.ppc.0.at="isa"
hint.ppc.0.irq="7"</programlisting>

View file

@ -132,12 +132,12 @@ login:</screen>
这个介绍换句话来说就是一个系统可容纳许多不同的用户,
谁都可以同时在单一结构下运行大量的程序。</para>
<para>每一个多用户系统都必须在某方面去区<quote>user</quote>
在FreeBSD里 (以及 类-&unix; 操作系统),完成这方面工作是有必要的,
每位使用者在运行程之前都必须<quote>登录</quote>,
每位用户都有他的用户名 (<quote>username</quote>) 和密码
(<quote>password</quote>)。
FreeBSD 会在用户进入之前作出两次询问。</para>
<para>每一个多用户系统都必须在某方面去区<quote>user</quote>
FreeBSD 里 (以及 类-&unix; 操作系统) 完成这方面工作是有必要的,
因而, 每位使用者在运行程序之前都必须首先 <quote>登录</quote>
而每位用户都有与之对应的用户名 (<quote>username</quote>) 和密码
(<quote>password</quote>)。 FreeBSD
会在用户进入之前作出询问这两项信息。</para>
<indexterm><primary>启动脚本</primary></indexterm>
<para>当 FreeBSD 引导并运行完启动脚本之后,

View file

@ -1,7 +1,7 @@
<!--
The FreeBSD Chinese Documentation Project
Original Revision: 1.76
Original Revision: 1.77
$FreeBSD$
-->
@ -353,9 +353,18 @@
</listitem>
<listitem>
<para>Stevens, W. Richard. <emphasis>Advanced Programming in the UNIX
Environment</emphasis>. Reading, Mass. : Addison-Wesley, 1992.
ISBN 0-201-56317-7</para>
<para>Spinellis, Diomidis. <ulink
url="http://www.spinellis.gr/codequality/"><emphasis>Code
Quality: The Open Source Perspective</emphasis></ulink>.
Addison-Wesley, 2006. ISBN 0-321-16607-8</para>
</listitem>
<listitem>
<para>Stevens, W. Richard and Stephen A. Rago.
<emphasis>Advanced Programming in the UNIX
Environment</emphasis>. 2nd Ed.
Reading, Mass. : Addison-Wesley, 2005.
ISBN 0-201-43307-9</para>
</listitem>
<listitem>

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Documentation Project
Original Revision: 1.165
Original Revision: 1.166
$FreeBSD$
-->
@ -40,7 +40,6 @@
<!ENTITY % chap.network-servers "IGNORE">
<!ENTITY % chap.mail "IGNORE">
<!ENTITY % chap.cutting-edge "IGNORE">
<!ENTITY % chap.nanobsd "IGNORE">
<!ENTITY % chap.linuxemu "IGNORE">
<!ENTITY % chap.mirrors "IGNORE">
<!ENTITY % chap.bibliography "IGNORE">
@ -254,7 +253,6 @@
<![ %chap.vinum; [ &chap.vinum; ]]>
<![ %chap.l10n; [ &chap.l10n; ]]>
<![ %chap.cutting-edge; [ &chap.cutting-edge; ]]>
<![ %chap.nanobsd; [ &chap.nanobsd; ]]>
</part>
<part id="network-communication">

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Chinese (Simplified) Project
Original Revision: 1.64
Original Revision: 1.65
$FreeBSD$
-->
@ -188,7 +188,7 @@ label=FreeBSD</programlisting>
<para>概念上,第一,第二阶段同属于一个程序,处于磁盘的相同区域。但由于空间限制,
它们被分为两部分。可是您总是会一起安装它们。它们由安装器或
<application>disklabel</application>(见下文)复制自被组合而成的
<application>bsdlabel</application>(见下文)复制自被组合而成的
<filename>/boot/boot</filename>。</para>
<para>它们位于文件系统外,引导分区的第一轨道,从第一扇区开始。在这里<link
@ -197,7 +197,7 @@ label=FreeBSD</programlisting>
所使用的扇区数可由<filename>/boot/boot</filename>的大小确定。</para>
<para><filename>boot1</filename> 非常简单,因为它再多也只能有 512 字节,
只能识别储存着分区信息的 <firstterm>disklabel</firstterm>
只能识别储存着分区信息的 <firstterm>bsdlabel</firstterm>
及寻找执行 <filename>boot2</filename>。</para>
<para><filename>boot2</filename> 稍微有点加强,能够理解 FreeBSD
@ -218,8 +218,9 @@ boot:</screen>
<para>如果您要更改已安装的 <filename>boot1</filename> 和
<filename>boot2</filename>,请使用命令
&man.disklabel.8;。</para>
<screen>&prompt.root; <userinput>disklabel -B <replaceable>diskslice</replaceable></userinput></screen>
&man.bsdlabel.8;。</para>
<screen>&prompt.root; <userinput>bsdlabel -B <replaceable>diskslice</replaceable></userinput></screen>
<para><replaceable>diskslice</replaceable> 是用于引导的磁盘和分区,
比如 <devicename>ad0s1</devicename>
@ -228,7 +229,7 @@ boot:</screen>
<warning>
<title>dangerously dedicated</title>
<para>如果您在 &man.disklabel.8; 命令中只使用了磁盘名,比如
<para>如果您在 &man.bsdlabel.8; 命令中只使用了磁盘名,比如
<devicename>ad0</devicename>,就会破坏磁盘上的所有分区。
这当然不是您所希望的,所以在按下 <keycap>回车</keycap> 之前
一定要对命令进行多次确认。</para>
@ -700,9 +701,8 @@ console none unknown off insecure</programlisting>
请参看它们的联机手册以获得更多的信息。</para>
<note>
<para>电源管理需要支持,在 FreeBSD&nbsp;5.X 中要求内核支持
&man.acpi.4; 或以模块加载,在 FreeBSD&nbsp;4.X 中需要
&man.apm.4; 的支持。</para>
<para>电源管理需要支持, 这要求内核支持
&man.acpi.4; 或以模块形式加载它。</para>
</note>
</sect1>

View file

@ -6,7 +6,7 @@
Chapters should be listed in the order in which they are referenced.
Original revision: 1.34
Original revision: 1.35
$FreeBSD$
-->
@ -38,7 +38,6 @@
<!ENTITY chap.vinum SYSTEM "vinum/chapter.sgml">
<!ENTITY chap.l10n SYSTEM "l10n/chapter.sgml">
<!ENTITY chap.cutting-edge SYSTEM "cutting-edge/chapter.sgml">
<!ENTITY chap.nanobsd SYSTEM "nanobsd/chapter.sgml">
<!-- Part four -->
<!ENTITY chap.serialcomms SYSTEM "serialcomms/chapter.sgml">

View file

@ -1,7 +1,7 @@
<!--
The FreeBSD Chinese Documentation Project
Original Revision: 1.216
Original Revision: 1.217
$FreeBSD$
-->
@ -104,7 +104,7 @@
<sect3>
<title>基本分区</title>
<para>当使用 &man.disklabel.8; 或者 &man.sysinstall.8;
<para>当使用 &man.bsdlabel.8; 或者 &man.sysinstall.8;
来分割您的文件系统的时候,
要记住硬盘驱动器外磁道传输数据要比从内磁道传输数据快。
因此应该将小的和经常访问的文件系统放在驱动器靠外的位置,
@ -750,16 +750,7 @@ sshd is running as pid 433.</screen>
联机手册将提供关于所支持的硬件更详细的信息,
甚至还包括可能发生的问题。</para>
<note>
<para><filename>NOTES</filename> 在
&os;&nbsp;4.X 上并不存在。 您需要查看 <filename>LINT</filename>
来了解关于网卡的信息。 参见
<xref linkend="kernelconfig-config">
以了解关于 <filename>NOTES</filename> 和
<filename>LINT</filename> 的进一步信息。</para>
</note>
<para>如果您有一个普通的网卡,大多数时候您不需要为驱动浪费精力。
<para>如果您的网卡很常见的话, 大多数时候您不需要为驱动浪费精力。
常用的网卡在 <filename>GENERIC</filename> 内核中已经支持了,
所以您的网卡在启动时就会显示出来,像是:</para>
@ -1542,8 +1533,8 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
不要盲目的把它设置太高!高的数值会导致同时发生的读操作的迟延。</para>
<para>sysctl 中还有许多与 buffer cache 和 VM页面 cache
有关的值, 一般不推荐修改它们。 从 &os;&nbsp;4.3
开始,虚拟内存系统已经能够很好地进行自动调整了。</para>
有关的值, 一般不推荐修改它们。
虚拟内存系统已经能够很好地进行自动调整了。</para>
</sect3>
<sect3>
@ -1632,11 +1623,8 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
<para>在文件系统被挂载之后不能用 &man.tunefs.8; 来修改。打开
Soft Updates 的最佳时机是在单用户模式下任何分区被被挂载前。</para>
<note><para>像 &os;&nbsp;4.5,在文件系统创建时也可以打开
Soft Updates通过 &man.newfs.8; 的 <literal>-U</literal> 选项。</para></note>
<para>
Soft Updates 彻底的改善了数据描述(meta-data)的性能,
Soft Updates 极大地改善了元数据修改的性能,
主要是文件创建和删除,通过内存缓存。我们建议您在所有的文件系统上使用
Soft Updates。应该知道 Soft Updates 的两点:首先, Soft Updates
保证了崩溃后的文件系统完整性,但是很可能有几秒钟 (甚至一分钟!)
@ -1776,15 +1764,14 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
尽管并不会真的有 256 个用户同时连接一台生产服务器,
但对于高负载的 web 服务器而言, 却可能需要与之类似的资源。</para>
<para>从 &os;&nbsp;4.5 开始, 如果您明确地将
<para>如果您明确地将
<literal>maxusers</literal> 设置为
<literal>0</literal> 则系统会自动地根据硬件配置来确定这个值。<footnote>
<para>自动调整算法会将
<literal>maxusers</literal> 设置为与主存的数量一样,
或者取其下限 32 或上限 384。</para>
</footnote>。 在 &os;&nbsp;5.X 和更高版本中, <literal>maxusers</literal>
如果不指定的话, 就会取默认值 <literal>0</literal>。
如果您正使用的是 &os; 4.5 之前的版本, 或者希望自行管理
如果不指定的话, 就会取默认值 <literal>0</literal>。 如果希望自行管理
<literal>maxusers</literal> 则应配置一个不低于 4 的值,
特别是使用 X Window System 或编译软件的时候。
这样做的原因是, <literal>maxusers</literal>
@ -1803,21 +1790,6 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
看到令人担忧的 <errortype>proc table
full</errortype> 错误, 就应该提高这一数值,
并重新联编内核。</para>
<note>
<para><literal>maxusers</literal> 并 <emphasis>不能</emphasis>
限制能够登录到您机器上的用户的实际数量。
它只是简单地将一系列内核数据表设置为合理的尺寸,
使其与您系统上可能同时登录的用户的最大数量相适应。
<emphasis>确实</emphasis> 能够限制同时进行的远程登录,
以及 X 终端窗口数量的关键字是 <link
linkend="kernelconfig-ptys"><literal>pseudo-device pty
16</literal></link>。 从 &os;&nbsp;5.X 开始,
您不再需要担心这个数字, 因为 &man.pty.4; 驱动具备了
<quote>自动克隆</quote> 的能力; 只需在配置文件中配置
<literal>device pty</literal> 就可以了。</para>
</note>
</sect3>
<sect3>
@ -1943,18 +1915,6 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
<varname>net.inet.tcp.inflight.min</varname> (比如说,
3500) 来得到希望的效果。 减少这些参数的值,
只应作为最后不得已时的手段来使用。</para>
<note>
<para>对于 4.X 和更早的 &os; 版本,
<literal>inflight</literal> sysctl 变量直接隶属于
<varname>net.inet.tcp</varname>。 它们的名字是
(按字母顺序)
<varname>net.inet.tcp.inflight_debug</varname>
<varname>net.inet.tcp.inflight_enable</varname>
<varname>net.inet.tcp.inflight_max</varname>
<varname>net.inet.tcp.inflight_min</varname>
<varname>net.inet.tcp.inflight_stab</varname>。</para>
</note>
</sect3>
</sect2>
@ -2017,11 +1977,9 @@ kern.maxvnodes: 100000</programlisting>
<sect2 id="nfs-swap">
<title>通过 NFS 交换</title>
<para>
通过 NFS 来交换只在您没有本地硬盘交换的时候被建议。在
&os; 4.X 以前的版本中使用NFS交换速度很慢并且效率低下。4.0-RELEASE
和更新的版本中他的速度和效率还是可以接受的。即使使用新版本的
&os;NFS 交换也会被可用的网络带宽限制并且增加 NFS 服务器的负担。</para>
<para>除非没有可以用做交换空间的本地硬盘时,
否则不推荐您使用 NFS 来作为交换空间使用。
NFS 交换会受到可用网络带宽限制并且增加 NFS 服务器的负担。</para>
</sect2>
<sect2 id="create-swapfile">
@ -2033,51 +1991,7 @@ kern.maxvnodes: 100000</programlisting>
的 64MB 大小的文件。当然您也可以使用任何您所希望的名字。</para>
<example>
<title>在 &os; 4.X 上创建一个交换文件</title>
<orderedlist>
<listitem>
<para>确认您的内核配置包含了 vnode 驱动。
它不包含在最近版本的 <filename>GENERIC</filename>。</para>
<programlisting>pseudo-device vn 1 #Vnode driver (turns a file into a device)</programlisting>
</listitem>
<listitem>
<para>创建一个 vn-device 设备:</para>
<screen>&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>sh MAKEDEV vn0</userinput></screen>
</listitem>
<listitem>
<para>创建一个交换文件 (<filename>/usr/swap0</filename>)</para>
<screen>&prompt.root; <userinput>dd if=/dev/zero of=/usr/swap0 bs=1024k count=64</userinput></screen>
</listitem>
<listitem>
<para>赋予它(<filename>/usr/swap0</filename>)一个适当的权限:</para>
<screen>&prompt.root; <userinput>chmod 0600 /usr/swap0</userinput></screen>
</listitem>
<listitem>
<para>在 <filename>/etc/rc.conf</filename> 中启用交换文件:</para>
<programlisting>swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.</programlisting>
</listitem>
<listitem>
<para>通过重新启动机器或下面的命令使交换文件立刻生效:</para>
<screen>&prompt.root; <userinput>vnconfig -e /dev/vn0b /usr/swap0 swap</userinput></screen>
</listitem>
</orderedlist>
</example>
<example>
<title>在 &os; 5.X 上创建一个交换文件:</title>
<title>在 &os; 中创建交换文件</title>
<orderedlist>
<listitem>
@ -2144,13 +2058,8 @@ kern.maxvnodes: 100000</programlisting>
(并且可能提醒您)。
</para>
<para>
在 &os; 使用手册的这一章节,我们将提供 <acronym>ACPI</acronym>
全面的信息。参考资料会在末尾。<acronym>ACPI</acronym> 在
&os; 5.X 及以上的操作系统中作为一个默认的内核模块被支持。对于
&os; 4.9<acronym>ACPI</acronym> 可以通过在内核配置文件中添加
<literal>device acpica</literal> 并且重新编译内核来启用。
</para>
<para>在 &os; 使用手册的这一章节,我们将提供 <acronym>ACPI</acronym>
全面的信息。 参考资料会在末尾给出。</para>
<sect2 id="acpi-intro">
<title>什么是 ACPI</title>
@ -2168,8 +2077,8 @@ kern.maxvnodes: 100000</programlisting>
<emphasis>操作系统控制的配置和电源管理(Operating System-directed
configuration and Power Management)</emphasis>,也就是说,
它给操作系统(<acronym>OS</acronym>)提供了更多的控制和弹性。
现代操作系统<quote>延伸</quote>了当前即插即用接口(像是 &os;4.X
中使用的 APM)的限制,在 <acronym>ACPI</acronym> 的介绍之前
在引入 <acronym>ACPI</acronym> 之前,
现代操作系统使得目前即插即用接口的局限性更加 <quote>凸现</quote> 出来
<acronym>ACPI</acronym> 是 <acronym>APM(高级电源管理)</acronym>
的直接继承者。</para>
</sect2>

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
Original Revision: 1.222
Original Revision: 1.223
$FreeBSD$
-->
@ -516,7 +516,7 @@
做贡献的都是人,偶尔也会犯错误。</para>
<para>有时这些错误没什么危害,只是引起您的系统生成新的诊断警告。
有时是灾难性的,并导致您的系统不能惊动启动或破坏您的文件系统
有时是灾难性的,并导致您的系统不能启动或破坏您的文件系统
(甚至更糟)。</para>
<para>如果出现了类似的问题,
@ -603,7 +603,7 @@
<para>检查
<filename>/usr/share/examples/etc/make.conf</filename>
(在 &os; &nbsp; 4.X 中叫做 <filename>/etc/defaults/make.conf</filename>) 以及
以及
<filename>/etc/make.conf</filename>。 第一个文件包含了一些默认的定义
&ndash; 它们中的绝大多数都注释掉了。
为了在重新编译系统时能够使用它们,
@ -612,10 +612,9 @@
<command>make</command> 的结果, 因此设置一些适合自己系统的选项是一个好习惯。</para>
<para>一般的用户通常会从 <filename>/usr/share/examples/etc/make.conf</filename>
(或者 &os;&nbsp;4.X 中的 <filename>/etc/defaults/make.conf</filename>) 复制
复制
<makevar>CFLAGS</makevar> 和
<makevar>NO_PROFILE</makevar> (或者, 在
&os;&nbsp;5.X 和更早版本上, 是 <makevar>NOPROFILE</makevar>) 这样的设置到
<makevar>NO_PROFILE</makevar> 这样的设置到
<filename>/etc/make.conf</filename> 中并令它们生效。</para>
<para>请考虑其他的一些选项 (例如 <makevar>COPTFLAGS</makevar>、
@ -706,7 +705,7 @@
<note>
<para>如果您的 CMOS 时钟是设置为本地时间,而不是 GMT
(如果 &man.date.1; 命令输出不能显示正确的时间和地区也确有其事)
(如果 &man.date.1; 命令输出不能显示正确的时间和地区也确有其事)
您可能也需要执行下边的命令:</para>
<screen>&prompt.root; <userinput>adjkerntz -i</userinput></screen>
@ -820,10 +819,7 @@ Script done, &hellip;</screen>
分支里第一次创建,然后在 &os.stable; 的 2.2.2 和 2.2.5
两个版本间,进行了大翻新)<maketarget>world</maketarget> target
已经分成了两个部分:<maketarget>buildworld</maketarget> 和
<maketarget>installworld</maketarget>。
从 &os; 的 5.3 版开始, <maketarget>world</maketarget> target
在默认时已经改为完全不动作,
因为它事实上对于许多用户都具有相当的危险性。</para>
<maketarget>installworld</maketarget>。</para>
<para>正如名字所暗示的,<maketarget>buildworld</maketarget>
在 <filename>/usr/obj</filename> 下边建立了一个全新的树,然后
@ -963,7 +959,7 @@ Script done, &hellip;</screen>
<para>如果在 <command>make buildworld</command>
的命令行指定了变量,您就必须在
<command>make installworld</command> 命令行里指定同样的变量。
对于其它的选项不是必需的,如,<option>-j</option>
对于其它的选项不是必需的,如,<option>-j</option>
就不能同 <maketarget>installworld</maketarget> 一起使用。</para>
<para>举例,您执行了:</para>
@ -1028,7 +1024,7 @@ Script done, &hellip;</screen>
知道我们希望保留我们当前的文件不改,并删除新的。
并不推荐这个选择,除非您没有更改当前文件的理由。任何时候在
&man.mergemaster.8; 提示符里输入 <keycap>?</keycap>,您就会得到帮助。
如果选择跳过文件,在其它文件处理完后再次进行。</para>
如果选择跳过文件,在其它文件处理完后再次进行。</para>
<para><quote>选择安装未修改临时文件</quote>将会使新文件替换当前的。
对大部分未改的文件,这是个最好的选择。</para>
@ -1074,11 +1070,11 @@ Script done, &hellip;</screen>
<screen>&prompt.root; <userinput>cp -Rp /etc /etc.old</userinput></screen>
<para><option>-R</option> 完成递归复制
(者注:即可以复制目录以下的所有内容)<option>-p</option>
(者注:即可以复制目录以下的所有内容)<option>-p</option>
保留文件的时间、所属等等。</para>
</warning>
<para>您需要建立的个虚目录 (a dummy set of directories )
<para>您需要建立一个虚目录 (a dummy set of directories)
来安装新的 <filename>/etc</filename> 和其它文件。
<filename>/var/tmp/root</filename> 是个不错的选择,
除此之外,还有一些子目录是需要的。</para>
@ -1095,7 +1091,7 @@ Script done, &hellip;</screen>
&prompt.root; <userinput>find -d . -type d | xargs rmdir 2&gt;/dev/null</userinput></screen>
<para>这样会删除所有的空目录。(标准的错误信息被重定向到了
<filename>/dev/null</filename>,以防止关于非空目录的警告。</para>
<filename>/dev/null</filename>,以防止关于非空目录的警告。)</para>
<para><filename>/var/tmp/root</filename> 现在包含了应放在
<filename>/</filename> 下某个位置的所有文件。
@ -1193,10 +1189,10 @@ Script done, &hellip;</screen>
<indexterm><primary>DEVFS</primary></indexterm>
<para>如果您正在运行 FreeBSD&nbsp;5.0 或更后的版本,
您可以安全地跳过这部分。这些版本使用了
&man.devfs.5; 来透明地分配设备点。</para>
&man.devfs.5; 来透明地分配设备点。</para>
</note>
<para>许多情况下,在有必要更新设备点时,&man.mergemaster.8;
<para>许多情况下,在有必要更新设备点时,&man.mergemaster.8;
工具就可以实现,并且可以自动地完成。
这里的说明用于怎样手工更新设备结点。</para>

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
Original Revision: 1.257
Original Revision: 1.262
$FreeBSD$
-->
@ -77,31 +77,25 @@
</thead>
<tbody>
<row>
<entry>IDE hard drives</entry>
<entry>IDE 硬盘驱动器</entry>
<entry><literal>ad</literal></entry>
</row>
<row>
<entry>IDE CDROM drives</entry>
<entry>IDE CDROM 驱动器</entry>
<entry><literal>acd</literal></entry>
</row>
<row>
<entry>SCSI hard drives and USB Mass storage devices</entry>
<entry>SCSI 硬盘以及 USB 大容量存储设备</entry>
<entry><literal>da</literal></entry>
</row>
<row>
<entry>SCSI CDROM drives</entry>
<entry>SCSI CDROM 驱动器</entry>
<entry><literal>cd</literal></entry>
</row>
<row>
<entry>Assorted non-standard CDROM drives</entry>
<entry><literal>mcd</literal> for Mitsumi CD-ROM,
<literal>scd</literal> for Sony CD-ROM,
<literal>matcd</literal> for Matsushita/Panasonic CD-ROM
<footnote>
<para>&man.matcd.4; 驱动已经在 2002 年 10 月 5 日从
FreeBSD&nbsp;4.X 分支删去, FreeBSD&nbsp;5.0
和之后的版本不再包含此驱动。</para>
</footnote>
<entry>各类非标准 CDROM 驱动器</entry>
<entry>用于 Mitsumi CD-ROM 的 <literal>mcd</literal> 以及用于
Sony CD-ROM 驱动器的 <literal>scd</literal>
</entry>
</row>
<row>
@ -154,15 +148,14 @@
</indexterm>
<para>假设我们要给一台只有一个磁盘的机器增加一个新的 SCSI 磁盘。首先
需要关掉计算机,然后按操作规程来安装驱动器,控制器和驱动程序。由于
各厂家生产的产品各不相同,具体的安装细节不在此文档介绍之内。</para>
需要关掉计算机,然后按操作规程来安装驱动器,控制器和驱动程序。由于
各厂家生产的产品各不相同,具体的安装细节不在此文档介绍之内。</para>
<para>以 <username>root</username> 用户登录。安装完驱动后,检查一下
<filename>/var/run/dmesg.boot</filename> 有没有找到新的磁盘。在我们
的例子中新增加的磁盘就是 <devicename>da1</devicename>,我们从
<filename>/1</filename> 挂上它。 (如果您正添加一个 IDE 驱动器,在
4.0 版以前的系统里是 <devicename>wd1</devicename>,以后的版本的系
统里是 <devicename>ad1</devicename> )。</para>
<filename>/var/run/dmesg.boot</filename> 有没有找到新的磁盘。在我们
的例子中新增加的磁盘就是 <devicename>da1</devicename>,我们从
<filename>/1</filename> 挂上它。 (如果您正添加 IDE 驱动器,
则设备名应该是 <devicename>ad1</devicename>)。</para>
<indexterm><primary>
partitions</primary></indexterm>
@ -171,22 +164,21 @@
<primary><command>fdisk</command></primary>
</indexterm>
<para>因为 FreeBSD 运行在 IBM-PC 兼容机上,它必须遵循 PC BIOS 分区
规范。这与传统的 BSD 分区是不同的。一个 PC 的磁盘最高只能有四个 BIOS
主分区。如果磁盘只安装 FreeBSD 您可以使用 <emphasis>dedicated</emphasis>
模式。另外, FreeBSD 必须安装在 PC BIOS 支持的分区内。FreeBSD 把分区叫作
<emphasis>slices</emphasis> 这可能会把人搞糊涂。您也可以在只安装
FreeBSD 的磁盘上使用 slices也可以在安装有其它操作系统的磁盘上使用
slices。这不会影响其它操作系统的 <command>fdisk</command> 分区工具。
</para>
<para>因为 FreeBSD 运行在 IBM-PC 兼容机上,它必须遵循 PC BIOS 分区规范。
这与传统的 BSD 分区是不同的。一个 PC 的磁盘最高只能有四个 BIOS
主分区。如果磁盘只安装 FreeBSD 您可以使用 <emphasis>dedicated</emphasis>
模式。另外, FreeBSD 必须安装在 PC BIOS 支持的分区内。FreeBSD 把分区叫作
<emphasis>slices</emphasis> 这可能会把人搞糊涂。您也可以在只安装
FreeBSD 的磁盘上使用 slices也可以在安装有其它操作系统的磁盘上使用
slices。这不会影响其它操作系统的 <command>fdisk</command> 分区工具。</para>
<para>在 slice 方式表示下,驱动器被添加到 <filename>/dev/da1s1e</filename>。
可以读作SCSI 磁盘,编号为 1 (第二个SCSI 磁盘) slice 1 (PC BIOS 分区 1)
可以读作SCSI 磁盘,编号为 1 (第二个SCSI 磁盘) slice 1 (PC BIOS 分区 1)
的 BSD 分区 <filename>e</filename> 。在有些例子中,也可以简化为
<filename>/dev/da1e</filename>。</para>
<para>由于 &man.bsdlabel.8; (在 &os;&nbsp;4.X 中叫做 &man.disklabel.8;)
使用 32-位 的整数来表示扇区号, 因此在多数情况下它的表现力限于每个磁盘
<para>由于 &man.bsdlabel.8; 使用 32-位 的整数来表示扇区号,
因此在多数情况下它的表现力限于每个磁盘
2^32-1 个扇区或 2TB。 &man.fdisk.8; 格式允许的起始扇区号不能高于
2^32-1 而分区长度也不能大于 2^32-1 通常情况下这限制了分区大小最大为
2TB 而磁盘大小则是 4TB。 &man.sunlabel.8; 格式的限制是每个分区
@ -206,11 +198,10 @@
<step>
<title>使用 <application>Sysinstall</application></title>
<para>您可以使用 <command>sysinstall</command> 命令
(在 &os; 5.2 之前是 <command>/stand/sysinstall</command>)
选择它的使用菜单来分区和标记一个新的磁盘。需要有 root 权限,
或者直接使用 <username>root</username> 账户登录或者使用
<command>su</command> 命令来切换到根用户。运行
<para>您可以使用 <command>sysinstall</command>
命令的菜单来分区和标记一个新的磁盘。 这一操作需要有 root 权限,
您可以直接使用 <username>root</username> 账户登录或者使用
<command>su</command> 命令来切换到 root 用户。运行
<command>sysinstall</command> ,然后选择
<literal>Configure</literal> 菜单。在
<literal>FreeBSD Configuration Menu</literal> 下,上下滚动,
@ -279,15 +270,15 @@
<screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da1 bs=1k count=1</userinput>
&prompt.root; <userinput>fdisk -BI da1</userinput> #初始化新磁盘
&prompt.root; <userinput>disklabel -B -w -r da1s1 auto</userinput> #加上标签
&prompt.root; <userinput>disklabel -e da1s1</userinput> # 现在编辑您刚才创建的磁盘分区
&prompt.root; <userinput>bsdlabel -B -w -r da1s1 auto</userinput> #加上标签
&prompt.root; <userinput>bsdlabel -e da1s1</userinput> # 现在编辑您刚才创建的磁盘分区
&prompt.root; <userinput>mkdir -p /1</userinput>
&prompt.root; <userinput>newfs /dev/da1s1e</userinput> # 为您创建的每个分区重复这个操作
&prompt.root; <userinput>mount /dev/da1s1e /1</userinput> # 挂上分区
&prompt.root; <userinput>vi /etc/fstab</userinput> # 完成之后,添加合适的记录到您的 <filename>/etc/fstab</filename>文件。</screen>
<para>如果有一个 IDE 磁盘,记得要用 <filename>ad</filename>
来替换 <filename>da</filename>4.X 以前的系统要用 <filename>wd</filename>。</para>
<para>如果有一个 IDE 磁盘,记得要用 <filename>ad</filename> 替换前面的
<filename>da</filename>。</para>
</sect3>
<sect3>
@ -299,8 +290,8 @@
它不识别找到的 IBM &os2 的 <quote>appropriate</quote> 分区。</para>
<screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da1 bs=1k count=1</userinput>
&prompt.root; <userinput>disklabel -Brw da1 auto</userinput>
&prompt.root; <userinput>disklabel -e da1</userinput> # 创建 `e' 分区
&prompt.root; <userinput>bsdlabel -Brw da1 auto</userinput>
&prompt.root; <userinput>bsdlabel -e da1</userinput> # 创建 `e' 分区
&prompt.root; <userinput>newfs -d0 /dev/da1e</userinput>
&prompt.root; <userinput>mkdir -p /1</userinput>
&prompt.root; <userinput>vi /etc/fstab</userinput> # 为 /dev/da1e添加一个记录
@ -309,17 +300,12 @@
<para>另一种方法:</para>
<screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da1 count=2</userinput>
&prompt.root; <userinput>disklabel /dev/da1 | disklabel -BrR da1 /dev/stdin</userinput>
&prompt.root; <userinput>bsdlabel /dev/da1 | bsdlabel -BrR da1 /dev/stdin</userinput>
&prompt.root; <userinput>newfs /dev/da1e</userinput>
&prompt.root; <userinput>mkdir -p /1</userinput>
&prompt.root; <userinput>vi /etc/fstab</userinput> # 为 /dev/da1e添加一个记录
&prompt.root; <userinput>mount /1</userinput></screen>
<note><para>从 &os;&nbsp;5.1-RELEASE 版本开始, &man.bsdlabel.8; 程序代替了
老版本的 &man.disklabel.8; 程序。&man.bsdlabel.8; 中大量过时的选项
和参数也被取消。在上面的例子中选项 <option>-r</option> 可以使用
&man.bsdlabel.8;程序来删除。更多的信息,请参考 &man.bsdlabel.8; 联机手册。
</para></note>
</sect3>
</sect2>
</sect1>
@ -401,38 +387,24 @@ ad3: 29333MB &lt;WDC WD307AA&gt; [59598/16/63] at ata1-slave UDMA33</programlist
连接起来。要使用 &man.ccd.4;,您需要在内核中配置 &man.ccd.4;
支持选项。把这行加入到内核配置文件中,然后重建内核:</para>
<programlisting>pseudo-device ccd 4</programlisting>
<para>在 5.X 和以后的版本中,您必须使用下面的行来代替:</para>
<programlisting>device ccd</programlisting>
<note><para>在 FreeBSD&nbsp;5.X 里,不必指定一系统的 &man.ccd.4; 设备,
&man.ccd.4; 设备将自动按需要创建新的 &mdash; 设备。</para></note>
<para>对 &man.ccd.4; 的支持也可以内核模块的形式载入。</para>
<para>&man.ccd.4; 在FreeBSD 3.0 或以后的版本中也可以作为一个内核模块
来加载</para>
<para>要安装 &man.ccd.4;, 首先需要使用 &man.bsdlabel.8; 来编辑硬盘:</para>
<para>要安装 &man.ccd.4;, 首先需要使用 &man.disklabel.8; 来编辑硬盘:</para>
<programlisting>bsdlabel -r -w ad1 auto
bsdlabel -r -w ad2 auto
bsdlabel -r -w ad3 auto</programlisting>
<programlisting>disklabel -r -w ad1 auto
disklabel -r -w ad2 auto
disklabel -r -w ad3 auto</programlisting>
<para>此处将整个硬盘创建为 <devicename>ad1c</devicename>, <devicename>ad2c</devicename>
和 <devicename>ad3c</devicename>。</para>
<para>这儿把整个硬盘创建成 <devicename>ad1c</devicename>, <devicename>ad2c</devicename>
和 <devicename>ad3c</devicename> 。</para>
<para>下一步是改变 disklable 的类型。也可以使用 &man.bsdlabel.8; 来编辑:</para>
<note><para>从 &os;&nbsp;5.1-RELEASE 开始, &man.bsdlabel.8; 程序代替
了老版本的 &man.disklabel.8; 程序。&man.bsdlabel.8; 中大量过时的选项
和参数也被取消; 在上面的例子中,选项 <option>-r</option> 应该被删掉。
更的信息可以参考 &man.bsdlabel.8; 手册。</para></note>
<para>下一步是改变 disklable 的类型。也可以使用 &man.disklabel.8; 来编辑:
</para>
<programlisting>disklabel -e ad1
disklabel -e ad2
disklabel -e ad3</programlisting>
<programlisting>bsdlabel -e ad1
bsdlabel -e ad2
bsdlabel -e ad3</programlisting>
<para>这儿在每个已经设置了 <envar>EDITOR</envar> 环境变量的磁盘上打开了
disklable在我我例子中使用的是 &man.vi.1;。</para>
@ -457,15 +429,6 @@ disklabel -e ad3</programlisting>
<sect4 id="ccd-buildingfs">
<title>建立文件系统</title>
<para><devicename>ccd0c</devicename> 的设备节点可能不存在,所以要
创建它,执行下面的命令:</para>
<programlisting>cd /dev
sh MAKEDEV ccd0</programlisting>
<note><para>在 FreeBSD 5.0 中, &man.devfs.5; 会自动管理在 <filename>/dev</filename>
中的设备节点, 所以没有必要使用 <command>MAKEDEV</command> 命令。</para></note>
<para>现在已给每个磁盘都加上了标签,下面需要建立 &man.ccd.4;。要这样做,
需要使用 &man.ccdconfig.8; 工具,同时要提供类似下面的选项:</para>
@ -718,22 +681,13 @@ device umass</programlisting>
&man.atapicam.4; 驱动程序。</para>
</note>
<para>从 &os;&nbsp; 5.X 开始, 对 USB 2.0 控制器提供了内建的支持;
这一特性也被加入到了 &os;&nbsp;4.10-RELEASE 和其后的 4.X 版本。
要获取对 USB 2.0 的支持, 您需要在内核的编译配置中加入:</para>
<para>在 &os; 中已经提供了对 USB 2.0 控制器的内建支持;
然而, 您必须在编译内核时在配置中加入:</para>
<programlisting>device ehci</programlisting>
<para>注意, 如果需要 USB 1.X 的支持, 您仍需要使用
&man.uhci.4; 和 &man.ohci.4; 驱动程序。</para>
<note>
<para>在 &os;&nbsp;4.X 上, USB daemon (&man.usbd.8;) 必须能够
检测到正在运行的一些 USB 设备。为了启用它,
添加 <literal>usbd_enable="YES"</literal> 到您的
<filename>/etc/rc.conf</filename> 文件里,然后重新启动
计算机。</para>
</note>
</sect2>
<sect2>
@ -917,14 +871,8 @@ umass0: detached</screen>
<screen>&prompt.root; <userinput>mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot</userinput></screen>
<para>如果内核中已经配置了 <devicename>vn</devicename>
(FreeBSD&nbsp;4.X), 或 <devicename>md</devicename>
(FreeBSD&nbsp;5.X),就可以挂上文件系统:</para>
<screen>&prompt.root; <userinput>vnconfig -e vn0c /tmp/bootable.iso</userinput>
&prompt.root; <userinput>mount -t cd9660 /dev/vn0c /mnt</userinput></screen>
<para>在 FreeBSD&nbsp;4.X, 和 FreeBSD&nbsp;5.X 中:</para>
<para>完成这些工作之后, 如果您的内核中配置了 <devicename>md</devicename>
就可以用下列命令来挂接文件系统了:</para>
<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>
@ -953,8 +901,7 @@ umass0: detached</screen>
<para>在 <replaceable>cddevice</replaceable> 上刻录一份
<replaceable>imagefile.iso</replaceable> 的副本。
默认的设备是
<filename>/dev/acd0</filename> (在 &os;&nbsp;4.X 下则是
<filename>/dev/acd0c</filename>)。
<filename>/dev/acd0</filename>。
请参考 &man.burncd.8; 以了解设置写入速度的参数如何在刻录完成之后自动弹出CD以及刻录音频数据。</para>
</sect2>
@ -982,7 +929,7 @@ umass0: detached</screen>
<secondary>burning</secondary>
</indexterm>
<screen>&prompt.root; <userinput>cdrecord -scanbus</userinput>
Cdrecord 1.9 (i386-unknown-freebsd4.2) Copyright (C) 1995-2000 J&ouml;rg Schilling
Cdrecord-Clone 2.01 (i386-unknown-freebsd7.0) Copyright (C) 1995-2004 J&ouml;rg Schilling
Using libscg version 'schily-0.1'
scsibus0:
0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk
@ -1056,15 +1003,6 @@ scsibus1:
如果您发现有某些项目缺失, 则应强制系统重新识别介质:</para>
<screen>&prompt.root; <userinput>dd if=/dev/acd0 of=/dev/null count=1</userinput></screen>
<note><para>在 &os; 4.X 中, 这些项的前缀并不包括零。
如果发现 <filename>/dev</filename> 缺少所需的项,
可以用 <command>MAKEDEV</command> 来生成:</para>
<screen>&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>sh MAKEDEV acd0t99</userinput></screen>
</note>
</step>
<step>
@ -1095,10 +1033,7 @@ scsibus1:
镜像文件可以使用
&man.mkisofs.8; 创建,您可以使用这个工具复制
任何数据 CD。这里给出的例子假定您的 CDROM
设备 <devicename>acd0</devicename>。代替您
正确的 CDROM 设备。在 &os;&nbsp;4.X 下面,字符 <literal>c</literal> 必须被附加到
设备名的结尾处来指明是整个分区,
或者对于 CDROM指明是整个光盘。</para>
设备是 <devicename>acd0</devicename> 您应将其替换为您实际使用的 CDROM 设备。</para>
<screen>&prompt.root; <userinput>dd if=/dev/acd0 of=file.iso bs=2048</userinput></screen>
@ -1141,10 +1076,8 @@ scsibus1:
<para>用这种方法您基本可以使用任何买到的数据 CDROM。
然而某些有 ISO 9660 扩展的光盘可能会行为古怪。
例如joliet 光盘用两个字节的 unicode 字符存储所有的文件名。
FreeBSD 内核还不能识别
unicode (重要!),所以非英语字符被做了有问题的标记。
(如果您正在运行 FreeBSD 4.3 或者以后的版本,
CD9660 驱动包含了加载合适的 unicode 换算表的方法。
FreeBSD 内核不能识别 Unicode (目前如此!) 因此非英语字符被做了有问题的标记。
(FreeBSD CD9660 驱动包含了加载合适的 Unicode 换算表的方法。
一些常用编码的模块可以通过
<filename role="package">sysutils/cd9660_unicode</filename> port 来安装。)</para>
@ -1615,7 +1548,7 @@ cd0: Attempt to query device size failed: NOT READY, Medium not present - tray c
<title>配置</title>
<para>DVD-RAM 刻录机通常使用 SCSI 或 ATAPI
两种接口之一。 对于 ATAPI 设备, 还应启用 DMA 访问方式,
两种接口之一。 对于 ATAPI 设备, DMA 传输模式必须手工启用。
这一工作可以通过在
<filename>/boot/loader.conf</filename> 文件中增加下述配置来完成:</para>
@ -1628,28 +1561,25 @@ cd0: Attempt to query device size failed: NOT READY, Medium not present - tray c
<para>如本章前面的介绍所言,
DVD-RAM 可以视为一移动硬盘。 与任何其它型号的移动硬盘类似,
首次使用它之前, 应首先 <quote>初始化</quote> DVD-RAM。
在这个例子中, 我们将在全部空间上使用标准的 UFS2 文件系统。</para>
<para>将 DVD-RAM 插入驱动器后, 以 <username>root</username>
的身份执行:</para>
在下面的例子中, 我们将在全部空间上使用标准的 UFS2 文件系统:</para>
<screen>&prompt.root; <userinput>dd if=/dev/zero of=<replaceable>/dev/acd0</replaceable> count=2</userinput>
&prompt.root; <userinput>disklabel -Bw <replaceable>acd0</replaceable></userinput>
&prompt.root; <userinput>bsdlabel -Bw <replaceable>acd0</replaceable></userinput>
&prompt.root; <userinput>newfs <replaceable>/dev/acd0</replaceable></userinput></screen>
<para>应根据您的设置来修改所用的 DVD 设备,
<devicename>acd0</devicename>。</para>
<para>您应根据实际情况将 <devicename>acd0</devicename> 改为您所使用的设备名。</para>
</sect3>
<sect3>
<title>使用介质</title>
<para>一旦在您的 DVD-RAM 上完成了前面的操作,
<para>一旦在 DVD-RAM 上完成了前面的操作,
就可以像普通的硬盘一样挂接它了:</para>
<screen>&prompt.root; <userinput>mount <replaceable>/dev/acd0</replaceable> <replaceable>/mnt</replaceable></userinput></screen>
<para>然后就可以正常地对其进行读写了。</para>
<para>然后就可以正常地对 DVD-RAM 进行读写了。</para>
</sect3>
</sect2>
</sect1>
@ -1691,40 +1621,8 @@ cd0: Attempt to query device size failed: NOT READY, Medium not present - tray c
<para>软盘的访问像其它设备一样是通过在
<filename>/dev</filename> 中的条目来实现的。
访问 raw 软盘在 4.X 和更早的版本,使用
<filename>/dev/fd<replaceable>N</replaceable></filename>,
这里 <replaceable>N</replaceable> 标识设备号,通常为 0 ,
或 <filename>/dev/fd<replaceable>NX</replaceable></filename>,
这里 <replaceable>X</replaceable> 标识为一个字符。</para>
<para>在 5.0 或更新的版本中,简单的使用
<filename>/dev/fd<replaceable>N</replaceable></filename>。</para>
<sect4>
<title>4.X 以及更早版本的磁盘大小</title>
<para>也有 <filename>/dev/fd<replaceable>N</replaceable>.<replaceable>size</replaceable></filename>
这样的设备,这里 <replaceable>size</replaceable> 代表软盘的含量以 KB 为单位。
这个条目用在低级格式化时来确定磁盘的大小。下面的例子就是 1440kB </para>
<para>有时这些条目必须在 <filename>/dev</filename> 目录中进行重建。
可以这样做:</para>
<screen>&prompt.root; <userinput>cd /dev &amp;&amp; ./MAKEDEV "fd*"</userinput></screen>
</sect4>
<sect4>
<title>5.0 以及更新版本的磁盘大小</title>
<para>在 5.0 版本中, &man.devfs.5; 将自动管理在
<filename>/dev</filename> 目录中的设备,所以不摧荐使用
<command>MAKEDEV</command> 命令。</para>
<para>如果期望得到确定大小的磁盘可以给 &man.fdformat.1; 传递
<option>-f</option> 参数。 支持的大小可以在
&man.fdcontrol.8; 联机手册中找到,
但推荐使用工作状态最好的 1440kB。</para>
</sect4>
直接访问软盘时, 只需简单地使用
<filename>/dev/fd<replaceable>N</replaceable></filename> 来表示。</para>
</sect3>
<sect3>
@ -1742,18 +1640,7 @@ cd0: Attempt to query device size failed: NOT READY, Medium not present - tray c
磁盘的好与坏。</para>
<sect4>
<title>在 4.X 以及更早版本中格式化</title>
<para>使用
<filename>/dev/fd<replaceable>N</replaceable>.<replaceable>size</replaceable></filename>
设备来格式化软盘。插入一张新的 3.5 英寸的软盘在你的设备里:</para>
<screen>&prompt.root; <userinput>/usr/sbin/fdformat /dev/fd0.1440</userinput></screen>
</sect4>
<sect4>
<title>在 5.0 以及更新版本中格式化</title>
<title>软盘的格式化</title>
<para>使用
<filename>/dev/fd<replaceable>N</replaceable></filename>
@ -1765,8 +1652,6 @@ cd0: Attempt to query device size failed: NOT READY, Medium not present - tray c
</sect3>
</sect2>
<sect2>
<title>磁盘标签</title>
@ -1777,16 +1662,9 @@ cd0: Attempt to query device size failed: NOT READY, Medium not present - tray c
磁盘标签的 geometry 值列在
<filename>/etc/disktab</filename>中。</para>
<para>你能够使用 &man.disklabel.8; 像下面这样</para>
<para>现在可以用下面的方法来使用 &man.bsdlabel.8; 了</para>
<screen>&prompt.root; <userinput>/sbin/disklabel -B -r -w /dev/fd0 fd1440</userinput></screen>
<note><para>从 &os;&nbsp;5.1-RELEASE, 开始 &man.bsdlabel.8;
程序代替了旧版本的 &man.disklabel.8; 程序。随着
&man.bsdlabel.8; 一起许多陈旧的选项和参数也被清除了;
在上面的例子中,选项
<option>-r</option> 将被去掉。要想得到更多的信息,
请参考 &man.bsdlabel.8; 联机手册。</para></note>
<screen>&prompt.root; <userinput>/sbin/bsdlabel -B -r -w /dev/fd0 fd1440</userinput></screen>
</sect2>
@ -1812,10 +1690,9 @@ cd0: Attempt to query device size failed: NOT READY, Medium not present - tray c
<sect2>
<title>使用软盘</title>
<para>要使用软盘,需要先使用 &man.mount.msdos.8; (在
4.X 和更早的版本中) 或 &man.mount.msdosfs.8; (在 5.0 或更新
的版本中)。也可以使用在 ports collection
中的<filename role="package">emulators/mtools</filename> 程序。</para>
<para>要使用软盘,需要先使用 &man.mount.msdosfs.8; 挂接它。
除此之外, 也可以使用在 ports 套件中的
<filename role="package">emulators/mtools</filename> 程序。</para>
</sect2>
</sect1>
@ -2363,11 +2240,11 @@ sa0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
<para>在遇到灾难前,只需要执行以下四个步骤:</para>
<indexterm>
<primary><command>disklabel</command></primary>
<primary><command>bsdlabel</command></primary>
</indexterm>
<para>第一,打出您的每个磁盘驱动器的磁盘标签(例如:
<command>disklabel da0 | lpr</command>),文件系统表,
<para>第一,打出您的每个磁盘驱动器的磁盘标签 (例如:
<command>bsdlabel da0 | lpr</command>),文件系统表,
(<filename>/etc/fstab</filename>) ,以及所有启动信息,
并将其复制两份。</para>
@ -2378,7 +2255,7 @@ sa0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
如果设备都被列出,并且可以正常使用,就可以跳到第三步。</para>
<para>否则,必须建立两张传统的可启动软盘,并包含:
<command>fdisk</command>, <command>disklabel</command>,
<command>fdisk</command>, <command>bsdlabel</command>,
<command>newfs</command>, <command>mount</command>, 以及所有使用的
备份程序。这些程序必须被静态的连接。如果使用的是 <command>dump</command>
那么这张软盘就必须包含 <command>restore</command>。</para>
@ -2416,7 +2293,7 @@ fi
# place boot blocks on the floppy
#
disklabel -w -B /dev/fd0c fd1440
bsdlabel -w -B /dev/fd0c fd1440
#
# newfs the one and only partition
@ -2588,13 +2465,13 @@ echo "The floppy has been unmounted and is now ready."]]></programlisting>
</indexterm>
<indexterm><primary>root partition</primary></indexterm>
<indexterm>
<primary><command>disklabel</command></primary>
<primary><command>bsdlabel</command></primary>
</indexterm>
<indexterm>
<primary><command>newfs</command></primary>
</indexterm>
<para>试着 <command>mount</command> 上您的第一个磁盘的 root 分区(例如: <command>mount /dev/da0a
/mnt</command>)。假如这个磁盘标签已经损坏,使用 <command>disklabel</command>
/mnt</command>)。假如这个磁盘标签已经损坏,使用 <command>bsdlabel</command>
来重新分割并分配磁盘标签(利用您以前保留下来的数据)。使用 <command>newfs</command>
来建立文件系统,并重新挂上软盘读写的 root 分区 (<command>mount -u -o rw
/mnt</command>)。然后使用备份程序及备份磁带来修复文件系统 (例如: <command>restore vrf
@ -2652,60 +2529,9 @@ echo "The floppy has been unmounted and is now ready."]]></programlisting>
后备文件系统和内存文件系统。</para>
<note>
<para>FreeBSD&nbsp;4.X 用户可以使用 &man.MAKEDEV.8;
来创建需要的设备。 FreeBSD&nbsp;5.0 和更新的版本使用
&man.devfs.5; 来创建设备节点,对用户来说是透明的。</para>
<para>系统会使用 &man.devfs.5; 来创建设备节点, 这对用户来说是透明的。</para>
</note>
<sect2 id="disks-vnconfig">
<title>FreeBSD 4.X 下的 File-Backed 文件系统</title>
<indexterm>
<primary>磁盘</primary>
<secondary>file-backed (4.X)</secondary>
</indexterm>
<para>应用程序 &man.vnconfig.8; 可以配置和启用 vnode 伪磁盘设备。
一个 <firstterm>vnode</firstterm> 代表一个文件。这就意味
使用 &man.vnconfig.8; 可以用来创建和操作一个文件系统。
也可以在文件中挂接一个软盘或 CD 映像。</para>
<para>要使用 &man.vnconfig.8;,你需要在内核配置文件中 &man.vn.4; 的支持:</para>
<programlisting>pseudo-device vn</programlisting>
<para>挂接一个存在的文件系统映像:</para>
<example>
<title>使用 vnconfig 来挂接一个存在的文件系统映像在
FreeBSD&nbsp;4.X 系统上。</title>
<screen>&prompt.root; <userinput>vnconfig vn<replaceable>0</replaceable> <replaceable>diskimage</replaceable></userinput>
&prompt.root; <userinput>mount /dev/vn<replaceable>0</replaceable>c <replaceable>/mnt</replaceable></userinput></screen>
</example>
<para>使用 &man.vnconfig.8; 创建一个新的文件系统映像:</para>
<example>
<title>使用 <command>vnconfig</command> 创建新的文件后援磁盘</title>
<screen>&prompt.root; <userinput>dd if=/dev/zero of=<replaceable>newimage</replaceable> bs=1k count=<replaceable>5</replaceable>k</userinput>
5120+0 records in
5120+0 records out
&prompt.root; <userinput>vnconfig -s labels -c vn<replaceable>0</replaceable> <replaceable>newimage</replaceable></userinput>
&prompt.root; <userinput>disklabel -r -w vn<replaceable>0</replaceable> auto</userinput>
&prompt.root; <userinput>newfs vn<replaceable>0</replaceable>c</userinput>
Warning: 2048 sector(s) in last cylinder unallocated
/dev/vn0c: 10240 sectors in 3 cylinders of 1 tracks, 4096 sectors
5.0MB in 1 cyl groups (16 c/g, 32.00MB/g, 1280 i/g)
super-block backups (for fsck -b #) at:
32
&prompt.root; <userinput>mount /dev/vn<replaceable>0</replaceable>c <replaceable>/mnt</replaceable></userinput>
&prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput>
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/vn0c 4927 1 4532 0% /mnt</screen>
</example>
</sect2>
<sect2 id="disks-mdconfig">
<title>采用文件后端的文件系统</title>
<indexterm>
@ -2713,7 +2539,7 @@ Filesystem 1K-blocks Used Avail Capacity Mounted on
<secondary>file-backed (采用文件作为后端)</secondary>
</indexterm>
<para>在 FreeBSD&nbsp;5.X 和更新版本的系统中, 可以用 &man.mdconfig.8;
<para>在 FreeBSD 系统中, 可以用 &man.mdconfig.8;
程序来配置和启用内存磁盘, &man.md.4;。 要使用
&man.mdconfig.8; 就需要在内核配置文件中添加 &man.md.4; 模块来支持它:</para>
@ -2763,7 +2589,7 @@ Filesystem 1K-blocks Used Avail Capacity Mounted on
<para>应用程序 &man.mdconfig.8; 功能很强大,
但在创建采用文件后端的文件系统时需要使用许多多行命令。 为此
FreeBSD&nbsp;5.0 也提供了一个名为 &man.mdmfs.8; 的工具, 该程序使用
FreeBSD 也提供了一个名为 &man.mdmfs.8; 的工具, 该程序使用
&man.mdconfig.8; 来配置 &man.md.4; 盘, 并在其上用
&man.newfs.8; 创建 UFS 文件系统, 然后用 &man.mount.8; 挂接它。 例如,
如果想创建和挂接像上面那样的文件系统映像,
@ -2787,35 +2613,6 @@ Filesystem 1K-blocks Used Avail Capacity Mounted on
</sect2>
<sect2 id="disks-md-freebsd4">
<title>FreeBSD 4.X 下的内存后备式文件系统</title>
<indexterm>
<primary>磁盘</primary>
<secondary>内存文件系统(4.X)</secondary>
</indexterm>
<para> &man.md.4; 驱动程序是一个简单有效的手段用来创建
内存文件系统在 FreeBSD&nbsp;4.X 系统上。&man.malloc.9; 被
用来分配内存。</para>
<para>简单的获得一个文件系统你需要准备,例如:
&man.vnconfig.8;</para>
<example>
<title>FreeBSD&nbsp;4.X 下的 md 内存磁盘</title>
<screen>&prompt.root; <userinput>dd if=<replaceable>newimage</replaceable> of=/dev/md<replaceable>0</replaceable></userinput>
5120+0 records in
5120+0 records out
&prompt.root; <userinput>mount /dev/md<replaceable>0c</replaceable> <replaceable>/mnt</replaceable></userinput>
&prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput>
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md0c 4927 1 4532 0% /mnt</screen>
</example>
<para>更多的详情,请参考 &man.md.4; 联机手册。</para>
</sect2>
<sect2 id="disks-md-freebsd5">
<title>以内存为后端的文件系统</title>
<indexterm>
@ -2823,9 +2620,7 @@ Filesystem 1K-blocks Used Avail Capacity Mounted on
<secondary>内存文件系统</secondary>
</indexterm>
<para>同样的工具既可以用来创建以文件为后端的文件系统,
也可以用来创建基于内存的文件系统: &man.mdconfig.8; 和 &man.mdmfs.8;。
一般来说在建立以内存为后端的文件系统时, 应使用 <quote>交换区作为后端
<para>一般来说, 在建立以内存为后端的文件系统时, 应使用 <quote>交换区作为后端
(swap backing)</quote>。 使用交换区作为后端,
并不意味着内存盘将被无条件地换出到交换区,
它只是表示将根据需要从可换出的内存池中分配内存。
@ -2877,13 +2672,6 @@ Filesystem 1K-blocks Used Avail Capacity Mounted on
<para><command>mdconfig -l</command> 命令可以列出关于配置
&man.md.4; 设备的信息。</para>
<para>在 FreeBSD&nbsp;4.X 系统中,&man.vnconfig.8; 命令用来分离设备。
例如分离所有的资源使用 <filename>/dev/vn4</filename> 命令:</para>
<screen>&prompt.root; <userinput>vnconfig -u vn<replaceable>4</replaceable></userinput></screen>
</sect2>
</sect1>
@ -2906,7 +2694,7 @@ Filesystem 1K-blocks Used Avail Capacity Mounted on
<secondary>快照</secondary>
</indexterm>
<para>FreeBSD&nbsp;5.0 提供了一个和 <link linkend="soft-updates">Soft Updates</link>
<para>FreeBSD 提供了一个和 <link linkend="soft-updates">Soft Updates</link>
关联的新功能: 文件系统快照</para>
<para>快照允许用户创建指定文件系统的映像,并把它们当做一个文件来对待。
@ -3226,15 +3014,6 @@ Filesystem 1K-blocks Used Avail Capacity Mounted on
Password:</screen>
</step>
<step>
<title>验证操作系统的版本</title>
<para>&man.gbde.4; 需要 FreeBSD 5.0 或更高的版本。</para>
<screen>&prompt.root; <userinput>uname -r</userinput>
5.0-RELEASE</screen>
</step>
<step>
<title>在内核配置文件中添加对 &man.gbde.4; 的支持</title>
@ -3328,13 +3107,12 @@ sector_size = 2048
<caution>
<para><application>gbde</application> lock
文件<emphasis>必须</emphasis>和加密分区上的内容一块备份。
当一个 lock 文件被独自删除时,
不能确定一个
<application>gbde</application> 分区上的数据被解密过。
没有 lock 文件,
就是合法的磁盘所有者不经过大量细致的工作也将不能访问经过加密分区上的数据,
这是 &man.gbde.8; 在设计时整体上不支持。</para>
文件 <emphasis>必须</emphasis> 和加密分区上的内容同时备份。
如果发生只有 lock 文件遭到删除的情况时, 就没有办法确定
<application>gbde</application> 分区上的数据是否是解密过的。
另外, 如果没有 lock 文件, 即使磁盘的合法主人,
不经过大量细致的工作也无法访问加密分区上的数据,
而这是在设计 &man.gbde.8; 时完全没有考虑过的。</para>
</caution>
</step>
@ -3363,9 +3141,6 @@ sector_size = 2048
文件系统比初始化一个 UFS1 文件系统还要快,摧荐使用
<option>-O2</option> 选项。</para>
<note><para><option>-O2</option> 选项在 &os;&nbsp;5.1-RELEASE
或更新的版本中是默认的选项。</para></note>
<screen>&prompt.root; <userinput>newfs -U -O2 /dev/ad4s1c.bde</userinput></screen>
<note>
@ -3450,7 +3225,7 @@ Filesystem Size Used Avail Capacity Mounted on
<para>可以创建脚本来自动地附加、 检测, 并挂接加密分区,
然而, 处于安全考虑, 这个脚本不应包含 &man.gbde.8; 密码。
于此相反 我们建议这类脚本在控制台或通过 &man.ssh.1;
因而 我们建议这类脚本在控制台或通过 &man.ssh.1;
执行并要求用户输入口令。</para>
<para>从 &os; 5.2-RELEASE 开始, 提供了一个新的 <filename>rc.d</filename> 脚本。
@ -3591,7 +3366,7 @@ device crypto</screen>
<filename role="directory">/private</filename> 的加密 provider。
这个密钥文件将提供一些随机数据来加密主密钥。 同时,
主密钥也会使用一个口令字来保护。 Provider 的扇区尺寸为 4kB。
此外, 这里的讨论将描述如何挂载
此外, 这里的讨论将介绍如何挂载
<command>geli</command> provider 在其上创建文件系统,
如何挂接并在其上工作, 最后将其卸下。</para>

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
Original Revision: 1.66
Original Revision: 1.68
$FreeBSD$
-->
@ -188,54 +188,6 @@
因此我们不打算在这本使用手册中进行更进一步的阐述,
以避免不必要的重复劳动。</para>
<para>PF 在各种 &os; 发行版上的可用情况如下所示:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>&os; 版本</entry>
<entry>PF 可用情况</entry>
</row>
</thead>
<tbody>
<row>
<entry>4.X 之前的版本</entry>
<entry>PF 在 &os; 4.X 之前的版本分支上不可用。</entry>
</row>
<row>
<entry>所有 4.X 版本分支上的版本</entry>
<entry>PF 作为 KAME 的一部分提供。</entry>
</row>
<row>
<entry>5.X 在 5.3-RELEASE 之前的版本</entry>
<entry><filename role="package">security/pf</filename>
port 可以用来在这些 &os; 版本上安装 PF。
这些版本主要是供开发人员, 以及预览早期的 5.X
版本上使用的。 强烈建议升级到
5.3-RELEASE 或更新的 &os; 版本。</entry>
</row>
<row>
<entry>5.3-RELEASE 以及之后的版本</entry>
<entry>PF 已经成为了基本系统的一部分。
请 <emphasis>不要</emphasis> 尝试使用 <filename
role="package">security/pf</filename> port
在这些 &os; 版本上安装它, 因为这样做是没有作用的。
请使用基本系统中的 &man.pf.4; 支持。</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>更多的详细信息, 可以在 &os; 版本的 PF 网站上找到: <ulink
url="http://pf4freebsd.love2party.net/"></ulink>。</para>
@ -478,6 +430,10 @@ options ALTQ_NOPCC # Required for SMP build</programlisting>
<para>IPF FAQ 可以在 <ulink
url="http://www.phildev.net/ipf/index.html"></ulink> 找到。</para>
<para>除此之外, 您还可以在 <ulink
url="http://marc.theaimsgroup.com/?l=ipfilter"></ulink>
找到开放源代码的 IPFilter 的邮件列表存档, 并进行搜索。</para>
<sect2>
<title>启用 IPF</title>
@ -530,10 +486,8 @@ options ALTQ_NOPCC # Required for SMP build</programlisting>
编入了内核, 则对应的内核模块将不被使用。</para>
<para>关于 IPF 选项语句的内核编译配置的例子, 可以在内核源代码中的
<filename>/usr/src/sys/conf/NOTES</filename> 找到
(对于 &os;&nbsp;4.X 来说, 则是
<filename>/usr/src/sys/<replaceable>arch</replaceable>/conf/LINT</filename>)
并这里列举如下:</para>
<filename>/usr/src/sys/conf/NOTES</filename> 找到。
此处列举如下:</para>
<programlisting>options IPFILTER
options IPFILTER_LOG
@ -749,19 +703,16 @@ LOG_ERR -
<programlisting>security.* /var/log/ipfilter.log</programlisting>
<para>对于 &os;&nbsp;4.X 则应在
<filename>/etc/syslog.conf</filename> 中加入:</para>
<para>或将下列语句加入
<filename>/etc/syslog.conf</filename></para>
<programlisting>local0.* /var/log/ipfilter.log</programlisting>
<para>这里的 <literal>security.*</literal> (对 4.X 则是
<literal>local0</literal>) 表示把所有的相关日志信息写到指定的文件中。</para>
<para>这里的 <literal>security.*</literal>
表示把所有的相关日志信息写到指定的文件中。</para>
<para>要让 <filename>/etc/syslog.conf
</filename> 中的修改立即生效, 您可以重新启动计算机, 或者通过执行
<command>/etc/rc.d/syslogd reload</command>
来让它重新读取 <filename>/etc/syslog.conf</filename>
(在 &os;&nbsp;4.X 中, 则是 <command>killall -HUP syslogd</command>)。</para>
来让它重新读取 <filename>/etc/syslog.conf</filename>。</para>
<para>不要忘了修改 <filename>/etc/newsyslog.conf
</filename> 来让您刚创建的日志进行轮转。</para>
@ -1835,8 +1786,8 @@ pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state</pro
<sect3>
<title>FTP <acronym>NAT</acronym> 代理的 bug</title>
<para>在 &os; 4.9 中提供了 IPFILTER 的 3.4.31 版。
整个 FTP 会话直到将要结束之前, FTP 代理都会像文档中介绍的那样。
<para>在 IPFILTER 的 3.4.31 版中,
直到整个 FTP 会话直到将要结束之前, FTP 代理都会像文档中介绍的那样。
但一旦有一方要求关闭会话, 则来自远程 FTP 服务器 21
端口的一个包会被阻止, 并在日志中记下这一情况。 <acronym>NAT</acronym>
FTP/代理显然过早地删除了临时规则, 而不是等待远程 FTP 服务器确认它。
@ -2336,7 +2287,7 @@ options IPV6FIREWALL_DEFAULT_TO_ACCEPT</programlisting>
<para>动态规则机制在 SYN-flood 攻击下是脆弱的,
因为这种情况会产生大量的动态规则, 从而耗尽资源。
为了抵抗这种攻击, 从 &os; 4.5 版开始, 加入了一个叫做 limit
为了抵抗这种攻击, 从 &os; 加入了一个叫做 limit
的新选项。
这个选项可以用来限制符合规则的会话允许的并发连接数。
如果动态规则表中的规则数超过限制, 则包将被丢弃。</para>

View file

@ -218,8 +218,8 @@ XXX: What message? Put it inside the screen output above.
当存在镜像时, 它的意思是说 磁盘B 简单地复制 磁盘A。
或者, 也可能是 磁盘C+D
复制 磁盘A+B。 无论磁盘如何配置, 共同的特征,
都是磁盘或卷的信息会被复制。 随后, 这些信息可以很容易地恢复原样、
备份, 而不需要造成服务或访问的停顿, 甚至其他更安全的地方。</para>
都是磁盘或卷的信息会被复制。 随后,在无需中断服务或访问的情况下,
可以很容易地复原和备份这些信息, 甚至把它们存储到其他更安全的地方。</para>
<para>要开始做这件事, 首先要确保系统中有两个同样大的磁盘驱动器,
下面的例子假定使用直接访问方式 (Direct Access &man.da.4;)
@ -330,7 +330,7 @@ Done.</screen>
<screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' &gt;&gt; /mnt/boot/loader.conf</userinput></screen>
<para>将让 &man.loader.8; 在系统初始化过程中自动加载
<para>将让 &man.loader.8; 在系统初始化过程中自动加载
<filename>geom_mirror.ko</filename> 模块。</para>
<para>最后重新启动系统:</para>

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
Original Revision: 1.331
Original Revision: 1.332
$FreeBSD$
-->
@ -500,11 +500,7 @@ pqb0.0.1.4.0 PQB0 PCI EIDE</screen>
<para>软盘映像文件的扩展名是 <filename>.flp</filename>。
在 <filename>floppies/</filename> 目录中包括了许多不同的映像文件,
随您安装的 FreeBSD 版本, 某些时候也随硬件的不同,
您需要使用的映像文件可能会有所不同。 如果您正在安装的是
FreeBSD&nbsp;4.X 则通常只需要两张软盘的映像,
即 <filename>kern.flp</filename> 和
<filename>mfsroot.flp</filename>。
如果您正在安装的是 FreeBSD&nbsp;5.X 则您通常会需要三张软盘,
您需要使用的映像文件可能会有所不同。 您通常会需要三张软盘,
即 <filename>boot.flp</filename>、
<filename>kern1.flp</filename> 以及
<filename>kern2.flp</filename>。 请查阅同一目录下的
@ -709,8 +705,7 @@ Please insert MFS root floppy and press enter:</screen>
<screen>Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 9 seconds... _</screen>
<para>您可以等待十秒, 或按 <keycap>Enter</keycap>
(对于 &os;&nbsp;4.X 则接下来将是进入内核配置菜单)。</para>
<para>您可以等待十秒, 或按 <keycap>Enter</keycap>。</para>
</step>
</procedure>
@ -766,229 +761,6 @@ Booting [kernel] in 9 seconds... _</screen>
</sect2>
<sect2 id="start-userconfig">
<title>配置内核</title>
<note><para>从 FreeBSD 5.0 开始, 改用了新的 &man.device.hints.5;
方式来进行配置, 而淘汰了先前的 userconfig 。 关于这一机制的进一步介绍,
请参考 &man.device.hints.5; 或阅读 <xref linkend="device-hints"></para></note>
<para><firstterm>内核</firstterm>是操作系统最核心的部分。它负责很多工作,
包括存取系统上所有设备,如硬盘、网卡、声卡等等。每一个 FreeBSD
核心支持的设备都有其相对应的驱动程序。这些驱动程序的名称由两个或三个字母级成,譬如:
<devicename>sa</devicename> 表示 SCSI 存取驱动程序;<devicename>sio</devicename>
表示串口 I/O 驱动程序(管理 COM 端口)。</para>
<para>当内核启动的时候,每个驱动程序会检查系统中是否有它所支持的设备。如果找到的话,
这些驱动程序就会配置这些设备的状态以代核心使用。</para>
<para>上述设备的检查我们称做 <firstterm>device probing(设备探测)</firstterm>。
但是很不幸地,这样做并不是完全安全的。因为有些硬件驱动程序没有办法想到共存,
有时找到这个设备却让另一个设备处在不稳定的状态。这是 <acronym>PC</acronym>
设计上的限制。</para>
<para>许多早期的称作 ISA 的设备&mdash;(相对于 PCI 设备而言)。ISA
设备的规格需要将硬件的某些数据写死在设备上,最具代表性的就是中断号(IRQ)以及
IO 端口号。这些设定值通常是通过改变设备上的 <firstterm>jumpers(跳线)</firstterm>
或是使用由厂商提供的 DOS 工具程序来改变。</para>
<para>这通常是问题的所在,因为这没办法让两个设备共同分享一个 IRQ 或是 IO 端口
地址。</para>
<para>新的设备都按照 PCI 规格设计,这些设备就没有上述限制;它们会参考 BIOS
中的设定然后动态分配 IRQ 及 IO 端口地址。</para>
<para>如果您的系统中有任何 ISA 设备,那么在设置 FreeBSD 驱动程序的时候您就
必须指定这些设备的 IRQ 及 IO 地址。这也是我们在 <xref
linkend="install-inventory">一节中希望您先准备一份设备清单的用意。</para>
<para>仍然很不幸地,预设给某些设备使用的 IRQ 会跟内存地址互相冲突。这是因为
有些 ISA 设备出厂的设定值就会跟其它的设备冲突。撇开这个不谈FreeBSD 驱动
程序通常都会根据各制造商设备的出厂设定值来设定,这也是为什么许多设备可
以在 FreeBSD 顺利驱动的原因。</para>
<para>在跑 FreeBSD 的时候根本不会有上冲突的问题,因为当两个设备互相冲突的
时候,其中一个设备将被停用(不论您用的是哪种操作系统)。</para>
<para>通常在第一次安装 FreeBSD 的时候才会有问题,因为内核希望尽是多包含一
些驱动程序,这样才能支持许多不同设备的配置。这意味着在找到的这些设备中
有可能设定值会互相冲突。FreeBSD 在探测系统设备的时候会按照一的顺序,如
果您的某个设备在较后面探测到,但是跟前面找到的设备设定冲突,那么在安装
FreeBSD 的时候,这个设备不一定能正确雇用。</para>
<para>因为如此,当您在安装 FreeBSD 前,可以先看看在系统内核中包含了哪些驱
动程序,如果您没有某些设备,则可以将它们的驱动程序删除或是在稍后您也
可以确认您有的设备的设定值有没有问题。</para>
<para>这听起来好像很复杂,但不全然如此。</para>
<para><xref linkend="kernel-config"> 显示的是内核能设置的第一个配置菜单。
我们推荐您选择<guimenuitem>Start kernel configuration in full-screen visual
mode</guimenuitem> 选项, 因为这对新手来说比较容易。</para>
<figure id="kernel-config">
<title>内核配置菜单</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/userconfig" format="PNG">
</imageobject>
<textobject>
<screen>&txt.install.userconfig;</screen>
</textobject>
</mediaobject>
</figure>
<para>内核配置画面 (图<xref linkend="fig-userconfig">)
被分成四个部分:</para>
<orderedlist>
<listitem>
<para>在<quote>active(可用)</quote>区域的展开式选择菜单分为四个群,例如
<literal>Storage(储存设备)</literal>、 <literal>Network(网络设备)</literal>。
每个设备会显示一个对应的说明、由二或三个字母组成的驱动程序名称以及驱动程序
所使用的IRQ和内存地址。另外如果可用的驱动程序跟另一个可用的驱动程序有冲突
它们的驱动程序名称之后会显示 <literal>CONF</literal> 字样。同时栏目标题也会
显示在可用的设备中总共有几个设备有冲突。</para>
</listitem>
<listitem>
<para>在 Inactive(停用)区域的驱动程序仍然保留在内核中,但当内核启动的时候
并不会探测这些设备。这个区域的分组方式跟可用区一样。</para>
</listitem>
<listitem>
<para>第三区(信息显示区)显示的是目前所选择设备的细节项目设置,包括 IRQ 及
IO 端口地址。</para>
</listitem>
<listitem>
<para>第四区告诉您这个画面的操作按键。</para>
</listitem>
</orderedlist>
<figure id="fig-userconfig">
<title>配置内核可视化视觉接口</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/userconfig2" format="PNG">
</imageobject>
<textobject>
<screen>&txt.install.userconfig2;</screen>
</textobject>
</mediaobject>
</figure>
<para>在这个阶段,您总是会看到有冲突的设备被列出。请不要担心,因为这是正
常的;前面提到在安装的时候所有的设备都会被启用,而其中的某些设备就会跟
其它的设备产生冲突。</para>
<para>现在您必须逐一检查这些设备驱动程序,然后解决冲突的问题。</para>
<procedure>
<title>解决驱动程序冲突</title>
<step>
<para>按下 <keycap>X</keycap> 键可以将所选择区域的驱动程序完全展开以方便您
检阅。您可以使用方向键在可用设备区前后移动。</para>
<para><xref linkend="hardware-conflicts"> 显示按下 <keycap>X</keycap> 键
后的结果。 </para>
<figure id="hardware-conflicts">
<title>展开驱动程序清单</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/hdwrconf" format="PNG">
</imageobject>
</mediaobject>
</figure>
</step>
<step>
<para>停用任何您没有的设备的驱动程序。要停用一个设备,用方向键移动将该
设备反白然后按下 <keycap>Del</keycap> 键,则此设备驱动程序就会被移到
<literal>Inactive Drivers(停用设备区)</literal> 列表。</para>
<para>如果您不小心将一个设备停用,那么请按 <keycap>Tab</keycap> 切换到
<literal>Inactive Drivers</literal> 区, 选择被停用的设备,然后按下
<keycap>Enter</keycap> 键将它移回可用设备区。</para>
<warning>
<para>请不要移除 <devicename>sc0</devicename>。这个驱动程序是控制屏幕
用的,除非您是通过串行线进行安装,否则请不要移除它。</para>
</warning>
<warning>
<para>如果您用的是 USB 键盘才可以停用 <devicename>atkbd0</devicename> 用一般
的键盘请保留此 <devicename>atkbd0</devicename> 设备驱动程序。</para>
</warning>
</step>
<step>
<para>如果现在显示没有冲突,那么您可以跳过这一步骤。否则,剩下的冲突还是必
须解决。如果在信息显示区没有看到 <quote>allowed conflict(允许冲突)</quote>
那么您必须改变这边显示的 IRQ 及内存地址, <emphasis>或</emphasis> 必须变更设备
上面的 IRQ 及内存地址。</para>
<para>要改变设备驱动程序的 IRQ 及 IO 端口地址,选择要变更的驱动程序然后
按 <keycap>Enter</keycap> 键。之后等光标移到第三区(信息显示区)时候您就
可以理发这些设置。您应该输入之前做硬件清单列表的时候所记录的 IRQ 及 IO 端
口地址。要完成更改请按 <keycap>Q</keycap> 键并回到可用设备区。</para>
<para>如果您不确定该设定什么值,那么可以试试看 <literal>-1</literal>。
有些 FreeBSD 驱动程序在搜寻设备的时候可以安全找出设备的正确设定值;所以这里设置
<literal>-1</literal> 就是告诉这些驱动程序自行去尝试找出合适的设置。</para>
<para>如果要直接在设备硬件上改变设定值,设定的方法每种设备都不大相同。有些
设备您必须将它从电脑中拆下来然后调整路线或是DIP开关其它的可能厂商会提供 DOS
工具软盘,里面有程序可以更改这些设定。不论是哪一种方式,您都应该参考设备所附
的使用手册。很明显地,改变这些设定值必须重新开机后才会生效,所以您必须重新进
入 FreeBSD 安装程序。</para>
</step>
<step>
<para>当所有的冲突都解决了以后,您会看到类似<xref linkend="userconfig-done">
的画面。</para>
<figure id="userconfig-done">
<title>没有冲突的设备驱动程序状态画面</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/probstart" format="PNG">
</imageobject>
</mediaobject>
</figure>
<para>如您所见,可用设备列表变得干净多了,只列出您系统中有的设备。</para>
<para>现在您可以储存所做的改变,然后进到下一个安装步骤。按 <keycap>Q</keycap>
键离开设备配置界面,您会看到下面的信息:</para>
<screen>Save these parameters before exiting? ([Y]es/[N]o/[C]ancel)</screen>
<para>回答 <keycap>Y</keycap> 保存配置到内存(安装完成后将后保存到磁盘)然后开始
探测设备。在设备探测完毕后,<application>sysinstall</application> 就会启动并且显
示它的主界面。(<xref linkend="sysinstall-main">)。</para>
<figure id="sysinstall-main">
<title>Sysinstall 主界面</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/main1" format="PNG">
</imageobject>
</mediaobject>
</figure>
</step>
</procedure>
</sect2>
<sect2 id="view-probe">
<title>查看设备探测的结果</title>
@ -1107,7 +879,7 @@ Mounting root from ufs:/dev/md0c
<title>介绍 Sysinstall</title>
<para><application>sysinstall</application> 是 FreeBSD 项目所提供的安装程序。
它以 console(控制台)为主,分为个菜单及画面让您配置及控制安装过程。</para>
它以 console(控制台)为主,分为个菜单及画面让您配置及控制安装过程。</para>
<para><application>sysinstall</application> 菜单画面由方向键、<keycap>Enter
</keycap>、 <keycap>Space</keycap>、以及其它按键所控制。在主画面的 Usage 菜单
@ -1171,7 +943,7 @@ Mounting root from ufs:/dev/md0c
<title>选择键盘对应(Keymap)菜单</title>
<para>如果要改变键盘按键的对应方式,请在主菜单选取 <guimenuitem>Keymap</guimenuitem>
然后按 <keycap>Enter</keycap> 键。一般情况下不改变项,除非您使用了非标准键盘或非
然后按 <keycap>Enter</keycap> 键。一般情况下不改变项,除非您使用了非标准键盘或非
美国键盘。</para>
<figure id="sysinstall-keymap">
@ -1396,7 +1168,7 @@ Mounting root from ufs:/dev/md0c
地显示出来,必须修改 FreeBSD 配置文件(译注:/etc/fstab才可以正确显示。</para>
<para>为了解决这些问题,在配置内核的时候可以叫 FreeBSD 直接用 IDE 设备所
在的位置来命名,而不是要据的到的顺序。使用这种方式的话,在 secondary master
在的位置来命名,而不是依据找到的顺序。使用这种方式的话,在 secondary master
的 IDE 设备就 <emphasis>永远是</emphasis> <devicename>ad2</devicename>
即使您的系统中没有<devicename>ad0</devicename> 或 <devicename>ad1</devicename>
也不受影响。</para>
@ -1537,8 +1309,8 @@ Mounting root from ufs:/dev/md0c
键继续安装过程。</para>
</sect2>
<sect2 id="disklabeleditor">
<title>使用<application>Disklabel</application>
<sect2 id="bsdlabeleditor">
<title>使用 <application>bsdlabel</application>
创建分区</title>
<para>您现在必须在刚刚建立好的 slice 中规划一些 label。 请注意, 每个 label 的代号是
@ -1583,7 +1355,7 @@ Mounting root from ufs:/dev/md0c
<entry>100&nbsp;MB</entry>
<entry>这是一个根文件系统root filesystem。任何其它的文件系统都会
挂在根目录(译注:用根目录比较亲切)下面。 100&nbsp;MB 对于目录来说
挂在根目录(译注:用根目录比较亲切)下面。 100&nbsp;MB 对于目录来说
是合理的大小因为您往后并不会在这里存放太多的数据在安装FreeBSD后会
用掉约 40&nbsp;MB 的根目录空间。剩下的空间是用来存放临时文件用的,同时,
您也应该预留一些空间因为以后的FreeBSD版本可能会需要较多的
@ -1683,7 +1455,7 @@ Mounting root from ufs:/dev/md0c
<entry>剩下的硬盘空间</entry>
<entry>剩下的空间是一个的分区,最简单的做法是将之规划为
<entry>剩下的空间是一个的分区,最简单的做法是将之规划为
<literal>a</literal>分区而不是<literal>e</literal>分区。然而,
习惯上<literal>a</literal>分区是保留给根目录 (<filename>/</filename>)
用的。您不一定要遵守这个习惯,但是<application>sysinstall</application>
@ -1730,7 +1502,7 @@ Mounting root from ufs:/dev/md0c
<mediaobject>
<imageobject>
<imagedata fileref="install/disklabel-ed1" format="PNG">
<imagedata fileref="install/bsdlabel-ed1" format="PNG">
</imageobject>
</mediaobject>
</figure>
@ -1741,7 +1513,7 @@ Mounting root from ufs:/dev/md0c
的大小不一定合适。但是没有关系,您并不一定要使用预设的大小。</para>
<note>
<para>从 FreeBSD&nbsp;4.5开始,自动配置会给<filename>/tmp</filename>
<para>默认情况下会给<filename>/tmp</filename>
目录一个独立分区,而不是附属在 <filename>/</filename> 之下。这样可以
避免将一些临时文件放到根目录中(译注:可能会用完根目录空间)。</para>
</note>
@ -1751,7 +1523,7 @@ Mounting root from ufs:/dev/md0c
<mediaobject>
<imageobject>
<imagedata fileref="install/disklabel-auto" format="PNG">
<imagedata fileref="install/bsdlabel-auto" format="PNG">
</imageobject>
</mediaobject>
</figure>
@ -1782,7 +1554,7 @@ Mounting root from ufs:/dev/md0c
<mediaobject>
<imageobject>
<imagedata fileref="install/disklabel-root1" format="PNG">
<imagedata fileref="install/bsdlabel-root1" format="PNG">
</imageobject>
</mediaobject>
</figure>
@ -1797,12 +1569,12 @@ Mounting root from ufs:/dev/md0c
<mediaobject>
<imageobject>
<imagedata fileref="install/disklabel-root2" format="PNG">
<imagedata fileref="install/bsdlabel-root2" format="PNG">
</imageobject>
</mediaobject>
</figure>
<para>输入完大小后接着您要建立的分区是文件系统还是交换空间,如
<para>输入完大小后接着您要建立的分区是文件系统还是交换空间,如
<xref linkend="sysinstall-label-type">所示。第一个分区是文件系统,所以
确认选择 <guimenuitem>FS</guimenuitem>后按<keycap>Enter</keycap>键。</para>
@ -1811,7 +1583,7 @@ Mounting root from ufs:/dev/md0c
<mediaobject>
<imageobject>
<imagedata fileref="install/disklabel-fs" format="PNG">
<imagedata fileref="install/bsdlabel-fs" format="PNG">
</imageobject>
</mediaobject>
</figure>
@ -1827,7 +1599,7 @@ Mounting root from ufs:/dev/md0c
<mediaobject>
<imageobject>
<imagedata fileref="install/disklabel-root3" format="PNG">
<imagedata fileref="install/bsdlabel-root3" format="PNG">
</imageobject>
</mediaobject>
</figure>
@ -1846,7 +1618,7 @@ Mounting root from ufs:/dev/md0c
<mediaobject>
<imageobject>
<imagedata fileref="install/disklabel-ed2" format="PNG">
<imagedata fileref="install/bsdlabel-ed2" format="PNG">
</imageobject>
</mediaobject>
</figure>
@ -2938,13 +2710,13 @@ To change any of these settings later, edit /etc/rc.conf
<title>配置其他网络服务</title>
<para>配置网络服务总是让那些新手敬畏,因为他们缺乏在这个领域应有的基础知识。
网络,包括因特网有许多关于现代操作系统包括 &os;;的评论文章。这些文章对于
网络,包括因特网有许多关于现代操作系统包括 &os; 的评论文章。这些文章对于
理解&os;拥有的广泛的网络性能是非常有帮助的。在安装这些服务的过程中也能让
用户理解它们可用的各种服务。</para>
<para>网络服务是一些可以使在网络的任何人来访问您提供的服务的程序。有许多
努力想使这些程序不会有任何的 <quote>伤害</quote>。不幸的是,这些程序并
不是十全十美的,黑客可能会掌握程序中的一些露洞来进行击。只启用一些您
不是十全十美的,黑客可能会掌握程序中的一些露洞来进行击。只启用一些您
熟悉的和需要的服务十分重要。如果您存在一些疑虑或没有启用这些服务的必要
那么最好不要使用这些服务。您可以事后通过运行
<application>sysinstall</application> 程序或使用
@ -3027,9 +2799,9 @@ To change any of these settings later, edit /etc/rc.conf
<acronym>MTA</acronym>二者之一。</para>
<para>选择 <acronym>MTA</acronym>或不选择它之后,网络配置菜单的下一
个选项是 <guimenuitem>NFS client</guimenuitem> 客端程序。</para>
个选项是 <guimenuitem>NFS client</guimenuitem> 客端程序。</para>
<para> <guimenuitem>NFS client</guimenuitem> 客端可以使系统通过 <acronym>NFS</acronym>
<para> <guimenuitem>NFS client</guimenuitem> 客端可以使系统通过 <acronym>NFS</acronym>
与服务器进行通信。
<acronym>NFS</acronym> 服务器通过<acronym>NFS</acronym>
协议可以使其它在网络上的机器来访问自己的文件系统。如果这台机器要作为一台
@ -3038,7 +2810,7 @@ To change any of these settings later, edit /etc/rc.conf
<para>接下来的 <acronym>NFS</acronym> 服务器选项,可以允许您把系统设备成
为一台<acronym>NFS</acronym> 服务器。这需要更多的信息来启动远程过程调
用( <acronym>RPC</acronym>)服务。 <acronym>RPC</acronym>用来连接调
用(<acronym>RPC</acronym>)服务。 <acronym>RPC</acronym>用来连接调
用两台机器上的程序。</para>
<para>下一项是 <guimenuitem>Ntpdate</guimenuitem> 选项,处理时间同步。当选择它后,
@ -3177,11 +2949,11 @@ To change any of these settings later, edit /etc/rc.conf
</figure>
<para>您可以通过许多方法来配置 X server。在认真读了所有的说明后
请使用方向键来选择一种配置方式,并按<keycap>Enter</keycap>
请使用方向键来选择一种配置方式,并按<keycap>Enter</keycap>
键确认。</para>
<para><application>xf86cfg</application> 和
<application>xf86cfg -textmode</application> 配置方法可能会使屏幕黑屏一会
<application>xf86cfg -textmode</application> 配置方法可能会使屏幕黑屏一会
过一会即会启动。要有耐心。</para>
@ -3341,7 +3113,7 @@ Please answer the following question with either 'y' or 'n'.
Do you want to select additional XKB options (group switcher,
group indicator, etc.)? n</screen>
<para>接下来,我们要配置显示器。不要超过您显示器的刷新频率,这样可
<para>接下来,我们要配置显示器。不要超过您显示器的刷新频率,这样可
会损坏您的显示器。如果您有疑问,请参考其它信息后再做配置。</para>
<screen>Now we want to set the specifications of the monitor. The two critical
@ -3625,7 +3397,7 @@ failed. Would you like to try again?
就可以使用 <application>xvidtune</application> 来调整显示的高度和宽度以及显示器的中心位置。</para>
<para>一些不适当的配置可能会损坏您的设备。如果在使用它们前存在疑虑,请不要
安装它们。可以使用监视器的控制工具来调整窗口的显示。与文本显示模式不同
安装它们。可以使用监视器的控制工具来调整X窗口的显示。与文本显示模式不同
它更容易损坏设备。</para>
<para>在调整这些参数前,请阅读 &man.xvidtune.1; 手册。</para>
@ -4202,8 +3974,8 @@ Please press any key to reboot.</screen>
<para>先检查您的硬件,确保您的硬件被支持。</para>
<para>如果您的硬件能够被持,但还是会出问题,那就重新启动计算机。当出现
内核配置信息的时候重新配置一下硬件信息。因为绝大多数硬件的IRQIO地
<para>如果您的硬件能够被持,但还是会出问题,那就重新启动计算机。当出现
内核配置信息的时候重新配置一下硬件信息。因为绝大多数硬件的IRQIO地
DMA通道都有它们的生产商预先进行默认配置。如果您的硬件已经重新装配了
就需要使用配置编辑器告诉FreeBSD到哪里去找相关信息。</para>
@ -4222,7 +3994,7 @@ Please press any key to reboot.</screen>
<warning>
<para>不要禁用安装过程中您会用到的驱动程序, 例如显示 <devicename>sc0</devicename>。
如果安装程序在修改了某些配置之后安装程序行为诡或失败,
如果安装程序在修改了某些配置之后安装程序行为诡或失败,
您可能修改或删除了某些不应删除的组件。
如果遇到这种情况, 应重新启动以便尝试其他设置。</para>
</warning>
@ -4604,8 +4376,7 @@ Please press any key to reboot.</screen>
这样您可以安装 FreeBSD 并从网上通过 ports/packages 系统 (参见
<xref linkend="ports">) 根据需要下载和安装第三方软件包。</para>
<para>如果您正打算安装
&os;&nbsp;4.<replaceable>X</replaceable> 版本,
<para>如果您正打算安装 &os;
并同时选择一些第三方软件包,
则可以下载第一张光盘的镜像文件。</para>
@ -4712,11 +4483,11 @@ Please press any key to reboot.</screen>
<para>如果您在另外一台FreeBSD的机器上做了启动盘的话进行格式化是一个不
错的主意。虽然您不需要把每张盘都做成DOS文件系统。您也可以使用
<command>disklabel</command> 和 <command>newfs</command>
<command>bsdlabel</command> 和 <command>newfs</command>
命令来创建一个UFS文件系统具体操作按下面的顺序进行</para>
<screen>&prompt.root; <userinput>fdformat -f 1440 fd0.1440</userinput>
&prompt.root; <userinput>disklabel -w -r fd0.1440 floppy3</userinput>
&prompt.root; <userinput>bsdlabel -w -r fd0.1440 floppy3</userinput>
&prompt.root; <userinput>newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0</userinput></screen>
<note>
@ -4764,11 +4535,6 @@ Please press any key to reboot.</screen>
每一个发行包都在一个目录中,例如 <emphasis>base</emphasis> 发行包可以在 <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/base/">&rel.current;/base/</ulink>目录中找到。</para>
<note>
<para>在 4.X 和其它老版本的 &os; the <quote>base</quote>发行包被叫做
<quote>bin</quote>. 如果您使用这些版本的话请调整上例中的命令和URLS.</para>
</note>
<para>对很多发行包来说,如果您希望从 &ms-dos;分区安装的话(您有足够的空间),
安装 <filename>c:\freebsd</filename> &mdash; 下的每个文件-这个
<literal>BIN</literal> 发行包只是最低限度的要求。</para>
@ -4782,7 +4548,7 @@ Please press any key to reboot.</screen>
<secondary>from QIC/SCSI Tape</secondary>
</indexterm>
<para>从磁带安装也许是最简单的方式,比在线使用 FTP 安装或使用 CDROM 还快。
安装的程序假设是简单地被压缩在磁带上。在您到所有配置文件后,简单的解开它们,
安装的程序假设是简单地被压缩在磁带上。在您得到所有配置文件后,简单地解开它们,
用下面的命令:</para>
<screen>&prompt.root; <userinput>cd /freebsd/distdir</userinput>
@ -4848,8 +4614,8 @@ Please press any key to reboot.</screen>
<para>通过网络安装您可能需要知道IP地址地址掩码还有机器的名字。如果您
通过PPP进行安装就不需要静态的IP地址IP地址会由ISP给您自动指派。您的系统
管理员会告诉您通过网络安装的细节。如果您通过主机名而不是IP地址来访问其它主
需要有一个域名服务器或一个网关地址如果您使用PPP进行安装那它就您的
ISP的IP地址。如果您要通过一个HTTP的代理服务器进行FTP安装需要一个代理
需要有一个域名服务器或一个网关地址如果您使用PPP进行安装那它就您的
ISP的IP地址。如果您要通过一个HTTP的代理服务器进行FTP安装需要一个代理
服务器地址。如果您不知道这些,在安装 <emphasis>之前</emphasis>可以询问
您的系统管理员或您的ISP服务商。</para>

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Chinese Documentation Project
Original Revision: 1.163
Original Revision: 1.164
$FreeBSD$
-->
@ -248,14 +248,6 @@
</para>
</listitem>
<listitem>
<para>如果您正运行 &os; 4.0 以前的版本, 而且您
<emphasis>不是</emphasis> 准备使用
<command>make buildworld</command> 来升级到 &os;&nbsp;4.0
或更高版本的话, 则应使用方法1。
</para>
</listitem>
<listitem>
<para> 如果您在没有升级源代码的情况下编译一个新内核(也许您只想为内核添加一个新的选项,
如<literal>IPFIREWALL</literal>),可以使用任何一种方法。
@ -374,27 +366,13 @@
linkend="kernelconfig-noboot">无法启动</link> 请参考那一节。</para>
<note>
<para>在 &os; 4.X 以及更早的版本中, 内核被安装到
<filename>/kernel</filename> 而模块则放到 <filename
class="directory">/modules</filename> 旧的内核则被备份到
<filename>/kernel.old</filename>。
其他与启动过程相关的文件, 如
&man.loader.8; 以及配置则放在
<para>其他与启动过程相关的文件, 如
&man.loader.8; 及其配置, 则放在
<filename>/boot</filename>。 第三方或定制的模块也可以放在
<filename class="directory">/modules</filename>
<filename class="directory">/boot/kernel</filename>
不过应该注意保持模块和内核的同步时很重要的,
否则会导致不稳定和错误。</para>
</note>
<note>
<para>如果添加了新设备 (例如声卡)
并在运行 &os;&nbsp;4.X 或更早的版本,
则可能好需要在
<filename class="directory">/dev</filename> 目录中添加它们的设备节点之后才能使用。
欲了解详情,请参考本章稍后的 <link
linkend="kernelconfig-nodes">制作设备节点</link>
一节。</para>
</note>
</sect1>
<sect1 id="kernelconfig-config">
@ -414,12 +392,7 @@
<primary>内核</primary>
<secondary>NOTES</secondary>
</indexterm>
<indexterm>
<primary>kernel</primary>
<secondary>LINT</secondary>
</indexterm>
<indexterm><primary>NOTES</primary></indexterm>
<indexterm><primary>LINT</primary></indexterm>
<indexterm>
<primary>内核</primary>
<secondary>配置文件</secondary>
@ -438,24 +411,8 @@
找到。</para>
<note>
<para><filename>NOTES</filename> 在 &os;&nbsp;4.X 中并不存在。
作为替代, 请参考 <filename>LINT</filename> 文件来获得关于
<filename>GENERIC</filename> 中的选项和设备详细介绍。
<filename>LINT</filename> 在 4.X 中完成了两项使命:
为构建定制内核提供可选的选项, 以及提供尽可能多的调整为非默认值的选项。
这么做背后的原因是这种配置文件能够帮助 (并且仍然能)
测试新代码以及现有代码的修改是否会造成与内核其他部分的冲突。
然而, 内核配置的架构在 5.X 中经历了巨大的变化;
其中的一个例子是设备驱动的选项被移到了 <literal>hints</literal>
中, 从而可以随时修改并在启动时动态加载,
而 <filename>LINT</filename> 不能再包含这些 hints 了。
由于这个以及许多其他原因,
决定将 <filename>LINT</filename> 改名为
<filename>NOTES</filename> 而保留它的主要是为了前面所说的第一个原因:
给出可用的选项, 为用户提供方便。</para>
<para>在 &os; 5.X 和以后的版本中您仍然可以通过下面的命令生成
<filename>LINT</filename> 文件:</para>
<para>如果您需要一份包含所有选项的文件,
例如用于测试目的, 则应以 <username>root</username> 身份执行下列命令:</para>
<screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf &amp;&amp; make LINT</userinput></screen>
</note>
@ -545,11 +502,11 @@ cpu I686_CPU</programlisting>
<programlisting>#To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" # Default places to look for devices.</programlisting>
<para>在&os; 5.X和更新的版本里面&man.device.hints.5;被用来配置设备驱动选项。
在启动的时候&man.loader.8;将会检查缺省位置<filename>/boot/devicehints</filename>。
使用<literal>hints</literal>选项您就可以把这些hints静态编译进内核。
这样就没有必要在<filename>/boot</filename>下创建<filename>devicehints</filename>。
</para>
<para>&man.device.hints.5; 可以用来配置设备驱动选项。
在启动的时候 &man.loader.8; 将会检查缺省位置 <filename>/boot/devicehints</filename>。
使用 <literal>hints</literal> 选项您就可以把这些 hints 静态编译进内核。
这样就没有必要在
<filename>/boot</filename>下创建<filename>devicehints</filename>。</para>
<!-- XXX: Add a comment here that explains when compiling hints into
the kernel is a good idea and why. -->
@ -659,24 +616,20 @@ options NFS_ROOT # NFS usable as /, requires NFSCLIENT</progra
<programlisting>options PROCFS # Process filesystem</programlisting>
<para>进程文件系统。 这是一个挂接在 <filename>/proc</filename>
的一个 <quote>伪装的</quote> 文件系统,
允许类似 &man.ps.1; 这样的程序给出正在运行的进程的更多信息。
在 &os; 5.X 和更高版本中, 绝大多数情况下都不再需要
<literal>PROCFS</literal>
因为绝大多数调试和监视工具都已经进行了修改,
不再需要 <literal>PROCFS</literal> 与 &os; 4.X
不同, 新安装的 &os; 5.X 默认情况下并不挂接它。
此外, 6.X-CURRENT 内核在使用
<literal>PROCFS</literal> 时还必须加入
<literal>PSEUDOFS</literal> 的支持:</para>
的一个 <quote>假扮的</quote> 文件系统, 其作用是允许类似 &man.ps.1;
这样的程序给出正在运行的进程的进一步信息。 多数情况下,
并不需要使用 <literal>PROCFS</literal> 因为绝大多数调试和监控工具,
已经进行了一系列修改, 使之不再依赖
<literal>PROCFS</literal> 默认安装的系统中并不会挂接这一文件系统。
此外, 在 6.X-STABLE 内核中,
如果希望使用 <literal>PROCFS</literal>
就必须加入 <literal>PSEUDOFS</literal> 的支持:</para>
<programlisting>options PSEUDOFS # Pseudo-filesystem framework</programlisting>
<para><literal>PSEUDOFS</literal> 在 &os; 4.X 上不可用。</para>
<programlisting>options GEOM_GPT # GUID Partition Tables.</programlisting>
<para>这个选项提供了在一个磁盘上使用大量的分区的能力。</para>
<para>这个选项提供了在磁盘上使用大量的分区的能力。</para>
<programlisting>options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]</programlisting>
@ -903,8 +856,7 @@ device atkbdc # AT keyboard controller</programlisting>
<programlisting># splash screen/screen saver
device splash # Splash screen and screen saver support</programlisting>
<para>启动时出现了 splash 画面!屏幕保护程序也需要它。
在 &os;&nbsp;4.X 中,应写作 <literal>pseudo-device splash</literal> 。</para>
<para>启动时的 splash 画面! 屏幕保护程序也需要这一选项。</para>
<programlisting># syscons is the default console driver, resembling an SCO console
device sc</programlisting>
@ -914,7 +866,7 @@ device sc</programlisting>
<filename>termcap</filename> 这样的终端数据库函数库赖访问控制台,
因此无论您使用这个或与 <literal>VT220</literal> 兼容的
<literal>vt</literal> 都没有什么关系。
如果您在运行这种控制台时使用全屏幕程序时发生问题, 在登录之后将
如果您在运行这种控制台时使用全屏幕程序时发生问题, 在登录之后将
<envar>TERM</envar> 变量设置为 <literal>scoansi</literal>。</para>
<programlisting># Enable this for the pcvt (VT220 compatible) console driver
@ -1104,9 +1056,7 @@ device loop # Network loopback</programlisting>
<para>这是 TCP/IP 的通用回环设备。 如果您 telnet
或 FTP 到 <hostid>localhost</hostid> (也就是 <hostid
role="ipaddr">127.0.0.1</hostid>) 则将通过这个设备回到本机。
这个设备是 <emphasis>必需的</emphasis>。 在
&os;&nbsp;4.X 中, 则应使用 <literal>pseudo-device
loop</literal>。</para>
这个设备是 <emphasis>必需的</emphasis>。</para>
<programlisting>device mem # Memory and kernel memory devices</programlisting>
@ -1125,32 +1075,24 @@ device loop # Network loopback</programlisting>
<programlisting>device ether # Ethernet support</programlisting>
<para><literal>ether</literal> 只有在使用以太网卡时才需要。
它包含了通用的以太网协议代码。在
&os;&nbsp;4.X 中应写作 <literal>pseudo-device
ether</literal>.</para>
它包含了通用的以太网协议代码。</para>
<programlisting>device sl # Kernel SLIP</programlisting>
<para><literal>sl</literal> 用以提供 SLIP 支持。
目前它几乎已经完全被 PPP 取代了, 因为后者更容易配置,
而且更适合调制解调器之间的连接, 并提供了更强大的功能。
在 &os;&nbsp;4.X 中, 这一行应写作 <literal>pseudo-device
sl</literal>.</para>
而且更适合调制解调器之间的连接, 并提供了更强大的功能。</para>
<programlisting>device ppp # Kernel PPP</programlisting>
<para>这一选项用以提供内核级的 PPP 支持, 用于拨号连接。
也有以用户模式运行的 PPP 实现, 使用
<literal>tun</literal> 并提供包括按需拨号在内的更为灵活的功能。
在 &os;&nbsp;4.X 中应写作
<literal>pseudo-device ppp</literal>.</para>
<literal>tun</literal> 并提供包括按需拨号在内的更为灵活的功能。</para>
<programlisting>device tun # Packet tunnel.</programlisting>
<para>它会被用户模式的 PPP 软件用到。
参考本书的 <link linkend="userppp">PPP</link> 以了解更多的细节。
在 &os;&nbsp;4.X 中则应使用 <literal>pseudo-device
tun</literal>。</para>
参考本书的 <link linkend="userppp">PPP</link> 以了解更多的细节。</para>
<programlisting><anchor id="kernelconfig-ptys">
device pty # Pseudo-ttys (telnet etc)</programlisting>
@ -1161,35 +1103,21 @@ device pty # Pseudo-ttys (telnet etc)</programlisting>
<application>xterm</application> 以及一些其它程序如
<application>Emacs</application> 等。</para>
<note><para>在 &os;&nbsp;4.X 中,
您应该使用 <literal>pseudo-device pty
<replaceable>number</replaceable></literal>。 <literal>pty</literal>
后面的 <replaceable>number</replaceable> 用于指定要创建的
<literal>pty</literal> 数量。 如果您需要多于默认的同时
16 个 <application>xterm</application> 窗口或远程登录会话,
则应相应的提高这个值, 其上限是 256。</para></note>
<programlisting>device md # Memory <quote>disks</quote></programlisting>
<para>内存盘伪设备。 对于 &os;&nbsp;4.X 则应使用
<literal>pseudo-device md</literal>。</para>
<para>内存盘伪设备。</para>
<programlisting>device gif # IPv6 and IPv4 tunneling</programlisting>
<para>它实现了在 IPv4 上的 IPv6 隧道、 IPv6 上的 IPv4 隧道、
IPv4 上的 IPv4 隧道、 以及IPv6 上的 IPv6隧道。
从 &os;&nbsp;4.4 开始 <literal>gif</literal> 设备具有了
<quote>自动克隆</quote> 能力, 因此只需指定
<literal>pseudo-device gif</literal>。
更早版本的 &os;&nbsp;4.X 需要手工指定一个数字, 例如
<literal>pseudo-device gif 4</literal>。</para>
<literal>gif</literal> 设备是
<quote>自动克隆</quote> 的, 它会根据需要自动创建设备节点。</para>
<programlisting>device faith # IPv6-to-IPv4 relaying (translation)</programlisting>
<para>这个伪设备能捕捉发给它的数据包,并把它们转发给
IPv4/IPv6 翻译服务程序。在
&os;&nbsp;4.X 中,应写作
<literal>pseudo-device faith 1</literal>。</para>
IPv4/IPv6 翻译服务程序。</para>
<programlisting># The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
@ -1198,9 +1126,7 @@ device bpf # Berkeley packet filter</programlisting>
<para>这是 Berkeley 包过滤器。这个伪设备允许网络接口被置于混杂模式,
从而,截获广播网 (例如,以太网) 上的每一个数据包。
截获的数据报可以保存到磁盘上,也可以使用 &man.tcpdump.1; 程序来分析。
在 &os;&nbsp;4.X 中,应写作
<literal>pseudo-device bpf</literal>。</para>
截获的数据报可以保存到磁盘上,也可以使用 &man.tcpdump.1; 程序来分析。</para>
<note>
<para>&man.bpf.4; 设备也被用于
@ -1253,13 +1179,12 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
因为4GB的限制Intel在&pentium;及后续的CPUs上增加了36位物理地址的支持。
</para>
<para>&intel; &pentium; Pro和后续的CPUs允许内存地址扩展到64GB.(<acronym>PAE</acronym>)
&os;通过<option>PAE</option>选项来支持这个能力。
在&os; 4.X系列里面4.9-RELEASE开始支持&os; 5.X系列里面从5.1-RELEASE开始支持。
in the 4.X series of &os; beginning with 4.9-RELEASE and
in the 5.X series of &os; beginning with 5.1-RELEASE。因为Intel架构的限制
高于或低于4GB都没有什么区别内存分配到大于4GB仅仅是增加了可利用的内存池。
</para>
<para>物理地址扩展 (<acronym>PAE</acronym>) 是
&intel; &pentium; Pro和后续的 CPU 提供的一种允许将内存地址扩展到 64GB
的功能, &os; 的所有最新版本均支持此功能, 并通过
<option>PAE</option> 选项来启用这个能力。 因为Intel架构的限制
高于或低于 4GB 都没有什么区别,
超过 4GB 的内存分配只是简单地添加到可用内存池中。</para>
<para>为了让内核支持<acronym>PAE</acronym>,只要增加下面这一行到配置文件:</para>
@ -1284,10 +1209,11 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
</listitem>
<listitem>
<para>没有使用&man.bus.dma.9;界面的设备驱动程序在打开了<acronym>PAE</acronym>支持的内核里面
会导致数据腐化corruption。因为这个原因&os; 5.X的<filename>PAE</filename>内核配置文件
把所有在打开了<acronym>PAE</acronym>的内核上不能工作的驱动程序排除在外。
</para>
<para>没有使用 &man.bus.dma.9; 接口的设备驱动程序在打开了
<acronym>PAE</acronym> 支持的内核中会导致数据损坏。
因为这个原因, <filename>PAE</filename> 内核配置文件
会把所有在打开了 <acronym>PAE</acronym>
的内核上不能工作的驱动程序排除在外。</para>
</listitem>
<listitem>
@ -1311,64 +1237,6 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
</sect2>
</sect1>
<sect1 id="kernelconfig-nodes">
<title>创建设备节点</title>
<indexterm><primary>设备节点</primary></indexterm>
<indexterm>
<primary><command>MAKEDEV</command></primary>
</indexterm>
<para><emphasis>如果您在运行 &os;&nbsp;5.0 或更高版本,
则可以略过这节。 新版本使用
&man.devfs.5; 来分配设备节点, 这一过程对用户是透明的。</emphasis></para>
<para>内核中的几乎每个设备在 <filename>/dev</filename> 目录中都有对应的
<quote>节点</quote> 项。 这些节点看上去像是普通的文件,
但事实上却是程序在使用对应的设备时, 与内核联系的入口。
Shell 脚本 <filename>/dev/MAKEDEV</filename>
在首次安装操作系统时会创建几乎所有能够支持的设备节点。
然而, 它并不会创建 <emphasis>所有的</emphasis> 节点,
因此当您增加了某些设备的支持时, 就需要检查这个目录中是否有对应的项了,
如果没有, 就应该添加它们。 这有一个简单的例子:</para>
<para>假定在内核中加入了IDE CD-ROM的支持。可以这样加入</para>
<programlisting>device acd0</programlisting>
<para>这意味着您应当在<filename>/dev</filename>目录下找一些以<filename>acd0</filename>为起点的入口,
通常后面有一个字母,像是以<literal>c</literal>,或者<literal>r</literal>开头,表示这是一个<quote>raw</quote>设备。
如果那些文件不在那儿,就必须改变到<filename>/dev</filename>目录然后键入:</para>
<indexterm>
<primary><command>MAKEDEV</command></primary></indexterm>
<screen>&prompt.root; <userinput>sh MAKEDEV acd0</userinput></screen>
<para>这些脚本完成后,您要在<filename>/dev</filename>目录下确认有<filename>acd0c</filename>和
<filename>racd0c</filename>等几个入口,这表示程序已经正确执行。
</para>
<para>以下是加入声卡节点的例子:</para>
<screen>&prompt.root; <userinput>sh MAKEDEV snd0</userinput></screen>
<note>
<para>当创建完诸如声卡这样的设备节点时,如果其他人有权访问您的机器,
可能有必要在<filename>/etc/fbtab</filename>文件中添加这些节点来保护系统安全。
更多的信息参考&man.fbtab.5;
</para>
</note>
<para>依上述的简单程序,建立任何不在<filename>GENERIC</filename>里的硬件设备节点
</para>
<note>
<para> 所有的SCSI控制器都使用一样的设备节点所以您无须重新建立节点。
另外网卡与SLIP/PPP虚拟设备并没有任何设备节点所以您不必担心怎么建立节点。
</para>
</note>
</sect1>
<sect1 id="kernelconfig-trouble">
<title>如果出现问题怎么办</title>
@ -1403,25 +1271,6 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
</listitem>
</varlistentry>
<varlistentry>
<term>安装新内核失败:</term>
<listitem>
<para>如果内核编译得很顺利, 但安装失败
(即 <command>make install</command> 或
<command>make installkernel</command> 命令失败)
第一件事是检查您的系统是否是以 1 或更高的安全级运行的
(参见 &man.init.8;)。 内核安装过程将尝试去掉原有内核的
immutable (不可改) 标志, 并在新的内核上设置它。
由于安全级 1 或更高的安全级会阻止修改系统中任何文件的这个标志,
因此安装内核需要 0 或者更低的安全级。</para>
<para>不过这只对 &os; 4.X 以及更早的版本有效。
&os; 5.X 以及之后的版本并不会给内核设置不可改标志,
因此安装失败可能说明发生了更深层次的问题。</para>
</listitem>
</varlistentry>
<varlistentry>
<term>内核无法启动:<anchor
id="kernelconfig-noboot"></term>
@ -1430,9 +1279,9 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
<para>如果您的内核无法启动, 或不识别您的设备, 千万别慌!
非常幸运的是, &os; 有一个很好的机制帮助您从不兼容的内核恢复。
在 &os; 启动加载器那里简单地选择一下要启动的内核就可以了。
当系统在引导菜单的 10 秒倒计时时进入它。 按下除了
<keycap>Enter</keycap> 之外的任意键, <command>unload</command>
然后输入
当系统在引导菜单的 10 秒倒计时时进入它 方法是选择 <quote>Escape to a loader
prompt</quote> 选项, 其编号为 6。 输入
<command>unload kernel</command> 然后输入
<command>boot /boot/<replaceable>kernel.old</replaceable>/kernel</command>
或者其他任何一个可以正确引导的内核即可。
当重新配置内核时, 保持一个已经证明能够正常启动的内核永远是一个好习惯。</para>
@ -1457,20 +1306,6 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
<screen>&prompt.root; <userinput>mv /boot/kernel /boot/kernel.bad</userinput>
&prompt.root; <userinput>mv /boot/<replaceable>kernel.good</replaceable> /boot/kernel</userinput></screen>
<para>对于 &os; 5.X 之前的版本, 正确的
<quote>解除</quote> <command>make</command>
所实施的保护的命令 (为了把另一个内核永久性地挪回来) 是:</para>
<screen>&prompt.root; <userinput>chflags noschg /kernel</userinput></screen>
<para>如果您发现您不能这样做您的系统的安全级别可能大于0了。在<filename>/etc/rc.conf</filename>里面编辑
<literal>kern_securelevel</literal>并把它设置为<literal>-1</literal>然后重启。
当您很满意这个内核的时候,您可以再把设置改回去。</para>
<para>另外,如果您要<quote>锁住</quote>内核或其他文件,以致它不能被移动或修改,
可以用下面的命令:</para>
<screen>&prompt.root; <userinput>chflags schg /kernel</userinput></screen>
</note>
</listitem>
</varlistentry>
@ -1480,7 +1315,7 @@ device fwe # Ethernet over FireWire (non-standard!)</programl
<listitem>
<para>如果您安装了一个与系统中内建工具版本不同的内核,
例如在 4.x 系统上安装了 5.x 的内核, 许多用于检查系统状态的工具如
例如在 -STABLE 系统上安装了 -CURRENT 的内核, 许多用于检查系统状态的工具如
&man.ps.1; 和 &man.vmstat.8; 都将无法正常使用。
您应该 <link linkend="makeworld">重新编译一个和内核版本一致的系统</link>。
这也是为什么一般不鼓励使用与系统其他部分版本不同的内核的一个主要原因。</para>

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Chinese Documentation Project
Original Revision: 1.118
Original Revision: 1.119
$FreeBSD$
-->
@ -427,12 +427,8 @@ keychange="<replaceable>fkey_number sequence</replaceable>"</programlisting>
<primary><application>moused</application></primary>
</indexterm>
<para>默认情况下, &man.syscons.4;驱动程序的鼠标指针在字符集中占用0xd0-0xd3的范围。
如果您的语言使用这个范围,您必须把指针范围移出这个范围。
要在5.0以前的FreeBSD版本中启用工作区需要在您的内核中添加下面这行</para>
<programlisting>options SC_MOUSE_CHAR=0x03</programlisting>
<para>对于 FreeBSD 4.4 和以后的版本, 需要在
如果您的语言使用这个范围,您必须把指针范围移出这个范围。
要绕过这个问题, 需要在
<filename>/etc/rc.conf</filename> 中加入:</para>
<programlisting>mousechar_start=3</programlisting>
@ -653,20 +649,14 @@ keychange="<replaceable>fkey_number sequence</replaceable>"</programlisting>
<itemizedlist>
<listitem>
<para>
对于FreeBSD 5.0以前的版本,添加下面这行到内核配置文件:
</para>
<programlisting>options SC_MOUSE_CHAR=0x03</programlisting>
<para>对于 FreeBSD 4.4 和更高版本把下面一行加到
<para>把下面一行加到
<filename>/etc/rc.conf</filename></para>
<programlisting>mousechar_start=3</programlisting>
</listitem>
<listitem>
<para>在<filename>/etc/rc.conf</filename>里面使用如下设置:</para>
<para>并在 <filename>/etc/rc.conf</filename> 里面增加如下设置:</para>
<programlisting>keymap="ru.koi8-r"
scrnmap="koi8-r2cp866"

View file

@ -1,7 +1,7 @@
<!--
The FreeBSD Documentation Project
Original Revision: 1.130
Original Revision: 1.131
$FreeBSD$
-->
@ -1399,9 +1399,7 @@ with 128&nbsp;MB
<title>安装FreeBSD</title>
<para>首先需要安装 FreeBSD。
有很多方法来完成这个工作 (FreeBSD&nbsp;4.3 通过 FTP
安装, 而 FreeBSD&nbsp;4.5 则是从 RELEASE CD
安装的)。 要了解进一步的情况请参考 <xref
有很多方法来完成这个工作。 要了解进一步的情况请参考 <xref
linkend="install-diff-media">。</para>
<sect3 id="disk-layout">
@ -1849,17 +1847,18 @@ options SEMMNS=1024 #number of semaphores in system
options SEMMNI=520 #number of semaphore identifiers
options SEMUME=100 #number of UNDO keys</programlisting>
<para>这篇文档中指定的最小值是来自&sap;。 没有针对Linux的描述
看看HP-UX的相关介绍了解更多信息。 安装4.6C SR2需要更多的内存
共享内存比 <application>&sap;</application> 和
<application>&oracle;</application> 需要的还多,
所以尽量为共享内存选一个大值。</para>
<para>这篇文档中指定的最小值是来自&sap;。没有针对Linux的描述看看HP-UX的相关介绍了解更多信息 。
安装4.6C SR2需要更多的内存共享内存比<application>&sap;</application>和
<application>&oracle;</application>需要的还多,所以尽量为共享内存选一个大值。
</para>
<note><para>FreeBSD&nbsp;4.5在&i386;上缺省应该设置<literal>MAXDSIZ</literal>和
<literal>DFLDSIZ</literal>到1&nbsp;GB。否则奇怪的错误像
<note><para>在 &i386; 上 的 FreeBSD 默认配置中,
应将 <literal>MAXDSIZ</literal> 和 <literal>DFLDSIZ</literal>
设置为 1&nbsp;GB。否则 会出现类似
<errorname>ORA-27102: out of memory</errorname>和
<errorname>Linux Error: 12: Cannot allocate memory</errorname>
会出现。</para></note>
这样的奇怪的错误。</para></note>
</sect3>
</sect2>

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
Original Revision: 1.65
Original Revision: 1.67
$FreeBSD$
-->
@ -411,7 +411,7 @@ test: biba/high</screen>
<sect4>
<title>标签高级配置</title>
<para>如下所示, 用于 <literal>比较: 区间+ 区间</literal> 的数值等级数:</para>
<para>如下所示, 用于 <literal>comparison:compartment+compartment</literal> 的标签等级数:</para>
<programlisting>biba/10:2+3+6(5:2+3-20:2+3+4+5+6)</programlisting>
@ -1483,7 +1483,7 @@ test: biba/low</screen>
:passwordtime=91d:\
:umask=022:\
:ignoretime@:\
:label=biba/10:</programlisting>
:label=biba/10(10-10):</programlisting>
<para>并在 default 用户 class 中加入:</para>
@ -1524,8 +1524,8 @@ mac_seeotheruids_load="YES"</programlisting>
<para>将 <username>nagios</username> 和
<username>www</username> 这两个用户归入不安全 class</para>
<screen>&prompt.root; <userinput>pw usermod nagios -L default</userinput></screen>
<screen>&prompt.root; <userinput>pw usermod www -L default</userinput></screen>
<screen>&prompt.root; <userinput>pw usermod nagios -L insecure</userinput></screen>
<screen>&prompt.root; <userinput>pw usermod www -L insecure</userinput></screen>
</sect2>
<sect2>
@ -1630,8 +1630,8 @@ default_labels socket ?biba</programlisting>
下面的命令将完成此工作:</para>
<screen>&prompt.root; <userinput>cd /etc/mail &amp;&amp; make stop &amp;&amp; \
setpmac biba/equal make start &amp;&amp; setpmac biba/10 apachectl start &amp;&amp; \
setpmac biba/10 /usr/local/etc/rc.d/nagios.sh forcestart</userinput></screen>
setpmac biba/equal make start &amp;&amp; setpmac biba/10\(10-10\) apachectl start &amp;&amp; \
setpmac biba/10\(10-10\) /usr/local/etc/rc.d/nagios.sh forcestart</userinput></screen>
<para>再次检查是否一切正常。 如果不是的话, 请检查日志文件和错误信息。
此外, 还可以用 &man.sysctl.8; 来临时禁用 &man.mac.biba.4;

View file

@ -40,7 +40,7 @@
<itemizedlist>
<listitem>
<para>些软件与收发电子邮件有关。</para>
<para>些软件与收发电子邮件有关。</para>
</listitem>
<listitem>
@ -323,7 +323,7 @@ FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org</screen>
<para>信箱可以在邮件服务器本地直接用
<acronym>MUA</acronym> 来进行操作。
这通常是通过
<application>mutt</application> 或 &man.mail.1; 这样的用程序实现的。
<application>mutt</application> 或 &man.mail.1; 这样的用程序实现的。
</para>
</sect3>
</sect2>
@ -603,7 +603,7 @@ postmaster@example.com postmaster@noc.example.net
<para>先前已经提到FreeBSD 中的
<application>sendmail</application> 已经安装了您的
MTA (邮件传输代理程序)。因此它负责着您的收发邮件的工作。</para>
MTA (邮件传输代理程序)。因此它负责着您的收发邮件的工作。</para>
<para>然而,基于不同的理由,一些系统管理员想要改变他们系统的
MTA。这些理由从简单的想要尝试另一个 MTA到需要一个特殊的特性或者

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Chinese Documentation Project
Original Revision: 1.416
Original Revision: 1.419
$FreeBSD$
-->
@ -62,18 +62,6 @@
</address>
</listitem>
<listitem>
<address>
<otheraddr>fastdiscs.com</otheraddr>
<street>6 Eltham Close</street>
<city>Leeds</city>, <postcode>LS6 2TY</postcode>
<country>United Kingdom</country>
Phone: <phone>+44 870 1995 171</phone>
Email: <email>sales@fastdiscs.com</email>
WWW: <otheraddr><ulink url="http://fastdiscs.com/freebsd/"></ulink></otheraddr>
</address>
</listitem>
<listitem>
<address>
<otheraddr>FreeBSD Mall, Inc.</otheraddr>
@ -2451,6 +2439,14 @@ doc/zh_*</screen>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_5_5</term>
<listitem>
<para>FreeBSD-5.5 安全分支。 只被安全公告和其它重要更新使用。</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_5_4</term>
@ -2620,6 +2616,14 @@ doc/zh_*</screen>
最后, <filename class="directory">www</filename> 树上不会有任何特定发行版的标签。</para>
<variablelist>
<varlistentry>
<term>RELENG_6_1_0_RELEASE</term>
<listitem>
<para>FreeBSD 6.1</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_6_0_0_RELEASE</term>
@ -2628,6 +2632,14 @@ doc/zh_*</screen>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_5_5_0_RELEASE</term>
<listitem>
<para>FreeBSD 5.5</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_5_4_0_RELEASE</term>

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Documentation Project
Original Revision: 1.115
Original Revision: 1.116
$FreeBSD$
-->
@ -172,12 +172,6 @@
<command>cat /dev/sndstat</command> 来查询 <filename>/dev/sndstat</filename>
文件。</para>
<note>
<para>在 &os;&nbsp;4.X 下,要加载所有的声卡驱动,您必须加载
<filename>snd</filename> 模块而不是
<filename>snd_driver</filename> 模块。</para>
</note>
<para>另外,您也可以把支持您声卡的代码静态地编译到内核里去。
下一节就采用这种方式支持硬件给出提示。 关于重新编译内核,请参考 <xref
linkend="kernelconfig">。</para>
@ -190,10 +184,6 @@
<programlisting>device sound</programlisting>
<para>在 &os;&nbsp;4.X 下,使用下面这行:</para>
<programlisting>device pcm</programlisting>
<para>接下来就是加入对我们所用声卡的支持了。
首先需要确定我们的声卡需要使用哪一个驱动。
您可以参考 <ulink
@ -207,9 +197,7 @@
<para>一定要阅读驱动的联机手册了解如何使用它们。
关于内核配置文件中声卡驱动的写法, 也可以在
<filename>/usr/src/sys/conf/NOTES</filename> 文件
(对于 &os;&nbsp;4.X 则是
<filename>/usr/src/sys/i386/conf/LINT</filename>)。</para>
<filename>/usr/src/sys/conf/NOTES</filename> 文件。</para>
<para>非即插即用的 ISA 卡可能需要您为内核提供一些关于声卡配置的信息
(IRQ、 I/O 端口, 等等)。 这项工作可以通过
@ -237,21 +225,11 @@ hint.sbc.0.flags="0x15"</programlisting>
<para><filename>/boot/device.hints</filename>
文件的写法会在声卡驱动的联机手册中描述。
在 &os;&nbsp;4.X 上,这些设定直接写进内核配置文件中。
对于我们的 ISA 卡这种情况,我们只要使用这行:</para>
<programlisting>device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15</programlisting>
在 &os;&nbsp;4.X 上, 这些配置只能直接写进内核配置文件中。</para>
<para>上面所展示的是默认的配置。 有时候,
您可能需要更改 IRQ 或其他配置, 以适应声卡的实际情况。
查看 &man.snd.sbc.4; 联机手册了解更多信息。</para>
<note>
<para>在 &os;&nbsp;4.X 下,
一些主板内建声卡设备的系统需要在内核配置文件中配置下面的选项:</para>
<programlisting>options PNPBIOS</programlisting>
</note>
</sect3>
</sect2>
@ -299,23 +277,6 @@ kld snd_ich (1p/2r/0v channels duplex default)</screen>
<para>这里 <replaceable>filename</replaceable> 可以是任意文件。
这行命令会产生一些噪音,证明声卡果真在工作。</para>
<note>
<para>&os;&nbsp;4.X 用户需要创建声卡设备节点才能使用。
如果在消息缓存中展示出来的卡是 <devicename>pcm0</devicename>
您必须以 <username>root</username> 来运行下面这两行:</para>
<screen>&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>sh MAKEDEV snd0</userinput></screen>
<para>如果检测的声卡返回 <devicename>pcm1</devicename>
做上面展示的同样的步骤,只是要用
<devicename>snd1</devicename> 来取代
<devicename>snd0</devicename>。</para>
<para><command>MAKEDEV</command>
会创建一组设备节点让相关联应用程序的不同声音使用。</para>
</note>
<para>声卡混音级别可以通过 &man.mixer.8; 命令更改。
更多细节可以在 &man.mixer.8; 联机手册中找到。</para>
@ -697,13 +658,9 @@ link acd0 rdvd</programlisting>
<para>另外DVD解密要求调用专用的DVD-ROM函数要求把许可定到DVD设备里。</para>
<indexterm>
<primary>内核选项</primary>
<primary>kernel options (内核选项)</primary>
<secondary>CPU_ENABLE_SSE</secondary>
</indexterm>
<indexterm>
<primary>内核选项</primary>
<secondary>USER_LDT</secondary>
</indexterm>
<para>前面讨论的一些 ports 要正确地联编有赖于下列内核的选项设置。
在试图联编之前, 把这一选项增加到内核配置文件中去, 联编新的内核,
@ -711,11 +668,6 @@ link acd0 rdvd</programlisting>
<programlisting>options CPU_ENABLE_SSE</programlisting>
<note>
<para>在 &os;&nbsp;4.X 上, 内核配置文件中还应加入 <literal>options USER_LDT</literal>。
这一选项在 &os;&nbsp;5.X 和更新版本中不再提供。</para>
</note>
<para>为了增强用于共享内存的X11接口推荐增加一些 &man.sysctl.8; 参数的值:</para>
<programlisting>kern.ipc.shmmax=67108864
@ -1287,7 +1239,9 @@ bktr0: Pinnacle/Miro TV, Philips SECAM tuner.</programlisting>
<screen>&prompt.root; <userinput>sysctl hw.bt848.tuner=6</userinput></screen>
<para>查看&man.bktr.4;手册和<filename>/usr/src/sys/conf/NOTES</filename>文件了解更多详细关于可用选项的资料。(如果您在&os;&nbsp;4.X下就使用<filename>/usr/src/sys/i386/conf/LINT</filename>代替 <filename>/usr/src/sys/conf/NOTES</filename>。)</para>
<para>请参见 &man.bktr.4; 手册和
<filename>/usr/src/sys/conf/NOTES</filename> 文件,
以了解更多详细关于可用选项的资料。</para>
</sect2>
<sect2>
@ -1406,13 +1360,6 @@ device uscanner</programlisting>
<para>这表明我们的扫描仪正在使用
<filename>/dev/uscanner0</filename> 设备节点。</para>
<note>
<para>在 &os;&nbsp;4.X 上USB 进程(&man.usbd.8;)
必须运行来检测 USB 设备。要启用它,
添加 <literal>usbd_enable="YES"</literal> 到您的
<filename>/etc/rc.conf</filename> 文件中并重新启动。</para>
</note>
</sect3>
<sect3>
@ -1423,11 +1370,10 @@ device uscanner</programlisting>
取决于所使用的 SCSI 芯片,
您需要调整内核配置文件。
<filename>GENERIC</filename> 的内核支持最常用的
SCSI 控制器。确保阅读
<filename>NOTES</filename> 文件(在 &os;&nbsp;4.x 下面是
<filename>LINT</filename>)并在您的内核配置文件中添加正确的行。
SCSI 控制器。 请阅读
<filename>NOTES</filename> 文件并在您的内核配置文件中添加正确的行。
除了 SCSI 适配器驱动之外,
您还需要在内核配置文件中有如下行</para>
您还需要在内核配置文件中增加下述配置</para>
<programlisting>device scbus
device pass</programlisting>
@ -1609,9 +1555,7 @@ add path uscanner0 mode 660</programlisting>
<programlisting>devfs_system_ruleset="system"</programlisting>
<para>关于这些配置的进一步细节请参考联机手册
&man.devfs.8;。 对于 &os;&nbsp;4.X 默认情况下
<groupname>operator</groupname> 组已经拥有对
<filename>/dev/uscanner0</filename> 的读和写权限。</para>
&man.devfs.8;。</para>
<note>
<para>当然, 考虑安全的原因, 在您将用户添加到任何组, 尤其是

View file

@ -1,16 +0,0 @@
#
# Build the Handbook with just the content from this chapter.
#
# Original Revision: 1.1
# $FreeBSD$
#
CHAPTERS= nanobsd/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

View file

@ -1,432 +0,0 @@
<!--
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
Original Revision: 1.1
$FreeBSD$
-->
<chapter id="nanobsd">
<chapterinfo>
<authorgroup>
<author>
<firstname>Daniel</firstname>
<surname>Gerzo</surname>
<contrib>Written by </contrib>
<!-- 14 March 2006 -->
</author>
</authorgroup>
</chapterinfo>
<title>NanoBSD</title>
<sect1 id="nanobsd-intro">
<title>NanoBSD 简介</title>
<indexterm><primary>NanoBSD</primary></indexterm>
<para><application>NanoBSD</application> 是 &a.phk; 目前正在开发的一项工具。
它可以用来创建用于嵌入式应用的 &os; 系统映像,
以便配合袖珍闪存 (Compact Flash) 卡 (或其他大容量存储介质) 使用。</para>
<para>这一工具也可以用来构建定制的安装映像,
以方便安装和维护那些被称为 <quote>计算设备 (computer appliances)</quote>
的系统。 计算设备通常在产品中将捆绑硬件和软件,
或者换言之, 所有的应用程序都是预先装好的。
这些设备可以直接插到暨存的网络中,
并 (几乎是) 立即投入使用。</para>
<para><application>NanoBSD</application> 提供的功能包括:</para>
<itemizedlist>
<listitem>
<para>可以和 &os; 一样使用 Ports 和预编译包&mdash;
所有的应用程序都可以在 <application>NanoBSD</application> 映像中直接使用,
而方式与 &os; 完全一样。</para>
</listitem>
<listitem>
<para>不减少功能 &mdash; 能够使用 &os; 做的任何工作, 都可以在
<application>NanoBSD</application> 中使用,
除非您在创建 <application>NanoBSD</application> 映像时,
明确地删去它们。</para>
</listitem>
<listitem>
<para>所有对象在运行时均是只读的 &mdash; 可以安全地拔掉电源插小。
在系统非正常关闭之后, 无需运行
&man.fsck.8;。</para>
</listitem>
<listitem>
<para>便于联编和定制 &mdash; 只需使用一个 shell 脚本和一个配置文件,
您可以很容易地裁减和定制适于任意需求的映像。</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="nanobsd-howto">
<title>如何使用 NanoBSD</title>
<sect2 id="nanobsd-design">
<title>NanoBSD 的设计</title>
<para>一旦将映像存入介质, 就可以用它来引导 <application>NanoBSD</application>
了。 默认情况下, 大容量存储器会划分为三个区:</para>
<itemizedlist>
<listitem>
<para>两个映像区: <literal>code#1</literal>
和 <literal>code#2</literal>。</para>
</listitem>
<listitem>
<para>一个配置文件区, 运行环境中,
可以将其挂接到 <filename role="directory">/cfg</filename> 目录下。</para>
</listitem>
</itemizedlist>
<para>这些分区默认情况下以只读方式挂接。</para>
<para><filename role="directory">/etc</filename> 和
<filename role="directory">/var</filename> 目录均为
&man.md.4; (malloc) 盘。</para>
<para>配置文件分区保存在
<filename role="directory">/cfg</filename> 目录。
它包含了用于 <filename role="directory">/etc</filename>
目录的文件, 在启动之后暂时以只读方式挂接。 因此,
在需要从 <filename role="directory">/etc</filename> 向
<filename role="directory">/cfg</filename> 目录复制所进行的、
希望在重启时保持不变的配置时, 需要进行一些额外的操作。</para>
<example>
<title>在 <filename>/etc/resolv.conf</filename> 中进行需要保持的修改</title>
<screen>&prompt.root; <userinput>vi /etc/resolv.conf</userinput>
[...]
&prompt.root; <userinput>mount /cfg</userinput>
&prompt.root; <userinput>cp /etc/resolv.conf /cfg</userinput>
&prompt.root; <userinput>umount /cfg</userinput></screen>
</example>
<note>
<para>只有在系统启动过程中, 以及需要修改配置文件的场合, 才需要挂接包含
<filename role="directory">/cfg</filename> 的那个分区。</para>
<para>在任何时候都保持挂接 <filename role="directory">/cfg</filename>
不是一个好主意, 特别是当您把 <application>NanoBSD</application>
放在不适合进行大量写操作的分区时
(由于文件系统的同步进程会定期向系统盘写一些数据)。</para>
</note>
</sect2>
<sect2>
<title>构建 NanoBSD 映像</title>
<para><application>NanoBSD</application> 映像是通过使用非常简单的
<filename>nanobsd.sh</filename> shell 脚本来构建的, 这个脚本可以在
<filename role="directory"><replaceable>/usr</replaceable>/src/tools/tools/nanobsd</filename>
目录中找到。 这个脚本建立的映像文件, 可以用 &man.dd.1; 工具复制到存储介质上。</para>
<para>构建
<application>NanoBSD</application> 映像所需的命令是:</para>
<screen>&prompt.root; <userinput>cd /usr/src/tools/tools/nanobsd</userinput> <co id="nbsd-cd">
&prompt.root; <userinput>sh nanobsd.sh</userinput> <co id="nbsd-sh">
&prompt.root; <userinput>cd /usr/obj/nanobsd.full</userinput> <co id="nbsd-cd2">
&prompt.root; <userinput>dd if=_.disk.full of=/dev/da0 bs=64k</userinput> <co id="nbsd-dd"></screen>
<calloutlist>
<callout arearefs="nbsd-cd">
<para>进入 <application>NanoBSD</application> 构建脚本的主目录。</para>
</callout>
<callout arearefs="nbsd-sh">
<para>开始构建过程。</para>
</callout>
<callout arearefs="nbsd-cd2">
<para>进入构建好的映像文件所在的目录。</para>
</callout>
<callout arearefs="nbsd-dd">
<para>在存储介质上安装 <application>NanoBSD</application>。</para>
</callout>
</calloutlist>
</sect2>
<sect2>
<title>定制 NanoBSD 映像</title>
<para>这可能是 <application>NanoBSD</application> 最为重要,
同时也是您最感兴趣的功能。 同时, 您在开发
<application>NanoBSD</application> 应用时,
这也是相当耗时的过程。</para>
<para>执行下面的命令将使
<filename>nanobsd.sh</filename> 从当前目录中的
<filename>myconf.nano</filename> 文件读取配置:</para>
<screen>&prompt.root; <userinput>sh nanobsd.sh -c myconf.nano</userinput></screen>
<para>定制过程包含两步:</para>
<itemizedlist>
<listitem>
<para>配置选项</para>
</listitem>
<listitem>
<para>定制函数</para>
</listitem>
</itemizedlist>
<sect3>
<title>配置选项</title>
<para>通过对配置进行设置, 可以配置用以传递给
<application>NanoBSD</application> 构建过程中 <literal>buildworld</literal>
和 <literal>installworld</literal> 阶段的联编和安装选项, 以及
<application>NanoBSD</application> 的主构建过程中的选项。
通过使用这些选项可以削减系统的尺寸, 使之能够放入
64MB 的存储。 您还可以进一步通过这些选项来削减 &os;
直到它只包含内核以及两三个用户环境文件为止。</para>
<para>配置文件中包含用以代替默认值的配置选项。
最重要的语句包括:</para>
<itemizedlist>
<listitem>
<para><literal>NANO_NAME</literal> &mdash; 本次构建的名称
(用于创建工作目录的名字)。</para>
</listitem>
<listitem>
<para><literal>NANO_SRC</literal> &mdash; 用以联编和构建映像的源码树的位置。</para>
</listitem>
<listitem>
<para><literal>NANO_KERNEL</literal> &mdash; 用以联编内核的配置文件的名字。</para>
</listitem>
<listitem>
<para><literal>CONF_BUILD</literal> &mdash; 用于传递给
<literal>buildworld</literal> 构建阶段的选项。</para>
</listitem>
<listitem>
<para><literal>CONF_INSTALL</literal> &mdash; 用于传递给
<literal>installworld</literal> 构建阶段的选项。</para>
</listitem>
<listitem>
<para><literal>CONF_WORLD</literal> &mdash; 用以传递给
<literal>buildworld</literal> 和
<literal>installworld</literal> 这两个构建阶段的选项。</para>
</listitem>
<listitem>
<para><literal>FlashDevice</literal> &mdash; 定义所用的介质类型。
要了解进一步的细节, 请参考 <filename>FlashDevice.sub</filename>
文件。</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>定制函数</title>
<para>通过在配置文件中使用 shell 函数可以进一步微调
<application>NanoBSD</application>。 下面的例子展示了定制函数的基本模式:</para>
<programlisting>cust_foo () (
echo "bar=topless" &gt; \
&dollar;{NANO_WORLDDIR}/etc/foo
)
customize_cmd cust_foo</programlisting>
<para>下面是一个更贴近实际的例子, 它将默认的
<filename role="directory">/etc</filename> 目录尺寸,
从 5MB 调整为 30MB</para>
<programlisting>cust_etc_size () (
cd &dollar;{NANO_WORLDDIR}/conf
echo 30000 &gt; default/etc/md_size
)
customize_cmd cust_etc_size</programlisting>
<para>除此之外, 还有几个默认的预定义定制函数:</para>
<itemizedlist>
<listitem>
<para><literal>cust_comconsole</literal> &mdash; 在 VGA 设备上禁止
&man.getty.8;
(<filename>/dev/ttyv*</filename> 设备节点) 并启用串口 COM1
作为系统控制台。</para>
</listitem>
<listitem>
<para><literal>cust_allow_ssh_root</literal> &mdash; 允许
<username>root</username> 通过 &man.sshd.8; 登录。</para>
</listitem>
<listitem>
<para><literal>cust_install_files</literal> &mdash;
从 <filename role="directory">nanobsd/Files</filename>
目录中安装文件, 这包含一些实用的系统管理脚本。</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>配置文件举例</title>
<para>下面是一个用于构建定制的 <application>NanoBSD</application> 映像的完整例子:</para>
<programlisting>NANO_NAME=custom
NANO_SRC=/usr/src
NANO_KERNEL=MYKERNEL
NANO_IMAGES=2
CONF_BUILD='
NO_KLDLOAD=YES
NO_NETGRAPH=YES
NO_PAM=YES
'
CONF_INSTALL='
NO_ACPI=YES
NO_BLUETOOTH=YES
NO_CVS=YES
NO_FORTRAN=YES
NO_HTML=YES
NO_LPR=YES
NO_MAN=YES
NO_SENDMAIL=YES
NO_SHAREDOCS=YES
NO_EXAMPLES=YES
NO_INSTALLLIB=YES
NO_CALENDAR=YES
NO_MISC=YES
NO_SHARE=YES
'
CONF_WORLD='
NO_BIND=YES
NO_MODULES=YES
NO_KERBEROS=YES
NO_GAMES=YES
NO_RESCUE=YES
NO_LOCALES=YES
NO_SYSCONS=YES
NO_INFO=YES
'
FlashDevice SanDisk 1G
cust_nobeastie() (
touch &dollar;{NANO_WORLDDIR}/boot/loader.conf
echo "beastie_disable=\"YES\"" &gt;&gt; &dollar;{NANO_WORLDDIR}/boot/loader.conf
)
customize_cmd cust_comconsole
customize_cmd cust_install_files
customize_cmd cust_allow_ssh_root
customize_cmd cust_nobeastie</programlisting>
</sect3>
</sect2>
<sect2>
<title>更新 NanoBSD</title>
<para>更新 <application>NanoBSD</application> 相对而言较为简单:</para>
<procedure>
<step>
<para>和之前一样构建新的 <application>NanoBSD</application> 映像文件。</para>
</step>
<step>
<para>将新的映像放入正运行的
<application>NanoBSD</application> 设备中的一个未用的分区。</para>
<para>与之前最初安装 <application>NanoBSD</application> 的步骤相比,
这一步骤最重要的区别在于这次不应使用 <filename>_.disk.full</filename> 文件
(它包含整个盘的映像)
而应安装 <filename>_.disk.image</filename> 映像 (这个文件中,
只包含一个系统分区)。</para>
</step>
<step>
<para>重新启动, 并从新安装的分区中启动系统。</para>
</step>
<step>
<para>如果一切顺利的话, 升级工作就完成了。</para>
</step>
<step>
<para>如果发生了任何问题, 则可以从先前的分区启动
(其中包含了旧的、 可用的映像) 来尽可能快地恢复系统功能。
接下来可以修正新联编的版本中存在的问题, 并重复前述步骤。</para>
</step>
</procedure>
<para>要在正在运行的
<application>NanoBSD</application> 系统中安装新的映像, 可以使用位于
<filename role="directory">/root</filename> 目录的
<filename>updatep1</filename> 或
<filename>updatep2</filename> 脚本,
具体使用哪一个脚本, 取决于正在运行的系统位于那个分区。</para>
<para>随时提供新 <application>NanoBSD</application> 映像所提供的服务,
以及采用的传输方法的不同, 您可以参考并使用下列三种方式之一:</para>
<sect3>
<title>使用 &man.ftp.1;</title>
<para>如果传输速度是第一要务,
采用下面的例子:</para>
<screen>&prompt.root; <userinput>ftp myhost
get _.disk.image "| sh updatep1"</userinput></screen>
</sect3>
<sect3>
<title>使用 &man.ssh.1;</title>
<para>如果更倾向于安全传输, 应参考下面的例子:</para>
<screen>&prompt.root; <userinput>ssh myhost cat _.disk.image.gz | zcat | sh updatep1</userinput></screen>
</sect3>
<sect3>
<title>使用 &man.nc.1;</title>
<para>如果远程主机既不提供
&man.ftp.1; 服务, 也不提供 &man.sshd.8; 服务:</para>
<procedure>
<step>
<para>开始时, 在提供映像的主机上开启 TCP 监听,
并令其将映像文件发给客户机:</para>
<screen>myhost&prompt.root; <userinput>nc -l <replaceable>2222</replaceable> &lt; _.disk.image</userinput></screen>
<note>
<para>请确认您所使用的端口没有通过防火墙阻止来自
<application>NanoBSD</application> 客户机的联接请求。</para>
</note>
</step>
<step>
<para>连接到提供新映像服务的主机, 并执行
<filename>updatep1</filename> 脚本:</para>
<screen>&prompt.root; <userinput>nc myhost <replaceable>2222</replaceable> | sh updatep1</userinput></screen>
</step>
</procedure>
</sect3>
</sect2>
</sect1>
</chapter>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,7 @@
<!--
The FreeBSD Chinese Documentation Project
Original Revision: 1.31
Original Revision: 1.32
$FreeBSD$
-->
@ -55,12 +55,6 @@
RAID-1 和 RAID-5 的卷管理系统——Vinum。</para>
</listitem>
<listitem>
<para>这一版新增了 <xref linkend="nanobsd"> NanoBSD。
它介绍了如何使用 NanoBSD 一种用于创建 &os; 适用于嵌入式系统,
以及袖珍闪存 (Compact Flash) 介质等的映像文件的工具。</para>
</listitem>
<listitem>
<para>在 <xref linkend="ppp-and-slip">PPP 和 SLIP 一章中增加了排除故障的说明。</para>
</listitem>
@ -347,14 +341,6 @@
描述了一般用户如何紧跟开发过程并从中受益。</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="nanobsd">, NanoBSD</emphasis></term>
<listitem>
<para>介绍了 <application>NanoBSD</application> 工具,
它可以用来为嵌入式应用准备 &os; 系统的映像,
适用于使用袖珍闪存卡, 以及其他类似的存储介质。</para>
</listitem>
</varlistentry>
<!-- Part IV - Network Communications -->

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
Original Revision: 1.95
Original Revision: 1.96
$FreeBSD$
-->
@ -492,67 +492,12 @@ ppc0: FIFO with 16/16/8 bytes threshold</screen>
</sect4>
</sect3>
<sect3 id="printing-dev-ports">
<title>在 <filename>/dev</filename> 中为端口添加
设备节点</title>
<note><para>FreeBSD&nbsp;5.0 支持 <literal>devfs</literal>
这种在需要的时候自动添加设备节点
的文件系统。 如果您正在使用的 FreeBSD 开启了
<literal>devfs</literal> 文件系统, 那么您可以安全的跳过
这部分。</para></note>
<para>尽管内核可能已经支持通过串口或者并口
通讯, 但您还是需要一个软件接口
来使您系统上的程序通过它发送和接收
数据。 这也是
<filename>/dev</filename> 目录中那些设备节点的作用。</para>
<para><emphasis>要在 <filename>/dev</filename> 中为端口添加
一个设备节点:</emphasis></para>
<procedure>
<step>
<para>使用 &man.su.1; 命令切换到 <username>root</username> 帐号。
在出现提示的时候输入 <username>root</username> 帐号的密码。</para>
</step>
<step>
<para>将当前目录改变到 <filename>/dev</filename>
目录:</para>
<screen>&prompt.root; <userinput>cd /dev</userinput></screen>
</step>
<step>
<para>输入:</para>
<screen>&prompt.root; <userinput>./MAKEDEV <replaceable>port</replaceable></userinput></screen>
<para>其中 <replaceable>port</replaceable> 替换成
您需要添加端口的节点名。 当打印机连接在第一个并口上时, 替换成
<literal>lpt0</literal> 连接在第二个并口上时, 替换成
<literal>lpt1</literal> 依此类推; 当打印机连接在第一个串口上时, 替换成
<literal>ttyd0</literal> 连接在第二个串口上时, 替换成
<literal>ttyd1</literal> 依此类推。</para>
</step>
<step>
<para>输入:</para>
<screen>&prompt.root; <userinput>ls -l <replaceable>port</replaceable></userinput></screen>
<para>来检查设备节点是否正常建立。</para>
</step>
</procedure>
<sect4 id="printing-parallel-port-mode">
<title>设置并口的通讯
模式</title>
<sect3 id="printing-parallel-port-mode">
<title>设置并口的通讯模式</title>
<para>在使用并口时, 您可以选择
让 FreeBSD 用中断方式还是轮询方式来
与打印机通讯。 在 FreeBSD&nbsp;4.X and 5.X 上,
与打印机通讯。 在 FreeBSD 上,
通用的打印机驱动 (&man.lpt.4;) 使用 &man.ppbus.4; 系统,
它利用 &man.ppc.4; 驱动来控制端口芯片。</para>
@ -594,15 +539,8 @@ ppc0: FIFO with 16/16/8 bytes threshold</screen>
<itemizedlist>
<listitem>
<para>如果您想要使用中断方式, 在 FreeBSD&nbsp;4.X 下的方法是指定一个
<literal>irq</literal></para>
<programlisting>device ppc0 at isa? irq <replaceable>N</replaceable></programlisting>
<para>其中 <replaceable>N</replaceable> 是计算机并口
的中断编号。</para>
<para>在 FreeBSD&nbsp;5.X 下, 修改下面这一行:</para>
<para>如果您希望使用中断驱动模式,
则应编辑下面的配置:</para>
<programlisting>hint.ppc.0.irq="<replaceable>N</replaceable>"</programlisting>
@ -616,23 +554,14 @@ ppc0: FIFO with 16/16/8 bytes threshold</screen>
</listitem>
<listitem>
<para>如果您想要使用轮询方式, 则不用指定
<literal>irq</literal></para>
<para>在 FreeBSD&nbsp;4.X 下,
在内核配置文件中使用下面这行:</para>
<programlisting>device ppc0 at isa?</programlisting>
<para>在 FreeBSD&nbsp;5.X 下, 只需要把
<para>如果您想要使用轮询方式, 只需要把
<filename>/boot/device.hints</filename>
这个文件中的下面这行删除掉:</para>
<programlisting>hint.ppc.0.irq="<replaceable>N</replaceable>"</programlisting>
<para>在
FreeBSD&nbsp;5.X 下, 有时上面的方法并不能使并口工作在轮询方式。 大多数
情况是由于 &man.acpi.4; 驱动造成的,
<para>在 FreeBSD 下, 有时上面的方法并不能使并口工作在轮询方式。
大多数情况是由于 &man.acpi.4; 驱动造成的,
它可以自动侦测到设备并将其挂载到系统上, 但也因此,
它控制着打印机端口的访问模式. 您需要检查 &man.acpi.4;
的配置来解决这个问题。</para>
@ -674,9 +603,9 @@ ppc0: FIFO with 16/16/8 bytes threshold</screen>
<filename>/etc/rc.local</filename> 这个文件中, 这样每次启动系统
时都会设置成您想要的方式。 参见 &man.lptcontrol.8; 来获得
更多信息。</para>
</sect4>
</sect3>
<sect4 id="printing-testing">
<sect3 id="printing-testing">
<title>检测打印机的通讯</title>
<para>在设置后台打印系统之前,
@ -712,7 +641,7 @@ showpage</programlisting>
所以需要对这类打印机语言进行特殊的处理。</para>
</note>
<sect5 id="printing-checking-parallel">
<sect4 id="printing-checking-parallel">
<title>检测并口打印机</title>
<indexterm>
@ -768,12 +697,12 @@ showpage</programlisting>
</step>
</procedure>
<para>之后, 您应该看到打印出了一些东西。 如果打印出的东西
看起来并不正确, 请不要着急;
<para>之后, 您应该看到打印出了一些东西。
如果打印出的东西看起来并不正确, 请不要着急;
我们将在后面指导您如何解决这类问题。</para>
</sect5>
</sect4>
<sect5 id="printing-checking-serial">
<sect4 id="printing-checking-serial">
<title>检测串口打印机</title>
<indexterm>
@ -868,9 +797,8 @@ showpage</programlisting>
<para>您应该看到打印出了一些东西。
如果它们看起来并不正确也不要着急;
我们将在稍后的章节中介绍如何解决这类问题。</para>
</sect5>
</sect4>
</sect3>
</sect4>
</sect3>
<sect3 id="printing-printcap">
<title>启用后台打印: 文件 <filename>/etc/printcap</filename>
@ -1120,9 +1048,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
<sect4 id="printing-device">
<title>识别打印机设备</title>
<para>在 <link linkend="printing-dev-ports">为端口在
<filename>/dev</filename> 目录下增加设备节点</link>
章节中, 我们确定了使用
<para>在 端口与对应的设备项 章节中, 我们确定了使用
<filename>/dev</filename> 目录中的哪个节点来让 FreeBSD 与打印机
通讯。 现在, 我们来告诉
<application>LPD</application> 这个
@ -1131,8 +1057,7 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
指定的设备。</para>
<para>用 <literal>lp</literal> 标记在 <filename>/etc/printcap</filename> 里列出 <filename>/dev</filename>
下的设备节点
。</para>
下的设备节点。</para>
<para>在我们的例子中, 假设打印机
<literal>rattan</literal> 在第一个并口上, 打印机

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
Original Revision: 1.293
Original Revision: 1.294
$FreeBSD$
-->
@ -61,7 +61,7 @@
</listitem>
<listitem>
<para>如何在 &os;&nbsp;5.0 或更高版本上设置
<para>如何在 &os; 上设置
<application>Kerberos5</application>。</para>
</listitem>
@ -728,10 +728,8 @@
通过建立可以生成 ICMP 出错响应的包, 攻击者能够攻击服务器的网络下行资源,
并导致其上行资源耗尽。 这种类型的攻击也可以通过耗尽 mbuf
来使得使得被攻击的服务器崩溃,特别是当这些服务器无法足够快地完成
ICPM 响应的时候。 在 &os; 4.X 内核中有一个叫做
<option>ICMP_BANDLIM</option> 的编译选项来限制这类攻击,
使其变得不再那么有效, 而较新的内核则可以通过 <application>sysctl</application>
变量 <literal>net.inet.icmp.icmplim</literal> 来调整。
ICPM 响应的时候。 较新的内核可以通过调整 <application>sysctl</application>
变量 <literal>net.inet.icmp.icmplim</literal> 来限制这种攻击。
最后一类主要的 springboard 是针对某些
<application>inetd</application> 的内部服务, 例如
udp echo 服务进行的。 攻击者简单地伪造一个来自服务器 A 的
@ -752,7 +750,7 @@
1600 秒才会过期。 如果内核发现路由表变得太大, 它会动态地降低
<varname>rtexpire</varname> 但以
<varname>rtminexpire</varname> 为限。 这引发了两个问题:</para>
<orderedlist>
<listitem>
<para>在访问量不大的服务器上, 内核对于突然袭击的反应不够快。</para>
@ -851,10 +849,7 @@
<sect2>
<title>识别您采用的加密算法</title>
<para>在 &os;&nbsp;4.4 之前,<filename>libcrypt.a</filename> 曾经是
一个指向相应加密算法的符号连接。&os;&nbsp;4.4 开始,把
<filename>libcrypt.a</filename> 变成了一个可以配置的密码验证散列库。
现在这个库支持 DESMD5和Blowfish散列函数。默认情况下 &os;
<para>现在这个库支持 DES、 MD5 和 Blowfish 散列函数。默认情况下, &os;
使用 MD5 来加密口令。</para>
<para>可以很容易地识别 &os; 使用哪种加密方法。
@ -884,39 +879,31 @@
<secondary>一次性口令</secondary>
</indexterm>
<para>S/Key 是基于单向 hash 功能的一次性密码管理方式。
为了考虑兼容性而使用了 MD4 散列, 而其他系统则使用了
MD5 和 DES-MAC。 S/Key 从 1.1.5 版之后就一直是
&os; 基本系统的一部分, 包含这一特性的操作系统也日益增多。
S/Key 是 Bell Communications Research, Inc. 的注册商标。</para>
<para>默认情况下, &os; 提供了
OPIE (One-time Passwords In Everything) 支持,
它默认使用 MD5 散列。</para>
<para>从 &os;&nbsp;5.0 版开始, S/Key 被功能相同的
OPIE (One-time Passwords In Everything) 取代了。
OPIE 默认使用 MD5 散列。</para>
<para>下面将介绍三种不同的口令。
第一种是您常用的 &unix; 风格或 Kerberos 口令; 我们在后面的章节中将称其为
<quote>&unix; 口令</quote>。 第二种是使用 S/Key 的 <command>key</command>
程序或 OPIE 的 &man.opiekey.1; 程序生成, 并为 <command>keyinit</command>
或 &man.opiepasswd.1; 以及登录提示所接受的一次性口令,我们称其为
<para>下面将介绍三种不同的口令。 第一种是您常用的 &unix; 风格或 Kerberos
口令; 我们在后面的章节中将称其为 <quote>&unix; 口令</quote>。
第二种是使用 OPIE 的 &man.opiekey.1; 程序生成,
并为 &man.opiepasswd.1; 以及登录提示所接受的一次性口令,我们称其为
<quote>一次性口令</quote>。 最后一类口令是您输入给
<command>key</command>/<command>opiekey</command> 程序 (有些时候是
<command>keyinit</command>/<command>opiepasswd</command> 程序)
<command>opiekey</command> 程序 (有些时候是
<command>opiepasswd</command> 程序)
用以产生一次性口令的秘密口令,我们称其为 <quote>秘密口令</quote>
或通俗地简称为 <quote>口令</quote>。</para>
<para>秘密口令和您的 &unix; 口令毫无关系, 尽管可以设置为相同的,
但不推荐这么做。 S/Key 和 OPIE 秘密口令并不像旧式的
但不推荐这么做。 OPIE 秘密口令并不像旧式的
&unix; 口令那样只能限于8位以内<footnote><para>在 &os; 中标准的登录口令最长不能超过
128 个字符。</para></footnote>。
您想要用多长的口令都可以。 有六、七个词的短句是很常见的选择。
在绝大多数时候,
S/Key 或 OPIE 系统和 &unix; 口令系统完全相互独立地工作。</para>
在绝大多数时候, OPIE 系统和 &unix; 口令系统完全相互独立地工作。</para>
<para>除了口令之外, 对于 S/Key 和 OPIE 还有两组至关重要的数据。
<para>除了口令之外, 对于 OPIE 还有两组至关重要的数据。
其一被称作 <quote>种子</quote> 或 <quote>key</quote> 它包括两个字符和五个数字。
另一个被称作 <quote>迭代轮数</quote> 这是一个 1 到 100 之间的数字。
S/Key 通过将种子加到秘密口令后面, 并执行迭代轮数那么多次的 MD4/MD5
OPIE 通过将种子加到秘密口令后面, 并执行迭代轮数那么多次的 MD4/MD5
散列运算来得到结果, 并将结果表示为 6 个短的英文单词。
这 6 个英文单词就是您的一次性口令。
验证系统 (主要是 PAM) 会记录上次使用的一次性口令,
@ -924,51 +911,30 @@
由于使用了单向的散列函数, 因此即使截获了上次使用的口令,
也没有办法恢复出下次将要使用的口令;
每次成功登录都将导致迭代轮数递减, 这样用户和登录程序将保持同步。
每当迭代轮数减少到 1 时, 都必须重新初始化 S/Key 和 OPIE。</para>
每当迭代轮数减少到 1 时, 都必须重新初始化 OPIE。</para>
<para>接下来将讨论和每个系统有关的三个程序。
<command>key</command> 和
<command>opiekey</command> 程序能够接收带迭代计数, 种子和秘密口令,
并生成一个一次性口令, 或一张包含连续的一组一次性口令的表格。
<command>keyinit</command> 和 <command>opiepasswd</command>
程序分别用于初始化 S/Key 和 OPIE 并修改口令、
迭代次数、种子和一次性口令。 <command>keyinfo</command>
<command>opiepasswd</command>
程序用于初始化 OPIE 并修改口令、
迭代次数、种子和一次性口令。
和 <command>opieinfo</command> 程序可以用于检查相应的验证数据文件
(<filename>/etc/skeykeys</filename> 或
<filename>/etc/opiekeys</filename>) 并显示执行命令的用户当前的迭代轮数和种子。</para>
(<filename>/etc/opiekeys</filename>) 并显示执行命令的用户当前的迭代轮数和种子。</para>
<para>我们将介绍四种不同的操作。
在安全的连接上通过 <command>keyinit</command> 或
<para>我们将介绍四种不同的操作。 在安全的连接上通过
<command>opiepasswd</command> 来第一次设置一次性口令,
或修改口令及种子。
第二类操作是在不安全的连接上使用 <command>keyinit</command>
或 <command>opiepasswd</command> 辅以在安全连接上执行的
<command>key</command> 或 <command>opiekey</command>
来完成同样的工作。 第三类操作是在不安全的连接上使用
<command>key</command>/<command>opiekey</command> 来登录。
最后一类操作是采用 <command>key</command>
或 <command>opiekey</command> 来生成大批的密码,
或修改口令及种子。 第二类操作是在不安全的连接上使用
<command>opiepasswd</command> 辅以在安全连接上执行的
<command>opiekey</command> 来完成同样的工作。
第三类操作是在不安全的连接上使用 <command>opiekey</command> 来登录。
最后一类操作是采用 <command>opiekey</command> 来生成大批的密码,
以便抄下来或打印出来,在没有安全连接的地方使用。</para>
<sect2>
<title>安全连接的初始化</title>
<para>第一次初始化 S/Key 修改口令或种子需要在安全的连接
(例如, 在那台机器的控制台上或者通过 <application>ssh</application>)
登录来完成。 以自己的身份登录并执行不带参数的
<command>keyinit</command> 命令:</para>
<screen>&prompt.user; <userinput>keyinit</userinput>
Adding unfurl:
Reminder - Only use this method if you are directly connected.
If you are using telnet or rlogin exit with no password and use keyinit -s.
Enter secret password:
Again secret password:
ID unfurl s/key is 99 to17757
DEFY CLUB PRO NASH LACE SOFT</screen>
<para>对于 OPIE 则使用 <command>opiepasswd</command></para>
<para>第一次初始化 OPIE 时, 可以使用 <command>opiepasswd</command> 命令:</para>
<screen>&prompt.user; <userinput>opiepasswd -c</userinput>
[grimreaper] ~ $ opiepasswd -f -c
@ -999,26 +965,12 @@ MOS MALL GOAT ARM AVID COED
<title>不安全连接初始化</title>
<para>如果您需要通过一个不安全的连接来初始化,
则应首先在安全连接上执行过一次 <command>key</command>
或 <command>opiekey</command> 这可以在
&macintosh; 的桌面附件, 或是在可信的机器的 shell 上面完成。
则应首先在安全连接上执行过一次 <command>opiekey</command>
您可能希望在可信的机器的 shell 提示符下完成。
此外还需要指定一个迭代轮数 (100 也许是一个较好的选择)
也可以选择一个自己的种子, 或让计算机随机生成一个。
在不安全的连接上 (当然是连到您希望初始化的机器上),使用 <command>keyinit
-s</command> 命令:</para>
<screen>&prompt.user; <userinput>keyinit -s</userinput>
Updating unfurl:
Old key: to17758
Reminder you need the 6 English words from the key command.
Enter sequence count from 1 to 9999: <userinput>100</userinput>
Enter new key [default to17759]:
s/key 100 to 17759
s/key access password:
s/key access password:<userinput>CURE MIKE BANE HIM RACY GORE</userinput>
</screen>
<para>对于 OPIE 则需要使用 <command>opiepasswd</command></para>
在不安全的连接上 (当然是连到您希望初始化的机器上),使用
<command>opiepasswd</command> 命令:</para>
<screen>&prompt.user; <userinput>opiepasswd</userinput>
@ -1035,18 +987,9 @@ ID mark OTP key is 499 gr4269
LINE PAP MILK NELL BUOY TROY
</screen>
<para>为了接受默认的种子 (
<command>keyinit</command> 程序令人困惑地将其称作
<literal>key</literal>) 按下 <keycap>Return</keycap>。
在输入访问口令之前, 到一个有安全连接或
S/Key 桌面附件的机器上, 并给它同样的参数:</para>
<screen>&prompt.user; <userinput>key 100 to17759</userinput>
Reminder - Do not use this program while logged in via telnet or rlogin.
Enter secret password: <userinput>&lt;secret password&gt;</userinput>
CURE MIKE BANE HIM RACY GORE</screen>
<para>对于 OPIE</para>
<para>为了接受默认的种子, 按下 <keycap>Return</keycap>。
在输入访问口令之前, 到一个有安全连接的机器上,
并给它同样的参数:</para>
<screen>&prompt.user; <userinput>opiekey 498 to4268</userinput>
Using the MD5 algorithm to compute response.
@ -1061,20 +1004,7 @@ GAME GAG WELT OUT DOWN CHAT
<sect2>
<title>生成一个一次性密码</title>
<para>一旦初始化过 S/Key 或 OPIE 当您登录时将看到类似这样的提示:</para>
<screen>&prompt.user; <userinput>telnet example.com</userinput>
Trying 10.0.0.1...
Connected to example.com
Escape character is '^]'.
FreeBSD/i386 (example.com) (ttypa)
login: <userinput>&lt;username&gt;</userinput>
s/key 97 fw13894
Password: </screen>
<para>对于 OPIE 则是:</para>
<para>一旦初始化过 OPIE 当您登录时将看到类似这样的提示:</para>
<screen>&prompt.user; <userinput>telnet example.com</userinput>
Trying 10.0.0.1...
@ -1087,7 +1017,7 @@ login: <userinput>&lt;username&gt;</userinput>
otp-md5 498 gr4269 ext
Password: </screen>
<para>另外, S/Key 和 OPIE 提示有一个很有用的特性
<para>另外, OPIE 提示有一个很有用的特性
(这里没有表现出来) 如果您在口令提示处按下 <keycap>Return</keycap>(回车)
系统将回显刚键入的口令, 您可以藉此看到自己所键入的内容。
如果试图手工键入一个一次性密码, 这会非常有用。</para>
@ -1097,7 +1027,7 @@ Password: </screen>
<indexterm><primary>MacOS</primary></indexterm>
<para>此时您需要生成一个一次性密码来回答这一提示。
这项工作必须在一个可信的系统上执行 <command>key</command> 或
这项工作必须在一个可信的系统上执行
<command>opiekey</command> 来完成。 (也可以找到 DOS、
&windows; 以及 &macos; 等操作系统上运行的版本)。
这个程序需要将迭代轮数和种子提供给它。
@ -1105,48 +1035,22 @@ Password: </screen>
<para>在可信的系统上:</para>
<screen>&prompt.user; <userinput>key 97 fw13894</userinput>
Reminder - Do not use this program while logged in via telnet or rlogin.
Enter secret password:
WELD LIP ACTS ENDS ME HAAG</screen>
<para>对于 OPIE</para>
<screen>&prompt.user; <userinput>opiekey 498 to4268</userinput>
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
GAME GAG WELT OUT DOWN CHAT</screen>
<para>现在使用刚刚生成的一次性口令登录:</para>
<screen>login: <userinput>&lt;username&gt;</userinput>
s/key 97 fw13894
Password: <userinput>&lt;return to enable echo&gt;</userinput>
s/key 97 fw13894
Password [echo on]: WELD LIP ACTS ENDS ME HAAG
Last login: Tue Mar 21 11:56:41 from 10.0.0.2 ... </screen>
<para>现在就可以用刚刚获得的一次性口令登录了。</para>
</sect2>
<sect2>
<title>产生多个一次性口令</title>
<para>有时,会需要到不能访问可信的机器或安全连接的地方。
这种情形下, 可以使用 <command>key</command> 和
这种情形下, 可以使用
<command>opiekey</command> 命令来一次生成许多一次性口令。 例如:</para>
<screen>&prompt.user; <userinput>key -n 5 30 zz99999</userinput>
Reminder - Do not use this program while logged in via telnet or rlogin.
Enter secret password: <userinput>&lt;secret password&gt;</userinput>
26: SODA RUDE LEA LIND BUDD SILT
27: JILT SPY DUTY GLOW COWL ROT
28: THEM OW COLA RUNT BONG SCOT
29: COT MASH BARR BRIM NAN FLAG
30: CAN KNEE CAST NAME FOLK BILK</screen>
<para>对于 OPIE</para>
<screen>&prompt.user; <userinput>opiekey -n 5 30 zz99999</userinput>
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
@ -1183,31 +1087,9 @@ Enter secret pass phrase: <userinput>&lt;secret password&gt;</userinput>
<filename>skey.access</filename> 中配置允许这样做。
无论如何, &unix; 在控制台上总是可用的。</para>
<para>下面是一个示例的 <filename>skey.access</filename> 配置文件,
它展示了最常用的三类配置语句:</para>
<programlisting>permit internet 192.168.0.0 255.255.0.0
permit user fnord
permit port ttyd0</programlisting>
<para>第一行 (<literal>permit internet</literal>) 允许来自 IP
源地址 (需要注意这是可能被伪造的) 与指定的掩码值进行逻辑与之后,
与给定值匹配的用户使用 &unix; 口令。 这不应被认为是一种安全机制,
它只是为那些使用不安全网络的获得许可的用户提供了用 S/Key
进行身份验证的手段。</para>
<para>第二行 (<literal>permit user</literal>) 允许指定的用户,
在本例中是 <username>fnord</username> 在任何时候使用
&unix; 口令。 一般说来, 只应为无法使用
<command>key</command> 程序, 例如那些使用哑终端,
或无法学会如何使用它的用户启用这样的功能。</para>
<para>第三行 (<literal>permit port</literal>) 允许通过指定终端线的用户使用
&unix; 口令; 这可以被用于拨号用户。</para>
<para>OPIE 可以像 S/Key 一样对 &unix; 口令的使用进行基于 IP 的登录限制。
对应的文件是 <filename>/etc/opieaccess</filename>
在 &os;&nbsp;5.0 和更高版本的系统中, 默认情况下它就已经存在了。
<para>OPIE 可以对 &unix; 口令的使用进行基于 IP 的登录限制。
对应的文件是 <filename>/etc/opieaccess</filename>
这个文件默认情况下就是存在的。
请参阅 &man.opieaccess.5; 以了解关于这个文件进一步的情况,
以及安全方面需要进行的一些考虑。</para>
@ -2040,11 +1922,6 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen>
kadmind5_server_enable="YES"
kerberos_stash="YES"</programlisting>
<note>
<para><option>kerberos_stash</option> 只能在
&os;&nbsp;4.X 上使用。</para>
</note>
<para>接下来需要修改 <application>Kerberos</application>
的配置文件, <filename>/etc/krb5.conf</filename></para>
@ -2871,7 +2748,7 @@ Connection closed by foreign host.</screen>
它支持两种协议族, IPv4 和 IPv6。</para>
<note>
<para>FreeBSD 5.X 包括了采用 <quote>硬件加速的</quote>
<para>FreeBSD 包括了采用 <quote>硬件加速的</quote>
IPsec 协议栈, 也称作 <quote>Fast
IPsec</quote> 它来自 OpenBSD。
它能够通过 &man.crypto.4; 子系统来利用加密硬件 (只要可能)
@ -3150,34 +3027,29 @@ options IPSEC_DEBUG #debug for IP security
<para>到两边的内核配置文件中, 并重新编译、 安装和启动它们。</para>
<para>配置隧道可以分为两步来完成。 首先隧道必须被告知外部的
(或公网的) IP 地址, 可以通过 &man.gifconfig.8; 来完成这步。
(或公网的) IP 地址, 可以通过 &man.ifconfig.8; 来完成这步。
私网 IP 地址则必须使用 &man.ifconfig.8; 来配置。</para>
<note>
<para>在 &os;&nbsp;5.X 中,
&man.gifconfig.8; 的功能已经并入
&man.ifconfig.8;。</para></note>
<para>在网络 #1 的网关机上可以通过下面的两个命令来配置隧道。</para>
<programlisting>gifconfig gif0 A.B.C.D W.X.Y.Z
<programlisting>ifconfig gif0 A.B.C.D W.X.Y.Z
ifconfig gif0 inet 192.168.1.1 192.168.2.1 netmask 0xffffffff
</programlisting>
<para>在另一边也需要做类似的设置, 只是 IP 地址的顺序是反过来的。</para>
<programlisting>gifconfig gif0 W.X.Y.Z A.B.C.D
<programlisting>ifconfig gif0 W.X.Y.Z A.B.C.D
ifconfig gif0 inet 192.168.2.1 192.168.1.1 netmask 0xffffffff
</programlisting>
<para>随后执行:</para>
<programlisting>gifconfig gif0</programlisting>
<programlisting>ifconfig gif0</programlisting>
<para>可以查看当前的配置情况。 例如, 在网络 #1
的网关上您应该能够看到:</para>
<screen>&prompt.root; <userinput>gifconfig gif0</userinput>
<screen>&prompt.root; <userinput>ifconfig gif0</userinput>
gif0: flags=8011&lt;UP,POINTTOPOINT,MULTICAST&gt; mtu 1280
inet 192.168.1.1 --&gt; 192.168.2.1 netmask 0xffffffff
physical address inet A.B.C.D --&gt; W.X.Y.Z
@ -3747,8 +3619,7 @@ ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D
<para><application>OpenSSH</application> 由 OpenBSD project 维护, 它基于
SSH v1.2.12 并包含了最新的错误修复和更新。
它同时兼容 SSH 协议的 1 和 2 两个版本。
从 FreeBSD&nbsp;4.0 开始, <application>OpenSSH</application> 成为了基本系统的一部分。</para>
它同时兼容 SSH 协议的 1 和 2 两个版本。</para>
<sect2>
<title>使用 OpenSSH 的好处</title>
@ -3766,9 +3637,7 @@ ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D
<secondary>启用</secondary>
</indexterm>
<para>在 &os;&nbsp;4.X 上, <application>sshd</application>
服务是默认启用的。 在 &os; 5.X 和更高版本上,
<application>sshd</application> 的启用是作为 &os; 安装中
<para><application>sshd</application> 的启用是作为 &os; 安装中
<literal>Standard</literal> 安装过程中的一步来进行的。 要查看
<application>sshd</application> 是否已被启用, 请检查
<filename>rc.conf</filename> 文件中的:</para>

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
Original Revision: 1.112
Original Revision: 1.113
$FreeBSD$
-->
@ -95,7 +95,7 @@
<sect3 id="term-cables">
<title>线缆</title>
<para>串口线缆许多不同的种类。 最常见的两种类型是 null-modem
<para>串口线缆许多不同的种类。 最常见的两种类型是 null-modem
线缆和标准 (<quote>直联</quote>) RS-232 线缆。
您的硬件说明书中会介绍应使用的线缆种类。</para>
@ -509,15 +509,6 @@ sio3: type 16550A</screen>
<filename>/boot/device.hints</filename> 文件来进行一些配置。
此外, 也可以注释或完全删除掉您没有的设备。</para>
<para>在 &os;&nbsp;4.X 中, 必须修改内核配置文件来达到这一目的。
要了解关于配置内核的详细信息, 请参见 <xref
linkend="kernelconfig">。 相关的设备如下:</para>
<programlisting>device sio0 at isa? port IO_COM1 irq 4
device sio1 at isa? port IO_COM2 irq 3
device sio2 at isa? port IO_COM3 irq 5
device sio3 at isa? port IO_COM4 irq 9</programlisting>
<para>请参见 &man.sio.4; 联机手册来了解关于串口,
以及多插口卡配置的进一步细节。 如果您正使用一个在不同版本的
FreeBSD 上的文件请务必小心, 因为设备参数和语法发生了变化。</para>
@ -548,13 +539,13 @@ device sio3 at isa? port IO_COM4 irq 9</programlisting>
(在 &os;&nbsp;6.X 上是
<filename>/dev/ttyd<replaceable>N</replaceable>.init</filename> 以及
<filename>/dev/cuad<replaceable>N</replaceable>.init</filename>
而在 &os;&nbsp;5.X 和更早版本上则是
而在 &os;&nbsp;5.X 上则是
<filename>/dev/ttyid<replaceable>N</replaceable></filename> 和
<filename>/dev/cuaia<replaceable>N</replaceable></filename>) 以及锁设备
(在 &os;&nbsp;6.X 上是
<filename>/dev/ttyd<replaceable>N</replaceable>.lock</filename> 和
<filename>/dev/cuad<replaceable>N</replaceable>.lock</filename>
而在 &os;&nbsp;5.X 和更早版本上则是
而在 &os;&nbsp;5.X 上则是
<filename>/dev/ttyld<replaceable>N</replaceable></filename> 和
<filename>/dev/cuala<replaceable>N</replaceable></filename>)。
初始化设备用于在打开端口时初始化其通讯参数, 例如使用
@ -563,44 +554,6 @@ device sio3 at isa? port IO_COM4 irq 9</programlisting>
防止用户或程序改变特定的参数; 请参见 &man.termios.4;、
&man.sio.4; 以及 &man.stty.1; 的联机手册, 以了解关于终端配置、
锁和初始化设备, 以及配置终端参数的详细信息。</para>
<sect3>
<title>编译设备指定文件</title>
<note><para>从 FreeBSD&nbsp;5.0 开始, &man.devfs.5;
文件系统将根据需要创建设备节点。 如果您在运行启用
<literal>devfs</literal> 的FreeBSD版本
您就可以跳过这一节。</para></note>
<para>一个在<filename>/dev</filename> 目录下的叫做
<command>MAKEDEV</command> 的 shell 脚本管理着设备指定文件。
要使用 <command>MAKEDEV</command> 来建立拨号设备指定文件,
可以使用 <devicename>COM1</devicename> (port 0)
<command>cd</command> 进入 <filename>/dev</filename>
然后执行命令 <command>MAKEDEV ttyd0</command>。
同样地,要建立拨号设备指定文件以使用
<devicename>COM2</devicename> (port 1)
可以执行 <command>MAKEDEV ttyd1</command>。</para>
<para><command>MAKEDEV</command> 不仅仅创建
<filename>/dev/ttyd<replaceable>N</replaceable></filename> 设备指定文件,也创建
<filename>/dev/cuaa<replaceable>N</replaceable></filename>
<filename>/dev/cuaia<replaceable>N</replaceable></filename>
<filename>/dev/cuala<replaceable>N</replaceable></filename>
<filename>/dev/ttyld<replaceable>N</replaceable></filename> 以及
<filename>/dev/ttyid<replaceable>N</replaceable></filename>节点。</para>
<para>建立完新设备指定文件后, 需要检查文件的权限来确定谁可以在这些文件上读写
&mdash; 您可能不想让普通的用户使用您的 modem 吧。
在<filename>/dev/cua*</filename>文件上的默认权限应该是足够了:</para>
<screen>crw-rw---- 1 uucp dialer 28, 129 Feb 15 14:38 /dev/cuaa1
crw-rw---- 1 uucp dialer 28, 161 Feb 15 14:38 /dev/cuaia1
crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cuala1</screen>
<para>这些许可允许用户<username>uucp</username>和在组<username>dialer</username>
上的用户使用呼出设备。</para>
</sect3>
</sect2>
@ -635,11 +588,6 @@ crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cuala1</screen>
是由 <filename>/etc/rc.d/serial</filename> 来控制的。
这个文件会影响串口设备的默认设置。</para>
<note>
<para>在 &os;&nbsp;4.X 中, 串口设备的初始化,
是在 <filename>/etc/rc.serial</filename> 中控制的。</para>
</note>
<para>为了防止应用程序修改某些设置,
应修改 <quote>lock state</quote>(锁状态) 设备。 例如, 要把
<devicename>ttyd5</devicename> 的速率锁定为 57600&nbsp;bps 输入:</para>
@ -650,9 +598,6 @@ crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cuala1</screen>
和设法改变端口速度的应用程序将被固定在57600bit/s。很自然地
您需要确定初始状态然后用root帐户锁定状态设备的写入功能。</para>
<indexterm>
<primary><command>MAKEDEV</command></primary>
</indexterm>
<para>很显然,您应该只让 <username>root</username>
用户可以初始化或锁定设备的状态。</para>
</sect2>
@ -2036,12 +1981,6 @@ raisechar=^^</programlisting>
参见 <ulink
url="&url.books.developers-handbook;/index.html">开发者手册</ulink>
以了解关于远程调试更进一步的情况。</para>
<note>
<para>在FreeBSD 4.0-CURRENT和以后的版本中标记
<literal>0x40</literal>通常是不同的,
有另一个标记可以来指定一个串口用于远程调试。</para>
</note>
</listitem>
</varlistentry>
</variablelist>
@ -2410,7 +2349,7 @@ boot:</screen>
</step>
<step>
<para>用 &man.disklabel.8;
<para>用 &man.bsdlabel.8;
将引导块写到启动盘上,然后从新内核启动。</para>
</step>
</procedure>

View file

@ -1,7 +1,7 @@
<!--
The FreeBSD Chinese Documentation Project
Original Revision: 1.54
Original Revision: 1.55
$FreeBSD$
-->
@ -338,80 +338,6 @@
(<quote>dotfiles</quote>) 从 <filename>/usr/share/skel</filename>
这个目录, 然后给新用户发送一封带欢迎信息的邮件。</para>
<para>在 &os;&nbsp;5.0 版本中, &man.adduser.8; 命令从 Perl 脚本改写为 shell 脚本,
起包装 &man.pw.8; 的作用, 所以它的用法在 &os;&nbsp;4.X
上和 &os;&nbsp;5.X 上略有不同。</para>
<para>建立初始化配置文件, 使用
<command>adduser -s -config_create</command>.
<footnote>
<para>选项 <option>-s</option> 的作用是让 &man.adduser.8;
尽可能使用默认配置而不是提示用户输入。
如果需要修改之前保存的默认设置,
则可以使用 <option>-v</option> 选项</para>
</footnote>
接下来, 我们配置 &man.adduser.8; 的默认设置,
并建立第一个普通用户帐户, 因为将
<username>root</username> 用于日常使用会带来很多潜在问题。</para>
<example>
<title>配置 <command>adduser</command> 和添加一个新用户,在&os;&nbsp;4.X版本</title>
<screen>&prompt.root; <userinput>adduser -v</userinput>
Use option ``-silent'' if you don't want to see all warnings and questions.
Check /etc/shells
Check /etc/master.passwd
Check /etc/group
Enter your default shell: csh date no sh tcsh zsh [sh]: <userinput>zsh</userinput>
Your default shell is: zsh -&gt; /usr/local/bin/zsh
Enter your default HOME partition: [/home]:
Copy dotfiles from: /usr/share/skel no [/usr/share/skel]:
Send message from file: /etc/adduser.message no
[/etc/adduser.message]: <userinput>no</userinput>
Do not send message
Use passwords (y/n) [y]: <userinput>y</userinput>
Write your changes to /etc/adduser.conf? (y/n) [n]: <userinput>y</userinput>
Ok, let's go.
Don't worry about mistakes. I will give you the chance later to correct any input.
Enter username [a-z0-9_-]: <userinput>jru</userinput>
Enter full name []: <userinput>J. Random User</userinput>
Enter shell csh date no sh tcsh zsh [zsh]:
Enter home directory (full path) [/home/jru]:
Uid [1001]:
Enter login class: default []:
Login group jru [jru]:
Login group is ``jru''. Invite jru into other groups: guest no
[no]: <userinput>wheel</userinput>
Enter password []:
Enter password again []:
Name: jru
Password: ****
Fullname: J. Random User
Uid: 1001
Gid: 1001 (jru)
Class:
Groups: jru wheel
HOME: /home/jru
Shell: /usr/local/bin/zsh
OK? (y/n) [y]: <userinput>y</userinput>
Added user ``jru''
Copy files from /usr/share/skel to /home/jru
Add another user? (y/n) [y]: <userinput>n</userinput>
Goodbye!
&prompt.root;</screen>
</example>
<para>总体而言, 我们把默认的shell设置成
<application>zsh</application> (一个可以在 Ports Collection 找到的
shell) 关闭欢迎邮件。 然后保存配置,
接着创建一个名为 <username>jru</username>的帐户,
并且确信 <username>jru</username> 在
<username>wheel</username> 组里 (这样它就能够通过 &man.su.1;
转变为 <username>root</username>。)</para>
<note>
<para>输入的口令不会被回显, 也不会显示星号。
请确保不要误输口令。
@ -425,7 +351,7 @@ Goodbye!
</note>
<example>
<title>添加一个新用户在&os;&nbsp;5.X版本</title>
<title>在 &os; 中添加一个新用户</title>
<screen>&prompt.root; <userinput>adduser</userinput>
Username: <userinput>jru</userinput>
@ -530,7 +456,8 @@ Removing files belonging to jru from /var/tmp/vi.recover: done.
不需要任何选项, &man.chpass.1; 将显示一个包含用户信息的编辑器. 可以试图改变用户在数据库中的信息.</para>
<note>
<para>在 &os;&nbsp;5.X版本, 编辑退出后,您应该索要您的口令,如果您不是超级用户的话.</para>
<para>如果您不是超级用户的话, 在退出编辑状态之后,
系统会询问您口令。</para>
</note>
<example>

View file

@ -8,7 +8,7 @@
For the FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
Original Revision: 1.40
Original Revision: 1.41
$FreeBSD$
-->
@ -47,7 +47,7 @@
例如使用多个, 有些时候甚至是冗余的, 磁盘。</para>
<para>除了支持许多种不同的硬件 RAID 控制器之外,
FreeBSD 的基本系统中包括了 Vinum 卷管理器, 它是一个用以实现磁盘驱动器的块设备。</para>
FreeBSD 的基本系统中包括了 Vinum 卷管理器, 它是一个用以实现虚拟磁盘驱动器的块设备。</para>
<para>Vinum 提供了比传统磁盘存储更好的灵活性、性能和可靠性,
它还实现了 RAID-0, RAID-1, 以及 RAID-5
@ -174,7 +174,7 @@ FreeBSD
<emphasis>分段(striping)</emphasis> 或者 <acronym>RAID-0</acronym>
<footnote>
<para><acronym>RAID</acronym> 代表<emphasis>廉价磁盘容错(Redundant
<para><acronym>RAID</acronym> 代表<emphasis>廉价冗余磁盘阵列 (Redundant
Array of Inexpensive Disks)</emphasis> 提供各种容错机制,
但后面这个术语可能会有些让人误解:它不提供冗余功能。</para> </footnote>.
@ -194,10 +194,11 @@ FreeBSD
<sect1 id="vinum-data-integrity">
<title>数据的完整性</title>
<para>T当前磁盘的最后一个问题是它们不太可靠。虽然磁盘驱动器
的可靠性在过去几年有了很大的提高,它们仍然是会损坏的服务器的
最核心组件。当它们发生故障的时候, 结果可能是灾难性的:
替换一个坏的磁盘驱动器,然后恢复数据可能要花费几天时间。
<para>现时磁盘的最后一个问题是它们不太可靠。
虽然磁盘驱动器的可靠性在过去几年有了很大的提高,
但它们仍然是服务器中最容易损坏的核心组件。
当它们发生故障的时候, 结果可能是灾难性的:
替换坏的磁盘驱动器并恢复数据可能要花费几天时间。
</para>
<indexterm>
@ -211,12 +212,12 @@ FreeBSD
<primary>RAID-1</primary>
</indexterm>
<para>解决这个问题的传统方法是建立镜象
<emphasis>镜象</emphasis>, 在不同的物理硬件上对数据做两个副本。
由于<acronym>RAID</acronym> 的出现levels, 所以这个技术也被叫做
<acronym>第一级RAID</acronym> 或者
<acronym>RAID-1</acronym>. 任何写到卷的数据也会被写到镜象上,
以可以从任何一个副本读取数据, 如果其中有一个出现故障,
<para>解决这个问题的传统方法是建立
<emphasis>镜象</emphasis> 在不同的物理硬件上对数据做两个副本。
根据 <acronym>RAID</acronym> 级别出现的时间顺序, 这个技术也被叫做
<acronym>RAID 级别1</acronym> 或者
<acronym>RAID-1</acronym> 任何写到卷的数据也会被写到镜象上,
以可以从任何一个副本读取数据, 如果其中有一个出现故障,
数据也还可以从其他驱动器上访问到。</para>
<para>镜象有两个问题:</para>
@ -228,14 +229,14 @@ FreeBSD
<listitem>
<para>性能影响。 写入操作必须在两个驱动器上执行,所以它们
花费两倍的带宽。读取数据并不会影响性能:看起来它们会更快。</para>
花费两倍的带宽。读取数据并不会影响性能: 它们甚至看起来会更快。</para>
</listitem>
</itemizedlist>
<para><indexterm><primary>RAID-5</primary></indexterm>一个
可选的方案采用 <emphasis>parity</emphasis>,
其实现了 <acronym>RAID</acronym> 2, 3, 4 和
5. 而其中, <acronym>RAID-5</acronym> 是我们最感兴趣的。
<para><indexterm><primary>RAID-5</primary></indexterm>
一个可选的方案采用 <emphasis>奇偶校验</emphasis> 的方式,
用以实现 <acronym>RAID</acronym> 2、 3、 4 和
5。 这其中, <acronym>RAID-5</acronym> 是我们最感兴趣的。
在 Vinum 的实现中, 这是一个条带组织结构的变体,
其中, 每一个条带中都以一个专用的块,
来保存其它块的奇偶校验值。 这样,
@ -269,7 +270,7 @@ FreeBSD
<itemizedlist>
<listitem>
<para>T最显著的目标是虚拟磁盘, 叫做
<para>最显著的目标是虚拟磁盘, 叫做
<emphasis>卷(volume)</emphasis>. 卷本质上与一个UNIX 磁盘
驱动器有同样的属性,虽然它们是有些不太一样。它们没有大小的限制。
</para>
@ -315,7 +316,7 @@ FreeBSD
每个plex 是一个在一个卷中的数据的描述。一个卷可以包含一个
到八个plex。</para>
<para>Although虽然一个plex 描述了一个卷的所有数据,,
<para>虽然一个plex 描述了一个卷的所有数据,,
但可能描述的部分被物理地丢失了。可能是设计的问题
没有为plex 部分定义一个subdisk也可能是意外的故障
由于驱动器的故障导致。只要至少有一个plex 能够为
@ -350,8 +351,8 @@ FreeBSD
<listitem>
<para>串联的plex 更加灵活它们可以包含任何数量的subdisk
subdisk 也可能有不同的长度。Plex 可以通过添加额外的subdisk
来得到扩展。 它们需要更少
<acronym>CPU</acronym> 时钟相对分段plexes, 尽管
来得到扩展。 与分段 plex 不同, 它们需要的
<acronym>CPU</acronym> 时钟更少, 尽管
<acronym>CPU</acronym> 上的负载差异是不可测量的。
另一方面,它们的负载可能不平衡,一个磁盘可能负载很重,
而其他的可能很空闲。</para>
@ -365,7 +366,7 @@ FreeBSD
: 它们必须是同样大小, 通过添加新的subdisk 来扩展一个plex
是非常复杂的,以至Vinum 当前没有实现它. Vinum 利用一个额外
代价不高的限制一个分段的plex 必须有至少两个subdisk
因为否则的话它是无法从一个连接的plex 进行区分的。</para>
否则, 它就无法区分连接的 plex 了。</para>
</listitem>
</itemizedlist>
@ -380,7 +381,7 @@ FreeBSD
<entry>Plex 类型</entry>
<entry>最少subdisks</entry>
<entry>可否添加subdisks</entry>
<entry>必须相同大小</entry>
<entry>尺寸相同</entry>
<entry>应用</entry>
</row>
</thead>
@ -390,7 +391,7 @@ FreeBSD
<entry>串联 </entry>
<entry>1</entry>
<entry>可以</entry>
<entry>不可以</entry>
<entry>不必须</entry>
<entry>带有很大弹性和适中性能的大数据量存储。
</entry>
</row>
@ -399,7 +400,7 @@ FreeBSD
<entry>分段</entry>
<entry>2</entry>
<entry>不可以</entry>
<entry>可以</entry>
<entry>必须</entry>
<entry>大量并发访问时,具有较高性能。</entry>
</row>
</tbody>
@ -450,7 +451,7 @@ FreeBSD
唯一需要的参数是组织,在这个例子中是
<emphasis>concat</emphasis>. 没有名称是必然的:
系统自动通过添加suffix
<emphasis>.p</emphasis><emphasis>x</emphasis>px
<emphasis>.p</emphasis><emphasis>x</emphasis>
来从卷名称产生一个名字,这里的<emphasis>x</emphasis>
是在卷中的plex 的编号。而这个plex 将被
叫做<emphasis>myvol.p0</emphasis>。</para>
@ -563,8 +564,8 @@ FreeBSD
<sect2>
<title>优化性能</title>
<para>面例子中的镜像卷要比没有镜像的卷具有更好的容灾能力,
但它的性能要差一些: 每一次写入卷时, 需要同时写两个驱动器上,
<para>面例子中的镜像卷要比没有镜像的卷具有更好的容灾能力,
但它的性能要差一些: 每一次写入卷时, 需要同时写两个驱动器上,
因而也就需要更大的磁盘访问带宽。 如果希望非常好的性能,
则需要另外一种方式: 不做镜像,
而将数据分成条带放到尽可能多的、不同的磁盘上。
@ -666,7 +667,7 @@ FreeBSD
<title>对象命名</title>
<para>如前面所描述的那样, Vinum 会给 plex 和子盘指定默认的名字,
而这些名字也是可以定制的。 不推荐盖面默认的名字:
而这些名字也是可以定制的。 不推荐修改默认的名字:
使用允许给对象任意命名的 VERITAS
卷管理器的经验证明, 这一灵活性并没有带来太多的好处,
相反, 它很容易导致对象的混淆。</para>
@ -677,7 +678,7 @@ FreeBSD
32 个字符。</para>
<para>Vinum 对象会在
<filename>/dev/gvinum</filename> 之下生成设备点。
<filename>/dev/gvinum</filename> 之下生成设备点。
前述的配置将使 Vinum 创建以下设备节点:</para>
<itemizedlist>
@ -705,7 +706,7 @@ FreeBSD
<note><para>这些内容仅适用于旧式的 Vinum
实现。</para></note>
<para>一个包含每个驱动器对应的 <filename>/dev/vinum/drive</filename>
<para>一个包含每个驱动器对应设备的 <filename>/dev/vinum/drive</filename>
目录。 这些项事实上是指向对应磁盘节点的符号连接。</para>
</listitem>
@ -764,7 +765,7 @@ FreeBSD
<para>对于系统而言, 卷和磁盘是一样的。
唯一的例外是, 与 &unix; 驱动器不同, Vinum 并不对卷进行分区,
因而它也就不包含分区表。 这导致修改了某些磁盘工具,
因而它也就不包含分区表。 这要求修改某些磁盘工具,
特别是 &man.newfs.8; 它会试图将 Vinum 卷名当作分区标识。
例如, 磁盘驱动器的名字可能是 <filename>/dev/ad0a</filename> 或
<filename>/dev/da2h</filename>。
@ -772,7 +773,7 @@ FreeBSD
磁盘上的第一个分区 (<devicename>a</devicename>)
以及第三个 (2) SCSI 磁盘 (<devicename>da</devicename>)
上的第八个分区 (<devicename>h</devicename>)。
于此相反 Vinum 卷可能叫做
而相比而言 Vinum 卷可能叫做
<filename>/dev/gvinum/concat</filename>
这个名字和分区名没有什么关系。</para>
@ -1002,13 +1003,13 @@ sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len 4194304b dr
<para>需要注意的是, Vinum 偏移量和尺寸的单位是字节。
它们必须是 512 的整数倍, 才能得到
<command>disklabel</command> 命令所需的块号。</para>
<command>bsdlabel</command> 命令所需的块号。</para>
</step>
<step>
<para>在每一个根卷成员设备上, 执行命令:</para>
<screen>&prompt.root; <userinput>disklabel -e <replaceable>devname</replaceable></userinput></screen>
<screen>&prompt.root; <userinput>bsdlabel -e <replaceable>devname</replaceable></userinput></screen>
<para>这其中, 对于没有 slice (也就是 fdisk) 表的磁盘,
<replaceable>devname</replaceable> 必须是磁盘的名字
@ -1038,7 +1039,7 @@ sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len 4194304b dr
<para>这样, 新的 <literal>"a"</literal> 分区,
将创建并覆盖这一设备上的 Vinum 分区的范围。
注意, <command>disklabel</command> 只有在
注意, <command>bsdlabel</command> 只有在
Vinum 分区的 fstype 被标记为 <literal>"vinum"</literal>
时, 才允许这样做。</para>
</step>
@ -1089,12 +1090,12 @@ Subdisk root.p1.s0:
<para>需要注意的值是 <literal>135680</literal>
也就是偏移量 (相对于
<filename>/dev/da0h</filename> 分区)。 这相当于 <command>disklabel</command>
<filename>/dev/da0h</filename> 分区)。 这相当于 <command>bsdlabel</command>
记法中的 265 个 512-字节的磁盘块。 类似地, 根卷的尺寸是 245760
个 512-字节的磁盘块。 <filename>/dev/da1h</filename> 中,
包含了根卷的第二个副本, 采用了同样的配置。</para>
<para>这些设备的 disklabel 类似下面的样子:</para>
<para>这些设备的 bsdlabel 类似下面的样子:</para>
<screen>
...
@ -1146,7 +1147,7 @@ Subdisk root.p1.s0:
<option>-as</option> 会要求内核询问所挂接的根文件系统
(<option>-a</option>) 并使引导过程在单用户模式停止
(<option>-s</option>) 此时根文件系统是以只读方式挂接的。
这样, 及时只挂接了多 plex 卷中的一个 plex
这样, 即使只挂接了多 plex 卷中的一个 plex
也不会引致 plex 之间数据不一致的问题。</para>
<para>当提示输入要挂接的根文件系统时,
@ -1184,14 +1185,14 @@ Subdisk root.p1.s0:
<para>这种情况一般是由于 Vinum 安装过程中破坏了引导程序造成的。
不幸的是, Vinum 目前只在分区开始的地方保留了 4 KB
的空间, 之后就开始写 Vinum 头信息了。 然而,
目前第一阶段和第二阶段的引导程序, 加上 disklabel
目前第一阶段和第二阶段的引导程序, 加上 bsdlabel
嵌入的内容则需要 8 KB。 因此, 如果 Vinum
分区从偏移量 0 开始, 而这个 slice 或磁盘能够启动,
则 Vinum 的安装将毁掉引导程序。</para>
<para>类似地, 如果从上述情形中恢复, 例如,
从 <quote>Fixit</quote> 盘启动, 并通过
<command>disklabel -B</command> 按照 <xref
<command>bsdlabel -B</command> 按照 <xref
linkend="boot-boot1"> 中介绍的方法来恢复引导程序,
则引导程序会覆盖掉 Vinum 头, 这样 Vinum 也就找不到它的磁盘了。
尽管这并不会真的毁掉 Vinum 的配置数据, 或者 Vinum 卷上的数据,

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
Original Revision: 1.172
Original Revision: 1.173
$FreeBSD$
-->
@ -30,7 +30,7 @@
X11 是一种开放源代码的 X Window 系统实现,
它包括 <application>&xorg;</application> 和
<application>&xfree86;</application>。 &os; 在包括
&os;&nbsp;4.11-RELEASE 和 &os;&nbsp;5.2.1-RELEASE
&os;&nbsp;5.2.1-RELEASE
在内的版本之前, 都默认安装
<application>&xfree86;</application> 一种由 &xfree86; Project, Inc.
发布的 X11 服务。 从 &os;&nbsp;5.3-RELEASE 开始,
@ -579,33 +579,7 @@ EndSection</programlisting>
<para>配置Intel i810芯片组的显示卡需要有针对 X11
的能够用来驱动显示卡的 <devicename>agpgart</devicename> AGP程序接口。
自从发行版本 4.8-RELEASE 和 5.0-RELEASE 发行以来 &man.agp.4; 驱动程序就包含在
<filename>GENERIC</filename> 内核配置里面了。
在以前的发行版里,您必须要在您的内核配置文件里添加下面的一行:</para>
<programlisting>device agp</programlisting>
<para>然后重新编译一个新的内核。
或者,您可以在启动的时候使用 &man.loader.8; 自动加载
<filename>agp.ko</filename> 内核模块。
简单的添加下面这行到
<filename>/boot/loader.conf</filename> 文件里:</para>
<programlisting>agp_load="YES"</programlisting>
<para>接下来,如果您正在运行 FreeBSD&nbsp;4.X 或者更早的版本,
需要创建一个设备节点作为程序接口。
要创建 AGP 设备节点,在 <filename>/dev</filename> 下运行
&man.MAKEDEV.8;</para>
<screen>&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>sh MAKEDEV agpgart</userinput></screen>
<note>
<para>FreeBSD&nbsp;5.X 和以后的版本会使用 &man.devfs.5; 来半透明的分配
设备节点,因此
&man.MAKEDEV.8; 这一步是不必要的。</para>
</note>
请参见 &man.agp.4; 驱动程序的联机手册了解更多细节。</para>
<para>这也适用于其他的图形卡硬件配置。
注意如果系统没有将 &man.agp.4;