Merge from chinsan's repo.

That's my 81th doc commit.

PR:		docs/99748
Submitted by:	chinsan.tw_at_gmail.com
This commit is contained in:
Vanilla I. Shu 2006-07-03 15:53:46 +00:00
parent fb41f13390
commit 6f4acb5f13
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=28192
7 changed files with 260 additions and 444 deletions

View file

@ -42,12 +42,12 @@
<para>您必須安裝這些工具,才能使用接下來各章節會介紹到的例子。 這些工具的用法,會在後續相關章節談到。 </para>
<tip>
<title>Use <filename role="package">textproc/docproj</filename> if possible</title>
<title>建議安裝 <filename role="package">textproc/docproj</filename></title>
<para>You can save yourself a lot of time if you install the
<filename role="package">textproc/docproj</filename> port. This is a
<emphasis>meta-port</emphasis> which does not contain any software
itself. Instead, it depends on various other ports being installed
<para>裝了
<filename role="package">textproc/docproj</filename> 可以更省時省力,它是個
組合型的 port(meta-port),本身並非軟體,只是將一些常用工具組合起來而已。
Instead, it depends on various other ports being installed
correctly. Installing this port <emphasis>should</emphasis>
automatically download and install all of the packages listed in this
chapter that you need.</para>

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
$FreeBSD$
Original revision: 1.220
Original revision: 1.225
-->
<chapter id="cutting-edge">
@ -37,44 +37,39 @@
<!-- with feedback from various others -->
</chapterinfo>
<title>The Cutting Edge</title>
<title>更新、升級 FreeBSD</title>
<sect1 id="cutting-edge-synopsis">
<title>Synopsis</title>
<title>概述</title>
<para>&os; is under constant development between releases. For
people who want to be on the cutting edge, there are several easy
mechanisms for keeping your system in sync with the latest
developments. Be warned&mdash;the cutting edge is not for everyone!
This chapter will help you decide if you want to track the
development system, or stick with one of the released
versions.</para>
<para>&os; 是個持續發展的作業系統。對於喜歡追求新鮮、刺激的使用者而言,
有很多方法可以使您的系統輕鬆更新為最新版。
注意:並非每個人都適合這麼做! 本章主要是協助您決定到底要跟開發版本,或是要使用較穩定的釋出版。
</para>
<para>After reading this chapter, you will know:</para>
<para>讀完這章,您將了解︰</para>
<itemizedlist>
<listitem><para>The difference between the two development
branches: &os.stable; and &os.current;.</para>
<listitem><para>&os.stable; 與 &os.current; 這兩分支的不同之處;</para>
</listitem>
<listitem><para>How to keep your system up to date with
<listitem><para>如何以
<application>CSup</application>,
<application>CVSup</application>,
<application>CVS</application>, or
<application>CTM</application>.</para>
<application>CVS</application>
<application>CTM</application> 來更新你的系統</para>
</listitem>
<listitem><para>How to rebuild and reinstall the entire base
system with <command>make buildworld</command> (etc).</para>
<listitem><para>如何以 <command>make buildworld</command> 等指令來重新編譯、安裝整個
base system。</para>
</listitem>
</itemizedlist>
<para>Before reading this chapter, you should:</para>
<para>在開始閱讀這章之前,您需要︰</para>
<itemizedlist>
<listitem><para>Properly set up your network connection (<xref
linkend="advanced-networking">).</para>
<listitem><para>先設好你的網路(<xref linkend="advanced-networking">)。</para>
</listitem>
<listitem><para>Know how to install additional third-party
software (<xref linkend="ports">).</para></listitem>
<listitem><para>知道如何透過 port/package 安裝軟體(<xref linkend="ports">)。</para></listitem>
</itemizedlist>
</sect1>
@ -83,10 +78,9 @@
<indexterm><primary>-CURRENT</primary></indexterm>
<indexterm><primary>-STABLE</primary></indexterm>
<para>There are two development branches to FreeBSD: &os.current; and
&os.stable;. This section will explain a bit about each and describe
how to keep your system up-to-date with each respective tree.
&os.current; will be discussed first, then &os.stable;.</para>
<para>FreeBSD 有兩個發展分支:&os.current; 及
&os.stable;。本節將會陸續介紹,並介紹它們分別又是如何更新。
首先,先介紹 &os.current;,接著再介紹 &os.stable;。</para>
<sect2 id="current">
<title>Staying Current with &os;</title>
@ -99,11 +93,10 @@
twice before installing it. </para>
<sect3>
<title>What Is &os.current;?</title>
<title>什麼是 &os.current;</title>
<indexterm><primary>snapshot</primary></indexterm>
<para>&os.current; is the latest working sources for &os;.
This includes work in progress, experimental changes, and
<para>&os.current; 是 &os; 的最新版。它包含: work in progress, experimental changes, and
transitional mechanisms that might or might not be present
in the next official release of the software. While many
&os; developers compile the &os.current; source code daily,
@ -383,11 +376,11 @@
</listitem>
<listitem>
<para>If you are installing a new system and want it to be as
stable as possible, you can simply grab the latest dated
branch snapshot from <ulink
url="ftp://snapshots.jp.FreeBSD.org/pub/FreeBSD/snapshots/"></ulink>
and install it like any other release. Or you can
<para>If you are going to install a new system and want it
to run monthly snapshot built from &os.stable;, please
check the <ulink url="&url.base;/snapshots/">
Snapshots</ulink> web page for more information.
Alternatively, it is possible to
install the most recent &os.stable; release from the
<link linkend="mirrors">mirror sites</link> and follow
the instructions below to upgrade your system to the
@ -467,7 +460,7 @@
</sect1>
<sect1 id="synching">
<title>Synchronizing Your Source</title>
<title>更新你的 Source</title>
<para>There are various ways of using an Internet (or email)
connection to stay up-to-date with any given area of the &os;
@ -552,9 +545,9 @@
tree to rebuild the system.</para>
<warning>
<title>Take a Backup</title>
<title>Make a Backup</title>
<para>It cannot be stressed enough how important it is to take a
<para>It cannot be stressed enough how important it is to make a
backup of your system <emphasis>before</emphasis> you do this.
While rebuilding the world is (as long as you follow these
instructions) an easy task to do, there will inevitably be times
@ -673,7 +666,7 @@
<para>Examine the files
<filename>/usr/share/examples/etc/make.conf</filename>
(called <filename>/etc/defaults/make.conf</filename> in &os;&nbsp;4.X) and
and
<filename>/etc/make.conf</filename>. The first contains some
default defines &ndash; most of which are commented out. To
make use of them when you rebuild your system from source, add
@ -684,10 +677,9 @@
<para>A typical user will probably want to copy the
<makevar>CFLAGS</makevar> and
<makevar>NO_PROFILE</makevar> (or <makevar>NOPROFILE</makevar> on
&os;&nbsp;5.X and older) lines found in
<makevar>NO_PROFILE</makevar> lines found in
<filename>/usr/share/examples/etc/make.conf</filename>
(or in <filename>/etc/defaults/make.conf</filename> on &os;&nbsp;4.X) to
to
<filename>/etc/make.conf</filename> and uncomment them.</para>
<para>Examine the other definitions (<makevar>COPTFLAGS</makevar>,
@ -714,21 +706,13 @@
In some cases <command>make buildworld</command> will check to see if
these users or groups exist.</para>
<para>A recent example of this is when the
<para>An example of this is when the
<username>smmsp</username> user was added. Users had the
installation process fail for them when
&man.mtree.8; was trying to create
<filename>/var/spool/clientmqueue</filename>.</para>
<para>The solution is to examine
<filename>/usr/src/etc/group</filename> and compare its list of
groups with your own. If there are any groups in the new file that
are not in your file then copy them over. Similarly, you should
rename any groups in <filename>/etc/group</filename> which have
the same GID but a different name to those in
<filename>/usr/src/etc/group</filename>.</para>
<para>Since 4.6-RELEASE you can run &man.mergemaster.8; in
<para>The solution is to run &man.mergemaster.8; in
pre-buildworld mode by providing the <option>-p</option> option.
This will compare only those files that are essential for the success
of <maketarget>buildworld</maketarget> or
@ -781,7 +765,7 @@
mode.</para>
<para>Alternatively, reboot the system, and at the boot prompt,
enter the <option>-s</option> flag. The system will then boot
select the <quote>single user</quote> option. The system will then boot
single user. At the shell prompt you should then run:</para>
<screen>&prompt.root; <userinput>fsck -p</userinput>
@ -830,8 +814,8 @@
&prompt.root; <userinput>rm -rf *</userinput></screen>
</sect2>
<sect2>
<title>Recompile the Source</title>
<sect2 id="cutting-edge-compilebase">
<title>Recompile the Base System</title>
<sect3>
<title>Saving the Output</title>
@ -922,22 +906,16 @@ Script done, &hellip;</screen>
<screen>&prompt.root; <userinput>make <replaceable>target</replaceable></userinput></screen>
<para>Beginning with version 2.2.5 of &os; (actually, it was
first created on the &os.current; branch, and then retrofitted to
&os.stable; midway between 2.2.2 and 2.2.5) the
<maketarget>world</maketarget> target has been split in
two: <maketarget>buildworld</maketarget> and
<maketarget>installworld</maketarget>. Beginning with version
5.3 of &os; the <maketarget>world</maketarget> target will be changed
so it will not work at all by default because it is actually
dangerous for most users.</para>
<para>Where <replaceable>target</replaceable> will be one of
many build options. The first target should always be
<makevar>buildworld</makevar>.</para>
<para>As the names imply, <maketarget>buildworld</maketarget>
builds a complete new tree under <filename>/usr/obj</filename>,
and <maketarget>installworld</maketarget> installs this tree on
and <maketarget>installworld</maketarget>, another target, installs this tree on
the current machine.</para>
<para>This is very useful for 2 reasons. First, it allows you
<para>Having separate options is very useful for two reasons. First, it allows you
to do the build safe in the knowledge that no components of
your running system will be affected. The build is
<quote>self hosted</quote>. Because of this, you can safely
@ -963,7 +941,7 @@ Script done, &hellip;</screen>
<screen>&prompt.root; <userinput>make buildworld</userinput></screen>
<para>It is now possible to specify a <option>-j</option> option to
<para>It is possible to specify a <option>-j</option> option to
<command>make</command> which will cause it to spawn several
simultaneous processes. This is most useful on multi-CPU machines.
However, since much of the compiling process is IO bound rather
@ -980,11 +958,6 @@ Script done, &hellip;</screen>
<para>If you have a multi-CPU machine and you are using an SMP
configured kernel try values between 6 and 10 and see how they speed
things up.</para>
<para>Be aware that this is still somewhat experimental, and commits
to the source tree may occasionally break this feature. If the
world fails to compile using this parameter try again without it
before you report any problems.</para>
</sect3>
<sect3>
@ -994,8 +967,8 @@ Script done, &hellip;</screen>
<secondary>timings</secondary>
</indexterm>
<para>Many factors influence the build time, but currently a 500&nbsp;MHz
&pentium;&nbsp;III with 128&nbsp;MB of RAM takes about 2&nbsp;hours to build
<para>Many factors influence the build time, but fairly recent
machines may only take a one or two hours to build
the &os.stable; tree, with no tricks or shortcuts used during the
process. A &os.current; tree will take somewhat longer.</para>
</sect3>
@ -1024,7 +997,7 @@ Script done, &hellip;</screen>
can then build a new kernel based on your normal kernel configuration
file.</para>
<para>On modern versions of FreeBSD it is important to <link
<para>On &os; it is important to <link
linkend="make-buildworld">build world</link> before building a
new kernel.</para>
@ -1057,7 +1030,7 @@ Script done, &hellip;</screen>
<xref linkend="makeworld-singleuser">.</para>
</sect2>
<sect2>
<sect2 id="make-installworld">
<title>Install the New System Binaries</title>
<para>If you were building a version of &os; recent enough to have
@ -1169,7 +1142,7 @@ Script done, &hellip;</screen>
<para>After &man.mergemaster.8; is done with the system files you will be
prompted for other options. &man.mergemaster.8; may ask if you want to rebuild
the password file and/or run &man.MAKEDEV.8; if you run a FreeBSD version prior to 5.0, and will finish up with an option to
the password file and will finish up with an option to
remove left-over temporary files.</para>
</sect3>
@ -1187,7 +1160,7 @@ Script done, &hellip;</screen>
not in <filename>/usr/src/etc</filename>.</para>
<para>If you are using &man.mergemaster.8; (as recommended),
you can skip forward to the <link linkend="update-dev">next
you can skip forward to the <link linkend="cutting-edge-rebooting">next
section</link>.</para>
<para>The simplest way to do this by hand is to install the
@ -1334,103 +1307,8 @@ Script done, &hellip;</screen>
</tip>
</sect3>
</sect2>
<sect2 id="update-dev">
<title>Update <filename>/dev</filename></title>
<note>
<indexterm><primary>DEVFS</primary></indexterm>
<para>If you are running FreeBSD&nbsp;5.0 or later you can safely
skip this section. These versions use &man.devfs.5; to
allocate device nodes transparently for the user.</para>
</note>
<para>In most cases, the &man.mergemaster.8; tool will realize when
it is necessary to update the device nodes, and offer to complete it
automatically. These instructions tell how to update the device
nodes manually.</para>
<para>For safety's sake, this is a multi-step process.</para>
<procedure>
<step>
<para>Copy <filename>/var/tmp/root/dev/MAKEDEV</filename> to
<filename>/dev</filename>:</para>
<screen>&prompt.root; <userinput>cp /var/tmp/root/dev/MAKEDEV /dev</userinput></screen>
<indexterm>
<primary><filename>MAKEDEV</filename></primary>
</indexterm>
<para>If you used &man.mergemaster.8; to
update <filename>/etc</filename>, then your
<filename>MAKEDEV</filename> script should have been updated
already, though it cannot hurt to check (with &man.diff.1;)
and copy it manually if necessary.</para>
</step>
<step>
<para>Now, take a snapshot of your current
<filename>/dev</filename>. This snapshot needs to contain the
permissions, ownerships, major and minor numbers of each filename,
but it should not contain the time stamps. The easiest way to do
this is to use &man.awk.1; to strip out some of the
information:</para>
<screen>&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>ls -l | awk '{print $1, $2, $3, $4, $5, $6, $NF}' > /var/tmp/dev.out</userinput></screen>
</step>
<step>
<para>Remake all the device nodes:</para>
<screen>&prompt.root; <userinput>sh MAKEDEV all</userinput></screen>
</step>
<step>
<para>Write another snapshot of the directory, this time to
<filename>/var/tmp/dev2.out</filename>. Now look through these
two files for any device node that you missed creating. There should
not be any, but it is better to be safe than sorry.</para>
<screen>&prompt.root; <userinput>diff /var/tmp/dev.out /var/tmp/dev2.out</userinput></screen>
<para>You are most likely to notice disk slice discrepancies which
will involve commands such as:</para>
<screen>&prompt.root; <userinput>sh MAKEDEV sd0s1</userinput></screen>
<para>to recreate the slice entries. Your precise circumstances may
vary.</para>
</step>
</procedure>
</sect2>
<sect2>
<title>Update <filename>/stand</filename></title>
<note>
<para>This step is included only for completeness. It can safely be
omitted. If you are using FreeBSD&nbsp;5.2 or later, the
<filename>/rescue</filename> directory is automatically updated
for the user with current, statically compiled binaries during
<command>make installworld</command>, thus obsoleting the need
to update <filename>/stand</filename> (which does not exist at
all on &os;&nbsp;6.0 and later).</para>
</note>
<para>For the sake of completeness, you may want to update the files in
<filename>/stand</filename> as well. These files consist of hard
links to the <filename>/stand/sysinstall</filename> binary. This
binary should be statically linked, so that it can work when no other
file systems (and in particular <filename>/usr</filename>) have been
mounted.</para>
<screen>&prompt.root; <userinput>cd /usr/src/release/sysinstall</userinput>
&prompt.root; <userinput>make all install</userinput></screen>
</sect2>
<sect2>
<sect2 id="cutting-edge-rebooting">
<title>Rebooting</title>
<para>You are now done. After you have verified that everything appears
@ -1577,9 +1455,6 @@ Script done, &hellip;</screen>
&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make -DNO_CLEAN all</userinput></screen>
<note><para>On &os;&nbsp;5.X and older, use
<makevar>-DNOCLEAN</makevar> instead.</para></note>
<para>This will not undo the work of the previous
<command>make buildworld</command>.</para>

View file

@ -105,7 +105,7 @@
</sect1>
<sect1 id="firewalls-concepts">
<title>防火牆概念</title>
<title>淺談防火牆概念</title>
<indexterm>
<primary>防火牆</primary>
@ -114,35 +114,34 @@
</indexterm>
<para>
有兩種基本的方式可以建立防火牆規則:
「先容式(exclusive)」或是「後容式(inclusive)」。
基本上防火牆規則可分為兩種型態分別為「exclusive」以及「inclusive」。
<!--inclusive/exclusive 參考 Mattlinuxer 的意見
因為 exclusive 防火牆是先容許所有封包通過,再透過規則阻擋
不想讓其通過的封包。而 inclusive 則是檔掉所有,後來再容許
符合規則的封包通過。
-->
先容式(exclusive)」類似「黑名單」,它先允許所有封包通過,
「exclusive」類似「黑名單」它先允許所有封包通過
然後違反規則的封包則禁止通過防火牆。
相反的,「後容式(inclusive)」類似「白名單」,它先擋住所有封包通過,
相反的「inclusive」類似「白名單」它先擋住所有封包通過
然後只允許有符合規則的才可通過防火牆。</para>
<para>
整體來說,「後容式(inclusive)」的防火牆會比「先容式(exclusive)」的防火牆安全些。
因為後容式明顯降低了不必要的風險。</para>
整體來說,「inclusive」式防火牆會比「exclusive」式防火牆安全些。
因為「inclusive」明顯降低了不必要的風險。</para>
<para>此外,使用「狀態防火牆(stateful firewall)」可讓安全性更嚴密。
<para>此外使用「stateful firewall」可讓安全性更嚴密。
它會持續記錄通過防火牆開放的連線,
並且只允許符合現存或開啟新的連線才能通過防火牆。
狀態防火牆的缺點是如果在非常快的速度下開啟許多新連線,就可能會受到阻絕式服務攻擊
(<acronym>DoS</acronym>, Denial of Service)。
在大多數的防火牆方案中,也可以交互運用「狀態」及「非狀態」防火牆的組合,
使該站的防火牆達到最佳化。
在大多數的防火牆方案中,也可以交叉運用「stateful 」及「non-stateful 」防火牆的組合,
讓該網站的防火牆達到最佳化。
</para>
</sect1>
<sect1 id="firewalls-apps">
<title>防火牆軟體套件</title>
<title>防火牆相關軟體</title>
<para>在 &os; 基本系統中內建有三種不同的防火牆軟體套件。
@ -193,46 +192,40 @@
並且具有選擇性 <acronym>ALTQ</acronym>(交錯佇列Alternate Queuing)
<!--psilotum: 20060309 alternative queuing 參考 zh_CN 的翻譯 -->
的功能。
<acronym>ALTQ</acronym>提供了「服務品質」(<acronym>QoS</acronym>
Quality of Service)的頻寬管理功能,
這提供了以過濾規則的方式來保障各種不同服務的頻寬。
OpenBSD 計劃中已經對 PF 的使用指南提供了詳盡的解說,
<acronym>ALTQ</acronym>提供了「<acronym>QoS</acronym>」(Quality of Service)頻寬管制功能,
它可以用過濾規則的方式來保障各種不同服務的頻寬。
另外OpenBSD 計劃中已經對 PF 的使用指南提供了詳盡的解說,
因此在這本手冊中我們不會作重複的贅述,而只介紹概要。</para>
<!--20060309 psilotum怎麼翻譯都覺得有點怪所以最後一句重寫-->
<para>更多關於 PF 的資訊可於下列網址查詢: <ulink
<para>更多關於 PF 的資訊可於下列網址查詢<ulink
url="http://pf4freebsd.love2party.net/"></ulink>.</para>
<sect2>
<title>啟用 PF</title>
<para>PF 在 &os; 5.3 之後的系統中,可以輕鬆使用動態模組來載入。
<para>PF 在 &os; 5.3 之後的系統中,可以輕鬆使用 kernel 動態模組來載入。
在 rc.conf 中加入 <literal>pf_enable="YES"</literal> 後,
系統將會動態地載入 PF 核心動態模組。這個模組會在建立時也啟用
&man.pflog.4; 記錄功能。</para>
系統就會載入 PF 的 kernel 動態模組。這模組會在建立時也啟用 &man.pflog.4; 記錄功能。</para>
<note>
<para>這個模組會假設核心內已有 <literal>options INET</literal> 和
<para>這個模組會假設 kernel 內已有 <literal>options INET</literal> 和
<literal>device bpf</literal>。
除非編譯時在核心中有事先(像是在 &man.make.conf.5; 中)加入 <literal>NOINET6</literal>
&os; 6.0 以後的版本則是 <literal>NO_INET6</literal>
這樣才會避免不打開 IPv6 支援,否則 pf 模組同時也需要 <literal>options INET6</literal>
也就是 IPv6 支援。</para>
除非編譯 kernel 時已在像是 &man.make.conf.5; 設定檔中加入 <literal>NOINET6</literal>(
&os; 6.0 以後的版本則是 <literal>NO_INET6</literal>)
這樣才會避免不打開 IPv6 支援,
否則 pf 模組同時也需要 <literal>options INET6</literal>也就是 IPv6 支援。</para>
</note>
<para>一旦載入 PF 核心模組或靜態地編譯入核心中,
就可以使用 <command>pfctl</command> 來啟動或關閉
<application>pf</application>。</para>
<para>一旦載入 PF 的 kernel 模組或是靜態編譯入 kernel 內,
就可以使用 <command>pfctl</command> 來啟動或關閉 <application>pf</application>。</para>
<para>這個例子示範了如何啟動
<application>pf</application>:</para>
<para>下面這個例子示範如何啟動 <application>pf</application></para>
<screen>&prompt.root; <userinput>pfctl -e</userinput></screen>
<para><command>pfctl</command>指令提供了一個使用<application>pf</application>
防火牆的方式。
要了解更多使用 <command>pfctl</command> 的資訊,
查閱 &man.pfctl.8; 的線上手冊會是個好方式。</para>
<para><command>pfctl</command> 是使用 <application>pf</application> 防火牆的指令。
若要了解更詳盡的 <command>pfctl</command> 運用,請查閱 &man.pfctl.8; 線上手冊。</para>
</sect2>
<sect2>
@ -260,56 +253,51 @@
在這裡只是要列出給你參考的一些資訊而已。
將 PF 編譯入 kernel 中,會導致無法使用 kernel 的動態載入模組。</para>
<para>設定 PF 的核心選項範例在 kernel 原始碼中的
<para>設定 PF 的 kernel 選項範例在 kernel 原始碼中的
<filename>/usr/src/sys/conf/NOTES</filename>,轉貼內容如下:</para>
<programlisting>device pf
device pflog
device pfsync</programlisting>
<para><literal>device pf</literal> 啟用了
「封包過濾(packet filter)」 的防火牆支援.</para>
<para><literal>device pf</literal> 是用來啟動「packet filter(封包過濾)」的防火牆支援。</para>
<para><literal>device pflog</literal> 啟動了選擇性的 &man.pflog.4;
虛擬網路設備 pseudo network device),它可以透過 &man.bpf.4;
的描述符號來記錄流量。
&man.pflogd.8; 服務可以用來儲存訊息,並可以用日誌的形式記錄在硬碟上。</para>
<para>而 <literal>device pflog</literal>,此功能要裝不裝皆可,它會啟動 &man.pflog.4;,以 &man.bpf.4; 格式來記錄網路流量。
&man.pflogd.8; daemon 則是用來紀錄這些訊息,並存在硬碟上。</para>
<!-- psilotum:20060311 參考 zh_CN 翻譯 -->
<para><literal>device pfsync</literal> 啟動了選擇性 的&man.pfsync.4;
虛擬網路設備,它可以用來監控「狀態的改變」。
<literal>device pfsync</literal>並不是可載入模組,
要使用的話,必須要編入自訂的核心中才行。</para>
<para><literal>device pfsync</literal>,此功能要裝不裝皆可,它會啟動 &man.pfsync.4;,可以用來監控「狀態的改變」。
請注意:<literal>device pfsync</literal>並不是 kernel 動態模組,要使用的話,必須要編入自訂的 kernel 中才行。</para>
<para>這些設定將會在你編譯及安裝好新核心後才會生效。</para>
<para>這些設定將會在你編譯及安裝好新 kernel 後才會生效。</para>
</sect2>
<sect2>
<title>rc.conf 可用的選項</title>
<title>rc.conf 其他相關的選項</title>
<para>你需要在 <filename>/etc/rc.conf</filename>
中加入下列的設定以便在啟動系統時同時啟用 PF</para>
中加入下列的設定以便在系統啟動時啟用 PF</para>
<programlisting>pf_enable="YES" # 啟用 PF (如果需要的話載入模組)
pf_rules="/etc/pf.conf" # PF 的規則定義檔案
pf_flags="" # pfctl 啟動時附加選項
pf_rules="/etc/pf.conf" # PF 防火牆規則設定檔
pf_flags="" # pfctl 啟動時附加選項
pflog_enable="YES" # 啟動 pflogd(8)
pflog_logfile="/var/log/pflog" # pflogd 儲存記錄檔案的地方
pflog_flags="" # pflogd 啟動時附加的選項</programlisting>
<para>如果在這個防火牆後方你有個區域網路,並透過它來轉送封包,
就必須要設定下列選項:</para>
<para>如果您的防火牆後面有個 LAN(區域網路),並要透過它來轉送封包,
就必須要設定下列選項:</para>
<programlisting>gateway_enable="YES" # 啟用作為區域網路閘道器</programlisting>
<programlisting>gateway_enable="YES" # 啟用 LAN Gateway</programlisting>
</sect2>
<sect2>
<title>啟用 <acronym>ALTQ</acronym></title>
<para><acronym>ALTQ</acronym>的選項只有在編入 &os; 核心中才能生效。
<para><acronym>ALTQ</acronym> 只有在編入 &os; kernel 中才能生效。
不是所有的網路卡驅動程式都支援 <acronym>ALTQ</acronym>。
請看 &man.altq.4; 線上手冊來了解你使用的 &os; 版本中支援驅動程式的清單。
下面列出的選項將會啟用 <acronym>ALTQ</acronym> 及加入其他附加的功能。</para>
下面所列的將會啟用 <acronym>ALTQ</acronym> 及其他附加功能:</para>
<programlisting>options ALTQ
options ALTQ_CBQ # Class Bases Queuing (CBQ)
@ -319,13 +307,11 @@ options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC)
options ALTQ_PRIQ # Priority Queuing (PRIQ)
options ALTQ_NOPCC # Required for SMP build</programlisting>
<para><literal>options ALTQ</literal> 啟用了
<acronym>ALTQ</acronym> 主架構。</para>
<para><literal>options ALTQ</literal> 是啟用 <acronym>ALTQ</acronym> 主架構。</para>
<para><literal>options ALTQ_CBQ</literal> 啟用「基於分類的佇列」
(Class Based Queuing, <acronym>CBQ</acronym>)支援。
<para><literal>options ALTQ_CBQ</literal> 會啟用「<acronym>CBQ</acronym>」(Class Based Queuing, )支援。
<acronym>CBQ</acronym> 允許你
allows you to divide a connection's bandwidth into different
divide a connection's bandwidth into different
classes or queues to prioritize traffic based on filter
rules.</para>
@ -398,13 +384,13 @@ options ALTQ_NOPCC # Required for SMP build</programlisting>
</indexterm>
<note>
<para>此小節的說明仍待陸續補充、更新,所以本內容可能並非完全符合現況。</para>
<para>此一節的內容仍在陸續補充、更新,所以本節內容可能並未完全符合現況。</para>
</note>
<para>IPFILTER 的作者為 Darren Reed。IPFILTER 並非
operating system dependent它是個 open source 應用程式,且已被移植到
<para>IPFILTER 的作者為 Darren Reed。IPFILTER 並非得綁某特定作業系統才行:
它是個跨 OS 平台的 open source 應用程式,且已被移植到
&os;、NetBSD、OpenBSD、&sunos;、HP/UX 以及
&solaris; 這些作業系統上。此外IPFILTER 的支援以及維護也相當積極,也有定期釋出的更新版。</para>
&solaris; 這些作業系統上。此外IPFILTER 的支援維護也相當積極,也有定期釋出的更新版。</para>
<para>IPFILTER is based on a kernel-side firewall and
<acronym>NAT</acronym> mechanism that can be controlled and
@ -537,7 +523,7 @@ options IPFILTER_DEFAULT_BLOCK</programlisting>
<para>須在 <filename>/etc/rc.conf</filename> 內加入下列內容,以便在開機時就會啟用 IPF</para>
<programlisting>ipfilter_enable="YES" # Start ipf firewall
ipfilter_rules="/etc/ipf.rules" # 載入定義規則的文字檔案
ipfilter_rules="/etc/ipf.rules" # IPF 防火牆規則設定檔
ipmon_enable="YES" # 啟用 IP 監控記錄
ipmon_flags="-Ds" # D = 使用服務程序 (daemon) 啟動
# s = 使用 syslog 記錄
@ -549,7 +535,7 @@ ipmon_flags="-Ds" # D =
following to enable <acronym>NAT</acronym>
functionality:</para>
<programlisting>gateway_enable="YES" # 啟用為區域網路閘道器
<programlisting>gateway_enable="YES" # 啟用 LAN Gateway
ipnat_enable="YES" # Start ipnat function
ipnat_rules="/etc/ipnat.rules" # rules definition file for ipnat</programlisting>
</sect2>
@ -957,8 +943,7 @@ sh /etc/ipf.rules.script</programlisting>
</listitem>
</itemizedlist>
<para>從現在起,當你的系統開機時,
你的 IPF 規則將會被載入</para>
<para>從現在起,當系統開機時就會載入你所設的 IPF 規則。</para>
</sect2>
<sect2>
@ -2043,8 +2028,7 @@ pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state</pro
</indexterm>
<note>
<para>This section is work in progress. The contents might
not be accurate at all times.</para>
<para>此一節的內容仍在陸續補充、更新,所以本節內容可能並未完全符合現況。.</para>
</note>
<para>The IPFIREWALL (IPFW) is a &os; sponsored firewall software

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
$FreeBSD$
Original revision: 1.115
Original revision: 1.119
-->
<chapter id="l10n">
@ -37,7 +37,7 @@
and application levels, so where applicable we refer the reader
to more specific sources of documentation.</para>
<para>After reading this chapter, you will know:</para>
<para>讀完這章,您將了解︰</para>
<itemizedlist>
<listitem><para>How different languages and locales are encoded
on modern operating systems.</para></listitem>
@ -51,7 +51,7 @@
i18n-compliant applications.</para></listitem>
</itemizedlist>
<para>Before reading this chapter, you should:</para>
<para>在開始閱讀這章之前,您需要︰</para>
<itemizedlist>
<listitem><para>Know how to install additional third-party
@ -60,10 +60,10 @@
</sect1>
<sect1 id="l10n-basics">
<title>The Basics</title>
<title>L10N 基礎概念</title>
<sect2>
<title>Ô£¬O I18N/L10N¡H</title>
<title>什麼是 I18N/L10N?</title>
<indexterm>
<primary>internationalization</primary>
<see>localization</see>
@ -84,19 +84,17 @@
</sect2>
<sect2>
<title>Why Should I Use I18N/L10N?</title>
<title>為何該使用 I18N/L10N</title>
<para>I18N/L10N is used whenever you wish to either view, input, or
process data in non-English languages.</para>
</sect2>
<sect2>
<title>What Languages Are Supported in the I18N Effort?</title>
<title>I18N 支援哪些語系?</title>
<para>I18N and L10N are not FreeBSD specific. Currently, one can
choose from most of the major languages of the World, including
but not limited to: Chinese, German, Japanese, Korean, French,
Russian, Vietnamese and others.</para>
<para>I18N 和 L10N 並非 FreeBSD 才有的,目前這世界上的幾乎任一主要語系都有支援,
像是:中文、德文、日文、韓文、法文、俄文、越南文等等。</para>
</sect2>
</sect1>
@ -184,7 +182,7 @@
<listitem>
<para>Language specific single C chars character sets
(see &man.multibyte.3;), e.g.
ISO-8859-1, ISO-8859-15, KOI8-R, CP437.</para>
ISO8859-1, ISO8859-15, KOI8-R, CP437.</para>
</listitem>
<listitem>
@ -197,8 +195,7 @@
url="http://www.iana.org/assignments/character-sets">IANA Registry</ulink>.</para>
<note>
<para>FreeBSD versions 4.5 and up use X11-compatible locale
encodings instead.</para>
<para>&os; use X11-compatible locale encodings instead.</para>
</note>
</sect2>
@ -326,6 +323,14 @@ me:\
:lang=de_DE.ISO8859-1:\
:tc=default:</programlisting>
<para>Before changing users Login Classes execute
the following command</para>
<screen>&prompt.root; <userinput>cap_mkdb /etc/login.conf</userinput></screen>
<para>to make new configuration in
<filename>/etc/login.conf</filename> visible to the system.</para>
<bridgehead renderas=sect4>Changing Login Classes with &man.vipw.8;</bridgehead>
<indexterm>
@ -487,13 +492,8 @@ keychange="<replaceable>fkey_number sequence</replaceable>"</programlisting>
<para>By default the mouse cursor of the &man.syscons.4; driver occupies the
0xd0-0xd3 range in the character set. If your language uses this
range, you need to move the cursor's range outside of it. To enable
the workaround for FreeBSD versions before 5.0, insert the following
line into your kernel configuration:</para>
<programlisting>options SC_MOUSE_CHAR=0x03</programlisting>
<para>For FreeBSD versions 4.4 and up insert the following line
into <filename>/etc/rc.conf</filename>:</para>
the workaround for &os;, add the following line to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>mousechar_start=3</programlisting>
@ -522,17 +522,17 @@ keychange="<replaceable>fkey_number sequence</replaceable>"</programlisting>
<tbody>
<row>
<entry>ISO-8859-1 or ISO-8859-15</entry>
<entry>ISO8859-1 or ISO8859-15</entry>
<entry><literal>cons25l1</literal></entry>
</row>
<row>
<entry>ISO-8859-2</entry>
<entry>ISO8859-2</entry>
<entry><literal>cons25l2</literal></entry>
</row>
<row>
<entry>ISO-8859-7</entry>
<entry>ISO8859-7</entry>
<entry><literal>cons25l7</literal></entry>
</row>
@ -728,19 +728,14 @@ keychange="<replaceable>fkey_number sequence</replaceable>"</programlisting>
<itemizedlist>
<listitem>
<para>For the FreeBSD versions before 5.0 add the following line
to your kernel configuration file:</para>
<programlisting>options SC_MOUSE_CHAR=0x03</programlisting>
<para>For FreeBSD versions 4.4 and up insert the following
line into <filename>/etc/rc.conf</filename>:</para>
<para>Add the following line
to your <filename>/etc/rc.conf</filename> file:</para>
<programlisting>mousechar_start=3</programlisting>
</listitem>
<listitem>
<para>Use following settings in
<para>Also, use following settings in
<filename>/etc/rc.conf</filename>:</para>
<programlisting>keymap="ru.koi8-r"
@ -804,16 +799,6 @@ font8x8="cp866-8x8"</programlisting>
<listitem>
<para>Do <link linkend="setting-locale">non-X locale
setup</link> first as described.</para>
<note>
<para><anchor id="russian-note">The Russian KOI8-R locale
may not work with old <application>&xfree86;</application> releases (lower than 3.3).
<application>&xorg;</application> is now the default
version of the X Window System on FreeBSD.
This should not be an
issue unless you are using an old version of
FreeBSD.</para>
</note>
</listitem>
<listitem>
@ -839,15 +824,7 @@ FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"</programlisting>
<listitem>
<para>To activate a Russian keyboard, add the following to the
<literal>"Keyboard"</literal> section of your
<filename>XF86Config</filename> file.</para>
<para>For <application>&xfree86; 3.X</application>:</para>
<programlisting>XkbLayout "ru"
XkbOptions "grp:caps_toggle"</programlisting>
<para>For <application>&xorg;</application> (or
<application>&xfree86; 4.X</application>):</para>
<filename>xorg.conf</filename> file.</para>
<programlisting>Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:toggle"</programlisting>
@ -867,23 +844,13 @@ Option "XkbOptions" "grp:toggle"</programlisting>
<para>If you have <quote>&windows;</quote> keys on your keyboard,
and notice that some non-alphabetical keys are mapped
incorrectly in RUS mode, add the following line in your
<filename>XF86Config</filename> file.</para>
<para>For <application>&xfree86; 3.X</application>:</para>
<programlisting>XkbVariant "winkeys"</programlisting>
<para>For <application>&xorg;</application> (or
<application>&xfree86; 4.X</application>):</para>
<filename>xorg.conf</filename> file.</para>
<programlisting>Option "XkbVariant" ",winkeys"</programlisting>
<note>
<para>The Russian XKB keyboard may not work with old <application>&xfree86;</application>
versions, see the <link linkend="russian-note">above
note</link> for more information. The Russian XKB
keyboard may also not work with non-localized
applications as well.</para>
<para>The Russian XKB keyboard may not work with non-localized
applications.</para>
</note>
</listitem>
</orderedlist>

View file

@ -2,21 +2,19 @@
The FreeBSD Documentation Project
$FreeBSD$
Original revision: 1.407
Original revision: 1.420
-->
<appendix id="mirrors">
<title>¨ú±o FreeBSD</title>
<title>取得 FreeBSD 的方式</title>
<sect1 id="mirrors-cdrom">
<title>CDROM ¤Î DVD Publishers</title>
<title>CDROM 及 DVD 發行商</title>
<sect2>
<title>Retail Boxed Products</title>
<title>盒裝產品的零售處:</title>
<para>FreeBSD is available as a boxed product (FreeBSD CDs,
additional software, and printed documentation) from several
retailers:</para>
<para>FreeBSD 盒裝產品(含 FreeBSD 光碟及其他一些軟體、書面文件)的零售業者:</para>
<itemizedlist>
<listitem>
@ -36,10 +34,9 @@
</sect2>
<sect2>
<title>CD and DVD Sets</title>
<title>CD 及 DVD 合集</title>
<para>FreeBSD CD and DVD sets are available from many online
retailers:</para>
<para>FreeBSD 光碟(CD 及 DVD)的網路零售業者:</para>
<itemizedlist>
<listitem>
@ -63,18 +60,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>
@ -185,10 +170,9 @@
</sect2>
<sect2>
<title>Distributors</title>
<title>經銷商(Distributors)</title>
<para>If you are a reseller and want to carry FreeBSD CDROM products,
please contact a distributor:</para>
<para>若你是區域經銷商,並想代理經銷 FreeBSD 光碟產品的話,請與下列的代理商聯繫:</para>
<itemizedlist>
<listitem>
@ -256,7 +240,7 @@
</sect1>
<sect1 id="mirrors-ftp">
<title>FTP Sites</title>
<title>FTP </title>
<para>The official sources for FreeBSD are available via anonymous FTP
from a worldwide set of mirror sites. The site
@ -292,7 +276,7 @@
<title>Anonymous CVS</title>
<sect2>
<title><anchor id="anoncvs-intro">Introduction</title>
<title><anchor id="anoncvs-intro">anoncvs 簡介</title>
<indexterm>
<primary>CVS</primary>
@ -359,37 +343,37 @@
<itemizedlist>
<listitem>
<para><emphasis>Austria</emphasis>:
<para><emphasis>Austria(奧地利)</emphasis>:
:pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs
(Use <command>cvs login</command> and enter any
password when prompted.)</para>
</listitem>
<listitem>
<para><emphasis>France</emphasis>:
<para><emphasis>France(法國)</emphasis>:
:pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs
(pserver (password <quote>anoncvs</quote>), ssh (no password))
</para>
</listitem>
<listitem>
<para><emphasis>Germany</emphasis>:
<para><emphasis>Germany(德國)</emphasis>:
:pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs
(Use <command>cvs login</command> and enter the password
<quote>anoncvs</quote> when prompted.)</para>
</listitem>
<listitem>
<para><emphasis>Germany</emphasis>:
<para><emphasis>Germany(德國)</emphasis>:
:pserver:anoncvs@anoncvs2.de.FreeBSD.org:/home/ncvs
(rsh, pserver, ssh, ssh/2022)
</para>
</listitem>
<listitem>
<para><emphasis>Japan</emphasis>:
<para><emphasis>Japan(日本)</emphasis>:
:pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs
(Use <command>cvs login</command> and enter the password
<quote>anoncvs</quote> when prompted.)</para>
</listitem>
<listitem>
<para><emphasis>USA</emphasis>:
<para><emphasis>USA(美國)</emphasis>:
freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs
(ssh only - no password)</para>
@ -398,7 +382,7 @@ SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_
</listitem>
<listitem>
<para><emphasis>USA</emphasis>:
<para><emphasis>USA(美國)</emphasis>:
anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (ssh only - no
password)</para>
@ -838,7 +822,7 @@ Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known host
</varlistentry>
<varlistentry>
<term>Taiwan/R.O.C.</term>
<term>Taiwan/R.O.C.(台灣/中華民國)</term>
<listitem>
<itemizedlist>
@ -867,7 +851,7 @@ Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known host
<title>Using CVSup</title>
<sect2 id="cvsup-intro">
<title>Introduction</title>
<title>CVSup 簡介</title>
<para><application>CVSup</application> is a software package for
distributing and updating source trees from a master CVS
@ -2023,6 +2007,13 @@ doc/zh_*</screen>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>projects-all release=cvs</literal></term>
<listitem>
<para>Sources for the FreeBSD projects repository.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>src-all release=cvs</literal></term>
@ -2339,7 +2330,7 @@ doc/zh_*</screen>
<title>Using Portsnap</title>
<sect2 id="portsnap-intro">
<title>Introduction</title>
<title>Portsnap 簡介</title>
<para><application>Portsnap</application> is a system for securely
distributing the &os; ports tree. Approximately once an hour,
@ -2557,14 +2548,14 @@ doc/zh_*</screen>
<listitem>
<para>The line of development for FreeBSD-6.X, also known
as FreeBSD 6-STABLE</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_6_1</term>
<listitem>
<para>The release branch for FreeBSD-6.1, used only for
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_6_1</term>
<listitem>
<para>The release branch for FreeBSD-6.1, used only for
security advisories and other critical fixes.</para>
</listitem>
</varlistentry>
@ -2587,6 +2578,15 @@ doc/zh_*</screen>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_5_5</term>
<listitem>
<para>The release branch for FreeBSD-5.5, used only
for security advisories and other critical fixes.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RELENG_5_4</term>
@ -2762,6 +2762,14 @@ doc/zh_*</screen>
tagged with any special name for releases.</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>
@ -2770,6 +2778,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

@ -43,8 +43,7 @@
</listitem>
<listitem>
<para>Methods to test that your card is working using
sample applications.</para>
<para>如何運用樣本程式,以測試音效卡是否正常運作。</para>
</listitem>
<listitem>
@ -52,15 +51,15 @@
</listitem>
<listitem>
<para>How to playback and encode MP3s and other audio.</para>
<para>如何播放、錄製 MP3 及其他聲音檔案格式。</para>
</listitem>
<listitem>
<para>How video is supported by the X server.</para>
<para>X server 是如何支援顯示卡。</para>
</listitem>
<listitem>
<para>Some video player/encoder ports which give good results.</para>
<para>Ports Collections 內有哪些好用的影像播放、錄製軟體。</para>
</listitem>
<listitem>
@ -89,11 +88,8 @@
</itemizedlist>
<warning>
<para>Trying to mount audio CDs
with the &man.mount.8; command will
result in an error, at least, and a <emphasis>kernel
panic</emphasis>, at worst. These media have specialized
encodings which differ from the usual ISO-filesystem.</para>
<para>如果要用 &man.mount.8; 指令來 mount 音樂光碟的話,通常會發生錯誤,
甚至導致 <emphasis>kernel panic</emphasis>。 這是因為音樂光碟是特殊編碼,而非一般的 ISO 檔案系統之故。</para>
</warning>
</sect1>
@ -121,14 +117,13 @@
<title>ł]Šw­ľŽÄĽd</title>
<sect2 id="sound-device">
<title>Configuring the System</title>
<title>設定系統</title>
<indexterm><primary>PCI</primary></indexterm>
<indexterm><primary>ISA</primary></indexterm>
<indexterm><primary>sound cards</primary></indexterm>
<para>Before you begin, you should know the model of the card you
have, the chip it uses, and whether it is a PCI or ISA card.
FreeBSD supports a wide variety of both PCI and ISA cards.
<para>開始設定之前,必須先知道你的音效卡型號、晶片為何,以及是 PCI 或 ISA 規格。
FreeBSD 有支援許多種的 PCI、ISA 音效卡,
Check the supported audio devices list of the <ulink
url="&rel.current.hardware;">Hardware Notes</ulink> to see if
your card is supported. This document will also mention which

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
$FreeBSD$
Original revision: 1.252
Original revision: 1.258
-->
<chapter id="ports">
@ -334,12 +334,10 @@ R-deps: </screen>
<indexterm>
<primary><command>pkg_add</command></primary>
</indexterm>
<para>You can use the &man.pkg.add.1; utility to install a
FreeBSD software package from a local file or from a server on
the network.</para>
<para>可以用 &man.pkg.add.1; 從本機上或者透過網路來安裝任一 FreeBSD package。</para>
<example>
<title>手動下載、安裝 Package (譯者chinsan: 因比較不便而不建議這麼做)</title>
<title>手動下載、安裝 Package (譯者chinsan: 這方法比較不便,建議改用 pkg_add -r )</title>
<screen>&prompt.root; <userinput>ftp -a <replaceable>ftp2.FreeBSD.org</replaceable></userinput>
Connected to ftp2.FreeBSD.org.
@ -515,8 +513,7 @@ docbook =
<primary>packages</primary>
<secondary>deleting</secondary>
</indexterm>
<para>To remove a previously installed software package, use the
&man.pkg.delete.1; utility.
<para>若要移除已裝的軟體,那麼請多利用 &man.pkg.delete.1; 工具,比如:
</para>
<screen>&prompt.root; <userinput>pkg_delete <replaceable>xchat-1.7.1</replaceable></userinput></screen>
@ -524,10 +521,8 @@ docbook =
<sect2>
<title>其他細節部份</title>
<para>All package information is stored within the
<filename>/var/db/pkg</filename> directory. The installed
file list and descriptions of each package can be found within
files in this directory.
<para>所有已裝的 package 資訊都會存到 <filename>/var/db/pkg</filename> 目錄內,
在該目錄下可以找到記載已裝的軟體檔案清單及該軟體簡介的檔案。
</para>
</sect2>
</sect1>
@ -535,56 +530,49 @@ docbook =
<sect1 id="ports-using">
<title>使用 Ports 管理機制</title>
<para>The following sections provide basic instructions on using the
Ports Collection to install or remove programs from your
system. The detailed description of available <command>make</command>
targets and environment variables is available in &man.ports.7;.</para>
<para>下面我們會介紹如何使用 Ports Collection 來安裝、移除軟體的基本用法。
至於其他可用的 <command>make</command> 詳細用法與環境設定,可參閱 &man.ports.7;。</para>
<sect2 id="ports-tree">
<title>記得安裝 Ports Collection</title>
<para>Before you can install ports, you must first obtain the
Ports Collection&mdash;which is essentially a set of
<filename>Makefiles</filename>, patches, and description files
placed in <filename>/usr/ports</filename>.
<para>在安裝任一 ports 之前,必須先裝上
Ports Collection —— 它主要是由 <filename>/usr/ports</filename> 內一堆
<filename>Makefiles</filename>, patches 以及一些軟體簡介檔所組成的。
</para>
<para>When installing your FreeBSD system,
<application>sysinstall</application> asked if you would like
to install the Ports Collection. If you chose no, you can
follow these instructions to obtain the ports
collection:</para>
<para>在裝 FreeBSD 時,若忘了在 <application>sysinstall</application> 內勾選要裝 Ports Collection 的話,
沒關係,可以照下列方式來安裝 ports collection</para>
<procedure>
<title>CVSup 方式</title>
<para>This is a quick method for getting and keeping your copy of the
Ports Collection up to date using <application>CVSup</application>.
If you want to learn more about <application>CVSup</application>, see
<link linkend="cvsup">Using CVSup</link>.</para>
<para>使用 <application>CVSup</application> 是安裝、更新 Ports Collection 的快速方法之一。
若想更瞭解 <application>CVSup</application> 用法的話,請參閱 <link linkend="cvsup">使用 CVSup</link>。</para>
<para>第一次跑 <application>CVSup</application> 之前,請先確認 <filename role="directory">/usr/ports</filename>
是空的! 若你已經裝了 Ports Collection ,但又自行加上其他 patch 檔,那麼 <application>CVSup</application>
並不會刪除你自行加上的 patch 檔,這樣可能會導致要安裝某些軟體時,發生 patch 失敗或編譯失敗。</para>
<step>
<para>Install the <filename
role="package">net/cvsup-without-gui</filename> package:</para>
<para>安裝 <filename role="package">net/cvsup-without-gui</filename> package</para>
<screen>&prompt.root; <userinput>pkg_add -r cvsup-without-gui</userinput></screen>
<para>See <link
linkend="cvsup-install">CVSup Installation</link> (<xref
linkend="cvsup-install">) for more details.</para>
<para>細節用法請參閱 <link linkend="cvsup-install">安裝 CVSup</link>(<xref
linkend="cvsup-install">)。</para>
</step>
<step>
<para>Run <command>cvsup</command>:</para>
<para>執行 <command>cvsup</command></para>
<screen>&prompt.root; <userinput>cvsup -L 2 -h <replaceable>cvsup.FreeBSD.org</replaceable> /usr/share/examples/cvsup/ports-supfile</userinput></screen>
<screen>&prompt.root; <userinput>cvsup -L 2 -h <replaceable>cvsup.tw.FreeBSD.org</replaceable> /usr/share/examples/cvsup/ports-supfile</userinput></screen>
<para>Change
<replaceable>cvsup.FreeBSD.org</replaceable> to a
<application>CVSup</application> server near you. See
<link linkend="cvsup-mirrors">CVSup Mirrors</link> (<xref
linkend="cvsup-mirrors">) for a complete listing of mirror
sites.</para>
<para>請把
<replaceable>cvsup.tw.FreeBSD.org</replaceable> 請改成離你比較近(快)的
<application>CVSup</application> Server。
這部分可以參閱完整的 <link linkend="cvsup-mirrors">CVSup mirror</link> 站列表(<xref
linkend="cvsup-mirrors">)。</para>
<note>
<para>One may want to use his own
@ -1094,11 +1082,9 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
<primary>portupgrade</primary>
</indexterm>
<para>The <application>portupgrade</application> utility is designed
to easily upgrade installed ports. It is available from the <filename
role="package">sysutils/portupgrade</filename> port. Install it like
any other port, using the <command>make <makevar>install
clean</makevar></command> command:</para>
<para><application>portupgrade</application> 可以輕鬆升級已裝的軟體。
該工具可從 <filename role="package">sysutils/portupgrade</filename> port 安裝,
安裝方式就如同其他 port 一樣,用 <command>make <makevar>install clean</makevar></command> 指令就可以了:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/sysutils/portupgrade</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
@ -1148,37 +1134,32 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
<primary>portmanager</primary>
</indexterm>
<para><application>Portmanager</application> is another utility for
easy upgrading of installed ports. It is available from the
<filename role="package">sysutils/portmanager</filename> port:</para>
<para><application>Portmanager</application> 也可以用來輕鬆升級已裝的軟體。
該工具可從 <filename role="package">sysutils/portmanager</filename> port 安裝:</para>
<screen>&prompt.root; <userinput>cd <filename role="directory">/usr/ports/sysutils/portmanager</filename></userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>All the installed ports can be upgraded using this simple
command:</para>
<para>所有已裝的軟體,都可以輕鬆用類似下列指令來升級:</para>
<screen>&prompt.root; <userinput>portmanager -u</userinput></screen>
<para>You can add the <option>-ui</option> flag to get asked for
confirmation of every step <application>Portmanager</application>
will perform. <application>Portmanager</application> can also be
used to install new ports on the system. Unlike the usual
<command>make install clean</command> command, it will upgrade all
the dependencies prior to building and installing the
selected port.</para>
<para>此外,使用參數可以改為 <option>-ui</option>,如此一來 <application>Portmanager</application>
在升級一些有特殊選項的軟體時,就會詢問該如何升級。
<application>Portmanager</application> 也可以用來裝新 port。與以往常用的
<command>make install clean</command> 指令不同之處在於:它會先升級你要裝的 port 所相依的所有 ports
然後才開始編譯、安裝要裝的 port。</para>
<screen>&prompt.root; <userinput>portmanager <replaceable>x11/gnome2</replaceable></userinput></screen>
<para>If there are any problems regarding the dependencies for the
selected port, you can use <application>Portmanager</application> to
rebuild all of them in the correct order. Once finished, the
problematic port will be rebuilt too.</para>
<para>若要裝的 port 之軟體相依關係有問題時,也可以用 <application>Portmanager</application>
使它們重歸正軌。而 <application>Portmanager</application> 解決相依問題完畢之後,該 port
也會重新編譯,以因應正確的相依關係。</para>
<screen>&prompt.root; <userinput>portmanager <replaceable>graphics/gimp</replaceable> -f</userinput></screen>
<para>For more information see
<application>Portmanager</application>'s manual page.</para>
<para>其他運用方式,請參閱
<application>Portmanager</application> 的線上手冊。</para>
</sect3>
</sect2>
@ -1189,12 +1170,10 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
<primary>ports</primary>
<secondary>disk-space</secondary>
</indexterm>
<para>Using the Ports Collection will use up disk
space over time. After building and installing software from the
ports, you should always remember to clean up
the temporary <filename class="directory">work</filename> directories using the <command>make
<makevar>clean</makevar></command> command. You can sweep the whole
Ports Collection with the following command:</para>
<para>因為使用 Ports Collection 遲早可能會用光硬碟空間,
所以在裝完軟體後,記得要以 <command>make <makevar>clean</makevar></command>
指令來清除臨時的 <filename class="directory">work</filename> 目錄。
此外,可以用下列指令來清除整個 Ports Collection 內的臨時目錄:</para>
<screen>&prompt.root; <userinput>portsclean -C</userinput></screen>