Skip site navigation (1)Skip section navigation (2)
Date:      Sun,  8 Nov 2009 08:16:43 +0800 (CST)
From:      Denny Lin <dennylin93@cnmc32.hs.ntnu.edu.tw>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   docs/140375: [UPDATE] Updated zh_TW.Big5/articles/nanobsd
Message-ID:  <20091108001643.B8DCB6FC443@mx.hs.ntnu.edu.tw>
Resent-Message-ID: <200911080020.nA80K151007536@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         140375
>Category:       docs
>Synopsis:       [UPDATE] Updated zh_TW.Big5/articles/nanobsd
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-doc
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Sun Nov 08 00:20:00 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Denny Lin
>Release:        FreeBSD 7.2-RELEASE-p4 amd64
>Organization:
>Environment:
System: FreeBSD cnmc32.hs.ntnu.edu.tw 7.2-RELEASE-p4 FreeBSD 7.2-RELEASE-p4 #0: Mon Oct 26 19:41:45 CST 2009 root@cnmc32.hs.ntnu.edu.tw:/usr/obj/usr/src/sys/CNMC32 amd64


	
>Description:
An update of zh_TW.Big5/articles/nanobsd.

Changes that were made:
1. Merged changes from the English version (revision 1.4, 1.5).
2. Added section on how to install packages for a NanoBSD image (translated from the English version).
3. All the parentheses were changed to full width characters. This was done because all the other punctuation marks are full width characters (commas, periods, etc.).
4. Some other changes in the text.
	
>How-To-Repeat:
	
>Fix:
See patches. The updated files are also available at:
http://security-hole.info/~dennylin93/patches/
http://security-hole.info/~dennylin93/doc/zh_TW.Big5/articles/nanobsd/

	

--- nanobsd-Makefile.patch begins here ---
--- doc/zh_TW.Big5/articles/nanobsd/Makefile.orig	2009-11-07 22:30:58.000000000 +0800
+++ doc/zh_TW.Big5/articles/nanobsd/Makefile	2009-11-07 22:31:21.000000000 +0800
@@ -1,7 +1,4 @@
 # 
-# The FreeBSD Traditional Chinese Project
-#
-# Original Revision: 1.2
 # $FreeBSD: doc/zh_TW.Big5/articles/nanobsd/Makefile,v 1.1 2006/07/09 14:03:00 vanilla Exp $
 #
 # Article: Introduction to NanoBSD
--- nanobsd-Makefile.patch ends here ---

--- nanobsd-article.sgml.patch begins here ---
--- doc/zh_TW.Big5/articles/nanobsd/article.sgml.orig	2009-11-07 17:03:57.000000000 +0800
+++ doc/zh_TW.Big5/articles/nanobsd/article.sgml	2009-11-07 23:39:14.000000000 +0800
@@ -1,9 +1,3 @@
-<!--
-     The FreeBSD Documentation Project
-     The FreeBSD Chinese (Traditional) Documentation Project
-
-     Original Revision: 1.1
--->
 <!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
 <!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//EN">
 %articles.ent;
@@ -36,7 +30,7 @@
     <abstract>
       <para>這篇文件提供了關於 <application>NanoBSD</application> 工具的情報介紹,
 	這工具可用來建立用於嵌入式環境應用程式的 &os; 系統映像檔,
-	以便存放到 Compact Flash 卡(或隨身碟)。</para>
+	以便存放到 Compact Flash 卡(或其他儲存裝置)。</para>
     </abstract>
   </articleinfo>
 
@@ -47,13 +41,13 @@
 
     <para><application>NanoBSD</application> 是 &a.phk; 目前正在開發的一項工具。
       它可用來建立用於嵌入式環境應用程式的 &os; 系統映像檔,
-      以便存放到 Compact Flash 卡(或隨身碟,mass storage medium)。</para>
+      以便存放到 Compact Flash 卡(或其他儲存裝置)。</para>
 
     <para>這一工具也可以用來自製安裝映像檔,
-      以簡化俗稱為 <quote>嵌入式系統(computer appliances)</quote> 的系統安裝、維護工作。 
+      以簡化俗稱為 <quote>嵌入式系統(computer appliances)</quote> 的系統安裝、維護工作。
       通常,每個嵌入式系統產品都有限定硬體和軟體,
       或者換言之,所有的應用程式都是預先裝好的。
-      這些設備可以直接放到現有的網路中,而且(幾乎是)立即使用。</para>
+      這些設備可以直接放到現有的網路中,而且(幾乎是)立即使用。</para>
 
     <para><application>NanoBSD</application> 提供的功能包括:</para>
 
@@ -89,8 +83,8 @@
     <sect2 id="design">
       <title>NanoBSD 的設計</title>
 
-      <para>一旦將映像檔存入嵌入式硬體,就可以用它來引導 <application>NanoBSD</application>
-	了。 預設情況下,隨身碟會劃分為三部分:</para>
+      <para>一旦將映像檔存入嵌入式硬體,就可以用 <application>NanoBSD</application>
+        開機。預設情況下,儲存裝置會劃分為三部分:</para>
 
       <itemizedlist>
 	<listitem>
@@ -100,22 +94,23 @@
 
 	<listitem>
 	  <para>一個設定檔分割區,在運行環境中,
-	    可以將其掛載(mount)到 <filename role="directory">/cfg</filename> 目錄下。</para>
+	    可以將其掛載(mount)到 <filename class="directory">/cfg</filename> 目錄
+	    下。</para>
 	</listitem>
       </itemizedlist>
 
       <para>這些分割區,在預設情況下是以唯讀方式掛載。</para>
 
-      <para><filename role="directory">/etc</filename> 和
-	<filename role="directory">/var</filename> 目錄均為
-	&man.md.4;(malloc)磁碟。</para>
+      <para><filename class="directory">/etc</filename> 和
+	<filename class="directory">/var</filename> 目錄均為
+	&man.md.4;(malloc)磁碟。</para>
 
       <para>設定檔的分割區則是在
-	<filename role="directory">/cfg</filename> 目錄。
-	它包含了用於 <filename role="directory">/etc</filename>
-	目錄的檔案,在啟動之後暫時以唯讀方式掛載。 因此,若想要重開機保留新的設定,
-	那麼要記得從 <filename role="directory">/etc</filename> 把改過的檔案複製回
-	<filename role="directory">/cfg</filename> 目錄才行。</para>
+	<filename class="directory">/cfg</filename> 目錄。
+	它包含了 <filename class="directory">/etc</filename>
+	目錄的檔案,在啟動之後暫時以唯讀方式掛載。因此,若想要重開機後保留新的設定,
+	那麼要記得把改過的檔案從 <filename class="directory">/etc</filename> 複製回
+	<filename class="directory">/cfg</filename> 目錄才行。</para>
 
       <example>
 	<title>把修改過 <filename>/etc/resolv.conf</filename> 設定保存起來</title>
@@ -129,12 +124,12 @@
 
       <note>
 	<para>只有在系統啟動過程中,以及需要修改設定檔的時候,才需要掛載含有
-	  <filename role="directory">/cfg</filename> 的那個分割區。</para>
+	  <filename class="directory">/cfg</filename> 的分割區。</para>
 
-	<para>一直都掛載 <filename role="directory">/cfg</filename>
+	<para>一直掛載 <filename class="directory">/cfg</filename>
 	  不是一個好主意,特別是當您把 <application>NanoBSD</application>
-	  放在不適合進行大量寫入動作的分割區時
-	 (比如:由於檔案系統的同步化會定期在系統碟內寫入資料)。</para>
+	  放在不適合進行大量寫入動作的儲存裝置時
+	 (比如:由於檔案系統的同步化會定期在系統碟內寫入資料)。</para>
       </note>
     </sect2>
 
@@ -143,8 +138,8 @@
 
       <para><application>NanoBSD</application> 映像檔是透過使用非常簡單的
 	<filename>nanobsd.sh</filename> shell  script 來打造的,這個 script 可以在
-	<filename role="directory"><replaceable>/usr</replaceable>/src/tools/tools/nanobsd</filename>
-	目錄中找到。 這個 script 建立的映像檔,可以用 &man.dd.1; 工具來複製到隨身碟上。</para>
+	<filename class="directory"><replaceable>/usr</replaceable>/src/tools/tools/nanobsd</filename>
+	目錄中找到。這個 script 建立的映像檔,可以用 &man.dd.1; 工具來複製到隨身碟上。</para>
 
       <para>打造
 	<application>NanoBSD</application> 映像檔所需的指令是:</para>
@@ -168,7 +163,7 @@
 	</callout>
 
 	<callout arearefs="nbsd-dd">
-	  <para>在隨身碟上安裝 <application>NanoBSD</application>。</para>
+	  <para>將 <application>NanoBSD</application> 安裝到儲存裝置上。</para>
 	</callout>
       </calloutlist>
     </sect2>
@@ -177,16 +172,16 @@
       <title>自行打造 NanoBSD 映像檔</title>
 
       <para>這可能是 <application>NanoBSD</application> 最為重要,
-	同時也是您最感興趣的功能。 同時,在開發
-	<application>NanoBSD</application> 應用程式時,這也是相當耗時的過程。</para>
+	同時也是您最感興趣的功能。同時,在開發
+	<application>NanoBSD</application> 時,這也最耗時間的過程之一。</para>
 
-      <para>執行下面的指令將會
-	<filename>nanobsd.sh</filename> 讀取目前所在目錄的
+      <para>執行下面的指令會使
+	<filename>nanobsd.sh</filename> 目前所在的目錄讀取
 	<filename>myconf.nano</filename> 檔的設定:</para>
 
       <screen>&prompt.root; <userinput>sh nanobsd.sh -c myconf.nano</userinput></screen>
 
-      <para>自行打造的流程,只需兩個步驟:</para>
+      <para>自行打造的流程,有兩種方式:</para>
 
       <itemizedlist>
 	<listitem>
@@ -202,42 +197,45 @@
 	<title>自訂選項</title>
 
         <para>透過修改設定,可以設定用於
-          <application>NanoBSD</application> 打造過程中 <literal>buildworld</literal>
-          和 <literal>installworld</literal> 階段的編譯、安裝選項,以及
-          <application>NanoBSD</application> 主要打造過程中的選項。
-          透過使用這些選項可以削減系統的尺寸,使之能夠放入
-          64 MB 的隨身碟。 您還可以進一步透過這些選項來削減 &os;,
+          <application>NanoBSD</application> 打造過程中 <maketarget>buildworld</maketarget>
+          和 <maketarget>installworld</maketarget> 階段的編譯、安裝選項,以及
+          <application>NanoBSD</application> 主要打造過程中內部的選項。透
+          過這些選項可以削減系統的尺寸,使之能夠放入
+          64 MB 的隨身碟。您還可以進一步透過這些選項來削減 &os;,
           直到它只包含 kernel 以及兩三個 userland 檔案為止。</para>
 
-	<para>設定檔案中包含用以代替預設值的設定選項。簡介最重要的幾項設定如下:</para>
+	<para>設定檔案中包含用以代替預設值的設定選項。最重要的幾項設定如下:</para>
 
 	<itemizedlist>
 	  <listitem>
-	    <para><literal>NANO_NAME</literal> &mdash; 本次打造的名稱(所建立工作目錄的名稱)。</para>
+	    <para><literal>NANO_NAME</literal> &mdash;
+	      本次打造的名稱(所建立工作目錄的名稱)。</para>
 	  </listitem>
 
 	  <listitem>
-	    <para><literal>NANO_SRC</literal> &mdash; 用以編譯、打造映像檔的 source tree 的位置。</para>
+	    <para><literal>NANO_SRC</literal> &mdash; 用以編譯、打造映像檔的
+	      source tree 的位置。</para>
 	  </listitem>
 
 	  <listitem>
-	    <para><literal>NANO_KERNEL</literal> &mdash; 設定用來編譯的 kernel 設定檔檔名。</para>
+	    <para><literal>NANO_KERNEL</literal> &mdash; 設定用來編譯 kernel
+	      的設定檔檔名。</para>
 	  </listitem>
 
 	  <listitem>
 	    <para><literal>CONF_BUILD</literal> &mdash; 用於
-	      <literal>buildworld</literal> 打造階段的選項。</para>
+	      <maketarget>buildworld</maketarget> 階段的選項。</para>
 	  </listitem>
 
 	  <listitem>
 	    <para><literal>CONF_INSTALL</literal> &mdash; 用於
-	      <literal>installworld</literal> 打造階段的選項。</para>
+	      <maketarget>installworld</maketarget> 階段的選項。</para>
 	  </listitem>
 
 	  <listitem>
 	    <para><literal>CONF_WORLD</literal> &mdash; 用於
-	      <literal>buildworld</literal> 和
-	      <literal>installworld</literal> 這兩個打造階段的選項。</para>
+	      <maketarget>buildworld</maketarget> 和
+	      <maketarget>installworld</maketarget> 這兩個階段的選項。</para>
 	  </listitem>
 
 	  <listitem>
@@ -250,49 +248,67 @@
       <sect3>
 	<title>自訂功能</title>
 
-	<para>透過在設定檔案中使用 shell 函數,可以進一步微調
-	  <application>NanoBSD</application>。 舉例說明一下自行打造函數的基本方式:</para>
+	<para>透過在設定檔案中使用 shell 函式,可以進一步微調
+	  <application>NanoBSD</application>。舉例說明一下自訂函式的基本方式:</para>
 
-	  <programlisting>cust_foo()(
+	  <programlisting>cust_foo () (
 	echo "bar=topless" &gt; \
 		&dollar;{NANO_WORLDDIR}/etc/foo
 )
 customize_cmd cust_foo</programlisting>
 
-        <para>下面舉更實際點的例子,它會把預設的
-          <filename role="directory">/etc</filename> 目錄大小,從 5MB 調整為 30MB:</para>
+	<para>下面舉更實際點的例子,它會把 <filename class="directory">/etc</filename>
+           目錄預設的大小,從 5MB 調整為 30MB:</para>
 
-	<programlisting>cust_etc_size()(
+	<programlisting>cust_etc_size () (
 	cd &dollar;{NANO_WORLDDIR}/conf
 	echo 30000 &gt; default/etc/md_size
 )
 customize_cmd cust_etc_size</programlisting>
 
-	<para>除此之外,還有幾個預設的功能定義可以用來自訂:</para>
+	<para>除此之外,還有幾個預設的自訂函式可以使用:</para>
 
 	<itemizedlist>
 	  <listitem>
-	    <para><literal>cust_comconsole</literal> &mdash; 在預設 VGA 顯示卡上停用 &man.getty.8;
-	     (<filename>/dev/ttyv*</filename>)並啟用 serial port 的 COM1 以作為系統 console。</para>
+	    <para><literal>cust_comconsole</literal> &mdash; 在 VGA 裝置上停用
+              &man.getty.8;(<filename>/dev/ttyv*</filename>)並啟用 serial port
+	      的 COM1 以作為系統 console。</para>
 	  </listitem>
 
 	  <listitem>
-	    <para><literal>cust_allow_ssh_root</literal> &mdash; 允許 &man.sshd.8;
-	      可以用 <username>root</username> 帳號登入。</para>
+	    <para><literal>cust_allow_ssh_root</literal> &mdash; 允許 
+	      <username>root</username> 可以用 &man.sshd.8; 登入。</para>
 	  </listitem>
 
 	  <listitem>
 	    <para><literal>cust_install_files</literal> &mdash;
-	      從 <filename role="directory">nanobsd/Files</filename>
-	      目錄中安裝檔案,這包含一些實用的系統管理 script 。</para>
+	      從 <filename class="directory">nanobsd/Files</filename>
+	      目錄中安裝檔案,這包含一些實用的系統管理 script。</para>
 	  </listitem>
 	</itemizedlist>
       </sect3>
 
       <sect3>
-	<title>設定檔案舉例</title>
+	<title>安裝 packages</title>
+
+	<para>Packages 可以藉由自訂函式加入 <application>NanoBSD</application>
+	  的印象檔。下面的函式會安裝位於
+	  <filename>/usr/src/tools/tools/nanobsd/packages</filename>
+	  的 packages:</para>
+
+	<programlisting>install_packages () (
+mkdir -p ${NANO_WORLDDIR}/packages
+cp /usr/src/tools/tools/nanobsd/packages/* ${NANO_WORLDDIR}/packages
+chroot ${NANO_WORLDDIR} sh -c 'cd packages; pkg_add -v *;cd ..;'
+rm -rf ${NANO_WORLDDIR}/packages
+)
+customize_cmd install_packages</programlisting>
+      </sect3>
+
+      <sect3>
+	<title>設定檔案範例</title>
 
-	<para>下面是用於自行打造的 <application>NanoBSD</application> 映像檔的完整例子:</para>
+	<para>下面是用於自行打造的 <application>NanoBSD</application> 映像檔的完整範例:</para>
 
 	<programlisting>NANO_NAME=custom
 NANO_SRC=/usr/src
@@ -335,7 +351,7 @@
 
 FlashDevice SanDisk 1G
 
-cust_nobeastie()(
+cust_nobeastie() (
 	touch &dollar;{NANO_WORLDDIR}/boot/loader.conf
 	echo "beastie_disable=\"YES\"" &gt;&gt; &dollar;{NANO_WORLDDIR}/boot/loader.conf
 )
@@ -358,12 +374,13 @@
 	</step>
 
 	<step>
-	  <para>將新的映像檔放入正運行的
+	  <para>將新的映像檔上傳至正在運行的
 	    <application>NanoBSD</application> 中未用的分割區之一。</para>
 
 	  <para>與之前最初安裝 <application>NanoBSD</application> 的步驟相比,
-	    這一步驟最重要的區別在於:這次不用 <filename>_.disk.full</filename> 檔(它包含整個磁碟的映像檔),
-	    而應安裝 <filename>_.disk.image</filename> 映像檔(這個檔案中,只包含一個系統分割區)。</para>
+	    這一步驟最重要的區別在於:這次不用 <filename>_.disk.full</filename>
+	    檔(它包含整個磁碟的映像檔), 而應安裝 <filename>_.disk.image</filename>
+	    映像檔(這個檔案中,只包含一個系統分割區)。</para>
 	</step>
 
 	<step>
@@ -376,20 +393,20 @@
 
 	<step>
 	  <para>如果發生了任何問題,則可以從先前的分割區啟動
-	 (其中包含了舊的、 可用的映像檔),來盡快恢復系統功能。
-	  接下來可以修正新編譯的版本中存在的問題,並重複前述步驟。</para>
+	    (其中包含了舊的、可用的映像檔),來盡快恢復系統功能。
+	    接下來可以修正新編譯的版本中存在的問題,並重複前述步驟。</para>
 	</step>
       </procedure>
 
       <para>要在正在運行的
 	<application>NanoBSD</application> 系統中安裝新的映像檔,可以使用位於
-	<filename role="directory">/root</filename> 目錄的
+	<filename class="directory">/root</filename> 目錄的
 	<filename>updatep1</filename> 或
-	<filename>updatep2</filename>  script ,
+	<filename>updatep2</filename> script ,
 	實際上要用哪一個 script,則取決於正在運行的系統是位於哪個分割區而定。</para>
 
-      <para>隨時提供新 <application>NanoBSD</application> 映像檔所提供的服務,
-	以及採用的傳輸方法的不同,您可以參考並使用下列三種方式之一:</para>
+      <para>視提供新 <application>NanoBSD</application> 映像檔的主機所提供的服務,
+	以及希望採用的傳輸方式,您可以參考並使用下列三種方式之一:</para>
 
       <sect3>
 	<title>使用 &man.ftp.1;</title>
@@ -403,7 +420,7 @@
       <sect3>
 	<title>使用 &man.ssh.1;</title>
 
-	<para>如果想更安全的話,應參考下面例子:</para>
+	<para>如果想使用加密連線的話,應參考下面例子:</para>
 
 	<screen>&prompt.root; <userinput>ssh myhost cat _.disk.image.gz | zcat | sh updatep1</userinput></screen>
       </sect3>
@@ -415,7 +432,8 @@
 
 	<procedure>
 	  <step>
-	    <para>首先,在提供映像檔的主機上開啟 TCP listen,並讓它把映像檔傳給 client:</para>
+	    <para>首先,在提供映像檔的主機上開啟 TCP listener,並讓它把映像檔傳給
+	      client:</para>
 
 	    <screen>myhost&prompt.root; <userinput>nc -l <replaceable>2222</replaceable> &lt; _.disk.image</userinput></screen>
 
@@ -425,7 +443,7 @@
 	    </note>
 	  </step>
 	  <step>
-	    <para>連到提供新映像檔服務的主機,並執行 <filename>updatep1</filename> 這支 script:</para>
+	    <para>連到提供新映像檔的主機,並執行 <filename>updatep1</filename> 這支 script:</para>
 	      
 	    <screen>&prompt.root; <userinput>nc myhost <replaceable>2222</replaceable> | sh updatep1</userinput></screen>
 	  </step>
--- nanobsd-article.sgml.patch ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091108001643.B8DCB6FC443>