- Update more translation progress on handbook/cutting-edge
Obtained from: The FreeBSD Traditional Chinese Project https://opensvn.csie.org/traccgi/freebsddoc/wiki
This commit is contained in:
parent
0a2b508ca5
commit
c345c79dd7
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=31077
1 changed files with 294 additions and 370 deletions
|
@ -44,7 +44,8 @@
|
|||
|
||||
<para>&os; 是個持續發展的作業系統。對於喜歡追求新鮮、刺激的使用者而言,
|
||||
有很多方法可以使您的系統輕鬆更新為最新版。
|
||||
注意:並非每個人都適合這麼做! 本章主要是協助您決定到底要跟開發版本,或是要使用較穩定的釋出版。
|
||||
注意:並非每個人都適合這麼做! 本章主要是協助您決定到底要跟開發版本,
|
||||
或是要使用較穩定的釋出版。
|
||||
</para>
|
||||
|
||||
<para>讀完這章,您將了解︰</para>
|
||||
|
@ -58,8 +59,8 @@
|
|||
<application>CVS</application> 或
|
||||
<application>CTM</application> 來更新你的系統</para>
|
||||
</listitem>
|
||||
<listitem><para>如何以 <command>make buildworld</command> 等指令來重新編譯、安裝整個
|
||||
base system。</para>
|
||||
<listitem><para>如何以 <command>make buildworld</command>
|
||||
等指令來重新編譯、安裝整個 base system。</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
@ -67,9 +68,11 @@
|
|||
<para>在開始閱讀這章之前,您需要︰</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem><para>先設好你的網路(<xref linkend="advanced-networking">)。</para>
|
||||
<listitem><para>先設好你的網路(<xref linkend="advanced-networking">)。
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem><para>知道如何透過 port/package 安裝軟體(<xref linkend="ports">)。</para></listitem>
|
||||
<listitem><para>知道如何透過 port/package 安裝軟體(<xref
|
||||
linkend="ports">)。</para></listitem>
|
||||
</itemizedlist>
|
||||
</sect1>
|
||||
|
||||
|
@ -83,101 +86,89 @@
|
|||
首先,先介紹 &os.current;,接著再介紹 &os.stable;。</para>
|
||||
|
||||
<sect2 id="current">
|
||||
<title>Staying Current with &os;</title>
|
||||
<title>使用最新的 &os; CURRENT</title>
|
||||
|
||||
<para>As you read this, keep in mind that &os.current; is the
|
||||
<quote>bleeding edge</quote> of &os; development.
|
||||
&os.current; users are expected to have a high degree of
|
||||
technical skill, and should be capable of solving difficult
|
||||
system problems on their own. If you are new to &os;, think
|
||||
twice before installing it. </para>
|
||||
<para>這裡再次強調,&os.current; 是 &os; 開發的 <quote>最前線</quote>。
|
||||
&os.current; 使用者須有較強的技術能力,
|
||||
而且應該要有能力自己解決困難的系統問題。 若您是 &os; 新手,
|
||||
那麼請在安裝前最好先三思。</para>
|
||||
|
||||
<sect3>
|
||||
<title>什麼是 &os.current;?</title>
|
||||
<indexterm><primary>snapshot</primary></indexterm>
|
||||
|
||||
<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,
|
||||
there are periods of time when the sources are not
|
||||
buildable. These problems are resolved as expeditiously as
|
||||
possible, but whether or not &os.current; brings disaster or
|
||||
greatly desired functionality can be a matter of which exact
|
||||
moment you grabbed the source code in!</para>
|
||||
<para>&os.current; 是 &os; 的最新版。它包含:
|
||||
仍在研發階段、實驗性質的修改、過渡時期的機制,
|
||||
這些東西在下一次正式 relase 的版本可能會有,也可能不會有的。
|
||||
儘管有許多 &os; 開發者每天都會編譯 &os.current; source code,
|
||||
但有時這些原始碼是無法編譯成功。 雖然,這些問題通常會儘快解決,
|
||||
但 &os.current; 到底是帶來浩劫或是多了想要用的新功能、改善,
|
||||
這點主要取決於您更新原始碼的時機為何而定!</para>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Who Needs &os.current;?</title>
|
||||
<title>誰需要 &os.current;?</title>
|
||||
|
||||
<para>&os.current; is made available for 3 primary
|
||||
interest groups:</para>
|
||||
<para>&os.current; 適合下列這三類人:</para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>Members of the &os; community who are actively working
|
||||
on some part of the source tree and for whom keeping
|
||||
<quote>current</quote> is an absolute
|
||||
requirement.</para>
|
||||
<para>&os; 社群成員:積極專注於 source tree 的某一部份,
|
||||
以及認為保持為 <quote>current(最新狀態)</quote>
|
||||
為絕對需求的人。</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Members of the &os; community who are active testers,
|
||||
willing to spend time solving problems in order to
|
||||
ensure that &os.current; remains as sane as possible.
|
||||
These are also people who wish to make topical
|
||||
suggestions on changes and the general direction of
|
||||
&os;, and submit patches to implement them.</para>
|
||||
<para>&os; 社群成員:為了確保 &os.current;
|
||||
能夠儘可能地維持在最穩定的狀態,
|
||||
而主動花時間解決問題的測試者。 此外,還有對 &os;
|
||||
能提出具體建議以及改善方向,並提出 patch 修正檔的人。</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Those who merely wish to keep an eye on things, or
|
||||
to use the current sources for reference purposes
|
||||
(e.g. for <emphasis>reading</emphasis>, not running).
|
||||
These people also make the occasional comment or
|
||||
contribute code.</para>
|
||||
<para>只是關心或者想參考(比如,只是<emphasis>閱讀</emphasis>,
|
||||
而非執行)的人。
|
||||
這些人有時也會做些註解,或貢獻原始碼。</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>What Is &os.current; <emphasis>Not</emphasis>?</title>
|
||||
<title>&os.current; <emphasis>並不是</emphasis> 什麼?</title>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>A fast-track to getting pre-release bits because you
|
||||
heard there is some cool new feature in there and you
|
||||
want to be the first on your block to have it. Being
|
||||
the first on the block to get the new feature means that
|
||||
you are the first on the block to get the new
|
||||
bugs.</para>
|
||||
<para>追求最新功能。 聽說裡面有些很酷的新功能,
|
||||
並希望成為您周圍的人中第一個嘗試的人,
|
||||
因此將 &os.current; 視為取得搶鮮版的捷徑。
|
||||
儘管,您能夠因此首先瞭解到最新的功能,
|
||||
但這也意味著若出現新的 bug 時,您也是首當其衝。</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>A quick way of getting bug fixes. Any given version
|
||||
of &os.current; is just as likely to introduce new bugs
|
||||
as to fix existing ones.</para>
|
||||
<para>修復 bug 的速成法。 因為 &os.current;
|
||||
的任何版本在修復已知 bug 的同時,又可能會產生新的 bug。
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>In any way <quote>officially supported</quote>. We
|
||||
do our best to help people genuinely in one of the 3
|
||||
<quote>legitimate</quote> &os.current; groups, but we
|
||||
simply <emphasis>do not have the time</emphasis> to
|
||||
provide tech support. This is not because we are mean
|
||||
and nasty people who do not like helping people out (we
|
||||
would not even be doing &os; if we were). We simply
|
||||
cannot answer hundreds messages a day
|
||||
<emphasis>and</emphasis> work on FreeBSD! Given the
|
||||
choice between improving &os; and answering lots of
|
||||
questions on experimental code, the developers opt for
|
||||
the former.</para>
|
||||
<para>無所不在的 <quote>officially supported</quote>。
|
||||
我們會盡力協助上述 &os.current; 的那三種類別的
|
||||
<quote>legitimate</quote> 使用者,
|
||||
但我們<emphasis>沒時間</emphasis>為他們提供技術支援。
|
||||
這不代表我們很惡劣,或是不想幫助人(若是的話,
|
||||
我們也不會為 &os; 努力了)
|
||||
,實在是因為我們分身乏術,無法每天回答數百個問題,
|
||||
<emphasis>而同時</emphasis>繼續開發 &os;。
|
||||
可以確定的一點就是,
|
||||
在改善 &os; 或是回答大量有關實驗碼的問題之間,
|
||||
若要做個選擇的話,開發者會選擇前者。</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Using &os.current;</title>
|
||||
<title>使用 &os.current;</title>
|
||||
|
||||
<indexterm>
|
||||
<primary>-CURRENT</primary>
|
||||
|
@ -185,29 +176,24 @@
|
|||
</indexterm>
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>Join the &a.current.name; and the &a.cvsall.name; lists. This is not
|
||||
just a good idea, it is <emphasis>essential</emphasis>. If
|
||||
you are not on the <emphasis>&a.current.name;</emphasis> list,
|
||||
you will not see the comments that people are
|
||||
making about the current state of the system and thus will
|
||||
probably end up stumbling over a lot of problems that others
|
||||
have already found and solved. Even more importantly, you
|
||||
will miss out on important bulletins which may be critical
|
||||
to your system's continued health.</para>
|
||||
<para>加入 &a.current.name; 及 &a.cvsall.name; 論壇。
|
||||
這不單只是個建議,也是 <emphasis>必須</emphasis> 作的。
|
||||
若您沒訂閱 <emphasis>&a.current.name;</emphasis>
|
||||
,那麼就會錯過別人對目前系統狀態的說明,而枯耗在別人已解的問題。
|
||||
更重要的是,可能會錯失一些對己身所管系統安危相當重要的公告。
|
||||
</para>
|
||||
|
||||
<para>The &a.cvsall.name; list will allow you to see the
|
||||
commit log entry for each change as it is made along with
|
||||
any pertinent information on possible side-effects.</para>
|
||||
<para>在 &a.cvsall.name; 上則可以看到每個 commit 紀錄,
|
||||
因為這些記錄會連帶影響其他相關資訊。</para>
|
||||
|
||||
<para>To join these lists, or one of the others available
|
||||
go to &a.mailman.lists.link; and click on the list that
|
||||
you wish to subscribe to. Instructions on the rest of
|
||||
the procedure are available there.</para>
|
||||
<para>要訂閱這些論壇或其他論壇,請參考 &a.mailman.lists.link;
|
||||
並點選想訂閱的部分即可。 至於其他後續步驟如何進行,
|
||||
在那裡會有說明。</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Grab the sources from a &os; <link linkend="mirrors">mirror
|
||||
site</link>. You can do this in one of two ways:</para>
|
||||
<para>從 &os; <link linkend="mirrors">mirror 站</link>
|
||||
取得原始碼。 有兩種方式可以達成:</para>
|
||||
|
||||
<orderedlist>
|
||||
<indexterm>
|
||||
|
@ -222,17 +208,19 @@
|
|||
</indexterm>
|
||||
|
||||
<listitem>
|
||||
<para>Use the <link linkend="cvsup">cvsup</link> program
|
||||
with the <filename>supfile</filename> named <filename>standard-supfile</filename>
|
||||
available from <filename>/usr/share/examples/cvsup</filename>.
|
||||
This is the most recommended
|
||||
method, since it allows you to grab the entire
|
||||
collection once and then only what has changed from then
|
||||
on. Many people run <command>cvsup</command> from
|
||||
<command>cron</command> and keep their
|
||||
sources up-to-date automatically. You have to
|
||||
customize the sample <filename>supfile</filename> above, and configure
|
||||
<link linkend="cvsup">cvsup</link> for your environment.</para>
|
||||
<para>以 <link linkend="cvsup">csup</link> 或
|
||||
<link linkend="cvsup">cvsup</link> 程式搭配位於
|
||||
<filename>/usr/share/examples/cvsup</filename> 檔名為
|
||||
<filename>standard-supfile</filename> 的
|
||||
<filename>supfile</filename>。
|
||||
這是大家最常推薦的方式,因為它可以讓您把整個 tree 都抓回來,
|
||||
之後就只取有更新的部分即可。
|
||||
此外,許多人會把 <command>csup</command> 或
|
||||
<command>cvsup</command> 放到
|
||||
<command>cron</command> 以定期自動更新。
|
||||
您須要自訂前述的 <filename>supfile</filename> 範例檔,
|
||||
並針對自身網路環境以調整 <link linkend="cvsup">csup</link>
|
||||
或 <link linkend="cvsup">cvsup</link> 相關設定。</para>
|
||||
</listitem>
|
||||
|
||||
<indexterm>
|
||||
|
@ -240,115 +228,99 @@
|
|||
<secondary>Syncing with CTM</secondary>
|
||||
</indexterm>
|
||||
<listitem>
|
||||
<para>Use the <application><link
|
||||
linkend="ctm">CTM</link></application> facility. If you
|
||||
have very bad connectivity (high price connections or
|
||||
only email access) <application>CTM</application> is an option.
|
||||
However, it is a lot of hassle and can give you broken files.
|
||||
This leads to it being rarely used, which again increases
|
||||
the chance of it not working for fairly long periods of
|
||||
time. We recommend using
|
||||
<para>使用 <application><link
|
||||
linkend="ctm">CTM</link></application> 工具。 若網路環境不佳
|
||||
(上網費用貴,或只能用 email 而已)
|
||||
<application>CTM</application> 會比較適合您的需求。
|
||||
然而,這也有一些爭議並且常抓到一些有問題的檔案。 因此,
|
||||
很少人會用它。 這也註定了不能長期依賴這個更新方式。
|
||||
若是使用 9600 bps modem 或頻寬更大的上網者,建議使用
|
||||
<application><link linkend="cvsup">CVSup</link></application>
|
||||
for anybody with a 9600 bps modem or faster connection.
|
||||
</para>
|
||||
。</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>If you are grabbing the sources to run, and not just
|
||||
look at, then grab <emphasis>all</emphasis> of &os.current;, not
|
||||
just selected portions. The reason for this is that various
|
||||
parts of the source depend on updates elsewhere, and trying
|
||||
to compile just a subset is almost guaranteed to get you
|
||||
into trouble.</para>
|
||||
<para>若抓 source code 是要用來跑的,而不僅只是看看而已,
|
||||
那麼就抓 <emphasis>整個</emphasis> &os.current;,而不要只抓部分。
|
||||
因為大部分的 source code 都會相依到其他 source code 環節部分,
|
||||
若是您只編譯其中一部份,保證會很麻煩。</para>
|
||||
|
||||
<indexterm>
|
||||
<primary>-CURRENT</primary>
|
||||
<secondary>compiling</secondary>
|
||||
</indexterm>
|
||||
<para>Before compiling &os.current;, read the
|
||||
<filename>Makefile</filename> in <filename>/usr/src</filename>
|
||||
carefully. You should at least <link
|
||||
linkend="makeworld">install a new kernel and rebuild the world</link> the first time through
|
||||
as part of the upgrading process. Reading the &a.current;
|
||||
and <filename>/usr/src/UPDATING</filename> will keep you up-to-date on other bootstrapping procedures
|
||||
that sometimes become necessary as we move toward the next
|
||||
release.</para>
|
||||
<para>在編譯 &os.current; 之前,請仔細閱讀
|
||||
<filename>/usr/src</filename> 內的 <filename>Makefile</filename>。
|
||||
儘管只是升級部分東西而已,您至少也要先 <link linkend="makeworld">
|
||||
裝新的 kernel 以及重新編譯 world</link>。 此外,多多閱讀
|
||||
&a.current; 以及 <filename>/usr/src/UPDATING</filename>
|
||||
也是必須的,
|
||||
才能知道目前進度是怎樣以及下一版會有什麼新東西。</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Be active! If you are running &os.current;, we want
|
||||
to know what you have to say about it, especially if you
|
||||
have suggestions for enhancements or bug fixes. Suggestions
|
||||
with accompanying code are received most
|
||||
enthusiastically!</para>
|
||||
<para>熱血!若您正在跑 &os.current;,
|
||||
我們很想知道您對於它的想法是什麼,尤其是加強哪些功能,
|
||||
或該修正哪些錯誤的建議。 如果您在建議時能附上相關程式碼的話,
|
||||
那真是太棒了!</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
</sect3>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="stable">
|
||||
<title>Staying Stable with &os;</title>
|
||||
<title>使用最新的 &os; STABLE</title>
|
||||
|
||||
<sect3>
|
||||
<title>What Is &os.stable;?</title>
|
||||
<title>什麼是 &os.stable;?</title>
|
||||
<indexterm><primary>-STABLE</primary></indexterm>
|
||||
|
||||
<para>&os.stable; is our development branch from which major releases
|
||||
are made. Changes go into this branch at a different pace, and
|
||||
with the general assumption that they have first gone into
|
||||
&os.current; for testing. This is <emphasis>still</emphasis>
|
||||
a development branch, however, and this means that at any given time,
|
||||
the sources for &os.stable; may or may not be suitable for any
|
||||
particular purpose. It is simply another engineering development
|
||||
track, not a resource for end-users.</para>
|
||||
<para>&os.stable; 是我們的開發分支,主要的發行版就由此而來。
|
||||
這個分支會以不同速度作修改變化,並且假設這些是第一次進入 &os.current;
|
||||
進行測試。 然而,這 <emphasis>仍然</emphasis> 屬於開發中的分支,
|
||||
也就是說在某些時候,&os.stable; 可能會、也可能不會符合一些特殊需求。
|
||||
它只不過是另一個開發分支而已,可能不太適合一般使用者。</para>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Who Needs &os.stable;?</title>
|
||||
<title>誰需要 &os.stable;?</title>
|
||||
|
||||
<para>If you are interested in tracking or contributing to the
|
||||
FreeBSD development process, especially as it relates to the
|
||||
next <quote>point</quote> release of FreeBSD, then you should
|
||||
consider following &os.stable;.</para>
|
||||
<para>若您有興趣去追蹤、貢獻 FreeBSD 開發過程或作些貢獻,
|
||||
尤其是會跟 FreeBSD 接下來的 <quote>關鍵性</quote> 發行有關,
|
||||
應該考慮採用 &os.stable;。</para>
|
||||
|
||||
<para>While it is true that security fixes also go into the
|
||||
&os.stable; branch, you do not <emphasis>need</emphasis> to
|
||||
track &os.stable; to do this. Every security advisory for
|
||||
FreeBSD explains how to fix the problem for the releases it
|
||||
affects
|
||||
<footnote><para>That is not quite true. We can not continue to
|
||||
support old releases of FreeBSD forever, although we do
|
||||
support them for many years. For a complete description
|
||||
of the current security policy for old releases of
|
||||
FreeBSD, please see <ulink
|
||||
url="&url.base;/security/">http://www.FreeBSD.org/security/</ulink>.</para>
|
||||
<para>雖然安全漏洞的修補也會進入 &os.stable; 分支,
|
||||
但不必僅僅因此而 <emphasis>需要</emphasis> 去用 &os.stable;。
|
||||
FreeBSD 每項 security advisory(安全公告)
|
||||
都會解說如何去修復有受到影響的版本
|
||||
<footnote><para>然而,這也不一定是正確,我們不可能永遠支援 FreeBSD
|
||||
昔日的各種發行版本,儘管每個發行版發佈之後,都仍會持續支援數年之久。
|
||||
若欲瞭解 FreeBSD 目前對於舊版的支援政策細節,請參閱 <ulink
|
||||
url="&url.base;/security/">http://www.FreeBSD.org/security/</ulink>
|
||||
。</para>
|
||||
</footnote>
|
||||
, and tracking an entire development branch just
|
||||
for security reasons is likely to bring in a lot of unwanted
|
||||
changes as well.</para>
|
||||
,若僅因為安全因素而去採用開發分支,雖然會解決現有已知問題,
|
||||
但也可能帶來一些潛藏的問題。</para>
|
||||
|
||||
<para>Although we endeavor to ensure that the &os.stable; branch
|
||||
compiles and runs at all times, this cannot be guaranteed. In
|
||||
addition, while code is developed in &os.current; before including
|
||||
it in &os.stable;, more people run &os.stable; than &os.current;, so
|
||||
it is inevitable that bugs and corner cases will sometimes be found
|
||||
in &os.stable; that were not apparent in &os.current;.</para>
|
||||
<para>儘管我們盡力確保 &os.stable; 分支在任何時候均能正確編譯、運作,
|
||||
但沒人能夠擔保它隨時都可以符合上述目的。 此外,雖然原始碼在進入
|
||||
&os.stable; 之前,都會先在 &os.current; 開發完畢,但使用 &os.current;
|
||||
的人畢竟遠比 &os.stable; 使用者來的少,所以通常有些問題,可能在
|
||||
&os.current; 比較沒人注意到,隨著 &os.stable;
|
||||
使用者的廣泛使用才會浮現。</para>
|
||||
|
||||
<para>For these reasons, we do <emphasis>not</emphasis> recommend that
|
||||
you blindly track &os.stable;, and it is particularly important that
|
||||
you do not update any production servers to &os.stable; without
|
||||
first thoroughly testing the code in your development
|
||||
environment.</para>
|
||||
<para>由於上述這些理由,我們<emphasis>並不推薦</emphasis> 盲目追隨
|
||||
&os.stable;,而且更重要的是,別在原始碼尚未經完整測試之前,
|
||||
就衝動把 production server 轉移到 &os.stable; 環境。</para>
|
||||
|
||||
<para>If you do not have the resources to do this then we recommend
|
||||
that you run the most recent release of FreeBSD, and use the binary
|
||||
update mechanism to move from release to release.</para>
|
||||
<para>若您沒有這些多的時間、精神的話,那推薦您使用最新的 FreeBSD
|
||||
發行版即可,並採用其所提供的 binary 更新機制來完成升級轉移。</para>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Using &os.stable;</title>
|
||||
<title>使用 &os.stable;</title>
|
||||
|
||||
<indexterm>
|
||||
<primary>-STABLE</primary>
|
||||
|
@ -356,40 +328,30 @@
|
|||
</indexterm>
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>Join the &a.stable.name; list. This will keep you informed of
|
||||
build-dependencies that may appear in &os.stable;
|
||||
or any other issues requiring
|
||||
special attention. Developers will also make announcements
|
||||
in this mailing list when they are contemplating some
|
||||
controversial fix or update, giving the users a chance to
|
||||
respond if they have any issues to raise concerning the
|
||||
proposed change.</para>
|
||||
<para>訂閱 &a.stable.name; list。 可以讓您隨時瞭解 &os.stable;
|
||||
的軟體編譯時的相依關係,以及其他需特別注意的問題。
|
||||
開發者在考慮一些有爭議的修正或更新時,就會先在這裡發信說明,
|
||||
給使用者有機會可以反應,
|
||||
看他們對所提的更改是否有什麼建議或問題。</para>
|
||||
|
||||
<para>The &a.cvsall.name; list will allow you to see the
|
||||
commit log entry for each change as it is made along with
|
||||
any pertinent information on possible side-effects.</para>
|
||||
<para>而 &a.cvsall.name; list 這邊可以看到每個 commit log,
|
||||
其中包括了許多中肯的資訊,例如一些可能發生的邊際效應等等。</para>
|
||||
|
||||
<para>To join these lists, or one of the others available
|
||||
go to &a.mailman.lists.link; and click on the list that
|
||||
you wish to subscribe to. Instructions on the rest of
|
||||
the procedure are available there.</para>
|
||||
<para>想要加入這些通信論壇的話,只要到 &a.mailman.lists.link;
|
||||
點下想訂閱的 list 即可。 其餘的步驟在網頁上會有說明。</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<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
|
||||
most up to date &os.stable; source code.</para>
|
||||
<para>若打算要安裝一個全新的系統,並且希望裝 &os.stable;
|
||||
每月定期的 snapshot,那麼請參閱 <ulink
|
||||
url="&url.base;/snapshots/">Snapshots</ulink> 網頁以瞭解相關細節。
|
||||
此外,也可從 <link linkend="mirrors">mirror 站</link>
|
||||
來安裝最新的 &os.stable; 發行版,並透過下列的的說明來更新到最新的
|
||||
&os.stable; 原始碼。</para>
|
||||
|
||||
<para>If you are already running a previous release of &os;
|
||||
and wish to upgrade via sources then you can easily do so
|
||||
from &os; <link linkend="mirrors">mirror site</link>. This can
|
||||
be done in one of two ways:</para>
|
||||
<para>若已裝的是 &os; 以前的版本,而想透過原始碼方式來升級,
|
||||
那麼也是可以利用 &os; <link linkend="mirrors">mirror 站</link>
|
||||
來完成。 以下介紹兩種方式:</para>
|
||||
|
||||
<orderedlist>
|
||||
<indexterm>
|
||||
|
@ -403,19 +365,19 @@
|
|||
<secondary>syncing with <application>CVSup</application></secondary>
|
||||
</indexterm>
|
||||
<listitem>
|
||||
<para>Use the <link linkend="cvsup">cvsup</link> program
|
||||
with the <filename>supfile</filename> named <filename>stable-supfile</filename>
|
||||
from the directory
|
||||
<filename>/usr/share/examples/cvsup</filename>.
|
||||
This is the most recommended
|
||||
method, since it allows you to grab the entire
|
||||
collection once and then only what has changed from then
|
||||
on. Many people run <command>cvsup</command> from
|
||||
<command>cron</command> to keep their
|
||||
sources up-to-date automatically. You have to
|
||||
customize the sample <filename>supfile</filename> above,
|
||||
and configure <link linkend="cvsup">cvsup</link> for your
|
||||
environment.</para>
|
||||
<para>以 <link linkend="cvsup">csup</link> 或
|
||||
<link linkend="cvsup">cvsup</link> 程式搭配位於
|
||||
<filename>/usr/share/examples/cvsup</filename> 檔名為
|
||||
<filename>stable-supfile</filename> 的
|
||||
<filename>supfile</filename>。 這是大家最常推薦的方式,
|
||||
因為它可以讓你把整個 tree 都抓回來,
|
||||
之後就只取有更新的部分即可。
|
||||
此外,許多人會把 <command>csup</command> 或
|
||||
<command>cvsup</command> 放到 <command>cron</command>
|
||||
以定期自動更新。 您須要自訂前述的
|
||||
<filename>supfile</filename> 範例檔,並針對自身網路環境以調整
|
||||
<link linkend="cvsup">csup</link> 或
|
||||
<link linkend="cvsup">cvsup</link> 相關設定。</para>
|
||||
</listitem>
|
||||
|
||||
<indexterm>
|
||||
|
@ -423,21 +385,18 @@
|
|||
<secondary>syncing with CTM</secondary>
|
||||
</indexterm>
|
||||
<listitem>
|
||||
<para>Use the <application><link
|
||||
linkend="ctm">CTM</link></application> facility. If
|
||||
you do not have a fast and inexpensive connection to
|
||||
the Internet, this is the method you should consider
|
||||
using.
|
||||
</para>
|
||||
<para>使用 <application><link
|
||||
linkend="ctm">CTM</link></application> 更新工具。
|
||||
若網路不快或網路費用貴,那麼可以考慮採用。</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Essentially, if you need rapid on-demand access to the
|
||||
source and communications bandwidth is not a consideration,
|
||||
use <command>cvsup</command> or <command>ftp</command>.
|
||||
Otherwise, use <application>CTM</application>.</para>
|
||||
<para>一般而言,若常需存取最新原始碼,而不計較網路頻寬的話,
|
||||
可以使用 <command>csup</command> 或 <command>cvsup</command>
|
||||
或 <command>ftp</command>。 否則,就考慮
|
||||
<application>CTM</application>。</para>
|
||||
</listitem>
|
||||
|
||||
<indexterm>
|
||||
|
@ -445,14 +404,13 @@
|
|||
<secondary>compiling</secondary>
|
||||
</indexterm>
|
||||
<listitem>
|
||||
<para>Before compiling &os.stable;, read the
|
||||
<filename>Makefile</filename> in <filename>/usr/src</filename>
|
||||
carefully. You should at least <link
|
||||
linkend="makeworld">install a new kernel and rebuild the world</link> the first time through
|
||||
as part of the upgrading process. Reading the &a.stable; and <filename>/usr/src/UPDATING</filename> will
|
||||
keep you up-to-date on other bootstrapping procedures that
|
||||
sometimes become necessary as we move toward the next
|
||||
release.</para>
|
||||
<para>在編譯 &os.stable; 之前,請先仔細閱讀
|
||||
<filename>/usr/src</filename> 內的 <filename>Makefile</filename>
|
||||
檔。 儘管只是升級部分東西而已,您至少也要先 <link
|
||||
linkend="makeworld">裝新的 kernel 以及重新編譯 world</link>。
|
||||
此外,多多閱讀 &a.stable; 以及
|
||||
<filename>/usr/src/UPDATING</filename> 也是必備的,
|
||||
這樣才能知道目前進度是怎樣,以及下一版會有哪些新東西。</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
</sect3>
|
||||
|
@ -462,22 +420,19 @@
|
|||
<sect1 id="synching">
|
||||
<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;
|
||||
project sources, or all areas, depending on what interests you. The
|
||||
primary services we offer are <link linkend="anoncvs">Anonymous
|
||||
CVS</link>, <link linkend="cvsup">CVSup</link>, and <link
|
||||
linkend="ctm">CTM</link>.</para>
|
||||
<para>&os; 計劃原始碼有許多透過網路(或 email)的方式來更新,
|
||||
無論是更新那一塊領域,這些全由您自行決定。 我們主要提供的是 <link
|
||||
linkend="anoncvs">Anonymous CVS</link>、<link linkend="cvsup">CVSup</link>
|
||||
、<link linkend="ctm">CTM</link>。</para>
|
||||
|
||||
<warning>
|
||||
<para>While it is possible to update only parts of your source tree,
|
||||
the only supported update procedure is to update the entire tree
|
||||
and recompile both userland (i.e., all the programs that run in
|
||||
user space, such as those in <filename>/bin</filename> and
|
||||
<filename>/sbin</filename>) and kernel sources. Updating only part
|
||||
of your source tree, only the kernel, or only userland will often
|
||||
result in problems. These problems may range from compile errors
|
||||
to kernel panics or data corruption.</para>
|
||||
<para>雖然可以只更新部分原始碼,但唯一支援的更新流程是更新整個 tree,
|
||||
並且重編 userland(比如:由使用者去執行的所有程式,像是
|
||||
<filename>/bin</filename>、<filename>/sbin</filename> 內的程式)以及
|
||||
kernel 原始碼。
|
||||
若只更新部分的 source tree、或只有 kernel 部分、或只有 userland
|
||||
部分,通常會造成一些錯誤,像是:編譯錯誤、kernel panic、資料毀損等
|
||||
。</para>
|
||||
</warning>
|
||||
|
||||
<indexterm>
|
||||
|
@ -485,125 +440,104 @@
|
|||
<secondary>anonymous</secondary>
|
||||
</indexterm>
|
||||
|
||||
<para><application>Anonymous CVS</application> and
|
||||
<application>CVSup</application> use the <emphasis>pull</emphasis>
|
||||
model of updating sources. In the case of
|
||||
<application>CVSup</application> the user (or a
|
||||
<command>cron</command> script) invokes
|
||||
the <command>cvsup</command> program, and it interacts with a
|
||||
<command>cvsupd</command> server somewhere to bring your files
|
||||
up-to-date. The updates you receive are up-to-the-minute and you
|
||||
get them when, and only when, you want them. You can easily
|
||||
restrict your updates to the specific files or directories that are
|
||||
of interest to you. Updates are generated on the fly by the server,
|
||||
according to what you have and what you want to have.
|
||||
<application>Anonymous CVS</application> is quite a bit more
|
||||
simplistic than <application>CVSup</application> in that it is just an extension to
|
||||
<application>CVS</application> which allows it to pull changes
|
||||
directly from a remote CVS repository.
|
||||
<application>CVSup</application> can do this far more efficiently,
|
||||
but <application>Anonymous CVS</application> is easier to
|
||||
use.</para>
|
||||
<para><application>Anonymous CVS</application> 及
|
||||
<application>CVSup</application> 均是採 <emphasis>pull</emphasis>
|
||||
模式來更新原始碼。 以 <application>CVSup</application> 為例,
|
||||
使用者(或 <command>cron</command> script)會執行 <command>cvsup</command>
|
||||
程式,後者會與某一台 <command>cvsupd</command> 伺服器作些互動,
|
||||
以更新相關原始碼檔案。 您所收到更新會是當時最新的,
|
||||
而且只會收到需更新的部分。 此外,也可以很輕鬆去設定要更新的範圍。
|
||||
更新會由伺服器跟本機比對之後,丟出當時您所需要的更新檔案給你。
|
||||
<application>Anonymous CVS</application> 的概念相對於
|
||||
<application>CVSup</application> 來得更簡單些,因為它只是
|
||||
<application>CVS</application> 的延伸而已,一樣讓你可從遠端的
|
||||
CVS repository 取出最新原始碼。 然而 <application>CVSup</application>
|
||||
在這方面會更有效率,不過 <application>Anonymous CVS</application>
|
||||
對新手而言,是用起來比較簡單。</para>
|
||||
|
||||
<indexterm>
|
||||
<primary><application>CTM</application></primary>
|
||||
</indexterm>
|
||||
<para><application>CTM</application>, on the other hand, does not
|
||||
interactively compare the sources you have with those on the master
|
||||
archive or otherwise pull them across. Instead, a script which
|
||||
identifies changes in files since its previous run is executed
|
||||
several times a day on the master CTM machine, any detected changes
|
||||
being compressed, stamped with a sequence-number and encoded for
|
||||
transmission over email (in printable ASCII only). Once received,
|
||||
these <quote>CTM deltas</quote> can then be handed to the
|
||||
&man.ctm.rmail.1; utility which will automatically decode, verify
|
||||
and apply the changes to the user's copy of the sources. This
|
||||
process is far more efficient than <application>CVSup</application>,
|
||||
and places less strain on our server resources since it is a
|
||||
<emphasis>push</emphasis> rather than a <emphasis>pull</emphasis>
|
||||
model.</para>
|
||||
<para>另一種方式則是 <application>CTM</application>。
|
||||
它並不是以交談式介面來比對您所擁有的 sources 和伺服器上的 sources
|
||||
或是您取得的更新部份。 相反的,會有一個 script
|
||||
檔專門用來辨識變更過的檔案,這個程式是由 CTM 伺服器來執行,
|
||||
每天會比對數次,並把兩次執行期間內變更過的檔案加以壓縮,
|
||||
並給它們一個序號,然後就加以編碼(只用 printable ASCII 字元),
|
||||
並以 email 的方式寄出。 當您收到它的時候,這些 <quote>CTM deltas</quote>
|
||||
就可以由 &man.ctm.rmail.1; 程式來處理,該程式會自動解碼、確認、
|
||||
套用這些變更。 這程序比 <application>CVSup</application> 來說是快得多了,
|
||||
而且,這個模式對我們的伺服器來說是比較輕鬆的,因為這是一個
|
||||
<emphasis>push</emphasis> 的模式,而非 <emphasis>pull</emphasis>
|
||||
的模式。</para>
|
||||
|
||||
<para>There are other trade-offs, of course. If you inadvertently
|
||||
wipe out portions of your archive, <application>CVSup</application>
|
||||
will detect and rebuild the damaged portions for you.
|
||||
<application>CTM</application> will not do this, and if you wipe some
|
||||
portion of your source tree out (and do not have it backed up) then
|
||||
you will have to start from scratch (from the most recent CVS
|
||||
<quote>base delta</quote>) and rebuild it all with <application>CTM</application> or, with
|
||||
<application>Anonymous CVS</application>, simply delete the bad bits and resync.</para>
|
||||
<para>當然,這樣做也會帶來一些不便。 若不小心把您部份的程式清除掉了,
|
||||
<application>CVSup</application> 會偵測出來,並自動為您把不足的部份補齊。
|
||||
<application>CTM</application> 並不會為您做這些動作。
|
||||
若清掉了您的部份 source (而且沒備份),您可以從頭開始(從最新的 CVS
|
||||
<quote>base delta</quote>)並用 <application>CTM</application> 來重建它們
|
||||
,或是用 <application>Anonymous CVS</application> 來完成,
|
||||
只要把不正確的地方砍掉,再重新做同步的動作即可。</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="makeworld">
|
||||
<title>Rebuilding <quote>world</quote></title>
|
||||
<title>重新編譯 <quote>world</quote></title>
|
||||
|
||||
<indexterm>
|
||||
<primary>Rebuilding <quote>world</quote></primary>
|
||||
</indexterm>
|
||||
<para>Once you have synchronized your local source tree against a
|
||||
particular version of &os; (&os.stable;, &os.current;, and so on)
|
||||
you can then use the source
|
||||
tree to rebuild the system.</para>
|
||||
<para>在更新 &os; 的 source tree 到最新之後(無論是 &os.stable;、
|
||||
&os.current; 等等),接下來就可以用這些 source tree 來重新編譯系統
|
||||
。</para>
|
||||
|
||||
<warning>
|
||||
<title>Make a Backup</title>
|
||||
<title>做好備份</title>
|
||||
|
||||
<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
|
||||
when you make mistakes, or when mistakes made by others in the
|
||||
source tree render your system unbootable.</para>
|
||||
<para>在作任何大動作 <emphasis>之前</emphasis>
|
||||
要記得先把系統作備份的重要性無須強調。 儘管重新編譯 world 是
|
||||
(只要有照文件指示去作的話)一件很簡單的事情,但出錯也是在所難免的。
|
||||
另外,別人在 source tree 不慎搞混的錯誤,也可能會造成系統無法開機
|
||||
。</para>
|
||||
|
||||
<para>Make sure you have taken a backup. And have a fixit floppy or
|
||||
bootable CD at
|
||||
hand. You will probably never have to use it, but it is better to be
|
||||
safe than sorry!</para>
|
||||
<para>請確認自己已作妥相關備份,並且手邊有 fixit 磁片或開機光碟。
|
||||
您可能永遠也用不到這些東西,
|
||||
但安全第一總比事後說抱歉來得好吧!</para>
|
||||
</warning>
|
||||
|
||||
<warning>
|
||||
<title>Subscribe to the Right Mailing List</title>
|
||||
<title>訂閱相關的 Mailing List</title>
|
||||
|
||||
<indexterm><primary>mailing list</primary></indexterm>
|
||||
<para>The &os.stable; and &os.current; branches are, by their
|
||||
nature, <emphasis>in development</emphasis>. People that
|
||||
contribute to &os; are human, and mistakes occasionally
|
||||
happen.</para>
|
||||
<para>&os.stable; 以及 &os.current; 分支,本質上就是屬於 <emphasis>
|
||||
開發階段</emphasis>。 為 &os; 作貢獻的也都是人,偶爾也會犯錯誤。</para>
|
||||
|
||||
<para>Sometimes these mistakes can be quite harmless, just causing
|
||||
your system to print a new diagnostic warning. Or the change may
|
||||
be catastrophic, and render your system unbootable or destroy your
|
||||
file systems (or worse).</para>
|
||||
<para>有時候這些錯誤並無大礙,只是會讓系統產生新的錯誤警告而已。
|
||||
有時則是災難,可能會導致不能開機或檔案系統的毀損(或更糟)。</para>
|
||||
|
||||
<para>If problems like these occur, a <quote>heads up</quote> is
|
||||
posted to the appropriate mailing list, explaining the nature of
|
||||
the problem and which systems it affects. And an <quote>all
|
||||
clear</quote> announcement is posted when the problem has been
|
||||
solved.</para>
|
||||
<para>若遇到類似問題,貼封標題為 <quote>heads up(注意)</quote>
|
||||
開頭的信到相關的 mailing list,並講清楚問題點以及會影響哪些系統。
|
||||
在問題獲解決後,再貼標題為 <quote>all clear(已解決)</quote>
|
||||
開頭的聲明信。</para>
|
||||
|
||||
<para>If you try to track &os.stable; or &os.current; and do
|
||||
not read the &a.stable; or the
|
||||
&a.current; respectively, then you are
|
||||
asking for trouble.</para>
|
||||
<para>若用的是 &os.stable; 或 &os.current;,卻又不閱讀 &a.stable; 或
|
||||
&a.current; 的討論,那麼會是自找麻煩而已。</para>
|
||||
</warning>
|
||||
|
||||
<warning>
|
||||
<title>Do not use <command>make world</command></title>
|
||||
<title>不要用 <command>make world</command></title>
|
||||
|
||||
<para>A lot of older documentation recommends using
|
||||
<command>make world</command> for this. Doing that skips
|
||||
some important steps and should only be used if you are
|
||||
sure of what you are doing. For almost all circumstances
|
||||
<command>make world</command> is the wrong thing to do, and
|
||||
the procedure described here should be used instead.</para>
|
||||
<para>一堆早期的舊文件都會建議說使用 <command>make world</command>。
|
||||
這樣做會跳過一些重要步驟,建議只有在你知道自己在作什麼,再這麼做。
|
||||
在絕大多數的情況下,請不要亂用 <command>make world</command>,
|
||||
而該改用下面介紹的方式。</para>
|
||||
</warning>
|
||||
|
||||
<sect2>
|
||||
<title>The Canonical Way to Update Your System</title>
|
||||
<title>更新系統的標準方式</title>
|
||||
|
||||
<para>To update your system, you should check
|
||||
<filename>/usr/src/UPDATING</filename> for any pre-buildworld steps
|
||||
necessary for your version of the sources and then use the following
|
||||
procedure:</para>
|
||||
<para>要升級系統前,一定要先查閱 <filename>/usr/src/UPDATING</filename>
|
||||
文件,以瞭解 buildworld 之前需要作哪些事情或注意事項,
|
||||
然後才用下列步驟:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>make buildworld</userinput>
|
||||
&prompt.root; <userinput>make buildkernel</userinput>
|
||||
|
@ -611,18 +545,16 @@
|
|||
&prompt.root; <userinput>reboot</userinput></screen>
|
||||
|
||||
<note>
|
||||
<para>There are a few rare cases when an extra run of
|
||||
<command>mergemaster -p</command> is needed before the
|
||||
<maketarget>buildworld</maketarget> step. These are
|
||||
described in <filename>UPDATING</filename>. In general,
|
||||
though, you can safely omit this step if you are not
|
||||
updating across one or more major &os; versions.</para>
|
||||
<para>在少數狀況,可能需要先在 <maketarget>buildworld</maketarget>
|
||||
步驟之前先作 <command>mergemaster -p</command> 才能完成。
|
||||
至於何時需要或不需要,請參閱 <filename>UPDATING</filename> 內的說明。
|
||||
一般來說,只要不是進行跨版號(major)的 &os; 版本升級,
|
||||
就可略過這步驟。</para>
|
||||
</note>
|
||||
|
||||
<para>After <maketarget>installkernel</maketarget> finishes
|
||||
successfully, you should boot in single user mode
|
||||
(i.e. using <command>boot -s</command> from the loader
|
||||
prompt). Then run:</para>
|
||||
<para>完成 <maketarget>installkernel</maketarget> 之後,需要重開機並切到
|
||||
single user 模式(舉例:也可以在 loader 提示符號後面加上
|
||||
<command>boot -s</command>)。 接下來執行:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>mergemaster -p</userinput>
|
||||
&prompt.root; <userinput>make installworld</userinput>
|
||||
|
@ -632,63 +564,55 @@
|
|||
<warning>
|
||||
<title>Read Further Explanations</title>
|
||||
|
||||
<para>The sequence described above is only a short resume to
|
||||
help you getting started. You should however read the
|
||||
following sections to clearly understand each step, especially
|
||||
if you want to use a custom kernel configuration.</para>
|
||||
<para>上述步驟只是協助您升級的簡單說明而已,若要清楚瞭解每一步驟,
|
||||
尤其是若欲自行打造 kernel 設定,就更該閱讀下面的內容。</para>
|
||||
</warning>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Read <filename>/usr/src/UPDATING</filename></title>
|
||||
<title>閱讀 <filename>/usr/src/UPDATING</filename></title>
|
||||
|
||||
<para>Before you do anything else, read
|
||||
<filename>/usr/src/UPDATING</filename> (or the equivalent file
|
||||
wherever you have a copy of the source code). This file should
|
||||
contain important information about problems you might encounter, or
|
||||
specify the order in which you might have to run certain commands.
|
||||
If <filename>UPDATING</filename> contradicts something you read here,
|
||||
<filename>UPDATING</filename> takes precedence.</para>
|
||||
<para>在作任何事情之前,請務必先閱讀
|
||||
<filename>/usr/src/UPDATING</filename> (或在 source code 內類似的文件)
|
||||
。 這份文件會寫到可能遭遇的問題,或指定那些會執行的指令順序為何。
|
||||
如果你機器現在的 <filename>UPDATING</filename>
|
||||
文件與這邊的描述有衝突、矛盾之處,那麼請以機器上的
|
||||
<filename>UPDATING</filename> 為準。</para>
|
||||
|
||||
<important>
|
||||
<para>Reading <filename>UPDATING</filename> is not an acceptable
|
||||
substitute for subscribing to the correct mailing list, as described
|
||||
previously. The two requirements are complementary, not
|
||||
exclusive.</para>
|
||||
<para>然而,如同先前所述,單單只靠閱讀 <filename>UPDATING</filename>
|
||||
並不能完全取代 mailing list。 這兩者都是互補的,而不相排斥。</para>
|
||||
</important>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Check <filename>/etc/make.conf</filename></title>
|
||||
<title>檢查 <filename>/etc/make.conf</filename></title>
|
||||
<indexterm>
|
||||
<primary><filename>make.conf</filename></primary>
|
||||
</indexterm>
|
||||
|
||||
<para>Examine the files
|
||||
<para>檢查
|
||||
<filename>/usr/share/examples/etc/make.conf</filename>
|
||||
and
|
||||
<filename>/etc/make.conf</filename>. The first contains some
|
||||
default defines – most of which are commented out. To
|
||||
make use of them when you rebuild your system from source, add
|
||||
them to <filename>/etc/make.conf</filename>. Keep in mind that
|
||||
anything you add to <filename>/etc/make.conf</filename> is also
|
||||
used every time you run <command>make</command>, so it is a good
|
||||
idea to set them to something sensible for your system.</para>
|
||||
以及
|
||||
<filename>/etc/make.conf</filename>。 第一份文件乃是一些系統預設值
|
||||
– 不過,大部分都被註解起來。 為了在重新編譯時能夠使用這些,
|
||||
請把這些設定加到 <filename>/etc/make.conf</filename>。 請注意在
|
||||
<filename>/etc/make.conf</filename> 的任何設定也會影響到每次使用
|
||||
<command>make</command> 的結果,
|
||||
因此設定一些適合自己系統的選項會是不錯的作法。</para>
|
||||
|
||||
<para>A typical user will probably want to copy the
|
||||
<makevar>CFLAGS</makevar> and
|
||||
<makevar>NO_PROFILE</makevar> lines found in
|
||||
<filename>/usr/share/examples/etc/make.conf</filename>
|
||||
to
|
||||
<filename>/etc/make.conf</filename> and uncomment them.</para>
|
||||
<para>一般使用者通常會從
|
||||
<filename>/usr/share/examples/etc/make.conf</filename> 複製
|
||||
<makevar>CFLAGS</makevar> 以及 <makevar>NO_PROFILE</makevar>
|
||||
之類的設定到 <filename>/etc/make.conf</filename>,並解除相關註解印記
|
||||
。</para>
|
||||
|
||||
<para>Examine the other definitions (<makevar>COPTFLAGS</makevar>,
|
||||
<makevar>NOPORTDOCS</makevar> and so
|
||||
on) and decide if they are relevant to you.</para>
|
||||
<para>此外,也可以試試看其他設定 (<makevar>COPTFLAGS</makevar>、
|
||||
<makevar>NOPORTDOCS</makevar> 等等),是否符合自己所需。</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Update the Files in <filename>/etc</filename></title>
|
||||
<title>更新 <filename>/etc</filename> 內的設定檔</title>
|
||||
|
||||
<para>The <filename>/etc</filename> directory contains a large part
|
||||
of your system's configuration information, as well as scripts
|
||||
|
|
Loading…
Reference in a new issue