Approved by:	doceng (implicit)
This commit is contained in:
Gabor Kovesdan 2012-09-14 09:21:39 +00:00
commit bfb29d953f
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/projects/sgml2xml/; revision=39529
19 changed files with 715 additions and 169 deletions

View file

@ -4362,11 +4362,6 @@
<email>geniusj@ods.org</email></para> <email>geniusj@ods.org</email></para>
</listitem> </listitem>
<listitem>
<para>Jason E. Hale
<email>bsdkaffee@gmail.com</email></para>
</listitem>
<listitem> <listitem>
<para>Jason Garman <para>Jason Garman
<email>init@risen.org</email></para> <email>init@risen.org</email></para>

View file

@ -499,6 +499,10 @@
<para>&a.mjg;</para> <para>&a.mjg;</para>
</listitem> </listitem>
<listitem>
<para>&a.jhale;</para>
</listitem>
<listitem> <listitem>
<para>&a.randi;</para> <para>&a.randi;</para>
</listitem> </listitem>

View file

@ -204,7 +204,7 @@ vfs.zfs.vdev.cache.size="5M"</programlisting>
<screen>&prompt.root; <userinput>zpool create example /dev/da0</userinput></screen> <screen>&prompt.root; <userinput>zpool create example /dev/da0</userinput></screen>
<para>To view the new pool, review the output of the <para>To view the new pool, review the output of
<command>df</command>:</para> <command>df</command>:</para>
<screen>&prompt.root; <userinput>df</userinput> <screen>&prompt.root; <userinput>df</userinput>
@ -292,7 +292,7 @@ example/compressed on /example/compressed (zfs, local)</screen>
&prompt.root; <userinput>zfs set copies=2 example/data</userinput></screen> &prompt.root; <userinput>zfs set copies=2 example/data</userinput></screen>
<para>It is now possible to see the data and space utilization <para>It is now possible to see the data and space utilization
by issuing the <command>df</command> again:</para> by issuing <command>df</command> again:</para>
<screen>&prompt.root; <userinput>df</userinput> <screen>&prompt.root; <userinput>df</userinput>
Filesystem 1K-blocks Used Avail Capacity Mounted on Filesystem 1K-blocks Used Avail Capacity Mounted on
@ -305,7 +305,7 @@ example/data 17547008 0 17547008 0% /example/data</screen>
<para>Notice that each file system on the pool has the same <para>Notice that each file system on the pool has the same
amount of available space. This is the reason for using amount of available space. This is the reason for using
the <command>df</command> through these examples, to show <command>df</command> through these examples, to show
that the file systems are using only the amount of space that the file systems are using only the amount of space
they need and will all draw from the same pool. they need and will all draw from the same pool.
The <acronym>ZFS</acronym> file system does away with concepts The <acronym>ZFS</acronym> file system does away with concepts
@ -352,7 +352,7 @@ example/data 17547008 0 17547008 0% /example/data</screen>
&man.df.1; commands as before. More disk devices may have &man.df.1; commands as before. More disk devices may have
been allocated by adding them to the end of the list above. been allocated by adding them to the end of the list above.
Make a new file system in the pool, called Make a new file system in the pool, called
<literal>home</literal> where user files will eventually be <literal>home</literal>, where user files will eventually be
placed:</para> placed:</para>
<screen>&prompt.root; <userinput>zfs create storage/home</userinput></screen> <screen>&prompt.root; <userinput>zfs create storage/home</userinput></screen>
@ -392,7 +392,7 @@ example/data 17547008 0 17547008 0% /example/data</screen>
<screen>&prompt.root; <userinput>zfs rollback storage/home@08-30-08</userinput></screen> <screen>&prompt.root; <userinput>zfs rollback storage/home@08-30-08</userinput></screen>
<para>To get a list of all available snapshots, run the <para>To get a list of all available snapshots, run
<command>ls</command> in the file system's <command>ls</command> in the file system's
<filename class="directory">.zfs/snapshot</filename> <filename class="directory">.zfs/snapshot</filename>
directory. For example, to see the previously taken directory. For example, to see the previously taken
@ -407,7 +407,7 @@ example/data 17547008 0 17547008 0% /example/data</screen>
<screen>&prompt.root; <userinput>zfs destroy storage/home@08-30-08</userinput></screen> <screen>&prompt.root; <userinput>zfs destroy storage/home@08-30-08</userinput></screen>
<para>There is no reason, after all of this testing, we should <para>After all of this testing, there is no reason we should
keep <filename class="directory">/storage/home</filename> keep <filename class="directory">/storage/home</filename>
around in its present state. Make it the real around in its present state. Make it the real
<filename class="directory">/home</filename> file <filename class="directory">/home</filename> file

View file

@ -39,7 +39,7 @@
<li><a href="#t-donations">Donations Team</a></li> <li><a href="#t-donations">Donations Team</a></li>
<li><a href="#t-marketing">Marketing Team</a></li> <li><a href="#t-marketing">Marketing Team</a></li>
<li><a href="#t-secteam">Security Team</a></li> <li><a href="#t-secteam">Security Team</a></li>
<li><a href="#t-vendor">Vendor Relations Team</a></li> <li><a href="#t-vendor">Vendor Relations</a></li>
</ul> </ul>
</li> </li>
<li>Secretaries <li>Secretaries
@ -248,20 +248,13 @@
<li>&a.stas; &lt;<a href="mailto:stas@FreeBSD.org">stas@FreeBSD.org</a>&gt;</li> <li>&a.stas; &lt;<a href="mailto:stas@FreeBSD.org">stas@FreeBSD.org</a>&gt;</li>
</ul> </ul>
<h3><a name="t-vendor">Vendor Relations Team</a> <h3><a name="t-vendor">Vendor Relations</a>
&lt;<a href="mailto:vendor-relations@FreeBSD.org">vendor-relations@FreeBSD.org</a>&gt;</h3> &lt;<a href="mailto:vendor-relations@FreeBSD.org">vendor-relations@FreeBSD.org</a>&gt;</h3>
<p>Vendor relations.</p> <p>Vendor Relations is responsible for handling email
from hardware and software vendors. Email sent to Vendor
<ul> Relations is forwarded to the &os;&nbsp;Core Team in addition
<li>&a.gioria; &lt;<a href="mailto:gioria@FreeBSD.org">gioria@FreeBSD.org</a>&gt;</li> to the &os;&nbsp;Foundation.</p>
<li>&a.jmg; &lt;<a href="mailto:jmg@FreeBSD.org">jmg@FreeBSD.org</a>&gt;</li>
<li>&a.rik; &lt;<a href="mailto:rik@FreeBSD.org">rik@FreeBSD.org</a>&gt;</li>
<li>&a.philip; &lt;<a href="mailto:philip@FreeBSD.org">philip@FreeBSD.org</a>&gt;</li>
<li>&a.hmp; &lt;<a href="mailto:hmp@FreeBSD.org">hmp@FreeBSD.org</a>&gt;</li>
<li>&a.marks; &lt;<a href="mailto:marks@FreeBSD.org">marks@FreeBSD.org</a>&gt;</li>
<li>&a.murray; &lt;<a href="mailto:murray@FreeBSD.org">murray@FreeBSD.org</a>&gt;</li>
</ul>
<hr/> <hr/>

View file

@ -42,7 +42,8 @@ be committed.
contains any patches necessary to make the original application source contains any patches necessary to make the original application source
code compile and run on FreeBSD. Installing an application is as code compile and run on FreeBSD. Installing an application is as
simple as typing simple as typing
<a href="http://www.freebsd.org/cgi/man.cgi?query=make"><tt>make</tt></a> <tt><a href="http://www.freebsd.org/cgi/man.cgi?query=make">make</a>
install</tt>
in the port directory. If you in the port directory. If you
download the framework for the entire list of ports by installing the download the framework for the entire list of ports by installing the
<!--<a href="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/ports/ports.tar.gz">--> <!--<a href="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/ports/ports.tar.gz">-->

View file

@ -50,7 +50,7 @@
</tr> </tr>
<tr> <tr>
<td>August 2012</td> <td>September 2012</td>
<td>&os; 9.1</td> <td>&os; 9.1</td>
<td><a href="&base;/releases/9.1R/schedule.html">Target Schedule</a></td> <td><a href="&base;/releases/9.1R/schedule.html">Target Schedule</a></td>
</tr> </tr>

View file

@ -3,7 +3,7 @@
The FreeBSD Documentation Project The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project The FreeBSD Japanese Documentation Project
Original revision: r39186 Original revision: r39467
$FreeBSD$ $FreeBSD$
--> -->
@ -231,6 +231,111 @@
CD や DVD メディアに書き込めます。</para> CD や DVD メディアに書き込めます。</para>
</sect1> </sect1>
<sect1 id="mirrors-svn">
<title>Subversion サイト</title>
<indexterm>
<primary>svn</primary>
</indexterm>
<para>2012 年 7 月から、&os;
はすべてのソースコード、ドキュメント、Ports Collection
を管理するプライマリのバージョン管理システムに
<ulink url="http://subversion.apache.org/">Subversion</ulink>
(<emphasis>svn</emphasis>) を採用しています。</para>
<note>
<para>Subversion は一般的には開発者向けのツールです。
大半のユーザは、&os; のベースシステム、
Ports Collection のアップデートに、それぞれ
<link linkend="updating-upgrading-freebsdupdate">FreeBSD
Update</link>,
<link linkend="updating-upgrading-portsnap">Portsnap</link>
を使うべきでしょう。</para>
</note>
<para>&os; の svn ミラーネットワークは、まだ初期の段階にあるので、
今後変わることがあります。
以下のミラーの一覧を静的なものとは考えないでください。
特に、サーバの SSL 証明書は、いずれかの時点で変更になるでしょう。</para>
<para>Subversion では、リポジトリの指定に
<literal>protocol://hostname/path</literal> 形式の URL を用います。
以下に記載されているように、ミラーは異なる複数のプロトコルに対応しています。
アクセスする FreeBSD のリポジトリは、パス (path) の最初で指定します。
リポジトリは 3 つあります。
<literal>base</literal> は &os; ベースシステムのソースコード、
<literal>ports</literal> は Ports Collection、
そして <literal>doc</literal> はドキュメントのリポジトリです。
たとえば、
<literal>svn://svn0.us-east.FreeBSD.org/ports/head/</literal>
という URL は、svn プロトコルによる
<hostid role="fqdn">svn0.us-east.FreeBSD.org</hostid> ミラー上の
ports リポジトリのメインブランチを示しています。</para>
<para>すべてのミラーはすべてのリポジトリを持っています。</para>
<para>&os; Subversion サーバのマスタである
<hostid role="fqdn">svn.FreeBSD.org</hostid> は、
公には読み出し専用でアクセスできますが、
将来的には変更される予定があるので、オフィシャルミラーを使うことが推奨されます。
ブラウザを用いて &os; の Subversion リポジトリを参照するには、<ulink
url="http://svnweb.FreeBSD.org/">http://svnweb.FreeBSD.org/</ulink>
を利用してください。</para>
<informaltable>
<tgroup cols="4">
<colspec colwidth="3*"/>
<colspec colwidth="1*"/>
<colspec colwidth="2*"/>
<colspec colwidth="10*"/>
<thead>
<row>
<entry>名前</entry>
<entry>プロトコル</entry>
<entry>位置</entry>
<entry>SSL フィンガープリント</entry>
</row>
</thead>
<tbody>
<row>
<entry><hostid
role="fqdn">svn0.us-west.FreeBSD.org</hostid></entry>
<entry>svn, <ulink
url="http://svn0.us-west.FreeBSD.org/base/">http</ulink>,
<ulink
url="https://svn0.us-west.FreeBSD.org/base/">https</ulink></entry>
<entry>USA, カリフォルニア</entry>
<entry>SHA1
<literal>79:35:8F:CA:6D:34:D9:30:44:D1:00:AF:33:4D:E6:11:44:4D:15:EC</literal></entry>
</row>
<row>
<entry><hostid
role="fqdn">svn0.us-east.FreeBSD.org</hostid></entry>
<entry>svn, <ulink
url="http://svn0.us-east.FreeBSD.org/base/">http</ulink>,
<ulink
url="https://svn0.us-east.FreeBSD.org/base/">https</ulink></entry>
<entry>USA, ニュージャージ</entry>
<entry>SHA1
<literal>06:D1:23:DE:5E:7A:F7:2B:7A:7E:74:95:5F:54:8D:5C:B0:D6:2E:8F</literal></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect1>
<sect1 id="anoncvs"> <sect1 id="anoncvs">
<title>Anonymous CVS</title> <title>Anonymous CVS</title>

View file

@ -8,7 +8,7 @@
%statistics.ent; %statistics.ent;
]> ]>
<!-- The FreeBSD Japanese Documentation Project --> <!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.4 --> <!-- Original revision: r39523 -->
<html xmlns="http://www.w3.org/1999/xhtml"><head> <html xmlns="http://www.w3.org/1999/xhtml"><head>
<title>&title;</title> <title>&title;</title>
@ -45,15 +45,14 @@ Ports Collection
<p>ここに並べられている各 ``port'' には、 <p>ここに並べられている各 ``port'' には、
FreeBSD 上でオリジナルのアプリケーションのソースコードをコンパイルし、 FreeBSD 上でオリジナルのアプリケーションのソースコードをコンパイルし、
実行するために必要なパッチがすべて含まれています。 実行するために必要なパッチがすべて含まれています。
アプリケーションのインストールは簡単で、port をダウンロードし、 アプリケーションのインストールは簡単で、port のディレクトリで
それを展開し、その port のディレクトリで <tt><a href="http://www.freebsd.org/cgi/man.cgi?query=make">make</a>
<a href="http://www.freebsd.org/cgi/man.cgi?query=make"><tt>make</tt></a> install</tt>
と打つだけです。 と打つだけです。
しかしながら、最も便利な (そして一般的な) 方法は、 <!--<a href="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/ports/ports.tar.gz">-->
FreeBSD のインストール時に <a href="http://www.freebsd.org/doc/ja_JP.eucJP/books/handbook/ports-using.html#PORTS-TREE">
<a href="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/ports/ports.tar.gz">
ports 階層全体</a> をインストールし、 ports 階層全体</a> をインストールし、
すべての ports 一覧のフレームワークをダウンロードすることです。 すべての ports 一覧のフレームワークをダウンロードしたら、
何千ものアプリケーションが、すぐに使えるようになります。 何千ものアプリケーションが、すぐに使えるようになります。
</p> </p>

View file

@ -20,7 +20,7 @@
the contents of <title> will be preferred over <p>. the contents of <title> will be preferred over <p>.
$FreeBSD$ $FreeBSD$
Original revision: r39436 Original revision: r39520
--> -->
<news> <news>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS"> <cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">
@ -30,6 +30,19 @@
<year> <year>
<name>2012</name> <name>2012</name>
<month>
<name>9</name>
<day>
<name>10</name>
<event>
<p>新コミッタ就任:
<a href="mailto:jhale@FreeBSD.org">Jason E. Hale</a> (ports)</p>
</event>
</day>
</month>
<month> <month>
<name>8</name> <name>8</name>

View file

@ -19,12 +19,23 @@ WEBDIR?= ${.CURDIR:T}
CGIDIR?= ${.CURDIR:T} CGIDIR?= ${.CURDIR:T}
DESTDIR?= ${HOME}/public_html DESTDIR?= ${HOME}/public_html
_ID?= /usr/bin/id
_UID!= ${_ID} -u
WEBOWN?= ${USER} WEBOWN?= ${USER}
.if (${_UID} > 0)
WEBGRP?= ${USER}
.else
WEBGRP?= www WEBGRP?= www
.endif
WEBMODE?= 664 WEBMODE?= 664
CGIOWN?= ${USER} CGIOWN?= ${USER}
.if (${_UID} > 0)
CGIGRP?= ${USER}
.else
CGIGRP?= www CGIGRP?= www
.endif
CGIMODE?= 775 CGIMODE?= 775
BUNZIP2?= /usr/bin/bunzip2 BUNZIP2?= /usr/bin/bunzip2

73
share/pgpkeys/jhale.key Normal file
View file

@ -0,0 +1,73 @@
<!-- $FreeBSD$ -->
<!--
sh addkey.sh jhale 8F2E5907;
-->
<programlisting role="pgpfingerprint"><![CDATA[
pub 3072D/8F2E5907 2012-09-07
Key fingerprint = 009C 54BF 32D0 F373 8126 C8A1 D8DD 2CA4 8F2E 5907
uid Jason E. Hale <jhale@FreeBSD.org>
uid Jason E. Hale <bsdkaffee@gmail.com>
sub 4096g/7081A001 2012-09-07
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQSuBFBJ7kMRDACdF9DTaE8bAAGh3Q/Dd5Ckst0s8Qs7cJrb0qWGRUqV8vmvJr3J
b5v+Bgb4wSN2UM+Gl9EJ485e2zJ5TkzrUgo3rFu1quPLnPehHDI97fYtA3CxbNCm
j9tyvqmMKbkKwHkTvyIV+Rk8HBbWQcF3fSaVDqqi/XodkpXUrn2zom6Cy2/yC2+J
H4+ebR9QjQYoXxYl3MlM8p/W8QBU/65TZPCFAdvI9bWL2f8qHdU9TdIOvboGiWbh
gsDIYqEmI+2GzOrPvnuTPoKLuaJv+6MVdnnnqKGo/xMVml3Kj5QgDzjvs4+xVVAx
D+7mCXs9LBYwujO/Wraq7ljr2+5ZER1EiW/jQgNc7jeg4rVQk35eF1Jiar/ztwhg
Sll1xbynuY41si+1O/dMxtP/Wa7ouvcinpzAVdT1JfAr1P/nm4ASicGCKlLkhROb
OdNaxvckoFB2W5PLccsRPOmCMveck3HrbCYh7Wj4GMPcnai4pvwG7Wd0xHjtQ4yj
rXqvB7mf+DL6sZMBAIroA/8lcVGnVc1avUWb2sJ0Yy8r8xZfGYb6b74XnhHNC/45
iQx3kLh9oUp8I6VygyYM0G2dbDOaN75omszFgFhxzzD6nRXZweTRd7j4Z5BRclsK
MVzZLI5ZRC3wOmcwxlELbANE6kaME8RU4g8ywXUHeR3hD6nJ02SQIJpUojFxezz8
7cTwK3s2O+8f9d9UqMUXq+xpBBg26pDLrr+eITHxiY4Tecbnc+76W5rgfvaJaCM9
yl6sMESUztG3qqibJ2iYy4tB2UmLWBMCu1tvSkA3B+jj2MLLMRs2OZunsbmozI9p
OdPqkPScQuAlYHpDgVp/eMmd+vO7lLuWc1feSJ8HHL5l27i/kSnstDe/NVF8QHsL
dKShZsITn94h80HG5rmgaGyTnw+t+K4dN6rb1+Xsm9Vx6i3E+57HTcQi37o/R2Vv
jgHp6wtvv09mubWdvHk01+tZRV9md0+EPjDsmBA5DSDp9Ccr2D4k1B4ovezEqltT
R8ctjkhPtZ1cv6UD81volzTE3N432Uz6Q1RvpROn2MzitirogG1LBYjhnfdhRfML
/Ag1LAu8EiEhDpt1GANT7NuQ/0zl7VwhEDFbEW7F8g9qgG3YnrXdbg41PrELJ6xu
VIrtz8tr8M5GbhbaZhRx88X/4XQFW7EiA4dmOlymwi5oxe1cgwzz/Z7khhNU7XAI
poByqiUzEO5viWP2nYL07ewu9nJ1EVcsdffH2FNooSMfAcH+ZmdMoK+kMOfb/G9E
DNYX3+RmrHfSnVbYJD45qIuYm8P8OgOcGTE6cgmSlRn6ki93e+to44ThwTSMWM/z
NmleNL2CwsX/whKGqZAaO3yRyAnTHIDOEfgf66wXMudvA0otEybHFxZnyj/KreQw
3SUWQkHBBxuaO1lVaPSE4qt+RIGsJM2ZzWZaDWkMN+qnJPJbr0tUjCVF1g+NUqCa
5gPmvJHDrLdmTBtlJbXfL255TnaGGwkN8zhYoqEyRa5MDz1tlYkD+cnbVU6xyXRC
nk7GZBR46j0uNl2W+rX9xoHFwNncGRrjKcr5z8+3R/e8CBYrvCwLebYhehegfo/u
MrQjSmFzb24gRS4gSGFsZSA8YnNka2FmZmVlQGdtYWlsLmNvbT6IegQTEQgAIgUC
UEnuQwIbIwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQ2N0spI8uWQf5/QD+
JvzZL8okil73+M92RWXntxmwzZqylmCu8Id/St350ekA/2L4pbH+x1CDqWWHzL8v
qN6nyTkvwzgJQmANRIHKISb8tCFKYXNvbiBFLiBIYWxlIDxqaGFsZUBGcmVlQlNE
Lm9yZz6IegQTEQgAIgUCUE51KQIbIwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AA
CgkQ2N0spI8uWQcMagD+J4u9BeA16uYSEFwc+eyklyH6qjJtnSoo/7NKefYULBwA
/A6wPS6lXIgwV/ErxBPLooDOUBDpd9FGVAlo/Bru4DrnuQQNBFBJ7kMQEACBiPvP
Klj+EbBXY7U0FYVLwONECLJ71B6dolunqQ08rGniXFaOO7B4a1ho5AJzfpCOWPq4
20rmo59H+5HaGUuT8JJfk1V8zfxaMV6ze+qOacRt+0uAfMiBvtanAbnIojcdnhWK
pxWZkV1VNma0xBkxNuZDy0D8rQ8c/wPlD2Lv/b7QXvk1rlSSNzw5JuwVk6TAGD66
o+QG9wCkV/jfZUgRpiKSuiYrgGxQZAsAcW5xDlfHA9rPPfmcCRzKwxq+63AIbwcE
LFJQPYO19JNzDBJ8RskTVnQfhL28U2Dx8jiDB/Qsy3m4fC+L29hLx8+YVQBsq1YX
uDaqtfKEnYO/495ydsCMH9qv6LxdrXuRXNglov1TCLXiDt0s6rCdCAkpTEDta7gv
RH8Ncycwo3YFOniQwwvV18n1dJlzue8o7OeGaw9YwA2JZlecJ5YPKOPpmmxaIrZy
m4aR7NUKVSOa2eg5jPc9rMRCnduZAu/nVRtOlEPQWHIsebq5o4UBDi3Nd4bCcRGy
3Fv+rWl8hC6oK31X/s545TTIJbsLbVSYA58rCMwGkwa6UjJJybOzhD/AgiRU4S4g
aQT0Yt0c3cBZyjJteCOG4BG5TJexi/59mOcC4dhQuD3du3sfpI0g+PFoZXQYJ3+g
xwAqLjHCnTe971RB6+Kud2UJc6uzSqBeH+z36wADBQ/+LXh7HQiC0GaB1p9SrbiL
X4d9vjQgjmbI1Zz76C8Cfd+Vk6LGiU00VKTdNKs1QnKfcOaJqly+xEsxj9prE2zr
jmU9RzYKSBDXKMdmfBFbvF30QSRlmiFuOwSNUHNOG31c5J4c0zluJFbZzSw5zFGy
cKiRBZ7DlZuSnNviGqyl/AUkVVLQLnHbBUAEvlCXcvaFhwfTzT5sUgSWcUL0O1Kt
89w2pmTjRSIKBsANb48WyujoeD0NjkBXVXDN1n7+1EjKh0v/DzhQgz6kuhY8PK8j
NKzolth2cDeOlGlR/xupyNZW1KpLmYOB37tACJtFWcRG0NKMqzTfzAVAl1Hll1Vp
qA0Ccou16KmCvUqwLWtEsmTswPCS0V3QKt2K0RccfpLQFNjKE5Qj1oguqhheFcB6
TjU2XPEShGelPtB18FCcE9i/DYsNfRAfaN2DevPLGeZBUqV2Vbz94+4oJRSZCO94
nUCAvp8l65euazPVsU/Xa74r9R3jmZa98XnoxlNWVgQ8mT+XcXfEqKow7kuO46vO
6QKPR4qi33oKV0qt4v4hztypHNTzkhSbSSM9lhy68kNho6o42EqcTsJFpaKMW9SF
PT0DcXLNQFhXJYH9nSdaW3VE+/2xygCEzNz4NROfaXU67wopqIb2GIx1NmZpgaA5
be4BWQaHtyiLjJj6PIDWjLWIYQQYEQgACQUCUEnuQwIbDAAKCRDY3Sykjy5ZBwCX
AP9elLKCOSeYFcEqwlvEZd3GASS4tAJPf7hPU04NEX4ntAD/QVdcx3kXm7z2IxLS
qpi7F0myf/uBWfkmV1doJFiQMf4=
=b+Om
-----END PGP PUBLIC KEY BLOCK-----
]]></programlisting>

View file

@ -1,42 +1,55 @@
<!-- $FreeBSD$ --> <!-- $FreeBSD$ -->
<!-- <!--
sh addkey.sh jmg 3F9951F5; sh addkey.sh jmg 6D3FA396;
--> -->
<programlisting role="pgpfingerprint"><![CDATA[ <programlisting role="pgpfingerprint"><![CDATA[
pub 1024R/3F9951F5 1997-02-11 John-Mark Gurney <johnmark@gladstone.uoregon.edu> pub 1024D/6D3FA396 2011-03-03 [expires: 2016-03-01]
Key fingerprint = B7 EC EF F8 AE ED A7 31 96 7A 22 B3 D8 56 36 F4 Key fingerprint = 54BA 873B 6515 3F10 9E88 9322 9CB1 8F74 6D3F A396
uid John-Mark Gurney <gurney_j@efn.org> uid John-Mark Gurney <jmg@FreeBSD.org>
uid John-Mark Gurney <jmg@cs.uoregon.edu> uid John-Mark Gurney <jmg@funkthat.com>
uid John-Mark Gurney <gurney_j@resnet.uoregon.edu> sub 4096g/0A4C095E 2011-03-03 [expires: 2016-03-01]
]]></programlisting> ]]></programlisting>
<programlisting role="pgpkey"><![CDATA[ <programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK----- -----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.0.6 (FreeBSD)
Comment: For info see http://www.gnupg.org
mQCNAzL/8IwAAAEEANuX7fcIa0S5fVATYQCGwgBJo9DxRr0m/QjrP4dJh/JEIjmv mQGiBE1v4mkRBADosekDv7XPyOWmKL+iT+Oc1/FUHxO3U5OC8CHEYQxoLod4jJjy
h37FMs9qsMPtyAZWlRSnbVFyQiz5ptFuL1irClW2UHzlLvd5s+pKMfIkJWDTnrvp x1GJ+nqZcwtnhww2/1+ty3LwHvsCYj5jeIsCMpjHp456+2Hdw1w2fC8hH0ENZR85
0jFebYQt0chZeLcKT9s5sSo9ua+fUumOfaWyubUZPIqmDYqy98Em7wI/mVH1AAUR 5SnQGh/Ev7N3m00znbZLf0xPoaUZKFxa6Tmv0KflCw2Y2WCsN4qyhYCkVwCgzjni
tCNKb2huLU1hcmsgR3VybmV5IDxndXJuZXlfakBlZm4ub3JnPokAlQMFEDMBDfTB jXdXdi8ejv+dFKBmb5Vo6GUEAIlLD2ofYOsa3gQtdIyh9irx8PSri8qRAA05VcFM
Ju8CP5lR9QEBmnsEALAS5dZyQXxsDAROz+yHizsbgV1Ok9vFwE5en7QnOGcSkQX9 cE8r6F5pU53f9wFcD5KFVLXNRby8cdNhWar+K6WAhICGnck6ytmqVE/udZzLLmjX
pE7MzzlbpP63toF9zWLF75dbXE5X0yYLoB0pvNi1NXhXqA0YbDeAi1Ed6uBXbomW 6qedsMpQSmkXB6xmUnBx8DQAfH4+V68l00qsZ9pJphNG3+L9uUERQwWDQP/ZYzVp
MDdm0s+O0Y1NfuS0uKiFiJUDOjdBrgEbnmPZM/77dhr5UbmAtQUHFftaQfY6tDFK R3hVA/9PXTqcF1384HKOeeddBowCPDJUmYeVm0d9jZatOwnrnhDnZgT+LDS96xm0
b2huLU1hcmsgR3VybmV5IDxqb2hubWFya0BnbGFkc3RvbmUudW9yZWdvbi5lZHU+ R1yO577ka67c2bsDT2pbSYL5hkLWytXtLZr0nbTcczMJ1Bg4XIW+/QTkh09c/xhV
iQCVAwUQMwF753W7bjh2o/exAQGjjwP+MKiFH9EfOGS7yr5NQ4+vWXuHe1N6fi9N J3pol7PAnrflYqAAaioxffVapFoyBdOui1KjrmPfVruHjj10RbQjSm9obi1NYXJr
jJsFfzT/RCM/wo/dNG/xhTgdCoCWRt0gKkv3SLEPYGDPDtC3Nf7HV/66wOiYYnxD IEd1cm5leSA8am1nQGZ1bmt0aGF0LmNvbT6IZgQTEQIAJgUCTW/iaQIbAwUJCWYB
3cmjgpLn5u/Ju0oS5xxNb5Ly8EZnfz967lIHjp/qhbZ9o7kO7Nkb7bUgozNqBaRy gAYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEJyxj3RtP6OWS0EAoJE6fKmBrwM2
9Yo81fVAtrOJAJUDBRAzARCXwSbvAj+ZUfUBAeUyBACKoIXfYBpsKqmmnTg944Tw vBWK7mVbThebaQuNAKCbgANUv2cKs5Jy2hAVjTjno5rr3rQiSm9obi1NYXJrIEd1
5t8lAFZ8qJz42Fjw+hswC6c+7b87imwaH3AjPnFmsA6f1ES7xDHG8RQleDtKsyik cm5leSA8am1nQEZyZWVCU0Qub3JnPohmBBMRAgAmBQJNb+MKAhsDBQkJZgGABgsJ
gHc9Yos/neVqwfrr4zSV1PdNPPpG5uNT/jI1k1M3pH8kwYdKiwaIHQb5+sGUQsO1 CAcDAgQVAggDBBYCAwECHgECF4AACgkQnLGPdG0/o5aKVQCfZiykMZLK0FR9vGuc
ZoxCdzT7HJq4jJtBGVIRULQlSm9obi1NYXJrIEd1cm5leSA8am1nQGNzLnVvcmVn QGBtjzNLs2sAmwfgI2Cnbzk8JXGxMGOFbHY4YV7zuQQNBE1v4mkQEADPw1wOhnre
b24uZWR1PokAlQMFEDMBEHfBJu8CP5lR9QEBak8D/2V+1pP6zA1dvhRLcO2pGldn 1LzHlU58meteE/Vy+OnwbYf5zzVqo04Sdl/BYGZhI/M7EQwSGV1FZV4r9JQg7j18
Q/dcVAAtZIZ7AUUap1pKXZF/Tt4gWKMtAHj01xUbwU1fmI6DF1p4AVjDqOxJDnoZ rrPKT3vf5TYFBpXfgRYxxYxM2g8zCbqeJe5B1BmRu3Hj5hHi1m5P7M+cLSGUE03P
RD9gv0RiZXdUesXL2UBNHc/7f+amAJgmXNrP/m70ejgzPluniR5hQm76fKYjkxV1 pAMD11zyqJK1f7oF6ywpWD8Lcxc4n/tHzVUrH/fM6DuQE4Yb5RWQ+nVVDTyJ51Qf
opRhhchTjhrFndoQ9nvQtC5Kb2huLU1hcmsgR3VybmV5IDxndXJuZXlfakByZXNu seD9PAIcLzCCjOB6qP882auQ+jfvld4+yWbpl0wQF0K8YXHtZyAaQUMANcgd6Lyd
ZXQudW9yZWdvbi5lZHU+iQCVAwUQMwEQWsEm7wI/mVH1AQHxMgP8D7VM+qUo0qGM eQMwSN6gi6GxZVaUniAMPJr1lKd/tiLDxBcDDAdYYoDaHiCyab2dXcrhG4fCRmPT
uFUKqxoQcDPVKt2W1X6wWTHdj9cxo3oW1tlLEZ24Y2v5v1pzonvseaTjsse134dP IYZbO3SPstlCKoo5ff8AUiF/K9gz6ON3MloYp7fdDBjgQtUIVXfb9NRxElNLsGvf
a9qjcwXjs/zxXzHoQs3B9BZB2qXaR4T3YeuCjq2qIXGwsrrY5fkoch4OLg0/FOui qIVHOCVe3s1e1hCg7YRuDHLLsmVQfol9k2MhFiGIphaxgr4keurGdUN4S8KnzJTW
dmNbFjVQkIma2rIRPa8GhXZJtGl+UEk= KiTJ2U+P00oi6/McNqRRulbh3kk1UTlkjWtfHDfWwCsZtT1XaX5dD+7QCUJDOXF4
=bUtb gbdX4K943uQIrcbO1G+n9dMGCahHlTnrLa+AYaHkv4P0mRvxB4P6t1GHGJ2vBsSX
YEi8iUP/ee3WM1TGnhL4lleuklsxpVLyZ8TrSpbjrbLgpHPgrAmheGt1agPr6oJ7
0UZw/CTDBrzC4ASHPMhIjwZOgyVYs8+AIwADBRAAhAfgy4b32n2bbR4Qo2GhA4Qw
LVRkB81cBzuP8iVuLHYHy887HEYITmD6+Em0TxUpavuntHUIDlHfNNPgTIv/j2Na
am1cPziXCCOvEfM2nEhi3cyo88kT5/aUO5PcuLX1p1oJQJTK25wYzdduuyHozsyR
2XYb/UfIrxtuSyyHuJEhXrdbL7tp2b0PsQn3Fv45UOtaHqp+J20UnFwkTqKakx6w
oUwCNj+jTCthbnBmwNIuo4+Gu2ipYbWZ67lJLVE6zJ0/kJk3JAcTooZsIfIlSUUe
F4Z40LJipOitIsGwGwYCUHQLiYBfcnJNoT2PWatACnrhO4SQAl3EHls2oOFObXWN
FVCj2XD76Q/6TZ4Gxbzkf3ExVQapTeoBVtxpU/Bxa3TFy4fN8Ogvf+XAn/CTH9N5
TwbxxvFd8RXolTVdKAPE3EoZNkNW9bO2oQOCrh2dNlvVOye8H33y5kJie8kM6CrI
O79tyV3owu2hD7wNOIan7Pkh0VN4d4F0fTWrO1VdyKDdHKY9XQKYXQnMo7kBvFd4
sSu8ljkaeDMTeQYSJrc+YdsthmA3E69y9OATObiS0gcl/Y7teP9dF/K1DIate8Z5
6b333Fg0yesBl997Z6kQSMAFhwQlkq959hC+urfYd5fx4/306WoUJqy+ZR1eN0cZ
CnZoL8O3SmZG9WTMYOaITwQYEQIADwUCTW/iaQIbDAUJCWYBgAAKCRCcsY90bT+j
lrfTAKDLLzG4jeNeYJYz5lfmsgnt9A8YGgCgw78CtZGQhCM1stwwnMKXzADhlU0=
=HmsJ
-----END PGP PUBLIC KEY BLOCK----- -----END PGP PUBLIC KEY BLOCK-----
]]></programlisting> ]]></programlisting>

View file

@ -561,6 +561,11 @@
&pgpkey.mjg; &pgpkey.mjg;
</sect2> </sect2>
<sect2 id="pgpkey-jhale">
<title>&a.jhale;</title>
&pgpkey.jhale;
</sect2>
<sect2 id="pgpkey-dannyboy"> <sect2 id="pgpkey-dannyboy">
<title>&a.dannyboy;</title> <title>&a.dannyboy;</title>
&pgpkey.dannyboy; &pgpkey.dannyboy;

View file

@ -157,6 +157,7 @@
<!ENTITY pgpkey.jesper SYSTEM "jesper.key"> <!ENTITY pgpkey.jesper SYSTEM "jesper.key">
<!ENTITY pgpkey.jgh SYSTEM "jgh.key"> <!ENTITY pgpkey.jgh SYSTEM "jgh.key">
<!ENTITY pgpkey.jh SYSTEM "jh.key"> <!ENTITY pgpkey.jh SYSTEM "jh.key">
<!ENTITY pgpkey.jhale SYSTEM "jhale.key">
<!ENTITY pgpkey.jhay SYSTEM "jhay.key"> <!ENTITY pgpkey.jhay SYSTEM "jhay.key">
<!ENTITY pgpkey.jhb SYSTEM "jhb.key"> <!ENTITY pgpkey.jhb SYSTEM "jhb.key">
<!ENTITY pgpkey.jhibbits SYSTEM "jhibbits.key"> <!ENTITY pgpkey.jhibbits SYSTEM "jhibbits.key">

View file

@ -596,6 +596,8 @@
<!ENTITY a.jh "Jaakko Heinonen <email>jh@FreeBSD.org</email>"> <!ENTITY a.jh "Jaakko Heinonen <email>jh@FreeBSD.org</email>">
<!ENTITY a.jhale "Jason E. Hale <email>jhale@FreeBSD.org</email>">
<!ENTITY a.jhay "John Hay <email>jhay@FreeBSD.org</email>"> <!ENTITY a.jhay "John Hay <email>jhay@FreeBSD.org</email>">
<!ENTITY a.jhb "John Baldwin <email>jhb@FreeBSD.org</email>"> <!ENTITY a.jhb "John Baldwin <email>jhb@FreeBSD.org</email>">

View file

@ -355,17 +355,6 @@
</description> </description>
</entry> </entry>
<entry id="Hewlett_Packard">
<name>Hewlett_Packard</name>
<url>http://www.hp.com/</url>
<description>
Hewlett-Packard sells Proliant BL10e blade servers that are
compatible with FreeBSD. 280 blades can fit within in a 42U rack,
offering superior density, computing power and management for all
front-end and cluster applications.
</description>
</entry>
<entry id="Highpoint"> <entry id="Highpoint">
<name>HighPoint Technologies</name> <name>HighPoint Technologies</name>
<url>http://www.highpoint-tech.com/</url> <url>http://www.highpoint-tech.com/</url>

View file

@ -286,6 +286,7 @@ $FreeBSD$
<!ENTITY a.jgh "Jason Helfman"> <!ENTITY a.jgh "Jason Helfman">
<!ENTITY a.jgreco "Joe Greco"> <!ENTITY a.jgreco "Joe Greco">
<!ENTITY a.jh "Jaakko Heinonen"> <!ENTITY a.jh "Jaakko Heinonen">
<!ENTITY a.jhale "Jason E. Hale">
<!ENTITY a.jhay "John Hay"> <!ENTITY a.jhay "John Hay">
<!ENTITY a.jhb "John Baldwin"> <!ENTITY a.jhb "John Baldwin">
<!ENTITY a.jhibbits "Justin Hibbits"> <!ENTITY a.jhibbits "Justin Hibbits">

View file

@ -30,6 +30,19 @@
<year> <year>
<name>2012</name> <name>2012</name>
<month>
<name>9</name>
<day>
<name>10</name>
<event>
<p>New committer:
<a href="mailto:jhale@FreeBSD.org">Jason E. Hale</a> (ports)</p>
</event>
</day>
</month>
<month> <month>
<name>8</name> <name>8</name>

View file

@ -3,7 +3,7 @@
The FreeBSD Documentation Project The FreeBSD Documentation Project
The FreeBSD Chinese Documentation Project The FreeBSD Chinese Documentation Project
Original revision: 1.436 Original revision: r38600
$FreeBSD$ $FreeBSD$
--> -->
@ -34,6 +34,10 @@
<para>如何为无盘机上配置网络启动。</para> <para>如何为无盘机上配置网络启动。</para>
</listitem> </listitem>
<listitem>
<para>如何配置从网络 PXE 启动一个 NFS 根文件系统。</para>
</listitem>
<listitem> <listitem>
<para>如何配置网络地址转换 (NAT)。</para> <para>如何配置网络地址转换 (NAT)。</para>
</listitem> </listitem>
@ -326,7 +330,7 @@ host2.example.com link#1 UC 0 0
的局域网里的,用于您那边的连接,对于 ISP 的局域网里的,用于您那边的连接,对于 ISP
的局域网里的其它机子,其路由会自动产生。 的局域网里的其它机子,其路由会自动产生。
因此,您就已经知道了如何到达机子 <hostid>T1-GW</hostid> 因此,您就已经知道了如何到达机子 <hostid>T1-GW</hostid>
那么也就没必要中那一步了——发送通信给 ISP 服务器。</para> 那么也就没必要中那一步了——发送通信给 ISP 服务器。</para>
<para>通常使用地址 <hostid <para>通常使用地址 <hostid
role="ipaddr">X.X.X.1</hostid> 做为一个局域网的网关。 role="ipaddr">X.X.X.1</hostid> 做为一个局域网的网关。
@ -508,8 +512,8 @@ Internet:
Destination Gateway Flags Refs Use Netif Expire Destination Gateway Flags Refs Use Netif Expire
default 10.0.0.1 UGS 0 49378 xl0 default 10.0.0.1 UGS 0 49378 xl0
127.0.0.1 127.0.0.1 UH 0 6 lo0 127.0.0.1 127.0.0.1 UH 0 6 lo0
10.0.0/24 link#1 UC 0 0 xl0 10.0.0.0/24 link#1 UC 0 0 xl0
192.168.1/24 link#2 UC 0 0 xl1</screen> 192.168.1.0/24 link#2 UC 0 0 xl1</screen>
<para>使用当前的路由表,<hostid>RouterA</hostid> <para>使用当前的路由表,<hostid>RouterA</hostid>
是不能到达我们的内网——Internal Net 2 的。它没有到 <hostid 是不能到达我们的内网——Internal Net 2 的。它没有到 <hostid
@ -904,55 +908,54 @@ freebsdap 00:11:95:c3:0d:ac 1 54M -83:96 100 EPS WPA</screen>
而 <literal>CAPS</literal> 字段则给出了网络类型及其提供的功能, 而 <literal>CAPS</literal> 字段则给出了网络类型及其提供的功能,
其中包括:</para> 其中包括:</para>
<variablelist> <table frame="none" pgwide="0">
<varlistentry> <title>通讯站功能代码</title>
<term><literal>E</literal></term>
<listitem> <tgroup cols="2">
<para>Extended Service Set (ESS)。 表示通讯站是 <thead>
infrastructure 网络 (相对于 IBSS/ad-hoc 网络) 的成员。</para> <row>
</listitem> <entry>功能代码</entry>
</varlistentry> <entry>含义</entry>
</row>
</thead>
<varlistentry>
<term><literal>I</literal></term>
<listitem> <tbody>
<para>IBSS/ad-hoc 网络。 表示通讯站是 ad-hoc <row>
网络 (相对于 ESS 网络) 的成员。</para> <entry><literal>E</literal></entry>
</listitem> <entry>Extended Service Set (ESS)。 表示通讯站是
</varlistentry> infrastructure 网络 (相对于 IBSS/ad-hoc 网络) 的成员。</entry>
</row>
<varlistentry> <row>
<term><literal>P</literal></term> <entry><literal>I</literal></entry>
<entry>IBSS/ad-hoc 网络。 表示通讯站是 ad-hoc
网络 (相对于 ESS 网络) 的成员。</entry>
</row>
<listitem> <row>
<para>私密。 在 BSS 中交换的全部数据帧均需保证数据保密性。 <entry><literal>P</literal></entry>
<entry>私密。 在 BSS 中交换的全部数据帧均需保证数据保密性。
这表示 BSS 需要通讯站使用加密算法, 这表示 BSS 需要通讯站使用加密算法,
例如 WEP、 TKIP 或 AES-CCMP 来加密/解密与其他通讯站交换的数据帧。</para> 例如 WEP、 TKIP 或 AES-CCMP 来加密/解密与其他通讯站交换的数据帧。</entry>
</listitem> </row>
</varlistentry>
<varlistentry> <row>
<term><literal>S</literal></term> <entry><literal>S</literal></entry>
<entry>短前导码 (Short Preamble)。 表示网络采用的是短前导码
<listitem>
<para>短前导码 (Short Preamble)。 表示网络采用的是短前导码
(由 802.11b High (由 802.11b High
Rate/DSSS PHY 定义, 短前导码采用 56-位 同步字段, Rate/DSSS PHY 定义, 短前导码采用 56-位 同步字段,
而不是在长前导码模式中所采用的 128-位 字段)。</para> 而不是在长前导码模式中所采用的 128-位 字段)。</entry>
</listitem> </row>
</varlistentry>
<varlistentry> <row>
<term><literal>s</literal></term> <entry><literal>s</literal></entry>
<entry>短碰撞槽时间 (Short slot time)。 表示由于不存在旧式 (802.11b)
<listitem> 通讯站, 802.11g 网络正使用短碰撞槽时间。</entry>
<para>短碰撞槽时间 (Short slot time)。 表示由于不存在旧式 (802.11b) </row>
通讯站, 802.11g 网络正使用短碰撞槽时间。</para> </tbody>
</listitem> </tgroup>
</varlistentry> </table>
</variablelist>
<para>要显示目前已知的网络, 可以使用下面的命令:</para> <para>要显示目前已知的网络, 可以使用下面的命令:</para>
@ -1068,7 +1071,7 @@ ifconfig_wlan0="authmode shared wepmode on weptxkey <replaceable>1</replaceable>
<para>在您选定了无线访问点, 并配置了验证参数之后, <para>在您选定了无线访问点, 并配置了验证参数之后,
还必须获得 IP 地址才能真正开始通讯。 多数时候, 还必须获得 IP 地址才能真正开始通讯。 多数时候,
您会通过 DHCP 来获得无线 IP 地址。 要达到这个目的, 您会通过 DHCP 来获得无线 IP 地址。 要达到这个目的,
只需简单地编辑 <filename>/etc/rc.conf</filename> 并在配置中加入 需要编辑 <filename>/etc/rc.conf</filename> 并在配置中加入
<literal>DHCP</literal></para> <literal>DHCP</literal></para>
<programlisting>wlans_ath0="wlan0" <programlisting>wlans_ath0="wlan0"
@ -1124,7 +1127,7 @@ ifconfig_wlan0="inet <replaceable>192.168.1.100</replaceable> netmask <replaceab
以及一些其它的安全弱点。 WPA 采用了 802.1X 认证协议, 以及一些其它的安全弱点。 WPA 采用了 802.1X 认证协议,
并采用从多种与 WEP 不同的加密算法中选择一种来保证数据保密性。 并采用从多种与 WEP 不同的加密算法中选择一种来保证数据保密性。
WPA 支持的唯一一种加密算法是 TKIP (临时密钥完整性协议) WPA 支持的唯一一种加密算法是 TKIP (临时密钥完整性协议)
是一种对 WEP 所采用的基本 RC4 加密算法的扩展, TKIP 是一种对 WEP 所采用的基本 RC4 加密算法的扩展,
除此之外还提供了对检测到的入侵的响应机制。 TKIP 除此之外还提供了对检测到的入侵的响应机制。 TKIP
被设计用来与旧式硬件一同工作, 只需要进行部分软件修改; 被设计用来与旧式硬件一同工作, 只需要进行部分软件修改;
它提供了一种改善安全性的折衷方案, 它提供了一种改善安全性的折衷方案,
@ -1178,7 +1181,7 @@ ifconfig_wlan0="inet <replaceable>192.168.1.100</replaceable> netmask <replaceab
<programlisting>wlans_ath0="wlan0" <programlisting>wlans_ath0="wlan0"
ifconfig_wlan0="WPA DHCP"</programlisting> ifconfig_wlan0="WPA DHCP"</programlisting>
<para>下面 启用无线网络接口:</para> <para>下面启用无线网络接口:</para>
<screen>&prompt.root; <userinput><filename>/etc/rc.d/netif</filename> start</userinput> <screen>&prompt.root; <userinput><filename>/etc/rc.d/netif</filename> start</userinput>
Starting wpa_supplicant. Starting wpa_supplicant.
@ -1230,15 +1233,16 @@ wlan0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
wme burst roaming MANUAL</screen> wme burst roaming MANUAL</screen>
<note> <note>
<para>如果 <filename>/etc/rc.conf</filename> 的配置中, <para>如果在 <filename>/etc/rc.conf</filename> 中把
使用了 <literal>ifconfig_wlan0="DHCP"</literal> <literal>ifconfig_wlan0</literal>
就不需要手工运行 设置成了 <literal>DHCP</literal>
<command>dhclient</command> 命令了, 因为 (像 <literal>ifconfig_wlan0="DHCP"</literal> 这样)
<command>dhclient</command> 将在 那么在 <command>wpa_supplicant</command>
<command>wpa_supplicant</command> 探测到密钥之后执行。</para> 连上了无线接入点 (AP) 之后,则会自动运行
<command>dhclient</command>。</para>
</note> </note>
<para>在这个例子中, DHCP 并不可用, 您可以在 <para>如果不打算使用 DHCP 或者 DHCP 不可用, 您可以在
<command>wpa_supplicant</command> 为通讯站完成了身份认证之后, <command>wpa_supplicant</command> 为通讯站完成了身份认证之后,
指定静态 IP 地址:</para> 指定静态 IP 地址:</para>
@ -1265,15 +1269,15 @@ wlan0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
<sect5 id="network-wireless-wpa-eap-tls"> <sect5 id="network-wireless-wpa-eap-tls">
<title>使用 EAP-TLS 的 WPA</title> <title>使用 EAP-TLS 的 WPA</title>
<para>使用 WPA 的第二种方式是使用 802.1X 后端验证服务器 <para>使用 WPA 的第二种方式是使用 802.1X 后端验证服务器
在这个例子中, WPA 也称作 企业-WPA 在这个例子中, WPA 也称作 企业-WPA
以便与安全性较差、 采用事先分发密钥的 个人-WPA 区分开来。 以便与安全性较差、 采用事先分发密钥的 个人-WPA 区分开来。
在 企业-WPA 中, 验证操作是采用 EAP 完成的 在 企业-WPA 中, 验证操作是采用 EAP 完成的
(可扩展认证协议)。</para> (可扩展认证协议)。</para>
<para>EAP 并未附带加密方法 <para>EAP 并未附带加密方法
因此设计者决定将 EAP 放在加密信道中进行传送。 因此设计者决定将 EAP 放在加密信道中进行传送。
为此设计了许多 EAP 验证方法, 目前有许多 EAP 验证方法,
最常用的方法是 EAP-TLS、 EAP-TTLS 和 最常用的方法是 EAP-TLS、 EAP-TTLS 和
EAP-PEAP。</para> EAP-PEAP。</para>
@ -1461,10 +1465,13 @@ wlan0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
<sect5 id="network-wireless-wpa-eap-peap"> <sect5 id="network-wireless-wpa-eap-peap">
<title>使用 EAP-PEAP 的 WPA</title> <title>使用 EAP-PEAP 的 WPA</title>
<para>PEAP (受保护的 EAP) 被设计用以替代 EAP-TTLS。 <note>
有两种类型的 PEAP 方法, 最常用的是 PEAPv0/EAP-MSCHAPv2。 <para>PEAPv0/EAP-MSCHAPv2 是最常见的 PEAP 方法。
在这篇文档余下的部分中, 术语 PEAP 是指这种 EAP 方法。 此文档的以下部分将使用 PEAP 指代这些方法。</para>
PEAP 是在 EAP-TLS 之后最为常用的 EAP 标准, </note>
<para>PEAP (受保护的 EAP) 被设计用以替代 EAP-TTLS
并且是在 EAP-TLS 之后最为常用的 EAP 标准。
换言之, 如果您的网络中有多种不同的操作系统, 换言之, 如果您的网络中有多种不同的操作系统,
PEAP 将是仅次于 EAP-TLS 的支持最广的标准。</para> PEAP 将是仅次于 EAP-TLS 的支持最广的标准。</para>
@ -1576,15 +1583,15 @@ wlan0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
密钥来进行数据传输。 这里我们使用第三个密钥。 密钥来进行数据传输。 这里我们使用第三个密钥。
它必须与无线接入点的配置一致。 它必须与无线接入点的配置一致。
如果你不清楚你的无线接入点, 如果你不清楚你的无线接入点,
你应该尝试用 <literal>1</literal> 尝试用 <literal>1</literal>
(就是说第一个密钥)来设置这个变量。</para> (就是说第一个密钥)来设置这个变量。</para>
</listitem> </listitem>
<listitem> <listitem>
<para><literal>wepkey</literal> 表示设置所选的 WEP 密钥。 <para><literal>wepkey</literal> 用于选择 WEP 密钥。
其格式应为 其格式应为
<replaceable>index:key</replaceable> 如果没有给出 index 值, <replaceable>index:key</replaceable>
则默认为 <literal>1</literal>。 因此, key 默认为 <literal>1</literal>;
如果需要设置的密钥不是第一个, 就必需指定 index 了。</para> 如果需要设置的密钥不是第一个, 就必需指定 index 了。</para>
<note> <note>
@ -1697,7 +1704,7 @@ cryptocaps=1f&lt;WEP,TKIP,AES,AES_CCM,TKIPMIC&gt;</screen>
<para>这段输出显示了网卡所支持的各种功能; 其中的关键字 <para>这段输出显示了网卡所支持的各种功能; 其中的关键字
<literal>HOSTAP</literal> 表示这块网卡可以作为无线网络接入点来使用。 <literal>HOSTAP</literal> 表示这块网卡可以作为无线网络接入点来使用。
此外, 这里还会给出所支持的加密算法: WEP、 TKIP、 AES 等等 此外, 这里还会给出所支持的加密算法: WEP、 TKIP、 AES 等等
这些信息对于知道在访问接入点上使用何种安全协议非常重要。</para> 这些信息对于知道在访问接入点上使用何种安全协议非常重要。</para>
<para>只有创建网络伪设备时能够配置无线设备是否以 hostap 模式运行, <para>只有创建网络伪设备时能够配置无线设备是否以 hostap 模式运行,
@ -2997,7 +3004,8 @@ BEGEMOT-BRIDGE-MIB::begemotBridgeDefaultBridgeIf.0 s bridge2</screen>
<listitem> <listitem>
<para>只通过主网口收发数据。 如果主网口不可用, 则使用下一个激活的网口。 <para>只通过主网口收发数据。 如果主网口不可用, 则使用下一个激活的网口。
您在这里加入的第一个网口便会被视为主网口; 此后加入的其他网口, 您在这里加入的第一个网口便会被视为主网口; 此后加入的其他网口,
则会被视为故障转移的备用网口。</para> 则会被视为故障转移的备用网口。 如果发生故障转移之后,
原先的网口又恢复了可用状态, 则它仍会作为主网口使用。</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -3071,16 +3079,19 @@ BEGEMOT-BRIDGE-MIB::begemotBridgeDefaultBridgeIf.0 s bridge2</screen>
channel-group <replaceable>1</replaceable> mode active channel-group <replaceable>1</replaceable> mode active
channel-protocol lacp</userinput></screen> channel-protocol lacp</userinput></screen>
<para>在 &os; 使用 <para>使用
<replaceable>fxp0</replaceable> 和 <replaceable>fxp0</replaceable> 和 <replaceable>fxp1</replaceable>
<replaceable>fxp1</replaceable> 创建 &man.lagg.4; 接口:</para> 创建 &man.lagg.4; 接口, 启用这个接口并配置 IP 地址
<replaceable>10.0.0.3/24</replaceable></para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>lagg0</replaceable> create </userinput> <screen>&prompt.root; <userinput>ifconfig <replaceable>fxp0</replaceable> up</userinput>
&prompt.root; <userinput>ifconfig <replaceable>lagg0</replaceable> up laggproto lacp laggport <replaceable>fxp0</replaceable> laggport <replaceable>fxp1</replaceable></userinput></screen> &prompt.root; <userinput>ifconfig <replaceable>fxp1</replaceable> up</userinput>
&prompt.root; <userinput>ifconfig <literal>lagg<replaceable>0</replaceable></literal> create </userinput>
&prompt.root; <userinput>ifconfig <literal>lagg<replaceable>0</replaceable></literal> up laggproto lacp laggport <replaceable>fxp0</replaceable> laggport <replaceable>fxp1</replaceable> <replaceable>10.0.0.3/24</replaceable></userinput></screen>
<para>用下面的命令查看接口状态:</para> <para>用下面的命令查看接口状态:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>lagg0</replaceable></userinput></screen> <screen>&prompt.root; <userinput>ifconfig <literal>lagg<replaceable>0</replaceable></literal></userinput></screen>
<para>标记为 <para>标记为
<emphasis>ACTIVE</emphasis> 的接口是激活据合组的部分, <emphasis>ACTIVE</emphasis> 的接口是激活据合组的部分,
@ -3116,26 +3127,39 @@ Fa0/2 SA 32768 0005.5d71.8db8 29s 0x146 0x4 0x3D</screen
<para>如欲查看进一步的详情, 则需要使用 <userinput>show lacp neighbor <para>如欲查看进一步的详情, 则需要使用 <userinput>show lacp neighbor
detail</userinput> 命令。</para> detail</userinput> 命令。</para>
<para>如果希望在系统重启时保持这些设置, 应在
<filename>/etc/rc.conf</filename> 中增加如下配置:</para>
<programlisting>ifconfig_<replaceable>fxp0</replaceable>="up"
ifconfig_<replaceable>fxp1</replaceable>="up"
cloned_interfaces="<literal>lagg<replaceable>0</replaceable></literal>"
ifconfig_<literal>lagg<replaceable>0</replaceable></literal>="laggproto lacp laggport <replaceable>fxp0</replaceable> laggport <replaceable>fxp1</replaceable> <replaceable>10.0.0.3/24</replaceable>"
</programlisting>
</example> </example>
<example id="networking-lagg-failover"> <example id="networking-lagg-failover">
<title>故障转移模式</title> <title>故障转移模式</title>
<para>故障转移模式中, 当首选链路发生问题时, <para>故障转移模式中, 当首选链路发生问题时,
会自动切换到备用端口。 下面的命令会创建 会自动切换到备用端口。 首先启用成员接口,
<replaceable>lagg0</replaceable> 接口, 并使用 接着是配置 &man.lagg.4; 接口, 其中, 使用
<replaceable>fxp0</replaceable> 作为首选接口, 而 <replaceable>fxp0</replaceable> 作为首选接口,
<replaceable>fxp1</replaceable> 作为备用接口:</para> <replaceable>fxp1</replaceable> 作为备用接口,
并在整个接口上配置 IP 地址 <replaceable>10.0.0.15/24</replaceable></para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>lagg0</replaceable> create</userinput> <screen>&prompt.root; <userinput>ifconfig <replaceable>fxp0</replaceable> up</userinput>
&prompt.root; <userinput>ifconfig <replaceable>lagg0</replaceable> up laggproto failover laggport <replaceable>fxp0</replaceable> laggport <replaceable>fxp1</replaceable></userinput></screen> &prompt.root; <userinput>ifconfig <replaceable>fxp1</replaceable> up</userinput>
&prompt.root; <userinput>ifconfig <literal>lagg<replaceable>0</replaceable></literal> create</userinput>
&prompt.root; <userinput>ifconfig <literal>lagg<replaceable>0</replaceable></literal> up laggproto failover laggport <replaceable>fxp0</replaceable> laggport <replaceable>fxp1</replaceable> <replaceable>10.0.0.15/24</replaceable></userinput></screen>
<para>创建成功之后, 接口状态会是类似下面这样, <para>创建成功之后, 接口状态会是类似下面这样,
主要的区别是 <acronym>MAC</acronym> 地址和设备名:</para> 主要的区别是 <acronym>MAC</acronym> 地址和设备名:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>lagg0</replaceable></userinput> <screen>&prompt.root; <userinput>ifconfig <literal>lagg<replaceable>0</replaceable></literal></userinput>
lagg0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; metric 0 mtu 1500 lagg0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; metric 0 mtu 1500
options=8&lt;VLAN_MTU&gt; options=8&lt;VLAN_MTU&gt;
ether 00:05:5d:71:8d:b8 ether 00:05:5d:71:8d:b8
inet 10.0.0.15 netmask 0xffffff00 broadcast 10.0.0.255
media: Ethernet autoselect media: Ethernet autoselect
status: active status: active
laggproto failover laggproto failover
@ -3146,6 +3170,15 @@ lagg0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; metric 0 mtu 150
<replaceable>fxp0</replaceable> 上进行流量的收发。 如果 <replaceable>fxp0</replaceable> 上进行流量的收发。 如果
<replaceable>fxp0</replaceable> 的连接中断, 则 <replaceable>fxp1</replaceable> <replaceable>fxp0</replaceable> 的连接中断, 则 <replaceable>fxp1</replaceable>
会自动成为激活连接。 如果主端口的连接恢复, 则它又会成为激活连接。</para> 会自动成为激活连接。 如果主端口的连接恢复, 则它又会成为激活连接。</para>
<para>如果希望在系统重启时保持这些设置, 应在
<filename>/etc/rc.conf</filename> 中增加如下配置:</para>
<programlisting>ifconfig_<replaceable>fxp0</replaceable>="up"
ifconfig_<replaceable>fxp1</replaceable>="up"
cloned_interfaces="<literal>lagg<replaceable>0</replaceable></literal>"
ifconfig_<literal>lagg<replaceable>0</replaceable></literal>="laggproto failover laggport <replaceable>fxp0</replaceable> laggport <replaceable>fxp1</replaceable> <replaceable>10.0.0.15/24</replaceable>"
</programlisting>
</example> </example>
<example id="networking-lagg-wired-and-wireless"> <example id="networking-lagg-wired-and-wireless">
<title>有线网络和无线网络接口间的自动切换</title> <title>有线网络和无线网络接口间的自动切换</title>
@ -3190,16 +3223,18 @@ bge0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; metric 0 mtu 1500
<screen>&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>iwn0</replaceable> ssid <replaceable>my_router</replaceable> up</userinput></screen> <screen>&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>iwn0</replaceable> ssid <replaceable>my_router</replaceable> up</userinput></screen>
<para>创建 &man.lagg.4; 接口, 其中 <replaceable>bge0</replaceable> <para>启用 <replaceable>bge0</replaceable> 接口。 创建
&man.lagg.4; 接口, 其中 <replaceable>bge0</replaceable>
作为主网络接口, 而以 <replaceable>wlan0</replaceable> 作为备选接口:</para> 作为主网络接口, 而以 <replaceable>wlan0</replaceable> 作为备选接口:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>lagg0</replaceable> create</userinput> <screen>&prompt.root; <userinput>ifconfig <replaceable>bge0</replaceable> up</userinput>
&prompt.root; <userinput>ifconfig <replaceable>lagg0</replaceable> up laggproto failover laggport <replaceable>bge0</replaceable> laggport <replaceable>wlan0</replaceable></userinput></screen> &prompt.root; <userinput>ifconfig <literal>lagg<replaceable>0</replaceable></literal> create</userinput>
&prompt.root; <userinput>ifconfig <literal>lagg<replaceable>0</replaceable></literal> up laggproto failover laggport <replaceable>bge0</replaceable> laggport <replaceable>wlan0</replaceable></userinput></screen>
<para>新创建的接口的状态如下, 您系统上的 <acronym>MAC</acronym> <para>新创建的接口的状态如下, 您系统上的 <acronym>MAC</acronym>
地址和设备名等可能会有所不同:</para> 地址和设备名等可能会有所不同:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>lagg0</replaceable></userinput> <screen>&prompt.root; <userinput>ifconfig <literal>lagg<replaceable>0</replaceable></literal></userinput>
lagg0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; metric 0 mtu 1500 lagg0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; metric 0 mtu 1500
options=8&lt;VLAN_MTU&gt; options=8&lt;VLAN_MTU&gt;
ether 00:21:70:da:ae:37 ether 00:21:70:da:ae:37
@ -3209,16 +3244,19 @@ lagg0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; metric 0 mtu 150
laggport: wlan0 flags=0&lt;&gt; laggport: wlan0 flags=0&lt;&gt;
laggport: bge0 flags=5&lt;MASTER,ACTIVE&gt;</screen> laggport: bge0 flags=5&lt;MASTER,ACTIVE&gt;</screen>
<para>通过设置下列的 <para>接着用 DHCP 客户端来获取 IP 地址:</para>
<filename>/etc/rc.conf</filename> 配置,
可以避免每次启动系统时都手工重复上面的设置操作:</para> <screen>&prompt.root; <userinput>dhclient <literal>lagg<replaceable>0</replaceable></literal></userinput></screen>
<para>如果希望在系统重启时保持这些设置, 应在
<filename>/etc/rc.conf</filename> 中增加如下配置:</para>
<programlisting>ifconfig_bge0="up" <programlisting>ifconfig_bge0="up"
ifconfig_iwn0="ether 00:21:70:da:ae:37" ifconfig_iwn0="ether 00:21:70:da:ae:37"
wlans_iwn0="wlan0" wlans_iwn0="wlan0"
ifconfig_wlan0="WPA" ifconfig_wlan0="WPA"
cloned_interfaces="lagg0" cloned_interfaces="<literal>lagg<replaceable>0</replaceable></literal>"
ifconfig_lagg0="laggproto failover laggport bge0 laggport wlan0 DHCP" ifconfig_<literal>lagg<replaceable>0</replaceable></literal>="laggproto failover laggport bge0 laggport wlan0 DHCP"
</programlisting> </programlisting>
</example> </example>
</sect2> </sect2>
@ -3430,9 +3468,9 @@ ifconfig_lagg0="laggproto failover laggport bge0 laggport wlan0 DHCP"
服务器可以回应 BOOTP 和 <acronym>DHCP</acronym> 服务器可以回应 BOOTP 和 <acronym>DHCP</acronym>
的请求。</para> 的请求。</para>
<para><application>ISC DHCP 3.1</application> <para><application>ISC DHCP 4.2</application>
并不属于基本系统。首先您需要安装 并不属于基本系统。首先您需要安装
<filename role="package">net/isc-dhcp31-server</filename> <filename role="package">net/isc-dhcp42-server</filename>
port 或相应的<quote>包</quote>。</para> port 或相应的<quote>包</quote>。</para>
<para>一旦安装了 <application>ISC DHCP</application> <para>一旦安装了 <application>ISC DHCP</application>
@ -3828,6 +3866,296 @@ cd /usr/src/etc; make distribution</programlisting>
</sect2> </sect2>
</sect1> </sect1>
<sect1 id="network-pxe-nfs">
<sect1info>
<authorgroup>
<author>
<firstname>Craig</firstname>
<surname>Rodrigues</surname>
<affiliation>
<address>rodrigc@FreeBSD.org</address>
</affiliation>
<contrib>原作者 </contrib>
</author>
</authorgroup>
</sect1info>
<title>从 PXE 启动一个 NFS 根文件系统</title>
<para>&intel; 预启动执行环境 <acronym>PXE</acronym>
能让操作系统从网络启动。 通常由近代主板的 <acronym>BIOS</acronym>
提供 <acronym>PXE</acronym> 支持,它可以通过在 <acronym>BIOS</acronym>
设置里选择从网络启动开启。 一个功能完整的 <acronym>PXE</acronym>
配置还需要正确地设置 <acronym>DHCP</acronym> 和 <acronym>TFTP</acronym>
服务。</para>
<para>当计算机启动的时候, 通过 <acronym>DHCP</acronym> 获取关于
从 <acronym>TFTP</acronym> 得到引导加载器boot loader的信息。
在计算机接受此信息以后, 便通过 <acronym>TFTP</acronym>
下载并执行引导加载器。 这些记载于
<ulink url="http://download.intel.com/design/archives/wfm/downloads/pxespec.pdf">
预启动执行环境 (PXE) 规范</ulink> 的 2.2.1 章节中。
在 &os; 中, 在 <acronym>PXE</acronym> 过程中获取的引导加载器为
<filename>/boot/pxeboot</filename>。 在 <filename>/boot/pxeboot</filename>
执行之后, &os; 的内核被加载, 接着是其他的 &os; 相关引导部分依次被执行。
更多关于 &os; 启动过程的详细信息请参阅 <xref linkend="boot"/>。</para>
<sect2>
<title>配置用于 NFS 根文件系统的 <command>chroot</command> 环境</title>
<procedure>
<step>
<para>Choose a directory which will have a &os; installation
which will be NFS mountable. For example, a directory such
as <filename>/b/tftpboot/FreeBSD/install</filename> can be used.</para>
<para>选择一个可被用户 NFS 挂载并安装有 &os; 的目录。
比如可以使用像 <filename>/b/tftpboot/FreeBSD/install</filename>
这样的一个目录。</para>
<screen>&prompt.root; <userinput>export NFSROOTDIR=/b/tftpboot/FreeBSD/install</userinput>
&prompt.root; <userinput>mkdir -p ${NFSROOTDIR}</userinput></screen>
</step>
<step>
<para>使用如下的命令开启 NFS 服务
<xref linkend="network-configuring-nfs"/>.</para>
</step>
<step>
<para>将下面这行加入 <filename>/etc/exports</filename>
用以通过 NFS 导出此目录:</para>
<programlisting>/b -ro -alldirs</programlisting>
</step>
<step>
<para>重起 NFS 服务:</para>
<screen>&prompt.root; <userinput>/etc/rc.d/nfsd restart</userinput></screen>
</step>
<step>
<para>按照 <xref linkend="network-inetd-settings"/>
中标明的步骤启用 &man.inetd.8;。</para>
</step>
<step>
<para>将如下这行加入到
<filename>/etc/inetd.conf</filename></para>
<programlisting>tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /b/tftpboot</programlisting>
</step>
<step>
<para>重启 inetd</para>
<screen>&prompt.root; <userinput>/etc/rc.d/inetd restart</userinput></screen>
</step>
<step>
<para><link linkend="makeworld">重新编译 &os; 内核和用户态</link></para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make buildworld</userinput>
&prompt.root; <userinput>make buildkernel</userinput></screen>
</step>
<step>
<para>把 &os; 安装到 <acronym>NFS</acronym> 挂载目录:</para>
<screen>
&prompt.root; <userinput>make installworld DESTDIR=${NFSROOTDIR}</userinput>
&prompt.root; <userinput>make installkernel DESTDIR=${NFSROOTDIR}</userinput>
&prompt.root; <userinput>make distribution DESTDIR=${NFSROOTDIR}</userinput>
</screen>
</step>
<step>
<para>测试 <acronym>TFTP</acronym> 服务是否能下载将从
<acronym>PXE</acronym> 获取的引导加载器:</para>
<screen>
&prompt.root; <userinput>tftp localhost</userinput>
tftp> <userinput>get FreeBSD/install/boot/pxeboot</userinput>
Received 264951 bytes in 0.1 seconds
</screen>
</step>
<step>
<para>编辑 <filename>${NFSROOTDIR}/etc/fstab</filename>
并加入以下这行挂载 NFS 根文件系统:</para>
<programlisting>
# Device Mountpoint FSType Options Dump Pass
myhost.example.com:/b/tftpboot/FreeBSD/install / nfs ro 0 0
</programlisting>
<para>用你的 <acronym>NFS</acronym> 服务器主机名或者 IP 地址替换
<replaceable>myhost.example.com</replaceable>。 在此例中,
根文件系统是以“只读”的方式挂载用来防止 <acronym>NFS</acronym>
客户端可能意外删除根文件系统上的文件。</para>
</step>
<step>
<para>设置 &man.chroot.8; 环境中的 root 密码。</para>
<screen>&prompt.root; <userinput>chroot ${NFSROOTDIR}</userinput>
&prompt.root; <userinput>passwd</userinput></screen>
<para>此为设置从 <acronym>PXE</acronym>
启动的客户机的 root 密码。</para>
</step>
<step>
<para>允许 ssh root 登录从 <acronym>PXE</acronym> 启动的客户机,
编辑 <filename>${NFSROOTDIR}/etc/ssh/sshd_config</filename>
并开启 <literal>PermitRootLogin</literal> 选项。
关于此选项的说明请参阅 &man.sshd.config.5;。</para>
</step>
<step>
<para>对 ${NFSROOTDIR} 的 &man.chroot.8; 环境做些其他的定制。
这可以是像使用 &man.pkg.add.1; 安装二进制包,
使用 &man.vipw.8; 修改密码, 或者编辑 &man.amd.conf.5;
映射自动挂载等。例如:</para>
<screen>
&prompt.root; <userinput>chroot ${NFSROOTDIR}</userinput>
&prompt.root; <userinput>pkg_add -r bash</userinput></screen>
</step>
</procedure>
</sect2>
<sect2>
<title>配置 <filename>/etc/rc.initdiskless</filename> 中用到的内存文件系统</title>
<para>如果你从一个 NFS 根卷启动,
<filename>/etc/rc</filename>
如果检测到是从 NFS 启动便会运行
<filename>/etc/rc.initdiskless</filename> 脚本。
请阅读此脚本中的注释部分以便了解到底发生了什么。
我们需要把 <filename>/etc</filename> 和
<filename>/var</filename>
做成内存文件系统的原因是这些目录需要能被写入,
但 NFS 根文件系统是只读的。</para>
<screen>
&prompt.root; <userinput>chroot ${NFSROOTDIR}</userinput>
&prompt.root; <userinput>mkdir -p conf/base</userinput>
&prompt.root; <userinput>tar -c -v -f conf/base/etc.cpio.gz --format cpio --gzip etc</userinput>
&prompt.root; <userinput>tar -c -v -f conf/base/var.cpio.gz --format cpio --gzip var</userinput></screen>
<para>当系统启动的时候, <filename>/etc</filename> 和
<filename>/var</filename> 内存文件系统就会被创建并挂载,
<filename>cpio.gz</filename> 就会被复制进去。</para>
</sect2>
<sect2>
<title>配置 DHCP 服务</title>
<para>PXE 需要配置一个 <acronym>TFTP</acronym> 服务器和一个
<acronym>DHCP</acronym> 服务器。 <acronym>DHCP</acronym>
服务并不要求与 <acronym>TFTP</acronym> 服务在同一台机器上,
但是必须能够从你的网络访问到它。</para>
<procedure>
<step>
<para>按照此文档处 <xref linkend="network-dhcp-server"/>
方法安装 <acronym>DHCP</acronym> 服务。
确保 <filename>/etc/rc.conf</filename> 和
<filename>/usr/local/etc/dhcpd.conf</filename>
都配置正确。</para>
</step>
<step>
<para>在 <filename>/usr/local/etc/dhcpd.conf</filename> 中配置
<literal>next-server</literal> <literal>filename</literal>
<literal>option root-path</literal> 选项指向你的
<acronym>TFTP</acronym> 服务器的 IP 地址,
以及 <acronym>TFTP</acronym> 上 <filename>/boot/pxeboot</filename>
文件的路径, 和 <acronym>NFS</acronym> 根文件系统的路径。
这里一份 <filename>dhcpd.conf</filename> 实例:</para>
<programlisting>
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.3 ;
option subnet-mask 255.255.255.0 ;
option routers 192.168.0.1 ;
option broadcast-address 192.168.0.255 ;
option domain-name-server 192.168.35.35, 192.168.35.36 ;
option domain-name "example.com";
# IP address of TFTP server
next-server 192.168.0.1 ;
# path of boot loader obtained
# via tftp
filename "FreeBSD/install/boot/pxeboot" ;
# pxeboot boot loader will try to NFS mount this directory for root FS
option root-path "192.168.0.1:/b/tftpboot/FreeBSD/install/" ;
}
</programlisting>
</step>
</procedure>
</sect2>
<sect2>
<title>配置 PXE 客户端与调试连接问题</title>
<procedure>
<step>
<para>当客户端启动的时候, 进入 <acronym>BIOS</acronym>
配置菜单。 设置 <acronym>BIOS</acronym> 从网络启动。
如果之前你所有的配置步骤都正确的话, 那么所有部分应该能
&quot;正常工作&quot;。</para>
</step>
<step>
<para>使用 <filename role="package">net/wireshark</filename>
port 查看 <acronym>DHCP</acronym> 和 <acronym>TFTP</acronym>
的网络流量来调试各种问题。</para>
</step>
<step>
<para>确保 <filename>pxeboot</filename> 能从
<acronym>TFTP</acronym> 获取。
在你的 <acronym>TFTP</acronym> 服务器上检查
<filename>/var/log/xferlog</filename> 日志确保
<filename>pxeboot</filename> 被从正确的位置获取。
可以这样测试上面例子 <filename>dhcpd.conf</filename>
中所设置的:</para>
<screen>&prompt.root; <userinput>tftp 192.168.0.1</userinput>
tftp> <userinput>get FreeBSD/install/boot/pxeboot</userinput>
Received 264951 bytes in 0.1 seconds</screen>
<para>请阅读 &man.tftpd.8; 和 &man.tftp.1;。
其中的 <literal>BUGS</literal> 列出了
<acronym>TFTP</acronym> 的一些限制。</para>
</step>
<step>
<para>确保根文件系统能够从 <acronym>NFS</acronym> 挂载。
可以这样测试上面例子 <filename>dhcpd.conf</filename>
中所设置的:</para>
<screen>&prompt.root; <userinput>mount -t nfs 192.168.0.1:/b/tftpboot/FreeBSD/install /mnt</userinput></screen>
</step>
<step>
<para>阅读 <filename>src/sys/boot/i386/libi386/pxe.c</filename>
中的代码以了解 <filename>pxeboot</filename> 加载器如何设置诸如
<literal>boot.nfsroot.server</literal> 和
<literal>boot.nfsroot.path</literal> 之类的变量。
这些变量被用在了
<filename>src/sys/nfsclient/nfs_diskless.c</filename>
的 NFS 无盘根挂载代码中。</para>
</step>
<step>
<para>Read &man.pxeboot.8; and &man.loader.8;.</para>
</step>
</procedure>
</sect2>
</sect1>
<sect1 id="network-isdn"> <sect1 id="network-isdn">
<title>ISDN</title> <title>ISDN</title>