diff options
Diffstat (limited to 'zh_TW.UTF-8/books/handbook')
-rw-r--r-- | zh_TW.UTF-8/books/handbook/book.xml | 3327 | ||||
-rw-r--r-- | zh_TW.UTF-8/books/handbook/zh_TW.po | 23621 |
2 files changed, 13181 insertions, 13767 deletions
diff --git a/zh_TW.UTF-8/books/handbook/book.xml b/zh_TW.UTF-8/books/handbook/book.xml index 19bed48e15..722dec5a00 100644 --- a/zh_TW.UTF-8/books/handbook/book.xml +++ b/zh_TW.UTF-8/books/handbook/book.xml @@ -249,6 +249,7 @@ <!ENTITY pgpkey.jonathan SYSTEM "jonathan.key"> <!ENTITY pgpkey.josef SYSTEM "josef.key"> <!ENTITY pgpkey.jpaetzel SYSTEM "jpaetzel.key"> +<!ENTITY pgpkey.jrm SYSTEM "jrm.key"> <!ENTITY pgpkey.jsa SYSTEM "jsa.key"> <!ENTITY pgpkey.jtl SYSTEM "jtl.key"> <!ENTITY pgpkey.junovitch SYSTEM "junovitch.key"> @@ -263,6 +264,7 @@ <!ENTITY pgpkey.kensmith SYSTEM "kensmith.key"> <!ENTITY pgpkey.keramida SYSTEM "keramida.key"> <!ENTITY pgpkey.kevlo SYSTEM "kevlo.key"> +<!ENTITY pgpkey.keymaster SYSTEM "keymaster.key"> <!ENTITY pgpkey.kib SYSTEM "kib.key"> <!ENTITY pgpkey.kmoore SYSTEM "kmoore.key"> <!ENTITY pgpkey.knu SYSTEM "knu.key"> @@ -447,6 +449,7 @@ <!ENTITY pgpkey.sephe SYSTEM "sephe.key"> <!ENTITY pgpkey.sepotvin SYSTEM "sepotvin.key"> <!ENTITY pgpkey.sergei SYSTEM "sergei.key"> +<!ENTITY pgpkey.sevan SYSTEM "sevan.key"> <!ENTITY pgpkey.sgalabov SYSTEM "sgalabov.key"> <!ENTITY pgpkey.shaun SYSTEM "shaun.key"> <!ENTITY pgpkey.sheldonh SYSTEM "sheldonh.key"> @@ -768,7 +771,7 @@ </listitem> <listitem> - <para><xref linkend="disks"/> 新增了像是:USB 隨身碟、檔案系統快照 (Snapshot)、檔案系統配額 (Quota) 、檔案及網路的備援檔案系統、以及如何對硬碟分割區作加密等詳解。</para> + <para><xref linkend="disks"/> 新增了像是:USB 隨身碟、檔案系統快照 (Snapshot)、檔案系統配額 (Quota) 、檔案與網路為基礎的檔案系統、以及如何對硬碟分割區作加密等詳解。</para> </listitem> <listitem> @@ -816,7 +819,7 @@ </listitem> <listitem> - <para>內容架構重新組織成三大部分: <quote>入門</quote>、<quote>系統管理</quote> 以及 <quote>附錄</quote>。</para> + <para>內容架構重新組織成三大部分:<quote>入門</quote>、<quote>系統管理</quote> 以及 <quote>附錄</quote>。</para> </listitem> <listitem> @@ -1321,7 +1324,7 @@ </sect1> <sect1 xml:id="nutshell"> - <title>歡迎使用 FreeBSD!</title> + <title>歡迎使用 FreeBSD!</title> <indexterm xml:lang="en"><primary>4.4BSD-Lite</primary></indexterm> @@ -1604,7 +1607,7 @@ <listitem> <para><link xlink:href="http://www.sandvine.com/">Sandvine</link> <indexterm> <primary>Sandvine</primary> - </indexterm> - Sandvine 使用 FreeBSD 作為它們的高性能即時網路處理平台,來建立它門的智慧網路策略控制產品。</para> + </indexterm> - Sandvine 使用 FreeBSD 作為它們的高性能即時網路處理平台,來建立它們的智慧網路策略控制產品。</para> </listitem> <listitem> @@ -1971,7 +1974,7 @@ <sect2 xml:id="third-party-programs"> <title>第三方程式</title> - <para>除了基礎發行版之外,FreeBSD 提供了擁有上千個常用的程式的移植軟體的套件集,在撰寫本文的同時,已有超過 24,000 個 Port! Port 的範圍從 HTTP 伺服器到遊戲、語系、編輯器,幾乎所有東西都在裡面。完整的 Port 套件集需要將近 500 MB。要編譯一個 Port 您只需要切換目錄到您想安裝的程式目錄,然後輸入 <command>make install</command>,接著系統便會處理剩下的動作。您編譯的每個 Port 完整原始發行版內容是動態下載的,所以您只需要有足夠的磁碟空間來編譯您想要的 Port。幾乎所有 Port 都提供以預先編譯好的<quote>套件</quote>,您可以透過簡單的指令來安裝 (<command>pkg install</command>),提供那些不想要自行從原始碼編譯的人使用。更多有關套件與 Port 的資訊可於 <xref linkend="ports"/> 取得。</para> + <para>除了基礎發行版之外,FreeBSD 提供了擁有上千個常用的程式的移植軟體的套件集,在撰寫本文的同時,已有超過 24,000 個 Port!Port 的範圍從 HTTP 伺服器到遊戲、語系、編輯器,幾乎所有東西都在裡面。完整的 Port 套件集需要將近 500 MB。要編譯一個 Port 您只需要切換目錄到您想安裝的程式目錄,然後輸入 <command>make install</command>,接著系統便會處理剩下的動作。您編譯的每個 Port 完整原始發行版內容是動態下載的,所以您只需要有足夠的磁碟空間來編譯您想要的 Port。幾乎所有 Port 都提供已經預先編譯好的<quote>套件</quote>,您可以透過簡單的指令來安裝 (<command>pkg install</command>),提供那些不想要自行從原始碼編譯的人使用。更多有關套件與 Port 的資訊可於 <xref linkend="ports"/> 取得。</para> </sect2> <sect2> @@ -2074,7 +2077,7 @@ <indexterm><primary>安裝</primary></indexterm> - <para>自從 FreeBSD 9.0-RELEASE 開始, FreeBSD 提供一個易用,文字介面的安裝程式 <application>bsdinstall</application>。 本章描述如何用 <application>bsdinstall</application> 來安裝 FreeBSD。</para> + <para>自從 FreeBSD 9.0-RELEASE 開始,FreeBSD 提供一個易用,文字介面的安裝程式 <application>bsdinstall</application>。 本章描述如何用 <application>bsdinstall</application> 來安裝 FreeBSD。</para> <para>一般來說,本章所寫的安裝說明是針對 <trademark>i386</trademark> 和 <acronym>AMD64</acronym> 架構。如果可以用於其他平台,將會列表說明。 安裝程式和本章所敘述的內容可能會有些微差異,所以請將本章視為通用的指引,而不是完全照著來做。</para> @@ -2125,7 +2128,7 @@ <para>安裝 FreeBSD 的硬體需求隨 FreeBSD 的版本和硬體架構而不同。 FreeBSD 發行版支援的硬體架構和裝置會列在 <link xlink:href="@@URL_RELPREFIX@@/releases/index.html">FreeBSD 發佈資訊</link> 頁面。<link xlink:href="@@URL_RELPREFIX@@/where.html">FreeBSD 下載頁面</link> 也有建議如何正確的選擇在不同架構使用的映像檔。</para> - <para>FreeBSD 安裝程序需要至少 64 MB 的 <acronym>RAM</acronym> 以及 1.5 GB 的硬碟空間。然而,這樣少的記憶體及磁碟空間只適合在客製的應用上,如嵌入式設備,一般用途的桌面系統會需要更多的資源,2-4 GB RAM 與至少 8 GB 的硬碟空間是不錯的起點。</para> + <para>FreeBSD 安裝程序需要至少 96 MB 的 <acronym>RAM</acronym> 以及 1.5 GB 的硬碟空間。然而,如此少的記憶體及磁碟空間只適合在客製的應用上,如嵌入式設備。一般用途的桌面系統會需要更多的資源,2-4 GB RAM 與至少 8 GB 的硬碟空間是不錯的起點。</para> <para>每一種架構的處理器需求概述如下:</para> @@ -2272,29 +2275,29 @@ <para xml:id="bsdinstall-installation-media-uefi">還有另一種安裝檔是給使用 <acronym>UEFI</acronym> (Unified Extensible Firmware Interface) 開機的電腦使用,這些安裝檔的名稱會含有 <filename>uefi</filename>。</para> - <para>檔案類型:</para> + <para>檔案類型:</para> <itemizedlist> <listitem> - <para><literal>-bootonly.iso</literal>: 這是最精簡的安裝檔,檔案中只含安裝程式。 安裝時需要網際網路連線來下載所需的檔案以完成 FreeBSD 安裝。這個檔案應使用 <acronym>CD</acronym> 燒錄應用程式燒錄到 <acronym>CD</acronym> 使用。</para> + <para><literal>-bootonly.iso</literal>:這是最精簡的安裝檔,檔案中只含安裝程式。 安裝時需要網際網路連線來下載所需的檔案以完成 FreeBSD 安裝。這個檔案應使用 <acronym>CD</acronym> 燒錄應用程式燒錄到 <acronym>CD</acronym> 使用。</para> </listitem> <listitem> - <para><literal>-disc1.iso</literal>: 這個檔案含有所有安裝 FreeBSD 所需的檔案,包含原始碼及 Port 套件集。這個檔案應使用 <acronym>CD</acronym> 燒錄應用程式燒錄到 <acronym>CD</acronym> 使用。</para> + <para><literal>-disc1.iso</literal>:這個檔案含有所有安裝 FreeBSD 所需的檔案,包含原始碼及 Port 套件集。這個檔案應使用 <acronym>CD</acronym> 燒錄應用程式燒錄到 <acronym>CD</acronym> 使用。</para> </listitem> <listitem> - <para><literal>-dvd1.iso</literal>: 這個檔案含有所有安裝 FreeBSD 所需的檔案,包含原始碼及 Port 套件集,也內含熱門的 Binary 套件可安裝視窗管理程式以及一些應用程式,如此便可從媒體安裝完整的系統,無須連線到網際網路。這個檔案應使用 <acronym>DVD</acronym> 燒錄應用程式燒錄到 <acronym>DVD</acronym> 使用。</para> + <para><literal>-dvd1.iso</literal>:這個檔案含有所有安裝 FreeBSD 所需的檔案,包含原始碼及 Port 套件集,也內含熱門的 Binary 套件可安裝視窗管理程式以及一些應用程式,如此便可從媒體安裝完整的系統,無須連線到網際網路。這個檔案應使用 <acronym>DVD</acronym> 燒錄應用程式燒錄到 <acronym>DVD</acronym> 使用。</para> </listitem> <listitem> - <para><literal>-memstick.img</literal>: 這個檔案含有所有安裝 FreeBSD 所需的檔案,包含原始碼及 Port 套件集。這個檔案應依據以下操作指示寫入到 <acronym>USB</acronym> 隨身碟使用。</para> + <para><literal>-memstick.img</literal>:這個檔案含有所有安裝 FreeBSD 所需的檔案,包含原始碼及 Port 套件集。這個檔案應依據以下操作指示寫入到 <acronym>USB</acronym> 隨身碟使用。</para> </listitem> </itemizedlist> - <para>映像檔下載完成之後,下載同一個目錄之中的 <filename>CHECKSUM.SHA256</filename>。FreeBSD 提供 <citerefentry><refentrytitle>sha256</refentrytitle><manvolnum>1</manvolnum></citerefentry> 可用來計算映像檔的 <firstterm>校驗和 (Checksum)</firstterm>,使用方式為 <command>sha256 <replaceable>imagefilename</replaceable></command>,其他作業系統也會有類似的程式。</para> + <para>映像檔下載完成之後,下載同一個目錄之中的 <filename>CHECKSUM.SHA256</filename>。FreeBSD 提供 <citerefentry><refentrytitle>sha256</refentrytitle><manvolnum>1</manvolnum></citerefentry> 可用來計算映像檔的 <firstterm>校驗碼 (Checksum)</firstterm>,使用方式為 <command>sha256 <replaceable>imagefilename</replaceable></command>,其他作業系統也會有類似的程式。</para> - <para>比對計算後的 checksum 與 <filename>CHECKSUM.SHA256</filename> 檔案中的值,checksum 應該要完全相符,若 checksum 不相符,則代表該映像檔是損壞的,必須再下載一次。</para> + <para>比對計算後的校驗碼與 <filename>CHECKSUM.SHA256</filename> 檔案中的值,校驗碼應該要完全相符,若校驗碼不相符,則代表該映像檔是損壞的,必須再下載一次。</para> <sect3 xml:id="bsdinstall-usb"> <title>寫入映象檔到 <acronym>USB</acronym></title> @@ -2360,14 +2363,14 @@ commit your changes?</programlisting> <para>在這個警告訊息之前可以隨時中止安裝,若有任何設定錯誤的疑慮,只需在此時關閉電腦,將不會對系統磁碟做任何更改。</para> </important> - <para>本節將介紹如何使用根據 <xref linkend="bsdinstall-installation-media"/> 指示所準備的安裝媒體來開機。要使用可開機的 USB,請在開啟電腦前插入 <acronym>USB</acronym> 隨身碟。要使用 <acronym>CD</acronym> 或<acronym>DVD</acronym>,則可開啟電腦後在第一時間插入媒體。如何設定系統使用插入的媒體開機依不同的系統架構會有所不同。</para> + <para>本節將介紹如何使用根據 <xref linkend="bsdinstall-installation-media"/> 指示所準備的安裝媒體來開機。要使用可開機的 USB,請在開啟電腦前插入 <acronym>USB</acronym> 隨身碟。要使用 <acronym>CD</acronym> 或 <acronym>DVD</acronym>,則可開啟電腦後在第一時間插入媒體。如何設定系統使用插入的媒體開機依不同的系統架構會有所不同。</para> <sect2 xml:id="bsdinstall-starting-i386"> <title>在 <trademark>i386</trademark> 及 amd64 開機</title> <para>這兩種架構提供了 <acronym>BIOS</acronym> 選單可選擇開機的裝置,依據要使用的安裝媒體類型,選擇 <acronym>CD</acronym>/<acronym>DVD</acronym> 或 <acronym>USB</acronym> 裝置做為第一個開機裝置。大多數的系統也會提供快速鍵可在啟動時選擇開機裝置,而不需要進入<acronym>BIOS</acronym>,通常這個按鍵可能是 <keycap>F10</keycap>, <keycap>F11</keycap>, <keycap>F12</keycap> 或 <keycap>Escape</keycap> 其中之一。</para> - <para>若電腦仍載入了現有的作業系統,而不是 FreeBSD 安裝程式,原因可能為:</para> + <para>若電腦仍載入了現有的作業系統,而不是 FreeBSD 安裝程式,原因可能為:</para> <orderedlist> <listitem> @@ -2397,7 +2400,7 @@ commit your changes?</programlisting> <para>大多數 <trademark class="registered">SPARC64</trademark> 系統會自動從磁碟開機,要從 <acronym>CD</acronym> 安裝 FreeBSD 需要進入 <acronym>PROM</acronym>。</para> - <para>要進入 <acronym>PROM</acronym>,需重新開機系統然後等候開機訊息出現。訊息會依機型而有所不同,但大致結果會如:</para> + <para>要進入 <acronym>PROM</acronym>,需重新開機系統然後等候開機訊息出現。訊息會依機型而有所不同,但大致結果會如:</para> <screen xml:lang="en">Sun Blade 100 (UltraSPARC-IIe), Keyboard Present Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved. @@ -2428,23 +2431,23 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen> <itemizedlist> <listitem> - <para>啟動多使用者模式 (<literal>Boot Multi User</literal>): 這個選項會繼續 FreeBSD 開機程序,若開機計時器已經暫停,可按 <keycap>1</keycap>、大寫或小寫 <keycap>B</keycap> 或 <keycap>Enter</keycap> 鍵。</para> + <para>啟動多使用者模式 (<literal>Boot Multi User</literal>):這個選項會繼續 FreeBSD 開機程序,若開機計時器已經暫停,可按 <keycap>1</keycap>、大寫或小寫 <keycap>B</keycap> 或 <keycap>Enter</keycap> 鍵。</para> </listitem> <listitem> - <para>啟動單使用者模式 (<literal>Boot Single User</literal>): 這個模式用來修正已安裝的 FreeBSD,如 <xref linkend="boot-singleuser"/> 所述。可按 <keycap>2</keycap>、大寫或小寫 <keycap>S</keycap> 進入這個模式。</para> + <para>啟動單使用者模式 (<literal>Boot Single User</literal>):這個模式用來修正已安裝的 FreeBSD,如 <xref linkend="boot-singleuser"/> 所述。可按 <keycap>2</keycap>、大寫或小寫 <keycap>S</keycap> 進入這個模式。</para> </listitem> <listitem> - <para>離開到載入程式提示 (<literal>Escape to loader prompt</literal>): 這個選項會開機進入修復提示,這個模式含有有限數量的低階指令,這個模式詳細說明於 <xref linkend="boot-loader"/>。可按 <keycap>3</keycap> 或 <keycap>Esc</keycap> 進入這個提示。</para> + <para>離開到載入程式提示 (<literal>Escape to loader prompt</literal>):這個選項會開機進入修復提示,這個模式含有有限數量的低階指令,這個模式詳細說明於 <xref linkend="boot-loader"/>。可按 <keycap>3</keycap> 或 <keycap>Esc</keycap> 進入這個提示。</para> </listitem> <listitem> - <para>重新開機 (<literal>Reboot</literal>): 重新開啟系統。</para> + <para>重新開機 (<literal>Reboot</literal>):重新開啟系統。</para> </listitem> <listitem> - <para>設定開機選項 (<literal>Configure Boot Options</literal>): 開啟內部選單,詳細說明於 <xref linkend="bsdinstall-boot-options-menu"/>。</para> + <para>設定開機選項 (<literal>Configure Boot Options</literal>):開啟內部選單,詳細說明於 <xref linkend="bsdinstall-boot-options-menu"/>。</para> </listitem> </itemizedlist> @@ -2464,19 +2467,19 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen> <itemizedlist> <listitem> - <para>ACPI 支援 (<literal>ACPI Support</literal>): 若系統在開機時卡住,可嘗試切換這個選項為關 (<literal>Off</literal>)。</para> + <para>ACPI 支援 (<literal>ACPI Support</literal>):若系統在開機時卡住,可嘗試切換這個選項為關 (<literal>Off</literal>)。</para> </listitem> <listitem> - <para>安全模式 (<literal>Safe Mode</literal>): 若系統在 ACPI 支援 (<literal>ACPI Support</literal>) 設為關 (<literal>Off</literal>) 時開機時仍然會卡住,可嘗試將此選項設為開 (<literal>On</literal>)。</para> + <para>安全模式 (<literal>Safe Mode</literal>):若系統在 ACPI 支援 (<literal>ACPI Support</literal>) 設為關 (<literal>Off</literal>) 時開機時仍然會卡住,可嘗試將此選項設為開 (<literal>On</literal>)。</para> </listitem> <listitem> - <para>單使用者 (<literal>Single User</literal>): 切換這個選項為開 (<literal>On</literal>) 來修正已存在的 FreeBSD 如 <xref linkend="boot-singleuser"/> 所述,問題修正後,將其設回關 (<literal>Off</literal>)。</para> + <para>單使用者 (<literal>Single User</literal>):切換這個選項為開 (<literal>On</literal>) 來修正已存在的 FreeBSD 如 <xref linkend="boot-singleuser"/> 所述,問題修正後,將其設回關 (<literal>Off</literal>)。</para> </listitem> <listitem> - <para>詳細資訊 (<literal>Verbose</literal>): 切換這個選項為開 (<literal>On</literal>) 來查看開機程序中更詳細的訊息,這在診斷硬體問題時非常有用。</para> + <para>詳細資訊 (<literal>Verbose</literal>):切換這個選項為開 (<literal>On</literal>) 來查看開機程序中更詳細的訊息,這在診斷硬體問題時非常有用。</para> </listitem> </itemizedlist> @@ -2535,7 +2538,7 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen> <para>設定鍵盤配置時,可使用上與下方向鍵來選擇最接近已連接到系統的鍵盤的鍵盤對應表 (Keymap),然後按下 <keycap>Enter</keycap> 儲存選項。</para> <note> - <para>按 <keycap>Esc</keycap> 會離開這個選單然後使用預設的鍵盤對應表,若不清選要使用那種鍵盤對應表,<guimenuitem>United States of America ISO-8859-1</guimenuitem> 是也是保險的選項。</para> + <para>按 <keycap>Esc</keycap> 會離開這個選單然後使用預設的鍵盤對應表,若不清楚要使用那種鍵盤對應表,<guimenuitem>United States of America ISO-8859-1</guimenuitem> 是也是保險的選項。</para> </note> <para>在 FreeBSD 10.0-RELEASE 以及之後的版本,已經加強了這個選單,會顯示完整的鍵盤對應表選項,並預先選擇預設值。另外,當選擇其他鍵盤對應用時,在繼續之前會顯示對話框讓使用者測試鍵盤對應表來確認。</para> @@ -2585,7 +2588,7 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen> </mediaobject> </figure> - <para>決定要安裝的元件主要會根據系統的用途以及可用的磁碟空間容量。FreeBSD 核心 (Kernel) 及 Userland 統稱為 <firstterm>基礎系統 (Base system)</firstterm>,是必須安裝的部份。依據系統的架構,部份元件可能不會顯示:</para> + <para>決定要安裝的元件主要會根據系統的用途以及可用的磁碟空間容量。FreeBSD 核心 (Kernel) 及 Userland 統稱為 <firstterm>基礎系統 (Base system)</firstterm>,是必須安裝的部份。依據系統的架構,部份元件可能不會顯示:</para> <itemizedlist> <listitem> @@ -2688,9 +2691,9 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen> <primary><filename>/usr</filename></primary> </indexterm> - <para>配置檔案系統時要記得硬碟的傳輸資料外軌較內軌的速度快,因此較小且大量存取的檔案系統應要較接近磁碟的外軌,而較大的分割區如 <filename>/usr</filename> 應放置在磁碟較內部,建議建立分割區的順序如下: <filename>/</filename>, swap, <filename>/var</filename> 然後 <filename>/usr</filename>。</para> + <para>配置檔案系統時要記得硬碟的資料傳輸的速度外軌較內軌快,因此較小且大量存取的檔案系統應要較接近磁碟的外軌,而較大的分割區如 <filename>/usr</filename> 應放置在磁碟較內部,建議建立分割區的順序如下:<filename>/</filename>, swap, <filename>/var</filename> 然後 <filename>/usr</filename>。</para> - <para>機器預期的用途會反映在 <filename>/var</filename> 分割區的大小,這個分割區用來保存郵件 (Mailbox)、記錄檔 (Log file) 及印表機緩衝 (Spool)。依使用者數及保存的期間,郵件及記錄檔可能成長到無法預期的大小,一般來說大部份的使用很少會在 <filename>/var</filename> 需要超過 1 GB 的可用磁碟空間。</para> + <para>機器預期的用途會反映到 <filename>/var</filename> 分割區的大小,這個分割區用來保存郵件 (Mailbox)、日誌檔 (Log file) 及印表機緩衝 (Spool)。依使用者數及保存的期間,郵件及日誌檔可能成長到無法預期的大小,一般來說大部份的使用很少會在 <filename>/var</filename> 需要超過 1 GB 的可用磁碟空間。</para> <note> <para>有時在 <filename>/var/tmp</filename> 會需要較多的空間,當新軟體安裝,套件工具會從套件中取出暫存的複本置於 <filename>/var/tmp</filename>。若在 <filename>/var/tmp</filename> 沒有足夠的空間,要安裝大型軟體套件,例如 <application>Firefox</application>, <application>Apache OpenOffice</application> 或 <application>LibreOffice</application> 會很困難。</para> @@ -2769,7 +2772,7 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen> </mediaobject> </figure> - <para>選擇要安裝的磁碟機 (在這個例子為 <filename>ada0</filename>) 然後選擇 <guibutton>[ Create ]</guibutton> 會以選單顯示可用的分割表格式 (Partition scheme):</para> + <para>選擇要安裝的磁碟機 (在這個例子為 <filename>ada0</filename>) 然後選擇 <guibutton>[ Create ]</guibutton> 會以選單顯示可用的分割表格式 (Partition scheme):</para> <figure xml:id="bsdinstall-part-manual-partscheme"> <title>手動建立分割區</title> @@ -2840,7 +2843,7 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen> </mediaobject> </figure> - <para>標準的 FreeBSD <acronym>GPT</acronym> 安裝會使用至少三種分割區:</para> + <para>標準的 FreeBSD <acronym>GPT</acronym> 安裝會使用至少三種分割區:</para> <itemizedlist> <listitem> @@ -2860,10 +2863,10 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen> <para>檔案系統分割區可建立多個,且有部份人會偏好使用傳統的配置方式將 <filename>/</filename>, <filename>/var</filename>, <filename>/tmp</filename> 以及 <filename>/usr</filename> 分開存放在不同的分割區。請參考 <xref linkend="bsdinstall-part-manual-splitfs"/> 的範例。</para> - <para>大小 (<literal>Size</literal>) 欄位可以使用常用的縮寫來輸入: <emphasis>K</emphasis> 代表 KB, <emphasis>M</emphasis> 代表 MB, <emphasis>G</emphasis> 代表 GB。</para> + <para>大小 (<literal>Size</literal>) 欄位可以使用常用的縮寫來輸入:<emphasis>K</emphasis> 代表 KB, <emphasis>M</emphasis> 代表 MB, <emphasis>G</emphasis> 代表 GB。</para> <tip> - <para>適當的對齊磁碟扇區 (Sector) 會提供最佳的效能,而且讓分割區大小為 4 KB 的偶數倍數可協助確保對齊在磁碟機上的 512-byte 或 4K-byte 扇區。一般來說,使用分割區大小為 1M 或 1G 的偶數倍數是最簡單的方式確保每個分割區以 4K 的偶數倍數做為開始。唯一一個例外是: <emphasis>freebsd-boot</emphasis> 分割區因目前開機程式 (Boot code) 的限制,不可大於 512K。</para> + <para>適當的對齊磁碟扇區 (Sector) 會提供最佳的效能,而且讓分割區大小為 4 KB 的偶數倍數可協助確保對齊在磁碟機上的 512-byte 或 4K-byte 扇區。一般來說,使用分割區大小為 1M 或 1G 的偶數倍數是最簡單的方式確保每個分割區以 4K 的偶數倍數做為開始。唯一一個例外是:<emphasis>freebsd-boot</emphasis> 分割區因目前開機程式 (Boot code) 的限制,不可大於 512K。</para> </tip> <para>若分割區內含檔案系統便會需要一個掛載點 (<literal>Mountpoint</literal>),若只要建立一個 <acronym>UFS</acronym> 分割區,那麼掛載點應設為 <filename>/</filename>。</para> @@ -3059,7 +3062,7 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen> <para>安裝時間會依據選擇的發行版、安裝媒體、電腦的速度而有所不同,接下來會有一系列訊息會告知目前的進度。</para> - <para>首先,安裝程式會格式化選擇的磁碟,然後初始化分割區。然後,若使用僅可開機 (Boot only) 的媒體則會開始下載選擇的元件:</para> + <para>首先,安裝程式會格式化選擇的磁碟,然後初始化分割區。然後,若使用僅可開機 (Boot only) 的媒體則會開始下載選擇的元件:</para> <figure xml:id="bsdinstall-distfile-fetching"> <title>取得發行版檔案</title> @@ -3071,7 +3074,7 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen> </mediaobject> </figure> - <para>接著,會檢驗發行版的檔案完整性來確保沒有因下載過程中或安裝媒體的讀取過程中讀取錯誤造成的損壞:</para> + <para>接著,會檢驗發行版的檔案完整性來確保沒有因下載過程中或安裝媒體的讀取過程中讀取錯誤造成的損壞:</para> <figure xml:id="bsdinstall-distfile-verify"> <title>檢驗發行版檔案</title> @@ -3083,7 +3086,7 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen> </mediaobject> </figure> - <para>最後,檢驗過的發行版檔案會被取出儲存至磁碟:</para> + <para>最後,檢驗過的發行版檔案會被取出儲存至磁碟:</para> <figure xml:id="bsdinstall-distfile-extract"> <title>解開發行版檔案</title> @@ -3142,7 +3145,7 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen> </mediaobject> </figure> - <para>若選擇的是乙太網路介面卡,安裝程式會跳過這部份直接到 <xref linkend="bsdinstall-configure-net-ipv4"/>,若選擇的是無線網路介面卡,系統則會開始掃描無線存取點 (Wireless Access Point):</para> + <para>若選擇的是乙太網路介面卡,安裝程式會跳過這部份直接到 <xref linkend="bsdinstall-configure-net-ipv4"/>,若選擇的是無線網路介面卡,系統則會開始掃描無線存取點 (Wireless Access Point):</para> <figure xml:id="bsdinstall-wireless-scan"> <title>掃描無線網路存取點</title> @@ -3178,7 +3181,7 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen> </mediaobject> </figure> - <para>接下來,選擇是否要設定乙太網路或無線網路介面卡的 <acronym>IPv4</acronym> 位址: </para> + <para>接下來,選擇是否要設定乙太網路或無線網路介面卡的 <acronym>IPv4</acronym> 位址:</para> <figure xml:id="bsdinstall-configure-net-ipv4"> <title>選擇 <acronym>IPv4</acronym> 網路</title> @@ -3208,7 +3211,7 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen> </mediaobject> </figure> - <para>若沒有可用的 <acronym>DHCP</acronym> 伺服器,則選擇 <guibutton>[ No ]</guibutton> 然後在這個選單中輸入以下位址資訊:</para> + <para>若沒有可用的 <acronym>DHCP</acronym> 伺服器,則選擇 <guibutton>[ No ]</guibutton> 然後在這個選單中輸入以下位址資訊:</para> <figure xml:id="bsdinstall-net-ipv4-static"> <title><acronym>IPv4</acronym> 靜態位置設定</title> @@ -3260,7 +3263,7 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen> </mediaobject> </figure> - <para>若沒有可用的 <acronym>IPv6</acronym> 路由器,請選擇 <guibutton>[ No ]</guibutton> 然後在這個選單中輸入以下位址資訊:</para> + <para>若沒有可用的 <acronym>IPv6</acronym> 路由器,請選擇 <guibutton>[ No ]</guibutton> 然後在這個選單中輸入以下位址資訊:</para> <figure xml:id="bsdinstall-net-ipv6-static"> <title>IPv6 靜態位置設定</title> @@ -3378,7 +3381,7 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen> </mediaobject> </figure> - <para>這是可以在這個選單開啟的服務摘要:</para> + <para>這是可以在這個選單開啟的服務摘要:</para> <itemizedlist> <listitem> @@ -3445,7 +3448,7 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen> </mediaobject> </figure> - <para>這裡是要輸入的資訊摘要:</para> + <para>這裡是要輸入的資訊摘要:</para> <itemizedlist> <listitem> @@ -3605,7 +3608,7 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen> <para>要查看開機過程顯示的訊息可按 <keycap>Scroll-Lock</keycap> 鍵來開啟卷軸暫存,然後可使用 <keycap>PgUp</keycap>, <keycap>PgDn</keycap> 以及方向鍵來捲動訊息。查看完成之後再按 <keycap>Scroll-Lock</keycap> 鍵一次來解除畫面鎖定並返回 Console。系統開機一段時間之後要查看這些訊息可在指令提示後輸入 <command>less /var/run/dmesg.boot</command>,查看後按下 <keycap>q</keycap> 鍵便可返回指令列。</para> - <para>若在 <xref linkend="bsdinstall-config-serv"/> 有開啟 <application>sshd</application>,因系統會產生 <acronym>RSA</acronym> 及 <acronym>DSA</acronym> 金鑰第一次開機可能會有點慢,之後的開機便會恢復正常速度。接著會顯示金鑰的指紋 (Fingerprint),如這個範例:</para> + <para>若在 <xref linkend="bsdinstall-config-serv"/> 有開啟 <application>sshd</application>,因系統會產生 <acronym>RSA</acronym> 及 <acronym>DSA</acronym> 金鑰第一次開機可能會有點慢,之後的開機便會恢復正常速度。接著會顯示金鑰的指紋 (Fingerprint),如這個範例:</para> <screen xml:lang="en">Generating public/private rsa1 key pair. Your identification has been saved in /etc/ssh/ssh_host_key. @@ -3647,7 +3650,7 @@ Starting sshd.</screen> <para>FreeBSD 預設並不會安裝圖型化介面,請參考 <xref linkend="x11"/> 取得有關安裝與設定圖型化視窗管理程式的資訊。</para> - <para>正確的將 FreeBSD 電腦關機對保護資料及避免硬體損壞有幫助。<emphasis>在系統尚未正常關機之前請不要關閉電源! </emphasis> 若使用者為 <systemitem class="groupname">wheel</systemitem> 群組的成員之一,可在指令列輸入 <command>su</command> 然後輸入 <systemitem class="username">root</systemitem> 密碼來成為超級使用者。接著輸入 <command>shutdown -p now</command> 系統便會關機,若硬體支援的話,電腦會自行關閉電源。</para> + <para>正確的將 FreeBSD 電腦關機對保護資料及避免硬體損壞有幫助。<emphasis>在系統尚未正常關機之前請不要關閉電源!</emphasis> 若使用者為 <systemitem class="groupname">wheel</systemitem> 群組的成員之一,可在指令列輸入 <command>su</command> 然後輸入 <systemitem class="username">root</systemitem> 密碼來成為超級使用者。接著輸入 <command>shutdown -p now</command> 系統便會關機,若硬體支援的話,電腦會自行關閉電源。</para> </sect2> </sect1> @@ -3668,7 +3671,7 @@ Starting sshd.</screen> <para>製造商通常會建議若沒有特殊原因盡量避免升級主機板 <acronym>BIOS</acronym></para> </note> - <para>若系統在開機偵測硬體時卡住或安裝時運作異常,可能主因為 <acronym>ACPI</acronym>,FreeBSD 在 i386, amd64 及 ia64 平台廣泛的使用了系統 <acronym>ACPI</acronym> 服務來協助設定系統組態,若在開機時有偵測到該功能。不幸的是,<acronym>ACPI</acronym> 驅動程式與系統主機板及 <acronym>BIOS</acronym> 韌體之間仍存在部份問題。可於開機載入程式的第三階段設定 <literal>hint.acpi.0.disabled</literal> Hint 來關閉 <acronym>ACPI</acronym>:</para> + <para>若系統在開機偵測硬體時卡住或安裝時運作異常,可能主因為 <acronym>ACPI</acronym>,FreeBSD 在 i386, amd64 及 ia64 平台廣泛的使用了系統 <acronym>ACPI</acronym> 服務來協助設定系統組態,若在開機時有偵測到該功能。不幸的是,<acronym>ACPI</acronym> 驅動程式與系統主機板及 <acronym>BIOS</acronym> 韌體之間仍存在部份問題。可於開機載入程式的第三階段設定 <literal>hint.acpi.0.disabled</literal> Hint 來關閉 <acronym>ACPI</acronym>:</para> <screen xml:lang="en"><userinput>set hint.acpi.0.disabled="1"</userinput></screen> @@ -3680,7 +3683,7 @@ Starting sshd.</screen> <para>如 <xref linkend="bsdinstall-choose-mode"/> 所示 <application>bsdinstall</application> 的歡迎選單提供了 <guibutton>[ Live CD ]</guibutton> 選項,這對那些對 FreeBSD 是否為正確的作業系統尚存疑慮的人非常有幫助,這可讓這些人在安裝前測試一部份功能。</para> - <para>在使用 <guibutton>[ Live CD ]</guibutton> 之前必須注意以下幾點事項:</para> + <para>在使用 <guibutton>[ Live CD ]</guibutton> 之前必須注意以下幾點事項:</para> <itemizedlist> <listitem> @@ -3812,7 +3815,7 @@ login:</screen> <para>請參考 <citerefentry><refentrytitle>kbdcontrol</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>vidcontrol</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>atkbd</refentrytitle><manvolnum>4</manvolnum></citerefentry>, <citerefentry><refentrytitle>syscons</refentrytitle><manvolnum>4</manvolnum></citerefentry> 以及 <citerefentry><refentrytitle>vt</refentrytitle><manvolnum>4</manvolnum></citerefentry> 來取得更多有關 FreeBSD Console 及鍵盤驅動程式的技術說明。</para> - <para>FreeBSD 中虛擬 Console 的數量設定在 <filename>/etc/ttys</filename> 檔案中的下列章節:</para> + <para>FreeBSD 中虛擬 Console 的數量設定在 <filename>/etc/ttys</filename> 檔案中的下列章節:</para> <programlisting xml:lang="en"># name getty type status comments # @@ -3838,7 +3841,7 @@ ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure</programlisting> <para>FreeBSD 開機選單會提供一個選項為 <quote>Boot Single User</quote>,若選擇該項目,系統將會進入所謂 <quote>單使用者模式</quote> 的特殊模式。 此模式通常用在修復系統無法開機或重設已忘掉的 <systemitem class="username">root</systemitem> 密碼。 在當使用者模式中無法使用網路及其他虛擬 Console,但有完整 <systemitem class="username">root</systemitem> 對系統的存取權限,而且預設是不須要輸入 <systemitem class="username">root</systemitem> 密碼。 也因此,要能透過實體鍵盤操作才能進入此模式,在考量 FreeBSD 系統安全時須要限制可操作實體鍵盤的人員。</para> - <para>有關單使用者模式的設定可在 <filename>/etc/ttys</filename> 中的以下章節中找到:</para> + <para>有關單使用者模式的設定可在 <filename>/etc/ttys</filename> 中的以下章節中找到:</para> <programlisting xml:lang="en"># name getty type status comments # @@ -4521,7 +4524,7 @@ uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)</screen> <primary>directories</primary> </indexterm> - <para>使用 <citerefentry><refentrytitle>ls</refentrytitle><manvolnum>1</manvolnum></citerefentry> 指令時,可以加上 <option>-l</option> 參數, 來檢視詳細的目錄清單。 清單中欄位的資訊包含檔案對所有者、群組及其他人的權限。 在任一個目錄底下執行 <command>ls -l</command>,會顯示如下的結果:</para> + <para>使用 <citerefentry><refentrytitle>ls</refentrytitle><manvolnum>1</manvolnum></citerefentry> 指令時,可以加上 <option>-l</option> 參數, 來檢視詳細的目錄清單。 清單中欄位的資訊包含檔案對所有者、群組及其他人的權限。 在任一個目錄底下執行 <command>ls -l</command>,會顯示如下的結果:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>ls -l</userinput> total 530 @@ -4559,7 +4562,7 @@ total 530 <secondary>symbolic</secondary> </indexterm> - <para>權限符號可稱做符號表示,使用字元的方式來取代使用數值來設定檔案或目錄的權限。 符號表示的格式依序為 (某人)(動作)(權限),可使用的符號如下:</para> + <para>權限符號可稱做符號表示,使用字元的方式來取代使用數值來設定檔案或目錄的權限。 符號表示的格式依序為 (某人)(動作)(權限),可使用的符號如下:</para> <informaltable frame="none" pgwide="1"> <tgroup cols="3"> @@ -4647,7 +4650,7 @@ total 530 </tgroup> </informaltable> - <para>如先前同樣使用 <citerefentry><refentrytitle>chmod</refentrytitle><manvolnum>1</manvolnum></citerefentry> 指令來設定,但使用的參數為這些字元。 例如,您可以使用下列指令禁止其他使用者存取檔案 <replaceable>FILE</replaceable>:</para> + <para>如先前同樣使用 <citerefentry><refentrytitle>chmod</refentrytitle><manvolnum>1</manvolnum></citerefentry> 指令來設定,但使用的參數為這些字元。 例如,您可以使用下列指令禁止其他使用者存取檔案 <replaceable>FILE</replaceable>:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>chmod go= FILE</userinput></screen> @@ -4738,7 +4741,7 @@ total 530 <screen xml:lang="en">Changing local password for trhodes Old Password:</screen> - <para>於終端機 B:</para> + <para>於終端機 B:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>ps aux | grep passwd</userinput></screen> @@ -4988,7 +4991,7 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen> <para>檔案或目錄的對應是藉由給定的檔案或目錄名稱,然後加上正斜線符號 (<literal>/</literal>);之後再視需要加上其他的目錄名稱。 如果您有一個目錄 <filename>foo</filename> ,裡面有一個目錄叫作 <filename>bar</filename>,這個目錄中又包含了一個叫 <filename>readme.txt</filename> 的檔案,那麼這個檔案的全名,或者說檔案的<firstterm>路徑 (Path)</firstterm>就是 <filename>foo/bar/readme.txt</filename>。注意這與 <trademark class="registered">Windows</trademark> 用來分隔檔案與目錄名稱所使用的 <literal>\</literal> 不同,且 FreeBSD 在路徑上並不使用磁碟機代號或其他磁碟機名稱,意思是,在 FreeBSD 上不會有人輸入 <filename>c:\foo\bar\readme.txt</filename> 這種路徑。</para> - <para>目錄及檔案儲存在檔案系統 (File system) 之中。 每個檔案系統都有唯一一個最上層的目錄,叫做<firstterm>根目錄 (Root directory)</firstterm>。 然後在這個根目錄下面才能有其他的目錄。其中一個檔案系統會被指定成為<firstterm>根檔案系統 (Root file system)</firstterm> 或 <literal>/</literal>,其他的檔案系統均會<firstterm>掛載 (mounted)</firstterm> 在該根檔案系統之下,不論在 FreeBSD 有多少個磁碟,所有目錄都會成為該磁碟的一部份。</para> + <para>目錄及檔案儲存在檔案系統 (File system) 之中。 每個檔案系統都有唯一一個最上層的目錄,叫做<firstterm>根目錄 (Root directory)</firstterm>。 然後在這個根目錄下面才能有其他的目錄。其中一個檔案系統會被指定成為<firstterm>根檔案系統 (Root file system)</firstterm> 或 <literal>/</literal>,其他的檔案系統均會<firstterm>掛載 (Mount)</firstterm> 在該根檔案系統之下,不論在 FreeBSD 有多少個磁碟,所有目錄都會成為該磁碟的一部份。</para> <para>假設您有三個檔案系統,分別叫作 <literal>A</literal>, <literal>B</literal> 及 <literal>C</literal>。 每個檔案系統都包含兩個目錄,叫做 <literal>A1</literal>, <literal>A2</literal> (以此類推得 <literal>B1</literal>, <literal>B2</literal> 及 <literal>C1</literal>, <literal>C2</literal>)。</para> @@ -5008,7 +5011,7 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen> </textobject> </mediaobject> - <para>一個檔案系統必須以目錄形式掛載於另一個檔案系統上。 因此,假設您將 <literal>B</literal> 掛載於 <literal>A1</literal> 之上,則 <literal>B</literal> 的根目錄就變成了 <literal>A1</literal>,而在 <literal>B</literal> 之下的任何目錄的路徑也隨之改變:</para> + <para>一個檔案系統必須以目錄形式掛載於另一個檔案系統上。 因此,假設您將 <literal>B</literal> 掛載於 <literal>A1</literal> 之上,則 <literal>B</literal> 的根目錄就變成了 <literal>A1</literal>,而在 <literal>B</literal> 之下的任何目錄的路徑也隨之改變:</para> <mediaobject> <imageobject> @@ -5028,7 +5031,7 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen> </textobject> </mediaobject> - <para>在 <literal>B1</literal> 或 <literal>B2</literal> 目錄中的任何檔案必須經由路徑 <filename>/A1/B1</filename> 或 <filename>/A1/B2</filename> 才能達到。 所有原來在 <filename>/A1</filename> 中的檔案會暫時被隱藏起來,直到 <literal>B</literal> 被<firstterm>解除掛載 (Unmounted)</firstterm> 後才會再顯現出來。</para> + <para>在 <literal>B1</literal> 或 <literal>B2</literal> 目錄中的任何檔案必須經由路徑 <filename>/A1/B1</filename> 或 <filename>/A1/B2</filename> 才能達到。 所有原來在 <filename>/A1</filename> 中的檔案會暫時被隱藏起來,直到 <literal>B</literal> 被<firstterm>卸載 (Unmount)</firstterm> 後才會再顯現出來。</para> <para>如果 <literal>B</literal> 掛載在 <literal>A2</literal> 之上,則會變成:</para> @@ -5305,7 +5308,7 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen> </sect1> <sect1 xml:id="mount-unmount"> - <title>掛載與缷載檔案系統</title> + <title>掛載與卸載檔案系統</title> <para>檔案系統就像一顆樹。<filename>/</filename> 就像是樹根,而 <filename>/dev</filename>,<filename>/usr</filename> 以及其他在根目錄下的目錄就像是樹枝,而這些樹枝上面又還有分支,像是 <filename>/usr/local</filename> 等。</para> @@ -5389,7 +5392,7 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen> <secondary>mounting</secondary> </indexterm> - <para><citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry> 指令是拿來掛載檔案系統用的。基本的操作指令格式如下:</para> + <para><citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry> 指令是拿來掛載檔案系統用的。基本的操作指令格式如下:</para> <informalexample> <screen xml:lang="en"><prompt>#</prompt> <userinput>mount <replaceable>device</replaceable> <replaceable>mountpoint</replaceable></userinput></screen> @@ -5505,7 +5508,7 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen> <para>有些程式並不是設計成一直在接收使用者的輸入的, 而是在開始執行的時候就從中斷與終端機的連線。 例如說, 網頁伺服器整天都在回應網頁方面的要求,它通常不需要您輸入任何東西。 另外,像是把信從一個站傳送到另一個站的程式,也是這種類型的應用程式。我們把這種程式稱作 <firstterm>Daemon</firstterm>。 Daemon 一詞是來自是希臘神話中的角色:祂們既不屬於善良陣營或邪惡陣營,祂們在背地裡做一些有用的事情。這也就是為何 BSD 的吉祥物,是一隻穿著帆布鞋拿著三叉耙的快樂小惡魔的原因。</para> - <para>通常來說做為 Deamon 執行的程式名字後面都會加一個字母 <quote>d</quote>。 <application>BIND</application> 是 Berkeley Internet Name Domain 的縮寫,但實際上執行的程式名稱是 <command>named</command>、<application>Apache</application> 網頁伺服器的程式名稱是 <command>httpd</command>、行列式印表機緩衝服務(Line Printer Spooling) Daemon 是 <command>lpd</command>,依此類推。 但這是習慣用法,並沒有硬性規定,例如 <application>Sendmail</application> 主要的寄信 Daemon 是叫做 <command>sendmail</command> 而不是 <literal>maild</literal>。</para> + <para>通常來說做為 Deamon 執行的程式名字後面都會加一個字母 <quote>d</quote>。 <application>BIND</application> 是 Berkeley Internet Name Domain 的縮寫,但實際上執行的程式名稱是 <command>named</command>、<application>Apache</application> 網頁伺服器的程式名稱是 <command>httpd</command>、行列式印表機緩衝服務 (Line Printer Spooling) Daemon 是 <command>lpd</command>,依此類推。 但這是習慣用法,並沒有硬性規定,例如 <application>Sendmail</application> 主要的寄信 Daemon 是叫做 <command>sendmail</command> 而不是 <literal>maild</literal>。</para> <sect2> <title>檢視程序</title> @@ -5558,7 +5561,7 @@ Swap: 2048M Total, 2048M Free <para>要與執行中的程序或 Daemon 溝通唯一的方法是透過 <citerefentry><refentrytitle>kill</refentrytitle><manvolnum>1</manvolnum></citerefentry> 指令傳送<firstterm>信號 (Signal)</firstterm>。 信號有很多種,有些有特定的意義,有些則是會由應用程式來解讀,應用程式的說明文件會告訴您該程式是如何解讀信號。 使用者只能送信號給自己所擁有的程序,送信號給其他人的程序會出現權限不足的錯誤。 唯一的例外是 <systemitem class="username">root</systemitem>使用者,他可以送信號給任何人的程序。</para> - <para>作業系統在某些情況也會送信號給應用程式。 假設有個應用程式寫得不好,企圖要存取它不該碰的記憶體的時候,FreeBSD 會送一個 <quote>Segmentation Violation</quote> 信號 (<literal>SIGSEGV</literal>) 給這個程序。 如果有一個應用程式用了 <citerefentry><refentrytitle>alarm</refentrytitle><manvolnum>3</manvolnum></citerefentry> 的系統呼叫 (System call) 要求系統在過一段時間之後發出通知,時間到了的時候系統就會發出通知信號 (SIGALRM) 給該程式。</para> + <para>作業系統在某些情況也會送信號給應用程式。 假設有個應用程式寫得不好,企圖要存取它不該碰的記憶體的時候,FreeBSD 會送一個 <quote>Segmentation Violation</quote> 信號 (<literal>SIGSEGV</literal>) 給這個程序。 如果有一個應用程式用了 <citerefentry><refentrytitle>alarm</refentrytitle><manvolnum>3</manvolnum></citerefentry> 的系統呼叫 (System call) 要求系統在過一段時間之後發出通知,時間到了的時候系統就會發出<quote>通知</quote>信號 (<literal>SIGALRM</literal>) 給該程式。</para> <para><literal>SIGTERM</literal> 與 <literal>SIGKILL</literal> 這兩個信號可以拿來終止程序。 用 <literal>SIGTERM</literal> 結束程序是比較有禮貌的方式,該程序收到信號後可以把自已所使用的日誌檔關閉及其他要在結束前要做的事完成, 然後在關掉程序之前結束掉手邊的工作。 在某些情況下程序有可能會忽略 <literal>SIGTERM</literal>,如它正在做一些不能中斷的工作的話。</para> @@ -5593,7 +5596,7 @@ Swap: 2048M Total, 2048M Free <note> <title>為何要使用 <command>/bin/kill</command>? </title> - <para>多數 shell 都有提供內建的 <command>kill</command> 指令。 也就是說這種 shell 會直接發送信號,而不是執行 <filename>/bin/kill</filename>。 但要小心不同的 shell 會有不同的語法來指定信號的名稱等。 與其嘗試去把它們通通學會,不如就單純的直接用 <command>/bin/kill</command>。</para> + <para>多數 Shell 都有提供內建的 <command>kill</command> 指令。 也就是說這種 shell 會直接發送信號,而不是執行 <filename>/bin/kill</filename>。 但要小心不同的 shell 會有不同的語法來指定信號的名稱等。 與其嘗試去把它們通通學會,不如就單純的直接用 <command>/bin/kill</command>。</para> </note> </step> </procedure> @@ -5628,7 +5631,7 @@ Swap: 2048M Total, 2048M Free <primary>environment variables</primary> </indexterm> - <para>Shell 的另一項特點是使用了環境變數。 環境變數是以變數與鍵值 (variable/key) 的對應關係儲存於 Shell 的環境,任何由該 Shell 所產生的程序都可以讀取此環境變數, 因此環境變數儲存了許多程序的設定。 <xref linkend="shell-env-vars"/> 提供了常見的環境變數與其涵義的清單。 請注意環境變數的名稱永遠以大寫表示。</para> + <para>Shell 的另一項特點是使用了環境變數。 環境變數是以變數與鍵值 (Variable/Key) 的對應關係儲存於 Shell 的環境,任何由該 Shell 所產生的程序都可以讀取此環境變數, 因此環境變數儲存了許多程序的設定。 <xref linkend="shell-env-vars"/> 提供了常見的環境變數與其涵義的清單。 請注意環境變數的名稱永遠以大寫表示。</para> <table xml:id="shell-env-vars" frame="none" pgwide="1"> <title>常用環境變數</title> @@ -5716,7 +5719,7 @@ Swap: 2048M Total, 2048M Free <para>要展開以顯示目前環境變數中的值,只要在指令列輸入環境變數之前加上 <literal>$</literal> 字元。 舉例來說,<command>echo $TERM</command> 會顯示出目前 <envar>$TERM</envar> 的設定值。</para> - <para>Shell 中有特殊字元用來表示特殊資料,我們將其稱作 Meta-characters。 其中最常見的 Meta-characters 是 <literal>*</literal> 字元,它代表了檔名中的任意字元。 Meta-characters 可以用在搜尋檔名,舉例來說,輸入 <command>echo *</command> 會和輸入 <command>ls</command> 得到幾乎相同的結果,這是因為 shell 會將所有符合 <literal>*</literal> 字元的檔案由 <command>echo</command> 顯示出來。</para> + <para>Shell 中有特殊字元用來表示特殊資料,我們將其稱作 Meta-character。 其中最常見的 Meta-character 是 <literal>*</literal> 字元,它代表了檔名中的任意字元。 Meta-character 可以用在搜尋檔名,舉例來說,輸入 <command>echo *</command> 會和輸入 <command>ls</command> 得到幾乎相同的結果,這是因為 shell 會將所有符合 <literal>*</literal> 字元的檔案由 <command>echo</command> 顯示出來。</para> <para>為了避免 Shell 轉譯這些特殊字元,我們可以在這些特殊字元前放一個反斜線 (<literal>\</literal>) 字元使他們跳脫 (Escape) Shell 的轉譯。舉例來說,<command>echo $TERM</command> 會印出你目前終端機的設定, <command>echo \$TERM</command> 則會直接印出 <literal>$TERM</literal> 這幾個字。</para> @@ -5755,15 +5758,15 @@ Swap: 2048M Total, 2048M Free <para><trademark class="registered">UNIX</trademark> Shell 不只是指令的直譯器,它是一個強大的工具可讓使用者執行指令、重新導向指令的輸出、重新導向指令的輸入並將指令串連在一起來改進最終指令的輸出結果。當這個功能與內建的指令混合使用時,可提供一個可以最佳化效率的環境給使用者。</para> - <para>Shell 重新導向是將一個指令的輸出或輸入傳送給另一個指令或檔案。例如,要擷取 <citerefentry><refentrytitle>ls</refentrytitle><manvolnum>1</manvolnum></citerefentry> 指令的輸出到一個檔案,可以重新導向輸出:</para> + <para>Shell 重新導向是將一個指令的輸出或輸入傳送給另一個指令或檔案。例如,要擷取 <citerefentry><refentrytitle>ls</refentrytitle><manvolnum>1</manvolnum></citerefentry> 指令的輸出到一個檔案,可以重新導向輸出:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>ls > directory_listing.txt</userinput></screen> - <para>目錄的內容現在會列到 <filename>directory_listing.txt</filename> 中,部份指令可以讀取輸入,例如 <citerefentry><refentrytitle>sort</refentrytitle><manvolnum>1</manvolnum></citerefentry>。要排序這個清單,可重新導向輸入:</para> + <para>目錄的內容現在會列到 <filename>directory_listing.txt</filename> 中,部份指令可以讀取輸入,例如 <citerefentry><refentrytitle>sort</refentrytitle><manvolnum>1</manvolnum></citerefentry>。要排序這個清單,可重新導向輸入:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>sort < directory_listing.txt</userinput></screen> - <para>輸入的內容會被排序後呈現在畫面上,要重新導向該輸入到另一個檔案,可以重新導向 <citerefentry><refentrytitle>sort</refentrytitle><manvolnum>1</manvolnum></citerefentry> 的出輸:</para> + <para>輸入的內容會被排序後呈現在畫面上,要重新導向該輸入到另一個檔案,可以重新導向 <citerefentry><refentrytitle>sort</refentrytitle><manvolnum>1</manvolnum></citerefentry> 的出輸:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>sort < directory_listing.txt > sorted.txt</userinput></screen> @@ -5771,7 +5774,7 @@ Swap: 2048M Total, 2048M Free <para>透過使用這些檔案描述符,Shell 能夠讓輸出與輸入在各種指令間傳遞與重新導向到或自檔案。另一種重新導向的方式是使用管線運算子 (Pipe operator)。</para> - <para><trademark class="registered">UNIX</trademark> 的管線運算子,即 <quote>|</quote>,可允許指令的輸出可直接傳遞或導向到另一個程式。基本上,管線運算子允許指令的標準輸出以標準輸入傳遞給另一個指令,例如:</para> + <para><trademark class="registered">UNIX</trademark> 的管線運算子,即 <quote>|</quote>,可允許指令的輸出可直接傳遞或導向到另一個程式。基本上,管線運算子允許指令的標準輸出以標準輸入傳遞給另一個指令,例如:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>cat directory_listing.txt | sort | less</userinput></screen> @@ -5929,7 +5932,7 @@ Swap: 2048M Total, 2048M Free --> <chapter version="5.0" xml:id="ports"> - <title>安裝應用程式: 套件與 Port</title> + <title>安裝應用程式:套件與 Port</title> <sect1 xml:id="ports-synopsis"> <title>概述</title> @@ -6446,23 +6449,23 @@ Deinstalling ca_root_nss-3.15.1_1... done</screen> <itemizedlist> <listitem> - <para><filename>Makefile</filename>: 內含用來說明應用程式要如何編譯、要安裝該程式到那的敘述句。</para> + <para><filename>Makefile</filename>:內含用來說明應用程式要如何編譯、要安裝該程式到那的敘述句。</para> </listitem> <listitem> - <para><filename>distinfo</filename>: 內含編譯 Port 必須下載的檔案名稱以及校驗碼 (Checksums)。</para> + <para><filename>distinfo</filename>:內含編譯 Port 必須下載的檔案名稱以及校驗碼 (Checksum)。</para> </listitem> <listitem> - <para><filename>files/</filename>: 此目錄含有編譯與安裝程式到 FreeBSD 時所需的修補檔。此目錄也可能含有其他用來編譯 Port 的檔案。</para> + <para><filename>files/</filename>:此目錄含有編譯與安裝程式到 FreeBSD 時所需的修補檔。此目錄也可能含有其他用來編譯 Port 的檔案。</para> </listitem> <listitem> - <para><filename>pkg-descr</filename>: 提供程式更詳細的說明。</para> + <para><filename>pkg-descr</filename>:提供程式更詳細的說明。</para> </listitem> <listitem> - <para><filename>pkg-plist</filename>: Port 安裝的所有檔案清單,也同時會告訴 Port 系統解除安裝時要移除那一些檔案。</para> + <para><filename>pkg-plist</filename>:Port 安裝的所有檔案清單,也同時會告訴 Port 系統解除安裝時要移除那一些檔案。</para> </listitem> </itemizedlist> @@ -6822,20 +6825,20 @@ Building new INDEX files... done.</screen> <para>在一台電腦,<application>poudriere</application> 可使用多組設定在多個 Jail 編譯來自不同 Port 樹的 Port。用來定義這些組合的自訂設定稱作 <emphasis>sets</emphasis>,可在安裝 <package>ports-mgmt/poudriere</package> 或 <package>ports-mgmt/poudriere-devel</package> 後參考 <citerefentry vendor="ports"><refentrytitle>poudriere</refentrytitle><manvolnum>8</manvolnum></citerefentry> 中的 CUSTOMIZATION 章節來取得詳細的資訊。</para> - <para>在此處示範的基本設定放了單一個 jail-, port- 以及 set- 特定的 <filename>make.conf</filename> 在 <filename>/usr/local/etc/poudriere.d</filename>。在此範例使用的檔案名稱由 Jail 名稱、Port 名稱以及 set 名稱所組成: <filename><replaceable>10amd64-local-workstation</replaceable>-make.conf</filename>。系統 <filename>make.conf</filename> 與這個新的檔案在編譯時期會被合併為編譯 Jail 要使用的 <filename>make.conf</filename>。</para> + <para>在此處示範的基本設定放了單一個 jail-, port- 以及 set- 特定的 <filename>make.conf</filename> 在 <filename>/usr/local/etc/poudriere.d</filename>。在此範例使用的檔案名稱由 Jail 名稱、Port 名稱以及 set 名稱所組成:<filename><replaceable>10amd64-local-workstation</replaceable>-make.conf</filename>。系統 <filename>make.conf</filename> 與這個新的檔案在編譯時期會被合併為編譯 Jail 要使用的 <filename>make.conf</filename>。</para> - <para>要編譯的套件會輸入到 <filename><replaceable>10amd64-local-workstation</replaceable>-pkglist</filename>:</para> + <para>要編譯的套件會輸入到 <filename><replaceable>10amd64-local-workstation</replaceable>-pkglist</filename>:</para> <programlisting xml:lang="en">editors/emacs devel/git ports-mgmt/pkg ...</programlisting> - <para>可使用以下方式設定選項及相依:</para> + <para>可使用以下方式設定選項及相依:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>poudriere options -j <replaceable>10amd64</replaceable> -p <replaceable>local</replaceable> -z <replaceable>workstation</replaceable> -f <replaceable>10amd64-local-workstation-pkglist</replaceable></userinput></screen> - <para>最後,編譯套件並建立套件檔案庫:</para> + <para>最後,編譯套件並建立套件檔案庫:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>poudriere bulk -j <replaceable>10amd64</replaceable> -p <replaceable>local</replaceable> -z <replaceable>workstation</replaceable> -f <replaceable>10amd64-local-workstation-pkglist</replaceable></userinput></screen> @@ -6848,15 +6851,15 @@ ports-mgmt/pkg <sect2> <title>設定 pkg 客戶端使用 Poudriere 檔案庫</title> - <para>雖然可以同時使用自訂的檔案庫與官方檔案庫,但有時關閉官方檔案庫會有幫助。這可以透過建立一個設定檔覆蓋並關閉官方的設定檔來完成。建立 <filename>/usr/local/etc/pkg/repos/FreeBSD.conf</filename> 包含以下內容:</para> + <para>雖然可以同時使用自訂的檔案庫與官方檔案庫,但有時關閉官方檔案庫會有幫助。這可以透過建立一個設定檔覆蓋並關閉官方的設定檔來完成。建立 <filename>/usr/local/etc/pkg/repos/FreeBSD.conf</filename> 包含以下內容:</para> <screen xml:lang="en">FreeBSD: { enabled: no }</screen> - <para>通常最簡單要提供 poudriere 給客戶端的方式是透過 HTTP。安裝一個網頁伺服器來提供套件目錄,通常會像: <filename>/usr/local/poudriere/data/packages/<replaceable>10amd64</replaceable></filename>,其中 <filename>10amd64</filename> 是編譯的名稱。</para> + <para>通常最簡單要提供 poudriere 給客戶端的方式是透過 HTTP。安裝一個網頁伺服器來提供套件目錄,通常會像:<filename>/usr/local/poudriere/data/packages/<replaceable>10amd64</replaceable></filename>,其中 <filename>10amd64</filename> 是編譯的名稱。</para> - <para>若要連往套件檔案庫的 URL 是: <literal>http://pkg.example.com/10amd64</literal>,則在 <filename>/usr/local/etc/pkg/repos/custom.conf</filename> 的檔案庫設定檔為:</para> + <para>若要連往套件檔案庫的 URL 是:<literal>http://pkg.example.com/10amd64</literal>,則在 <filename>/usr/local/etc/pkg/repos/custom.conf</filename> 的檔案庫設定檔為:</para> <screen xml:lang="en">custom: { url: "<replaceable>http://pkg.example.com/10amd64</replaceable>", @@ -6916,7 +6919,7 @@ ports-mgmt/pkg </listitem> <listitem> - <para>自行修正看看! <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/porters-handbook/index.html">Porter's Handbook</link> 中含有 Port 基礎架構的詳細資訊,可提供資訊讓您可修正偶然損壞的 Port 或甚至您可以提交之自己的 Port。</para> + <para>自行修正看看!<link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/porters-handbook/index.html">Porter's Handbook</link> 中含有 Port 基礎架構的詳細資訊,可提供資訊讓您可修正偶然損壞的 Port 或甚至您可以提交之自己的 Port。</para> </listitem> <listitem> @@ -7005,7 +7008,7 @@ ports-mgmt/pkg <term>X 伺服器 (X Server)</term> <listitem> - <para>X 最初設計是以網路為中心,採用 <quote>client-server</quote> 架構。在此架構下 <quote>X 伺服器</quote> 在有鍵盤、螢幕、滑鼠的電腦上運作。該伺服器負責的工作包含管理顯示、處理來自鍵盤、滑鼠的輸入及來自其他設備(如平板或或影像投影機)的輸入或輸出。這點可能會讓人感到困惑,因為 X 使用的術語與一般的認知剛好相反。 一般認知會以為 <quote>X 伺服器</quote> 是要在最強悍的主機上執行,而 <quote>X 客戶端</quote> 才是在桌機上面執行,實際上卻是相反。</para> + <para>X 最初設計是以網路為中心,採用 <quote>client-server</quote> 架構。在此架構下 <quote>X 伺服器</quote> 在有鍵盤、螢幕、滑鼠的電腦上運作。該伺服器負責的工作包含管理顯示、處理來自鍵盤、滑鼠的輸入及來自其他設備 (如平板或或影像投影機) 的輸入或輸出。這點可能會讓人感到困惑,因為 X 使用的術語與一般的認知剛好相反。 一般認知會以為 <quote>X 伺服器</quote> 是要在最強悍的主機上執行,而 <quote>X 客戶端</quote> 才是在桌機上面執行,實際上卻是相反。</para> </listitem> </varlistentry> @@ -7053,7 +7056,7 @@ ports-mgmt/pkg <term>視窗元件 (Widget)</term> <listitem> - <para>視窗元件指的是在所有在使用者介面上可被點選或操作的項目,這包括按鈕、核選方塊、單選按鈕、圖示及清單。 視窗元件工具包(Widget toolkit)是指用來建立圖型化應用程式的一系列的視窗元件。目前有數個有名的視窗元件工具包,包含 <application>KDE</application> 所使用的 Qt、<application>GNOME</application> 所使用的 GTK+。 因此應用程式會依其開發時所選用的視窗元件工具包而有不同的外觀。</para> + <para>視窗元件指的是在所有在使用者介面上可被點選或操作的項目,這包括按鈕、核選方塊、單選按鈕、圖示及清單。 視窗元件工具包 (Widget toolkit) 是指用來建立圖型化應用程式的一系列的視窗元件。目前有數個有名的視窗元件工具包,包含 <application>KDE</application> 所使用的 Qt、<application>GNOME</application> 所使用的 GTK+。 因此應用程式會依其開發時所選用的視窗元件工具包而有不同的外觀。</para> </listitem> </varlistentry> </variablelist> @@ -7064,12 +7067,12 @@ ports-mgmt/pkg <para>在 FreeBSD,<application>Xorg</application> 可透過套件或 Port 來安裝。</para> - <para>要從 Port 套件集編譯與安裝:</para> + <para>要從 Port 套件集編譯與安裝:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>cd /usr/ports/x11/xorg</userinput> <prompt>#</prompt> <userinput>make install clean</userinput></screen> - <para>使用 Binary 套件安裝快速,但可用的自訂選項較少:</para> + <para>使用 Binary 套件安裝快速,但可用的自訂選項較少:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>pkg install xorg</userinput></screen> @@ -7101,20 +7104,20 @@ ports-mgmt/pkg <procedure> <step> - <para>若 <application>Xorg</application> 曾經在電腦使用過,可先將現有的設定檔重新命名或移除:</para> + <para>若 <application>Xorg</application> 曾經在電腦使用過,可先將現有的設定檔重新命名或移除:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>mv /etc/X11/xorg.conf ~/xorg.conf.etc</userinput> <prompt>#</prompt> <userinput>mv /usr/local/etc/X11/xorg.conf ~/xorg.conf.localetc</userinput></screen> </step> <step> - <para>加入要執行 <application>Xorg</application> 的使用者到 <literal>video</literal> 或 <literal>wheel</literal> 群組,以便在可用時能開啟 3D 加速。要加入使用者 <replaceable>jru</replaceable> 到任一個可用的群組:</para> + <para>加入要執行 <application>Xorg</application> 的使用者到 <literal>video</literal> 或 <literal>wheel</literal> 群組,以便在可用時能開啟 3D 加速。要加入使用者 <replaceable>jru</replaceable> 到任一個可用的群組:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>pw groupmod video -m <replaceable>jru</replaceable> || pw groupmod wheel -m <replaceable>jru</replaceable></userinput></screen> </step> <step> - <para>預設內含 <acronym>TWM</acronym> 視窗管理程式,啟動 <application>Xorg</application> 時便會啟動該視窗管理程式:</para> + <para>預設內含 <acronym>TWM</acronym> 視窗管理程式,啟動 <application>Xorg</application> 時便會啟動該視窗管理程式:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>startx</userinput></screen> </step> @@ -7128,7 +7131,7 @@ ports-mgmt/pkg <sect2 xml:id="x-config-user-group"> <title>可加速影像處理的使用者群組</title> - <para>要存取 <filename>/dev/dri</filename> 需要允許顯示卡的 3D 加速功能,這通常只需要將要執行 X 的使用者加入 <literal>video</literal> 或 <literal>wheel</literal> 群組。此處使用 <citerefentry><refentrytitle>pw</refentrytitle><manvolnum>8</manvolnum></citerefentry> 來將使用者 <replaceable>slurms</replaceable> 加入 <literal>video</literal> 群組,若沒有 <literal>video</literal> 則會加入 <literal>wheel</literal> 群組:</para> + <para>要存取 <filename>/dev/dri</filename> 需要允許顯示卡的 3D 加速功能,這通常只需要將要執行 X 的使用者加入 <literal>video</literal> 或 <literal>wheel</literal> 群組。此處使用 <citerefentry><refentrytitle>pw</refentrytitle><manvolnum>8</manvolnum></citerefentry> 來將使用者 <replaceable>slurms</replaceable> 加入 <literal>video</literal> 群組,若沒有 <literal>video</literal> 則會加入 <literal>wheel</literal> 群組:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>pw groupmod video -m <replaceable>slurms</replaceable> || pw groupmod wheel -m <replaceable>slurms</replaceable></userinput></screen> </sect2> @@ -7138,7 +7141,7 @@ ports-mgmt/pkg <para>當電腦顯示從 Console 切換到高螢幕解析度供 X 使用時,必須設定影像輸出<emphasis>模式</emphasis>。最近版本的 <acronym>Xorg</acronym> 使用了核心內部的系統來讓切換模式更有效率。較舊版的 FreeBSD 使用的 <citerefentry><refentrytitle>sc</refentrytitle><manvolnum>4</manvolnum></citerefentry> 並不知到 <acronym>KMS</acronym> 系統的存在,這會導致關閉 X 之後即始仍在運作但系統 Console 卻呈現空白。較新版的 <citerefentry><refentrytitle>vt</refentrytitle><manvolnum>4</manvolnum></citerefentry> Console 可避免這個問題。</para> - <para>加入此行到 <filename>/boot/loader.conf</filename> 來開啟 <citerefentry><refentrytitle>vt</refentrytitle><manvolnum>4</manvolnum></citerefentry>:</para> + <para>加入此行到 <filename>/boot/loader.conf</filename> 來開啟 <citerefentry><refentrytitle>vt</refentrytitle><manvolnum>4</manvolnum></citerefentry>:</para> <programlisting xml:lang="en">kern.vty=vt</programlisting> </sect2> @@ -7175,7 +7178,7 @@ ports-mgmt/pkg <listitem> <para>3D 加速在大多數 <trademark class="registered">Intel</trademark> 顯示晶片都有支援,最新到 Ivy Bridge (HD Graphics 2500, 4000, 及 P4000) 包含 Iron Lake (HD Graphics) 與 Sandy Bridge (HD Graphics 2000)。</para> - <para>驅動程式名稱: <literal>intel</literal></para> + <para>驅動程式名稱:<literal>intel</literal></para> <para>參考文獻請至 <link xlink:href="https://en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units"/>。</para> </listitem> @@ -7187,7 +7190,7 @@ ports-mgmt/pkg <listitem> <para>Radeon 顯示卡支援 2D 及 3D 加速,最新到 HD6000 系列。</para> - <para>驅動程式名稱: <literal>radeon</literal></para> + <para>驅動程式名稱:<literal>radeon</literal></para> <para>參考文獻請至 <link xlink:href="https://en.wikipedia.org/wiki/List_of_AMD_graphics_processing_units"/>。</para> </listitem> @@ -7233,7 +7236,7 @@ ports-mgmt/pkg <term>在檔案中設定影像驅動程式</term> <listitem> - <para>要在設定檔設定使用 <trademark class="registered">Intel</trademark> 驅動程式:</para> + <para>要在設定檔設定使用 <trademark class="registered">Intel</trademark> 驅動程式:</para> <example xml:id="x-config-video-cards-file-intel"> <title>在單檔中選擇 <trademark class="registered">Intel</trademark> 影像驅動程式</title> @@ -7249,7 +7252,7 @@ EndSection</programlisting> <para>若有多張顯示卡,可取消註解 <literal>BusID</literal> identifier 然後設定為想要的顯示卡,顯示卡的 Bus <acronym>ID</acronym> 清單可以使用 <command>pciconf -lv | grep -B3 display</command> 取得。</para> </example> - <para>要在設定檔設定使用 Radeon 驅動程式:</para> + <para>要在設定檔設定使用 Radeon 驅動程式:</para> <example xml:id="x-config-video-cards-file-radeon"> <title>在單檔中選擇 Radeon 影像驅動程式</title> @@ -7262,7 +7265,7 @@ EndSection</programlisting> EndSection</programlisting> </example> - <para>要在設定檔設定使用 <acronym>VESA</acronym> 驅動程式:</para> + <para>要在設定檔設定使用 <acronym>VESA</acronym> 驅動程式:</para> <example xml:id="x-config-video-cards-file-vesa"> <title>在單檔中選擇 <acronym>VESA</acronym> 影像驅動程式</title> @@ -7275,7 +7278,7 @@ EndSection</programlisting> EndSection</programlisting> </example> - <para>要設定 <acronym>UEFI</acronym> 或 <trademark class="registered">ARM</trademark> 電腦使用 <literal>scfb</literal> 驅動程式:</para> + <para>要設定 <acronym>UEFI</acronym> 或 <trademark class="registered">ARM</trademark> 電腦使用 <literal>scfb</literal> 驅動程式:</para> <example xml:id="x-config-video-cards-file-scfb"> <title>在單檔中選擇 <literal>scfb</literal> 影像驅動程式</title> @@ -7304,7 +7307,7 @@ EndSection</programlisting> <term>使用 <citerefentry vendor="xfree86"><refentrytitle>xrandr</refentrytitle><manvolnum>1</manvolnum></citerefentry></term> <listitem> - <para>執行 <citerefentry vendor="xfree86"><refentrytitle>xrandr</refentrytitle><manvolnum>1</manvolnum></citerefentry> 不加任何參數可檢查影像輸出及已偵測到的顯示器模式清單:</para> + <para>執行 <citerefentry vendor="xfree86"><refentrytitle>xrandr</refentrytitle><manvolnum>1</manvolnum></citerefentry> 不加任何參數可檢查影像輸出及已偵測到的顯示器模式清單:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>xrandr</userinput> Screen 0: minimum 320 x 200, current 3000 x 1920, maximum 8192 x 8192 @@ -7324,13 +7327,13 @@ HDMI-0 disconnected (normal left inverted right x axis y axis)</screen> <para>這個結果顯示 <literal>DVI-0</literal> 輸出被用來顯示解析度為 1920x1200 像素於更新頻率約 60 Hz 的畫面,未有顯示器連接到 <literal>DisplayPort-0</literal> 與 <literal>HDMI-0</literal> 接頭。</para> - <para>可使用 <citerefentry vendor="xfree86"><refentrytitle>xrandr</refentrytitle><manvolnum>1</manvolnum></citerefentry> 來選擇任何其他的顯示模式。例如要切換為 1280x1024 於 60 Hz:</para> + <para>可使用 <citerefentry vendor="xfree86"><refentrytitle>xrandr</refentrytitle><manvolnum>1</manvolnum></citerefentry> 來選擇任何其他的顯示模式。例如要切換為 1280x1024 於 60 Hz:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>xrandr --mode 1280x1024 --rate 60</userinput></screen> <para>在筆記型電腦使用外部顯示輸出到投影機是常見的作業。</para> - <para>不同裝置間輸出接頭的類型與數量也不同,給每個輸出的名稱在不同驅動程式間也不同。在某些驅動程式稱為 <literal>HDMI-1</literal> 的輸出在其他驅動程式則可能稱為 <literal>HDMI1</literal>。因此第一個步驟是執行 <citerefentry vendor="xfree86"><refentrytitle>xrandr</refentrytitle><manvolnum>1</manvolnum></citerefentry> 列出所有可用的輸出:</para> + <para>不同裝置間輸出接頭的類型與數量也不同,給每個輸出的名稱在不同驅動程式間也不同。在某些驅動程式稱為 <literal>HDMI-1</literal> 的輸出在其他驅動程式則可能稱為 <literal>HDMI1</literal>。因此第一個步驟是執行 <citerefentry vendor="xfree86"><refentrytitle>xrandr</refentrytitle><manvolnum>1</manvolnum></citerefentry> 列出所有可用的輸出:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>xrandr</userinput> Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192 @@ -7351,9 +7354,9 @@ VGA1 connected (normal left inverted right x axis y axis) HDMI1 disconnected (normal left inverted right x axis y axis) DP1 disconnected (normal left inverted right x axis y axis)</screen> - <para>已找到四個輸出: 內建面板的 <literal>LVDS1</literal>,外接的 <literal>VGA1</literal>, <literal>HDMI1</literal> 以及 <literal>DP1</literal> 接頭。</para> + <para>已找到四個輸出:內建面板的 <literal>LVDS1</literal>,外接的 <literal>VGA1</literal>, <literal>HDMI1</literal> 以及 <literal>DP1</literal> 接頭。</para> - <para>投影機已連接至 <literal>VGA1</literal> 輸出,現在使用 <citerefentry vendor="xfree86"><refentrytitle>xrandr</refentrytitle><manvolnum>1</manvolnum></citerefentry> 來設定該輸出到投影機 (原始解析度) 並加入額外的空間到桌面的右側:</para> + <para>投影機已連接至 <literal>VGA1</literal> 輸出,現在使用 <citerefentry vendor="xfree86"><refentrytitle>xrandr</refentrytitle><manvolnum>1</manvolnum></citerefentry> 來設定該輸出到投影機 (原始解析度) 並加入額外的空間到桌面的右側:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>xrandr --output VGA1 --auto --right-of LVDS1</userinput></screen> @@ -7367,7 +7370,7 @@ DP1 disconnected (normal left inverted right x axis y axis)</screen> <term>在檔案中設定螢幕解析度</term> <listitem> - <para>在設定檔設定螢幕解析度為 1024x768:</para> + <para>在設定檔設定螢幕解析度為 1024x768:</para> <example> <title>在單檔中設定螢幕解析度</title> @@ -7452,7 +7455,7 @@ EndSection</programlisting> <term>從鍵盤關閉 <application>Xorg</application></term> <listitem> - <para>X 可以使用組合鍵來關閉,預設並未設定組合鍵,因為該組合鍵與部份應用程式的鍵盤指令衝突。要開啟這個選項需要更改鍵盤 <literal>InputDevice</literal> 節:</para> + <para>X 可以使用組合鍵來關閉,預設並未設定組合鍵,因為該組合鍵與部份應用程式的鍵盤指令衝突。要開啟這個選項需要更改鍵盤 <literal>InputDevice</literal> 節:</para> <example> <title>開啟鍵盤離開 X 功能</title> @@ -7481,7 +7484,7 @@ EndSection</programlisting> <term>滑鼠按鍵</term> <listitem> - <para>滑鼠的按鍵數可在 <filename>xorg.conf</filename> 的滑鼠 <literal>InputDevice</literal> 節設定,例如要設定按鍵數為 7:</para> + <para>滑鼠的按鍵數可在 <filename>xorg.conf</filename> 的滑鼠 <literal>InputDevice</literal> 節設定,例如要設定按鍵數為 7:</para> <example> <title>設定滑鼠按鍵數</title> @@ -7506,11 +7509,11 @@ EndSection</programlisting> <para>設定檔可由 <application>Xorg</application> 根據偵測到的硬體產生,這個檔案對一開始自訂設定很有幫助。</para> - <para>產生 <filename>xorg.conf</filename>:</para> + <para>產生 <filename>xorg.conf</filename>:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>Xorg -configure</userinput></screen> - <para>設定檔會儲存至 <filename>/root/xorg.conf.new</filename>,做任何需要的更改,然後使用以下指令測試該檔案:</para> + <para>設定檔會儲存至 <filename>/root/xorg.conf.new</filename>,做任何需要的更改,然後使用以下指令測試該檔案:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>Xorg -config /root/xorg.conf.new</userinput></screen> @@ -7537,16 +7540,16 @@ EndSection</programlisting> <para>由於 <application>Xorg</application> 內建的預設字型用在典型的桌面出版應用程式並不是很理想,大字型會呈現鋸齒狀邊緣,看起來很不專業,小字型幾乎完全看不清楚。不過,這裡有幾個免費高品質的 Type1 (<trademark class="registered">PostScript</trademark>) 字型可用,且能容易的在 <application>Xorg</application> 使用。例如,URW 字型集 (<trademark class="registered">Times Roman</trademark>, <trademark class="registered">Helvetica</trademark>, <trademark class="registered">Palatino</trademark> 及其他)。 Freefont 字型集 (<package>x11-fonts/freefonts</package>) 包含了更多的字型,但其中大部分是給圖形軟體如 GIMP 所使用的字型,並不能完全作為螢幕字型使用。此外,<application>Xorg</application> 可以簡單的設定使用 <trademark class="registered">TrueType</trademark> 字型。更多有關本主題的詳細資訊,請參考 <citerefentry vendor="xfree86"><refentrytitle>X</refentrytitle><manvolnum>7</manvolnum></citerefentry> 操作手冊或 <xref linkend="truetype"/>。</para> - <para>要從 Port 套件集安裝上述的 Type1 字型集可執行以下指令:</para> + <para>要從 Port 套件集安裝上述的 Type1 字型集可執行以下指令:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>cd /usr/ports/x11-fonts/urwfonts</userinput> <prompt>#</prompt> <userinput>make install clean</userinput></screen> - <para>同樣的安裝方式也適用 Freefont 或其他字型集。要讓 X 伺服器偵測到這些新安裝的字型,可加入適當的設定到 X 伺服器設定檔 (<filename>/etc/X11/xorg.conf</filename>),內容為:</para> + <para>同樣的安裝方式也適用 Freefont 或其他字型集。要讓 X 伺服器偵測到這些新安裝的字型,可加入適當的設定到 X 伺服器設定檔 (<filename>/etc/X11/xorg.conf</filename>),內容為:</para> <programlisting xml:lang="en">FontPath "/usr/local/share/fonts/urwfonts/"</programlisting> - <para>或者在 X session 的指令列執行:</para> + <para>或者在 X session 的指令列執行:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>xset fp+ /usr/local/share/fonts/urwfonts</userinput> <prompt>%</prompt> <userinput>xset fp rehash</userinput></screen> @@ -7569,16 +7572,16 @@ EndSection</programlisting> <programlisting xml:lang="en">Load "freetype"</programlisting> - <para>現在要建立一個儲存 <trademark class="registered">TrueType</trademark> 字型的目錄 (例如,<filename>/usr/local/share/fonts/TrueType</filename>) 然後複製所有 <trademark class="registered">TrueType</trademark> 字型到這個目錄。要注意 <trademark class="registered">TrueType</trademark> 字型並無法直接取自 <trademark class="registered">Apple</trademark> <trademark class="registered">Mac</trademark>,<application>Xorg</application> 使用的字型必須為 <trademark class="registered">UNIX</trademark>/<trademark class="registered">MS-DOS</trademark>/<trademark class="registered">Windows</trademark> 的格式。檔案複製到讓目錄之後,使用 <application>mkfontdir</application> 來建立 <filename>fonts.dir</filename> 來讓 X 字型繪製程式知道安裝了新的檔案。<command>mkfontdir</command> 可用套件的方式安裝:</para> + <para>現在要建立一個儲存 <trademark class="registered">TrueType</trademark> 字型的目錄 (例如,<filename>/usr/local/share/fonts/TrueType</filename>) 然後複製所有 <trademark class="registered">TrueType</trademark> 字型到這個目錄。要注意 <trademark class="registered">TrueType</trademark> 字型並無法直接取自 <trademark class="registered">Apple</trademark> <trademark class="registered">Mac</trademark>,<application>Xorg</application> 使用的字型必須為 <trademark class="registered">UNIX</trademark>/<trademark class="registered">MS-DOS</trademark>/<trademark class="registered">Windows</trademark> 的格式。檔案複製到讓目錄之後,使用 <application>mkfontdir</application> 來建立 <filename>fonts.dir</filename> 來讓 X 字型繪製程式知道安裝了新的檔案。<command>mkfontdir</command> 可用套件的方式安裝:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>pkg install mkfontdir</userinput></screen> - <para>然後在目錄中建立 X 字型檔的索引:</para> + <para>然後在目錄中建立 X 字型檔的索引:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>cd /usr/local/share/fonts/TrueType</userinput> <prompt>#</prompt> <userinput>mkfontdir</userinput></screen> - <para>接著加入 <trademark class="registered">TrueType</trademark> 目錄到字型路徑。這個動作與 <xref linkend="type1"/> 中所介紹的方式相同:</para> + <para>接著加入 <trademark class="registered">TrueType</trademark> 目錄到字型路徑。這個動作與 <xref linkend="type1"/> 中所介紹的方式相同:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>xset fp+ /usr/local/share/fonts/TrueType</userinput> <prompt>%</prompt> <userinput>xset fp rehash</userinput></screen> @@ -7612,25 +7615,25 @@ EndSection</programlisting> <para>所有可在 <filename>/usr/local/share/fonts/</filename> 及 <filename>~/.fonts/</filename> 找到的 <application>Xorg</application> 字型均可在 Xft-aware 的應用程式使用反鋸齒的效果。大多最近的應用程式均為 Xft-aware 的,包括 <application>KDE</application>, <application>GNOME</application> 以及 <application>Firefox</application>。</para> - <para>要控制那一些字型要做反鋸齒或設定反鋸齒的屬性,需建立 <filename>/usr/local/etc/fonts/local.conf</filename> 檔案 (若檔案存在則編輯)。在這個檔案中可以調整 Xft 字型系統的數項進階功能,本章節僅介紹部份簡單的項目,要取得進一步資訊,可參考 <citerefentry vendor="xorg"><refentrytitle>fonts-conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>。</para> + <para>要控制那一些字型要做反鋸齒或設定反鋸齒的屬性,需建立 <filename>/usr/local/etc/fonts/local.conf</filename> 檔案 (若檔案存在則編輯)。在這個檔案中可以調整 Xft 字型系統的數項進階功能,本章節僅介紹部份簡單的項目,要取得進一步資訊,請參考 <citerefentry vendor="xorg"><refentrytitle>fonts-conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>。</para> <indexterm xml:lang="en"><primary>XML</primary></indexterm> - <para>這個檔案必須使用 XML 格式,小心文字大小寫,且要確定所有標籤均有正常結尾。檔案的開頭使用常見的 XML 檔首,接著為 DOCTYPE 定義,然後是 <literal><fontconfig></literal> 標籤:</para> + <para>這個檔案必須使用 XML 格式,小心文字大小寫,且要確定所有標籤均有正常結尾。檔案的開頭使用常見的 XML 檔首,接著為 DOCTYPE 定義,然後是 <literal><fontconfig></literal> 標籤:</para> <programlisting xml:lang="en"><?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig></programlisting> - <para>如同前面所提到的,所有在 <filename>/usr/local/share/fonts/</filename> 與 <filename>~/.fonts/</filename> 的字型均已在 Xft-aware 的應用程式做反鋸齒效果,若您想要加入除了上兩者以外的目錄,可加入下行設定到 <filename>/usr/local/etc/fonts/local.conf</filename>:</para> + <para>如同前面所提到的,所有在 <filename>/usr/local/share/fonts/</filename> 與 <filename>~/.fonts/</filename> 的字型均可在 Xft-aware 的應用程式做反鋸齒效果,若您想要加入除了上兩者以外的目錄,可加入如下行設定到 <filename>/usr/local/etc/fonts/local.conf</filename>:</para> <programlisting xml:lang="en"><dir>/path/to/my/fonts</dir></programlisting> - <para>加入新字型及額外的新字型目錄之後,您應執行以下指令來重新建立字型快取:</para> + <para>加入新字型及額外的新字型目錄之後,需重新建立字型快取:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>fc-cache -f</userinput></screen> - <para>反鋸齒效果會讓文字的邊緣變模糊,這會讓非常小的文字更能閱讀且去除大型文字的 <quote>鋸齒</quote>,但套用在一般的文字可能會造成眼睛的疲勞。要排除小於 14 點的字型大小使用反鋸齒效果,可加入這些行:</para> + <para>反鋸齒效果會讓文字的邊緣變模糊,這會讓非常小的文字更能閱讀且去除大型文字的 <quote>鋸齒</quote>,但套用在一般的文字可能會造成眼睛的疲勞。要排除小於 14 點的字型大小使用反鋸齒效果,可加入這些行:</para> <programlisting xml:lang="en"> <match target="font"> <test name="size" compare="less"> @@ -7654,9 +7657,9 @@ EndSection</programlisting> <secondary>spacing</secondary> </indexterm> - <para>反鋸齒所產生的間距對於部份等寬字型並不適合,尤其是在使用 <application>KDE</application> 時會發生問題。可能的修正方式是強制字型的間距為 100,可加入以下行:</para> + <para>反鋸齒所產生的間距對於部份等寬字型並不合適,尤其是在使用 <application>KDE</application> 時會成為一個問題。可能的修正方式是強制這類字型的間距為 100,可加入以下行:</para> - <programlisting xml:lang="en"> <match target="pattern" name="family"> + <programlisting xml:lang="en"> <match target="pattern" name="family"> <test qual="any" name="family"> <string>fixed</string> </test> @@ -7673,7 +7676,7 @@ EndSection</programlisting> </edit> </match></programlisting> - <para>(這會設定等寬字型的其他常用名稱為 <literal>"mono"</literal>),然後加入:</para> + <para>(這會設定等寬字型的其他常用名稱為 <literal>"mono"</literal>),然後加入:</para> <programlisting xml:lang="en"> <match target="pattern" name="family"> <test qual="any" name="family"> @@ -7684,7 +7687,7 @@ EndSection</programlisting> </edit> </match> </programlisting> - <para>部份字型,如 Helvetica,在使用反鋸齒時可能會發生問題,通常會呈現像垂直切成兩半的字型,最差還可能會導致應用程式當掉。要避免這個問題,可考慮加入以下設定到 <filename>local.conf</filename>:</para> + <para>部份字型,如 Helvetica,在使用反鋸齒時可能會發生問題,通常會呈現像垂直切成兩半的字型,最差還可能會導致應用程式當掉。要避免這個問題,可考慮加入以下設定到 <filename>local.conf</filename>:</para> <programlisting xml:lang="en"> <match target="pattern" name="family"> <test qual="any" name="family"> @@ -7695,17 +7698,20 @@ EndSection</programlisting> </edit> </match> </programlisting> - <para>編輯 <filename>local.conf</filename> 完之後,請確認有使用 <literal></fontconfig></literal> 標籤結尾,若沒使用會讓您的更改直接被忽略。</para> + <para>編輯 <filename>local.conf</filename> 完之後,請確認有使用 <literal></fontconfig></literal> 標籤結尾,若沒有使用會讓所做的更改被忽略。</para> - <para>最後,使用者可以透過個人的 <filename>.fonts.conf</filename> 檔案來加入自己的設定。要加入個人設定,每位使用者只需簡單的建立 <filename>~/.fonts.conf</filename>,這個檔案也同樣需要為 XML 格式。</para> + <para xml:lang="en">Users can add personalized settings by creating their own + <filename>~/.config/fontconfig/fonts.conf</filename>. This + file uses the same <acronym>XML</acronym> format described + above.</para> <indexterm xml:lang="en"><primary>LCD screen</primary></indexterm> <indexterm xml:lang="en"><primary>Fonts</primary> <secondary>LCD screen</secondary></indexterm> - <para>最後一點: 若有使用 LCD 螢幕,可能會想要使用子像素取樣 (Sub-pixel sampling),這基本上會分開處理 (水平分隔) 紅、綠、藍色彩組成來提高垂直解析度,結果可能是無法預料的。要開啟這個功能,加入下行到 <filename>local.conf</filename> 的任一處:</para> + <para>最後一點:若有使用 LCD 螢幕,可能會想要使用子像素取樣 (Sub-pixel sampling),這基本上會分開處理 (水平分隔) 紅、綠、藍色彩組成來提高垂直解析度,結果可能是無法預料的。要開啟這個功能,加入下行到 <filename>local.conf</filename> 的任一處:</para> - <programlisting xml:lang="en"><match target="font"> + <programlisting xml:lang="en"> <match target="font"> <test qual="all" name="rgba"> <const>unknown</const> </test> @@ -7715,7 +7721,7 @@ EndSection</programlisting> </match></programlisting> <note> - <para>依據不同的顯示器類型,<literal>rgb</literal> 可能會需要更改為 <literal>bgr</literal>, <literal>vrgb</literal> 或 <literal>vbgr</literal>: 可實驗看看然後看那一個效果最好。</para> + <para>依據不同的顯示器類型可能會需要將 <literal>rgb</literal> 更改為 <literal>bgr</literal>, <literal>vrgb</literal> 或 <literal>vbgr</literal>:可實驗看看然後看那一個效果最好。</para> </note> </sect2> </sect1> @@ -7743,7 +7749,7 @@ EndSection</programlisting> <sect2> <title>設定 <application>XDM</application></title> - <para>要安裝 <application>XDM</application> 可使用 <package>x11/xdm</package> 套件或 Port。安裝完成之後,可設定 <application>XDM</application> 在開機時執行,只需編輯 <filename>/etc/ttys</filename> 中的此項目:</para> + <para>要安裝 <application>XDM</application> 可使用 <package>x11/xdm</package> 套件或 Port。安裝完成之後,可設定 <application>XDM</application> 在開機時執行,只需編輯 <filename>/etc/ttys</filename> 中的此項目:</para> <screen xml:lang="en">ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure</screen> @@ -7812,7 +7818,7 @@ EndSection</programlisting> <para>預設只有同系統的使用者可以使用 <application>XDM</application> 登入。要開啟讓其他系統的使用者可連線到顯示伺服器,需編輯存取控制規則及開啟連線傾聽程式。</para> - <para>要設定 <application>XDM</application> 傾聽作何遠端的連線,在 <filename>/usr/local/lib/X11/xdm/xdm-config</filename> 中的 <literal>DisplayManager.requestPort</literal> 行前加上 <literal>!</literal> 來註解該行:</para> + <para>要設定 <application>XDM</application> 傾聽作何遠端的連線,在 <filename>/usr/local/lib/X11/xdm/xdm-config</filename> 中的 <literal>DisplayManager.requestPort</literal> 行前加上 <literal>!</literal> 來註解該行:</para> <screen xml:lang="en">! SECURITY: do not listen for XDMCP or Chooser requests ! Comment out this line if you want to manage X terminals with xdm @@ -7844,9 +7850,9 @@ DisplayManager.requestPort: 0</screen> <title xml:lang="en">GNOME</title> <indexterm xml:lang="en"><primary>GNOME</primary></indexterm> - <para><application>GNOME</application> 是一個擁有友善使用者介面的的桌面環境,它包括用於啟動應用程式和顯示狀態的面板、一系列工具與應用程序及一套可讓應用程式更容易進行合作、相互一致的協定。更多有關 FreeBSD <application>GNOME</application> 的訊息可在<link xlink:href="http://www.FreeBSD.org/gnome">http://www.FreeBSD.org/gnome</link> 取得,該網站包含了有關在 FreeBSD 安裝、設定和管理 <application>GNOME</application> 的額外文件。</para> + <para><application>GNOME</application> 是一個擁有友善使用者介面的的桌面環境,它包括用於啟動應用程式和顯示狀態的面板、一系列工具與應用程序及一套可讓應用程式更容易進行合作、相互一致的協定。更多有關 FreeBSD <application>GNOME</application> 的訊息可在 <link xlink:href="http://www.FreeBSD.org/gnome">http://www.FreeBSD.org/gnome</link> 取得,該網站包含了有關在 FreeBSD 安裝、設定和管理 <application>GNOME</application> 的額外文件。</para> - <para>這套桌面環境可以從套件安裝:</para> + <para>這套桌面環境可以從套件安裝:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>pkg install gnome3</userinput></screen> @@ -7859,26 +7865,26 @@ DisplayManager.requestPort: 0</screen> <programlisting xml:lang="en">proc /proc procfs rw 0 0</programlisting> - <para><application>GNOME</application> 使用了 <application>D-Bus</application> 以及 <application>HAL</application> 的 Message bus 與 Hardware abstraction。這兩個應用程式會隨著 <application>GNOME</application> 的相依一併自動安裝,但需要在 <filename>/etc/rc.conf</filename> 開啟,這樣在系統開機時才會啟動:</para> + <para><application>GNOME</application> 使用了 <application>D-Bus</application> 以及 <application>HAL</application> 的 Message bus 與 Hardware abstraction。這兩個應用程式會隨著 <application>GNOME</application> 的相依一併自動安裝,但需要在 <filename>/etc/rc.conf</filename> 開啟,這樣在系統開機時才會啟動:</para> <programlisting xml:lang="en">dbus_enable="YES" hald_enable="YES"</programlisting> - <para>安裝完之後,需設定讓 <application>Xorg</application> 啟動 <application>GNOME</application>。最簡單的方法是開啟 GNOME Display Manager, <application>GDM</application>,該程式已做為 <application>GNOME</application> 套件或 Port 的一部份安裝了,可加入下行到 <filename>/etc/rc.conf</filename> 來開啟:</para> + <para>安裝完之後,需設定讓 <application>Xorg</application> 啟動 <application>GNOME</application>。最簡單的方法是開啟 GNOME Display Manager, <application>GDM</application>,該程式已做為 <application>GNOME</application> 套件或 Port 的一部份安裝了,可加入下行到 <filename>/etc/rc.conf</filename> 來開啟:</para> <programlisting xml:lang="en">gdm_enable="YES"</programlisting> - <para>通常也會需要啟動所有的 <application>GNOME</application> 服務,可加入下行到 <filename>/etc/rc.conf</filename>:</para> + <para>通常也會需要啟動所有的 <application>GNOME</application> 服務,可加入下行到 <filename>/etc/rc.conf</filename>:</para> <programlisting xml:lang="en">gnome_enable="YES"</programlisting> <para><application>GDM</application> 則會在系統開機時自動啟動。</para> - <para>第二種啟動 <application>GNOME</application> 的方法是在設定完 <filename>~/.xinitrc</filename> 後在指令列輸入 <command>startx</command>。若這個檔案已經存在,替換啟動目前視窗管理程式的那一行,改為啟動 <filename>/usr/local/bin/gnome-session</filename>。若檔案不存在,則使用以下指令建立一個:</para> + <para>第二種啟動 <application>GNOME</application> 的方法是在設定完 <filename>~/.xinitrc</filename> 後在指令列輸入 <command>startx</command>。若這個檔案已經存在,替換啟動目前視窗管理程式的那一行,改為啟動 <filename>/usr/local/bin/gnome-session</filename>。若檔案不存在,則使用以下指令建立一個:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>echo "exec /usr/local/bin/gnome-session" > ~/.xinitrc</userinput></screen> - <para>第三種方法是使用 <application>XDM</application> 做為顯示管理程式,在這個方法需要建立一個可執行的 <filename>~/.xsession</filename>:</para> + <para>第三種方法是使用 <application>XDM</application> 做為顯示管理程式,在這個方法需要建立一個可執行的 <filename>~/.xsession</filename>:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>echo "#!/bin/sh" > ~/.xsession</userinput> <prompt>%</prompt> <userinput>echo "exec /usr/local/bin/gnome-session" >> ~/.xsession</userinput> @@ -7892,7 +7898,7 @@ hald_enable="YES"</programlisting> <para><application>KDE</application> 是另一套易於使用的桌面環境。這個桌面環境提供了一致外觀的應用程式、標準化的選單和工具列、組合鍵、配色方案、國際化與集中、對話框導向的桌面設定。更多有關 <application>KDE</application> 可在 <link xlink:href="http://www.kde.org/">http://www.kde.org/</link> 取得。要取得 FreeBSD 特定的資訊,則可參考 <link xlink:href="http://freebsd.kde.org/">http://freebsd.kde.org</link>。</para> - <para>要安裝 <application>KDE</application> 套件,請輸入:</para> + <para>要安裝 <application>KDE</application> 套件,請輸入:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>pkg install x11/kde4</userinput></screen> @@ -7906,24 +7912,24 @@ hald_enable="YES"</programlisting> <secondary>display manager</secondary> </indexterm> - <para><application>KDE</application> 需要掛載 <filename>/proc</filename>。加入下行到 <filename>/etc/fstab</filename> 讓系統啟動時會自動掛載這個檔案系統:</para> + <para><application>KDE</application> 需要掛載 <filename>/proc</filename>。加入下行到 <filename>/etc/fstab</filename> 讓系統啟動時會自動掛載這個檔案系統:</para> <programlisting xml:lang="en">proc /proc procfs rw 0 0</programlisting> - <para><application>KDE</application> 使用了 <application>D-Bus</application> 以及 <application>HAL</application> 的 Message bus 與 Hardware abstraction。這兩個應用程式會隨著 <application>KDE</application> 的相依一併自動安裝,但需要在 <filename>/etc/rc.conf</filename> 開啟,這樣在系統開機時才會啟動:</para> + <para><application>KDE</application> 使用了 <application>D-Bus</application> 以及 <application>HAL</application> 的 Message bus 與 Hardware abstraction。這兩個應用程式會隨著 <application>KDE</application> 的相依一併自動安裝,但需要在 <filename>/etc/rc.conf</filename> 開啟,這樣在系統開機時才會啟動:</para> <programlisting xml:lang="en">dbus_enable="YES" hald_enable="YES"</programlisting> - <para><application>KDE</application> 的安裝包含了 KDE Display Manager, <application>KDM</application>,要開啟這個顯示管理程式,需加入下行到 <filename>/etc/rc.conf</filename>:</para> + <para><application>KDE</application> 的安裝包含了 KDE Display Manager, <application>KDM</application>,要開啟這個顯示管理程式,需加入下行到 <filename>/etc/rc.conf</filename>:</para> <programlisting xml:lang="en">kdm4_enable="YES"</programlisting> - <para>第二種執行 <application>KDE</application> 的方法是在在指令列輸入 <command>startx</command>。要採用這個方式,需要加入下行到 <filename>~/.xinitrc</filename>:</para> + <para>第二種執行 <application>KDE</application> 的方法是在在指令列輸入 <command>startx</command>。要採用這個方式,需要加入下行到 <filename>~/.xinitrc</filename>:</para> <programlisting xml:lang="en">exec /usr/local/bin/startkde</programlisting> - <para>第三種啟動 <application>KDE</application> 的方式是透過 <application>XDM</application>,要使用這個方法需要建立一個可執行的 <filename>~/.xsession</filename> 如下:</para> + <para>第三種啟動 <application>KDE</application> 的方式是透過 <application>XDM</application>,要使用這個方法需要建立一個可執行的 <filename>~/.xsession</filename> 如下:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>echo "#!/bin/sh" > ~/.xsession</userinput> <prompt>%</prompt> <userinput>echo "exec /usr/local/bin/startkde" >> ~/.xsession</userinput> @@ -7937,20 +7943,20 @@ hald_enable="YES"</programlisting> <para><application>Xfce</application> 是以 <application>GNOME</application> 使用的 GTK +工具包做為基礎所開發的桌面環境,但是它更輕巧且提供了一種簡單、高效、易於使用的桌面。它可完全自訂設定、附有選單、Applet 及應用程式啟動器的主面板、提供檔案管理程式和音效管理程式並且可設定主題。由於它是快速、輕巧、高效的桌面環境,因此它非常適合有記憶體限制的較舊或較慢機器。更多有關 <application>Xfce</application> 的資訊可至 <link xlink:href="http://www.xfce.org/">http://www.xfce.org</link> 取得。</para> - <para>要安裝 <application>Xfce</application> 套件:</para> + <para>要安裝 <application>Xfce</application> 套件:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>pkg install xfce</userinput></screen> - <para>或者使用 Port 編譯:</para> + <para>或者使用 Port 編譯:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>cd /usr/ports/x11-wm/xfce4</userinput> <prompt>#</prompt> <userinput>make install clean</userinput></screen> - <para>不像 <application>GNOME</application> 或 <application>KDE</application>,<application>Xfce</application> 並沒有自己的登入管理程式,要由指令列啟動 <application>Xfce</application> 需輸入 <command>startx</command>,在這之前需先加入其項目到 <filename>~/.xinitrc</filename>:</para> + <para>不像 <application>GNOME</application> 或 <application>KDE</application>,<application>Xfce</application> 並沒有自己的登入管理程式,要由指令列啟動 <application>Xfce</application> 需輸入 <command>startx</command>,在這之前需先加入其項目到 <filename>~/.xinitrc</filename>:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>echo "exec /usr/local/bin/startxfce4 --with-ck-launch" > ~/.xinitrc</userinput></screen> - <para>另一種方式是使用 <application>XDM</application>,要設定這個方式需建立一個可執行的 <filename>~/.xsession</filename>:</para> + <para>另一種方式是使用 <application>XDM</application>,要設定這個方式需建立一個可執行的 <filename>~/.xsession</filename>:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>echo "#!/bin/sh" > ~/.xsession</userinput> <prompt>%</prompt> <userinput>echo "exec /usr/local/bin/startxfce4 --with-ck-launch" >> ~/.xsession</userinput> @@ -7974,11 +7980,11 @@ hald_enable="YES"</programlisting> <para>知道您的顯示卡要使用那種驅動程式才是正確的之後,接下來的安裝程序跟安裝其他套件一樣簡單。</para> - <para>例如,要安裝最新的驅動程式:</para> + <para>例如,要安裝最新的驅動程式:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>pkg install x11/nvidia-driver</userinput></screen> - <para>驅動程式會建立一個需要在系統啟動時載入的核心模組,加入下行到 <filename>/boot/loader.conf</filename>:</para> + <para>驅動程式會建立一個需要在系統啟動時載入的核心模組,加入下行到 <filename>/boot/loader.conf</filename>:</para> <programlisting xml:lang="en">nvidia_load="YES"</programlisting> @@ -7986,13 +7992,13 @@ hald_enable="YES"</programlisting> <para>要立即載入核心模組到執行中的核心可以下 <command>kldload nvidia</command> 指令,但是需要注意,若不是在開機時載入,某些 <application>Xorg</application> 版本會無法正常運作。因此編輯完 <filename>/boot/loader.conf</filename> 之後建議要重新開機。</para> </note> - <para>核心模組載入之後,您只需要更改 <filename>xorg.conf</filename> 的其中一行來開啟專用的驅動程式:</para> + <para>核心模組載入之後,您只需要更改 <filename>xorg.conf</filename> 的其中一行來開啟專用的驅動程式:</para> - <para>找到 <filename>/etc/X11/xorg.conf</filename> 中的下行:</para> + <para>找到 <filename>/etc/X11/xorg.conf</filename> 中的下行:</para> <programlisting xml:lang="en">Driver "nv"</programlisting> - <para>然後更改該行為:</para> + <para>然後更改該行為:</para> <programlisting xml:lang="en">Driver "nvidia"</programlisting> @@ -8002,15 +8008,15 @@ hald_enable="YES"</programlisting> <sect2 xml:id="xorg-configuration"> <title>設定 xorg.conf 來啟動桌面特效</title> - <para>要開啟 <application>Compiz Fusion</application> 需要修改 <filename>/etc/X11/xorg.conf</filename>:</para> + <para>要開啟 <application>Compiz Fusion</application> 需要修改 <filename>/etc/X11/xorg.conf</filename>:</para> - <para>加入以下 Section 來開啟合成特效:</para> + <para>加入以下 Section 來開啟合成特效:</para> <programlisting xml:lang="en">Section "Extensions" Option "Composite" "Enable" EndSection</programlisting> - <para>找到 <quote>Screen</quote> section,長的應該如下所示:</para> + <para>找到 <quote>Screen</quote> section,長的應該如下所示:</para> <programlisting xml:lang="en">Section "Screen" Identifier "Screen0" @@ -8018,19 +8024,19 @@ EndSection</programlisting> Monitor "Monitor0" ...</programlisting> - <para>然後加入以下兩行 (在<quote>Monitor</quote> 之後):</para> + <para>然後加入以下兩行 (在<quote>Monitor</quote> 之後):</para> <programlisting xml:lang="en">DefaultDepth 24 Option "AddARGBGLXVisuals" "True"</programlisting> - <para>找到您欲使用的螢幕解析度所在的 <quote>Subsection</quote>,例如,您想要使用 1280x1024,則找到如下所示的 Section。若想要使用的解析度不在任何 Subsection 之中,您可以手動加入對應的項目:</para> + <para>找到您欲使用的螢幕解析度所在的 <quote>Subsection</quote>,例如,您想要使用 1280x1024,則找到如下所示的 Section。若想要使用的解析度不在任何 Subsection 之中,您可以手動加入對應的項目:</para> <programlisting xml:lang="en">SubSection "Display" Viewport 0 0 Modes "1280x1024" EndSubSection</programlisting> - <para>桌面合成需要 24 bit 的色彩深度,更改上述 Subsection 為:</para> + <para>桌面合成需要 24 bit 的色彩深度,更改上述 Subsection 為:</para> <programlisting xml:lang="en">SubSection "Display" Viewport 0 0 @@ -8038,14 +8044,14 @@ EndSubSection</programlisting> Modes "1280x1024" EndSubSection</programlisting> - <para>最後確認在 <quote>Module</quote> section 中已經載入 <quote>glx</quote> 與 <quote>extmod</quote> 模組:</para> + <para>最後確認在 <quote>Module</quote> section 中已經載入 <quote>glx</quote> 與 <quote>extmod</quote> 模組:</para> <programlisting xml:lang="en">Section "Module" Load "extmod" Load "glx" ...</programlisting> - <para>前面所述的動作可以執行 <package>x11/nvidia-xconfig</package> 來自動完成 (使用 root) :</para> + <para>前面所述的動作可以執行 <package>x11/nvidia-xconfig</package> 來自動完成 (使用 root):</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>nvidia-xconfig --add-argb-glx-visuals</userinput> <prompt>#</prompt> <userinput>nvidia-xconfig --composite</userinput> @@ -8055,30 +8061,30 @@ EndSubSection</programlisting> <sect2 xml:id="compiz-fusion"> <title>安裝與設定 Compiz Fusion</title> - <para>安裝 <application>Compiz Fusion</application> 如同安裝其他套件一樣簡單:</para> + <para>安裝 <application>Compiz Fusion</application> 如同安裝其他套件一樣簡單:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>pkg install x11-wm/compiz-fusion</userinput></screen> - <para>安裝完成之後,開啟您的圖型化桌面,然後在終端機的畫面輸入以下指令 (使用一般使用者):</para> + <para>安裝完成之後,開啟您的圖型化桌面,然後在終端機的畫面輸入以下指令 (使用一般使用者):</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>compiz --replace --sm-disable --ignore-desktop-hints ccp &</userinput> <prompt>%</prompt> <userinput>emerald --replace &</userinput></screen> - <para>由於您的視窗管理程式 (例如: <application>Metacity</application>,若您使用 <application>GNOME</application>) 會被替換成 <application>Compiz Fusion</application>,您的螢幕會閃爍幾秒。而 <application>Emerald</application> 會處理視窗的裝飾 (例如: 關閉、最小化、最大化按鈕、標題列及其他相關)。</para> + <para>由於您的視窗管理程式 (例如:<application>Metacity</application>,若您使用 <application>GNOME</application>) 會被替換成 <application>Compiz Fusion</application>,您的螢幕會閃爍幾秒。而 <application>Emerald</application> 會處理視窗的裝飾 (例如:關閉、最小化、最大化按鈕、標題列及其他相關)。</para> - <para>您或許可以將這些指令改寫成較小的 Script 然後在啟動時自動執行 (加到 <application>GNOME</application> 桌面的 <quote>Sessions</quote> 中):</para> + <para>您或許可以將這些指令改寫成較小的 Script 然後在啟動時自動執行 (加到 <application>GNOME</application> 桌面的 <quote>Sessions</quote> 中):</para> <programlisting xml:lang="en">#! /bin/sh compiz --replace --sm-disable --ignore-desktop-hints ccp & emerald --replace &</programlisting> - <para>儲存這個 Script 到您的家目錄所在位置,例如 <filename>start-compiz</filename>,然後讓該檔案可以執行:</para> + <para>儲存這個 Script 到您的家目錄所在位置,例如 <filename>start-compiz</filename>,然後讓該檔案可以執行:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>chmod +x ~/start-compiz</userinput></screen> <para>接著使用 GUI 將該檔案加入啟動程式 <guimenuitem>Startup Programs</guimenuitem> (位於 <application>GNOME</application> 桌面的系統 <guimenuitem>System</guimenuitem>, 偏好設定 <guimenuitem>Preferences</guimenuitem>, 工作階段 <guimenuitem>Sessions</guimenuitem>)。</para> - <para>要選擇所想使用的特效與相關設定,可執行 (一樣使用一般使用者) Compiz Config 設定管理程式 <application>Compiz Config Settings Manager</application>:</para> + <para>要選擇所想使用的特效與相關設定,可執行 (一樣使用一般使用者) Compiz Config 設定管理程式 <application>Compiz Config Settings Manager</application>:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>ccsm</userinput></screen> @@ -8094,16 +8100,16 @@ emerald --replace &</programlisting> <title>疑難排解</title> - <para>若滑鼠無法使用,您將需要做第一次設定方可繼續。在最近的 <application>Xorg</application> 版本,使用自動偵測裝置會忽略在 <filename>xorg.conf</filename> 中的 <literal>InputDevice</literal> section。要採用舊的方式,需在此檔案加入下行到 <literal>ServerLayout</literal> 或 <literal>ServerFlags</literal> section:</para> + <para>若滑鼠無法使用,您將需要做第一次設定方可繼續。在最近的 <application>Xorg</application> 版本,使用自動偵測裝置會忽略在 <filename>xorg.conf</filename> 中的 <literal>InputDevice</literal> section。要採用舊的方式,需在此檔案加入下行到 <literal>ServerLayout</literal> 或 <literal>ServerFlags</literal> section:</para> <programlisting xml:lang="en">Option "AutoAddDevices" "false"</programlisting> - <para>輸入裝置便可如先前版本一樣設定,連同其他所需的選項 (如: 切換鍵盤配置)。</para> + <para>輸入裝置便可如先前版本一樣設定,連同其他所需的選項 (如:切換鍵盤配置)。</para> <note> <para>如同前面有說明過,<application>hald</application> Daemon 預設會自動偵測您的鍵盤,因此您的鍵盤配置或型號可能不正確,桌面環境如 <application>GNOME</application>, <application>KDE</application> 或 <application>Xfce</application> 會提供設定鍵盤的工具。即使如此,還是有可能透過 <citerefentry vendor="xorg"><refentrytitle>setxkbmap</refentrytitle><manvolnum>1</manvolnum></citerefentry> 工具或 <application>hald</application> 的設定規則的協助來直接設定鍵盤屬性。</para> - <para>舉例來說,若有人想要使用 PC 102 鍵的鍵盤,採用法語 (French) 配置,我們便需要建立一個給 <application>hald</application> 的鍵盤設定檔,名稱為 <filename>x11-input.fdi</filename>,然後儲存到 <filename>/usr/local/etc/hal/fdi/policy</filename> 目錄。這個檔案中應要有以下幾行:</para> + <para>舉例來說,若有人想要使用 PC 102 鍵的鍵盤,採用法語 (French) 配置,我們便需要建立一個給 <application>hald</application> 的鍵盤設定檔,名稱為 <filename>x11-input.fdi</filename>,然後儲存到 <filename>/usr/local/etc/hal/fdi/policy</filename> 目錄。這個檔案中應要有以下幾行:</para> <programlisting xml:lang="en"><?xml version="1.0" encoding="iso-8859-1"?> <deviceinfo version="0.2"> @@ -8119,7 +8125,7 @@ emerald --replace &</programlisting> <para>您會需要重新啟動您的機器來讓 <application>hald</application> 讀取這個檔案。</para> - <para>也是可以從 X 終端機或 Script 下指令來做同樣的設定:</para> + <para>也是可以從 X 終端機或 Script 下指令來做同樣的設定:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>setxkbmap -model pc102 -layout fr</userinput></screen> @@ -8129,7 +8135,7 @@ emerald --replace &</programlisting> <indexterm xml:lang="en"><primary><application>Xorg</application> tuning</primary></indexterm> - <para>現在可以開始調整 <filename>xorg.conf.new</filename> 設定檔,在文字編輯器如 <citerefentry vendor="ports"><refentrytitle>emacs</refentrytitle><manvolnum>1</manvolnum></citerefentry> 或 <citerefentry><refentrytitle>ee</refentrytitle><manvolnum>1</manvolnum></citerefentry> 開啟該設定檔。若顯示器是不支援自動偵測同步頻率 (Sync frequency) 的舊或特殊的型號,同步頻率的設定可以手動加到 <filename>xorg.conf.new</filename> 的 <literal>"Monitor"</literal> section:</para> + <para>現在可以開始調整 <filename>xorg.conf.new</filename> 設定檔,在文字編輯器如 <citerefentry vendor="ports"><refentrytitle>emacs</refentrytitle><manvolnum>1</manvolnum></citerefentry> 或 <citerefentry><refentrytitle>ee</refentrytitle><manvolnum>1</manvolnum></citerefentry> 開啟該設定檔。若顯示器是不支援自動偵測同步頻率 (Sync frequency) 的舊或特殊的型號,同步頻率的設定可以手動加到 <filename>xorg.conf.new</filename> 的 <literal>"Monitor"</literal> section:</para> <programlisting xml:lang="en">Section "Monitor" Identifier "Monitor0" @@ -8141,7 +8147,7 @@ EndSection</programlisting> <para>多數顯示器都支援自動偵測同步頻率,並不需要手動設定這些數值。對於那些不支援自動偵測的顯示器,請輸入由製造商提供的數值來避免損壞顯示器。</para> - <para>X 允許在支援的顯示器使用 DPMS (Energy Star) 功能,<citerefentry vendor="xfree86"><refentrytitle>xset</refentrytitle><manvolnum>1</manvolnum></citerefentry> 程式可以控制逾時並可強制待機 (Standby)、暫停 (Suspend) 或關閉 (Off) 模式。若您想要為您的顯示器開啟 DPMS 功能,您需要加入下行到顯示器 (Monitor) 的 Section:</para> + <para>X 允許在支援的顯示器使用 DPMS (Energy Star) 功能,<citerefentry vendor="xfree86"><refentrytitle>xset</refentrytitle><manvolnum>1</manvolnum></citerefentry> 程式可以控制逾時並可強制待機 (Standby)、暫停 (Suspend) 或關閉 (Off) 模式。若您想要為您的顯示器開啟 DPMS 功能,您需要加入下行到顯示器 (Monitor) 的 Section:</para> <programlisting xml:lang="en">Option "DPMS"</programlisting> @@ -8149,7 +8155,7 @@ EndSection</programlisting> <primary><filename>xorg.conf</filename></primary> </indexterm> - <para>在編輯器還未關閉 <filename>xorg.conf.new</filename> 設定檔前,選擇想要使用的預設解析度及色彩深度。這些項目可在 <literal>"Screen"</literal> section 定義:</para> + <para>在編輯器還未關閉 <filename>xorg.conf.new</filename> 設定檔前,選擇想要使用的預設解析度及色彩深度。這些項目可在 <literal>"Screen"</literal> section 定義:</para> <programlisting xml:lang="en">Section "Screen" Identifier "Screen0" @@ -8168,7 +8174,7 @@ EndSection</programlisting> <para>最後,儲存設定檔並使用測試模式來測試上述的設定。</para> <note> - <para>有一個工具可以協助您診斷問題,那就是 <application>Xorg</application> 記錄檔。該記錄檔中記錄了 <application>Xorg</application> 連接的每個裝置的資訊。<application>Xorg</application> 記錄檔名稱的格式為 <filename>/var/log/Xorg.0.log</filename>,確切的記錄檔名會可能從 <filename>Xorg.0.log</filename> 到 <filename>Xorg.8.log</filename> 以此類推。</para> + <para>有一個工具可以協助您診斷問題,那就是 <application>Xorg</application> 日誌檔。該日誌檔中記錄了 <application>Xorg</application> 連接的每個裝置的資訊。<application>Xorg</application> 記錄檔名稱的格式為 <filename>/var/log/Xorg.0.log</filename>,確切的記錄檔名會可能從 <filename>Xorg.0.log</filename> 到 <filename>Xorg.8.log</filename> 以此類推。</para> </note> <para>若一且運作正常,設定檔需要安裝到 <citerefentry vendor="xorg"><refentrytitle>Xorg</refentrytitle><manvolnum>1</manvolnum></citerefentry> 會尋找的常用設定檔位置,通常是 <filename>/etc/X11/xorg.conf</filename> 或 <filename>/usr/local/etc/X11/xorg.conf</filename>。</para> @@ -8196,9 +8202,9 @@ EndSection</programlisting> <primary>widescreen flatpanel configuration</primary> </indexterm> - <para>此章節會需要有一些進階的設定知識,若嘗試使用上述的標準設定工具仍無法產生可運作的設定,在記錄檔中應有足夠的資訊可運用來讓顯示卡運作。在此會需要使用文字編輯器。</para> + <para>此章節會需要有一些進階的設定知識,若嘗試使用上述的標準設定工具仍無法產生可運作的設定,在日誌檔中應有足夠的資訊可運用來讓顯示卡運作。在此會需要使用文字編輯器。</para> - <para>目前使用寬螢幕 (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+, et.al.) 格式支援的 16:10 及 10:9 格式或其他的寬高比可會有問題。例如一些 16:10 寬高比常見的螢幕解析度:</para> + <para>目前使用寬螢幕 (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+, et.al.) 格式支援的 16:10 及 10:9 格式或其他的寬高比可會有問題。例如一些 16:10 寬高比常見的螢幕解析度:</para> <itemizedlist> <listitem> @@ -8222,7 +8228,7 @@ EndSection</programlisting> </listitem> </itemizedlist> - <para>在某些時候,可以簡單的將這些要使用的解析度以 <literal>Mode</literal> 加入到 Section "Screen":</para> + <para>在某些時候,可以簡單的將這些要使用的解析度以 <literal>Mode</literal> 加入到 Section "Screen":</para> <programlisting xml:lang="en">Section "Screen" Identifier "Screen0" @@ -8238,7 +8244,7 @@ EndSection</programlisting> <para><application>Xorg</application> 能夠從寬螢幕設定取得解析度資訊 (透過 I2C/DDC),因此能夠知道螢幕能處理的頻率及解析度。</para> - <para>若驅動程式中不存在那些螢幕能處理的 <literal>ModeLines</literal>,則需要給 <application>Xorg</application> 一點提示。透過 <filename>/var/log/Xorg.0.log</filename> 可以取得足夠的資訊來手動建立可運作的 <literal>ModeLine</literal>。只需要在記錄檔中找到類似以下的訊息:</para> + <para>若驅動程式中不存在那些螢幕能處理的 <literal>ModeLines</literal>,則需要給 <application>Xorg</application> 一點提示。透過 <filename>/var/log/Xorg.0.log</filename> 可以取得足夠的資訊來手動建立可運作的 <literal>ModeLine</literal>。只需要在日誌檔中找到類似以下的訊息:</para> <programlisting xml:lang="en">(II) MGA(0): Supported additional Video Mode: (II) MGA(0): clock: 146.2 MHz Image Size: 433 x 271 mm @@ -8246,11 +8252,11 @@ EndSection</programlisting> (II) MGA(0): v_active: 1050 v_sync: 1053 v_sync_end 1059 v_blanking: 1089 v_border: 0 (II) MGA(0): Ranges: V min: 48 V max: 85 Hz, H min: 30 H max: 94 kHz, PixClock max 170 MHz</programlisting> - <para>這些資訊稱作 EDID 資訊,使用 EDIT 資訊建立 <literal>ModeLine</literal> 只需要將數據使用正確的順序放入:</para> + <para>這些資訊稱作 EDID 資訊,使用 EDIT 資訊建立 <literal>ModeLine</literal> 只需要將數據使用正確的順序放入:</para> <programlisting xml:lang="en">ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings></programlisting> - <para>將資訊放入之後,本例中 <literal>Section "Monitor"</literal> 中的 <literal>ModeLine</literal> 會看起來像這樣:</para> + <para>將資訊放入之後,本例中 <literal>Section "Monitor"</literal> 中的 <literal>ModeLine</literal> 會看起來像這樣:</para> <programlisting xml:lang="en">Section "Monitor" Identifier "Monitor1" @@ -8283,7 +8289,7 @@ EndSection</programlisting> </question> <answer> - <para>若您檢查 <filename>/var/log/Xorg.0.log</filename>,您可能可以找到當 X 啟動時所發生的錯誤訊息。最常發生的錯誤會是:</para> + <para>若您檢查 <filename>/var/log/Xorg.0.log</filename>,您可能可以找到當 X 啟動時所發生的錯誤訊息。最常發生的錯誤會是:</para> <screen xml:lang="en">(EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X (EE) NVIDIA(0): log file that the GLX module has been loaded in your X @@ -8462,7 +8468,7 @@ EndSection</programlisting> <sect3 xml:id="moz-java-plugin"> <title>Firefox 與 <trademark>Java</trademark> 附加元件</title> - <para>安裝 <application>Firefox</application> 並不包含 <trademark>Java</trademark> 支援,雖然如此 <package>java/icedtea-web</package> 提供了免費的網頁瀏覽器附加元件來執行 Java applet,此附加元件可以用 Binary 套件安裝或者自 Port 編譯:</para> + <para><application>Firefox</application> 的安裝並不包含 <trademark>Java</trademark> 支援,雖然如此 <package>java/icedtea-web</package> 提供了免費的網頁瀏覽器附加元件來執行 Java applet,此附加元件可以用 Binary 套件安裝或者自 Port 編譯:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>cd /usr/ports/java/icedtea-web</userinput> <prompt>#</prompt> <userinput>make install clean</userinput></screen> @@ -8471,9 +8477,7 @@ EndSection</programlisting> <para>安裝完成時,啟動 <application>firefox</application>,在網址列輸入 <literal>about:plugins</literal> 並按 <keycap>Enter</keycap> 鍵。 會出現一個頁面列出已安裝的附加元件。 <application><trademark>Java</trademark></application> 附加元件應該會列在其中。</para> - <para xml:lang="en">If the browser is unable to find the plugin, each user - will have to run the following command and relaunch the - browser:</para> + <para>若瀏覽器無法找到附加元件,每位使用者則須執行以下指令並重新執行瀏覽器:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>ln -s /usr/local/lib/IcedTeaPlugin.so \ $HOME/.mozilla/plugins/</userinput></screen> @@ -8518,23 +8522,18 @@ EndSection</programlisting> <sect3 xml:id="moz-swfdec-flash-plugin"> <title>Firefox 與 Swfdec <trademark class="registered">Flash</trademark> 附加元件</title> - <para xml:lang="en"><application>Swfdec</application> is a decoder and - renderer for <trademark class="registered">Flash</trademark> animations. - <application>Swfdec-Mozilla</application> is a plugin for - <application>Firefox</application> browsers that uses the - Swfdec library for playing SWF files.</para> + <para><application>Swfdec</application> 是 <trademark class="registered">Flash</trademark> 動畫的解碼程式及繪製程式。<application>Swfdec-Mozilla</application> 是供 <application>Firefox</application> 瀏覽器使用的附加元件,可使用 Swfdec 程式庫來播放 SWF 檔案。</para> <para>要安裝套件可:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>pkg install swfdec-plugin</userinput></screen> - <para xml:lang="en">If the package is not available, compile and install it - from the Ports Collection:</para> + <para>若無套件可用,可自 Port 套件集編譯並安裝該附加元件:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>cd /usr/ports/www/swfdec-plugin</userinput> <prompt>#</prompt> <userinput>make install clean</userinput></screen> - <para xml:lang="en">Restart the browser to activate this plugin.</para> + <para>重新啟動瀏覽器來啟動此附加元件。</para> </sect3> </sect2> @@ -8596,48 +8595,29 @@ EndSection</programlisting> <primary><application>Chromium</application></primary> </indexterm> - <para xml:lang="en"><application>Chromium</application> is an open source - browser project that aims to build a safer, faster, and more - stable web browsing experience. - <application>Chromium</application> features tabbed browsing, - popup blocking, extensions, and much more. - <application>Chromium</application> is the open source project - upon which the Google Chrome web browser is based.</para> + <para><application>Chromium</application> 是一個開放源始碼的瀏覽器計劃,該計劃的目標是要建立一個安全、快速且更穩定的網頁瀏覽體驗。<application>Chromium</application> 的功能有頁籤式瀏覽、彈出視窗封鎖、擴充套件等等。<application>Chromium</application> 也是 Google Chrome 網頁瀏覽器所採用的基礎。</para> - <para xml:lang="en"><application>Chromium</application> can be installed as a - package by typing:</para> + <para><application>Chromium</application> 可以使用套件來安裝,只要輸入:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>pkg install chromium</userinput></screen> - <para xml:lang="en">Alternatively, <application>Chromium</application> can be - compiled from source using the Ports Collection:</para> + <para>或者可從 Port 套件集的原始碼編譯 <application>Chromium</application>:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>cd /usr/ports/www/chromium</userinput> <prompt>#</prompt> <userinput>make install clean</userinput></screen> <note> - <para xml:lang="en">The executable for <application>Chromium</application> - is <filename>/usr/local/bin/chrome</filename>, not - <filename>/usr/local/bin/chromium</filename>.</para> + <para><application>Chromium</application> 的執行檔為 <filename>/usr/local/bin/chrome</filename>,並非 <filename>/usr/local/bin/chromium</filename>。</para> </note> <sect3 xml:id="chromium-java-plugin"> <title>Chromium 與 <trademark>Java</trademark> 附加元件</title> - <para xml:lang="en">The installation of - <application>Chromium</application> does not include <trademark>Java</trademark> - support. To install <trademark>Java</trademark> plugin support, follow the - instructions in <xref linkend="moz-java-plugin"/>.</para> + <para><application>Chromium</application> 的安裝並不包含 <trademark>Java</trademark> 的支援。要安裝 <trademark>Java</trademark> 附加元件支援,請依照 <xref linkend="moz-java-plugin"/> 的指示操作。</para> - <para xml:lang="en">Once <trademark>Java</trademark> support is installed, start - <application>Chromium</application> and enter - <literal>about:plugins</literal> in the address bar. - IcedTea-Web should be listed as one of the installed - plugins.</para> + <para><trademark>Java</trademark> 支援安裝完成後,啟動 <application>Chromium</application> 然後在網址列輸入 <literal>about:plugins</literal>。已安裝的附件元件其中之一應該會有 IcedTea-Web。</para> - <para xml:lang="en">If <application>Chromium</application> does not display - the IcedTea-Web plugin, run the following commands and - restart the web browser:</para> + <para>若 <application>Chromium</application> 未顯示 IcedTea-Web 為附件元件,請執行以下指令然後重新啟動網頁瀏覽器:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>mkdir -p /usr/local/share/chromium/plugins <prompt>#</prompt> ln -s /usr/local/lib/IcedTeaPlugin.so \ @@ -8647,12 +8627,7 @@ EndSection</programlisting> <sect3 xml:id="chromium-flash-plugin"> <title>Chromium 與 <trademark class="registered">Adobe</trademark> <trademark class="registered">Flash</trademark> 附加元件</title> - <para xml:lang="en">Configuring <application>Chromium</application> and - <trademark class="registered">Adobe</trademark> <trademark class="registered">Flash</trademark> is similar to the instructions in - <xref linkend="moz-flash-plugin"/>. No additional - configuration should be necessary, since - <application>Chromium</application> is able to use some - plugins from other browsers.</para> + <para>設定 <application>Chromium</application> 及 <trademark class="registered">Adobe</trademark> <trademark class="registered">Flash</trademark> 與 <xref linkend="moz-flash-plugin"/> 中的操作相似,無須額外的設定,因 <application>Chromium</application> 能夠使用部份來自其他瀏覽器的附加元件。</para> </sect3> </sect2> </sect1> @@ -8726,25 +8701,13 @@ EndSection</programlisting> <secondary><application>Calligra</application></secondary> </indexterm> - <para xml:lang="en">The KDE desktop environment includes - an office suite which can be installed separately from - <application>KDE</application>. - <application>Calligra</application> includes standard - components that can be found in other office suites. - <application>Words</application> is the word processor, - <application>Sheets</application> is the spreadsheet program, - <application>Stage</application> manages slide presentations, - and <application>Karbon</application> is used to draw - graphical documents.</para> - - <para xml:lang="en">In FreeBSD, <package>editors/calligra</package> can be - installed as a package or a port. To install the - package:</para> + <para>KDE 桌面環境中內含辦公軟體可以與 <application>KDE</application> 分開安裝。<application>Calligra</application> 中也有可在其他辦公軟體中找到的標準元件,如 <application>Words</application> 是文件處理程式、<application>Sheets</application> 是試算表程式、<application>Stage</application> 可管理投影片以及 <application>Karbon</application> 用來繪製圖型文件。</para> + + <para>在 FreeBSD 中 <package>editors/calligra</package> 可以使用套件或 Port 的方式安裝,要使用套件安裝:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>pkg install calligra</userinput></screen> - <para xml:lang="en">If the package is not available, use the Ports Collection - instead:</para> + <para>若沒有可用的套件,可改使用 Port 套件集安裝:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>cd /usr/ports/editors/calligra</userinput> <prompt>#</prompt> <userinput>make install clean</userinput></screen> @@ -8847,64 +8810,29 @@ EndSection</programlisting> <secondary><application>LibreOffice</application></secondary> </indexterm> - <para xml:lang="en"><application>LibreOffice</application> is a free software - office suite developed by <link xlink:href="http://www.documentfoundation.org/">documentfoundation.org</link>. - It is compatible with other major office suites and available - on a variety of platforms. It is a rebranded fork of - <application>Apache OpenOffice</application> and includes - applications found in a complete office productivity suite: - a word processor, spreadsheet, presentation manager, drawing - program, database management program, and a tool for creating - and editing mathematical formulæ. It is available in - a number of different languages and internationalization has - been extended to interfaces, spell checkers, and - dictionaries.</para> - - <para xml:lang="en">The word processor of - <application>LibreOffice</application> uses a native XML file - format for increased portability and flexibility. The - spreadsheet program features a macro language which can be - interfaced with external databases. - <application>LibreOffice</application> is stable and runs - natively on <trademark class="registered">Windows</trademark>, <trademark class="registered">Linux</trademark>, FreeBSD, and <trademark class="registered">Mac OS</trademark> X. - More information about <application>LibreOffice</application> - can be found at <link xlink:href="http://www.libreoffice.org/">libreoffice.org</link>.</para> - - <para xml:lang="en">To install the English version of the - <application>LibreOffice</application> package:</para> + <para><application>LibreOffice</application> 是一套自由的辦公軟體由 <link xlink:href="http://www.documentfoundation.org/">documentfoundation.org</link> 所開發。它可相容其他主流的辦公軟體以及可在各種平台上使用。它是 <application>Apache OpenOffice</application> 品牌重塑後的分支,含有可在完整辦公生產力軟體中找到的應用程式:文件處理程式、試算表、簡報管理程式、繪圖程式、資料庫管理程式以及建立與編輯數學公式的工具。它也支援數種語言與國際化一直延伸到介面、拼字檢查程式與字典。</para> + + <para><application>LibreOffice</application> 的文件處理程式使用了原生的 XML 檔案格式來增加可攜性與彈性,試算表程式支援可與外部資料庫連接的巨集語言。<application>LibreOffice</application> 非常穩定且可直接在 <trademark class="registered">Windows</trademark>, <trademark class="registered">Linux</trademark>, FreeBSD 以及 <trademark class="registered">Mac OS</trademark> X 上執行。更多有關 <application>LibreOffice</application> 的資訊可在 <link xlink:href="http://www.libreoffice.org/">libreoffice.org</link> 找到。</para> + + <para>要安裝英文版本的 <application>LibreOffice</application> 套件:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>pkg install libreoffice</userinput></screen> - <para xml:lang="en">The editors category (<link xlink:href="http://www.FreeBSD.org/ports/editors.html">freebsd.org/ports/editors.html</link>) - of the Ports Collection contains several localizations for - <application>LibreOffice</application>. When installing a - localized package, replace <literal>libreoffice</literal> - with the name of the localized package.</para> + <para>Port 套件集的編輯器分類 (<link xlink:href="http://www.FreeBSD.org/ports/editors.html">freebsd.org/ports/editors.html</link>) 中含有數個 <application>LibreOffice</application> 的語系。安裝在地化套件時,請替換 <literal>libreoffice</literal> 為在地化套件的名稱。</para> - <para xml:lang="en">Once the package is installed, type the following command - to run <application>LibreOffice</application>:</para> + <para>套件安裝之後,輸入以下指令來執行 <application>LibreOffice</application>:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>libreoffice</userinput></screen> - <para xml:lang="en">During the first launch, some questions will be asked - and a <filename>.libreoffice</filename> folder will be created - in the user's home directory.</para> + <para>第一次啟動的過程中會詢問一些問題並在使用者的家目錄建立 <filename>.libreoffice</filename> 資料夾。</para> - <para xml:lang="en">If the desired <application>LibreOffice</application> - package is not available, compiling the port is still an - option. However, this requires a lot of disk space and a - fairly long time to compile. This example compiles the - English version:</para> + <para>若找不到想使用的 <application>LibreOffice</application> 套件,也可從 Port 編譯,但這會要大量的磁碟空間及漫長的時間編譯。以下例子示範編譯英文版本:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>cd /usr/ports/editors/libreoffice</userinput> <prompt>#</prompt> <userinput>make install clean</userinput></screen> <note> - <para xml:lang="en">To build a localized version, - <command>cd</command> into the port directory of - the desired language. Supported languages can be found - in the editors category (<link xlink:href="http://www.FreeBSD.org/ports/editors.html">freebsd.org/ports/editors.html</link>) - of the Ports Collection.</para> + <para>要編譯在地化版本,則需 <command>cd</command> 進入想要的語言 Port 目錄。支援的語言可在 Port 套件集的編輯器分類 (<link xlink:href="http://www.FreeBSD.org/ports/editors.html">freebsd.org/ports/editors.html</link>) 中找到。</para> </note> </sect2> </sect1> @@ -8912,10 +8840,7 @@ EndSection</programlisting> <sect1 xml:id="desktop-viewers"> <title>文件閱覽程式</title> - <para xml:lang="en">Some new document formats have gained popularity since - the advent of <trademark class="registered">UNIX</trademark> and the viewers they require may not be - available in the base system. This section demonstrates how to - install the following document viewers:</para> + <para><trademark class="registered">UNIX</trademark> 出現之後,有一些新的文件格式才越來越熱門,這些文件所需的檢視程式可能並不在基礎系統中。本節將示範如何安裝以下文件檢視程式:</para> <informaltable frame="none" pgwide="1"> <tgroup cols="4"> @@ -9047,17 +8972,9 @@ EndSection</programlisting> <secondary>viewing</secondary> </indexterm> - <para xml:lang="en"><application>ePDFView</application> is a lightweight - <acronym>PDF</acronym> document viewer that only uses the - <application>Gtk+</application> and - <application>Poppler</application> libraries. It is currently - under development, but already opens most - <acronym>PDF</acronym> files (even encrypted), save copies of - documents, and has support for printing using - <application>CUPS</application>.</para> + <para><application>ePDFView</application> 是一套小巧的 <acronym>PDF</acronym> 文件檢視程式,只使用了 <application>Gtk+</application> 與 <application>Poppler</application> 程式庫。它目前還在開發當中,但已經可以開啟大部份 <acronym>PDF</acronym> 檔案 (甚至是加密過的)、儲存文件複本以及支援使用 <application>CUPS</application> 來列印。</para> - <para xml:lang="en">To install <application>ePDFView</application> as a - package:</para> + <para>要以套件安裝 <application>ePDFView</application>:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>pkg install epdfview</userinput></screen> @@ -9078,15 +8995,9 @@ EndSection</programlisting> <secondary>viewing</secondary> </indexterm> - <para xml:lang="en"><application>Okular</application> is a universal document - viewer based on <application>KPDF</application> for - <application>KDE</application>. It can open many document - formats, including <acronym>PDF</acronym>, <trademark class="registered">PostScript</trademark>, DjVu, - <acronym>CHM</acronym>, <acronym>XPS</acronym>, and - ePub.</para> + <para><application>Okular</application> 是一套通用的文件檢視程式,以 <application>KDE</application> 的 <application>KPDF</application> 為基礎。它可以開啟許多種文件格式,包含了 <acronym>PDF</acronym>, <trademark class="registered">PostScript</trademark>, DjVu, <acronym>CHM</acronym>, <acronym>XPS</acronym> 以及 ePub。</para> - <para xml:lang="en">To install <application>Okular</application> as a - package:</para> + <para>要以套件安裝 <application>Okular</application>:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>pkg install okular</userinput></screen> @@ -9147,7 +9058,7 @@ EndSection</programlisting> <primary><application>GnuCash</application></primary> </indexterm> - <para><application>GnuCash</application> 是 <application>GNOME</application> 團隊努力成果中的一部分, <application>GNOME</application> 團隊主要提供親切而強大的桌面應用程式給終端使用者。使用 <application>GnuCash</application> 可以持續追蹤記錄收入與花費、銀行帳戶以及股票證券等。 它的特性是介面直覺但功能仍非常專業。</para> + <para><application>GnuCash</application> 是 <application>GNOME</application> 團隊努力成果中的一部分, <application>GNOME</application> 團隊主要提供親切而強大的桌面應用程式給終端使用者。使用 <application>GnuCash</application> 可以持續追蹤收入與花費、銀行帳戶以及股票證券等。 它的特性是介面直覺但功能仍非常專業。</para> <para><application>GnuCash</application> 提供了智慧的計數器、多階層帳戶系統以及快速鍵及自動完成功能。 它也能分開單一的報表至數個詳細的部份。 <application>GnuCash</application> 也能夠匯入及合併 <application>Quicken</application> QIF 檔案。 它也能處理大部分國際的日期及通用貨幣之格式。</para> @@ -9188,19 +9099,9 @@ EndSection</programlisting> <indexterm><primary>試算表</primary> <secondary><application>KMyMoney</application></secondary></indexterm> - <para xml:lang="en"><application>KMyMoney</application> is a personal finance - application created by the <application>KDE</application> - community. <application>KMyMoney</application> aims to - provide the important features found in commercial personal - finance manager applications. It also highlights ease-of-use - and proper double-entry accounting among its features. - <application>KMyMoney</application> imports from standard - <application>Quicken</application> QIF files, tracks - investments, handles multiple currencies, and provides a - wealth of reports.</para> + <para><application>KMyMoney</application> 是一套個人財務應用程式,由 <application>KDE</application> 社群所開發。<application>KMyMoney</application> 的目標是提供可在商業個人財務管理應用程式中找到的重要功能,它也強調簡單易用及其功能間採用合適的複式記帳。<application>KMyMoney</application> 可從標準 <application>Quicken</application> QIF 檔案匯入資料、追蹤投資、處理多種貨幣並提供財務報表。</para> - <para xml:lang="en">To install <application>KMyMoney</application> as a - package:</para> + <para>要以套件安裝 <application>KMyMoney</application>:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>pkg install kmymoney-kde4</userinput></screen> @@ -10344,7 +10245,7 @@ zoom=yes</programlisting> <primary>TV cards</primary> </indexterm> - <para>電視卡(TV card)可以讓您用電腦來看無線、有線電視節目。許多卡都是透過 <acronym>RCA</acronym> 或 S-video 輸入端子來接收視訊,而且有些卡還可接收 <acronym>FM</acronym> 廣播的功能。</para> + <para>電視卡 (TV card) 可以讓您用電腦來看無線、有線電視節目。許多卡都是透過 <acronym>RCA</acronym> 或 S-video 輸入端子來接收視訊,而且有些卡還可接收 <acronym>FM</acronym> 廣播的功能。</para> <para>FreeBSD 可透過 <citerefentry><refentrytitle>bktr</refentrytitle><manvolnum>4</manvolnum></citerefentry> 驅動程式,來支援 PCI 介面的電視卡,只要這些卡使用的是 Brooktree Bt848/849/878/879 或 Conexant CN-878/Fusion 878a 視訊擷取晶片。此外,要再確認哪些卡上所附的選台功能是否有支援,可以參考 <citerefentry><refentrytitle>bktr</refentrytitle><manvolnum>4</manvolnum></citerefentry> 說明,以查看所支援的硬體清單。</para> @@ -10845,28 +10746,18 @@ add path usb/0.2.0 mode 0666 group usb</programlisting> </listitem> </itemizedlist> - <para xml:lang="en">Before building a custom kernel, consider the reason for - doing so. If there is a need for specific hardware support, - it may already exist as a module.</para> + <para>在編譯自訂核心之前,請思考要這麼做的原因,若是因為需要特定硬體的支援,很可能已有既有的模組可以使用。</para> - <para xml:lang="en">Kernel modules exist in <filename>/boot/kernel</filename> - and may be dynamically loaded into the running kernel using - <citerefentry><refentrytitle>kldload</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Most kernel drivers have a loadable module and - manual page. For example, the <citerefentry><refentrytitle>ath</refentrytitle><manvolnum>4</manvolnum></citerefentry> wireless Ethernet - driver has the following information in its manual page:</para> + <para>核心模組會放在 <filename>/boot/kernel</filename> 並且可使用 <citerefentry><refentrytitle>kldload</refentrytitle><manvolnum>8</manvolnum></citerefentry> 動態載入到執行中的核心。大部份的核心驅動程式都有可載入的模組與操作手冊。例如 <citerefentry><refentrytitle>ath</refentrytitle><manvolnum>4</manvolnum></citerefentry> 無線乙太網路驅動程式在其操作手冊有以下資訊:</para> <screen xml:lang="en">Alternatively, to load the driver as a module at boot time, place the following line in <citerefentry><refentrytitle>loader.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>: if_ath_load="YES"</screen> - <para xml:lang="en">Adding <literal>if_ath_load="YES"</literal> to - <filename>/boot/loader.conf</filename> will load this module - dynamically at boot time.</para> + <para>加入 <literal>if_ath_load="YES"</literal> 到 <filename>/boot/loader.conf</filename> 會於開機期間自動載入這個模組。</para> - <para xml:lang="en">In some cases, there is no associated module in - <filename>/boot/kernel</filename>. This is mostly true for - certain subsystems.</para> + <para>部份情況在 <filename>/boot/kernel</filename> 會沒有相關的模組,這對於某些子系統大多是真的。</para> </sect1> <sect1 xml:id="kernelconfig-devices"> @@ -11942,7 +11833,7 @@ device fwe # Ethernet over FireWire (non-standard!)</programl <procedure> <step> - <para>建立一個目錄來儲存要被列印的檔案:</para> + <para>建立一個目錄來儲存要被列印的檔案:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>mkdir -p /var/spool/lpd/lp</userinput> <prompt>#</prompt> <userinput>chown daemon:daemon /var/spool/lpd/lp</userinput> @@ -11950,7 +11841,7 @@ device fwe # Ethernet over FireWire (non-standard!)</programl </step> <step> - <para>以 <systemitem class="username">root</systemitem> 建立 <filename>/etc/printcap</filename> 內容如下:</para> + <para>以 <systemitem class="username">root</systemitem> 建立 <filename>/etc/printcap</filename> 內容如下:</para> <programlisting xml:lang="en">lp:\ <replaceable>:lp=/dev/unlpt0:\</replaceable> <co xml:id="printing-qs-co-printcap"/> @@ -11961,13 +11852,13 @@ device fwe # Ethernet over FireWire (non-standard!)</programl <calloutlist> <callout arearefs="printing-qs-co-printcap"> - <para>此行是針對連接到 <acronym>USB</acronym> 埠的印表機:</para> + <para>此行是針對連接到 <acronym>USB</acronym> 埠的印表機:</para> - <para>連接到並列或 <quote>印表器 (Printer)</quote> 埠的印表機要使用:</para> + <para>連接到並列或 <quote>印表器 (Printer)</quote> 埠的印表機要使用:</para> <programlisting xml:lang="en">:lp=/dev/lpt0:\</programlisting> - <para>直接連接到網路的印表機要使用:</para> + <para>直接連接到網路的印表機要使用:</para> <programlisting xml:lang="en">:lp=:rm=<replaceable>network-printer-name</replaceable>:rp=raw:\</programlisting> @@ -11977,18 +11868,18 @@ device fwe # Ethernet over FireWire (non-standard!)</programl </step> <step> - <para>編輯 <filename>/etc/rc.conf</filename> 加入下行來開啟 <command>lpd</command>:</para> + <para>編輯 <filename>/etc/rc.conf</filename> 加入下行來開啟 <command>lpd</command>:</para> <programlisting xml:lang="en">lpd_enable="YES"</programlisting> - <para>啟動服務:</para> + <para>啟動服務:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>service lpd start</userinput> Starting lpd.</screen> </step> <step> - <para>測試列印:</para> + <para>測試列印:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>printf "1. This printer can print.\n2. This is the second line.\n" | lpr</userinput></screen> @@ -12018,7 +11909,7 @@ Starting lpd.</screen> <listitem> <para><acronym>USB</acronym> 印表機可以連接到電腦上任何可用的 <acronym>USB</acronym> 埠。</para> - <para>當 FreeBSD 偵測到 <acronym>USB</acronym> 印表機,會建立兩個裝置項目: <filename>/dev/ulpt0</filename> 以及 <filename>/dev/unlpt0</filename>,傳送到兩者任一裝置的資料都會被轉發到印表機。在每個列印工作完成後 <filename>ulpt0</filename> 便會重設 <acronym>USB</acronym> 埠,重設 <acronym>USB</acronym> 埠可能會在部份印表機造成問題,因此通常可以改使用 <filename>unlpt0</filename> 裝置。<filename>unlpt0</filename> 不會重設 USB 埠。</para> + <para>當 FreeBSD 偵測到 <acronym>USB</acronym> 印表機,會建立兩個裝置項目:<filename>/dev/ulpt0</filename> 以及 <filename>/dev/unlpt0</filename>,傳送到兩者任一裝置的資料都會被轉發到印表機。在每個列印工作完成後 <filename>ulpt0</filename> 便會重設 <acronym>USB</acronym> 埠,重設 <acronym>USB</acronym> 埠可能會在部份印表機造成問題,因此通常可以改使用 <filename>unlpt0</filename> 裝置。<filename>unlpt0</filename> 不會重設 USB 埠。</para> </listitem> </varlistentry> @@ -12076,7 +11967,7 @@ Starting lpd.</screen> <term xml:lang="en"><acronym>ASCII</acronym></term> <listitem> - <para>純 <acronym>ASCII</acronym> 文字是傳送資料到印表機最簡單的方式,一個字元對應一個要列印的文字: 資料中的 <literal>A</literal> 會列印一個 <literal>A</literal> 在頁面。可以使用的格式非常少,沒有辦法選擇字型或者比例間距。強迫使用簡單的純 <acronym>ASCII</acronym> 為的是讓文字可以直接從電腦列印只需一點或甚至不需要編碼或轉譯,列印的結果可直接對應傳送的內容。</para> + <para>純 <acronym>ASCII</acronym> 文字是傳送資料到印表機最簡單的方式,一個字元對應一個要列印的文字:資料中的 <literal>A</literal> 會列印一個 <literal>A</literal> 在頁面。可以使用的格式非常少,沒有辦法選擇字型或者比例間距。強迫使用簡單的純 <acronym>ASCII</acronym> 為的是讓文字可以直接從電腦列印只需一點或甚至不需要編碼或轉譯,列印的結果可直接對應傳送的內容。</para> <para>部份便宜印表機無法列印純 <acronym>ASCII</acronym> 文字,這讓這些印表機較難設定。</para> </listitem> @@ -12173,11 +12064,11 @@ Starting lpd.</screen> <sect1 xml:id="printing-direct"> <title>直接列印</title> - <para>對於偶爾列印,檔案可以直接傳送到印表機裝置,無需做任何設定。例如,要傳送一個名稱為 <filename>sample.txt</filename> 的檔案到 <acronym>USB</acronym> 印表機:</para> + <para>對於偶爾列印,檔案可以直接傳送到印表機裝置,無需做任何設定。例如,要傳送一個名稱為 <filename>sample.txt</filename> 的檔案到 <acronym>USB</acronym> 印表機:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>cp sample.txt /dev/unlpt0</userinput></screen> - <para>要直接使用網路印表機列印需看該印表機支援的功能,但大多數會接受埠號 9100 的列印作業,可使用 <citerefentry><refentrytitle>nc</refentrytitle><manvolnum>1</manvolnum></citerefentry> 來完成。要使用 <acronym>DNS</acronym> 主機名稱為 <replaceable>netlaser</replaceable> 的印表機列印與上述相同的檔案可:</para> + <para>要直接使用網路印表機列印需看該印表機支援的功能,但大多數會接受埠號 9100 的列印作業,可使用 <citerefentry><refentrytitle>nc</refentrytitle><manvolnum>1</manvolnum></citerefentry> 來完成。要使用 <acronym>DNS</acronym> 主機名稱為 <replaceable>netlaser</replaceable> 的印表機列印與上述相同的檔案可:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>nc <replaceable>netlaser</replaceable> 9100 < sample.txt</userinput></screen> </sect1> @@ -12192,13 +12083,13 @@ Starting lpd.</screen> <sect2 xml:id="printing-lpd-setup"> <title>初始設定</title> - <para>建立要用來儲存列印工作的目錄、設定擁有關係以及權限來避免其他使用者可以檢視這些檔案的內容:</para> + <para>建立要用來儲存列印工作的目錄、設定擁有關係以及權限來避免其他使用者可以檢視這些檔案的內容:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>mkdir -p /var/spool/lpd/lp</userinput> <prompt>#</prompt> <userinput>chown daemon:daemon /var/spool/lpd/lp</userinput> <prompt>#</prompt> <userinput>chmod 770 /var/spool/lpd/lp</userinput></screen> - <para>印表機會定義在 <filename>/etc/printcap</filename>,每台印表機項目所包含的詳細資料有名稱、連接的接頭以及各種其他設定。建立 <filename>/etc/printcap</filename> 使用以下內容:</para> + <para>印表機會定義在 <filename>/etc/printcap</filename>,每台印表機項目所包含的詳細資料有名稱、連接的接頭以及各種其他設定。建立 <filename>/etc/printcap</filename> 使用以下內容:</para> <programlisting xml:lang="en">lp:\ <co xml:id="printing-lpd-co-name"/> :lp=/dev/unlpt0:\ <co xml:id="printing-lpd-co-device"/> @@ -12240,11 +12131,11 @@ Starting lpd.</screen> <row> <entry>網路</entry> - <entry><para>針對支援 <acronym>LPD</acronym> 通訊協定的印表機:</para> + <entry><para>針對支援 <acronym>LPD</acronym> 通訊協定的印表機:</para> <programlisting xml:lang="en">:lp=:rm=<replaceable>network-printer-name</replaceable>:rp=raw:\</programlisting> - <para>針對支援使用埠號 9100 列印的印表機:</para> + <para>針對支援使用埠號 9100 列印的印表機:</para> <programlisting xml:lang="en">:lp=9100@<replaceable>network-printer-name</replaceable>:\</programlisting> @@ -12275,21 +12166,21 @@ Starting lpd.</screen> </callout> <callout arearefs="printing-lpd-co-lf"> - <para>記錄此印表機回報錯誤的記錄檔。</para> + <para>回報此印表機的錯誤的日誌檔。</para> </callout> </calloutlist> - <para>在建立 <filename>/etc/printcap</filename> 之後,使用 <citerefentry><refentrytitle>chkprintcap</refentrytitle><manvolnum>8</manvolnum></citerefentry> 測試印表機是否有錯誤:</para> + <para>在建立 <filename>/etc/printcap</filename> 之後,使用 <citerefentry><refentrytitle>chkprintcap</refentrytitle><manvolnum>8</manvolnum></citerefentry> 測試印表機是否有錯誤:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>chkprintcap</userinput></screen> <para>在繼續之前修正任何回報的問題。</para> - <para>開啟 <filename>/etc/rc.conf</filename> 中的 <citerefentry><refentrytitle>lpd</refentrytitle><manvolnum>8</manvolnum></citerefentry>:</para> + <para>開啟 <filename>/etc/rc.conf</filename> 中的 <citerefentry><refentrytitle>lpd</refentrytitle><manvolnum>8</manvolnum></citerefentry>:</para> <programlisting xml:lang="en">lpd_enable="YES"</programlisting> - <para>啟動服務:</para> + <para>啟動服務:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>service lpd start</userinput></screen> </sect2> @@ -12894,9 +12785,13 @@ lp: </indexterm> <indexterm><primary>Binary 相容性</primary> <secondary>Linux</secondary></indexterm> - <para>FreeBSD 提供和 32 位元 <trademark class="registered">Linux</trademark> Binary 的相容性,允許使用者在 FreeBSD 不需要修改就可以安裝和執行大部份 32 位元 <trademark class="registered">Linux</trademark> Binary。 曾經有報告指出,在某些情況下,32 位元 <trademark class="registered">Linux</trademark> Binary 在 FreeBSD 的表現比在 <trademark class="registered">Linux</trademark> 好。</para> + <para>FreeBSD 提供 <trademark class="registered">Linux</trademark> Binary 的相容性,允許使用者在 FreeBSD 系統上不需要修改就可以安裝和執行大部份的 <trademark class="registered">Linux</trademark> Binary。 曾經有報告指出,在某些情況下,<trademark class="registered">Linux</trademark> Binary 在 FreeBSD 的表現比在 <trademark class="registered">Linux</trademark> 好。</para> - <para>然而,部份 <trademark class="registered">Linux</trademark> 作業系統的特色在 FreeBSD 並未支援。 例如,如果 <trademark class="registered">Linux</trademark> Binary 過度使用 <trademark>i386</trademark> 特定的呼叫,像是啟動虛擬 8086 模式,將無法在 FreeBSD 執行。此外,64 位元 <trademark class="registered">Linux</trademark> Binary 目前也尚未支援。</para> + <para>然而,部份特定在 <trademark class="registered">Linux</trademark> 作業系統上的功能在 FreeBSD 並沒有支援。例如,若 <trademark class="registered">Linux</trademark> Binary 過度的使用 <trademark>i386</trademark> 特定的呼叫,如啟動虛擬 8086 模式,會無法在 FreeBSD 執行。</para> + + <note> + <para>FreeBSD 10.3 後支援 64 位元的 <trademark class="registered">Linux</trademark> Binary 相容性。</para> + </note> <para>讀完這章,您將了解︰</para> @@ -12939,6 +12834,10 @@ lp: <screen xml:lang="en"><prompt>#</prompt> <userinput>kldload linux</userinput></screen> + <para xml:lang="en">For 64-bit compatibility:</para> + + <screen xml:lang="en"><prompt>#</prompt> <userinput>kldload linux64</userinput></screen> + <para>確認模組已載入:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>kldstat</userinput> @@ -12956,6 +12855,9 @@ lp: <programlisting xml:lang="en">linux_enable="YES"</programlisting> + <para xml:lang="en">On 64-bit machines, <filename>/etc/rc.d/abi</filename> will + automatically load the module for 64-bit emulation.</para> + <indexterm><primary>核心選項</primary> <secondary>COMPAT_LINUX</secondary></indexterm> <para>想要靜態連結 <trademark class="registered">Linux</trademark> Binary 相容性到自訂核心的使用者應加入 <literal>options COMPAT_LINUX</literal> 到自訂核心設定檔。 編譯並安裝新核心的方法,如 <xref linkend="kernelconfig"/> 所述。</para> @@ -20928,32 +20830,55 @@ COPYRIGHT 100% |*****************************| 4735 <para xml:lang="en">Instead of using passwords, a client can be configured to connect to the remote machine using keys. To generate - <acronym>DSA</acronym> or <acronym>RSA</acronym> + <acronym>RSA</acronym> authentication keys, use <command>ssh-keygen</command>. To generate a public and private key pair, specify the type of key and follow the prompts. It is recommended to protect the keys with a memorable, but hard to guess passphrase.</para> - <screen xml:lang="en"><prompt>%</prompt> <userinput>ssh-keygen -t <replaceable>dsa</replaceable></userinput> -Generating public/private dsa key pair. -Enter file in which to save the key (/home/user/.ssh/id_dsa): -Created directory '/home/user/.ssh'. -Enter passphrase (empty for no passphrase): <replaceable>type some passphrase here which can contain spaces</replaceable> -Enter same passphrase again: <replaceable>type some passphrase here which can contain spaces</replaceable> -Your identification has been saved in /home/user/.ssh/id_dsa. -Your public key has been saved in /home/user/.ssh/id_dsa.pub. + <screen xml:lang="en"><prompt>%</prompt> <userinput>ssh-keygen -t rsa</userinput> +Generating public/private rsa key pair. +Enter file in which to save the key (/home/user/.ssh/id_rsa): +Enter passphrase (empty for no passphrase): <co xml:id="co-ssh-keygen-passphrase1"/> +Enter same passphrase again: <co xml:id="co-ssh-keygen-passphrase2"/> +Your identification has been saved in /home/user/.ssh/id_rsa. +Your public key has been saved in /home/user/.ssh/id_rsa.pub. The key fingerprint is: -bb:48:db:f2:93:57:80:b6:aa:bc:f5:d5:ba:8f:79:17 user@host.example.com</screen> - - <para xml:lang="en">Depending upon the specified protocol, the private key - is stored in <filename>~/.ssh/id_dsa</filename> (or - <filename>~/.ssh/id_rsa</filename>), and the public key - is stored in <filename>~/.ssh/id_dsa.pub</filename> (or - <filename>~/.ssh/id_rsa.pub</filename>). The - <emphasis>public</emphasis> key must be first copied to +SHA256:54Xm9Uvtv6H4NOo6yjP/YCfODryvUU7yWHzMqeXwhq8 user@host.example.com +The key's randomart image is: ++---[RSA 2048]----+ +| | +| | +| | +| . o.. | +| .S*+*o | +| . O=Oo . . | +| = Oo= oo..| +| .oB.* +.oo.| +| =OE**.o..=| ++----[SHA256]-----+</screen> + + <calloutlist> + <callout arearefs="co-ssh-keygen-passphrase1"> + <para xml:lang="en">Type a passphrase here. It can contain spaces and + symbols.</para> + </callout> + + <callout arearefs="co-ssh-keygen-passphrase2"> + <para xml:lang="en">Retype the passphrase to verify it.</para> + </callout> + </calloutlist> + + + <para xml:lang="en">The private key + is stored in <filename>~/.ssh/id_rsa</filename> + and the public key + is stored in <filename>~/.ssh/id_rsa.pub</filename>. + The + <emphasis>public</emphasis> key must be copied to <filename>~/.ssh/authorized_keys</filename> on the remote - machine in order for key-based authentication to + machine for key-based authentication to work.</para> <warning> @@ -20967,42 +20892,48 @@ bb:48:db:f2:93:57:80:b6:aa:bc:f5:d5:ba:8f:79:17 user@host.example.com</screen> passphrase. In addition, to better secure end users, <literal>from</literal> may be placed in the public key file. For example, adding - <literal>from="192.168.10.5"</literal> in the front of - <literal>ssh-rsa</literal> or <literal>rsa-dsa</literal> - prefix will only allow that specific user to login from + <literal>from="192.168.10.5"</literal> in front of the + <literal>ssh-rsa</literal> + prefix will only allow that specific user to log in from that <acronym>IP</acronym> address.</para> </warning> - <para xml:lang="en">The various options and files can be different - according to the <application>OpenSSH</application> version. + <para xml:lang="en">The options and files vary with different versions of + <application>OpenSSH</application>. To avoid problems, consult <citerefentry><refentrytitle>ssh-keygen</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para> - <para xml:lang="en">If a passphrase is used, the user will be prompted for + <para xml:lang="en">If a passphrase is used, the user is prompted for the passphrase each time a connection is made to the server. - To load <acronym>SSH</acronym> keys into memory, without - needing to type the passphrase each time, use + To load <acronym>SSH</acronym> keys into memory and remove + the need to type the passphrase each time, use <citerefentry><refentrytitle>ssh-agent</refentrytitle><manvolnum>1</manvolnum></citerefentry> and <citerefentry><refentrytitle>ssh-add</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para> <para xml:lang="en">Authentication is handled by - <command>ssh-agent</command>, using the private key(s) that - are loaded into it. Then, <command>ssh-agent</command> - should be used to launch another application such as a + <command>ssh-agent</command>, using the private keys that + are loaded into it. <command>ssh-agent</command> + can be used to launch another application like a shell or a window manager.</para> <para xml:lang="en">To use <command>ssh-agent</command> in a shell, start it - with a shell as an argument. Next, add the identity by - running <command>ssh-add</command> and providing it the - passphrase for the private key. Once these steps have been - completed, the user will be able to <command>ssh</command> + with a shell as an argument. Add the identity by + running <command>ssh-add</command> and entering the + passphrase for the private key. + The user will then be able to <command>ssh</command> to any host that has the corresponding public key installed. For example:</para> <screen xml:lang="en"><prompt>%</prompt> ssh-agent <replaceable>csh</replaceable> <prompt>%</prompt> ssh-add -Enter passphrase for key '/usr/home/user/.ssh/id_dsa': <replaceable>type passphrase here</replaceable> -Identity added: /usr/home/user/.ssh/id_dsa (/usr/home/user/.ssh/id_dsa) +Enter passphrase for key '/usr/home/user/.ssh/id_rsa': <co xml:id="co-ssh-agent-passphrase"/> +Identity added: /usr/home/user/.ssh/id_rsa (/usr/home/user/.ssh/id_rsa) <prompt>%</prompt></screen> + <calloutlist> + <callout arearefs="co-ssh-agent-passphrase"> + <para xml:lang="en">Enter the passphrase for the key.</para> + </callout> + </calloutlist> + <para xml:lang="en">To use <command>ssh-agent</command> in <application>Xorg</application>, add an entry for it in <filename>~/.xinitrc</filename>. This provides the @@ -26596,7 +26527,7 @@ ada0 recovered</screen> 79691810 4194236 3 freebsd-swap (2G) 83886046 18513921 - free - (8.8G)</screen> - <para>分割區只能重設大小到連續的未使用空間。在這個例子磁碟上最後的分割區為交換 (Swap) 分割區,而第二個分割區才是需要重設大小的分割區。交換分割區中只會有暫存的資料,所以可以安全的解除掛載、刪除,然後在重設其他分割區大小之後再重建。</para> + <para>分割區只能重設大小到連續的未使用空間。在這個例子磁碟上最後的分割區為交換 (Swap) 分割區,而第二個分割區才是需要重設大小的分割區。交換分割區中只會有暫存的資料,所以可以安全的卸載、刪除,然後在重設其他分割區大小之後再重建。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>swapoff <replaceable>/dev/ada0p3</replaceable></userinput> <prompt>#</prompt> <userinput>gpart delete -i <replaceable>3</replaceable> <replaceable>ada0</replaceable></userinput> @@ -26637,7 +26568,7 @@ ada0p3 added <para>擴增 <acronym>UFS</acronym> 檔案系統來使用重設分割區大小之後的新容量:</para> <note> - <para>只能在 FreeBSD 10.0-RELEASE 或之後的版本擴增運作中的 <acronym>UFS</acronym> 檔案系統,較先前的版本必須將檔案系統解除掛載。</para> + <para>只能在 FreeBSD 10.0-RELEASE 或之後的版本擴增運作中的 <acronym>UFS</acronym> 檔案系統,較先前的版本必須將檔案系統卸載。</para> </note> <screen xml:lang="en"><prompt>#</prompt> <userinput>growfs <replaceable>/dev/ada0p2</replaceable></userinput> @@ -26763,7 +26694,7 @@ vfs.usermount: 0 -> 1</screen> <screen xml:lang="en"><prompt>%</prompt> <userinput>mount -t msdosfs -o -m=644,-M=755 /dev/da0s1 /mnt/<replaceable>username</replaceable></userinput></screen> - <para>在裝置可以被拔除前,<emphasis>必須</emphasis>先解除掛載:</para> + <para>在裝置可以被拔除前,<emphasis>必須</emphasis>先卸載:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>umount /mnt/<replaceable>username</replaceable></userinput></screen> @@ -26814,7 +26745,7 @@ da0: <STECH Simple Drive 1.04> s/n WD-WXE508CAN263 detached <para>可以被自動掛載的檔案系統會在 <filename>/media/</filename> 中以目錄呈現,會以檔案系統的標籤來命名目錄,若標籤遺失,則會以裝置節點命名。</para> - <para>檔案系統會在第一次存取時自動掛載,並在一段時間未使用後自動解除掛載。自動掛載的磁碟也可手動解除掛載:</para> + <para>檔案系統會在第一次存取時自動掛載,並在一段時間未使用後自動卸載。自動掛載的磁碟也可手動卸載:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>automount -fu</userinput></screen> @@ -27815,7 +27746,7 @@ scsibus1: <listitem> <para xml:lang="en">Copies of whole file systems or disks which are - sychronized with another system on the network using a + synchronized with another system on the network using a scheduled <package>net/rsync</package>.</para> </listitem> @@ -29900,22 +29831,9 @@ esac</programlisting> <primary>Striping</primary> </indexterm> - <para xml:lang="en">Striping combines several disk drives into a single volume. - Striping can be performed through the use of hardware - <acronym>RAID</acronym> controllers. The - <acronym>GEOM</acronym> disk subsystem provides software support - for disk striping, also known as <acronym>RAID0</acronym>, - without the need for a <acronym>RAID</acronym> disk - controller.</para> + <para>串連會合併數個磁碟成單一個磁碟區 (Volume)。串連可以透過使用硬體 <acronym>RAID</acronym> 控制器來達到。<acronym>GEOM</acronym> 磁碟子系統提供了軟體支援的磁碟串連,也就是所謂的 <acronym>RAID0</acronym>,而不需要 <acronym>RAID</acronym> 磁碟控制器。</para> - <para xml:lang="en">In <acronym>RAID0</acronym>, data is split into blocks that - are written across all the drives in the array. As seen in the - following illustration, instead of having to wait on the system - to write 256k to one disk, <acronym>RAID0</acronym> can - simultaneously write 64k to each of the four disks in the array, - offering superior <acronym>I/O</acronym> performance. This - performance can be enhanced further by using multiple disk - controllers.</para> + <para>在 <acronym>RAID0</acronym> 中,資料會被切割成數個資料區塊 (Block) 寫入到磁碟陣列中的每一個磁碟機。如下圖所示,取代以往等候系統寫入 256k 到一個磁碟的時間, <acronym>RAID0</acronym> 可以同時寫入 64k 到磁碟陣列中四個磁碟的每個磁碟,這可提供優異的 <acronym>I/O</acronym> 效能,若使用多個磁碟控制器可增加更多的效能。</para> <mediaobject xml:lang="en"> <imageobject> @@ -29927,17 +29845,10 @@ esac</programlisting> </textobject> </mediaobject> - <para xml:lang="en">Each disk in a <acronym>RAID0</acronym> stripe must be of - the same size, since <acronym>I/O</acronym> requests are - interleaved to read or write to multiple disks in - parallel.</para> + <para>在 <acronym>RAID0</acronym> 串連中的每個磁碟必須要相同大小,因為 <acronym>I/O</acronym> 的請求是平行交錯讀取或寫入到多個磁碟的。</para> <note> - <para xml:lang="en"><acronym>RAID0</acronym> does <emphasis>not</emphasis> - provide any redundancy. This means that if one disk in the - array fails, all of the data on the disks is lost. If the - data is important, implement a backup strategy that regularly - saves backups to a remote system or device.</para> + <para><acronym>RAID0</acronym> 並<emphasis>不</emphasis>提供任何備援 (Redundancy) 功能。這意謂著若磁碟陣列中的其中一個磁碟故障,所有在該磁碟上的資料便會遺失。若資料很重要,請規畫備份策略,定期儲存備份到遠端系統或裝置。</para> </note> <para xml:lang="en">The process for creating a software, @@ -30044,15 +29955,7 @@ Done.</screen> <primary>RAID1</primary> </indexterm> - <para xml:lang="en"><acronym>RAID1</acronym>, or - <emphasis>mirroring</emphasis>, is the technique of writing - the same data to more than one disk drive. Mirrors are usually - used to guard against data loss due to drive failure. Each - drive in a mirror contains an identical copy of the data. When - an individual drive fails, the mirror continues to work, - providing data from the drives that are still functioning. The - computer keeps running, and the administrator has time to - replace the failed drive without user interruption.</para> + <para><acronym>RAID1</acronym> 或<emphasis>鏡像</emphasis>是一項寫入相同資料到超過一個磁碟機的技術。鏡像通常用來保護資料因磁碟機故障導致的損失,每個在鏡像中的磁碟機會擁有完全相同的資料,當各別磁碟機故障時,鏡像會繼續運作,由還可運作的磁碟機提供資料。電腦會繼續執行,等到管理者有時間更換故障的硬碟,而不會被使用者中斷運作。</para> <para xml:lang="en">Two common situations are illustrated in these examples. The first creates a mirror out of two new drives and uses it as @@ -31514,115 +31417,55 @@ ufsid/486b6fc16926168e N/A ad4s1f</screen> </authorgroup> </info> - <para xml:lang="en">The <emphasis>Z File System</emphasis>, or - <acronym>ZFS</acronym>, is an advanced file system designed to - overcome many of the major problems found in previous - designs.</para> + <para><emphasis>Z 檔案系統</emphasis> 或 <acronym>ZFS</acronym> 是設計來克服許多在以往設計中發現的主要問題的一個先進的檔案系統。</para> - <para xml:lang="en">Originally developed at <trademark>Sun</trademark>, ongoing open source - <acronym>ZFS</acronym> development has moved to the <link xlink:href="http://open-zfs.org">OpenZFS Project</link>.</para> + <para>最初由 <trademark>Sun</trademark> 所開發,後來的開放源始碼 <acronym>ZFS</acronym> 開發已移到 <link xlink:href="http://open-zfs.org">OpenZFS 計劃</link>。</para> - <para xml:lang="en"><acronym>ZFS</acronym> has three major design goals:</para> + <para><acronym>ZFS</acronym> 的設計目標主要有三個:</para> <itemizedlist> <listitem> - <para xml:lang="en">Data integrity: All data includes a - <link linkend="zfs-term-checksum">checksum</link> of the data. - When data is written, the checksum is calculated and written - along with it. When that data is later read back, the - checksum is calculated again. If the checksums do not match, - a data error has been detected. <acronym>ZFS</acronym> will - attempt to automatically correct errors when data redundancy - is available.</para> + <para>資料完整性:所有資料都會有一個資料的校驗碼 (<link linkend="zfs-term-checksum">checksum</link>),資被寫入時會計算校驗碼然後一併寫入,往後讀取資料時又會再計算一次校驗碼,若校驗碼與當初寫入時不相符,便可偵測到資料錯誤,此時若有可用的資料備援 (Data redundancy),<acronym>ZFS</acronym> 會嘗試自動修正錯誤。</para> </listitem> <listitem> - <para xml:lang="en">Pooled storage: physical storage devices are added to a - pool, and storage space is allocated from that shared pool. - Space is available to all file systems, and can be increased - by adding new storage devices to the pool.</para> + <para>儲存池:實體的儲存裝置都會被加入到一個儲存池 (Pool),然後會使用這個共用的儲存池來配置儲存空間,空間可給所有的檔案系統使用,而空間可透過加入新的儲存裝置到儲存池來增加。</para> </listitem> <listitem> - <para xml:lang="en">Performance: multiple caching mechanisms provide increased - performance. <link linkend="zfs-term-arc">ARC</link> is an - advanced memory-based read cache. A second level of - disk-based read cache can be added with - <link linkend="zfs-term-l2arc">L2ARC</link>, and disk-based - synchronous write cache is available with - <link linkend="zfs-term-zil">ZIL</link>.</para> + <para>效能:提供多個快取機制來增加效能。先進、以記憶體為基礎的讀取快取可使用 <link linkend="zfs-term-arc">ARC</link>。第二層以磁碟為基礎的讀取快取可使用 <link linkend="zfs-term-l2arc">L2ARC</link>,以磁碟為基礎的同步寫入快取則可使用 <link linkend="zfs-term-zil">ZIL</link>。</para> </listitem> </itemizedlist> - <para xml:lang="en">A complete list of features and terminology is shown in - <xref linkend="zfs-term"/>.</para> + <para>完整的功能清單與術語在 <xref linkend="zfs-term"/> 中有詳述。</para> <sect1 xml:id="zfs-differences"> <title>什麼使 <acronym>ZFS</acronym> 與眾不同</title> - <para xml:lang="en"><acronym>ZFS</acronym> is significantly different from any - previous file system because it is more than just a file system. - Combining the traditionally separate roles of volume manager and - file system provides <acronym>ZFS</acronym> with unique - advantages. The file system is now aware of the underlying - structure of the disks. Traditional file systems could only be - created on a single disk at a time. If there were two disks - then two separate file systems would have to be created. In a - traditional hardware <acronym>RAID</acronym> configuration, this - problem was avoided by presenting the operating system with a - single logical disk made up of the space provided by a number of - physical disks, on top of which the operating system placed a - file system. Even in the case of software - <acronym>RAID</acronym> solutions like those provided by - <acronym>GEOM</acronym>, the <acronym>UFS</acronym> file system - living on top of the <acronym>RAID</acronym> transform believed - that it was dealing with a single device. - <acronym>ZFS</acronym>'s combination of the volume manager and - the file system solves this and allows the creation of many file - systems all sharing a pool of available storage. One of the - biggest advantages to <acronym>ZFS</acronym>'s awareness of the - physical layout of the disks is that existing file systems can - be grown automatically when additional disks are added to the - pool. This new space is then made available to all of the file - systems. <acronym>ZFS</acronym> also has a number of different - properties that can be applied to each file system, giving many - advantages to creating a number of different file systems and - datasets rather than a single monolithic file system.</para> + <para><acronym>ZFS</acronym> 與任何以往的檔案系統有顯著的不同,它並不只是一個檔案系統,結合了傳統磁碟區管理程式 (Volume Manager) 及檔案系統兩個獨立的角色,造就了 <acronym>ZFS</acronym> 獨特的優點,讓檔案系統現在可以察覺磁碟底層結構的變動。傳統在一個磁碟上只能建立一個檔案系統,若有兩個磁碟則會需要建立兩個分開的檔案系統,這個問題在傳統硬體 <acronym>RAID</acronym> 上可以透過呈現一個單一的邏輯磁碟給作業系統來解決,這個磁碟的空間實際上由數個實體磁碟所組成,而作業系統便可在這個邏輯磁碟上放置檔案系統,即使在像 <acronym>GEOM</acronym> 提供的軟體 <acronym>RAID</acronym> 解決方案也是一樣,把 <acronym>RAID</acronym> transform 當做是一個單一的裝置,把 <acronym>UFS</acronym> 檔案系統放在上面。<acronym>ZFS</acronym> 結合了 Volume Manager 與檔案系統來解決這個問題並讓建立的許多檔案系統可以共用一個儲存池 (Pool)。<acronym>ZFS</acronym> 最大的優點是可以察覺實體磁碟配置的變動,當有額外的磁碟加入到儲存池時可以自動擴增即有的檔案系統,所有的檔案系統便可使用這個新的空間。<acronym>ZFS</acronym> 也有數個不同的屬性可以套用到各別檔案系統上,比起單一檔案系統,對建立數個不同檔案系統與資料集 (Dataset) 時有許多的好處。</para> </sect1> <sect1 xml:id="zfs-quickstart"> <title>快速入門指南</title> - <para xml:lang="en">There is a startup mechanism that allows FreeBSD to mount - <acronym>ZFS</acronym> pools during system initialization. To - enable it, add this line to - <filename>/etc/rc.conf</filename>:</para> + <para>這裡有一個啟動機制,可讓 FreeBSD 在系統初始化時掛載 <acronym>ZFS</acronym> 儲存池。要開啟這個功能,可加入此行到 <filename>/etc/rc.conf</filename>:</para> <programlisting xml:lang="en">zfs_enable="YES"</programlisting> - <para xml:lang="en">Then start the service:</para> + <para>然後啟動服務:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>service zfs start</userinput></screen> - <para xml:lang="en">The examples in this section assume three - <acronym>SCSI</acronym> disks with the device names - <filename><replaceable>da0</replaceable></filename>, - <filename><replaceable>da1</replaceable></filename>, and - <filename><replaceable>da2</replaceable></filename>. Users - of <acronym>SATA</acronym> hardware should instead use - <filename><replaceable>ada</replaceable></filename> device - names.</para> + <para>這本節的例子會假設有三個 <acronym>SCSI</acronym> 磁碟,名稱分別為 <filename><replaceable>da0</replaceable></filename>, <filename><replaceable>da1</replaceable></filename> 及 <filename><replaceable>da2</replaceable></filename>。<acronym>SATA</acronym> 硬體的使用者裝置名稱改為 <filename><replaceable>ada</replaceable></filename> 。</para> <sect2 xml:id="zfs-quickstart-single-disk-pool"> <title>單磁碟儲存池</title> - <para xml:lang="en">To create a simple, non-redundant pool using a single - disk device:</para> + <para>要使用一個磁碟裝置建立一個簡單、無備援的儲存池可:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool create <replaceable>example</replaceable> <replaceable>/dev/da0</replaceable></userinput></screen> - <para xml:lang="en">To view the new pool, review the output of - <command>df</command>:</para> + <para>要檢視這個新的儲存池,可查看 <command>df</command> 的輸出結果:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>df</userinput> Filesystem 1K-blocks Used Avail Capacity Mounted on @@ -31631,10 +31474,7 @@ devfs 1 1 0 100% /dev /dev/ad0s1d 54098308 1032846 48737598 2% /usr example 17547136 0 17547136 0% /example</screen> - <para xml:lang="en">This output shows that the <literal>example</literal> pool - has been created and mounted. It is now accessible as a file - system. Files can be created on it and users can browse - it:</para> + <para>這個輸出結果說明 <literal>example</literal> 儲存池已建立且被掛載,現在已經可以作為檔案系統存取,可以在上面建立檔案且使用者可以瀏覽:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>cd /example</userinput> <prompt>#</prompt> <userinput>ls</userinput> @@ -31645,25 +31485,18 @@ drwxr-xr-x 2 root wheel 3 Aug 29 23:15 . drwxr-xr-x 21 root wheel 512 Aug 29 23:12 .. -rw-r--r-- 1 root wheel 0 Aug 29 23:15 testfile</screen> - <para xml:lang="en">However, this pool is not taking advantage of any - <acronym>ZFS</acronym> features. To create a dataset on this - pool with compression enabled:</para> + <para>但是,這個儲存池並未運用到任何 <acronym>ZFS</acronym> 功能,若要在這個儲存池上建立一個有開啟壓縮的資料集:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs create example/compressed</userinput> <prompt>#</prompt> <userinput>zfs set compression=gzip example/compressed</userinput></screen> - <para xml:lang="en">The <literal>example/compressed</literal> dataset is now a - <acronym>ZFS</acronym> compressed file system. Try copying - some large files to - <filename>/example/compressed</filename>.</para> + <para><literal>example/compressed</literal> 資料集現在是一個 <acronym>ZFS</acronym> 壓縮的檔案系統,可以試著複製較大的檔案到 <filename>/example/compressed</filename>。</para> - <para xml:lang="en">Compression can be disabled with:</para> + <para>壓縮也可以使用以下指令關閉:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs set compression=off example/compressed</userinput></screen> - <para xml:lang="en">To unmount a file system, use - <command>zfs umount</command> and then verify with - <command>df</command>:</para> + <para>要卸載檔案系統,使用 <command>zfs umount</command> 然後再使用 <command>df</command> 確認:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs umount example/compressed</userinput> <prompt>#</prompt> <userinput>df</userinput> @@ -31673,9 +31506,7 @@ devfs 1 1 0 100% /dev /dev/ad0s1d 54098308 1032864 48737580 2% /usr example 17547008 0 17547008 0% /example</screen> - <para xml:lang="en">To re-mount the file system to make it accessible again, - use <command>zfs mount</command> and verify with - <command>df</command>:</para> + <para>要重新掛載檔案系統以便再次使用,使用 use <command>zfs mount</command> 然後以 <command>df</command> 檢查:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs mount example/compressed</userinput> <prompt>#</prompt> <userinput>df</userinput> @@ -31686,8 +31517,7 @@ devfs 1 1 0 100% /dev example 17547008 0 17547008 0% /example example/compressed 17547008 0 17547008 0% /example/compressed</screen> - <para xml:lang="en">The pool and file system may also be observed by viewing - the output from <command>mount</command>:</para> + <para>儲存池與檔案系統也可以從 <command>mount</command> 的結果查詢到:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>mount</userinput> /dev/ad0s1a on / (ufs, local) @@ -31696,19 +31526,12 @@ devfs on /dev (devfs, local) example on /example (zfs, local) example/compressed on /example/compressed (zfs, local)</screen> - <para xml:lang="en">After creation, <acronym>ZFS</acronym> datasets can be - used like any file systems. However, many other features are - available which can be set on a per-dataset basis. In the - example below, a new file system called - <literal>data</literal> is created. Important files will be - stored here, so it is configured to keep two copies of each - data block:</para> + <para>在建立之後,<acronym>ZFS</acronym> 的資料集可如同其他檔案系統一般使用,且有許多額外功能可在每個資料集上設定。例如,建立一個新的檔案系統 <literal>data</literal>,此處預計存放重要的資料,所以會設定每個資料區 (Data block) 要保留兩份備份:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs create example/data</userinput> <prompt>#</prompt> <userinput>zfs set copies=2 example/data</userinput></screen> - <para xml:lang="en">It is now possible to see the data and space utilization - by issuing <command>df</command>:</para> + <para>現在,可以使用 <command>df</command> 指令來查看資料與空間的使用率:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>df</userinput> Filesystem 1K-blocks Used Avail Capacity Mounted on @@ -31719,16 +31542,9 @@ example 17547008 0 17547008 0% /example example/compressed 17547008 0 17547008 0% /example/compressed example/data 17547008 0 17547008 0% /example/data</screen> - <para xml:lang="en">Notice that each file system on the pool has the same - amount of available space. This is the reason for using - <command>df</command> in these examples, to show that the file - systems use only the amount of space they need and all draw - from the same pool. <acronym>ZFS</acronym> eliminates - concepts such as volumes and partitions, and allows multiple - file systems to occupy the same pool.</para> + <para>注意,從這個可以發現每個在儲存池上的檔案系統都擁有相同的可用空間,這是為什麼要在這些範例使用 <command>df</command> 的原因,為了要顯示檔案系統只會用它們所需要使用到的空間,且均取自同一個儲存池。<acronym>ZFS</acronym> 淘汰了磁碟區 (Volume) 與分割區 (Partition) 的概念,且允許多個檔案系統共用相同的儲存池。</para> - <para xml:lang="en">To destroy the file systems and then destroy the pool as - it is no longer needed:</para> + <para>不需要使用時可摧毀檔案系統後再摧毀儲存池:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs destroy example/compressed</userinput> <prompt>#</prompt> <userinput>zfs destroy example/data</userinput> @@ -31738,94 +31554,57 @@ example/data 17547008 0 17547008 0% /example/data</screen> <sect2 xml:id="zfs-quickstart-raid-z"> <title xml:lang="en">RAID-Z</title> - <para xml:lang="en">Disks fail. One method of avoiding data loss from disk - failure is to implement <acronym>RAID</acronym>. - <acronym>ZFS</acronym> supports this feature in its pool - design. <acronym>RAID-Z</acronym> pools require three or more - disks but provide more usable space than mirrored - pools.</para> + <para>磁碟損壞時,要避免資料因磁碟故障造成遺失便是使用 <acronym>RAID</acronym>。<acronym>ZFS</acronym> 在它的儲存池設計中支援了這項功能。<acronym>RAID-Z</acronym> 儲存池需要使用三個或更多的磁碟,但可以提供比鏡像 (Mirror) 儲存池更多的可用空間。</para> - <para xml:lang="en">This example creates a <acronym>RAID-Z</acronym> pool, - specifying the disks to add to the pool:</para> + <para>這個例子會建立一個 <acronym>RAID-Z</acronym> 儲存池,並指定要加入這個儲存池的磁碟:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool create storage raidz da0 da1 da2</userinput></screen> <note> - <para xml:lang="en"><trademark>Sun</trademark> recommends that the number of devices used in a - <acronym>RAID</acronym>-Z configuration be between three and - nine. For environments requiring a single pool consisting - of 10 disks or more, consider breaking it up into smaller - <acronym>RAID-Z</acronym> groups. If only two disks are - available and redundancy is a requirement, consider using a - <acronym>ZFS</acronym> mirror. Refer to <citerefentry><refentrytitle>zpool</refentrytitle><manvolnum>8</manvolnum></citerefentry> for - more details.</para> + <para><trademark>Sun</trademark> 建議用在 <acronym>RAID</acronym>-Z 設定的裝置數在三到九個之間。若需要由 10 個或更多磁碟組成單一儲存池環境,請考慮是否分成較小的 <acronym>RAID-Z</acronym> 群組。若只有兩個可用的磁碟且需要做備援 (Redundancy),請考慮使用 <acronym>ZFS</acronym> 鏡像 (Mirror)。請參考 <citerefentry><refentrytitle>zpool</refentrytitle><manvolnum>8</manvolnum></citerefentry> 取得更多詳細資訊。</para> </note> - <para xml:lang="en">The previous example created the - <literal>storage</literal> zpool. This example makes a new - file system called <literal>home</literal> in that - pool:</para> + <para>先前的例子已經建立了 <literal>storage</literal> zpool,現在這個例子會在該儲存池中建立一個新的檔案系統,名稱為 <literal>home</literal>:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs create storage/home</userinput></screen> - <para xml:lang="en">Compression and keeping extra copies of directories - and files can be enabled:</para> + <para>可以設定開啟壓縮及保留目錄及檔案額外備份的功能:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs set copies=2 storage/home</userinput> <prompt>#</prompt> <userinput>zfs set compression=gzip storage/home</userinput></screen> - <para xml:lang="en">To make this the new home directory for users, copy the - user data to this directory and create the appropriate - symbolic links:</para> + <para>要讓這個空間做為使用者的新家目錄位置,複製使用者資料到這個目錄並建立適合的符號連結 (Symbolic link):</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>cp -rp /home/* /storage/home</userinput> <prompt>#</prompt> <userinput>rm -rf /home /usr/home</userinput> <prompt>#</prompt> <userinput>ln -s /storage/home /home</userinput> <prompt>#</prompt> <userinput>ln -s /storage/home /usr/home</userinput></screen> - <para xml:lang="en">Users data is now stored on the freshly-created - <filename>/storage/home</filename>. Test by adding a new user - and logging in as that user.</para> + <para>現在使用者的資料會儲存在新建立的 <filename>/storage/home</filename>,可以加入新使用者並登入該使用者來測試。</para> - <para xml:lang="en">Try creating a file system snapshot which can be rolled - back later:</para> + <para>試著建立檔案系統快照 (Snapshot),稍後可用來還原 (Rollback):</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs snapshot storage/home@08-30-08</userinput></screen> - <para xml:lang="en">Snapshots can only be made of a full file system, not a - single directory or file.</para> + <para>只可以對整個檔案系統做快照,無法針對各別目錄或檔案。</para> - <para xml:lang="en">The <literal>@</literal> character is a delimiter between - the file system name or the volume name. If an important - directory has been accidentally deleted, the file system can - be backed up, then rolled back to an earlier snapshot when the - directory still existed:</para> + <para><literal>@</literal> 是用來區隔檔案系統 (File system) 名稱或磁碟區 (Volume) 名稱的字元,若有重要的目錄意外被刪除,檔案系統可以備份然後還原到先前目錄還存在時的快照 (Snapshot):</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs rollback storage/home@08-30-08</userinput></screen> - <para xml:lang="en">To list all available snapshots, run - <command>ls</command> in the file system's - <filename>.zfs/snapshot</filename> directory. For example, to - see the previously taken snapshot:</para> + <para>要列出所有可用的快照,可在檔案系統的 <filename>.zfs/snapshot</filename> 目錄執行 <command>ls</command>,舉例來說,要查看先前已做的快照:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>ls /storage/home/.zfs/snapshot</userinput></screen> - <para xml:lang="en">It is possible to write a script to perform regular - snapshots on user data. However, over time, snapshots can - consume a great deal of disk space. The previous snapshot can - be removed using the command:</para> + <para>也可以寫一個 Script 來對使用者資料做例行性的快照,但隨著時間快照可能消耗大量的磁碟空間。先前的快照可以使用指令移除:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs destroy storage/home@08-30-08</userinput></screen> - <para xml:lang="en">After testing, <filename>/storage/home</filename> can be - made the real <filename>/home</filename> using this - command:</para> + <para>在測試之後,便可讓 <filename>/storage/home</filename> 成為真正的 <filename>/home</filename> 使用此指令:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs set mountpoint=/home storage/home</userinput></screen> - <para xml:lang="en">Run <command>df</command> and <command>mount</command> to - confirm that the system now treats the file system as the real - <filename>/home</filename>:</para> + <para>執行 <command>df</command> 興 <command>mount</command> 來確認系統現在是否以把檔案系統做為真正的 <filename>/home</filename>:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>mount</userinput> /dev/ad0s1a on / (ufs, local) @@ -31841,11 +31620,7 @@ devfs 1 1 0 100% /dev storage 26320512 0 26320512 0% /storage storage/home 26320512 0 26320512 0% /home</screen> - <para xml:lang="en">This completes the <acronym>RAID-Z</acronym> - configuration. Daily status updates about the file systems - created can be generated as part of the nightly - <citerefentry><refentrytitle>periodic</refentrytitle><manvolnum>8</manvolnum></citerefentry> runs. Add this line to - <filename>/etc/periodic.conf</filename>:</para> + <para>這個動作完成 <acronym>RAID-Z</acronym> 最後的設定,有關已建立的檔案系統每日狀態更新可以做為 <citerefentry><refentrytitle>periodic</refentrytitle><manvolnum>8</manvolnum></citerefentry> 的一部份在每晚執行。加入此行到 <filename>/etc/periodic.conf</filename>:</para> <programlisting xml:lang="en">daily_status_zfs_enable="YES"</programlisting> </sect2> @@ -31853,22 +31628,15 @@ storage/home 26320512 0 26320512 0% /home</screen> <sect2 xml:id="zfs-quickstart-recovering-raid-z"> <title>復原 <acronym>RAID-Z</acronym></title> - <para xml:lang="en">Every software <acronym>RAID</acronym> has a method of - monitoring its <literal>state</literal>. The status of - <acronym>RAID-Z</acronym> devices may be viewed with this - command:</para> + <para>每個軟體 <acronym>RAID</acronym> 都有監控其狀態 (<literal>state</literal>) 的方式,<acronym>RAID-Z</acronym> 裝置的狀態可以使用這個指令來查看:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool status -x</userinput></screen> - <para xml:lang="en">If all pools are - <link linkend="zfs-term-online">Online</link> and everything - is normal, the message shows:</para> + <para>如果所有儲存池為上線 (<link linkend="zfs-term-online">Online</link>) 且正常,則訊息會顯示:</para> <screen xml:lang="en">all pools are healthy</screen> - <para xml:lang="en">If there is an issue, perhaps a disk is in the - <link linkend="zfs-term-offline">Offline</link> state, the - pool state will look similar to:</para> + <para>如果有發生問題,可能磁碟會呈現離線 (<link linkend="zfs-term-offline">Offline</link>) 的狀態,此時儲存池的狀態會是:</para> <screen xml:lang="en"> pool: storage state: DEGRADED @@ -31889,20 +31657,15 @@ config: errors: No known data errors</screen> - <para xml:lang="en">This indicates that the device was previously taken - offline by the administrator with this command:</para> + <para>這代表著裝置在之前被管理者使用此指令拿下線:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool offline storage da1</userinput></screen> - <para xml:lang="en">Now the system can be powered down to replace - <filename>da1</filename>. When the system is back online, - the failed disk can replaced in the pool:</para> + <para>現在系統可以關機然後更換 <filename>da1</filename>,當系統恢復上線,則可以替換掉儲存池中故障的磁碟:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool replace storage da1</userinput></screen> - <para xml:lang="en">From here, the status may be checked again, this time - without <option>-x</option> so that all pools are - shown:</para> + <para>到這裡,可以再檢查狀態一次,這時不使用 <option>-x</option> 參數來顯示所有的儲存池:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool status storage</userinput> pool: storage @@ -31919,37 +31682,23 @@ config: errors: No known data errors</screen> - <para xml:lang="en">In this example, everything is normal.</para> + <para>在這個例子中,所有的磁碟均正常運作。</para> </sect2> <sect2 xml:id="zfs-quickstart-data-verification"> <title>資料檢驗</title> - <para xml:lang="en"><acronym>ZFS</acronym> uses checksums to verify the - integrity of stored data. These are enabled automatically - upon creation of file systems.</para> + <para><acronym>ZFS</acronym> 使用校驗碼 (Checksum) 來檢驗資料的完整性 (Integrity),在建立檔案系統時便會自動開啟。</para> <warning> - <para xml:lang="en">Checksums can be disabled, but it is - <emphasis>not</emphasis> recommended! Checksums take very - little storage space and provide data integrity. Many - <acronym>ZFS</acronym> features will not work properly with - checksums disabled. There is no noticeable performance gain - from disabling these checksums.</para> + <para>校驗碼 (Checksum) 可以關閉,但並<emphasis>不</emphasis>建議!校驗碼只會使用非常少的儲存空間來確保資料的完整性。校驗碼若關閉會使許多 <acronym>ZFS</acronym> 功能無法正常運作,關閉校驗碼功能並不會明顯的改善效能。</para> </warning> - <para xml:lang="en">Checksum verification is known as - <emphasis>scrubbing</emphasis>. Verify the data integrity of - the <literal>storage</literal> pool with this command:</para> + <para>檢驗校驗碼這個動作即所謂的<emphasis>清潔 (Scrub)</emphasis>,可以使用以下指令來檢驗 <literal>storage</literal> 儲存池的資料完整性:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool scrub storage</userinput></screen> - <para xml:lang="en">The duration of a scrub depends on the amount of data - stored. Larger amounts of data will take proportionally - longer to verify. Scrubs are very <acronym>I/O</acronym> - intensive, and only one scrub is allowed to run at a time. - After the scrub completes, the status can be viewed with - <command>status</command>:</para> + <para>清潔所需要的時間依儲存的資料量而定,較大的資料量相對會需要花費較長的時間來檢驗。清潔對 <acronym>I/O</acronym> 的操作非常密集,且一次只能進行一個清潔動作。在清潔完成之後,可以使用 <command>status</command> 來查看狀態:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool status storage</userinput> pool: storage @@ -31966,49 +31715,23 @@ config: errors: No known data errors</screen> - <para xml:lang="en">The completion date of the last scrub operation is - displayed to help track when another scrub is required. - Routine scrubs help protect data from silent corruption and - ensure the integrity of the pool.</para> + <para>查詢結果會顯示上次完成清潔的時間來協助追蹤是否要再做清潔。定期清潔可以協助保護資料不會默默損壞且確保儲存池的完整性。</para> - <para xml:lang="en">Refer to <citerefentry><refentrytitle>zfs</refentrytitle><manvolnum>8</manvolnum></citerefentry> and <citerefentry><refentrytitle>zpool</refentrytitle><manvolnum>8</manvolnum></citerefentry> for other - <acronym>ZFS</acronym> options.</para> + <para>請參考 <citerefentry><refentrytitle>zfs</refentrytitle><manvolnum>8</manvolnum></citerefentry> 及 <citerefentry><refentrytitle>zpool</refentrytitle><manvolnum>8</manvolnum></citerefentry> 來取得其他 <acronym>ZFS</acronym> 選項。</para> </sect2> </sect1> <sect1 xml:id="zfs-zpool"> <title><command>zpool</command> 管理</title> - <para xml:lang="en"><acronym>ZFS</acronym> administration is divided between two - main utilities. The <command>zpool</command> utility controls - the operation of the pool and deals with adding, removing, - replacing, and managing disks. The - <link linkend="zfs-zfs"><command>zfs</command></link> utility - deals with creating, destroying, and managing datasets, - both <link linkend="zfs-term-filesystem">file systems</link> and - <link linkend="zfs-term-volume">volumes</link>.</para> + <para><acronym>ZFS</acronym> 管理分成兩個主要的工具。<command>zpool</command> 工具用來控制儲存池的運作並可處理磁碟的新增、移除、更換與管理。<link linkend="zfs-zfs"><command>zfs</command></link> 工具用來建立、摧毀與管理檔案系統 (<link linkend="zfs-term-filesystem">File system</link>) 與磁碟區 (<link linkend="zfs-term-volume">Volume</link>) 的資料集。</para> <sect2 xml:id="zfs-zpool-create"> <title>建立與摧毀儲存池</title> - <para xml:lang="en">Creating a <acronym>ZFS</acronym> storage pool - (<emphasis>zpool</emphasis>) involves making a number of - decisions that are relatively permanent because the structure - of the pool cannot be changed after the pool has been created. - The most important decision is what types of vdevs into which - to group the physical disks. See the list of - <link linkend="zfs-term-vdev">vdev types</link> for details - about the possible options. After the pool has been created, - most vdev types do not allow additional disks to be added to - the vdev. The exceptions are mirrors, which allow additional - disks to be added to the vdev, and stripes, which can be - upgraded to mirrors by attaching an additional disk to the - vdev. Although additional vdevs can be added to expand a - pool, the layout of the pool cannot be changed after pool - creation. Instead, the data must be backed up and the - pool destroyed and recreated.</para> - - <para xml:lang="en">Create a simple mirror pool:</para> + <para>建立 <acronym>ZFS</acronym> 儲存池 (<emphasis>zpool</emphasis>) 要做幾個涉及長遠規劃的決定,因為建立儲存池之後便無法再更改儲存池的結構。最重要的決定是要使用那一種型態的 vdev 來將實體磁碟設為同一群組。請參考 <link linkend="zfs-term-vdev">vdev 型態</link> 的清單來取得有關可用選項的詳細資訊。大部份的 vdev 型態不允許在建立儲存池之後再加入額外的磁碟,鏡像 (Mirror) 是其中一個例外,可以允許加入額外的磁碟到 vdev,另一個則是串連 (Stripe),可以加入額外的磁碟到 vdev 來升級為鏡像。雖然可以加入額外的 vdev 來擴充儲存池,但儲存池的配置在建立之後便無法更改,若要要更改,則必須備份資料,把儲存池摧毀後再重新建立。</para> + + <para>建立一個簡單的鏡像儲存池:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool create <replaceable>mypool</replaceable> mirror <replaceable>/dev/ada1</replaceable> <replaceable>/dev/ada2</replaceable></userinput> <prompt>#</prompt> <userinput>zpool status</userinput> @@ -32025,9 +31748,7 @@ config: errors: No known data errors</screen> - <para xml:lang="en">Multiple vdevs can be created at once. Specify multiple - groups of disks separated by the vdev type keyword, - <literal>mirror</literal> in this example:</para> + <para>可以一次建立數個 vdev,磁碟群組間使用 vdev type 關鍵字來區隔,在這個例子使用 <literal>mirror</literal>:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool create <replaceable>mypool</replaceable> mirror <replaceable>/dev/ada1</replaceable> <replaceable>/dev/ada2</replaceable> mirror <replaceable>/dev/ada3</replaceable> <replaceable>/dev/ada4</replaceable></userinput> pool: mypool @@ -32046,24 +31767,9 @@ config: errors: No known data errors</screen> - <para xml:lang="en">Pools can also be constructed using partitions rather than - whole disks. Putting <acronym>ZFS</acronym> in a separate - partition allows the same disk to have other partitions for - other purposes. In particular, partitions with bootcode and - file systems needed for booting can be added. This allows - booting from disks that are also members of a pool. There is - no performance penalty on FreeBSD when using a partition rather - than a whole disk. Using partitions also allows the - administrator to <emphasis>under-provision</emphasis> the - disks, using less than the full capacity. If a future - replacement disk of the same nominal size as the original - actually has a slightly smaller capacity, the smaller - partition will still fit, and the replacement disk can still - be used.</para> - - <para xml:lang="en">Create a - <link linkend="zfs-term-vdev-raidz">RAID-Z2</link> pool using - partitions:</para> + <para>儲存池也可使用分割區 (Partition) 來建立,不使用整個磁碟。把 <acronym>ZFS</acronym> 放到不同的分割區可讓同一個磁碟有其他的分割區可做其他用途,尤其是有 Bootcode 與檔案系統要用來開機的分割區,這讓磁碟可以用來開機也同樣可以做為儲存池的一部份。在 FreeBSD 用分割區來替代整個磁碟並不會對效能有影響。使用分割區也讓管理者可以對磁碟容量做 <emphasis>少算的預備</emphasis>,使用比完整容量少的容量,未來若要替換的磁碟號稱與原磁碟相同,但實際上卻比較小時,也可符合這個較小的分割區容量,以使用替換的磁碟。</para> + + <para>使用分割區建立一個 <link linkend="zfs-term-vdev-raidz">RAID-Z2</link> 儲存池:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool create <replaceable>mypool</replaceable> raidz2 <replaceable>/dev/ada0p3</replaceable> <replaceable>/dev/ada1p3</replaceable> <replaceable>/dev/ada2p3</replaceable> <replaceable>/dev/ada3p3</replaceable> <replaceable>/dev/ada4p3</replaceable> <replaceable>/dev/ada5p3</replaceable></userinput> <prompt>#</prompt> <userinput>zpool status</userinput> @@ -32084,47 +31790,17 @@ config: errors: No known data errors</screen> - <para xml:lang="en">A pool that is no longer needed can be destroyed so that - the disks can be reused. Destroying a pool involves first - unmounting all of the datasets in that pool. If the datasets - are in use, the unmount operation will fail and the pool will - not be destroyed. The destruction of the pool can be forced - with <option>-f</option>, but this can cause undefined - behavior in applications which had open files on those - datasets.</para> + <para>不再使用的儲存池可以摧毀,來讓磁碟可以再次使用。摧毀一個儲存池要先卸載所有該儲存池的資料集。若資料集在使用中,卸載的操作會失敗且不會被摧毀儲存池。儲存池的摧毀可以使用 <option>-f</option> 來強制執行,但這可能造成那些有開啟這些資料集中的檔案的應用程式無法辨識的行為。</para> </sect2> <sect2 xml:id="zfs-zpool-attach"> <title>加入與移除裝置</title> - <para xml:lang="en">There are two cases for adding disks to a zpool: attaching - a disk to an existing vdev with - <command>zpool attach</command>, or adding vdevs to the pool - with <command>zpool add</command>. Only some - <link linkend="zfs-term-vdev">vdev types</link> allow disks to - be added to the vdev after creation.</para> - - <para xml:lang="en">A pool created with a single disk lacks redundancy. - Corruption can be detected but - not repaired, because there is no other copy of the data. - - The <link linkend="zfs-term-copies">copies</link> property may - be able to recover from a small failure such as a bad sector, - but does not provide the same level of protection as mirroring - or <acronym>RAID-Z</acronym>. Starting with a pool consisting - of a single disk vdev, <command>zpool attach</command> can be - used to add an additional disk to the vdev, creating a mirror. - <command>zpool attach</command> can also be used to add - additional disks to a mirror group, increasing redundancy and - read performance. If the disks being used for the pool are - partitioned, replicate the layout of the first disk on to the - second, <command>gpart backup</command> and - <command>gpart restore</command> can be used to make this - process easier.</para> - - <para xml:lang="en">Upgrade the single disk (stripe) vdev - <replaceable>ada0p3</replaceable> to a mirror by attaching - <replaceable>ada1p3</replaceable>:</para> + <para>加入磁碟到儲存池 (zpool) 會有兩種情形:使用 <command>zpool attach</command> 加入一個磁碟到既有的 vdev,或使用 <command>zpool add</command> 加入 vdev 到儲存池。只有部份 <link linkend="zfs-term-vdev">vdev 型態</link> 允許在 vdev 建立之後加入磁碟。</para> + + <para>由單一磁碟所建立的儲存池缺乏備援 (Redundancy) 功能,可以偵測到資料的損壞但無法修復,因為資料沒有其他備份可用。備份數 (<link linkend="zfs-term-copies">Copies</link>) 屬性可以讓您從較小的故障中復原,如磁碟壞軌 (Bad sector),但無法提供與鏡像或 <acronym>RAID-Z</acronym> 同樣層級的保護。由單一磁碟所建立的儲存池可以使用 <command>zpool attach</command> 來加入額外的磁碟到 vdev,來建立鏡像。<command>zpool attach</command> 也可用來加入額外的磁碟到鏡像群組,來增加備援與讀取效率。若使用的磁碟已有分割區,可以複製該磁碟的分割區配置到另一個,使用 <command>gpart backup</command> 與 <command>gpart restore</command> 可讓這件事變的很簡單。</para> + + <para>加入 <replaceable>ada1p3</replaceable> 來升級單一磁碟串連 (stripe) vdev <replaceable>ada0p3</replaceable> 採用鏡像型態 (mirror):</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool status</userinput> pool: mypool @@ -32181,34 +31857,13 @@ config: errors: No known data errors</screen> - <para xml:lang="en">When adding disks to the existing vdev is not an option, - as for <acronym>RAID-Z</acronym>, an alternative method is to - add another vdev to the pool. Additional vdevs provide higher - performance, distributing writes across the vdevs. Each vdev - is responsible for providing its own redundancy. It is - possible, but discouraged, to mix vdev types, like - <literal>mirror</literal> and <literal>RAID-Z</literal>. - Adding a non-redundant vdev to a pool containing mirror or - <acronym>RAID-Z</acronym> vdevs risks the data on the entire - pool. Writes are distributed, so the failure of the - non-redundant disk will result in the loss of a fraction of - every block that has been written to the pool.</para> - - <para xml:lang="en">Data is striped across each of the vdevs. For example, - with two mirror vdevs, this is effectively a - <acronym>RAID</acronym> 10 that stripes writes across two sets - of mirrors. Space is allocated so that each vdev reaches 100% - full at the same time. There is a performance penalty if the - vdevs have different amounts of free space, as a - disproportionate amount of the data is written to the less - full vdev.</para> - - <para xml:lang="en">When attaching additional devices to a boot pool, remember - to update the bootcode.</para> - - <para xml:lang="en">Attach a second mirror group (<filename>ada2p3</filename> - and <filename>ada3p3</filename>) to the existing - mirror:</para> + <para>若不想選擇加入磁碟到既有的 vdev ,對 <acronym>RAID-Z</acronym> 來說,可選擇另一種方式,便是加入另一個 vdev 到儲存池。額外的 vdev 可以提供更高的效能,分散寫入資料到 vdev 之間,每個 vdev 會負責自己的備援。也可以混合使用不同的 vdev 型態,但並不建議,例如混合使用 <literal>mirror</literal> 與 <literal>RAID-Z</literal>,加入一個無備援的 vdev 到一個含有 mirror 或 <acronym>RAID-Z</acronym> vdev 的儲存池會讓資料損壞的風險擴大整個儲存池,由於會分散寫入資料,若在無備援的磁碟上發生故障的結果便是遺失大半寫到儲存池的資料區塊。</para> + + <para>在每個 vdev 間的資料是串連的,例如,有兩個 mirror vdev,便跟 <acronym>RAID</acronym> 10 一樣在兩個 mirror 間分散寫入資料,且會做空間的分配,因此 vdev 會在同時達到全滿 100% 的用量。若 vdev 間的可用空間量不同則會影響到效能,因為資料量會不成比例的寫入到使用量較少的 vdev。</para> + + <para>當連接額外的裝置到一個可以開機的儲存池,要記得更新 Bootcode。</para> + + <para>連接第二個 mirror 群組 (<filename>ada2p3</filename> 及 <filename>ada3p3</filename>) 到既有的 mirror:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool status</userinput> pool: mypool @@ -32245,13 +31900,9 @@ config: errors: No known data errors</screen> - <para xml:lang="en">Currently, vdevs cannot be removed from a pool, and disks - can only be removed from a mirror if there is enough remaining - redundancy. If only one disk in a mirror group remains, it - ceases to be a mirror and reverts to being a stripe, risking - the entire pool if that remaining disk fails.</para> + <para>現在已無法從儲存池上移除 vdev,且磁碟只能夠在有足夠備援空間的情況下從 mirror 移除,若在 mirror 群組中只剩下一個磁碟,便會取消 mirror 然後還原為 stripe,若剩下的那個磁碟故障,便會影響到整個儲存池。</para> - <para xml:lang="en">Remove a disk from a three-way mirror group:</para> + <para>從一個三方 mirror 群組移除一個磁碟:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool status</userinput> pool: mypool @@ -32286,13 +31937,7 @@ errors: No known data errors</screen> <sect2 xml:id="zfs-zpool-status"> <title>檢查儲存池狀態</title> - <para xml:lang="en">Pool status is important. If a drive goes offline or a - read, write, or checksum error is detected, the corresponding - error count increases. The <command>status</command> output - shows the configuration and status of each device in the pool - and the status of the entire pool. Actions that need to be - taken and details about the last <link linkend="zfs-zpool-scrub"><command>scrub</command></link> - are also shown.</para> + <para>儲存池的狀態很重要,若有磁碟機離線或偵測到讀取、寫入或校驗碼 (Checksum) 錯誤,對應的錯誤計數便會增加。<command>status</command> 會顯示儲存池中每一個磁碟機的設定與狀態及整個儲存池的狀態。需要處置的方式與有關最近清潔 (<link linkend="zfs-zpool-scrub"><command>Scrub</command></link>) 的詳細資訊也會一併顯示。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool status</userinput> pool: mypool @@ -32316,32 +31961,15 @@ errors: No known data errors</screen> <sect2 xml:id="zfs-zpool-clear"> <title>清除錯誤</title> - <para xml:lang="en">When an error is detected, the read, write, or checksum - counts are incremented. The error message can be cleared and - the counts reset with <command>zpool clear - <replaceable>mypool</replaceable></command>. Clearing the - error state can be important for automated scripts that alert - the administrator when the pool encounters an error. Further - errors may not be reported if the old errors are not - cleared.</para> + <para>當偵測到錯誤發生,讀取、寫入或校驗碼 (Checksum) 的計數便會增加。使用 <command>zpool clear <replaceable>mypool</replaceable></command> 可以清除錯誤訊息及重置計數。清空錯誤狀態對當儲存池發生錯誤要使用自動化 Script 通知的管理者來說會很重要,因在舊的錯誤尚未清除前,可能便不會回報後續的錯誤。</para> </sect2> <sect2 xml:id="zfs-zpool-replace"> - <title>替換運作中的裝置</title> - - <para xml:lang="en">There are a number of situations where it may be - desirable to replace one disk with a different disk. When - replacing a working disk, the process keeps the old disk - online during the replacement. The pool never enters a - <link linkend="zfs-term-degraded">degraded</link> state, - reducing the risk of data loss. - <command>zpool replace</command> copies all of the data from - the old disk to the new one. After the operation completes, - the old disk is disconnected from the vdev. If the new disk - is larger than the old disk, it may be possible to grow the - zpool, using the new space. See <link linkend="zfs-zpool-online">Growing a Pool</link>.</para> - - <para xml:lang="en">Replace a functioning device in the pool:</para> + <title>更換運作中的裝置</title> + + <para>可能有一些情況會需要更換磁碟為另一個磁碟,當要更換運作中的磁碟,此程序會維持舊有的磁碟在更換的過程為上線的狀態,儲存池不會進入降級 (<link linkend="zfs-term-degraded">Degraded</link>) 的狀態,來減少資料遺失的風險。<command>zpool replace</command> 會複製所有舊磁碟的資料到新磁碟,操作完成之後舊磁碟便會與 vdev 中斷連線。若新磁碟容量較舊磁碟大,也可以會增加儲存池來使用新的空間,請參考 <link linkend="zfs-zpool-online">擴增儲存池</link>。</para> + + <para>更換儲存池中正在運作的狀置:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool status</userinput> pool: mypool @@ -32405,36 +32033,13 @@ errors: No known data errors</screen> <sect2 xml:id="zfs-zpool-resilver"> <title>處理故障裝置</title> - <para xml:lang="en">When a disk in a pool fails, the vdev to which the disk - belongs enters the - <link linkend="zfs-term-degraded">degraded</link> state. All - of the data is still available, but performance may be reduced - because missing data must be calculated from the available - redundancy. To restore the vdev to a fully functional state, - the failed physical device must be replaced. - <acronym>ZFS</acronym> is then instructed to begin the - <link linkend="zfs-term-resilver">resilver</link> operation. - Data that was on the failed device is recalculated from - available redundancy and written to the replacement device. - After completion, the vdev returns to - <link linkend="zfs-term-online">online</link> status.</para> - - <para xml:lang="en">If the vdev does not have any redundancy, or if multiple - devices have failed and there is not enough redundancy to - compensate, the pool enters the - <link linkend="zfs-term-faulted">faulted</link> state. If a - sufficient number of devices cannot be reconnected to the - pool, the pool becomes inoperative and data must be restored - from backups.</para> + <para>當儲存池中的磁碟故障,該故障硬碟所屬的 vdev 便會進入降級 (<link linkend="zfs-term-degraded">Degraded</link>) 狀態,所有的資料仍可使用,但效能可能會降低,因為遺失的資料必須從可用的備援資料計算才能取得。要將 vdev 恢復完整運作的狀態必須更換故障的實體裝置。然後 <acronym>ZFS</acronym> 便會開始修復 (<link linkend="zfs-term-resilver">Resilver</link>,古代鏡子的修復稱 Resilver) 作業,會從可用的備援資料計算出故障磁碟中的資料並寫入到替換的裝置上。完成後 vdev 便會重新返回上線 (<link linkend="zfs-term-online">Online</link>) 的狀態。</para> + + <para>若 vdev 沒有任何備援資料或有多個裝置故障,沒有足夠的備援資料可以補償,儲存池便會進入故障 (<link linkend="zfs-term-faulted">Faulted</link>) 的狀態。</para> - <para xml:lang="en">When replacing a failed disk, the name of the failed disk - is replaced with the <acronym>GUID</acronym> of the device. - A new device name parameter for - <command>zpool replace</command> is not required if the - replacement device has the same device name.</para> + <para>更換故障的磁碟時,故障磁碟的名稱會更換為裝置的 <acronym>GUID</acronym>,若替換裝置要使用相同的裝置名稱,則在 <command>zpool replace</command> 不須加上新裝置名稱參數。</para> - <para xml:lang="en">Replace a failed disk using - <command>zpool replace</command>:</para> + <para>使用 <command>zpool replace</command> 更換故障的磁碟:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool status</userinput> pool: mypool @@ -32492,15 +32097,7 @@ errors: No known data errors</screen> <sect2 xml:id="zfs-zpool-scrub"> <title>清潔儲存池</title> - <para xml:lang="en">It is recommended that pools be - <link linkend="zfs-term-scrub">scrubbed</link> regularly, - ideally at least once every month. The - <command>scrub</command> operation is very disk-intensive and - will reduce performance while running. Avoid high-demand - periods when scheduling <command>scrub</command> or use <link linkend="zfs-advanced-tuning-scrub_delay"><varname>vfs.zfs.scrub_delay</varname></link> - to adjust the relative priority of the - <command>scrub</command> to prevent it interfering with other - workloads.</para> + <para>建議儲存池要定期清潔 (<link linkend="zfs-term-scrub">Scrub</link>),最好是每一個月清潔一次。 <command>scrub</command> 作業對磁碟操作非常的密集,在執行時會降低磁碟的效能。在排程 <command>scrub</command> 時避免在使用高峰的時期,或使用 <link linkend="zfs-advanced-tuning-scrub_delay"><varname>vfs.zfs.scrub_delay</varname></link> 來調整 <command>scrub</command> 的相對優先權來避免影響其他的工作。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool scrub <replaceable>mypool</replaceable></userinput> <prompt>#</prompt> <userinput>zpool status</userinput> @@ -32523,37 +32120,15 @@ config: errors: No known data errors</screen> - <para xml:lang="en">In the event that a scrub operation needs to be cancelled, - issue <command>zpool scrub -s - <replaceable>mypool</replaceable></command>.</para> + <para>若發生需要取消清潔作業的事,可以下 <command>zpool scrub -s <replaceable>mypool</replaceable></command>。</para> </sect2> <sect2 xml:id="zfs-zpool-selfheal"> <title>自我修復</title> - <para xml:lang="en">The checksums stored with data blocks enable the file - system to <emphasis>self-heal</emphasis>. This feature will - automatically repair data whose checksum does not match the - one recorded on another device that is part of the storage - pool. For example, a mirror with two disks where one drive is - starting to malfunction and cannot properly store the data any - more. This is even worse when the data has not been accessed - for a long time, as with long term archive storage. - Traditional file systems need to run algorithms that check and - repair the data like <citerefentry><refentrytitle>fsck</refentrytitle><manvolnum>8</manvolnum></citerefentry>. These commands take time, - and in severe cases, an administrator has to manually decide - which repair operation must be performed. When - <acronym>ZFS</acronym> detects a data block with a checksum - that does not match, it tries to read the data from the mirror - disk. If that disk can provide the correct data, it will not - only give that data to the application requesting it, but also - correct the wrong data on the disk that had the bad checksum. - This happens without any interaction from a system - administrator during normal pool operation.</para> - - <para xml:lang="en">The next example demonstrates this self-healing behavior. - A mirrored pool of disks <filename>/dev/ada0</filename> and - <filename>/dev/ada1</filename> is created.</para> + <para>校驗碼 (Checksum) 會隨資料區塊一併儲存,這使得檔案系統可以做到<emphasis>自我修復</emphasis>。這個功能可以在校驗碼與儲存池中的另一個裝置不同時自動修復資料。舉例來說,有兩個磁碟做鏡像 (Mirror),其中一個磁碟機開始失常並無法正常儲存資料,甚至是資料放在長期封存的儲存裝置上,已經很久沒有被存取。傳統的檔案系統需要執行演算法來檢查並修復資料如 <citerefentry><refentrytitle>fsck</refentrytitle><manvolnum>8</manvolnum></citerefentry>,這些指令耗費時間,且在嚴重時需要管理者手動決定要做那一種修復操作。當 <acronym>ZFS</acronym> 偵測到資料區塊的校驗碼不對時,它除了把資料交給需要的應用程式外,也會修正在磁碟上錯誤的資料。這件事不需要與系統管理者作任何互動便會在一般的儲存池操作時完成。</para> + + <para>接下來的例子會示範自我修復會如何運作。建立一個使用磁碟 <filename>/dev/ada0</filename> 及 <filename>/dev/ada1</filename> 做鏡像的儲存池。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool create <replaceable>healer</replaceable> mirror <replaceable>/dev/ada0</replaceable> <replaceable>/dev/ada1</replaceable></userinput> <prompt>#</prompt> <userinput>zpool status <replaceable>healer</replaceable></userinput> @@ -32573,9 +32148,7 @@ errors: No known data errors NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT healer 960M 92.5K 960M 0% 1.00x ONLINE -</screen> - <para xml:lang="en">Some important data that to be protected from data errors - using the self-healing feature is copied to the pool. A - checksum of the pool is created for later comparison.</para> + <para>將部份需要使用自我修復功能來保護的重要資料複製到該儲存池,建立一個儲存池的校驗碼供稍後做比較時使用。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>cp /some/important/data /healer</userinput> <prompt>#</prompt> <userinput>zfs list</userinput> @@ -32585,22 +32158,10 @@ healer 960M 67.7M 892M 7% 1.00x ONLINE - <prompt>#</prompt> <userinput>cat checksum.txt</userinput> SHA1 (/healer) = 2753eff56d77d9a536ece6694bf0a82740344d1f</screen> - <para xml:lang="en">Data corruption is simulated by writing random data to the - beginning of one of the disks in the mirror. To prevent - <acronym>ZFS</acronym> from healing the data as soon as it is - detected, the pool is exported before the corruption and - imported again afterwards.</para> + <para>寫入隨機的資料到鏡像的第一個磁碟來模擬資料損毀的情況。要避免 <acronym>ZFS</acronym> 偵測到錯誤時馬上做修復,接著要將儲存池匯出,待模擬資料損毀之後再匯入。</para> <warning> - <para xml:lang="en">This is a dangerous operation that can destroy vital - data. It is shown here for demonstrational purposes only - and should not be attempted during normal operation of a - storage pool. Nor should this intentional corruption - example be run on any disk with a different file system on - it. Do not use any other disk device names other than the - ones that are part of the pool. Make certain that proper - backups of the pool are created before running the - command!</para> + <para>這是一個危險的操作,會破壞重要的資料。在這裡使用僅為了示範用,不應在儲存池正常運作時嘗試使用,也不應將這個故意損壞資料的例子用在任何其他的檔案系統上,不要使用任何不屬於該儲存池的其他磁碟裝置名稱。請確定在執行指令前已對儲存池做正確的備份。</para> </warning> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool export <replaceable>healer</replaceable></userinput> @@ -32610,13 +32171,7 @@ SHA1 (/healer) = 2753eff56d77d9a536ece6694bf0a82740344d1f</screen> 209715200 bytes transferred in 62.992162 secs (3329227 bytes/sec) <prompt>#</prompt> <userinput>zpool import healer</userinput></screen> - <para xml:lang="en">The pool status shows that one device has experienced an - error. Note that applications reading data from the pool did - not receive any incorrect data. <acronym>ZFS</acronym> - provided data from the <filename>ada0</filename> device with - the correct checksums. The device with the wrong checksum can - be found easily as the <literal>CKSUM</literal> column - contains a nonzero value.</para> + <para>儲存池的狀態顯示有一個裝置發生了錯誤。注意,應用程式從儲存池讀取的資料中並沒有任何的錯誤資料,<acronym>ZFS</acronym> 會自 <filename>ada0</filename> 裝置提供有正確校驗碼的資料。結果裡面 <literal>CKSUM</literal> 欄位含有非零值便是有錯誤校驗碼的裝置。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool status <replaceable>healer</replaceable></userinput> pool: healer @@ -32637,30 +32192,14 @@ SHA1 (/healer) = 2753eff56d77d9a536ece6694bf0a82740344d1f</screen> errors: No known data errors</screen> - <para xml:lang="en">The error was detected and handled by using the redundancy - present in the unaffected <filename>ada0</filename> mirror - disk. A checksum comparison with the original one will reveal - whether the pool is consistent again.</para> + <para>錯誤已經被偵測到並且由未被影響的 <filename>ada0</filename> 鏡像磁碟上的備援提供資料。可與原來的校驗碼做比較來看儲存池是否已修復為一致。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>sha1 /healer >> checksum.txt</userinput> <prompt>#</prompt> <userinput>cat checksum.txt</userinput> SHA1 (/healer) = 2753eff56d77d9a536ece6694bf0a82740344d1f SHA1 (/healer) = 2753eff56d77d9a536ece6694bf0a82740344d1f</screen> - <para xml:lang="en">The two checksums that were generated before and after the - intentional tampering with the pool data still match. This - shows how <acronym>ZFS</acronym> is capable of detecting and - correcting any errors automatically when the checksums differ. - Note that this is only possible when there is enough - redundancy present in the pool. A pool consisting of a single - device has no self-healing capabilities. That is also the - reason why checksums are so important in - <acronym>ZFS</acronym> and should not be disabled for any - reason. No <citerefentry><refentrytitle>fsck</refentrytitle><manvolnum>8</manvolnum></citerefentry> or similar file system consistency - check program is required to detect and correct this and the - pool was still available during the time there was a problem. - A scrub operation is now required to overwrite the corrupted - data on <filename>ada1</filename>.</para> + <para>儲存池在故意竄改資料前與後的兩個校驗碼仍相符顯示了 <acronym>ZFS</acronym> 在校驗碼不同時偵測與自動修正錯誤的能力。注意,這只在當儲存池中有足夠的備援時才可做到,由單一裝置組成的儲存池並沒有自我修復的能力。這也是為什麼在 <acronym>ZFS</acronym> 中校驗碼如此重要,任何原因都不該關閉。不需要 <citerefentry><refentrytitle>fsck</refentrytitle><manvolnum>8</manvolnum></citerefentry> 或類似的檔案系統一致性檢查程式便能夠偵測與修正問題,且儲存儲存池在發生問題時仍可正常運作。接著需要做清潔作業來覆蓋在 <filename>ada1</filename> 上的錯誤資料。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool scrub <replaceable>healer</replaceable></userinput> <prompt>#</prompt> <userinput>zpool status <replaceable>healer</replaceable></userinput> @@ -32684,12 +32223,7 @@ config: errors: No known data errors</screen> - <para xml:lang="en">The scrub operation reads data from - <filename>ada0</filename> and rewrites any data with an - incorrect checksum on <filename>ada1</filename>. This is - indicated by the <literal>(repairing)</literal> output from - <command>zpool status</command>. After the operation is - complete, the pool status changes to:</para> + <para>清潔作業會從 <filename>ada0</filename> 讀取資料並重新寫入任何在 <filename>ada1</filename> 上有錯誤校驗碼的資料。這個操作可以由 <command>zpool status</command> 的輸出中呈現修復中 <literal>(repairing)</literal> 的項目來辨識。這個作業完成後,儲存池的狀態會更改為:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool status <replaceable>healer</replaceable></userinput> pool: healer @@ -32710,11 +32244,7 @@ config: errors: No known data errors</screen> - <para xml:lang="en">After the scrub operation completes and all the data - has been synchronized from <filename>ada0</filename> to - <filename>ada1</filename>, the error messages can be - <link linkend="zfs-zpool-clear">cleared</link> from the pool - status by running <command>zpool clear</command>.</para> + <para>清潔操作完成後,便同步完 <filename>ada0</filename> 到 <filename>ada1</filename> 間的所有資料。執行 <command>zpool clear</command> 可以清除 (<link linkend="zfs-zpool-clear">Clear</link>) 儲存池狀態的錯誤訊息。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool clear <replaceable>healer</replaceable></userinput> <prompt>#</prompt> <userinput>zpool status <replaceable>healer</replaceable></userinput> @@ -32731,68 +32261,29 @@ config: errors: No known data errors</screen> - <para xml:lang="en">The pool is now back to a fully working state and all the - errors have been cleared.</para> + <para>儲存池現在恢復完整運作的狀態且清除所有的錯誤了。</para> </sect2> <sect2 xml:id="zfs-zpool-online"> <title>擴增儲存池</title> - <para xml:lang="en">The usable size of a redundant pool is limited by the - capacity of the smallest device in each vdev. The smallest - device can be replaced with a larger device. After completing - a <link linkend="zfs-zpool-replace">replace</link> or - <link linkend="zfs-term-resilver">resilver</link> operation, - the pool can grow to use the capacity of the new device. For - example, consider a mirror of a 1 TB drive and a - 2 TB drive. The usable space is 1 TB. When the - 1 TB drive is replaced with another 2 TB drive, the - resilvering process copies the existing data onto the new - drive. Because - both of the devices now have 2 TB capacity, the mirror's - available space can be grown to 2 TB.</para> - - <para xml:lang="en">Expansion is triggered by using - <command>zpool online -e</command> on each device. After - expansion of all devices, the additional space becomes - available to the pool.</para> + <para>可用的備援儲存池大小會受到每個 vdev 中容量最小的裝置限制。最小的裝置可以替換成較大的裝置,在更換 (<link linkend="zfs-zpool-replace">Replace</link>) 或修復 (<link linkend="zfs-term-resilver">Resilver</link>) 作業後,儲存池可以成長到該新裝置的可用容量。例如,要做一個 1 TB 磁碟機與一個 2 TB 磁碟機的鏡像,可用的空間會是 1 TB,當 1 TB 磁碟機備更換成另一個 2 TB 的磁碟機時,修復程序會複製既有的資料到新的磁碟機,由於現在兩個裝置都有 2 TB 的容量,所以鏡像的可用空間便會成長到 2 TB。</para> + + <para>可以在每個裝置用 <command>zpool online -e</command> 來觸發擴充的動作,在擴充完所有裝置後,儲存池便可使用額外的空間。</para> </sect2> <sect2 xml:id="zfs-zpool-import"> <title>匯入與匯出儲存池</title> - <para xml:lang="en">Pools are <emphasis>exported</emphasis> before moving them - to another system. All datasets are unmounted, and each - device is marked as exported but still locked so it cannot be - used by other disk subsystems. This allows pools to be - <emphasis>imported</emphasis> on other machines, other - operating systems that support <acronym>ZFS</acronym>, and - even different hardware architectures (with some caveats, see - <citerefentry><refentrytitle>zpool</refentrytitle><manvolnum>8</manvolnum></citerefentry>). When a dataset has open files, - <command> zpool export -f</command> can be used to force the - export of a pool. Use this with caution. The datasets are - forcibly unmounted, potentially resulting in unexpected - behavior by the applications which had open files on those - datasets.</para> - - <para xml:lang="en">Export a pool that is not in use:</para> + <para>儲存池在移動到其他系統之前需要做匯出 (<emphasis>Export</emphasis>),會卸載所有的資料集,然後標記每個裝置為已匯出,為了避免被其他磁碟子系統存取,因此仍會鎖定這些裝置。這個動作讓儲存池可以在支援 <acronym>ZFS</acronym> 的其他機器、其他作業系統做匯入 (<emphasis>Import</emphasis>),甚至是不同的硬體架構 (有一些注意事項,請參考 <citerefentry><refentrytitle>zpool</refentrytitle><manvolnum>8</manvolnum></citerefentry>)。當資料集有被開啟的檔案,可使用 <command> zpool export -f</command> 來強制匯出儲存池,使用這個指令需要小心,資料集是被強制卸載的,因此有可能造成在該資料集開啟檔案的應用程式發生無法預期的結果。</para> + + <para>匯出未使用的儲存池:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool export mypool</userinput></screen> - <para xml:lang="en">Importing a pool automatically mounts the datasets. This - may not be the desired behavior, and can be prevented with - <command>zpool import -N</command>. - <command>zpool import -o</command> sets temporary properties - for this import only. - <command>zpool import altroot=</command> allows importing a - pool with a base mount point instead of the root of the file - system. If the pool was last used on a different system and - was not properly exported, an import might have to be forced - with <command>zpool import -f</command>. - <command>zpool import -a</command> imports all pools that do - not appear to be in use by another system.</para> - - <para xml:lang="en">List all available pools for import:</para> + <para>匯入儲存池會自動掛載資料集,若不想自動掛載,可以使用 <command>zpool import -N</command>。<command>zpool import -o</command> 可以設定在匯入時暫時使用的屬性。<command>zpool import altroot=</command> 允許匯入時指定基礎掛載點 (Base mount point) 來替換檔案系統根目錄。若儲存池先前用在不同的系統且不正常匯出,可能會需要使用 <command>zpool import -f</command> 來強制匯入。<command>zpool import -a</command> 會匯入所有沒有被其他系統使用的儲存池。</para> + + <para>列出所有可以匯入的儲存池:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool import</userinput> pool: mypool @@ -32804,7 +32295,7 @@ errors: No known data errors</screen> mypool ONLINE ada2p3 ONLINE</screen> - <para xml:lang="en">Import the pool with an alternative root directory:</para> + <para>使用替代的根目錄匯入儲存池:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool import -o altroot=<replaceable>/mnt</replaceable> <replaceable>mypool</replaceable></userinput> <prompt>#</prompt> <userinput>zfs list</userinput> @@ -32816,17 +32307,9 @@ mypool 110K 47.0G 31K /mnt/mypool</screen> <sect2 xml:id="zfs-zpool-upgrade"> <title>升級儲存儲存池</title> - <para xml:lang="en">After upgrading FreeBSD, or if a pool has been imported from - a system using an older version of <acronym>ZFS</acronym>, the - pool can be manually upgraded to the latest version of - <acronym>ZFS</acronym> to support newer features. Consider - whether the pool may ever need to be imported on an older - system before upgrading. Upgrading is a one-way process. - Older pools can be upgraded, but pools with newer features - cannot be downgraded.</para> + <para>在升級 FreeBSD 之後或儲存池是由其他使用舊版 <acronym>ZFS</acronym> 所匯入,儲存池可以手動升級到最新版本的 <acronym>ZFS</acronym> 來支援新的功能。在升級前請評估儲存池是否還要在舊的系統做匯入,由於升級是一個單向的程序,舊的儲存池可以升級,但有新功能的儲存池無法降級。</para> - <para xml:lang="en">Upgrade a v28 pool to support - <literal>Feature Flags</literal>:</para> + <para>升級一個 v28 的儲存以支援功能旗標 (<literal>Feature Flags</literal>):</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool status</userinput> pool: mypool @@ -32870,13 +32353,9 @@ Enabled the following features on 'mypool': lz4_compress multi_vdev_crash_dump</screen> - <para xml:lang="en">The newer features of <acronym>ZFS</acronym> will not be - available until <command>zpool upgrade</command> has - completed. <command>zpool upgrade -v</command> can be used to - see what new features will be provided by upgrading, as well - as which features are already supported.</para> + <para><acronym>ZFS</acronym> 的新功能在 <command>zpool upgrade</command> 尚未完成之前無法使用。可以用 <command>zpool upgrade -v</command> 來查看升級後有那些新功能,也同時會列出已經支援那些功能。</para> - <para xml:lang="en">Upgrade a pool to support additional feature flags:</para> + <para>升級儲存池支援額外的功能旗標 (Feature flags):</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool status</userinput> pool: mypool @@ -32928,25 +32407,14 @@ Enabled the following features on 'mypool': filesystem_limits</screen> <warning> - <para xml:lang="en">The boot code on systems that boot from a pool must be - updated to support the new pool version. Use - <command>gpart bootcode</command> on the partition that - contains the boot code. See <citerefentry><refentrytitle>gpart</refentrytitle><manvolnum>8</manvolnum></citerefentry> for more - information.</para> + <para>使用儲存池來開機的系統上的 Boot code 必須更新以支援新的儲存池版本,在含有 Boot code 的分割區使用 <command>gpart bootcode</command> 來更新。請參考 <citerefentry><refentrytitle>gpart</refentrytitle><manvolnum>8</manvolnum></citerefentry> 取得更多資訊。</para> </warning> </sect2> <sect2 xml:id="zfs-zpool-history"> <title>顯示已記錄的儲存池歷史日誌</title> - <para xml:lang="en">Commands that modify the pool are recorded. Recorded - actions include the creation of datasets, changing properties, - or replacement of a disk. This history is useful for - reviewing how a pool was created and which user performed a - specific action and when. History is not kept in a log file, - but is part of the pool itself. The command to review this - history is aptly named - <command>zpool history</command>:</para> + <para>修改儲存池的指令會被記錄下來,會記錄的動作包含資料集的建立,屬性更改或更換磁碟。這個歷史記錄用來查看儲存池是如何建立、由誰執行、什麼動作及何時。歷史記錄並非儲存在日誌檔 (Log file),而是儲存在儲存池。查看這個歷史記錄的指令名稱為 <command>zpool history</command>:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool history</userinput> History for 'tank': @@ -32955,19 +32423,9 @@ History for 'tank': 2013-02-27.18:51:09 zfs set checksum=fletcher4 tank 2013-02-27.18:51:18 zfs create tank/backup</screen> - <para xml:lang="en">The output shows <command>zpool</command> and - <command>zfs</command> commands that were executed on the pool - along with a timestamp. Only commands that alter the pool in - some way are recorded. Commands like - <command>zfs list</command> are not included. When no pool - name is specified, the history of all pools is - displayed.</para> + <para>輸出結果顯示曾在該儲存池上執行的 <command>zpool</command> 與 <command>zfs</command> 指令以及時間戳記。只有會修改儲存池或類似的指令會被記錄下來,像是 <command>zfs list</command> 這種指令並不會被記錄。當不指定儲存池名稱時,會列出所有儲存池的歷史記錄。</para> - <para xml:lang="en"><command>zpool history</command> can show even more - information when the options <option>-i</option> or - <option>-l</option> are provided. <option>-i</option> - displays user-initiated events as well as internally logged - <acronym>ZFS</acronym> events.</para> + <para>在提供選項 <option>-i</option> 或 <option>-l</option> 時 <command>zpool history</command> 可以顯更多詳細資訊。<option>-i</option> 會顯示使用者觸發的事件外,也會顯示內部記錄的 <acronym>ZFS</acronym> 事件。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool history -i</userinput> History for 'tank': @@ -32979,10 +32437,7 @@ History for 'tank': 2013-02-27.18:51:13 [internal create txg:55] dataset = 39 2013-02-27.18:51:18 zfs create tank/backup</screen> - <para xml:lang="en">More details can be shown by adding <option>-l</option>. - History records are shown in a long format, including - information like the name of the user who issued the command - and the hostname on which the change was made.</para> + <para>更多詳細的資訊可加上 <option>-l</option> 來取得,歷史記錄會以較長的格式顯示,包含的資訊有執行指令的使用者名稱、主機名稱以及更改的項目。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool history -l</userinput> History for 'tank': @@ -32991,36 +32446,15 @@ History for 'tank': 2013-02-27.18:51:09 zfs set checksum=fletcher4 tank [user 0 (root) on myzfsbox:global] 2013-02-27.18:51:18 zfs create tank/backup [user 0 (root) on myzfsbox:global]</screen> - <para xml:lang="en">The output shows that the - <systemitem class="username">root</systemitem> user created - the mirrored pool with disks - <filename>/dev/ada0</filename> and - <filename>/dev/ada1</filename>. The hostname - <systemitem class="systemname">myzfsbox</systemitem> is also - shown in the commands after the pool's creation. The hostname - display becomes important when the pool is exported from one - system and imported on another. The commands that are issued - on the other system can clearly be distinguished by the - hostname that is recorded for each command.</para> - - <para xml:lang="en">Both options to <command>zpool history</command> can be - combined to give the most detailed information possible for - any given pool. Pool history provides valuable information - when tracking down the actions that were performed or when - more detailed output is needed for debugging.</para> + <para>輸出結果顯示 <systemitem class="username">root</systemitem> 使用者使用 <filename>/dev/ada0</filename> 及 <filename>/dev/ada1</filename> 建立鏡像的儲存池。主機名稱 <systemitem class="systemname">myzfsbox</systemitem> 在建立完儲存池後也同樣會顯示。由於儲存池可以從一個系統匯出再匯入到另一個系統,因此主機名稱也很重要,這樣一來可以清楚的辦識在其他系統上執行的每一個指令的主機名稱。</para> + + <para>兩個 <command>zpool history</command> 選項可以合併使用來取得最完整的儲存池詳細資訊。儲存池歷史記錄在追蹤執行什麼動作或要取得除錯所需的輸出結果提供了非常有用的資訊。</para> </sect2> <sect2 xml:id="zfs-zpool-iostat"> <title>監視效能</title> - <para xml:lang="en">A built-in monitoring system can display pool - <acronym>I/O</acronym> statistics in real time. It shows the - amount of free and used space on the pool, how many read and - write operations are being performed per second, and how much - <acronym>I/O</acronym> bandwidth is currently being utilized. - By default, all pools in the system are monitored and - displayed. A pool name can be provided to limit monitoring to - just that pool. A basic example:</para> + <para>內建的監視系統可以即時顯示儲存池的 <acronym>I/O</acronym> 統計資訊。它會顯示儲存池剩餘的空間與使用的空間,每秒執行了多少讀取與寫入的操作,有多少 <acronym>I/O</acronym> 頻寬被使用。預設會監視所有在系統中的儲存池都並顯示出來,可以提供儲存池名稱來只顯示該儲存池的監視資訊。舉一個簡單的例子:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool iostat</userinput> capacity operations bandwidth @@ -33028,25 +32462,9 @@ pool alloc free read write read write ---------- ----- ----- ----- ----- ----- ----- data 288G 1.53T 2 11 11.3K 57.1K</screen> - <para xml:lang="en">To continuously monitor <acronym>I/O</acronym> activity, a - number can be specified as the last parameter, indicating a - interval in seconds to wait between updates. The next - statistic line is printed after each interval. Press - <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>C</keycap> - </keycombo> to stop this continuous monitoring. - Alternatively, give a second number on the command line after - the interval to specify the total number of statistics to - display.</para> - - <para xml:lang="en">Even more detailed <acronym>I/O</acronym> statistics can - be displayed with <option>-v</option>. Each device in the - pool is shown with a statistics line. This is useful in - seeing how many read and write operations are being performed - on each device, and can help determine if any individual - device is slowing down the pool. This example shows a - mirrored pool with two devices:</para> + <para>要持續監視 <acronym>I/O</acronym> 的活動可以在最後的參數指定一個數字,這個數字代表每次更新資訊所間隔的秒數。在每次經過間隔的時間後會列出新一行的統計資訊,按下 <keycombo action="simul"> <keycap>Ctrl</keycap> <keycap>C</keycap> </keycombo> 可以中止監視。或者在指令列的間隔時間之後再指定一個數字,代表總共要顯示的統計資訊筆數。</para> + + <para>使用 <option>-v</option> 可以顯示更詳細的 <acronym>I/O</acronym> 統計資訊。每個在儲存池中的裝置會以一行統計資訊顯示。這可以幫助了解每一個裝置做了多少讀取與寫入的操作,並可協助確認是否有各別裝置拖慢了整個儲存池的速度。以下範例會顯示有兩個裝置的鏡像儲存池:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool iostat -v </userinput> capacity operations bandwidth @@ -33062,54 +32480,21 @@ data 288G 1.53T 2 12 9.23K 61.5K <sect2 xml:id="zfs-zpool-split"> <title>分割儲存儲存池</title> - <para xml:lang="en">A pool consisting of one or more mirror vdevs can be split - into two pools. Unless otherwise specified, the last member - of each mirror is detached and used to create a new pool - containing the same data. The operation should first be - attempted with <option>-n</option>. The details of the - proposed operation are displayed without it actually being - performed. This helps confirm that the operation will do what - the user intends.</para> + <para>由一個或多個鏡像 vdev 所組成的儲存池可以切分開成兩個儲存池。除非有另外指定,否則每個鏡像的最後一個成員會被分離來然用來建立一個含有相同資料的新儲存池。在做這個操作的第一次應先使用 <option>-n</option>,會顯示預計會做的操作而不會真的執行,這可以協助確認操作是否與使用者所要的相同。</para> </sect2> </sect1> <sect1 xml:id="zfs-zfs"> <title><command>zfs</command> 管理</title> - <para xml:lang="en">The <command>zfs</command> utility is responsible for - creating, destroying, and managing all <acronym>ZFS</acronym> - datasets that exist within a pool. The pool is managed using - <link linkend="zfs-zpool"><command>zpool</command></link>.</para> + <para><command>zfs</command> 工具負責建立、摧毀與管理在一個儲存池中所有的 <acronym>ZFS</acronym> 資料集。儲存池使用 <link linkend="zfs-zpool"><command>zpool</command></link> 來管理。</para> <sect2 xml:id="zfs-zfs-create"> <title>建立與摧毀資料集</title> - <para xml:lang="en">Unlike traditional disks and volume managers, space in - <acronym>ZFS</acronym> is <emphasis>not</emphasis> - preallocated. With traditional file systems, after all of the - space is partitioned and assigned, there is no way to add an - additional file system without adding a new disk. With - <acronym>ZFS</acronym>, new file systems can be created at any - time. Each <link linkend="zfs-term-dataset"><emphasis>dataset</emphasis></link> - has properties including features like compression, - deduplication, caching, and quotas, as well as other useful - properties like readonly, case sensitivity, network file - sharing, and a mount point. Datasets can be nested inside - each other, and child datasets will inherit properties from - their parents. Each dataset can be administered, - <link linkend="zfs-zfs-allow">delegated</link>, - <link linkend="zfs-zfs-send">replicated</link>, - <link linkend="zfs-zfs-snapshot">snapshotted</link>, - <link linkend="zfs-zfs-jail">jailed</link>, and destroyed as a - unit. There are many advantages to creating a separate - dataset for each different type or set of files. The only - drawbacks to having an extremely large number of datasets is - that some commands like <command>zfs list</command> will be - slower, and the mounting of hundreds or even thousands of - datasets can slow the FreeBSD boot process.</para> - - <para xml:lang="en">Create a new dataset and enable <link linkend="zfs-term-compression-lz4">LZ4 - compression</link> on it:</para> + <para>不同於傳統的磁碟與磁碟區管理程式 (Volume manager) ,在 <acronym>ZFS</acronym> 中的空間並<emphasis>不</emphasis>會預先分配。傳統的檔案系統在分割與分配空間完後,若沒有增加新的磁碟便無法再增加額外的檔案系統。在 <acronym>ZFS</acronym>,可以隨時建立新的檔案系統,每個資料集 (<link linkend="zfs-term-dataset"><emphasis>Dataset</emphasis></link>) 都有自己的屬性,包含壓縮 (Compression)、去重複 (Deduplication)、快取 (Caching) 與配額 (Quota) 功能以及其他有用的屬性如唯讀 (Readonly)、區分大小寫 (Case sensitivity)、網路檔案分享 (Network file sharing) 以及掛載點 (Mount point)。資料集可以存在於其他資料集中,且子資料集會繼承其父資料集的屬性。每個資料集都可以作為一個單位來管理、委託 (<link linkend="zfs-zfs-allow">Delegate</link>)、備份 (<link linkend="zfs-zfs-send">Replicate</link>)、快照 (<link linkend="zfs-zfs-snapshot">Snapshot</link>)、監禁 (<link linkend="zfs-zfs-jail">Jail</link>) 與摧毀 (Destroy),替每種不同類型或集合的檔案建立各別的資料集還有許多的好處。唯一的缺點是在當有非常大數量的資料集時,部份指令例如 <command>zfs list</command> 會變的較緩慢,且掛載上百個或其至上千個資料集可能會使 FreeBSD 的開機程序變慢。</para> + + <para>建立一個新資料集並開啟 <link linkend="zfs-term-compression-lz4">LZ4 壓縮</link>:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs list</userinput> NAME USED AVAIL REFER MOUNTPOINT @@ -33144,12 +32529,9 @@ mypool/var/log 178K 93.2G 178K /var/log mypool/var/mail 144K 93.2G 144K /var/mail mypool/var/tmp 152K 93.2G 152K /var/tmp</screen> - <para xml:lang="en">Destroying a dataset is much quicker than deleting all - of the files that reside on the dataset, as it does not - involve scanning all of the files and updating all of the - corresponding metadata.</para> + <para>摧毀資料集會比刪除所有在資料集上所殘留的檔案來的快,由於摧毀資料集並不會掃描所有檔案並更新所有相關的 Metadata。</para> - <para xml:lang="en">Destroy the previously-created dataset:</para> + <para>摧毀先前建立的資料集:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs list</userinput> NAME USED AVAIL REFER MOUNTPOINT @@ -33184,44 +32566,15 @@ mypool/var/log 178K 93.2G 178K /var/log mypool/var/mail 144K 93.2G 144K /var/mail mypool/var/tmp 152K 93.2G 152K /var/tmp</screen> - <para xml:lang="en">In modern versions of <acronym>ZFS</acronym>, - <command>zfs destroy</command> is asynchronous, and the free - space might take several minutes to appear in the pool. Use - <command>zpool get freeing - <replaceable>poolname</replaceable></command> to see the - <literal>freeing</literal> property, indicating how many - datasets are having their blocks freed in the background. - If there are child datasets, like - <link linkend="zfs-term-snapshot">snapshots</link> or other - datasets, then the parent cannot be destroyed. To destroy a - dataset and all of its children, use <option>-r</option> to - recursively destroy the dataset and all of its children. - Use <option>-n</option> <option>-v</option> to list datasets - and snapshots that would be destroyed by this operation, but - do not actually destroy anything. Space that would be - reclaimed by destruction of snapshots is also shown.</para> + <para>在最近版本的 <acronym>ZFS</acronym>,<command>zfs destroy</command> 是非同步的,且釋放出的空間會許要花費數分鐘才會出現在儲存池上,可使用 <command>zpool get freeing <replaceable>poolname</replaceable></command> 來查看 <literal>freeing</literal> 屬性,這個屬性會指出資料集在背景已經釋放多少資料區塊了。若有子資料集,如快照 (<link linkend="zfs-term-snapshot">Snapshot</link>) 或其他資料集存在的話,則會無法摧毀父資料集。要摧毀一個資料集及其所有子資料集,可使用 <option>-r</option> 來做遞迴摧毀資料集及其所有子資料集,可用 <option>-n</option> <option>-v</option> 來列出會被這個操作所摧毀的資料集及快照,而不會真的摧毀,因摧毀快照所釋放出的空間也會同時顯示。</para> </sect2> <sect2 xml:id="zfs-zfs-volume"> <title>建立與摧毀磁碟區</title> - <para xml:lang="en">A volume is a special type of dataset. Rather than being - mounted as a file system, it is exposed as a block device - under - <filename>/dev/zvol/<replaceable>poolname</replaceable>/<replaceable>dataset</replaceable></filename>. - This allows the volume to be used for other file systems, to - back the disks of a virtual machine, or to be exported using - protocols like <acronym>iSCSI</acronym> or - <acronym>HAST</acronym>.</para> - - <para xml:lang="en">A volume can be formatted with any file system, or used - without a file system to store raw data. To the user, a - volume appears to be a regular disk. Putting ordinary file - systems on these <emphasis>zvols</emphasis> provides features - that ordinary disks or file systems do not normally have. For - example, using the compression property on a 250 MB - volume allows creation of a compressed <acronym>FAT</acronym> - file system.</para> + <para>磁碟區 (Volume) 是特殊類型的資料集,不會被掛載成一個檔案系統,而是會被當做儲存區塊裝置出現在 <filename>/dev/zvol/<replaceable>poolname</replaceable>/<replaceable>dataset</replaceable></filename> 下。這讓磁碟區可以用於其他檔案系統,備份虛擬機器的磁碟或是使用 <acronym>iSCSI</acronym> 或 <acronym>HAST</acronym> 通訊協定匯出。</para> + + <para>磁碟區可以被格式化成任何檔案系統,或不使用檔案系統來儲存原始資料。對一般使用者,磁碟區就像是一般的磁碟,可以放置一般的檔案系統在這些 <emphasis>zvols</emphasis>上,並提供一般磁碟或檔案系統一般所沒有的功能。例如,使用壓縮屬性在一個 250 MB 的磁碟區可建立一個壓縮的 <acronym>FAT</acronym> 檔案系統。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs create -V 250m -o compression=on tank/fat32</userinput> <prompt>#</prompt> <userinput>zfs list tank</userinput> @@ -33235,27 +32588,15 @@ Filesystem Size Used Avail Capacity Mounted on <prompt>#</prompt> <userinput>mount | grep fat32</userinput> /dev/zvol/tank/fat32 on /mnt (msdosfs, local)</screen> - <para xml:lang="en">Destroying a volume is much the same as destroying a - regular file system dataset. The operation is nearly - instantaneous, but it may take several minutes for the free - space to be reclaimed in the background.</para> + <para>摧毀一個磁碟區與摧毀一個一般的檔案系統資料集差不多。操作上幾乎是即時的,但在背景會需要花費數分鐘來讓釋放空間再次可用。</para> </sect2> <sect2 xml:id="zfs-zfs-rename"> <title>重新命名資料集</title> - <para xml:lang="en">The name of a dataset can be changed with - <command>zfs rename</command>. The parent of a dataset can - also be changed with this command. Renaming a dataset to be - under a different parent dataset will change the value of - those properties that are inherited from the parent dataset. - When a dataset is renamed, it is unmounted and then remounted - in the new location (which is inherited from the new parent - dataset). This behavior can be prevented with - <option>-u</option>.</para> + <para>資料集的名稱可以使用 <command>zfs rename</command> 更改。父資料集也同樣可以使用這個指令來更改名稱。重新命名一個資料集到另一個父資料集也會更改自父資料集繼承的屬性值。重新命名資料集後,會被卸載然後重新掛載到新的位置 (依繼承的新父資料集而定),可使用 <option>-u</option> 來避免重新掛載。</para> - <para xml:lang="en">Rename a dataset and move it to be under a different - parent dataset:</para> + <para>重新命名一個資料集並移動該資料集到另一個父資料集:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs list</userinput> NAME USED AVAIL REFER MOUNTPOINT @@ -33291,11 +32632,7 @@ mypool/var/mail 144K 93.2G 144K /var/mail mypool/var/newname 87.5K 93.2G 87.5K /var/newname mypool/var/tmp 152K 93.2G 152K /var/tmp</screen> - <para xml:lang="en">Snapshots can also be renamed like this. Due to the - nature of snapshots, they cannot be renamed into a different - parent dataset. To rename a recursive snapshot, specify - <option>-r</option>, and all snapshots with the same name in - child datasets with also be renamed.</para> + <para>快照也可以像這樣重新命名,由於快照的天性,使其無法被重新命名到另一個父資料集。要遞迴重新命名快照可指定 <option>-r</option>,然後在子資料集中所有同名的快照也會一併被重新命名。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs list -t snapshot</userinput> NAME USED AVAIL REFER MOUNTPOINT @@ -33309,35 +32646,16 @@ mypool/var/newname@new_snapshot_name 0 - 87.5K -</screen> <sect2 xml:id="zfs-zfs-set"> <title>設定資料集屬性</title> - <para xml:lang="en">Each <acronym>ZFS</acronym> dataset has a number of - properties that control its behavior. Most properties are - automatically inherited from the parent dataset, but can be - overridden locally. Set a property on a dataset with - <command>zfs set - <replaceable>property</replaceable>=<replaceable>value</replaceable> - <replaceable>dataset</replaceable></command>. Most - properties have a limited set of valid values, - <command>zfs get</command> will display each possible property - and valid values. Most properties can be reverted to their - inherited values using <command>zfs inherit</command>.</para> - - <para xml:lang="en">User-defined properties can also be set. They become part - of the dataset configuration and can be used to provide - additional information about the dataset or its contents. To - distinguish these custom properties from the ones supplied as - part of <acronym>ZFS</acronym>, a colon (<literal>:</literal>) - is used to create a custom namespace for the property.</para> + <para>每個 <acronym>ZFS</acronym> 資料集有數個屬性可以用來控制其行為。大部份的屬性會自動繼承自其父資料集,但可以被自己覆蓋。設定資料集上的屬性可使用 <command>zfs set <replaceable>property</replaceable>=<replaceable>value</replaceable> <replaceable>dataset</replaceable></command>。大部份屬性有限制可用的值,<command>zfs get</command> 會顯示每個可以使用的屬性及其可用的值。大部份可以使用 <command>zfs inherit</command> 還原成其繼承的值。</para> + + <para>也可設定使用者自訂的屬性。這些屬性也會成為資料集設定的一部份,且可以被用來提供資料集或其內容的額外資訊。要別分自訂屬性與 <acronym>ZFS</acronym> 提供的屬性,會使用冒號 (<literal>:</literal>) 建立一個自訂命名空間供自訂屬性使用。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs set <replaceable>custom</replaceable>:<replaceable>costcenter</replaceable>=<replaceable>1234</replaceable> <replaceable>tank</replaceable></userinput> <prompt>#</prompt> <userinput>zfs get <replaceable>custom</replaceable>:<replaceable>costcenter</replaceable> <replaceable>tank</replaceable></userinput> NAME PROPERTY VALUE SOURCE tank custom:costcenter 1234 local</screen> - <para xml:lang="en">To remove a custom property, use - <command>zfs inherit</command> with <option>-r</option>. If - the custom property is not defined in any of the parent - datasets, it will be removed completely (although the changes - are still recorded in the pool's history).</para> + <para>要移除自訂屬性,可用 <command>zfs inherit</command> 加上 <option>-r</option>。若父資料集未定義任何自訂屬性,將會將該屬性完全移除 (更改動作仍會記錄於儲存池的歷史記錄)。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs inherit -r <replaceable>custom</replaceable>:<replaceable>costcenter</replaceable> <replaceable>tank</replaceable></userinput> <prompt>#</prompt> <userinput>zfs get <replaceable>custom</replaceable>:<replaceable>costcenter</replaceable> <replaceable>tank</replaceable></userinput> @@ -33350,59 +32668,16 @@ tank custom:costcenter - - <sect2 xml:id="zfs-zfs-snapshot"> <title>管理快照 (Snapshot)</title> - <para xml:lang="en"><link linkend="zfs-term-snapshot">Snapshots</link> are one - of the most powerful features of <acronym>ZFS</acronym>. A - snapshot provides a read-only, point-in-time copy of the - dataset. With Copy-On-Write (<acronym>COW</acronym>), - snapshots can be created quickly by preserving the older - version of the data on disk. If no snapshots exist, space is - reclaimed for future use when data is rewritten or deleted. - Snapshots preserve disk space by recording only the - differences between the current dataset and a previous - version. Snapshots are allowed only on whole datasets, not on - individual files or directories. When a snapshot is created - from a dataset, everything contained in it is duplicated. - This includes the file system properties, files, directories, - permissions, and so on. Snapshots use no additional space - when they are first created, only consuming space as the - blocks they reference are changed. Recursive snapshots taken - with <option>-r</option> create a snapshot with the same name - on the dataset and all of its children, providing a consistent - moment-in-time snapshot of all of the file systems. This can - be important when an application has files on multiple - datasets that are related or dependent upon each other. - Without snapshots, a backup would have copies of the files - from different points in time.</para> - - <para xml:lang="en">Snapshots in <acronym>ZFS</acronym> provide a variety of - features that even other file systems with snapshot - functionality lack. A typical example of snapshot use is to - have a quick way of backing up the current state of the file - system when a risky action like a software installation or a - system upgrade is performed. If the action fails, the - snapshot can be rolled back and the system has the same state - as when the snapshot was created. If the upgrade was - successful, the snapshot can be deleted to free up space. - Without snapshots, a failed upgrade often requires a restore - from backup, which is tedious, time consuming, and may require - downtime during which the system cannot be used. Snapshots - can be rolled back quickly, even while the system is running - in normal operation, with little or no downtime. The time - savings are enormous with multi-terabyte storage systems and - the time required to copy the data from backup. Snapshots are - not a replacement for a complete backup of a pool, but can be - used as a quick and easy way to store a copy of the dataset at - a specific point in time.</para> + <para>快照 (<link linkend="zfs-term-snapshot">Snapshot</link>) 是 <acronym>ZFS</acronym> 最強大的功能之一。快照提供了資料集唯讀、單一時間點 (Point-in-Time) 的複製功能,使用了寫入時複製 (Copy-On-Write, <acronym>COW</acronym>) 的技術,可以透過保存在磁碟上的舊版資料快速的建立快照。若沒有快照存在,在資料被覆蓋或刪除時,便回收空間供未來使用。由於只記錄前一個版本與目前資料集的差異,因此快照可節省磁碟空間。快照只允許在整個資料集上使用,無法在各別檔案或目錄。當建立了一個資料集的快照時,便備份了所有內含的資料,這包含了檔案系統屬性、檔案、目錄、權限等等。第一次建立快照時只會使用到更改參照到資料區塊的空間,不會用到額外的空間。使用 <option>-r</option> 可以對使用同名的資料集及其所有子資料集的建立一個遞迴快照,提供一致且即時 (Moment-in-time) 的完整檔案系統快照功能,這對於那些彼此有相關或相依檔案存放在不同資料集的應用程式非常重要。若不使用快照,備份所複製的資料其實是不同時間點的,可能會有不一致的問題。</para> + + <para><acronym>ZFS</acronym> 中的快照提供了多種功能,即使是在其他缺乏快照功能的檔案系統上。一個使用快照的典型例子是在安裝軟體或執行系統升級這種有風險的動作時,能有一個快速的方式可以備份檔案系統目前的狀態,若動作失敗,可以使用快照還原 (Roll back) 到與快照建立時相同的系統狀態,若升級成功,便可刪除快照來釋放空間。若沒有快照功能,升級失敗通常會需要使用備份來恢復 (Restore) 系統,而這個動作非常繁瑣、耗時且可能會需要停機一段時間系統無法使用。使用快照可以快速的還原,即使系統正在執行一般的運作,只而要短暫或甚至不需停機。能夠節省大量在有數 TB 的儲存系統上從備份複製所需資料的時間。快照並非要用來取代儲存池的完整備份,但可以用在快速且簡單的保存某個特定時間點的資料集。</para> <sect3 xml:id="zfs-zfs-snapshot-creation"> <title>建立快照</title> - <para xml:lang="en">Snapshots are created with <command>zfs snapshot - <replaceable>dataset</replaceable>@<replaceable>snapshotname</replaceable></command>. - Adding <option>-r</option> creates a snapshot recursively, - with the same name on all child datasets.</para> + <para>快照可以使用 <command>zfs snapshot <replaceable>dataset</replaceable>@<replaceable>snapshotname</replaceable></command> 來建立。加入 <option>-r</option> 可以遞迴對所有同名的子資料集建立快照。</para> - <para xml:lang="en">Create a recursive snapshot of the entire pool:</para> + <para>建立一個整個儲存池的遞迴快照:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs list -t all</userinput> NAME USED AVAIL REFER MOUNTPOINT @@ -33440,33 +32715,16 @@ mypool/var/newname@new_snapshot_name 0 - 87.5K - mypool/var/newname@my_recursive_snapshot 0 - 87.5K - mypool/var/tmp@my_recursive_snapshot 0 - 152K -</screen> - <para xml:lang="en">Snapshots are not shown by a normal - <command>zfs list</command> operation. To list snapshots, - <option>-t snapshot</option> is appended to - <command>zfs list</command>. <option>-t all</option> - displays both file systems and snapshots.</para> + <para>建立的快照不會顯示在一般的 <command>zfs list</command> 操作結果,要列出快照需在 <command>zfs list</command> 後加上 <option>-t snapshot</option>,使用 <option>-t all</option> 可以同時列出檔案系統的內容及快照。</para> - <para xml:lang="en">Snapshots are not mounted directly, so path is shown in - the <literal>MOUNTPOINT</literal> column. There is no - mention of available disk space in the - <literal>AVAIL</literal> column, as snapshots cannot be - written to after they are created. Compare the snapshot - to the original dataset from which it was created:</para> + <para>快照並不會直接掛載,因此 <literal>MOUNTPOINT</literal> 欄位的路徑如此顯示。在 <literal>AVAIL</literal> 欄位不會有可用的磁碟空間,因為快照建立之後便無法再寫入。比較快照與其原來建立時的資料集:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs list -rt all <replaceable>mypool/usr/home</replaceable></userinput> NAME USED AVAIL REFER MOUNTPOINT mypool/usr/home 184K 93.2G 184K /usr/home mypool/usr/home@my_recursive_snapshot 0 - 184K -</screen> - <para xml:lang="en">Displaying both the dataset and the snapshot together - reveals how snapshots work in - <link linkend="zfs-term-cow">COW</link> fashion. They save - only the changes (<emphasis>delta</emphasis>) that were made - and not the complete file system contents all over again. - This means that snapshots take little space when few changes - are made. Space usage can be made even more apparent by - copying a file to the dataset, then making a second - snapshot:</para> + <para>同時顯示資料集與快照可以了解快照如何使用 <link linkend="zfs-term-cow">COW</link> 技術來運作。快照只會保存有更動 (<emphasis>差異</emphasis>) 的資料,並非整個檔案系統的內容,這個意思是說,快照只會在有做更動時使用一小部份的空間,複製一個檔案到該資料集,可以讓空間使用量變的更明顯,然後再做第二個快照:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>cp <replaceable>/etc/passwd</replaceable> <replaceable>/var/tmp</replaceable></userinput> <prompt>#</prompt> <userinput>zfs snapshot <replaceable>mypool/var/tmp</replaceable>@<replaceable>after_cp</replaceable></userinput> @@ -33476,27 +32734,13 @@ mypool/var/tmp 206K 93.2G 118K /var/tmp mypool/var/tmp@my_recursive_snapshot 88K - 152K - mypool/var/tmp@after_cp 0 - 118K -</screen> - <para xml:lang="en">The second snapshot contains only the changes to the - dataset after the copy operation. This yields enormous - space savings. Notice that the size of the snapshot - <replaceable>mypool/var/tmp@my_recursive_snapshot</replaceable> - also changed in the <literal>USED</literal> - column to indicate the changes between itself and the - snapshot taken afterwards.</para> + <para>第二快照只會包含了資料集做了複製動作後的更動,這樣的機制可以節省大量的空間。注意在複製之後快照 <replaceable>mypool/var/tmp@my_recursive_snapshot</replaceable> 於 <literal>USED</literal> 欄位中的大小也更改了,這說明了這個更動在前次快照與之後快照間的關係。</para> </sect3> <sect3 xml:id="zfs-zfs-snapshot-diff"> <title>比對快照</title> - <para xml:lang="en">ZFS provides a built-in command to compare the - differences in content between two snapshots. This is - helpful when many snapshots were taken over time and the - user wants to see how the file system has changed over time. - For example, <command>zfs diff</command> lets a user find - the latest snapshot that still contains a file that was - accidentally deleted. Doing this for the two snapshots that - were created in the previous section yields this - output:</para> + <para>ZFS 提供了內建指令可以用來比對兩個快照 (Snapshot) 之間的差異,在使用者想要查看一段時間之間檔案系統所的變更時非常有用。例如 <command>zfs diff</command> 可以讓使用者在最後一次快照中找到意外刪除的檔案。對前面一節所做的兩個快照使用這個指令會產生以下結果:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs list -rt all <replaceable>mypool/var/tmp</replaceable></userinput> NAME USED AVAIL REFER MOUNTPOINT @@ -33507,52 +32751,39 @@ mypool/var/tmp@after_cp 0 - 118K - M /var/tmp/ + /var/tmp/passwd</screen> - <para xml:lang="en">The command lists the changes between the specified - snapshot (in this case - <literal><replaceable>mypool/var/tmp@my_recursive_snapshot</replaceable></literal>) - and the live file system. The first column shows the - type of change:</para> + <para>指令會列出指定快照 (在這個例子中為 <literal><replaceable>mypool/var/tmp@my_recursive_snapshot</replaceable></literal>) 與目前檔案系統間的更改。第一個欄位是更改的類型:</para> <informaltable pgwide="1"> <tgroup cols="2"> <tbody valign="top"> <row> <entry xml:lang="en">+</entry> - <entry xml:lang="en">The path or file was added.</entry> + <entry>加入了該路徑或檔案。</entry> </row> <row> <entry xml:lang="en">-</entry> - <entry xml:lang="en">The path or file was deleted.</entry> + <entry>刪除了該路徑或檔案。</entry> </row> <row> <entry xml:lang="en">M</entry> - <entry xml:lang="en">The path or file was modified.</entry> + <entry>修改了該路徑或檔案。</entry> </row> <row> <entry xml:lang="en">R</entry> - <entry xml:lang="en">The path or file was renamed.</entry> + <entry>重新命名了該路徑或檔案。</entry> </row> </tbody> </tgroup> </informaltable> - <para xml:lang="en">Comparing the output with the table, it becomes clear - that <filename><replaceable>passwd</replaceable></filename> - was added after the snapshot - <literal><replaceable>mypool/var/tmp@my_recursive_snapshot</replaceable></literal> - was created. This also resulted in a modification to the - parent directory mounted at - <literal><replaceable>/var/tmp</replaceable></literal>.</para> + <para>對照這個表格來看輸出的結果,可以明顯的看到 <filename><replaceable>passwd</replaceable></filename> 是在快照 <literal><replaceable>mypool/var/tmp@my_recursive_snapshot</replaceable></literal> 建立之後才加入的,結果也同樣看的到掛載到 <literal><replaceable>/var/tmp</replaceable></literal> 的父目錄已經做過修改。</para> - <para xml:lang="en">Comparing two snapshots is helpful when using the - <acronym>ZFS</acronym> replication feature to transfer a - dataset to a different host for backup purposes.</para> + <para>在使用 <acronym>ZFS</acronym> 備份功能來傳輸一個資料集到另一個主機備份時比對兩個快照也同樣很有用。</para> - <para xml:lang="en">Compare two snapshots by providing the full dataset name - and snapshot name of both datasets:</para> + <para>比對兩個快照需要提供兩個資料集的完整資料集名稱與快照名稱:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>cp /var/tmp/passwd /var/tmp/passwd.copy</userinput> <prompt>#</prompt> <userinput>zfs snapshot <replaceable>mypool/var/tmp@diff_snapshot</replaceable></userinput> @@ -33564,45 +32795,15 @@ M /var/tmp/ M /var/tmp/ + /var/tmp/passwd</screen> - <para xml:lang="en">A backup administrator can compare two snapshots - received from the sending host and determine the actual - changes in the dataset. See the - <link linkend="zfs-zfs-send">Replication</link> section for - more information.</para> + <para>備份管理者可以比對兩個自傳送主機所接收到的兩個快照並查看實際在資料集中的變更。請參考 <link linkend="zfs-zfs-send">備份</link> 一節來取得更多資訊。</para> </sect3> <sect3 xml:id="zfs-zfs-snapshot-rollback"> <title>使用快照還原</title> - <para xml:lang="en">When at least one snapshot is available, it can be - rolled back to at any time. Most of the time this is the - case when the current state of the dataset is no longer - required and an older version is preferred. Scenarios such - as local development tests have gone wrong, botched system - updates hampering the system's overall functionality, or the - requirement to restore accidentally deleted files or - directories are all too common occurrences. Luckily, - rolling back a snapshot is just as easy as typing - <command>zfs rollback - <replaceable>snapshotname</replaceable></command>. - Depending on how many changes are involved, the operation - will finish in a certain amount of time. During that time, - the dataset always remains in a consistent state, much like - a database that conforms to ACID principles is performing a - rollback. This is happening while the dataset is live and - accessible without requiring a downtime. Once the snapshot - has been rolled back, the dataset has the same state as it - had when the snapshot was originally taken. All other data - in that dataset that was not part of the snapshot is - discarded. Taking a snapshot of the current state of the - dataset before rolling back to a previous one is a good idea - when some data is required later. This way, the user can - roll back and forth between snapshots without losing data - that is still valuable.</para> - - <para xml:lang="en">In the first example, a snapshot is rolled back because - of a careless <command>rm</command> operation that removes - too much data than was intended.</para> + <para>只要至少有一個可用的快照便可以隨時還原。大多數在已不需要目前資料集,想要改用較舊版的資料的情況,例如,本地開發的測試發生錯誤、不良的系統更新破壞了系統的整體功能或需要還原意外刪除檔案或目錄 ... 等,都是非常常見的情形。幸運的,要還原到某個快照只需要簡單輸入 <command>zfs rollback <replaceable>snapshotname</replaceable></command>。會依快照所做的變更數量來決定處理的時間,還原的操作會在一段時間後完成。在這段時間中,資料集會一直保持一致的狀態,類似一個符合 ACID 原則的資料庫在做還原。還原可在資料集處於上線及可存取的情況下完成,不需要停機。還原到快照之後,資料集便回到當初執行快照時相同的狀態,所有沒有在快照中的其他資料便會被丟棄,因此往後若還有可能需要部份資料時,建議在還原到前一個快照之前先對目前的資料集做快照,這樣一來,使用者便可以在快照之間來回快換,而不會遺失重要的資料。</para> + + <para>在第一個範例中,因為 <command>rm</command> 操作不小心移除了預期外的資料,要還原到快照。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs list -rt all <replaceable>mypool/var/tmp</replaceable></userinput> NAME USED AVAIL REFER MOUNTPOINT @@ -33617,22 +32818,13 @@ passwd passwd.copy vi.recover <prompt>%</prompt></screen> - <para xml:lang="en">At this point, the user realized that too many files - were deleted and wants them back. <acronym>ZFS</acronym> - provides an easy way to get them back using rollbacks, but - only when snapshots of important data are performed on a - regular basis. To get the files back and start over from - the last snapshot, issue the command:</para> + <para>在此時,使用者發現到刪除了太多檔案並希望能夠還原。<acronym>ZFS</acronym> 提供了簡單的方可以取回檔案,便是使用還原 (Rollback),但這只在有定期對重要的資料使用快照時可用。要拿回檔案並從最後一次快照重新開始,可執行以下指令:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs rollback <replaceable>mypool/var/tmp@diff_snapshot</replaceable></userinput> <prompt>%</prompt> <userinput>ls /var/tmp</userinput> passwd passwd.copy vi.recover</screen> - <para xml:lang="en">The rollback operation restored the dataset to the state - of the last snapshot. It is also possible to roll back to a - snapshot that was taken much earlier and has other snapshots - that were created after it. When trying to do this, - <acronym>ZFS</acronym> will issue this warning:</para> + <para>還原操作會將資料集還原為最後一次快照的狀態。這也可以還原到更早之前,有其他在其之後建立的快照。要這麼做時,<acronym>ZFS</acronym> 會發出這個警告:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs list -rt snapshot <replaceable>mypool/var/tmp</replaceable></userinput> AME USED AVAIL REFER MOUNTPOINT @@ -33645,17 +32837,7 @@ use '-r' to force deletion of the following snapshots: mypool/var/tmp@after_cp mypool/var/tmp@diff_snapshot</screen> - <para xml:lang="en">This warning means that snapshots exist between the - current state of the dataset and the snapshot to which the - user wants to roll back. To complete the rollback, these - snapshots must be deleted. <acronym>ZFS</acronym> cannot - track all the changes between different states of the - dataset, because snapshots are read-only. - <acronym>ZFS</acronym> will not delete the affected - snapshots unless the user specifies <option>-r</option> to - indicate that this is the desired action. If that is the - intention, and the consequences of losing all intermediate - snapshots is understood, the command can be issued:</para> + <para>這個警告是因在該快照與資料集的目前狀態之間有其他快照存在,然而使用者想要還原到該快照。要完成這樣的還原動作,必須刪除在這之間的快照,因為 <acronym>ZFS</acronym> 無法追蹤不同資料集狀態間的變更。在使用者未指定 <option>-r</option> 來確認這個動作前,<acronym>ZFS</acronym> 不會刪除受影響的快照。若確定要這麼做,那麼必須要知道會遺失所有在這之間的快照,然後可執行以下指令:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs rollback -r <replaceable>mypool/var/tmp@my_recursive_snapshot</replaceable></userinput> <prompt>#</prompt> <userinput>zfs list -rt snapshot <replaceable>mypool/var/tmp</replaceable></userinput> @@ -33664,27 +32846,13 @@ mypool/var/tmp@my_recursive_snapshot 8K - 152K - <prompt>%</prompt> <userinput>ls /var/tmp</userinput> vi.recover</screen> - <para xml:lang="en">The output from <command>zfs list -t snapshot</command> - confirms that the intermediate snapshots - were removed as a result of - <command>zfs rollback -r</command>.</para> + <para>可從 <command>zfs list -t snapshot</command> 的結果來確認 <command>zfs rollback -r</command> 會移除的快照。</para> </sect3> <sect3 xml:id="zfs-zfs-snapshot-snapdir"> - <title>自快照還原單一檔案</title> - - <para xml:lang="en">Snapshots are mounted in a hidden directory under the - parent dataset: - <filename>.zfs/snapshots/<replaceable>snapshotname</replaceable></filename>. - By default, these directories will not be displayed even - when a standard <command>ls -a</command> is issued. - Although the directory is not displayed, it is there - nevertheless and can be accessed like any normal directory. - The property named <literal>snapdir</literal> controls - whether these hidden directories show up in a directory - listing. Setting the property to <literal>visible</literal> - allows them to appear in the output of <command>ls</command> - and other commands that deal with directory contents.</para> + <title>從快照還原個別檔案</title> + + <para>快照會掛載在父資料集下的隱藏目錄:<filename>.zfs/snapshots/<replaceable>snapshotname</replaceable></filename>。預設不會顯示這些目錄,即使是用 <command>ls -a</command> 指令。雖然該目錄不會顯示,但該目錄實際存在,而且可以像一般的目錄一樣存取。一個名稱為 <literal>snapdir</literal> 的屬性可以控制是否在目錄清單中顯示這些隱藏目錄,設定該屬性為可見 (<literal>visible</literal>) 可以讓這些目錄出現在 <command>ls</command> 以及其他處理目錄內容的指令中。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs get snapdir <replaceable>mypool/var/tmp</replaceable></userinput> NAME PROPERTY VALUE SOURCE @@ -33695,16 +32863,7 @@ mypool/var/tmp snapdir hidden default <prompt>%</prompt> <userinput>ls -a /var/tmp</userinput> . .. .zfs passwd vi.recover</screen> - <para xml:lang="en">Individual files can easily be restored to a previous - state by copying them from the snapshot back to the parent - dataset. The directory structure below - <filename>.zfs/snapshot</filename> has a directory named - exactly like the snapshots taken earlier to make it easier - to identify them. In the next example, it is assumed that a - file is to be restored from the hidden - <filename>.zfs</filename> directory by copying it from the - snapshot that contained the latest version of the - file:</para> + <para>要還原個別檔案到先前的狀態非常簡單,只要從快照中複製檔案到父資料集。在 <filename>.zfs/snapshot</filename> 目錄結構下有一個與先前所做的快照名稱相同的目錄,可以很容易的找到。在下個範例中,我們會示範從隱藏的 <filename>.zfs</filename> 目錄還原一個檔案,透過從含有該檔案的最新版快照複製:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>rm /var/tmp/passwd</userinput> <prompt>%</prompt> <userinput>ls -a /var/tmp</userinput> @@ -33715,61 +32874,25 @@ after_cp my_recursive_snapshot passwd vi.recover <prompt>#</prompt> <userinput>cp /var/tmp/.zfs/snapshot/<replaceable>after_cp/passwd</replaceable> <replaceable>/var/tmp</replaceable></userinput></screen> - <para xml:lang="en">When <command>ls .zfs/snapshot</command> was issued, the - <literal>snapdir</literal> property might have been set to - hidden, but it would still be possible to list the contents - of that directory. It is up to the administrator to decide - whether these directories will be displayed. It is possible - to display these for certain datasets and prevent it for - others. Copying files or directories from this hidden - <filename>.zfs/snapshot</filename> is simple enough. Trying - it the other way around results in this error:</para> + <para>執行 <command>ls .zfs/snapshot</command> 時,雖然 <literal>snapdir</literal> 可能已經設為隱藏,但仍可能可以顯示該目錄中的內容,這取決於管理者是否要顯示這些目錄,可以只顯示特定的資料集,而其他的則不顯示。從這個隱藏的 <filename>.zfs/snapshot</filename> 複製檔案或目錄非常簡單,除此之外,嘗試其他的動作則會出現以下錯誤:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>cp <replaceable>/etc/rc.conf</replaceable> /var/tmp/.zfs/snapshot/<replaceable>after_cp/</replaceable></userinput> cp: /var/tmp/.zfs/snapshot/after_cp/rc.conf: Read-only file system</screen> - <para xml:lang="en">The error reminds the user that snapshots are read-only - and cannot be changed after creation. Files cannot be - copied into or removed from snapshot directories because - that would change the state of the dataset they - represent.</para> - - <para xml:lang="en">Snapshots consume space based on how much the parent - file system has changed since the time of the snapshot. The - <literal>written</literal> property of a snapshot tracks how - much space is being used by the snapshot.</para> - - <para xml:lang="en">Snapshots are destroyed and the space reclaimed with - <command>zfs destroy - <replaceable>dataset</replaceable>@<replaceable>snapshot</replaceable></command>. - Adding <option>-r</option> recursively removes all snapshots - with the same name under the parent dataset. Adding - <option>-n -v</option> to the command displays a list of the - snapshots that would be deleted and an estimate of how much - space would be reclaimed without performing the actual - destroy operation.</para> + <para>這個錯誤用來提醒使用者快照是唯讀的,在建立之後不能更改。無法複製檔案進去或從該快照目錄中移除,因為這會變更該資料集所代表的狀態。</para> + + <para>快照所消耗的空間是依據自快照之後父檔案系統做了多少變更來決定,快照的 <literal>written</literal> 屬性可以用來追蹤有多少空間被快照所使用。</para> + + <para>使用 <command>zfs destroy <replaceable>dataset</replaceable>@<replaceable>snapshot</replaceable></command> 可以摧毀快照並回收空間。加上 <option>-r</option> 可以遞迴移除所有在父資料集下使用同名的快照。加入 <option>-n -v</option> 來顯示將要移除的快照清單以及估計回收的空間,而不會實際執行摧毀的操作。</para> </sect3> </sect2> <sect2 xml:id="zfs-zfs-clones"> <title>管理複本 (Clone)</title> - <para xml:lang="en">A clone is a copy of a snapshot that is treated more like - a regular dataset. Unlike a snapshot, a clone is not read - only, is mounted, and can have its own properties. Once a - clone has been created using <command>zfs clone</command>, the - snapshot it was created from cannot be destroyed. The - child/parent relationship between the clone and the snapshot - can be reversed using <command>zfs promote</command>. After a - clone has been promoted, the snapshot becomes a child of the - clone, rather than of the original parent dataset. This will - change how the space is accounted, but not actually change the - amount of space consumed. The clone can be mounted at any - point within the <acronym>ZFS</acronym> file system hierarchy, - not just below the original location of the snapshot.</para> - - <para xml:lang="en">To demonstrate the clone feature, this example dataset is - used:</para> + <para>複本 (Clone) 是快照的複製,但更像是一般的資料集,與快照不同的是,複本是非唯讀的 (可寫),且可掛載,可以有自己的屬性。使用 <command>zfs clone</command> 建立複本之後,便無法再摧毀用來建立複本的快照。複本與快照的父/子關係可以使用 <command>zfs promote</command> 來對換。提升複本之後 ,快照便會成為複本的子資料集,而不是原來的父資料集,這個動作會改變空間計算的方式,但並不會實際改變空間的使用量。複本可以被掛載到 <acronym>ZFS</acronym> 檔案系統階層中的任何一點,並非只能位於原來快照的位置底下。</para> + + <para>要示範複本功能會用到這個範例資料集:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs list -rt all <replaceable>camino/home/joe</replaceable></userinput> NAME USED AVAIL REFER MOUNTPOINT @@ -33777,14 +32900,7 @@ camino/home/joe 108K 1.3G 87K /usr/home/joe camino/home/joe@plans 21K - 85.5K - camino/home/joe@backup 0K - 87K -</screen> - <para xml:lang="en">A typical use for clones is to experiment with a specific - dataset while keeping the snapshot around to fall back to in - case something goes wrong. Since snapshots cannot be - changed, a read/write clone of a snapshot is created. After - the desired result is achieved in the clone, the clone can be - promoted to a dataset and the old file system removed. This - is not strictly necessary, as the clone and dataset can - coexist without problems.</para> + <para>會使用到複本一般是要在可以保留快照以便出錯時可還原的情況下使用指定的資料集做實驗,由於快照並無法做更改,所以會建立一個可以讀/寫的快照複本。當在複本中做完想要執行的動作後,便可以提升複本成資料集,然後移除舊的檔案系統。嚴格來說這並非必要,因為複本與資料集可同時存在,不會有任何問題。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs clone <replaceable>camino/home/joe</replaceable>@<replaceable>backup</replaceable> <replaceable>camino/home/joenew</replaceable></userinput> <prompt>#</prompt> <userinput>ls /usr/home/joe*</userinput> @@ -33798,16 +32914,7 @@ Filesystem Size Used Avail Capacity Mounted on usr/home/joe 1.3G 31k 1.3G 0% /usr/home/joe usr/home/joenew 1.3G 31k 1.3G 0% /usr/home/joenew</screen> - <para xml:lang="en">After a clone is created it is an exact copy of the state - the dataset was in when the snapshot was taken. The clone can - now be changed independently from its originating dataset. - The only connection between the two is the snapshot. - <acronym>ZFS</acronym> records this connection in the property - <literal>origin</literal>. Once the dependency between the - snapshot and the clone has been removed by promoting the clone - using <command>zfs promote</command>, the - <literal>origin</literal> of the clone is removed as it is now - an independent dataset. This example demonstrates it:</para> + <para>建立完的複本便有與建立快照時狀態相同的資料集,現在複本可以獨立於原來的資料集來做更改。剩下唯一與資料集之間的關係便是快照,<acronym>ZFS</acronym> 會在屬性 <literal>origin</literal> 記錄這個關係,一旦在快照與複本之間的相依關係因為使用 <command>zfs promote</command> 提升而移除時,複本的 <literal>origin</literal> 也會因為成為一個完全獨立的資料集而移除。以下範例會示範這個動作:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs get origin <replaceable>camino/home/joenew</replaceable></userinput> NAME PROPERTY VALUE SOURCE @@ -33817,14 +32924,7 @@ camino/home/joenew origin camino/home/joe@backup - NAME PROPERTY VALUE SOURCE camino/home/joenew origin - -</screen> - <para xml:lang="en">After making some changes like copying - <filename>loader.conf</filename> to the promoted clone, for - example, the old directory becomes obsolete in this case. - Instead, the promoted clone can replace it. This can be - achieved by two consecutive commands: <command>zfs - destroy</command> on the old dataset and <command>zfs - rename</command> on the clone to name it like the old - dataset (it could also get an entirely different name).</para> + <para>做為部份更改之後,例如複製 <filename>loader.conf</filename> 到提升後的複本,這個例子中的舊目錄便無須保留,取而代之的是提升後的複本,這個動作可以用兩個連續的指令來完成:在舊資料集上執行 <command>zfs destroy</command> 並在與舊資料相似名稱 (也可能用完全不同的名稱) 的複本上執行 <command>zfs rename</command>。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>cp <replaceable>/boot/defaults/loader.conf</replaceable> <replaceable>/usr/home/joenew</replaceable></userinput> <prompt>#</prompt> <userinput>zfs destroy -f <replaceable>camino/home/joe</replaceable></userinput> @@ -33835,81 +32935,35 @@ backup.txz loader.conf plans.txt Filesystem Size Used Avail Capacity Mounted on usr/home/joe 1.3G 128k 1.3G 0% /usr/home/joe</screen> - <para xml:lang="en">The cloned snapshot is now handled like an ordinary - dataset. It contains all the data from the original snapshot - plus the files that were added to it like - <filename>loader.conf</filename>. Clones can be used in - different scenarios to provide useful features to ZFS users. - For example, jails could be provided as snapshots containing - different sets of installed applications. Users can clone - these snapshots and add their own applications as they see - fit. Once they are satisfied with the changes, the clones can - be promoted to full datasets and provided to end users to work - with like they would with a real dataset. This saves time and - administrative overhead when providing these jails.</para> + <para>快照的複本現在可以如同一般資料集一樣使用,它的內容包含了所有來自原始快照的資料以及後來加入的檔案,例如 <filename>loader.conf</filename>。複本可以在許多不同的情境下使用提供 ZFS 的使用者有用的功能,例如,Jail 可以透過含有已安裝了各種應用程式集的快照來提供,使用者可以複製這些快照然後加入自己想要嘗試的應用程式,一但更改可以滿足需求,便可提升複本為完整的資料集然後提供給終端使用者,讓終端使用者可以如同實際擁有資料集一般的使用,這個以節省提供這些 Jail 的時間與管理成本。</para> </sect2> <sect2 xml:id="zfs-zfs-send"> - <title>備援</title> - - <para xml:lang="en">Keeping data on a single pool in one location exposes - it to risks like theft and natural or human disasters. Making - regular backups of the entire pool is vital. - <acronym>ZFS</acronym> provides a built-in serialization - feature that can send a stream representation of the data to - standard output. Using this technique, it is possible to not - only store the data on another pool connected to the local - system, but also to send it over a network to another system. - Snapshots are the basis for this replication (see the section - on <link linkend="zfs-zfs-snapshot"><acronym>ZFS</acronym> - snapshots</link>). The commands used for replicating data - are <command>zfs send</command> and - <command>zfs receive</command>.</para> - - <para xml:lang="en">These examples demonstrate <acronym>ZFS</acronym> - replication with these two pools:</para> + <title>備份 (Replication)</title> + + <para>將資料保存在單一地點的單一儲存池上會讓資料暴露在盜竊、自然或人為的風險之下,定期備份整個儲存池非常重要,<acronym>ZFS</acronym> 提供了內建的序列化 (Serialization) 功能可以將資料以串流傳送到標準輸出。使用這項技術,不僅可以將資料儲存到另一個已連結到本地系統的儲存池,也可以透過網路將資料傳送到另一個系統,這種備份方式以快照為基礎 (請參考章節 <link linkend="zfs-zfs-snapshot"><acronym>ZFS</acronym> 快照(Snapshot)</link>)。用來備份資料的指令為 <command>zfs send</command> 及 <command>zfs receive</command>。</para> + + <para>以下例子將示範使用兩個儲存池來做 <acronym>ZFS</acronym> 備份:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool list</userinput> NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT backup 960M 77K 896M 0% 1.00x ONLINE - mypool 984M 43.7M 940M 4% 1.00x ONLINE -</screen> - <para xml:lang="en">The pool named <replaceable>mypool</replaceable> is the - primary pool where data is written to and read from on a - regular basis. A second pool, - <replaceable>backup</replaceable> is used as a standby in case - the primary pool becomes unavailable. Note that this - fail-over is not done automatically by <acronym>ZFS</acronym>, - but must be manually done by a system administrator when - needed. A snapshot is used to provide a consistent version of - the file system to be replicated. Once a snapshot of - <replaceable>mypool</replaceable> has been created, it can be - copied to the <replaceable>backup</replaceable> pool. Only - snapshots can be replicated. Changes made since the most - recent snapshot will not be included.</para> + <para>名為 <replaceable>mypool</replaceable> 的儲存池為主要的儲存池,資料會定期寫入與讀取的位置。第二個儲存池 <replaceable>backup</replaceable> 用來待命 (Standby),萬一主要儲存池無法使用時可替換。注意,<acronym>ZFS</acronym> 並不會自動做容錯移轉 (Fail-over),必須要由系統管理者在需要的時候手動完成。快照會用來提供一個與檔系統一致的版本來做備份,<replaceable>mypool</replaceable> 的快照建立之後,便可以複製到 <replaceable>backup</replaceable> 儲存池,只有快照可以做備份,最近一次快照之後所做的變更不會含在內容裡面。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs snapshot <replaceable>mypool</replaceable>@<replaceable>backup1</replaceable></userinput> <prompt>#</prompt> <userinput>zfs list -t snapshot</userinput> NAME USED AVAIL REFER MOUNTPOINT mypool@backup1 0 - 43.6M -</screen> - <para xml:lang="en">Now that a snapshot exists, <command>zfs send</command> - can be used to create a stream representing the contents of - the snapshot. This stream can be stored as a file or received - by another pool. The stream is written to standard output, - but must be redirected to a file or pipe or an error is - produced:</para> + <para>快照存在以後,便可以使用 <command>zfs send</command> 來建立一個代表快照內容的串流,這個串流可以儲存成檔案或由其他儲存池接收。串流會寫入到標準輸出,但是必須要重新導向到一個檔案或轉接到其他地方,否則會錯誤:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs send <replaceable>mypool</replaceable>@<replaceable>backup1</replaceable></userinput> Error: Stream can not be written to a terminal. You must redirect standard output.</screen> - <para xml:lang="en">To back up a dataset with <command>zfs send</command>, - redirect to a file located on the mounted backup pool. Ensure - that the pool has enough free space to accommodate the size of - the snapshot being sent, which means all of the data contained - in the snapshot, not just the changes from the previous - snapshot.</para> + <para>要使用 <command>zfs send</command> 備份一個資料集,可重新導向到一個位於在已掛載到備份儲存池上的檔案。確定該儲存池有足夠的空間容納要傳送的快照,這裡指的是該快照中內含的所有資料,並非只有上次快照到該快照間的變更。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs send <replaceable>mypool</replaceable>@<replaceable>backup1</replaceable> > <replaceable>/backup/backup1</replaceable></userinput> <prompt>#</prompt> <userinput>zpool list</userinput> @@ -33917,23 +32971,9 @@ NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT backup 960M 63.7M 896M 6% 1.00x ONLINE - mypool 984M 43.7M 940M 4% 1.00x ONLINE -</screen> - <para xml:lang="en">The <command>zfs send</command> transferred all the data - in the snapshot called <replaceable>backup1</replaceable> to - the pool named <replaceable>backup</replaceable>. Creating - and sending these snapshots can be done automatically with a - <citerefentry><refentrytitle>cron</refentrytitle><manvolnum>8</manvolnum></citerefentry> job.</para> - - <para xml:lang="en">Instead of storing the backups as archive files, - <acronym>ZFS</acronym> can receive them as a live file system, - allowing the backed up data to be accessed directly. To get - to the actual data contained in those streams, - <command>zfs receive</command> is used to transform the - streams back into files and directories. The example below - combines <command>zfs send</command> and - <command>zfs receive</command> using a pipe to copy the data - from one pool to another. The data can be used directly on - the receiving pool after the transfer is complete. A dataset - can only be replicated to an empty dataset.</para> + <para><command>zfs send</command> 會傳輸在快照 <replaceable>backup1</replaceable> 中所有的資料到儲存池 <replaceable>backup</replaceable>。可以使用 <citerefentry><refentrytitle>cron</refentrytitle><manvolnum>8</manvolnum></citerefentry> 排程來自動完成建立與傳送快照的動作。</para> + + <para>若不想將備份以封存檔案儲存,<acronym>ZFS</acronym> 可用實際的檔案系統來接收資料,讓備份的資料可以直接被存取。要取得實際包含在串流中的資料可以用 <command>zfs receive</command> 將串流轉換回檔案與目錄。以下例子會以管線符號連接 <command>zfs send</command> 及 <command>zfs receive</command>,將資料從一個儲存池複製到另一個,傳輸完成後可以直接使用接收儲存池上的資料。一個資料集只可以被複製到另一個空的資料集。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs snapshot <replaceable>mypool</replaceable>@<replaceable>replica1</replaceable></userinput> <prompt>#</prompt> <userinput>zfs send -v <replaceable>mypool</replaceable>@<replaceable>replica1</replaceable> | zfs receive <replaceable>backup/mypool</replaceable></userinput> @@ -33949,10 +32989,7 @@ mypool 984M 43.7M 940M 4% 1.00x ONLINE -</screen> <sect3 xml:id="zfs-send-incremental"> <title>漸進式備份</title> - <para xml:lang="en"><command>zfs send</command> can also determine the - difference between two snapshots and send only the - differences between the two. This saves disk space and - transfer time. For example:</para> + <para><command>zfs send</command> 也可以比較兩個快照之間的差異,並且只傳送兩者之間的差異,這麼做可以節省磁碟空間及傳輸時間。例如:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs snapshot <replaceable>mypool</replaceable>@<replaceable>replica2</replaceable></userinput> <prompt>#</prompt> <userinput>zfs list -t snapshot</userinput> @@ -33964,16 +33001,7 @@ NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT backup 960M 61.7M 898M 6% 1.00x ONLINE - mypool 960M 50.2M 910M 5% 1.00x ONLINE -</screen> - <para xml:lang="en">A second snapshot called - <replaceable>replica2</replaceable> was created. This - second snapshot contains only the changes that were made to - the file system between now and the previous snapshot, - <replaceable>replica1</replaceable>. Using - <command>zfs send -i</command> and indicating the pair of - snapshots generates an incremental replica stream containing - only the data that has changed. This can only succeed if - the initial snapshot already exists on the receiving - side.</para> + <para>會建立一個名為 <replaceable>replica2</replaceable> 的第二個快照,這個快照只中只會含有目前與前次快照 <replaceable>replica1</replaceable> 之間檔案系統所做的變更。使用 <command>zfs send -i</command> 並指定要用來產生漸進備份串流的快照,串流中只會含有做過更改的資料。這個動作只在接收端已經有初始快照時才可用。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs send -v -i <replaceable>mypool</replaceable>@<replaceable>replica1</replaceable> <replaceable>mypool</replaceable>@<replaceable>replica2</replaceable> | zfs receive <replaceable>/backup/mypool</replaceable></userinput> send from @replica1 to mypool@replica2 estimated size is 5.02M @@ -33998,85 +33026,37 @@ backup/mypool@replica2 0 - 55.2M - mypool@replica1 29.9K - 50.0M - mypool@replica2 0 - 55.0M -</screen> - <para xml:lang="en">The incremental stream was successfully transferred. - Only the data that had changed was replicated, rather than - the entirety of <replaceable>replica1</replaceable>. Only - the differences were sent, which took much less time to - transfer and saved disk space by not copying the complete - pool each time. This is useful when having to rely on slow - networks or when costs per transferred byte must be - considered.</para> - - <para xml:lang="en">A new file system, - <replaceable>backup/mypool</replaceable>, is available with - all of the files and data from the pool - <replaceable>mypool</replaceable>. If <option>-P</option> - is specified, the properties of the dataset will be copied, - including compression settings, quotas, and mount points. - When <option>-R</option> is specified, all child datasets of - the indicated dataset will be copied, along with all of - their properties. Sending and receiving can be automated so - that regular backups are created on the second pool.</para> + <para>如此一來,便成功傳輸漸進式的串流,只有做過更改的資料會被備份,不會傳送完整的 <replaceable>replica1</replaceable>。由於不會備份完整的儲存池,只傳送差異的部份,所以可以減少傳輸的時間並節省磁碟空間,特別是在網路緩慢或需要考量每位元傳輸成本時非常有用。</para> + + <para>從儲存池 <replaceable>mypool</replaceable> 複製所有檔案與資料的新檔案系統 <replaceable>backup/mypool</replaceable> 便可以使用。若指定 <option>-P</option>,會一併複製資料集的屬性,這包含壓縮 (Compression) 設定,配額 (Quota) 及掛載點 (Mount point)。若指定 <option>-R</option>,會複製所有指定資料集的子資料集,及這些子資料集的所有屬性。可將傳送與接收自動化來定期使用第二個儲存池做備份。</para> </sect3> <sect3 xml:id="zfs-send-ssh"> - <title>透過 <application>SSH</application> 傳送已加密的備份</title> - - <para xml:lang="en">Sending streams over the network is a good way to keep a - remote backup, but it does come with a drawback. Data sent - over the network link is not encrypted, allowing anyone to - intercept and transform the streams back into data without - the knowledge of the sending user. This is undesirable, - especially when sending the streams over the internet to a - remote host. <application>SSH</application> can be used to - securely encrypt data send over a network connection. Since - <acronym>ZFS</acronym> only requires the stream to be - redirected from standard output, it is relatively easy to - pipe it through <application>SSH</application>. To keep the - contents of the file system encrypted in transit and on the - remote system, consider using <link xlink:href="http://wiki.freebsd.org/PEFS">PEFS</link>.</para> - - <para xml:lang="en">A few settings and security precautions must be - completed first. Only the necessary steps required for the - <command>zfs send</command> operation are shown here. For - more information on <application>SSH</application>, see - <xref linkend="openssh"/>.</para> - - <para xml:lang="en">This configuration is required:</para> + <title>透過 <application>SSH</application> 傳送加密的備份</title> + + <para>透過網路來傳送串流對要遠端備份是相當不錯的方式,但是也有一些缺點,透過網路連結傳送的資料沒有加密,這會讓任何人都可以在未告知傳送使用者的情況下攔截並轉換串流回資料,這是我們所不想見到的情況,特別是在使用網際網路傳送串流到遠端的主機時。<application>SSH</application> 可用來安全的加密要透過網路連線傳送的資料,在 <acronym>ZFS</acronym> 只需要從標準輸出重新導向便可簡單的轉接到 <application>SSH</application>。要在傳送或在遠端系統中維持檔案系統內容在加密的狀態也可考慮使用 <link xlink:href="http://wiki.freebsd.org/PEFS">PEFS</link>。</para> + + <para>有一些設定以及安全性注意事項必須先完成,只有對 <command>zfs send</command> 操作必要的步驟才會在此說明,要取得更多有關 <application>SSH</application> 的資訊請參考 <xref linkend="openssh"/>。</para> + + <para>必要的環境設定:</para> <itemizedlist> <listitem> - <para xml:lang="en">Passwordless <application>SSH</application> access - between sending and receiving host using - <application>SSH</application> keys</para> + <para>使用 <application>SSH</application> 金鑰設定傳送端與接收端間無密碼的 <application>SSH</application> 存取</para> </listitem> <listitem> - <para xml:lang="en">Normally, the privileges of the - <systemitem class="username">root</systemitem> user are - needed to send and receive streams. This requires - logging in to the receiving system as - <systemitem class="username">root</systemitem>. - However, logging in as - <systemitem class="username">root</systemitem> is - disabled by default for security reasons. The - <link linkend="zfs-zfs-allow">ZFS Delegation</link> - system can be used to allow a - non-<systemitem class="username">root</systemitem> user - on each system to perform the respective send and - receive operations.</para> + <para>正常會需要 <systemitem class="username">root</systemitem> 的權限來傳送與接收串流,這需要可以 <systemitem class="username">root</systemitem> 登入到接收端系統。但是,預設因安全性考慮會關閉以 <systemitem class="username">root</systemitem> 登入。ZFS 委託 (<link linkend="zfs-zfs-allow">ZFS Delegation</link>) 系統可以用來允許一個非 <systemitem class="username">root</systemitem> 使用者在每個系統上執行各自的發送與接收操作。</para> </listitem> <listitem> - <para xml:lang="en">On the sending system:</para> + <para>在傳送端系統上:</para> <screen xml:lang="en"><prompt>#</prompt> <command>zfs allow -u someuser send,snapshot <replaceable>mypool</replaceable></command></screen> </listitem> <listitem> - <para xml:lang="en">To mount the pool, the unprivileged user must own - the directory, and regular users must be allowed to - mount file systems. On the receiving system:</para> + <para>要掛載儲存池,無權限的使用者必須擁有該目錄且必須允許一般的使用者掛載檔案系統。在接收端系統上:</para> <screen xml:lang="en"><prompt>#</prompt> sysctl vfs.usermount=1 vfs.usermount: 0 -> 1 @@ -34087,146 +33067,79 @@ vfs.usermount: 0 -> 1 </listitem> </itemizedlist> - <para xml:lang="en">The unprivileged user now has the ability to receive and - mount datasets, and the <replaceable>home</replaceable> - dataset can be replicated to the remote system:</para> + <para>無權限的使用者現在有能力可以接收並掛載資料集,且 <replaceable>home</replaceable> 資料集可以被複製到遠端系統:</para> <screen xml:lang="en"><prompt>%</prompt> <userinput>zfs snapshot -r <replaceable>mypool/home</replaceable>@<replaceable>monday</replaceable></userinput> <prompt>%</prompt> <userinput>zfs send -R <replaceable>mypool/home</replaceable>@<replaceable>monday</replaceable> | ssh <replaceable>someuser@backuphost</replaceable> zfs recv -dvu <replaceable>recvpool/backup</replaceable></userinput></screen> - <para xml:lang="en">A recursive snapshot called - <replaceable>monday</replaceable> is made of the file system - dataset <replaceable>home</replaceable> that resides on the - pool <replaceable>mypool</replaceable>. Then it is sent - with <command>zfs send -R</command> to include the dataset, - all child datasets, snaphots, clones, and settings in the - stream. The output is piped to the waiting - <command>zfs receive</command> on the remote host - <replaceable>backuphost</replaceable> through - <application>SSH</application>. Using a fully qualified - domain name or IP address is recommended. The receiving - machine writes the data to the - <replaceable>backup</replaceable> dataset on the - <replaceable>recvpool</replaceable> pool. Adding - <option>-d</option> to <command>zfs recv</command> - overwrites the name of the pool on the receiving side with - the name of the snapshot. <option>-u</option> causes the - file systems to not be mounted on the receiving side. When - <option>-v</option> is included, more detail about the - transfer is shown, including elapsed time and the amount of - data transferred.</para> + <para>替儲存在儲存池 <replaceable>mypool</replaceable> 上的檔案系統資料集 <replaceable>home</replaceable> 製作一個遞迴快照 <replaceable>monday</replaceable>,然後使用 <command>zfs send -R</command> 來傳送包含該資料集及其所有子資料集、快照、複製與設定的串流。輸出會被導向到 <application>SSH</application> 連線的遠端主機 <replaceable>backuphost</replaceable> 上等候輸入的 <command>zfs receive</command>,在此建議使用完整網域名稱或 IP 位置。接收端的機器會寫入資料到 <replaceable>recvpool</replaceable> 儲存池上的 <replaceable>backup</replaceable> 資料集,在 <command>zfs recv</command> 加上 <option>-d</option> 可覆寫在接收端使用相同名稱的快照,加上 <option>-u</option> 可讓檔案系統在接收端不會被掛載,當使用 <option>-v</option>,會顯示更多有關傳輸的詳細資訊,包含已花費的時間及已傳輸的資料量。</para> </sect3> </sect2> <sect2 xml:id="zfs-zfs-quota"> <title>資料集、使用者以及群組配額</title> - <para xml:lang="en"><link linkend="zfs-term-quota">Dataset quotas</link> are - used to restrict the amount of space that can be consumed - by a particular dataset. - <link linkend="zfs-term-refquota">Reference Quotas</link> work - in very much the same way, but only count the space - used by the dataset itself, excluding snapshots and child - datasets. Similarly, - <link linkend="zfs-term-userquota">user</link> and - <link linkend="zfs-term-groupquota">group</link> quotas can be - used to prevent users or groups from using all of the - space in the pool or dataset.</para> - - <para xml:lang="en">To enforce a dataset quota of 10 GB for - <filename>storage/home/bob</filename>:</para> + <para>資料集配額 (<link linkend="zfs-term-quota">Dataset quota</link>) 可用來限制特定資料集可以使用的的空間量。參考配額 (<link linkend="zfs-term-refquota">Reference Quota</link>) 的功能也非常相似,差在參考配額只會計算資料集自己使用的空間,不含快照與子資料集。類似的,使用者 (<link linkend="zfs-term-userquota">User</link>) 與群組 (<link linkend="zfs-term-groupquota">Group</link>) 配額可以用來避免使用者或群組用掉儲存池或資料集的所有空間。</para> + + <para>要設定 <filename>storage/home/bob</filename> 的資料集配額為 10 GB:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs set quota=10G storage/home/bob</userinput></screen> - <para xml:lang="en">To enforce a reference quota of 10 GB for - <filename>storage/home/bob</filename>:</para> + <para>要設定 <filename>storage/home/bob</filename> 的參考配額為 10 GB:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs set refquota=10G storage/home/bob</userinput></screen> - <para xml:lang="en">To remove a quota of 10 GB for - <filename>storage/home/bob</filename>:</para> + <para>要移除 <filename>storage/home/bob</filename> 的 10 GB 配額:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs set quota=none storage/home/bob</userinput></screen> - <para xml:lang="en">The general format is - <literal>userquota@<replaceable>user</replaceable>=<replaceable>size</replaceable></literal>, - and the user's name must be in one of these formats:</para> + <para>設定使用者配額的一般格式為 <literal>userquota@<replaceable>user</replaceable>=<replaceable>size</replaceable></literal> 使用者的名稱必須使用以下格式:</para> <itemizedlist> <listitem> - <para xml:lang="en"><acronym>POSIX</acronym> compatible name such as - <replaceable>joe</replaceable>.</para> + <para><acronym>POSIX</acronym> 相容的名稱,如 <replaceable>joe</replaceable>。</para> </listitem> <listitem> - <para xml:lang="en"><acronym>POSIX</acronym> numeric ID such as - <replaceable>789</replaceable>.</para> + <para><acronym>POSIX</acronym> 數字 ID,如 <replaceable>789</replaceable>。</para> </listitem> <listitem> - <para xml:lang="en"><acronym>SID</acronym> name - such as - <replaceable>joe.bloggs@example.com</replaceable>.</para> + <para><acronym>SID</acronym> 名稱,如 <replaceable>joe.bloggs@example.com</replaceable>。</para> </listitem> <listitem> - <para xml:lang="en"><acronym>SID</acronym> - numeric ID such as - <replaceable>S-1-123-456-789</replaceable>.</para> + <para><acronym>SID</acronym> 數字 ID,如 <replaceable>S-1-123-456-789</replaceable>。</para> </listitem> </itemizedlist> - <para xml:lang="en">For example, to enforce a user quota of 50 GB for the - user named <replaceable>joe</replaceable>:</para> + <para>例如,要設定使用者名為 <replaceable>joe</replaceable> 的使用者配額為 50 GB:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs set userquota@joe=50G</userinput></screen> - <para xml:lang="en">To remove any quota:</para> + <para>要移除所有配額:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs set userquota@joe=none</userinput></screen> <note> - <para xml:lang="en">User quota properties are not displayed by - <command>zfs get all</command>. - Non-<systemitem class="username">root</systemitem> users can - only see their own quotas unless they have been granted the - <literal>userquota</literal> privilege. Users with this - privilege are able to view and set everyone's quota.</para> + <para>使用者配額的屬性不會顯示在 <command>zfs get all</command>。非 <systemitem class="username">root</systemitem> 的使用者只可以看到自己的配額,除非它們有被授予 <literal>userquota</literal> 權限,擁有這個權限的使用者可以檢視與設定任何人的配額。</para> </note> - <para xml:lang="en">The general format for setting a group quota is: - <literal>groupquota@<replaceable>group</replaceable>=<replaceable>size</replaceable></literal>.</para> + <para>要設定群組配額的一般格式為:<literal>groupquota@<replaceable>group</replaceable>=<replaceable>size</replaceable></literal>。</para> - <para xml:lang="en">To set the quota for the group - <replaceable>firstgroup</replaceable> to 50 GB, - use:</para> + <para>要設定群組 <replaceable>firstgroup</replaceable> 的配額為 50 GB 可使用:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs set groupquota@firstgroup=50G</userinput></screen> - <para xml:lang="en">To remove the quota for the group - <replaceable>firstgroup</replaceable>, or to make sure that - one is not set, instead use:</para> + <para>要移除群組 <replaceable>firstgroup</replaceable> 的配額,或確保該群組未設定配額可使用:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs set groupquota@firstgroup=none</userinput></screen> - <para xml:lang="en">As with the user quota property, - non-<systemitem class="username">root</systemitem> users can - only see the quotas associated with the groups to which they - belong. However, - <systemitem class="username">root</systemitem> or a user with - the <literal>groupquota</literal> privilege can view and set - all quotas for all groups.</para> - - <para xml:lang="en">To display the amount of space used by each user on - a file system or snapshot along with any quotas, use - <command>zfs userspace</command>. For group information, use - <command>zfs groupspace</command>. For more information about - supported options or how to display only specific options, - refer to <citerefentry><refentrytitle>zfs</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para> - - <para xml:lang="en">Users with sufficient privileges, and - <systemitem class="username">root</systemitem>, can list the - quota for <filename>storage/home/bob</filename> using:</para> + <para>如同使用者配額屬性,非 <systemitem class="username">root</systemitem> 使用者只可以查看自己所屬群組的配額。而 <systemitem class="username">root</systemitem> 或擁有 <literal>groupquota</literal> 權限的使用者,可以檢視並設定所有群組的任何配額。</para> + + <para>要顯示在檔案系統或快照上每位使用者所使用的空間量及配額可使用 <command>zfs userspace</command>,要取得群組的資訊則可使用 <command>zfs groupspace</command>,要取得有關支援的選項資訊或如何只顯示特定選項的資訊請參考 <citerefentry><refentrytitle>zfs</refentrytitle><manvolnum>1</manvolnum></citerefentry>。</para> + + <para>有足夠權限的使用者及 <systemitem class="username">root</systemitem> 可以使用以下指令列出 <filename>storage/home/bob</filename> 的配額:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs get quota storage/home/bob</userinput></screen> </sect2> @@ -34234,33 +33147,19 @@ vfs.usermount: 0 -> 1 <sect2 xml:id="zfs-zfs-reservation"> <title>保留空間</title> - <para xml:lang="en"><link linkend="zfs-term-reservation">Reservations</link> - guarantee a minimum amount of space will always be available - on a dataset. The reserved space will not be available to any - other dataset. This feature can be especially useful to - ensure that free space is available for an important dataset - or log files.</para> + <para>保留空間 (<link linkend="zfs-term-reservation">Reservation</link>) 可以確保資料集最少可用的空間量,其他任何資料集無法使用保留的空間,這個功能在要確保有足夠的可用空間來存放重要的資料集或日誌檔時特別有用。</para> - <para xml:lang="en">The general format of the <literal>reservation</literal> - property is - <literal>reservation=<replaceable>size</replaceable></literal>, - so to set a reservation of 10 GB on - <filename>storage/home/bob</filename>, use:</para> + <para><literal>reservation</literal> 屬性的一般格式為 <literal>reservation=<replaceable>size</replaceable></literal>,所以要在 <filename>storage/home/bob</filename> 設定保留 10 GB 的空間可以用:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs set reservation=10G storage/home/bob</userinput></screen> - <para xml:lang="en">To clear any reservation:</para> + <para>要清除任何保留空間:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs set reservation=none storage/home/bob</userinput></screen> - <para xml:lang="en">The same principle can be applied to the - <literal>refreservation</literal> property for setting a - <link linkend="zfs-term-refreservation">Reference - Reservation</link>, with the general format - <literal>refreservation=<replaceable>size</replaceable></literal>.</para> + <para>同樣的原則可以應用在 <literal>refreservation</literal> 屬性來設定參考保留空間 (<link linkend="zfs-term-refreservation">Reference Reservation</link>),參考保留空間的一般格式為 <literal>refreservation=<replaceable>size</replaceable></literal>。</para> - <para xml:lang="en">This command shows any reservations or refreservations - that exist on <filename>storage/home/bob</filename>:</para> + <para>這個指令會顯示任何已設定於 <filename>storage/home/bob</filename> 的 reservation 或 refreservation:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs get reservation storage/home/bob</userinput> <prompt>#</prompt> <userinput>zfs get refreservation storage/home/bob</userinput></screen> @@ -34269,34 +33168,11 @@ vfs.usermount: 0 -> 1 <sect2 xml:id="zfs-zfs-compression"> <title>壓縮 (Compression)</title> - <para xml:lang="en"><acronym>ZFS</acronym> provides transparent compression. - Compressing data at the block level as it is written not only - saves space, but can also increase disk throughput. If data - is compressed by 25%, but the compressed data is written to - the disk at the same rate as the uncompressed version, - resulting in an effective write speed of 125%. Compression - can also be a great alternative to - <link linkend="zfs-zfs-deduplication">Deduplication</link> - because it does not require additional memory.</para> - - <para xml:lang="en"><acronym>ZFS</acronym> offers several different - compression algorithms, each with different trade-offs. With - the introduction of <acronym>LZ4</acronym> compression in - <acronym>ZFS</acronym> v5000, it is possible to enable - compression for the entire pool without the large performance - trade-off of other algorithms. The biggest advantage to - <acronym>LZ4</acronym> is the <emphasis>early abort</emphasis> - feature. If <acronym>LZ4</acronym> does not achieve at least - 12.5% compression in the first part of the data, the block is - written uncompressed to avoid wasting CPU cycles trying to - compress data that is either already compressed or - uncompressible. For details about the different compression - algorithms available in <acronym>ZFS</acronym>, see the - <link linkend="zfs-term-compression">Compression</link> entry - in the terminology section.</para> - - <para xml:lang="en">The administrator can monitor the effectiveness of - compression using a number of dataset properties.</para> + <para><acronym>ZFS</acronym> 提供直接的壓縮功能,在資料區塊層級壓縮資料不僅可以節省空間,也可以增加磁碟的效能。若資料壓縮了 25%,但壓縮的資料會使用了與未壓縮版本相同的速率寫入到磁碟,所以實際的寫入速度會是原來的 125%。壓縮功能也可來替代去重複 (<link linkend="zfs-zfs-deduplication">Deduplication</link>) 功能,因為壓縮並不需要使用額外的記憶體。</para> + + <para><acronym>ZFS</acronym> 提了多種不同的壓縮演算法,每一種都有不同的優缺點,隨著 <acronym>ZFS</acronym> v5000 引進了 <acronym>LZ4</acronym> 壓縮技術,可對整個儲存池開啟壓縮,而不像其他演算法需要消耗大量的效能來達成,最大的優點是 <acronym>LZ4</acronym> 擁有 <emphasis>提早放棄</emphasis> 的功能,若 <acronym>LZ4</acronym> 無法在資料一開始的部份達成至少 12.5% 的壓縮率,便會以不壓縮的方式來寫入資料區塊來避免 CPU 在那些已經壓縮過或無法壓縮的資料上浪費運算能力。要取得更多有關 <acronym>ZFS</acronym> 中可用的壓縮演算法詳細資訊,可參考術語章節中的壓縮 (<link linkend="zfs-term-compression">Compression</link>) 項目。</para> + + <para>管理者可以使用資料集的屬性來監視壓縮的效果。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs get used,compressratio,compression,logicalused <replaceable>mypool/compressed_dataset</replaceable></userinput> NAME PROPERTY VALUE SOURCE @@ -34305,94 +33181,44 @@ mypool/compressed_dataset compressratio 1.11x - mypool/compressed_dataset compression lz4 local mypool/compressed_dataset logicalused 496G -</screen> - <para xml:lang="en">The dataset is currently using 449 GB of space (the - used property). Without compression, it would have taken - 496 GB of space (the <literal>logicallyused</literal> - property). This results in the 1.11:1 compression - ratio.</para> - - <para xml:lang="en">Compression can have an unexpected side effect when - combined with - <link linkend="zfs-term-userquota">User Quotas</link>. - User quotas restrict how much space a user can consume on a - dataset, but the measurements are based on how much space is - used <emphasis>after compression</emphasis>. So if a user has - a quota of 10 GB, and writes 10 GB of compressible - data, they will still be able to store additional data. If - they later update a file, say a database, with more or less - compressible data, the amount of space available to them will - change. This can result in the odd situation where a user did - not increase the actual amount of data (the - <literal>logicalused</literal> property), but the change in - compression caused them to reach their quota limit.</para> - - <para xml:lang="en">Compression can have a similar unexpected interaction with - backups. Quotas are often used to limit how much data can be - stored to ensure there is sufficient backup space available. - However since quotas do not consider compression, more data - may be written than would fit with uncompressed - backups.</para> + <para>資料集目前使用了 449 GB 的空間 (在 used 屬性)。在尚未壓縮前,該資料集應該會使用 496 GB 的空間 (於 <literal>logicallyused</literal> 屬性),這個結果顯示目前的壓縮比為 1.11:1。</para> + + <para>壓縮功能在與使用者配額 (<link linkend="zfs-term-userquota">User Quota</link>) 一併使用時可能會產生無法預期的副作用。使用者配額會限制一個使用者在一個資料集上可以使用多少空間,但衡量的依據是以 <emphasis>壓縮後</emphasis> 所使用的空間,因此,若一個使用者有 10 GB 的配額,寫入了 10 GB 可壓縮的資料,使用者將還會有空間儲存額外的資料。若使用者在之後更新了一個檔案,例如一個資料庫,可能有更多或較少的可壓縮資料,那麼剩餘可用的空間量也會因此而改變,這可能會造成奇怪的現象便是,一個使用者雖然沒有增加實際的資料量 (於 <literal>logicalused</literal> 屬性),但因為更改影響了壓縮率,導致使用者達到配額的上限。</para> + + <para>壓縮功能在與備份功能一起使用時也可能會有類似的問題,通常會使用配額功能來限制能夠儲存的資料量來確保有足夠的備份空間可用。但是由於配額功能並不會考量壓縮狀況,可能會有比未壓縮版本備份更多的資料量會被寫入到資料集。</para> </sect2> <sect2 xml:id="zfs-zfs-deduplication"> <title>去重複 (Deduplication)</title> - <para xml:lang="en">When enabled, - <link linkend="zfs-term-deduplication">deduplication</link> - uses the checksum of each block to detect duplicate blocks. - When a new block is a duplicate of an existing block, - <acronym>ZFS</acronym> writes an additional reference to the - existing data instead of the whole duplicate block. - Tremendous space savings are possible if the data contains - many duplicated files or repeated information. Be warned: - deduplication requires an extremely large amount of memory, - and most of the space savings can be had without the extra - cost by enabling compression instead.</para> - - <para xml:lang="en">To activate deduplication, set the - <literal>dedup</literal> property on the target pool:</para> + <para>當開啟,去重複 (<link linkend="zfs-term-deduplication">Deduplication</link>) 功能會使用每個資料區塊的校驗碼 (Checksum) 來偵測重複的資料區塊,當新的資料區塊與現有的資料區塊重複,<acronym>ZFS</acronym> 便會寫入連接到現有資料的參考來替代寫入重複的資料區塊,這在資料中有大量重複的檔案或資訊時可以節省大量的空間,要注意的是:去重複功能需要使用大量的記憶體且大部份可節省的空間可改開啟壓縮功能來達成,而壓縮功能不需要使用額外的記憶體。</para> + + <para>要開啟去重複功能,需在目標儲存池設定 <literal>dedup</literal> 屬性:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zfs set dedup=on <replaceable>pool</replaceable></userinput></screen> - <para xml:lang="en">Only new data being written to the pool will be - deduplicated. Data that has already been written to the pool - will not be deduplicated merely by activating this option. A - pool with a freshly activated deduplication property will look - like this example:</para> + <para>只有要被寫入到儲存池的新資料才會做去重複的動作,先前已被寫入到儲存池的資料不會因此啟動了這個選項而做去重複。查看已開啟去重複屬性的儲存池會如下:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool list</userinput> NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT pool 2.84G 2.19M 2.83G 0% 1.00x ONLINE -</screen> - <para xml:lang="en">The <literal>DEDUP</literal> column shows the actual rate - of deduplication for the pool. A value of - <literal>1.00x</literal> shows that data has not been - deduplicated yet. In the next example, the ports tree is - copied three times into different directories on the - deduplicated pool created above.</para> + <para><literal>DEDUP</literal> 欄位會顯示儲存池的實際去重複率,數值為 <literal>1.00x</literal> 代表資料尚未被去重複。在下一個例子會在前面所建立的去重複儲存池中複製三份 Port 樹到不同的目錄。中。</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool list</userinput> for d in dir1 dir2 dir3; do for> mkdir $d && cp -R /usr/ports $d & for> done</screen> - <para xml:lang="en">Redundant data is detected and deduplicated:</para> + <para>已經偵測到重複的資料並做去重複:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zpool list</userinput> NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT pool 2.84G 20.9M 2.82G 0% 3.00x ONLINE -</screen> - <para xml:lang="en">The <literal>DEDUP</literal> column shows a factor of - <literal>3.00x</literal>. Multiple copies of the ports tree - data was detected and deduplicated, using only a third of the - space. The potential for space savings can be enormous, but - comes at the cost of having enough memory to keep track of the - deduplicated blocks.</para> + <para><literal>DEDUP</literal> 欄位顯示有 <literal>3.00x</literal> 的去重複率,這代表已偵測到多份複製的 Port 樹資料並做了去重複的動作,且只會使用第三份資料所佔的空間。去重複能節省空間的潛力可以非常巨大,但會需要消耗大量的記憶體來持續追蹤去重複的資料區塊。</para> - <para xml:lang="en">Deduplication is not always beneficial, especially when - the data on a pool is not redundant. - <acronym>ZFS</acronym> can show potential space savings by - simulating deduplication on an existing pool:</para> + <para>去重複並非總是有效益的,特別是當儲存池中的資料本身並沒有重複時。<acronym>ZFS</acronym> 可以透過在現有儲存池上模擬開啟去重複功能來顯示可能節省的空間:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>zdb -S <replaceable>pool</replaceable></userinput> Simulated DDT histogram: @@ -34415,87 +33241,31 @@ refcnt blocks LSIZE PSIZE DSIZE blocks LSIZE PSIZE DSIZE dedup = 1.05, compress = 1.11, copies = 1.00, dedup * compress / copies = 1.16</screen> - <para xml:lang="en">After <command>zdb -S</command> finishes analyzing the - pool, it shows the space reduction ratio that would be - achieved by activating deduplication. In this case, - <literal>1.16</literal> is a very poor space saving ratio that - is mostly provided by compression. Activating deduplication - on this pool would not save any significant amount of space, - and is not worth the amount of memory required to enable - deduplication. Using the formula - <emphasis>ratio = dedup * compress / copies</emphasis>, - system administrators can plan the storage allocation, - deciding whether the workload will contain enough duplicate - blocks to justify the memory requirements. If the data is - reasonably compressible, the space savings may be very good. - Enabling compression first is recommended, and compression can - also provide greatly increased performance. Only enable - deduplication in cases where the additional savings will be - considerable and there is sufficient memory for the <link linkend="zfs-term-deduplication"><acronym>DDT</acronym></link>.</para> + <para>在 <command>zdb -S</command> 分析完儲存池後會顯示在啟動去重複後可達到的空間減少比例。在本例中,<literal>1.16</literal> 是非常差的空間節省比例,因為這個比例使用壓縮功能便能達成。若在此儲存池上啟動去重複並不能明顯的節省空間使用量,那麼就不值得耗費大量的記憶體來開啟去重複功能。透過公式 <emphasis>ratio = dedup * compress / copies</emphasis>,系統管理者可以規劃儲存空間的配置,來判斷要處理的資料是否有足夠的重複資料區塊來平衡所需的記憶體。若資料是可壓縮的,那麼空間節少的效果可能會非常好,建議先開啟壓縮功能,且壓縮功能也可以大大提高效能。去重複功能只有在可以節省可觀的空間且有足夠的記憶體做 <link linkend="zfs-term-deduplication"><acronym>DDT</acronym></link> 時才開啟。</para> </sect2> <sect2 xml:id="zfs-zfs-jail"> <title><acronym>ZFS</acronym> 與 Jail</title> - <para xml:lang="en"><command>zfs jail</command> and the corresponding - <literal>jailed</literal> property are used to delegate a - <acronym>ZFS</acronym> dataset to a - <link linkend="jails">Jail</link>. - <command>zfs jail <replaceable>jailid</replaceable></command> - attaches a dataset to the specified jail, and - <command>zfs unjail</command> detaches it. For the dataset to - be controlled from within a jail, the - <literal>jailed</literal> property must be set. Once a - dataset is jailed, it can no longer be mounted on the - host because it may have mount points that would compromise - the security of the host.</para> + <para><command>zfs jail</command> 以及相關的 <literal>jailed</literal> 屬性可以用來將一個 <acronym>ZFS</acronym> 資料集委託給一個 <link linkend="jails">Jail</link> 管理。<command>zfs jail <replaceable>jailid</replaceable></command> 可以將一個資料集連結到一個指定的 Jail,而 <command>zfs unjail</command> 則可解除連結。資料集要可以在 Jail 中控制需設定 <literal>jailed</literal> 屬性,一旦資料集被隔離便無法再掛載到主機,因為有掛載點可能會破壞主機的安全性。</para> </sect2> </sect1> <sect1 xml:id="zfs-zfs-allow"> <title>委託管理</title> - <para xml:lang="en">A comprehensive permission delegation system allows - unprivileged users to perform <acronym>ZFS</acronym> - administration functions. For example, if each user's home - directory is a dataset, users can be given permission to create - and destroy snapshots of their home directories. A backup user - can be given permission to use replication features. A usage - statistics script can be allowed to run with access only to the - space utilization data for all users. It is even possible to - delegate the ability to delegate permissions. Permission - delegation is possible for each subcommand and most - properties.</para> + <para>一個全面性的權限委託系統可能無權限的使用者執行 <acronym>ZFS</acronym> 的管理功能。例如,若每個使用者的家目錄均為一個資料集,便可以給予使用者權限建立與摧毀它們家目錄中的快照。可以給予備份使用者使用備份功能的權限。一個使用量統計的 Script 可以允許其在執行時能存取所有使用者的空間利用率資料。甚至可以將委託權限委託給其他人,每個子指令與大多數屬性都可使用權限委託。</para> <sect2 xml:id="zfs-zfs-allow-create"> - <title xml:lang="en">Delegating Dataset Creation</title> - - <para xml:lang="en"><command>zfs allow - <replaceable>someuser</replaceable> create - <replaceable>mydataset</replaceable></command> gives the - specified user permission to create child datasets under the - selected parent dataset. There is a caveat: creating a new - dataset involves mounting it. That requires setting the - FreeBSD <literal>vfs.usermount</literal> <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry> to - <literal>1</literal> to allow non-root users to mount a - file system. There is another restriction aimed at preventing - abuse: non-<systemitem class="username">root</systemitem> - users must own the mountpoint where the file system is to be - mounted.</para> + <title>委託資料集建立</title> + + <para><command>zfs allow <replaceable>someuser</replaceable> create <replaceable>mydataset</replaceable></command> 可以給予指定的使用者在指定的父資料集下建立子資料集的權限。這裡需要注意:建立新資料集會牽涉到掛載,因此需要設定 FreeBSD 的 <literal>vfs.usermount</literal> <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry> 為 <literal>1</literal> 來允許非 root 的使用者掛載一個檔案系統。這裡還有另一項限制可以避免濫用:非 <systemitem class="username">root</systemitem> 使用者必須擁有掛載點在檔案系統中所在位置的權限才可掛載。</para> </sect2> <sect2 xml:id="zfs-zfs-allow-allow"> - <title xml:lang="en">Delegating Permission Delegation</title> - - <para xml:lang="en"><command>zfs allow - <replaceable>someuser</replaceable> allow - <replaceable>mydataset</replaceable></command> gives the - specified user the ability to assign any permission they have - on the target dataset, or its children, to other users. If a - user has the <literal>snapshot</literal> permission and the - <literal>allow</literal> permission, that user can then grant - the <literal>snapshot</literal> permission to other - users.</para> + <title>委託權限委託</title> + + <para><command>zfs allow <replaceable>someuser</replaceable> allow <replaceable>mydataset</replaceable></command> 可以給予指定的使用者有權限指派它們在目標資料集或其子資料集上擁有的任何權限給其他人。若該使用者擁有 <literal>snapshot</literal> 權限及 <literal>allow</literal> 權限,則該使用者可以授權 <literal>snapshot</literal> 權限給其他使用者。</para> </sect2> </sect1> @@ -34505,9 +33275,7 @@ dedup = 1.05, compress = 1.11, copies = 1.00, dedup * compress / copies = 1.16</ <sect2 xml:id="zfs-advanced-tuning"> <title>調校</title> - <para xml:lang="en">There are a number of tunables that can be adjusted to - make <acronym>ZFS</acronym> perform best for different - workloads.</para> + <para>這裡有數個可調校的項目可以調整,來讓 <acronym>ZFS</acronym> 在面對各種工作都能以最佳狀況運作。</para> <itemizedlist> <listitem> @@ -34770,65 +33538,35 @@ dedup = 1.05, compress = 1.11, copies = 1.00, dedup * compress / copies = 1.16</ <sect2 xml:id="zfs-advanced-i386"> <title>i386 上的 <acronym>ZFS</acronym></title> - <para xml:lang="en">Some of the features provided by <acronym>ZFS</acronym> - are memory intensive, and may require tuning for maximum - efficiency on systems with limited - <acronym>RAM</acronym>.</para> + <para><acronym>ZFS</acronym> 所提供的部份功能需要使用大量記憶體,且可能需要對有限 <acronym>RAM</acronym> 的系統調校來取得最佳的效率。</para> <sect3> <title>記憶體</title> - <para xml:lang="en">As a bare minimum, the total system memory should be at - least one gigabyte. The amount of recommended - <acronym>RAM</acronym> depends upon the size of the pool and - which <acronym>ZFS</acronym> features are used. A general - rule of thumb is 1 GB of RAM for every 1 TB of - storage. If the deduplication feature is used, a general - rule of thumb is 5 GB of RAM per TB of storage to be - deduplicated. While some users successfully use - <acronym>ZFS</acronym> with less <acronym>RAM</acronym>, - systems under heavy load may panic due to memory exhaustion. - Further tuning may be required for systems with less than - the recommended RAM requirements.</para> + <para>最低需求,總系統記憶體應至少有 1 GB,建議的 <acronym>RAM</acronym> 量需視儲存池的大小以及使用的 <acronym>ZFS</acronym> 功能而定。一般的經驗法則是每 1 TB 的儲存空間需要 1 GB 的 RAM,若有開啟去重複的功能,一般的經驗法則是每 1 TB 的要做去重複的儲存空間需要 5 GB 的 RAM。雖然有部份使用者成功使用較少的 <acronym>RAM</acronym> 來運作 <acronym>ZFS</acronym>,但系統在負載較重時有可能會因為記憶用耗而導致當機,對於要使用低於建議 RAM 需求量來運作的系統可能會需要更進一步的調校。</para> </sect3> <sect3> <title>核心設定</title> - <para xml:lang="en">Due to the address space limitations of the - <trademark>i386</trademark> platform, <acronym>ZFS</acronym> users on the - <trademark>i386</trademark> architecture must add this option to a - custom kernel configuration file, rebuild the kernel, and - reboot:</para> + <para>由於在 <trademark>i386</trademark> 平台上位址空間的限制,在 <trademark>i386</trademark> 架構上的 <acronym>ZFS</acronym> 使用者必須加入這個選項到自訂核心設定檔,重新編譯核心並重新開啟:</para> <programlisting xml:lang="en">options KVA_PAGES=512</programlisting> - <para xml:lang="en">This expands the kernel address space, allowing - the <varname>vm.kvm_size</varname> tunable to be pushed - beyond the currently imposed limit of 1 GB, or the - limit of 2 GB for <acronym>PAE</acronym>. To find the - most suitable value for this option, divide the desired - address space in megabytes by four. In this example, it - is <literal>512</literal> for 2 GB.</para> + <para>這個選項會增加核心位址空間,允許調整 <varname>vm.kvm_size</varname> 超出目前的 1 GB 限制或在 <acronym>PAE</acronym> 的 2 GB 限制。要找到這個選項最合適的數值,可以將想要的位址空間換算成 MB 然後除以 4,在本例中,以 2 GB 計算後即為 <literal>512</literal>。</para> </sect3> <sect3> <title>載入程式可調參數</title> - <para xml:lang="en">The <filename>kmem</filename> address space can be - increased on all FreeBSD architectures. On a test system with - 1 GB of physical memory, success was achieved with - these options added to - <filename>/boot/loader.conf</filename>, and the system - restarted:</para> + <para>在所有的 FreeBSD 架構上均可增加 <filename>kmem</filename> 位址空間,經測試在一個 1 GB 實體記憶體的測試系統上,加入以下選項到 <filename>/boot/loader.conf</filename>,重新開啟系統,可成功設定。</para> <programlisting xml:lang="en">vm.kmem_size="330M" vm.kmem_size_max="330M" vfs.zfs.arc_max="40M" vfs.zfs.vdev.cache.size="5M"</programlisting> - <para xml:lang="en">For a more detailed list of recommendations for - <acronym>ZFS</acronym>-related tuning, see <link xlink:href="http://wiki.freebsd.org/ZFSTuningGuide"/>.</para> + <para>要取得更多詳細的 <acronym>ZFS</acronym> 相關調校的建議清單,請參考 <link xlink:href="http://wiki.freebsd.org/ZFSTuningGuide"/>。</para> </sect3> </sect2> </sect1> @@ -34879,840 +33617,270 @@ vfs.zfs.vdev.cache.size="5M"</programlisting> <sect1 xml:id="zfs-term"> <title><acronym>ZFS</acronym> 特色與術語</title> - <para xml:lang="en"><acronym>ZFS</acronym> is a fundamentally different file - system because it is more than just a file system. - <acronym>ZFS</acronym> combines the roles of file system and - volume manager, enabling additional storage devices to be added - to a live system and having the new space available on all of - the existing file systems in that pool immediately. By - combining the traditionally separate roles, - <acronym>ZFS</acronym> is able to overcome previous limitations - that prevented <acronym>RAID</acronym> groups being able to - grow. Each top level device in a pool is called a - <emphasis>vdev</emphasis>, which can be a simple disk or a - <acronym>RAID</acronym> transformation such as a mirror or - <acronym>RAID-Z</acronym> array. <acronym>ZFS</acronym> file - systems (called <emphasis>datasets</emphasis>) each have access - to the combined free space of the entire pool. As blocks are - allocated from the pool, the space available to each file system - decreases. This approach avoids the common pitfall with - extensive partitioning where free space becomes fragmented - across the partitions.</para> + <para><acronym>ZFS</acronym> 是一個從本質上與眾不同的檔案系統,由於它並非只是一個檔案系統,<acronym>ZFS</acronym> 結合了檔案系統及磁碟區管理程式,讓額外的儲存裝置可以即時的加入到系統並可讓既有的檔案系統立即使用這些在儲存池中空間。透過結合傳統區分為二的兩個角色,<acronym>ZFS</acronym> 能夠克服以往 <acronym>RAID</acronym> 磁碟群組無法擴充的限制。每個在儲存池頂層的裝置稱作 <emphasis>vdev</emphasis>,其可以是一個簡單的磁碟或是一個 <acronym>RAID</acronym> 如鏡像或 <acronym>RAID-Z</acronym> 陣列。<acronym>ZFS</acronym> 的檔案系統 (稱作 <emphasis>資料集 (Dataset)</emphasis>) 每一個資料集均可存取整個存池所共通的可用空間,隨著使用儲存池來配置空間區塊,儲存池能給每個檔案系統使用的可用空間就會減少,這個方法可以避免擴大分割區會使的可用空間分散分割區之間的常見問題。</para> <informaltable pgwide="1"> <tgroup cols="2"> <tbody valign="top"> <row> - <entry xml:id="zfs-term-pool" xml:lang="en">pool</entry> - - <entry xml:lang="en">A storage <emphasis>pool</emphasis> is the most - basic building block of <acronym>ZFS</acronym>. A pool - is made up of one or more vdevs, the underlying devices - that store the data. A pool is then used to create one - or more file systems (datasets) or block devices - (volumes). These datasets and volumes share the pool of - remaining free space. Each pool is uniquely identified - by a name and a <acronym>GUID</acronym>. The features - available are determined by the <acronym>ZFS</acronym> - version number on the pool. + <entry xml:id="zfs-term-pool">儲存池 (Pool)</entry> - <note> - <para xml:lang="en">FreeBSD 9.0 and 9.1 include support for - <acronym>ZFS</acronym> version 28. Later versions - use <acronym>ZFS</acronym> version 5000 with feature - flags. The new feature flags system allows greater - cross-compatibility with other implementations of - <acronym>ZFS</acronym>.</para> - </note> - </entry> + <entry><emphasis>儲存池 (Pool)</emphasis> 是建構 <acronym>ZFS</acronym> 最基礎的單位。一個儲存池可由一個或多個 vdev 所組成,是用來儲存資料的底層裝置。儲存池會被拿來建立一個或多個檔案系統 (資料集 Dataset) 或區塊裝置 (磁碟區 Volume),這些資料集與磁碟區會共用儲存池的剩餘可用空間。每一個儲存池可由名稱與 <acronym>GUID</acronym> 來辨識。可用的功能會依儲存池上的 <acronym>ZFS</acronym> 版本而有不同。<note> + <para>FreeBSD 9.0 與 9.1 支援 <acronym>ZFS</acronym> 版本 28,之後的版本使用 <acronym>ZFS</acronym> 版本 5000 與功能旗標,新的功能旗標 (Feature flags) 系統有更佳的相容性,能夠與其他人實作的 <acronym>ZFS</acronym> 相容。</para> + </note></entry> </row> <row> - <entry xml:id="zfs-term-vdev" xml:lang="en">vdev Types</entry> + <entry xml:id="zfs-term-vdev">vdev 型態 (vdev Types)</entry> - <entry xml:lang="en">A pool is made up of one or more vdevs, which - themselves can be a single disk or a group of disks, in - the case of a <acronym>RAID</acronym> transform. When - multiple vdevs are used, <acronym>ZFS</acronym> spreads - data across the vdevs to increase performance and - maximize usable space. - - <itemizedlist> + <entry>儲存池是由一個或多個 vdev 所組成,vdev 可以是一個磁碟或是 <acronym>RAID</acronym> Transform 的磁碟群組。當使用多個 vdev,<acronym>ZFS</acronym> 可以分散資料到各個 vdev 來增加效能與最大的可用空間。<itemizedlist> <listitem> - <para xml:id="zfs-term-vdev-disk" xml:lang="en"><emphasis>Disk</emphasis> - - The most basic type of vdev is a standard block - device. This can be an entire disk (such as - <filename><replaceable>/dev/ada0</replaceable></filename> - or - <filename><replaceable>/dev/da0</replaceable></filename>) - or a partition - (<filename><replaceable>/dev/ada0p3</replaceable></filename>). - On FreeBSD, there is no performance penalty for using - a partition rather than the entire disk. This - differs from recommendations made by the Solaris - documentation.</para> + <para xml:id="zfs-term-vdev-disk"><emphasis>磁碟 (Disk)</emphasis> - 最基本的 vdev 型態便是一個標準的資料區塊裝置,這可以是一整個磁碟 (例如 <filename><replaceable>/dev/ada0</replaceable></filename> 或 <filename><replaceable>/dev/da0</replaceable></filename>) 或一個分割區 (<filename><replaceable>/dev/ada0p3</replaceable></filename>)。在 FreeBSD 上,使用分割區來替代整個磁碟不會影響效能,這可能與 Solaris 說明文件所建議的有所不同。</para> </listitem> <listitem> - <para xml:id="zfs-term-vdev-file" xml:lang="en"><emphasis>File</emphasis> - - In addition to disks, <acronym>ZFS</acronym> - pools can be backed by regular files, this is - especially useful for testing and experimentation. - Use the full path to the file as the device path - in <command>zpool create</command>. All vdevs must be - at least 128 MB in size.</para> + <para xml:id="zfs-term-vdev-file"><emphasis>檔案 (File)</emphasis> - 除了磁碟外,<acronym>ZFS</acronym> 儲存池可以使用一般檔案為基礎,這在測試與實驗時特別有用。在 <command>zpool create</command> 時使用檔案的完整路徑作為裝置路徑。所有 vdev 必須至少有 128 MB 的大小。</para> </listitem> <listitem> - <para xml:id="zfs-term-vdev-mirror" xml:lang="en"><emphasis>Mirror</emphasis> - - When creating a mirror, specify the - <literal>mirror</literal> keyword followed by the - list of member devices for the mirror. A mirror - consists of two or more devices, all data will be - written to all member devices. A mirror vdev will - only hold as much data as its smallest member. A - mirror vdev can withstand the failure of all but - one of its members without losing any data.</para> + <para xml:id="zfs-term-vdev-mirror"><emphasis>鏡像 (Mirror)</emphasis> - 要建立鏡像,需使用 <literal>mirror</literal> 關鍵字,後面接著要做為該鏡像成員裝置的清單。一個鏡像需要由兩個或多個裝置來組成,所有的資料都會被寫入到所有的成員裝置。鏡像 vdev 可以對抗所有成員故障只剩其中一個而不損失任何資料。</para> <note> - <para xml:lang="en">A regular single disk vdev can be upgraded - to a mirror vdev at any time with - <command>zpool - <link linkend="zfs-zpool-attach">attach</link></command>.</para> + <para>正常單一磁碟的 vdev 可以使用 <command>zpool <link linkend="zfs-zpool-attach">attach</link></command> 隨時升級成為鏡像 vdev。</para> </note> </listitem> <listitem> - <para xml:id="zfs-term-vdev-raidz" xml:lang="en"><emphasis><acronym>RAID-Z</acronym></emphasis> - - <acronym>ZFS</acronym> implements - <acronym>RAID-Z</acronym>, a variation on standard - <acronym>RAID-5</acronym> that offers better - distribution of parity and eliminates the - <quote><acronym>RAID-5</acronym> write - hole</quote> in which the data and parity - information become inconsistent after an - unexpected restart. <acronym>ZFS</acronym> - supports three levels of <acronym>RAID-Z</acronym> - which provide varying levels of redundancy in - exchange for decreasing levels of usable storage. - The types are named <acronym>RAID-Z1</acronym> - through <acronym>RAID-Z3</acronym> based on the - number of parity devices in the array and the - number of disks which can fail while the pool - remains operational.</para> - - <para xml:lang="en">In a <acronym>RAID-Z1</acronym> configuration - with four disks, each 1 TB, usable storage is - 3 TB and the pool will still be able to - operate in degraded mode with one faulted disk. - If an additional disk goes offline before the - faulted disk is replaced and resilvered, all data - in the pool can be lost.</para> - - <para xml:lang="en">In a <acronym>RAID-Z3</acronym> configuration - with eight disks of 1 TB, the volume will - provide 5 TB of usable space and still be - able to operate with three faulted disks. <trademark>Sun</trademark> - recommends no more than nine disks in a single - vdev. If the configuration has more disks, it is - recommended to divide them into separate vdevs and - the pool data will be striped across them.</para> - - <para xml:lang="en">A configuration of two - <acronym>RAID-Z2</acronym> vdevs consisting of 8 - disks each would create something similar to a - <acronym>RAID-60</acronym> array. A - <acronym>RAID-Z</acronym> group's storage capacity - is approximately the size of the smallest disk - multiplied by the number of non-parity disks. - Four 1 TB disks in <acronym>RAID-Z1</acronym> - has an effective size of approximately 3 TB, - and an array of eight 1 TB disks in - <acronym>RAID-Z3</acronym> will yield 5 TB of - usable space.</para> + <para xml:id="zfs-term-vdev-raidz"><emphasis><acronym>RAID-Z</acronym></emphasis> - <acronym>ZFS</acronym> 實作了 <acronym>RAID-Z</acronym>,以標準的 <acronym>RAID-5</acronym> 修改而來,可提供奇偶校驗 (Parity) 更佳的分散性並去除了 <quote><acronym>RAID-5</acronym> write hole</quote> 導致在預期之外的重啟後資料與奇偶校驗資訊不一致的問題。<acronym>ZFS</acronym> 支援三個層級的 <acronym>RAID-Z</acronym>,可提供不同程度的備援來換取減少不同程度的可用空間,類型的名稱以陣列中奇偶校驗裝置的數量與儲存池可以容許磁碟故障的數量來命名,從 <acronym>RAID-Z1</acronym> 到 <acronym>RAID-Z3</acronym> 。</para> + + <para>在 <acronym>RAID-Z1</acronym> 配置 4 個磁碟,每個磁碟 1 TB,可用的儲存空間則為 3 TB,且若其中一個磁碟故障仍可以降級 (Degraded) 的模式運作,若在故障磁碟尚未更換並修復 (Resilver) 之前又有磁碟故障,所有在儲存池中的資料便會遺失。</para> + + <para>在 <acronym>RAID-Z3</acronym> 配置 8 個 1 TB 的磁碟,磁碟區將會可以提供 5 TB 的可用空間且在 3 個磁碟故障的情況下仍可運作。<trademark>Sun</trademark> 建議單一個 vdev 不要使用超過 9 個磁碟。若配置需要使用更多磁碟,建議分成兩個 vdev,這樣儲存池的資料便會分散到這兩個 vdev。</para> + + <para>使用兩個 <acronym>RAID-Z2</acronym> 各由 8 個磁碟組成的 vdev 的配置可以建立一個類似 <acronym>RAID-60</acronym> 的陣列。<acronym>RAID-Z</acronym> 群組的儲存空量會接近其中最小的磁碟乘上非奇偶校驗磁碟的數量。4 個 1 TB 磁碟在 <acronym>RAID-Z1</acronym> 會有接近 3 TB 的實際大小,且一個由 8 個 1 TB 磁碟組成的 <acronym>RAID-Z3</acronym> 陣列會有 5 TB 的可用空間。</para> </listitem> <listitem> - <para xml:id="zfs-term-vdev-spare" xml:lang="en"><emphasis>Spare</emphasis> - - <acronym>ZFS</acronym> has a special pseudo-vdev - type for keeping track of available hot spares. - Note that installed hot spares are not deployed - automatically; they must manually be configured to - replace the failed device using - <command>zfs replace</command>.</para> + <para xml:id="zfs-term-vdev-spare"><emphasis>備援 (Spare)</emphasis> - <acronym>ZFS</acronym> 有特殊的虛擬 vdev 型態可用來持續追蹤可用的熱備援裝置 (Hot spare)。注意,安裝的熱備援裝置並不會自動佈署,熱備援裝置需要手動使用 <command>zfs replace</command> 設定替換故障的裝置。</para> </listitem> <listitem> - <para xml:id="zfs-term-vdev-log" xml:lang="en"><emphasis>Log</emphasis> - - <acronym>ZFS</acronym> Log Devices, also known - as <acronym>ZFS</acronym> Intent Log (<link linkend="zfs-term-zil"><acronym>ZIL</acronym></link>) - move the intent log from the regular pool devices - to a dedicated device, typically an - <acronym>SSD</acronym>. Having a dedicated log - device can significantly improve the performance - of applications with a high volume of synchronous - writes, especially databases. Log devices can be - mirrored, but <acronym>RAID-Z</acronym> is not - supported. If multiple log devices are used, - writes will be load balanced across them.</para> + <para xml:id="zfs-term-vdev-log"><emphasis>日誌 (Log)</emphasis> - <acronym>ZFS</acronym> 記錄裝置,也被稱作 <acronym>ZFS</acronym> 意圖日誌 (ZFS Intent Log, <link linkend="zfs-term-zil"><acronym>ZIL</acronym></link>) 會從正常的儲存池裝置移動意圖日誌到獨立的裝置上,通常是一個 <acronym>SSD</acronym>。有了獨立的日誌裝置,可以明顯的增進有大量同步寫入應用程式的效能,特別是資料庫。日誌裝置可以做成鏡像,但不支援 <acronym>RAID-Z</acronym>,若使用多個日誌裝置,寫入動作會被負載平衡分散到這些裝置。</para> </listitem> <listitem> - <para xml:id="zfs-term-vdev-cache" xml:lang="en"><emphasis>Cache</emphasis> - - Adding a cache vdev to a pool will add the - storage of the cache to the <link linkend="zfs-term-l2arc"><acronym>L2ARC</acronym></link>. - Cache devices cannot be mirrored. Since a cache - device only stores additional copies of existing - data, there is no risk of data loss.</para> + <para xml:id="zfs-term-vdev-cache"><emphasis>快取 (Cache)</emphasis> - 加入快取 vdev 到儲存池可以增加儲存空間的 <link linkend="zfs-term-l2arc"><acronym>L2ARC</acronym></link> 快取。快取裝置無法做鏡像,因快取裝置只會儲存額外的現有資料的複本,並沒有資料遺失的風險。</para> </listitem> </itemizedlist></entry> </row> <row> - <entry xml:id="zfs-term-txg" xml:lang="en">Transaction Group - (<acronym>TXG</acronym>)</entry> - - <entry xml:lang="en">Transaction Groups are the way changed blocks are - grouped together and eventually written to the pool. - Transaction groups are the atomic unit that - <acronym>ZFS</acronym> uses to assert consistency. Each - transaction group is assigned a unique 64-bit - consecutive identifier. There can be up to three active - transaction groups at a time, one in each of these three - states: - - <itemizedlist> + <entry xml:id="zfs-term-txg">交易群組 (Transaction Group, <acronym>TXG</acronym>)</entry> + + <entry>交易群組是一種將更動的資料區塊包裝成一組的方式,最後再一次寫入到儲存池。交易群組是 <acronym>ZFS</acronym> 用來檢驗一致性的基本單位。每個交易群組會被分配一個獨一無二的 64-bit 連續代號。最多一次可以有三個活動中的交易群組,這三個交易群組的每一個都有這三種狀態:<itemizedlist> <listitem> - <para xml:lang="en"><emphasis>Open</emphasis> - When a new - transaction group is created, it is in the open - state, and accepts new writes. There is always - a transaction group in the open state, however the - transaction group may refuse new writes if it has - reached a limit. Once the open transaction group - has reached a limit, or the <link linkend="zfs-advanced-tuning-txg-timeout"><varname>vfs.zfs.txg.timeout</varname></link> - has been reached, the transaction group advances - to the next state.</para> + <para><emphasis>開放 (Open)</emphasis> - 新的交易群組建立之後便處於開放的狀態,可以接受新的寫入動作。永遠會有開放狀態的交易群組,即始交易群組可能會因到達上限而拒絕新的寫入動作。一但開放的交易群組到達上限或到達 <link linkend="zfs-advanced-tuning-txg-timeout"><varname>vfs.zfs.txg.timeout</varname></link>,交易群組便會繼續進入下一個狀態。</para> </listitem> <listitem> - <para xml:lang="en"><emphasis>Quiescing</emphasis> - A short state - that allows any pending operations to finish while - not blocking the creation of a new open - transaction group. Once all of the transactions - in the group have completed, the transaction group - advances to the final state.</para> + <para><emphasis>靜置中 (Quiescing)</emphasis> - 一個短暫的狀態,會等候任何未完成的操作完成,不會阻擋新開放的交易群組建立。一旦所有在群組中的交易完成,交易群組便會進入到最終狀態。</para> </listitem> <listitem> - <para xml:lang="en"><emphasis>Syncing</emphasis> - All of the data - in the transaction group is written to stable - storage. This process will in turn modify other - data, such as metadata and space maps, that will - also need to be written to stable storage. The - process of syncing involves multiple passes. The - first, all of the changed data blocks, is the - biggest, followed by the metadata, which may take - multiple passes to complete. Since allocating - space for the data blocks generates new metadata, - the syncing state cannot finish until a pass - completes that does not allocate any additional - space. The syncing state is also where - <emphasis>synctasks</emphasis> are completed. - Synctasks are administrative operations, such as - creating or destroying snapshots and datasets, - that modify the uberblock are completed. Once the - sync state is complete, the transaction group in - the quiescing state is advanced to the syncing - state.</para> + <para><emphasis>同步中 (Syncing)</emphasis> - 所有在交易群組中的資料會被寫任到穩定的儲存空間,這個程序會依序修改其他也需同樣寫入到穩定儲存空間的資料,如 Metadata 與空間對應表。同步的程多會牽涉多個循環,首先是同步所有更改的資料區塊,也是最大的部份,接著是 Metadata,這可能會需要多個循環來完成。由於要配置空間供資料區塊使用會產生新的 Metadata,同步中狀態在到達循環完成而不再需要分配任何額外空間的狀態前無法結束。同步中狀態也是完成 <emphasis>synctask</emphasis> 的地方,Synctask 是指管理操作,如:建立或摧毀快照與資料集,會修改 uberblock,也會在此時完成。同步狀態完成後,其他處於狀態中狀態的交易群組便會進入同步中狀態。</para> </listitem> - </itemizedlist> - - All administrative functions, such as <link linkend="zfs-term-snapshot"><command>snapshot</command></link> - are written as part of the transaction group. When a - synctask is created, it is added to the currently open - transaction group, and that group is advanced as quickly - as possible to the syncing state to reduce the - latency of administrative commands.</entry> + </itemizedlist> 所有管理功能如快照 (<link linkend="zfs-term-snapshot"><command>Snapshot</command></link>) 會作為交易群組的一部份寫入。當 synctask 建立之後,便會加入到目前開放的交易群組中,然後該群組會盡快的進入同步中狀態來減少管理指令的延遲。</entry> </row> <row> <entry xml:id="zfs-term-arc" xml:lang="en">Adaptive Replacement Cache (<acronym>ARC</acronym>)</entry> - <entry xml:lang="en"><acronym>ZFS</acronym> uses an Adaptive Replacement - Cache (<acronym>ARC</acronym>), rather than a more - traditional Least Recently Used (<acronym>LRU</acronym>) - cache. An <acronym>LRU</acronym> cache is a simple list - of items in the cache, sorted by when each object was - most recently used. New items are added to the top of - the list. When the cache is full, items from the - bottom of the list are evicted to make room for more - active objects. An <acronym>ARC</acronym> consists of - four lists; the Most Recently Used - (<acronym>MRU</acronym>) and Most Frequently Used - (<acronym>MFU</acronym>) objects, plus a ghost list for - each. These ghost lists track recently evicted objects - to prevent them from being added back to the cache. - This increases the cache hit ratio by avoiding objects - that have a history of only being used occasionally. - Another advantage of using both an - <acronym>MRU</acronym> and <acronym>MFU</acronym> is - that scanning an entire file system would normally evict - all data from an <acronym>MRU</acronym> or - <acronym>LRU</acronym> cache in favor of this freshly - accessed content. With <acronym>ZFS</acronym>, there is - also an <acronym>MFU</acronym> that only tracks the most - frequently used objects, and the cache of the most - commonly accessed blocks remains.</entry> + <entry><acronym>ZFS</acronym> 使用了自適應替換快取 (Adaptive Replacement Cache, <acronym>ARC</acronym>),而不是傳統的最近最少使用 (Least Recently Used, <acronym>LRU</acronym>) 快取,LRU 快取在快取中是一個簡單的項目清單,會依每個物件最近使用的時間來排序,新項會加入到清單的最上方,當快取額滿了便會去除清單最下方的項目來空出空間給較常使用的物件。<acronym>ARC</acronym> 結合了四種快取清單,最近最常使用 (Most Recently Used, <acronym>MRU</acronym>) 及最常使用 (Most Frequently Used, <acronym>MFU</acronym>) 物件加上兩個清單各自的幽靈清單 (Ghost list),這些幽靈清單會追蹤最近被去除的物件來避免又被加回到快取,避免過去只有偶爾被使用的物件加入清單可以增加快取的命中率。同時使用 <acronym>MRU</acronym> 及 <acronym>MFU</acronym> 的另外一個優點是掃描一個完整檔案系統可以去除在 <acronym>MRU</acronym> 或 <acronym>LRU</acronym> 快取中的所有資料,有利於這些才剛存取的內容。使用 <acronym>ZFS</acronym> 也有 <acronym>MFU</acronym> 可只追蹤最常使用的物件並保留最常被存取的資料區塊快取。</entry> </row> <row> <entry xml:id="zfs-term-l2arc" xml:lang="en"><acronym>L2ARC</acronym></entry> - <entry xml:lang="en"><acronym>L2ARC</acronym> is the second level - of the <acronym>ZFS</acronym> caching system. The - primary <acronym>ARC</acronym> is stored in - <acronym>RAM</acronym>. Since the amount of - available <acronym>RAM</acronym> is often limited, - <acronym>ZFS</acronym> can also use - <link linkend="zfs-term-vdev-cache">cache vdevs</link>. - Solid State Disks (<acronym>SSD</acronym>s) are often - used as these cache devices due to their higher speed - and lower latency compared to traditional spinning - disks. <acronym>L2ARC</acronym> is entirely optional, - but having one will significantly increase read speeds - for files that are cached on the <acronym>SSD</acronym> - instead of having to be read from the regular disks. - <acronym>L2ARC</acronym> can also speed up <link linkend="zfs-term-deduplication">deduplication</link> - because a <acronym>DDT</acronym> that does not fit in - <acronym>RAM</acronym> but does fit in the - <acronym>L2ARC</acronym> will be much faster than a - <acronym>DDT</acronym> that must be read from disk. The - rate at which data is added to the cache devices is - limited to prevent prematurely wearing out - <acronym>SSD</acronym>s with too many writes. Until the - cache is full (the first block has been evicted to make - room), writing to the <acronym>L2ARC</acronym> is - limited to the sum of the write limit and the boost - limit, and afterwards limited to the write limit. A - pair of <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry> values control these rate limits. - <link linkend="zfs-advanced-tuning-l2arc_write_max"><varname>vfs.zfs.l2arc_write_max</varname></link> - controls how many bytes are written to the cache per - second, while <link linkend="zfs-advanced-tuning-l2arc_write_boost"><varname>vfs.zfs.l2arc_write_boost</varname></link> - adds to this limit during the - <quote>Turbo Warmup Phase</quote> (Write Boost).</entry> + <entry><acronym>L2ARC</acronym> 是 <acronym>ZFS</acronym> 快取系統的第二層,主要的 <acronym>ARC</acronym> 會儲存在 <acronym>RAM</acronym> 當中,但因為 <acronym>RAM</acronym> 可用的空間量通常有限,因此 <acronym>ZFS</acronym> 也可以使用 <link linkend="zfs-term-vdev-cache">快取 vdev (Cache vdev)</link>。固態磁碟 (Solid State Disk, <acronym>SSD</acronym>) 常被拿來此處作為快取裝置,因為比起傳統旋轉碟片的磁碟,固體磁碟有較快的速度與較低的延遲。<acronym>L2ARC</acronym> 是選用的,但使用可以明顯增進那些已使用 <acronym>SSD</acronym> 快取的檔案讀取速度,無須從一般磁碟讀取。<acronym>L2ARC</acronym> 也同樣可以加速去重複 (<link linkend="zfs-term-deduplication">Deduplication</link>),因為 <acronym>DDT</acronym> 並不適合放在 <acronym>RAM</acronym>,但適合放在 <acronym>L2ARC</acronym>,比起要從磁碟讀取,可以加快不少速度。為了避免 <acronym>SSD</acronym> 因寫入次速過多而過早耗損,加入到快取裝置的資料速率會被限制,直到快取用盡 (去除第一個資料區塊來騰出空間) 之前,寫入到 <acronym>L2ARC</acronym> 的資料速率會限制在寫入限制 (Write limit) 與加速限制 (Boost limit) 的總合,之後則會限制為寫入限制,可以控制這兩個速度限制的 <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry> 數值分別為 <link linkend="zfs-advanced-tuning-l2arc_write_max"><varname>vfs.zfs.l2arc_write_max</varname></link> 控制每秒有多少數位元組可寫入到快取,而 <link linkend="zfs-advanced-tuning-l2arc_write_boost"><varname>vfs.zfs.l2arc_write_boost</varname></link> 可在 <quote>渦輪預熱階段</quote> (即寫入加速) 時增加寫入限制。</entry> </row> <row> <entry xml:id="zfs-term-zil" xml:lang="en"><acronym>ZIL</acronym></entry> - <entry xml:lang="en"><acronym>ZIL</acronym> accelerates synchronous - transactions by using storage devices like - <acronym>SSD</acronym>s that are faster than those used - in the main storage pool. When an application requests - a synchronous write (a guarantee that the data has been - safely stored to disk rather than merely cached to be - written later), the data is written to the faster - <acronym>ZIL</acronym> storage, then later flushed out - to the regular disks. This greatly reduces latency and - improves performance. Only synchronous workloads like - databases will benefit from a <acronym>ZIL</acronym>. - Regular asynchronous writes such as copying files will - not use the <acronym>ZIL</acronym> at all.</entry> + <entry><acronym>ZIL</acronym> 會使用儲存裝置,例如,比那些用在主要儲存池還快的 <acronym>SSD</acronym> 來加速同步交易 (Synchronous transaction)。當應用程式請求做一個同步的寫入時 (保証資料會安全的儲存到磁碟,而不是先快取稍後再寫入),資料會先寫入到速度較快的 <acronym>ZIL</acronym> 儲存空間,之後再一併寫入到一般的磁碟。這可大量的減少延遲並增進效能。<acronym>ZIL</acronym> 只會有利於使用像資料庫這類的同步工作,一般非同步的寫入像複製檔案,則完全不會用到 <acronym>ZIL</acronym>。</entry> </row> <row> - <entry xml:id="zfs-term-cow" xml:lang="en">Copy-On-Write</entry> - - <entry xml:lang="en">Unlike a traditional file system, when data is - overwritten on <acronym>ZFS</acronym>, the new data is - written to a different block rather than overwriting the - old data in place. Only when this write is complete is - the metadata then updated to point to the new location. - In the event of a shorn write (a system crash or power - loss in the middle of writing a file), the entire - original contents of the file are still available and - the incomplete write is discarded. This also means that - <acronym>ZFS</acronym> does not require a <citerefentry><refentrytitle>fsck</refentrytitle><manvolnum>8</manvolnum></citerefentry> - after an unexpected shutdown.</entry> + <entry xml:id="zfs-term-cow">寫入時複製 (Copy-On-Write)</entry> + + <entry>不像傳統的檔案系統,在 <acronym>ZFS</acronym>,當資料要被覆寫時,不會直接覆寫舊資料所在的位置,而是將新資料會寫入到另一個資料區塊,只在資料寫入完成後才會更新 Metadata 指向新的位置。因此,在發生寫入中斷 (在寫入檔案的過程中系統當機或電源中斷) 時,原來檔案的完整內容並不會遺失,只會放棄未寫入完成的新資料,這也意謂著 <acronym>ZFS</acronym> 在發生預期之外的關機後不需要做 <citerefentry><refentrytitle>fsck</refentrytitle><manvolnum>8</manvolnum></citerefentry>。</entry> </row> <row> - <entry xml:id="zfs-term-dataset" xml:lang="en">Dataset</entry> - - <entry xml:lang="en"><emphasis>Dataset</emphasis> is the generic term - for a <acronym>ZFS</acronym> file system, volume, - snapshot or clone. Each dataset has a unique name in - the format - <replaceable>poolname/path@snapshot</replaceable>. - The root of the pool is technically a dataset as well. - Child datasets are named hierarchically like - directories. For example, - <replaceable>mypool/home</replaceable>, the home - dataset, is a child of <replaceable>mypool</replaceable> - and inherits properties from it. This can be expanded - further by creating - <replaceable>mypool/home/user</replaceable>. This - grandchild dataset will inherit properties from the - parent and grandparent. Properties on a child can be - set to override the defaults inherited from the parents - and grandparents. Administration of datasets and their - children can be - <link linkend="zfs-zfs-allow">delegated</link>.</entry> + <entry xml:id="zfs-term-dataset">資料集 (Dataset)</entry> + + <entry><emphasis>資料集 (Dataset)</emphasis> 是 <acronym>ZFS</acronym> 檔案系統、磁碟區、快照或複本的通用術語。每個資料集都有獨一無二的名稱使用 <replaceable>poolname/path@snapshot</replaceable> 格式。儲存池的根部技術上來說也算一個資料集,子資料集會採用像目錄一樣的層級來命名,例如 <replaceable>mypool/home</replaceable>,home 資料集是 <replaceable>mypool</replaceable> 的子資料集並且會繼承其屬性。這可以在往後繼續擴展成 <replaceable>mypool/home/user</replaceable>,這個孫資料集會繼承其父及祖父的屬性。在子資料集的屬性可以覆蓋預設繼承自父及祖父的屬性。資料集及其子資料級的管理權限可以委託 (<link linkend="zfs-zfs-allow">Delegate</link>) 給他人。</entry> </row> <row> - <entry xml:id="zfs-term-filesystem" xml:lang="en">File system</entry> - - <entry xml:lang="en">A <acronym>ZFS</acronym> dataset is most often used - as a file system. Like most other file systems, a - <acronym>ZFS</acronym> file system is mounted somewhere - in the systems directory hierarchy and contains files - and directories of its own with permissions, flags, and - other metadata.</entry> + <entry xml:id="zfs-term-filesystem">檔案系統 (File system)</entry> + + <entry><acronym>ZFS</acronym> 資料集最常被當做檔案系統使用。如同大多數其他的檔案系統,<acronym>ZFS</acronym> 檔案系統會被掛載在系統目錄層級的某一處且內含各自擁有權限、旗標及 Metadata 的檔案與目錄。</entry> </row> <row> - <entry xml:id="zfs-term-volume" xml:lang="en">Volume</entry> - - <entry xml:lang="en">In additional to regular file system datasets, - <acronym>ZFS</acronym> can also create volumes, which - are block devices. Volumes have many of the same - features, including copy-on-write, snapshots, clones, - and checksumming. Volumes can be useful for running - other file system formats on top of - <acronym>ZFS</acronym>, such as <acronym>UFS</acronym> - virtualization, or exporting <acronym>iSCSI</acronym> - extents.</entry> + <entry xml:id="zfs-term-volume">磁碟區 (Volume)</entry> + + <entry>除了一般的檔案系統資料集之外,<acronym>ZFS</acronym> 也可以建立磁碟區 (Volume),磁碟區是資料區塊裝置。磁碟區有許多與資料集相似的功能,包含複製時寫入、快照、複本以及資料校驗。要在 <acronym>ZFS</acronym> 的頂層執行其他檔案系統格式時使用磁碟區非常有用,例如 <acronym>UFS</acronym> 虛擬化或匯出 <acronym>iSCSI</acronym> 延伸磁區 (Extent)。</entry> </row> <row> - <entry xml:id="zfs-term-snapshot" xml:lang="en">Snapshot</entry> - - <entry xml:lang="en">The - <link linkend="zfs-term-cow">copy-on-write</link> - (<acronym>COW</acronym>) design of - <acronym>ZFS</acronym> allows for nearly instantaneous, - consistent snapshots with arbitrary names. After taking - a snapshot of a dataset, or a recursive snapshot of a - parent dataset that will include all child datasets, new - data is written to new blocks, but the old blocks are - not reclaimed as free space. The snapshot contains - the original version of the file system, and the live - file system contains any changes made since the snapshot - was taken. No additional space is used. As new data is - written to the live file system, new blocks are - allocated to store this data. The apparent size of the - snapshot will grow as the blocks are no longer used in - the live file system, but only in the snapshot. These - snapshots can be mounted read only to allow for the - recovery of previous versions of files. It is also - possible to - <link linkend="zfs-zfs-snapshot">rollback</link> a live - file system to a specific snapshot, undoing any changes - that took place after the snapshot was taken. Each - block in the pool has a reference counter which keeps - track of how many snapshots, clones, datasets, or - volumes make use of that block. As files and snapshots - are deleted, the reference count is decremented. When a - block is no longer referenced, it is reclaimed as free - space. Snapshots can also be marked with a - <link linkend="zfs-zfs-snapshot">hold</link>. When a - snapshot is held, any attempt to destroy it will return - an <literal>EBUSY</literal> error. Each snapshot can - have multiple holds, each with a unique name. The - <link linkend="zfs-zfs-snapshot">release</link> command - removes the hold so the snapshot can deleted. Snapshots - can be taken on volumes, but they can only be cloned or - rolled back, not mounted independently.</entry> + <entry xml:id="zfs-term-snapshot">快照 (Snapshot)</entry> + + <entry><acronym>ZFS</acronym> 的寫入時複製 (<link linkend="zfs-term-cow">Copy-On-Write</link>, <acronym>COW</acronym>) 設計可以使用任意的名稱做到幾乎即時、一致的快照。在製做資料集的快照或父資料集遞迴快照 (會包含其所有子資料集) 之後,新的資料會寫入到資的資料區塊,但不會回收舊的資料區塊為可用空間,快照中會使用原版本的檔案系統,而快照之後所做的變更則會儲存在目前的檔案系統,因此不會重複使用額外的空間。當新的資料寫入到目前的檔案系統,便會配置新的資料區塊來儲存這些資料。快照表面大小 (Apparent size) 會隨著在目前檔案系統停止使用的資料區塊而成長,但僅限於快照。可以用唯讀的方式掛載這些快照來復原先前版本的檔案,也可以還原 (<link linkend="zfs-zfs-snapshot">Rollback</link>) 目前的檔案系統到指定的快照,來還原任何在快照之後所做的變更。每個在儲存池中的資料區塊都會有一個參考記數器,可以用來持續追蹤有多少快照、複本、資料集或是磁碟區使用這個資料區塊,當刪除檔案與快照參照的計數變會滅少,直到沒有任何東西參考這個資料區塊才會被回收為可用空間。快照也可使用 <link linkend="zfs-zfs-snapshot">hold</link> 來標記,檔標記為 hold 時,任何嘗試要刪除該快照的動作便會回傳 <literal>EBUSY</literal> 的錯誤,每個快照可以標記多個不同唯一名稱的 hold,而 <link linkend="zfs-zfs-snapshot">release</link> 指令則可以移除 hold,這樣才可刪除快照。在磁碟區上快可以製作快照,但只能用來複製或還原,無法獨立掛載。</entry> </row> <row> - <entry xml:id="zfs-term-clone" xml:lang="en">Clone</entry> - - <entry xml:lang="en">Snapshots can also be cloned. A clone is a - writable version of a snapshot, allowing the file system - to be forked as a new dataset. As with a snapshot, a - clone initially consumes no additional space. As - new data is written to a clone and new blocks are - allocated, the apparent size of the clone grows. When - blocks are overwritten in the cloned file system or - volume, the reference count on the previous block is - decremented. The snapshot upon which a clone is based - cannot be deleted because the clone depends on it. The - snapshot is the parent, and the clone is the child. - Clones can be <emphasis>promoted</emphasis>, reversing - this dependency and making the clone the parent and the - previous parent the child. This operation requires no - additional space. Because the amount of space used by - the parent and child is reversed, existing quotas and - reservations might be affected.</entry> + <entry xml:id="zfs-term-clone">複本 (Clone)</entry> + + <entry>快照也可以做複本,複本是可寫入版本的快照,讓檔案系統可分支成為新的資料集。如同快照,複本一開始不會消耗任何額外空間,隨著新資料寫入到複本會配置新的資料區塊,複本的表面大小 (Apparent size) 才會成長,當在複本檔案系統或磁碟區的資料區塊被覆寫時,在先前資料區塊的參考計數則會減少。建立複本所使用的快照無法被刪除,因為複本會相依該快照,快照為父,複本為子。複本可以被提升 (<emphasis>promoted</emphasis>)、反轉相依關係,來讓複本成為父,之前的父變為子,這個操作不需要額外的空間。由於反轉了父與子使用的空間量,所以可能會影響既有的配額 (Quota) 與保留空間 (Reservation)。</entry> </row> <row> - <entry xml:id="zfs-term-checksum" xml:lang="en">Checksum</entry> - - <entry xml:lang="en">Every block that is allocated is also checksummed. - The checksum algorithm used is a per-dataset property, - see <link linkend="zfs-zfs-set"><command>set</command></link>. - The checksum of each block is transparently validated as - it is read, allowing <acronym>ZFS</acronym> to detect - silent corruption. If the data that is read does not - match the expected checksum, <acronym>ZFS</acronym> will - attempt to recover the data from any available - redundancy, like mirrors or <acronym>RAID-Z</acronym>). - Validation of all checksums can be triggered with <link linkend="zfs-term-scrub"><command>scrub</command></link>. - Checksum algorithms include: - - <itemizedlist> + <entry xml:id="zfs-term-checksum">校驗碼 (Checksum)</entry> + + <entry>配置每個資料區塊快的同時也會做資料校驗,資料校驗用的演算法是依資料集屬性而有所不同的,請參考 <link linkend="zfs-zfs-set"><command>set</command></link>。每個資料區塊會在讀取的過成便完成校驗,讓 <acronym>ZFS</acronym> 可以偵測到隱藏的損壞,若資料不符合預期的校驗碼,<acronym>ZFS</acronym> 會嘗試從任何可用的備援來還原資料,例如鏡像 (Mirror) 或 <acronym>RAID-Z</acronym>。要檢驗所有資料的校驗碼可以使用清潔 (<link linkend="zfs-term-scrub"><command>Scrub</command></link>),資料校驗的演算法有:<itemizedlist> <listitem> - <para xml:lang="en"><literal>fletcher2</literal></para> + <para><literal>fletcher2</literal></para> </listitem> <listitem> - <para xml:lang="en"><literal>fletcher4</literal></para> + <para><literal>fletcher4</literal></para> </listitem> <listitem> - <para xml:lang="en"><literal>sha256</literal></para> + <para><literal>sha256</literal></para> </listitem> - </itemizedlist> - - The <literal>fletcher</literal> algorithms are faster, - but <literal>sha256</literal> is a strong cryptographic - hash and has a much lower chance of collisions at the - cost of some performance. Checksums can be disabled, - but it is not recommended.</entry> + </itemizedlist> <literal>fletcher</literal> 演算法最快,而 <literal>sha256</literal> 雖較消耗效能,但其有強大的密碼雜湊與較低的衝突率。也可關閉資料校驗,但並不建議。</entry> </row> <row> <entry xml:id="zfs-term-compression">壓縮 (Compression)</entry> - <entry xml:lang="en">Each dataset has a compression property, which - defaults to off. This property can be set to one of a - number of compression algorithms. This will cause all - new data that is written to the dataset to be - compressed. Beyond a reduction in space used, read and - write throughput often increases because fewer blocks - are read or written. - - <itemizedlist> + <entry>每個資料集都有壓縮 (Compression) 屬性,預設是關閉的,這個屬性可以設定使用以下幾個壓縮演算法的其中一個來壓縮寫入到資料集的新資料。壓縮除了減少空間使用量外,常也會增加讀取與寫入的吞吐量,因為會減少讀取與寫入的資料區塊。 <itemizedlist> <listitem xml:id="zfs-term-compression-lz4"> - <para xml:lang="en"><emphasis><acronym>LZ4</acronym></emphasis> - - Added in <acronym>ZFS</acronym> pool version - 5000 (feature flags), <acronym>LZ4</acronym> is - now the recommended compression algorithm. - <acronym>LZ4</acronym> compresses approximately - 50% faster than <acronym>LZJB</acronym> when - operating on compressible data, and is over three - times faster when operating on uncompressible - data. <acronym>LZ4</acronym> also decompresses - approximately 80% faster than - <acronym>LZJB</acronym>. On modern - <acronym>CPU</acronym>s, <acronym>LZ4</acronym> - can often compress at over 500 MB/s, and - decompress at over 1.5 GB/s (per single CPU - core).</para> + <para><emphasis><acronym>LZ4</acronym></emphasis> - <acronym>ZFS</acronym> 儲存池版本 5000 (功能旗標) 後所增加,<acronym>LZ4</acronym> 現在是建議的壓縮演算法,在處理可壓縮的資料時 <acronym>LZ4</acronym> 壓縮比 <acronym>LZJB</acronym> 快將近 50%,在處理不可壓縮的資料時快將近三倍,<acronym>LZ4</acronym> 解壓縮也比 <acronym>LZJB</acronym> 將近 80%。在現代的 <acronym>CPU</acronym> 上,<acronym>LZ4</acronym> 經常平均可用 500 MB/s 的速度壓縮,而解壓縮可到達 1.5 GB/s (每個 CPU 核心)。</para> <note> - <para xml:lang="en"><acronym>LZ4</acronym> compression is - only available after FreeBSD 9.2.</para> + <para><acronym>LZ4</acronym> 壓縮只在 FreeBSD 9.2 之後可使用。</para> </note> </listitem> <listitem xml:id="zfs-term-compression-lzjb"> - <para xml:lang="en"><emphasis><acronym>LZJB</acronym></emphasis> - - The default compression algorithm. Created by - Jeff Bonwick (one of the original creators of - <acronym>ZFS</acronym>). <acronym>LZJB</acronym> - offers good compression with less - <acronym>CPU</acronym> overhead compared to - <acronym>GZIP</acronym>. In the future, the - default compression algorithm will likely change - to <acronym>LZ4</acronym>.</para> + <para><emphasis><acronym>LZJB</acronym></emphasis> - 預設的壓縮演算法。由 Jeff Bonwick 所開發 (<acronym>ZFS</acronym> 的創始人之一)。<acronym>LZJB</acronym>與 <acronym>GZIP</acronym> 相比,可以較低的 <acronym>CPU</acronym> 提供較佳的壓縮功能。在未來預設的壓縮演算法將會更換為 <acronym>LZ4</acronym>。</para> </listitem> <listitem xml:id="zfs-term-compression-gzip"> - <para xml:lang="en"><emphasis><acronym>GZIP</acronym></emphasis> - - A popular stream compression algorithm available - in <acronym>ZFS</acronym>. One of the main - advantages of using <acronym>GZIP</acronym> is its - configurable level of compression. When setting - the <literal>compress</literal> property, the - administrator can choose the level of compression, - ranging from <literal>gzip1</literal>, the lowest - level of compression, to <literal>gzip9</literal>, - the highest level of compression. This gives the - administrator control over how much - <acronym>CPU</acronym> time to trade for saved - disk space.</para> + <para><emphasis><acronym>GZIP</acronym></emphasis> - 在 <acronym>ZFS</acronym> 可用的熱門串流壓縮演算法。使用 <acronym>GZIP</acronym> 主要的優點之一便是可設定壓縮層級。當設定 <literal>compress</literal> 屬性,管理者可以選擇壓縮層級範圍從最低的壓縮層級 <literal>gzip1</literal> 到最高的壓縮層級 <literal>gzip9</literal>。這讓管理者可以控制要使用多少 <acronym>CPU</acronym> 來節省磁碟空間。</para> </listitem> <listitem xml:id="zfs-term-compression-zle"> - <para xml:lang="en"><emphasis><acronym>ZLE</acronym></emphasis> - - Zero Length Encoding is a special compression - algorithm that only compresses continuous runs of - zeros. This compression algorithm is only useful - when the dataset contains large blocks of - zeros.</para> + <para><emphasis><acronym>ZLE</acronym></emphasis> - 零長度編號是一個特殊的壓縮演算法,它只會壓縮連續的零。這種壓縮演算法只在資料集中含有大量為零的資料區塊時有用。</para> </listitem> </itemizedlist></entry> </row> <row> - <entry xml:id="zfs-term-copies" xml:lang="en">Copies</entry> - - <entry xml:lang="en">When set to a value greater than 1, the - <literal>copies</literal> property instructs - <acronym>ZFS</acronym> to maintain multiple copies of - each block in the - <link linkend="zfs-term-filesystem">File System</link> - or - <link linkend="zfs-term-volume">Volume</link>. Setting - this property on important datasets provides additional - redundancy from which to recover a block that does not - match its checksum. In pools without redundancy, the - copies feature is the only form of redundancy. The - copies feature can recover from a single bad sector or - other forms of minor corruption, but it does not protect - the pool from the loss of an entire disk.</entry> + <entry xml:id="zfs-term-copies">備份數 (Copies)</entry> + + <entry>當設定大於 1 的數值時,<literal>copies</literal> 屬性會指示 <acronym>ZFS</acronym> 備份每個在檔案系統 (<link linkend="zfs-term-filesystem">File System</link>) 或磁碟區 (<link linkend="zfs-term-volume">Volume</link>) 的資料區塊數份。在重要的資料集上設定這個屬性可以做額外的備援以在資料校驗碼不相符時可做復原。在沒有做備援的儲存池上,備份功能提供只是一種資料的備援方式,備份功能可以復原單一壞軌或其他情況的次要損壞,但無法復原儲存池中整個磁碟損壞所損失的資料。</entry> </row> <row> <entry xml:id="zfs-term-deduplication">去重複 (Deduplication)</entry> - <entry xml:lang="en">Checksums make it possible to detect duplicate - blocks of data as they are written. With deduplication, - the reference count of an existing, identical block is - increased, saving storage space. To detect duplicate - blocks, a deduplication table (<acronym>DDT</acronym>) - is kept in memory. The table contains a list of unique - checksums, the location of those blocks, and a reference - count. When new data is written, the checksum is - calculated and compared to the list. If a match is - found, the existing block is used. The - <acronym>SHA256</acronym> checksum algorithm is used - with deduplication to provide a secure cryptographic - hash. Deduplication is tunable. If - <literal>dedup</literal> is <literal>on</literal>, then - a matching checksum is assumed to mean that the data is - identical. If <literal>dedup</literal> is set to - <literal>verify</literal>, then the data in the two - blocks will be checked byte-for-byte to ensure it is - actually identical. If the data is not identical, the - hash collision will be noted and the two blocks will be - stored separately. Because <acronym>DDT</acronym> must - store the hash of each unique block, it consumes a very - large amount of memory. A general rule of thumb is - 5-6 GB of ram per 1 TB of deduplicated data). - In situations where it is not practical to have enough - <acronym>RAM</acronym> to keep the entire - <acronym>DDT</acronym> in memory, performance will - suffer greatly as the <acronym>DDT</acronym> must be - read from disk before each new block is written. - Deduplication can use <acronym>L2ARC</acronym> to store - the <acronym>DDT</acronym>, providing a middle ground - between fast system memory and slower disks. Consider - using compression instead, which often provides nearly - as much space savings without the additional memory - requirement.</entry> + <entry>校驗碼讓在寫入時可以偵測重複資料區塊,使用去重複,可以增加既有、完全相同的資料區塊參考數來節省儲存空間。要偵測重複的資料區塊需要在記憶體中儲存去重複資料表 (Deduplication table, <acronym>DDT</acronym>),這個資料表中會有唯一的校驗碼清單、這些資料區塊的所在位置以及參考數。當寫入新資料時,便會計算校驗碼然後比對清單中是否有符合的既有資料區塊已在清單。去重複使用了 <acronym>SHA256</acronym> 校驗碼演算法來提供一個安全的加密雜湊,去重複功能是可以調校的,若 <literal>dedup</literal> 設為 <literal>on</literal> 只要符合校驗碼便會認為資料完全相同,若 <literal>dedup</literal> 設為 <literal>verify</literal> 則會一個一個位元檢查兩個資料區塊的資料來確保資料真的完全相同,若資料不同便會註記與雜湊衝突並會分別儲存兩個資料區塊。由於 <acronym>DDT</acronym> 須要儲存每個唯一資料區塊的雜湊,所以會消耗大量的記憶體,一般的經驗法則是每 1 TB 的去重複資料需要使用 5-6 GB 的記憶體。由於要有足夠的 <acronym>RAM</acronym> 來儲存整個 <acronym>DDT</acronym> 在實務上並不實際,導致在每個新資料區塊寫入前需要從磁碟來讀取 <acronym>DDT</acronym> 會對效能有很大的影響,去重複功能可以使用 <acronym>L2ARC</acronym> 儲存 <acronym>DDT</acronym> 以在快速的系統記憶體及較慢的磁碟之間取得一個平衡點。也可以考慮使用壓縮功能來取代此功能,因為壓縮也能節省相近的空間使用量而不需要大量額外的記憶體。</entry> </row> <row> - <entry xml:id="zfs-term-scrub" xml:lang="en">Scrub</entry> - - <entry xml:lang="en">Instead of a consistency check like <citerefentry><refentrytitle>fsck</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <acronym>ZFS</acronym> has <command>scrub</command>. - <command>scrub</command> reads all data blocks stored on - the pool and verifies their checksums against the known - good checksums stored in the metadata. A periodic check - of all the data stored on the pool ensures the recovery - of any corrupted blocks before they are needed. A scrub - is not required after an unclean shutdown, but is - recommended at least once every three months. The - checksum of each block is verified as blocks are read - during normal use, but a scrub makes certain that even - infrequently used blocks are checked for silent - corruption. Data security is improved, especially in - archival storage situations. The relative priority of - <command>scrub</command> can be adjusted with <link linkend="zfs-advanced-tuning-scrub_delay"><varname>vfs.zfs.scrub_delay</varname></link> - to prevent the scrub from degrading the performance of - other workloads on the pool.</entry> + <entry xml:id="zfs-term-scrub">清潔 (Scrub)</entry> + + <entry><acronym>ZFS</acronym> 有 <command>scrub</command> 來替代 <citerefentry><refentrytitle>fsck</refentrytitle><manvolnum>8</manvolnum></citerefentry> 來做一致性的檢查。<command>scrub</command> 會讀取所有儲存在儲存池中的資料區塊並且根據儲存在 Metadata 中已知良好的校驗碼來檢驗這些資料區塊的校驗碼,定期檢查儲存池中儲存的所有資料可以確保實際使用這些資料前已將所有損壞的資料區塊復原。在不正常的關閉之後並不需要做清潔動作,但建議每三個月至少執行一次。在正常使用讀取時便會檢查每個資料區塊的校驗碼,但清潔動作可以確保那些不常用的資料也會被檢查以避免隱藏的損壞,如此便能增進資料的安全性,特別是對用來保存資料的儲存裝置。<command>scrub</command> 可以使用 <link linkend="zfs-advanced-tuning-scrub_delay"><varname>vfs.zfs.scrub_delay</varname></link> 調整相對優先權來避免清潔動作降低儲存池上其他工作的效率。</entry> </row> <row> - <entry xml:id="zfs-term-quota" xml:lang="en">Dataset Quota</entry> + <entry xml:id="zfs-term-quota">資料集配額 (Dataset Quota)</entry> - <entry xml:lang="en"><acronym>ZFS</acronym> provides very fast and - accurate dataset, user, and group space accounting in - addition to quotas and space reservations. This gives - the administrator fine grained control over how space is - allocated and allows space to be reserved for critical - file systems. - - <para xml:lang="en"><acronym>ZFS</acronym> supports different types of + <entry>除了配額及空間保留外,<acronym>ZFS</acronym> 提供非常快速且準確的資料集、使用者及群組空間的計算功能,這可讓管理者調整空間配置的方式且可為重要的檔案系統保留空間。 <para><acronym>ZFS</acronym> supports different types of quotas: the dataset quota, the <link linkend="zfs-term-refquota">reference quota (<acronym>refquota</acronym>)</link>, the <link linkend="zfs-term-userquota">user quota</link>, and the <link linkend="zfs-term-groupquota">group - quota</link>.</para> - - <para xml:lang="en">Quotas limit the amount of space that a dataset - and all of its descendants, including snapshots of the - dataset, child datasets, and the snapshots of those - datasets, can consume.</para> - - <note> - <para xml:lang="en">Quotas cannot be set on volumes, as the - <literal>volsize</literal> property acts as an - implicit quota.</para> + quota</link>.</para> <para>配額會限制資料集及後裔包含資料集的快照、子資料集及子資料集的快照能使用的空間量。</para> <note> + <para>磁碟區上無法設定配額,因為 <literal>volsize</literal> 屬性已經被用來做內定的配額。</para> </note></entry> </row> <row> - <entry xml:id="zfs-term-refquota" xml:lang="en">Reference - Quota</entry> - - <entry xml:lang="en">A reference quota limits the amount of space a - dataset can consume by enforcing a hard limit. However, - this hard limit includes only space that the dataset - references and does not include space used by - descendants, such as file systems or snapshots.</entry> + <entry xml:id="zfs-term-refquota">參考配額 (Reference Quota)</entry> + + <entry>參考配額可以設定一個硬性限制 (Hard limit) 來限制資料集能使用的空間量,而這個硬性限制只包含了資料集參考的空間,並不含其後裔所使用的空間,如:檔案系統或快照。</entry> </row> <row> - <entry xml:id="zfs-term-userquota" xml:lang="en">User - Quota</entry> + <entry xml:id="zfs-term-userquota">使用者配額 (User Quota)</entry> - <entry xml:lang="en">User quotas are useful to limit the amount of space - that can be used by the specified user.</entry> + <entry>使用者配額在用來限制特定使用者能使用的空間量時非常有用。</entry> </row> <row> - <entry xml:id="zfs-term-groupquota" xml:lang="en">Group - Quota</entry> + <entry xml:id="zfs-term-groupquota">群組配額 (Group Quota)</entry> - <entry xml:lang="en">The group quota limits the amount of space that a - specified group can consume.</entry> + <entry>群組配額可以限制特定群組能使用的空間量。</entry> </row> <row> - <entry xml:id="zfs-term-reservation" xml:lang="en">Dataset - Reservation</entry> - - <entry xml:lang="en">The <literal>reservation</literal> property makes - it possible to guarantee a minimum amount of space for a - specific dataset and its descendants. If a 10 GB - reservation is set on - <filename>storage/home/bob</filename>, and another - dataset tries to use all of the free space, at least - 10 GB of space is reserved for this dataset. If a - snapshot is taken of - <filename>storage/home/bob</filename>, the space used by - that snapshot is counted against the reservation. The - <link linkend="zfs-term-refreservation"><literal>refreservation</literal></link> - property works in a similar way, but it - <emphasis>excludes</emphasis> descendants like - snapshots. - - <para xml:lang="en">Reservations of any sort are useful in many - situations, such as planning and testing the - suitability of disk space allocation in a new system, - or ensuring that enough space is available on file - systems for audio logs or system recovery procedures - and files.</para> - </entry> + <entry xml:id="zfs-term-reservation">資料集保留空間 (Dataset Reservation)</entry> + + <entry><literal>reservation</literal> 屬性可以確保對特定資料集及其後裔最小可用的空間量,若在 <filename>storage/home/bob</filename> 設定 10 GB 的保留空間且其他資料集嘗試使用所有剩餘的空間時,會保留至少 10 GB 的空間供這個資料集使用。若要製作 <filename>storage/home/bob</filename> 的快照,該快照所使用的空間也會被列入保留空間計算。 <link linkend="zfs-term-refreservation"><literal>refreservation</literal></link> 屬性也以類似的方式運作,但是他 <emphasis>不包含</emphasis> 後裔,例如:快照。 <para>不管那一種保留空間在許多情境皆很有用,例如:要規劃與測試磁碟空間配置在新系統上的適應性,或是確保有足夠的空間供稽查日誌或系統還原程序及檔案使用。</para></entry> </row> <row> - <entry xml:id="zfs-term-refreservation" xml:lang="en">Reference - Reservation</entry> - - <entry xml:lang="en">The <literal>refreservation</literal> property - makes it possible to guarantee a minimum amount of - space for the use of a specific dataset - <emphasis>excluding</emphasis> its descendants. This - means that if a 10 GB reservation is set on - <filename>storage/home/bob</filename>, and another - dataset tries to use all of the free space, at least - 10 GB of space is reserved for this dataset. In - contrast to a regular - <link linkend="zfs-term-reservation">reservation</link>, - space used by snapshots and descendant datasets is not - counted against the reservation. For example, if a - snapshot is taken of - <filename>storage/home/bob</filename>, enough disk space - must exist outside of the - <literal>refreservation</literal> amount for the - operation to succeed. Descendants of the main data set - are not counted in the <literal>refreservation</literal> - amount and so do not encroach on the space set.</entry> + <entry xml:id="zfs-term-refreservation">參考保留空間 (Reference Reservation)</entry> + + <entry><literal>refreservation</literal> 屬性可以確保對特定資料集 <emphasis>不包含</emphasis> 其後裔最小可用的空間,這代表若在 <filename>storage/home/bob</filename> 設定 10 GB 的保留空間且其他資料集嘗試使用所有剩餘的空間時,會保留至少 10 GB 的空間供這個資料集使用。於正常 <link linkend="zfs-term-reservation">reservation</link> 不同的是,由快照及後裔資料集所使用的空間並不會列入保留空間計算。例如,若要製作一個 <filename>storage/home/bob</filename> 的快照,在 <literal>refreservation</literal> 空間之外必須要有足夠的空間才能成功完成這項操作,主資料集的後裔並不會列入 <literal>refreservation</literal> 空間額計算,所以也不會佔用保留空間。</entry> </row> <row> - <entry xml:id="zfs-term-resilver" xml:lang="en">Resilver</entry> - - <entry xml:lang="en">When a disk fails and is replaced, the new disk - must be filled with the data that was lost. The process - of using the parity information distributed across the - remaining drives to calculate and write the missing data - to the new drive is called - <emphasis>resilvering</emphasis>.</entry> + <entry xml:id="zfs-term-resilver">修復 (Resilver)</entry> + + <entry>當有磁碟故障且被更換後,新的磁碟必須回存先前所遺失的資料,會使用分散在其他磁碟上的奇偶校驗資訊來計算並寫入遺失的資料到新的磁碟機的這個程序稱作 <emphasis>修復 (Resilvering)</emphasis>。</entry> </row> <row> - <entry xml:id="zfs-term-online" xml:lang="en">Online</entry> + <entry xml:id="zfs-term-online">上線 (Online)</entry> - <entry xml:lang="en">A pool or vdev in the <literal>Online</literal> - state has all of its member devices connected and fully - operational. Individual devices in the - <literal>Online</literal> state are functioning - normally.</entry> + <entry>一個儲存池或 vdev 處於線上 (<literal>Online</literal>) 狀態時代表所有該裝置的成員均已連結且正常運作。個別裝置處於線上 (<literal>Online</literal>) 狀態時代表功能正常。</entry> </row> <row> - <entry xml:id="zfs-term-offline" xml:lang="en">Offline</entry> - - <entry xml:lang="en">Individual devices can be put in an - <literal>Offline</literal> state by the administrator if - there is sufficient redundancy to avoid putting the pool - or vdev into a - <link linkend="zfs-term-faulted">Faulted</link> state. - An administrator may choose to offline a disk in - preparation for replacing it, or to make it easier to - identify.</entry> + <entry xml:id="zfs-term-offline">離線 (Offline)</entry> + + <entry>若有足夠的備援可避免儲存池或 vdev 進入故障 (<link linkend="zfs-term-faulted">Faulted</link>) 狀態,個別裝置若可由管理者設為離線 (<literal>Offline</literal>) 狀態,管理者可以選擇要設定那一個磁碟為離線來準備更換或是讓其更容易辨識。</entry> </row> <row> - <entry xml:id="zfs-term-degraded" xml:lang="en">Degraded</entry> - - <entry xml:lang="en">A pool or vdev in the <literal>Degraded</literal> - state has one or more disks that have been disconnected - or have failed. The pool is still usable, but if - additional devices fail, the pool could become - unrecoverable. Reconnecting the missing devices or - replacing the failed disks will return the pool to an - <link linkend="zfs-term-online">Online</link> state - after the reconnected or new device has completed the - <link linkend="zfs-term-resilver">Resilver</link> - process.</entry> + <entry xml:id="zfs-term-degraded">降級 (Degraded)</entry> + + <entry>一個儲存池或 vdev 處於降級 (<literal>Degraded</literal>) 狀態代表其有一個或多個磁碟已斷線或故障,此時儲存池仍可以使用,但只要再有其他的裝置故障,儲存池會無法復原。重新連線缺少的裝置或更換故障的磁碟,並在新裝置完成修復 (<link linkend="zfs-term-resilver">Resilver</link>) 程序可讓儲存池返回線上 (<link linkend="zfs-term-online">Online</link>) 狀態。</entry> </row> <row> - <entry xml:id="zfs-term-faulted" xml:lang="en">Faulted</entry> - - <entry xml:lang="en">A pool or vdev in the <literal>Faulted</literal> - state is no longer operational. The data on it can no - longer be accessed. A pool or vdev enters the - <literal>Faulted</literal> state when the number of - missing or failed devices exceeds the level of - redundancy in the vdev. If missing devices can be - reconnected, the pool will return to a - <link linkend="zfs-term-online">Online</link> state. If - there is insufficient redundancy to compensate for the - number of failed disks, then the contents of the pool - are lost and must be restored from backups.</entry> + <entry xml:id="zfs-term-faulted">故障 (Faulted)</entry> + + <entry>一個儲存池或 vdev 處於故障 (<literal>Faulted</literal>) 狀態代表無法運作,會無法存取在該裝置上的資料。當在 vdev 中缺少或故障的裝置數超過備援的層級,儲存池或 vdev 會進入故障 (<literal>Faulted</literal>) 狀態。若缺少的裝置可以重新連結上,儲存池便會返回線上 (<link linkend="zfs-term-online">Online</link>) 狀態。若沒有足夠的備援可補償故障的磁碟數量便會遺失儲存池中的內容且只能從備份還原。</entry> </row> </tbody> </tgroup> @@ -35976,7 +34144,7 @@ http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/usb-disks.html <itemizedlist> <listitem> - <para>了解<link linkend="basics"><trademark class="registered">UNIX</trademark> 與 FreeBSD 的基礎</link>。</para> + <para>了解 <link linkend="basics"><trademark class="registered">UNIX</trademark> 與 FreeBSD 的基礎</link>。</para> </listitem> <listitem> @@ -36405,8 +34573,8 @@ http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/usb-disks.html </sect2> </sect1> - <sect1 xml:id="virtualization-guest-virtualbox-guest-additions"> - <title>安裝 <trademark>VirtualBox</trademark> Guest Additions 於 FreeBSD 客端</title> + <sect1 xml:id="virtualization-guest-virtualbox"> + <title>在 <trademark>VirtualBox</trademark> 使用 FreeBSD 作為客端</title> <para xml:lang="en">FreeBSD works well as a guest in <application><trademark>VirtualBox</trademark></application>. The virtualization @@ -36760,8 +34928,8 @@ net.link.tap.up_on_open: 0 -> 1 <para xml:lang="en">Download an installation image of FreeBSD to install:</para> - <screen xml:lang="en"><prompt>#</prompt> <userinput>fetch <replaceable>ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/10.2/FreeBSD-10.2-RELEASE-amd64-bootonly.iso</replaceable></userinput> -FreeBSD-10.2-RELEASE-amd64-bootonly.iso 100% of 230 MB 570 kBps 06m17s</screen> + <screen xml:lang="en"><prompt>#</prompt> <userinput>fetch <replaceable>ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/10.3/FreeBSD-10.3-RELEASE-amd64-bootonly.iso</replaceable></userinput> +FreeBSD-10.3-RELEASE-amd64-bootonly.iso 100% of 230 MB 570 kBps 06m17s</screen> <para xml:lang="en">FreeBSD comes with an example script for running a virtual machine in <application>bhyve</application>. The script will @@ -36780,7 +34948,7 @@ FreeBSD-10.2-RELEASE-amd64-bootonly.iso 100% of 230 MB 570 kBps 06m17s</ machine, used to track the running machines. This example starts the virtual machine in installation mode:</para> - <screen xml:lang="en"><prompt>#</prompt> <userinput>sh /usr/share/examples/bhyve/vmrun.sh -c <replaceable>4</replaceable> -m <replaceable>1024M</replaceable> -t <replaceable>tap0</replaceable> -d <replaceable>guest.img</replaceable> -i -I <replaceable>FreeBSD-10.0-RELEASE-amd64-bootonly.iso</replaceable> <replaceable>guestname</replaceable></userinput></screen> + <screen xml:lang="en"><prompt>#</prompt> <userinput>sh /usr/share/examples/bhyve/vmrun.sh -c <replaceable>4</replaceable> -m <replaceable>1024M</replaceable> -t <replaceable>tap0</replaceable> -d <replaceable>guest.img</replaceable> -i -I <replaceable>FreeBSD-10.3-RELEASE-amd64-bootonly.iso</replaceable> <replaceable>guestname</replaceable></userinput></screen> <para xml:lang="en">The virtual machine will boot and start the installer. After installing a system in the virtual machine, when the @@ -46499,8 +44667,8 @@ Exports list on foobar: <prompt>#</prompt> <userinput>service autounmountd start</userinput></screen> <para xml:lang="en">The <citerefentry><refentrytitle>autofs</refentrytitle><manvolnum>5</manvolnum></citerefentry> map format is the same as in other - operating systems, it might be desirable to consult - information from other operating systems, such as the <link xlink:href="http://images.apple.com/business/docs/Autofs.pdf">Mac + operating systems. Information about this format from other + sources can be useful, like the <link xlink:href="http://web.archive.org/web/20160813071113/http://images.apple.com/business/docs/Autofs.pdf">Mac OS X document</link>.</para> <para xml:lang="en">Consult the <citerefentry><refentrytitle>automount</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>automountd</refentrytitle><manvolnum>8</manvolnum></citerefentry>, @@ -48839,7 +47007,7 @@ options { disable-empty-zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA"; disable-empty-zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA"; -// If you've got a DNS server around at your upstream provider, enter +// If you have a DNS server around at your upstream provider, enter // its IP address here, and enable the line below. This will make you // benefit from its cache, thus reduce overall DNS traffic in the Internet. /* @@ -48895,7 +47063,7 @@ options { // query-source address * port NNNNN; }; -// If you enable a local name server, don't forget to enter 127.0.0.1 +// If you enable a local name server, do not forget to enter 127.0.0.1 // first in your /etc/resolv.conf so this server will be queried. // Also, make sure to enable it in /etc/rc.conf. @@ -49091,7 +47259,7 @@ zone "ip6.int" { type master; file "/etc/namedb/master/empty.db"; }; // understand how DNS and BIND work. There are sometimes // non-obvious pitfalls. Setting up a slave zone is usually simpler. // -// NB: Don't blindly enable the examples below. :-) Use actual names +// NB: Do not blindly enable the examples below. :-) Use actual names // and addresses instead. /* An example dynamic zone @@ -50196,7 +48364,7 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting> <programlisting xml:lang="en">LoadModule php5_module libexec/apache24/libphp5.so</programlisting> <!-- -I don't think this is still needed +I do not think this is still needed AddModule mod_php5.c <IfModule mod_php5.c> DirectoryIndex index.php index.html @@ -50443,7 +48611,7 @@ AddModule mod_php5.c a forum for the trade of unlicensed commercial software or worse. If anonymous <acronym>FTP</acronym> uploads are required, then verify the permissions so that these files - can not be read by other anonymous users until they have + cannot be read by other anonymous users until they have been reviewed by an administrator.</para> </note> </sect2> @@ -59476,7 +57644,7 @@ rtsold_enable="YES"</programlisting> the generic tunneling interface <filename><replaceable>gif0</replaceable></filename>:</para> - <programlisting xml:lang="en">gif_interfaces="gif<replaceable>0</replaceable>"</programlisting> + <programlisting xml:lang="en">cloned_interfaces="gif<replaceable>0</replaceable>"</programlisting> <para xml:lang="en">Next, configure that interface with the <acronym>IPv4</acronym> addresses of the local and remote @@ -59484,7 +57652,7 @@ rtsold_enable="YES"</programlisting> and <replaceable>REMOTE_IPv4_ADDR</replaceable> with the actual <acronym>IPv4</acronym> addresses:</para> - <programlisting xml:lang="en">gifconfig_gif0="<replaceable>MY_IPv4_ADDR REMOTE_IPv4_ADDR</replaceable>"</programlisting> + <programlisting xml:lang="en">cloned_interfaces_gif0="<replaceable>MY_IPv4_ADDR REMOTE_IPv4_ADDR</replaceable>"</programlisting> <para xml:lang="en">To apply the <acronym>IPv6</acronym> address that has been assigned for use as the <acronym>IPv6</acronym> tunnel @@ -60021,43 +58189,46 @@ ifconfig_carp1="vhid <replaceable>2</replaceable> advskew <replaceable>100</repl </indexterm> <indexterm><primary>虛擬 LAN</primary></indexterm> - <para xml:lang="en"><acronym>VLANs</acronym> are a way of virtually dividing up a - network into many different subnetworks. Each will have its own - broadcast domain and be isolated from the rest of the + <para xml:lang="en"><acronym>VLANs</acronym> are a way of virtually dividing up + a network into many different subnetworks. Each will have its + own broadcast domain and be isolated from the rest of the <acronym>VLANs</acronym>.</para> <para>在 FreeBSD 上,要使用 <acronym>VLANs</acronym> 必須有網路卡驅動程式的支援,要查看那些驅動程式支援 vlan,請參考 <citerefentry><refentrytitle>vlan</refentrytitle><manvolnum>4</manvolnum></citerefentry> 操作手冊。</para> - <para xml:lang="en">When configuring a <acronym>VLAN</acronym>, a couple pieces of - information must be known. First, which network interface? Second, - what is the <acronym>VLAN</acronym> tag?</para> + <para xml:lang="en">When configuring a <acronym>VLAN</acronym>, a couple pieces + of information must be known. First, which network interface? + Second, what is the <acronym>VLAN</acronym> tag?</para> <para xml:lang="en">To configure <acronym>VLANs</acronym> at run time, with a <acronym>NIC</acronym> of <literal>em0</literal> and a - <acronym>VLAN</acronym> tag of <systemitem>5</systemitem>. The command - would look like this:</para> + <acronym>VLAN</acronym> tag of <systemitem>5</systemitem>. The + command would look like this:</para> <screen xml:lang="en"><prompt>#</prompt> <userinput>ifconfig <replaceable>em0.5</replaceable> create vlan <replaceable>5</replaceable> vlandev <replaceable>em0</replaceable> inet 192.168.20.20/24</userinput></screen> <note> - <para xml:lang="en">See how the interface name includes the <acronym>NIC</acronym> - driver name and the <acronym>VLAN</acronym> tag, separated by a - period? This is a best practice to make maintaining the - <acronym>VLAN</acronym> configuration easy when many - <acronym>VLANs</acronym> are present on a machine.</para> + <para xml:lang="en">See how the interface name includes the + <acronym>NIC</acronym> driver name and the + <acronym>VLAN</acronym> tag, separated by a period? This is a + best practice to make maintaining the <acronym>VLAN</acronym> + configuration easy when many <acronym>VLANs</acronym> are + present on a machine.</para> </note> <para xml:lang="en">To configure <acronym>VLANs</acronym> at boot time, - <filename>/etc/rc.conf</filename> must be updated. To duplicate the - configuration above, the following will need to be added:</para> + <filename>/etc/rc.conf</filename> must be updated. To duplicate + the configuration above, the following will need to be + added:</para> <programlisting xml:lang="en">vlans_<replaceable>em0</replaceable>="<replaceable>5</replaceable>" ifconfig_<replaceable>em0</replaceable>_<replaceable>5</replaceable>="inet 192.168.20.20/24"</programlisting> - <para xml:lang="en">Additional <acronym>VLANs</acronym> may be added, by simply adding - the tag to the <literal>vlans_<replaceable>em0</replaceable></literal> - field and adding an additional line configuring the network on that - <acronym>VLAN</acronym> tag's interface.</para> + <para xml:lang="en">Additional <acronym>VLANs</acronym> may be added, by simply + adding the tag to the + <literal>vlans_<replaceable>em0</replaceable></literal> + field and adding an additional line configuring the network on + that <acronym>VLAN</acronym> tag's interface.</para> </sect1> </chapter> @@ -61361,7 +59532,7 @@ This site doesn't have any products newer than 8.1 which is now EOL'd <sect1 xml:id="bibliography-freebsd"> <title>FreeBSD 相關書籍</title> - <para>國際書籍:</para> + <para>國際書籍:</para> <itemizedlist> <listitem> @@ -61430,7 +59601,7 @@ This site doesn't have any products newer than 8.1 which is now EOL'd </listitem> </itemizedlist> - <para>英文書籍:</para> + <para>英文書籍:</para> <itemizedlist> <listitem> diff --git a/zh_TW.UTF-8/books/handbook/zh_TW.po b/zh_TW.UTF-8/books/handbook/zh_TW.po index ec08f31026..29049265d5 100644 --- a/zh_TW.UTF-8/books/handbook/zh_TW.po +++ b/zh_TW.UTF-8/books/handbook/zh_TW.po @@ -2,15 +2,15 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2016-08-25 18:38+0800\n" -"PO-Revision-Date: 2016-08-25 18:37+0800\n" +"POT-Creation-Date: 2016-10-18 13:09+0800\n" +"PO-Revision-Date: 2016-10-17 19:31+0800\n" "Last-Translator: Chien Wei Lin <cwlin0416@gmail.com>\n" "Language-Team: \n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.8\n" +"X-Generator: Poedit 1.8.9\n" #. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 msgctxt "_" @@ -18,25 +18,25 @@ msgid "translator-credits" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:599 +#: book.translate.xml:602 msgid "FreeBSD Handbook" msgstr "FreeBSD 使用手冊" #. (itstool) path: info/author -#: book.translate.xml:601 +#: book.translate.xml:604 msgid "<orgname>The FreeBSD Documentation Project</orgname>" msgstr "<orgname>FreeBSD 文件計劃</orgname>" #. (itstool) path: info/pubdate #. (itstool) path: info/releaseinfo -#: book.translate.xml:605 book.translate.xml:607 +#: book.translate.xml:608 book.translate.xml:610 msgid "" "$FreeBSD: head/en_US.ISO8859-1/books/handbook/book.xml 48108 2016-01-28 " "02:09:41Z wblock $" msgstr "" #. (itstool) path: info/copyright -#: book.translate.xml:609 +#: book.translate.xml:612 msgid "" "<year>1995</year> <year>1996</year> <year>1997</year> <year>1998</year> " "<year>1999</year> <year>2000</year> <year>2001</year> <year>2002</year> " @@ -47,12 +47,12 @@ msgid "" msgstr "" #. (itstool) path: legalnotice/title -#: book.translate.xml:636 +#: book.translate.xml:639 msgid "Copyright" msgstr "版權" #. (itstool) path: legalnotice/para -#: book.translate.xml:638 +#: book.translate.xml:641 msgid "" "Redistribution and use in source (XML DocBook) and 'compiled' forms (XML, " "HTML, PDF, PostScript, RTF and so forth) with or without modification, are " @@ -60,7 +60,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:645 +#: book.translate.xml:648 msgid "" "Redistributions of source code (XML DocBook) must retain the above copyright " "notice, this list of conditions and the following disclaimer as the first " @@ -68,7 +68,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:651 +#: book.translate.xml:654 msgid "" "Redistributions in compiled form (transformed to other DTDs, converted to " "PDF, PostScript, RTF and other formats) must reproduce the above copyright " @@ -77,7 +77,7 @@ msgid "" msgstr "" #. (itstool) path: important/para -#: book.translate.xml:660 +#: book.translate.xml:663 msgid "" "THIS DOCUMENTATION IS PROVIDED BY THE FREEBSD DOCUMENTATION PROJECT \"AS IS" "\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE " @@ -93,32 +93,32 @@ msgid "" msgstr "" #. (itstool) path: legalnotice/para -#: book.translate.xml:677 +#: book.translate.xml:680 msgid "FreeBSD is a registered trademark of the FreeBSD Foundation." msgstr "FreeBSD 是 FreeBSD 基金會的註冊商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:679 +#: book.translate.xml:682 msgid "3Com and HomeConnect are registered trademarks of 3Com Corporation." msgstr "3Com 和 HomeConnect 是 3Com Corporation 的註冊商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:681 +#: book.translate.xml:684 msgid "3ware is a registered trademark of 3ware Inc." msgstr "3ware 是 3ware Inc 的註冊商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:683 +#: book.translate.xml:686 msgid "ARM is a registered trademark of ARM Limited." msgstr "ARM 是 ARM Limited. 的註冊商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:685 +#: book.translate.xml:688 msgid "Adaptec is a registered trademark of Adaptec, Inc." msgstr "Adaptec 是 Adaptec, Inc. 的註冊商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:687 +#: book.translate.xml:690 msgid "" "Adobe, Acrobat, Acrobat Reader, Flash and PostScript are either registered " "trademarks or trademarks of Adobe Systems Incorporated in the United States " @@ -128,7 +128,7 @@ msgstr "" "Incorporated 在美國和/或其他國家的商標或註冊商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:691 +#: book.translate.xml:694 msgid "" "Apple, AirPort, FireWire, iMac, iPhone, iPad, Mac, Macintosh, Mac OS, " "Quicktime, and TrueType are trademarks of Apple Inc., registered in the U.S. " @@ -138,12 +138,12 @@ msgstr "" "Quicktime 以及 TrueType 是 Apple Inc. 在美國以及其他國家的註冊商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:696 +#: book.translate.xml:699 msgid "Android is a trademark of Google Inc." msgstr "Android 是 Google Inc 的商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:698 +#: book.translate.xml:701 msgid "" "Heidelberg, Helvetica, Palatino, and Times Roman are either registered " "trademarks or trademarks of Heidelberger Druckmaschinen AG in the U.S. and " @@ -153,7 +153,7 @@ msgstr "" "Druckmaschinen AG 在美國以及其他國家的商標或註冊商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:702 +#: book.translate.xml:705 msgid "" "IBM, AIX, OS/2, PowerPC, PS/2, S/390, and ThinkPad are trademarks of " "International Business Machines Corporation in the United States, other " @@ -163,7 +163,7 @@ msgstr "" "Machines Corporation 在美國和其他國家的商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:706 +#: book.translate.xml:709 msgid "" "IEEE, POSIX, and 802 are registered trademarks of Institute of Electrical " "and Electronics Engineers, Inc. in the United States." @@ -172,7 +172,7 @@ msgstr "" "Inc. 在美國的註冊商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:709 +#: book.translate.xml:712 msgid "" "Intel, Celeron, Centrino, Core, EtherExpress, i386, i486, Itanium, Pentium, " "and Xeon are trademarks or registered trademarks of Intel Corporation or its " @@ -182,7 +182,7 @@ msgstr "" "及 Xeon 是 Intel Corporation 及其分支機構在美國和其他國家的商標或註冊商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:713 +#: book.translate.xml:716 msgid "" "Intuit and Quicken are registered trademarks and/or registered service marks " "of Intuit Inc., or one of its subsidiaries, in the United States and other " @@ -192,12 +192,12 @@ msgstr "" "標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:716 +#: book.translate.xml:719 msgid "Linux is a registered trademark of Linus Torvalds." msgstr "Linux 是 Linus Torvalds 的註冊商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:718 +#: book.translate.xml:721 msgid "" "LSI Logic, AcceleRAID, eXtremeRAID, MegaRAID and Mylex are trademarks or " "registered trademarks of LSI Logic Corp." @@ -206,7 +206,7 @@ msgstr "" "商標或註冊商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:721 +#: book.translate.xml:724 msgid "" "Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media and Windows " "NT are either registered trademarks or trademarks of Microsoft Corporation " @@ -216,7 +216,7 @@ msgstr "" "Windows NT 是 Microsoft Corporation 在美國和/或其他國家的商標或註冊商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:725 +#: book.translate.xml:728 msgid "" "Motif, OSF/1, and UNIX are registered trademarks and IT DialTone and The " "Open Group are trademarks of The Open Group in the United States and other " @@ -226,12 +226,12 @@ msgstr "" "DialTone 和 The Open Group 是其商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:729 +#: book.translate.xml:732 msgid "Oracle is a registered trademark of Oracle Corporation." msgstr "Oracle 是 Oracle Corporation 的註冊商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:731 +#: book.translate.xml:734 msgid "" "RealNetworks, RealPlayer, and RealAudio are the registered trademarks of " "RealNetworks, Inc." @@ -239,14 +239,14 @@ msgstr "" "RealNetworks, RealPlayer, 和 RealAudio 是 RealNetworks, Inc. 的註冊商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:734 +#: book.translate.xml:737 msgid "" "Red Hat, RPM, are trademarks or registered trademarks of Red Hat, Inc. in " "the United States and other countries." msgstr "Red Hat, RPM, 是 Red Hat, Inc. 在美國和其他國家的註冊商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:737 +#: book.translate.xml:740 msgid "" "Sun, Sun Microsystems, Java, Java Virtual Machine, JDK, JRE, JSP, JVM, " "Netra, OpenJDK, Solaris, StarOffice, SunOS and VirtualBox are trademarks or " @@ -258,37 +258,37 @@ msgstr "" "Microsystems, Inc. 在美國和其他國家的商標或註冊商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:742 +#: book.translate.xml:745 msgid "MATLAB is a registered trademark of The MathWorks, Inc." msgstr "MATLAB 是 The MathWorks, Inc. 的註冊商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:744 +#: book.translate.xml:747 msgid "SpeedTouch is a trademark of Thomson." msgstr "SpeedTouch 是 Thomson 的商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:746 +#: book.translate.xml:749 msgid "VMware is a trademark of VMware, Inc." msgstr "VMware 是 VMware, Inc. 的商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:748 +#: book.translate.xml:751 msgid "Mathematica is a registered trademark of Wolfram Research, Inc." msgstr "Mathematica 是 Wolfram Research, Inc 的註冊商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:750 +#: book.translate.xml:753 msgid "XFree86 is a trademark of The XFree86 Project, Inc." msgstr "XFree86 是 The XFree86 Project, Inc 的商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:752 +#: book.translate.xml:755 msgid "Ogg Vorbis and Xiph.Org are trademarks of Xiph.Org." msgstr "Ogg Vorbis 以及 Xiph.Org 是 Xiph.Org 的商標。" #. (itstool) path: legalnotice/para -#: book.translate.xml:754 +#: book.translate.xml:757 msgid "" "Many of the designations used by manufacturers and sellers to distinguish " "their products are claimed as trademarks. Where those designations appear in " @@ -301,7 +301,7 @@ msgstr "" "quote> 或 <quote>®</quote> 符號來標示。" #. (itstool) path: abstract/para -#: book.translate.xml:763 +#: book.translate.xml:766 msgid "" "Welcome to FreeBSD! This handbook covers the installation and day to day use " "of <emphasis>FreeBSD 9.3-RELEASE</emphasis> and <emphasis>FreeBSD 10.3-" @@ -319,7 +319,7 @@ msgstr "" "遞論壇</link>。" #. (itstool) path: abstract/para -#: book.translate.xml:771 +#: book.translate.xml:774 msgid "" "The latest version of this book is available from the <link xlink:href=" "\"http://www.FreeBSD.org/\">FreeBSD web site</link>. Previous versions can " @@ -344,18 +344,18 @@ msgstr "" "件的資料。" #. (itstool) path: preface/title -#: book.translate.xml:792 +#: book.translate.xml:795 msgid "Preface" msgstr "序" #. (itstool) path: preface/bridgehead #. (itstool) id: book.translate.xml#preface-audience -#: book.translate.xml:794 +#: book.translate.xml:797 msgid "Intended Audience" msgstr "給讀者的話" #. (itstool) path: preface/para -#: book.translate.xml:797 +#: book.translate.xml:800 msgid "" "The FreeBSD newcomer will find that the first section of this book guides " "the user through the FreeBSD installation process and gently introduces the " @@ -369,7 +369,7 @@ msgstr "" "一些常用、共通的東西。而閱讀這部分並不難,只需要您有探索的精神和接受新概念。" #. (itstool) path: preface/para -#: book.translate.xml:804 +#: book.translate.xml:807 msgid "" "Once you have traveled this far, the second, far larger, section of the " "Handbook is a comprehensive reference to all manner of topics of interest to " @@ -382,7 +382,7 @@ msgstr "" "不熟的話,可在閱讀前先預習一番。" #. (itstool) path: preface/para -#: book.translate.xml:811 +#: book.translate.xml:814 msgid "" "For a list of additional sources of information, please see <xref linkend=" "\"bibliography\"/>." @@ -390,12 +390,12 @@ msgstr "延伸閱讀方面,可參閱 <xref linkend=\"bibliography\"/>。" #. (itstool) path: preface/bridgehead #. (itstool) id: book.translate.xml#preface-changes-from3 -#: book.translate.xml:814 +#: book.translate.xml:817 msgid "Changes from the Third Edition" msgstr "自第三版後的主要修訂" #. (itstool) path: preface/para -#: book.translate.xml:817 +#: book.translate.xml:820 msgid "" "The current online version of the Handbook represents the cumulative effort " "of many hundreds of contributors over the past 10 years. The following are " @@ -406,7 +406,7 @@ msgstr "" "2014 年發佈的兩冊第三版後所做的主要修訂:" #. (itstool) path: listitem/para -#: book.translate.xml:824 +#: book.translate.xml:827 msgid "" "<xref linkend=\"dtrace\"/> has been added with information about the " "powerful DTrace performance analysis tool." @@ -414,7 +414,7 @@ msgstr "" "<xref linkend=\"dtrace\"/> 增加說明有關強大的 DTrace 效能分析工具的資訊。" #. (itstool) path: listitem/para -#: book.translate.xml:829 +#: book.translate.xml:832 msgid "" "<xref linkend=\"filesystems\"/> has been added with information about non-" "native file systems in FreeBSD, such as ZFS from <trademark>Sun</trademark>." @@ -423,7 +423,7 @@ msgstr "" "自 <trademark>Sun</trademark> 的 ZSF。" #. (itstool) path: listitem/para -#: book.translate.xml:835 +#: book.translate.xml:838 msgid "" "<xref linkend=\"audit\"/> has been added to cover the new auditing " "capabilities in FreeBSD and explain its use." @@ -431,7 +431,7 @@ msgstr "" "<xref linkend=\"audit\"/> 增加的內容涵蓋 FreeBSD 的新稽查功能及其使用說明。" #. (itstool) path: listitem/para -#: book.translate.xml:840 +#: book.translate.xml:843 msgid "" "<xref linkend=\"virtualization\"/> has been added with information about " "installing FreeBSD on virtualization software." @@ -439,7 +439,7 @@ msgstr "" "<xref linkend=\"virtualization\"/> 增加有關在虛擬化軟體安裝 FreeBSD 的資訊。" #. (itstool) path: listitem/para -#: book.translate.xml:846 +#: book.translate.xml:849 msgid "" "<xref linkend=\"bsdinstall\"/> has been added to cover installation of " "FreeBSD using the new installation utility, <application>bsdinstall</" @@ -450,12 +450,12 @@ msgstr "" #. (itstool) path: preface/bridgehead #. (itstool) id: book.translate.xml#preface-changes-from2 -#: book.translate.xml:852 +#: book.translate.xml:855 msgid "Changes from the Second Edition (2004)" msgstr "自第二版後的主要修訂 (2004)" #. (itstool) path: preface/para -#: book.translate.xml:855 +#: book.translate.xml:858 msgid "" "The third edition was the culmination of over two years of work by the " "dedicated members of the FreeBSD Documentation Project. The printed edition " @@ -466,7 +466,7 @@ msgstr "" "文件內容成長到一定大小,印刷版需要分成兩冊發佈。新版的主要修訂部分如下:" #. (itstool) path: listitem/para -#: book.translate.xml:863 +#: book.translate.xml:866 msgid "" "<xref linkend=\"config-tuning\"/> has been expanded with new information " "about the ACPI power and resource management, the <command>cron</command> " @@ -476,7 +476,7 @@ msgstr "" "<command>cron</command> 以及其他更多的核心調校選項說明內容。" #. (itstool) path: listitem/para -#: book.translate.xml:870 +#: book.translate.xml:873 msgid "" "<xref linkend=\"security\"/> has been expanded with new information about " "virtual private networks (VPNs), file system access control lists (ACLs), " @@ -486,7 +486,7 @@ msgstr "" "(ACL),以及安全報告。" #. (itstool) path: listitem/para -#: book.translate.xml:876 +#: book.translate.xml:879 msgid "" "<xref linkend=\"mac\"/> is a new chapter with this edition. It explains what " "MAC is and how this mechanism can be used to secure a FreeBSD system." @@ -495,24 +495,24 @@ msgstr "" "何運用它來使您的 FreeBSD 系統更安全。" #. (itstool) path: listitem/para -#: book.translate.xml:882 +#: book.translate.xml:885 msgid "" "<xref linkend=\"disks\"/> has been expanded with new information about USB " "storage devices, file system snapshots, file system quotas, file and network " "backed filesystems, and encrypted disk partitions." msgstr "" "<xref linkend=\"disks\"/> 新增了像是:USB 隨身碟、檔案系統快照 (Snapshot)、檔" -"案系統配額 (Quota) 、檔案及網路的備援檔案系統、以及如何對硬碟分割區作加密等詳" -"解。" +"案系統配額 (Quota) 、檔案與網路為基礎的檔案系統、以及如何對硬碟分割區作加密等" +"詳解。" #. (itstool) path: listitem/para -#: book.translate.xml:889 +#: book.translate.xml:892 msgid "" "A troubleshooting section has been added to <xref linkend=\"ppp-and-slip\"/>." msgstr "<xref linkend=\"ppp-and-slip\"/> 增加了疑難排解的章節。" #. (itstool) path: listitem/para -#: book.translate.xml:893 +#: book.translate.xml:896 msgid "" "<xref linkend=\"mail\"/> has been expanded with new information about using " "alternative transport agents, SMTP authentication, UUCP, " @@ -524,7 +524,7 @@ msgstr "" "application> 的運用以及其它進階主題。" #. (itstool) path: listitem/para -#: book.translate.xml:901 +#: book.translate.xml:904 msgid "" "<xref linkend=\"network-servers\"/> is all new with this edition. This " "chapter includes information about setting up the <application>Apache HTTP " @@ -542,7 +542,7 @@ msgstr "" "\"advanced-networking\"/> 。" #. (itstool) path: listitem/para -#: book.translate.xml:911 +#: book.translate.xml:914 msgid "" "<xref linkend=\"advanced-networking\"/> has been expanded with new " "information about using <trademark class=\"registered\">Bluetooth</" @@ -554,14 +554,14 @@ msgstr "" "式 (Asynchronous Transfer Mode, ATM) 網路的介紹。" #. (itstool) path: listitem/para -#: book.translate.xml:918 +#: book.translate.xml:921 msgid "" "A glossary has been added to provide a central location for the definitions " "of technical terms used throughout the book." msgstr "增加詞彙表,用以說明全書中出現的術語。" #. (itstool) path: listitem/para -#: book.translate.xml:924 +#: book.translate.xml:927 msgid "" "A number of aesthetic improvements have been made to the tables and figures " "throughout the book." @@ -569,12 +569,12 @@ msgstr "重新美編書中所列的圖表。" #. (itstool) path: preface/bridgehead #. (itstool) id: book.translate.xml#preface-changes -#: book.translate.xml:929 +#: book.translate.xml:932 msgid "Changes from the First Edition (2001)" msgstr "自第一版後的主要修訂 (2001)" #. (itstool) path: preface/para -#: book.translate.xml:932 +#: book.translate.xml:935 msgid "" "The second edition was the culmination of over two years of work by the " "dedicated members of the FreeBSD Documentation Project. The following were " @@ -584,17 +584,17 @@ msgstr "" "變動如下︰" #. (itstool) path: listitem/para -#: book.translate.xml:940 +#: book.translate.xml:943 msgid "A complete Index has been added." msgstr "增加完整的目錄索引。" #. (itstool) path: listitem/para -#: book.translate.xml:944 +#: book.translate.xml:947 msgid "All ASCII figures have been replaced by graphical diagrams." msgstr "所有的 ASCII 圖表均改成圖檔格式的圖表。" #. (itstool) path: listitem/para -#: book.translate.xml:949 +#: book.translate.xml:952 msgid "" "A standard synopsis has been added to each chapter to give a quick summary " "of what information the chapter contains, and what the reader is expected to " @@ -602,17 +602,17 @@ msgid "" msgstr "每個章節均加入概述,以便快速的瀏覽該章節內容摘要、讀者所欲了解的部分。" #. (itstool) path: listitem/para -#: book.translate.xml:955 +#: book.translate.xml:958 msgid "" "The content has been logically reorganized into three parts: <quote>Getting " "Started</quote>, <quote>System Administration</quote>, and " "<quote>Appendices</quote>." msgstr "" -"內容架構重新組織成三大部分: <quote>入門</quote>、<quote>系統管理</quote> 以" +"內容架構重新組織成三大部分:<quote>入門</quote>、<quote>系統管理</quote> 以" "及 <quote>附錄</quote>。" #. (itstool) path: listitem/para -#: book.translate.xml:962 +#: book.translate.xml:965 msgid "" "<xref linkend=\"basics\"/> has been expanded to contain additional " "information about processes, daemons, and signals." @@ -620,14 +620,14 @@ msgstr "" "<xref linkend=\"basics\"/> 新增了程序、Daemon 以及信號 (Signal) 的介紹。" #. (itstool) path: listitem/para -#: book.translate.xml:968 +#: book.translate.xml:971 msgid "" "<xref linkend=\"ports\"/> has been expanded to contain additional " "information about binary package management." msgstr "<xref linkend=\"ports\"/> 新增了介紹如何管理 Binary 套件的資訊。" #. (itstool) path: listitem/para -#: book.translate.xml:974 +#: book.translate.xml:977 msgid "" "<xref linkend=\"x11\"/> has been completely rewritten with an emphasis on " "using modern desktop technologies such as <application>KDE</application> and " @@ -638,12 +638,12 @@ msgstr "" "<application>GNOME</application>。" #. (itstool) path: listitem/para -#: book.translate.xml:981 +#: book.translate.xml:984 msgid "<xref linkend=\"boot\"/> has been expanded." msgstr "<xref linkend=\"boot\"/> 更新相關內容。" #. (itstool) path: listitem/para -#: book.translate.xml:985 +#: book.translate.xml:988 msgid "" "<xref linkend=\"disks\"/> has been written from what used to be two separate " "chapters on <quote>Disks</quote> and <quote>Backups</quote>. We feel that " @@ -655,7 +655,7 @@ msgstr "" "體、軟體 RAID) 的段落也新增上去了。" #. (itstool) path: listitem/para -#: book.translate.xml:994 +#: book.translate.xml:997 msgid "" "<xref linkend=\"serialcomms\"/> has been completely reorganized and updated " "for FreeBSD 4.X/5.X." @@ -664,18 +664,18 @@ msgstr "" "容。" #. (itstool) path: listitem/para -#: book.translate.xml:999 +#: book.translate.xml:1002 msgid "<xref linkend=\"ppp-and-slip\"/> has been substantially updated." msgstr "<xref linkend=\"ppp-and-slip\"/> 有相當程度的更新。" #. (itstool) path: listitem/para -#: book.translate.xml:1004 +#: book.translate.xml:1007 msgid "" "Many new sections have been added to <xref linkend=\"advanced-networking\"/>." msgstr "<xref linkend=\"advanced-networking\"/> 加入許多新內容。" #. (itstool) path: listitem/para -#: book.translate.xml:1008 +#: book.translate.xml:1011 msgid "" "<xref linkend=\"mail\"/> has been expanded to include more information about " "configuring <application>sendmail</application>." @@ -684,7 +684,7 @@ msgstr "" "的介紹。" #. (itstool) path: listitem/para -#: book.translate.xml:1014 +#: book.translate.xml:1017 msgid "" "<xref linkend=\"linuxemu\"/> has been expanded to include information about " "installing <application><trademark class=\"registered\">Oracle</trademark></" @@ -697,28 +697,28 @@ msgstr "" "trademark></application> 的介紹。" #. (itstool) path: listitem/para -#: book.translate.xml:1021 +#: book.translate.xml:1024 msgid "The following new topics are covered in this second edition:" msgstr "此外,第二版還新加章節,以介紹下列新主題:" #. (itstool) path: listitem/para -#: book.translate.xml:1026 +#: book.translate.xml:1029 msgid "<xref linkend=\"config-tuning\"/>." msgstr "<xref linkend=\"config-tuning\"/>。" #. (itstool) path: listitem/para -#: book.translate.xml:1030 +#: book.translate.xml:1033 msgid "<xref linkend=\"multimedia\"/>." msgstr "<xref linkend=\"multimedia\"/>。" #. (itstool) path: preface/bridgehead #. (itstool) id: book.translate.xml#preface-overview -#: book.translate.xml:1036 +#: book.translate.xml:1039 msgid "Organization of This Book" msgstr "本書架構" #. (itstool) path: preface/para -#: book.translate.xml:1038 +#: book.translate.xml:1041 msgid "" "This book is split into five logically distinct sections. The first section, " "<emphasis>Getting Started</emphasis>, covers the installation and basic " @@ -743,14 +743,14 @@ msgstr "" "則包括網路和各式伺服器主題;而第五部分則為附錄包含各種有關 FreeBSD 的資源。" #. (itstool) path: listitem/para -#: book.translate.xml:1063 +#: book.translate.xml:1066 msgid "" "Introduces FreeBSD to a new user. It describes the history of the FreeBSD " "Project, its goals and development model." msgstr "向新手介紹 FreeBSD。該篇說明了 FreeBSD 計劃的歷史、目標和開發模式。" #. (itstool) path: listitem/para -#: book.translate.xml:1073 +#: book.translate.xml:1076 msgid "" "Walks a user through the entire installation process of FreeBSD 9." "<replaceable>x</replaceable> and later using <application>bsdinstall</" @@ -760,7 +760,7 @@ msgstr "" "<replaceable>x</replaceable> 及之後版本的完整安裝流程。" #. (itstool) path: listitem/para -#: book.translate.xml:1083 +#: book.translate.xml:1086 msgid "" "Covers the basic commands and functionality of the FreeBSD operating system. " "If you are familiar with <trademark class=\"registered\">Linux</trademark> " @@ -771,7 +771,7 @@ msgstr "" "\">Linux</trademark> 或其他類 UNIX® 系統,您則可跳過此章。" #. (itstool) path: listitem/para -#: book.translate.xml:1094 +#: book.translate.xml:1097 msgid "" "Covers the installation of third-party software with both FreeBSD's " "innovative <quote>Ports Collection</quote> and standard binary packages." @@ -780,7 +780,7 @@ msgstr "" "第三方軟體。" #. (itstool) path: listitem/para -#: book.translate.xml:1104 +#: book.translate.xml:1107 msgid "" "Describes the X Window System in general and using X11 on FreeBSD in " "particular. Also describes common desktop environments such as " @@ -790,7 +790,7 @@ msgstr "" "<application>KDE</application> 與 <application>GNOME</application>。" #. (itstool) path: listitem/para -#: book.translate.xml:1117 +#: book.translate.xml:1120 msgid "" "Lists some common desktop applications, such as web browsers and " "productivity suites, and describes how to install them on FreeBSD." @@ -799,7 +799,7 @@ msgstr "" "程式到 FreeBSD。" #. (itstool) path: listitem/para -#: book.translate.xml:1126 +#: book.translate.xml:1129 msgid "" "Shows how to set up sound and video playback support for your system. Also " "describes some sample audio and video applications." @@ -808,14 +808,14 @@ msgstr "" "用程式。" #. (itstool) path: listitem/para -#: book.translate.xml:1136 +#: book.translate.xml:1139 msgid "" "Explains why you might need to configure a new kernel and provides detailed " "instructions for configuring, building, and installing a custom kernel." msgstr "說明為何需要設定新的核心並會提供設定、編譯與安裝的詳細操作說明。" #. (itstool) path: listitem/para -#: book.translate.xml:1146 +#: book.translate.xml:1149 msgid "" "Describes managing printers on FreeBSD, including information about banner " "pages, printer accounting, and initial setup." @@ -823,7 +823,7 @@ msgstr "" "介紹如何在 FreeBSD 管理印表機,包含橫幅頁面、列印帳務以及初始設定等資訊。" #. (itstool) path: listitem/para -#: book.translate.xml:1156 +#: book.translate.xml:1159 msgid "" "Describes the <trademark class=\"registered\">Linux</trademark> " "compatibility features of FreeBSD. Also provides detailed installation " @@ -839,7 +839,7 @@ msgstr "" "\"registered\">Mathematica</trademark></application>。" #. (itstool) path: listitem/para -#: book.translate.xml:1170 +#: book.translate.xml:1173 msgid "" "Describes the parameters available for system administrators to tune a " "FreeBSD system for optimum performance. Also describes the various " @@ -849,14 +849,14 @@ msgstr "" "FreeBSD 用到的各種設定檔以及到何處尋找這些設定檔。" #. (itstool) path: listitem/para -#: book.translate.xml:1181 +#: book.translate.xml:1184 msgid "" "Describes the FreeBSD boot process and explains how to control this process " "with configuration options." msgstr "介紹 FreeBSD 開機流程並說明如何使用設定選項控制開機流程。" #. (itstool) path: listitem/para -#: book.translate.xml:1190 +#: book.translate.xml:1193 msgid "" "Describes many different tools available to help keep your FreeBSD system " "secure, including Kerberos, IPsec and OpenSSH." @@ -865,7 +865,7 @@ msgstr "" "OpenSSH。" #. (itstool) path: listitem/para -#: book.translate.xml:1200 +#: book.translate.xml:1203 msgid "" "Describes the jails framework, and the improvements of jails over the " "traditional chroot support of FreeBSD." @@ -873,7 +873,7 @@ msgstr "" "介紹 Jail Framework,以及 Jail 改進那些 FreeBSD 傳統 chroot 不足的地方。" #. (itstool) path: listitem/para -#: book.translate.xml:1209 +#: book.translate.xml:1212 msgid "" "Explains what Mandatory Access Control (MAC) is and how this mechanism can " "be used to secure a FreeBSD system." @@ -882,7 +882,7 @@ msgstr "" "保 FreeBSD 系統的安全。" #. (itstool) path: listitem/para -#: book.translate.xml:1219 +#: book.translate.xml:1222 msgid "" "Describes what FreeBSD Event Auditing is, how it can be installed, " "configured, and how audit trails can be inspected or monitored." @@ -890,7 +890,7 @@ msgstr "" "介紹什麼事 FreeBSD 事件稽查,如何安裝與設定,以及如何檢查與監控稽查線索。" #. (itstool) path: listitem/para -#: book.translate.xml:1229 +#: book.translate.xml:1232 msgid "" "Describes how to manage storage media and filesystems with FreeBSD. This " "includes physical disks, RAID arrays, optical and tape media, memory-backed " @@ -900,7 +900,7 @@ msgstr "" "與磁帶媒體、記憶體為基礎的磁碟以及網路檔案系統。" #. (itstool) path: listitem/para -#: book.translate.xml:1240 +#: book.translate.xml:1243 msgid "" "Describes what the GEOM framework in FreeBSD is and how to configure various " "supported RAID levels." @@ -908,7 +908,7 @@ msgstr "" "介紹在 FreeBSD 中的 GEOM Framework 是什麼,以及如何設定各種支援的 RAID 階層。" #. (itstool) path: listitem/para -#: book.translate.xml:1249 +#: book.translate.xml:1252 msgid "" "Examines support of non-native file systems in FreeBSD, like the Z File " "System from <trademark>Sun</trademark>." @@ -917,21 +917,21 @@ msgstr "" "案系統。" #. (itstool) path: listitem/para -#: book.translate.xml:1258 +#: book.translate.xml:1261 msgid "" "Describes what virtualization systems offer, and how they can be used with " "FreeBSD." msgstr "介紹虛擬化系統提供了那些功能,以及如何在 FreeBSD 上使用。" #. (itstool) path: listitem/para -#: book.translate.xml:1267 +#: book.translate.xml:1270 msgid "" "Describes how to use FreeBSD in languages other than English. Covers both " "system and application level localization." msgstr "介紹如何在 FreeBSD 使用非英文的語言,這涵蓋了系統及應用層的在地化。" #. (itstool) path: listitem/para -#: book.translate.xml:1277 +#: book.translate.xml:1280 msgid "" "Explains the differences between FreeBSD-STABLE, FreeBSD-CURRENT, and " "FreeBSD releases. Describes which users would benefit from tracking a " @@ -943,7 +943,7 @@ msgstr "" "佈版本的方法。" #. (itstool) path: listitem/para -#: book.translate.xml:1290 +#: book.translate.xml:1293 msgid "" "Describes how to configure and use the DTrace tool from <trademark>Sun</" "trademark> in FreeBSD. Dynamic tracing can help locate performance issues, " @@ -953,19 +953,19 @@ msgstr "" "追蹤可以透過執行真實時間系統分析來協助定位效能問題。" #. (itstool) path: listitem/para -#: book.translate.xml:1303 +#: book.translate.xml:1306 msgid "" "Explains how to connect terminals and modems to your FreeBSD system for both " "dial in and dial out connections." msgstr "介紹如何使用撥入及撥出連線到您的 FreeBSD 系統的終端機與數據機。" #. (itstool) path: listitem/para -#: book.translate.xml:1313 +#: book.translate.xml:1316 msgid "Describes how to use PPP to connect to remote systems with FreeBSD." msgstr "介紹如何在 FreeBSD 使用 PPP 來連線遠端的系統。" #. (itstool) path: listitem/para -#: book.translate.xml:1322 +#: book.translate.xml:1325 msgid "" "Explains the different components of an email server and dives into simple " "configuration topics for the most popular mail server software: " @@ -975,7 +975,7 @@ msgstr "" "<application>sendmail</application>。" #. (itstool) path: listitem/para -#: book.translate.xml:1333 +#: book.translate.xml:1336 msgid "" "Provides detailed instructions and example configuration files to set up " "your FreeBSD machine as a network filesystem server, domain name server, " @@ -985,7 +985,7 @@ msgstr "" "網域名稱伺服器、網路資訊系統伺服器或時間同步伺服器。" #. (itstool) path: listitem/para -#: book.translate.xml:1344 +#: book.translate.xml:1347 msgid "" "Explains the philosophy behind software-based firewalls and provides " "detailed information about the configuration of the different firewalls " @@ -995,7 +995,7 @@ msgstr "" "細資訊。" #. (itstool) path: listitem/para -#: book.translate.xml:1354 +#: book.translate.xml:1357 msgid "" "Describes many networking topics, including sharing an Internet connection " "with other computers on your LAN, advanced routing topics, wireless " @@ -1007,7 +1007,7 @@ msgstr "" "ATM、IPv6 以及更多相關主題。" #. (itstool) path: listitem/para -#: book.translate.xml:1367 +#: book.translate.xml:1370 msgid "" "Lists different sources for obtaining FreeBSD media on CDROM or DVD as well " "as different sites on the Internet that allow you to download and install " @@ -1017,7 +1017,7 @@ msgstr "" "您可以下載並安裝 FreeBSD。" #. (itstool) path: listitem/para -#: book.translate.xml:1377 +#: book.translate.xml:1380 msgid "" "This book touches on many different subjects that may leave you hungry for a " "more detailed explanation. The bibliography lists many excellent books that " @@ -1027,7 +1027,7 @@ msgstr "" "多優秀書籍。" #. (itstool) path: listitem/para -#: book.translate.xml:1388 +#: book.translate.xml:1391 msgid "" "Describes the many forums available for FreeBSD users to post questions and " "engage in technical conversations about FreeBSD." @@ -1035,18 +1035,18 @@ msgstr "" "介紹了可讓 FreeBSD 使用者提出問題以及參與有關 FreeBSD 技術會談的許多論壇。" #. (itstool) path: listitem/para -#: book.translate.xml:1398 +#: book.translate.xml:1401 msgid "Lists the PGP fingerprints of several FreeBSD Developers." msgstr "列出了數個 FreeBSD 開發人員的 PGP 指紋。" #. (itstool) path: preface/bridgehead #. (itstool) id: book.translate.xml#preface-conv -#: book.translate.xml:1404 +#: book.translate.xml:1407 msgid "Conventions used in this book" msgstr "本書的編排體裁" #. (itstool) path: preface/para -#: book.translate.xml:1407 +#: book.translate.xml:1410 msgid "" "To provide a consistent and easy to read text, several conventions are " "followed throughout the book." @@ -1054,17 +1054,17 @@ msgstr "為方便閱讀本書,以下是一些本書所遵循的編排體裁: #. (itstool) path: preface/bridgehead #. (itstool) id: book.translate.xml#preface-conv-typographic -#: book.translate.xml:1410 +#: book.translate.xml:1413 msgid "Typographic Conventions" msgstr "文字編排體裁" #. (itstool) path: varlistentry/term -#: book.translate.xml:1414 +#: book.translate.xml:1417 msgid "<emphasis>Italic</emphasis>" msgstr "<emphasis>斜體字</emphasis>" #. (itstool) path: listitem/para -#: book.translate.xml:1417 +#: book.translate.xml:1420 msgid "" "An <emphasis>italic</emphasis> font is used for filenames, URLs, emphasized " "text, and the first usage of technical terms." @@ -1073,12 +1073,12 @@ msgstr "" "次提及的技術詞彙。" #. (itstool) path: varlistentry/term -#: book.translate.xml:1424 +#: book.translate.xml:1427 msgid "<literal>Monospace</literal>" msgstr "<literal>等寬字</literal>" #. (itstool) path: listitem/para -#: book.translate.xml:1427 +#: book.translate.xml:1430 msgid "" "A <literal>monospaced</literal> font is used for error messages, commands, " "environment variables, names of ports, hostnames, user names, group names, " @@ -1088,24 +1088,24 @@ msgstr "" "稱、帳號、群組、裝置名稱、變數、程式碼等。" #. (itstool) path: varlistentry/term -#: book.translate.xml:1435 +#: book.translate.xml:1438 msgid "<application>Bold</application>" msgstr "<application>粗體字</application>" #. (itstool) path: listitem/para -#: book.translate.xml:1438 +#: book.translate.xml:1441 msgid "" "A <keycap>bold</keycap> font is used for applications, commands, and keys." msgstr "以<keycap>粗體字</keycap>表示:應用程式、指令、按鍵。" #. (itstool) path: preface/bridgehead #. (itstool) id: book.translate.xml#preface-conv-commands -#: book.translate.xml:1445 +#: book.translate.xml:1448 msgid "User Input" msgstr "使用者輸入" #. (itstool) path: preface/para -#: book.translate.xml:1448 +#: book.translate.xml:1451 msgid "" "Keys are shown in <keycap>bold</keycap> to stand out from other text. Key " "combinations that are meant to be typed simultaneously are shown with " @@ -1115,14 +1115,14 @@ msgstr "" "按下一些按鍵,我們以 `<literal>+</literal>' 來表示連接,像是:" #. (itstool) path: preface/para -#: book.translate.xml:1453 +#: book.translate.xml:1456 msgid "" "<keycombo action=\"simul\"> <keycap>Ctrl</keycap> <keycap>Alt</keycap> " "<keycap>Del</keycap></keycombo>" msgstr "" #. (itstool) path: preface/para -#: book.translate.xml:1459 +#: book.translate.xml:1462 msgid "" "Meaning the user should type the <keycap>Ctrl</keycap>, <keycap>Alt</" "keycap>, and <keycap>Del</keycap> keys at the same time." @@ -1131,14 +1131,14 @@ msgstr "" "keycap> 鍵。" #. (itstool) path: preface/para -#: book.translate.xml:1463 +#: book.translate.xml:1466 msgid "" "Keys that are meant to be typed in sequence will be separated with commas, " "for example:" msgstr "若要逐一按鍵,那麼會以逗號 (,) 來表示,像是:" #. (itstool) path: preface/para -#: book.translate.xml:1466 +#: book.translate.xml:1469 msgid "" "<keycombo action=\"simul\"> <keycap>Ctrl</keycap> <keycap>X</keycap> </" "keycombo>, <keycombo action=\"simul\"> <keycap>Ctrl</keycap> <keycap>S</" @@ -1146,7 +1146,7 @@ msgid "" msgstr "" #. (itstool) path: preface/para -#: book.translate.xml:1475 +#: book.translate.xml:1478 msgid "" "Would mean that the user is expected to type the <keycap>Ctrl</keycap> and " "<keycap>X</keycap> keys simultaneously and then to type the <keycap>Ctrl</" @@ -1157,12 +1157,12 @@ msgstr "" #. (itstool) path: preface/bridgehead #. (itstool) id: book.translate.xml#preface-conv-examples -#: book.translate.xml:1481 +#: book.translate.xml:1484 msgid "Examples" msgstr "範例" #. (itstool) path: preface/para -#: book.translate.xml:1483 +#: book.translate.xml:1486 msgid "" "Examples starting with <filename>C:\\></filename> indicate a <trademark " "class=\"registered\">MS-DOS</trademark> command. Unless otherwise noted, " @@ -1177,13 +1177,13 @@ msgstr "" "Prompt)</quote> 視窗內執行。" #. (itstool) path: preface/screen -#: book.translate.xml:1489 +#: book.translate.xml:1492 #, no-wrap msgid "<prompt>E:\\></prompt> <userinput>tools\\fdimage floppies\\kern.flp A:</userinput>" msgstr "" #. (itstool) path: preface/para -#: book.translate.xml:1491 +#: book.translate.xml:1494 msgid "" "Examples starting with <prompt>#</prompt> indicate a command that must be " "invoked as the superuser in FreeBSD. You can login as <systemitem class=" @@ -1197,13 +1197,13 @@ msgstr "" "refentrytitle><manvolnum>1</manvolnum></citerefentry> 來取得超級使用者權限。" #. (itstool) path: preface/screen -#: book.translate.xml:1497 +#: book.translate.xml:1500 #, no-wrap msgid "<prompt>#</prompt> <userinput>dd if=kern.flp of=/dev/fd0</userinput>" msgstr "" #. (itstool) path: preface/para -#: book.translate.xml:1499 +#: book.translate.xml:1502 msgid "" "Examples starting with <prompt>%</prompt> indicate a command that should be " "invoked from a normal user account. Unless otherwise noted, C-shell syntax " @@ -1214,19 +1214,19 @@ msgstr "" "其他指令的意思。" #. (itstool) path: preface/screen -#: book.translate.xml:1504 +#: book.translate.xml:1507 #, no-wrap msgid "<prompt>%</prompt> <userinput>top</userinput>" msgstr "" #. (itstool) path: preface/bridgehead #. (itstool) id: book.translate.xml#preface-acknowledgements -#: book.translate.xml:1506 +#: book.translate.xml:1509 msgid "Acknowledgments" msgstr "銘謝" #. (itstool) path: preface/para -#: book.translate.xml:1508 +#: book.translate.xml:1511 msgid "" "The book you are holding represents the efforts of many hundreds of people " "around the world. Whether they sent in fixes for typos, or submitted " @@ -1236,7 +1236,7 @@ msgstr "" "糾正一些錯誤或提交完整的章節,所有的點滴貢獻都是非常寶貴有用的。" #. (itstool) path: preface/para -#: book.translate.xml:1513 +#: book.translate.xml:1516 msgid "" "Several companies have supported the development of this document by paying " "authors to work on it full-time, paying for publication, etc. In particular, " @@ -1262,43 +1262,43 @@ msgstr "" "手冊以使第三版印刷版本能夠出版的志工。" #. (itstool) path: part/title -#: book.translate.xml:1532 +#: book.translate.xml:1535 msgid "Getting Started" msgstr "入門" #. (itstool) path: partintro/para -#: book.translate.xml:1535 +#: book.translate.xml:1538 msgid "" "This part of the handbook is for users and administrators who are new to " "FreeBSD. These chapters:" msgstr "這部份是提供給初次使用 FreeBSD 的使用者和系統管理者。 這些章節包括:" #. (itstool) path: listitem/para -#: book.translate.xml:1540 +#: book.translate.xml:1543 msgid "Introduce FreeBSD." msgstr "介紹 FreeBSD 給您。" #. (itstool) path: listitem/para -#: book.translate.xml:1544 +#: book.translate.xml:1547 msgid "Guide readers through the installation process." msgstr "在安裝過程給您指引。" #. (itstool) path: listitem/para -#: book.translate.xml:1548 +#: book.translate.xml:1551 msgid "" "Teach <trademark class=\"registered\">UNIX</trademark> basics and " "fundamentals." msgstr "教您 <trademark class=\"registered\">UNIX</trademark> 的基礎及原理。" #. (itstool) path: listitem/para -#: book.translate.xml:1552 +#: book.translate.xml:1555 msgid "" "Show how to install the wealth of third party applications available for " "FreeBSD." msgstr "展示給您看如何安裝豐富的 FreeBSD 的應用軟體。" #. (itstool) path: listitem/para -#: book.translate.xml:1557 +#: book.translate.xml:1560 msgid "" "Introduce X, the <trademark class=\"registered\">UNIX</trademark> windowing " "system, and detail how to configure a desktop environment that makes users " @@ -1308,7 +1308,7 @@ msgstr "" "細的桌面環境設定,讓您更有生產力。" #. (itstool) path: partintro/para -#: book.translate.xml:1563 +#: book.translate.xml:1566 msgid "" "The number of forward references in the text have been kept to a minimum so " "that this section can be read from front to back with minimal page flipping." @@ -1319,12 +1319,12 @@ msgstr "" #. (itstool) path: info/title #. (itstool) path: sect1/title #. (itstool) path: sect2/title -#: book.translate.xml:1577 book.translate.xml:23667 book.translate.xml:65535 +#: book.translate.xml:1580 book.translate.xml:23692 book.translate.xml:65535 msgid "Introduction" msgstr "簡介" #. (itstool) path: authorgroup/author -#: book.translate.xml:1580 book.translate.xml:2833 +#: book.translate.xml:1583 book.translate.xml:2848 msgid "" "<personname> <firstname>Jim</firstname> <surname>Mock</surname> </" "personname> <contrib>Restructured, reorganized, and parts rewritten by </" @@ -1332,21 +1332,21 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:1592 book.translate.xml:2888 book.translate.xml:5491 -#: book.translate.xml:8880 book.translate.xml:10544 book.translate.xml:12714 -#: book.translate.xml:13836 book.translate.xml:15442 book.translate.xml:17924 -#: book.translate.xml:19181 book.translate.xml:22666 book.translate.xml:23579 -#: book.translate.xml:27649 book.translate.xml:29259 book.translate.xml:31027 -#: book.translate.xml:31761 book.translate.xml:35414 book.translate.xml:41346 -#: book.translate.xml:41553 book.translate.xml:42855 book.translate.xml:43895 -#: book.translate.xml:46044 book.translate.xml:46429 book.translate.xml:48632 -#: book.translate.xml:50300 book.translate.xml:52213 book.translate.xml:57939 -#: book.translate.xml:61626 +#: book.translate.xml:1595 book.translate.xml:2903 book.translate.xml:5506 +#: book.translate.xml:8895 book.translate.xml:10559 book.translate.xml:12728 +#: book.translate.xml:13850 book.translate.xml:15456 book.translate.xml:17938 +#: book.translate.xml:19206 book.translate.xml:22691 book.translate.xml:23604 +#: book.translate.xml:27703 book.translate.xml:29313 book.translate.xml:31081 +#: book.translate.xml:31815 book.translate.xml:35468 book.translate.xml:41400 +#: book.translate.xml:41607 book.translate.xml:42909 book.translate.xml:43949 +#: book.translate.xml:46098 book.translate.xml:46483 book.translate.xml:48686 +#: book.translate.xml:50354 book.translate.xml:52267 book.translate.xml:57993 +#: book.translate.xml:61680 msgid "Synopsis" msgstr "概述" #. (itstool) path: sect1/para -#: book.translate.xml:1594 +#: book.translate.xml:1597 msgid "" "Thank you for your interest in FreeBSD! The following chapter covers various " "aspects of the FreeBSD Project, such as its history, goals, development " @@ -1356,55 +1356,55 @@ msgstr "" "史、目標、開發模式等等。" #. (itstool) path: sect1/para -#: book.translate.xml:1598 book.translate.xml:2915 book.translate.xml:5498 -#: book.translate.xml:8892 book.translate.xml:10565 book.translate.xml:15455 -#: book.translate.xml:17946 book.translate.xml:19195 book.translate.xml:23592 -#: book.translate.xml:27721 book.translate.xml:29286 book.translate.xml:31051 -#: book.translate.xml:31769 book.translate.xml:35440 book.translate.xml:41378 -#: book.translate.xml:41561 book.translate.xml:43907 book.translate.xml:46082 -#: book.translate.xml:46440 book.translate.xml:48643 book.translate.xml:50311 -#: book.translate.xml:57994 book.translate.xml:61631 +#: book.translate.xml:1601 book.translate.xml:2930 book.translate.xml:5513 +#: book.translate.xml:8907 book.translate.xml:10580 book.translate.xml:15469 +#: book.translate.xml:17964 book.translate.xml:19220 book.translate.xml:23617 +#: book.translate.xml:27775 book.translate.xml:29340 book.translate.xml:31105 +#: book.translate.xml:31823 book.translate.xml:35494 book.translate.xml:41432 +#: book.translate.xml:41615 book.translate.xml:43961 book.translate.xml:46136 +#: book.translate.xml:46494 book.translate.xml:48697 book.translate.xml:50365 +#: book.translate.xml:58048 book.translate.xml:61685 msgid "After reading this chapter, you will know:" msgstr "讀完這章,您將了解︰" #. (itstool) path: listitem/para -#: book.translate.xml:1602 +#: book.translate.xml:1605 msgid "How FreeBSD relates to other computer operating systems." msgstr "FreeBSD 與其他作業系統之間的關係。" #. (itstool) path: listitem/para -#: book.translate.xml:1607 +#: book.translate.xml:1610 msgid "The history of the FreeBSD Project." msgstr "FreeBSD 計劃的歷史。" #. (itstool) path: listitem/para -#: book.translate.xml:1611 +#: book.translate.xml:1614 msgid "The goals of the FreeBSD Project." msgstr "FreeBSD 計劃的目標。" #. (itstool) path: listitem/para -#: book.translate.xml:1615 +#: book.translate.xml:1618 msgid "The basics of the FreeBSD open-source development model." msgstr "FreeBSD 開源開發模式的基礎概念。" #. (itstool) path: listitem/para -#: book.translate.xml:1620 +#: book.translate.xml:1623 msgid "And of course: where the name <quote>FreeBSD</quote> comes from." msgstr "當然囉,還有 <quote>FreeBSD</quote> 這名字的由來。" #. (itstool) path: sect1/title -#: book.translate.xml:1627 +#: book.translate.xml:1630 msgid "Welcome to FreeBSD!" -msgstr "歡迎使用 FreeBSD!" +msgstr "歡迎使用 FreeBSD!" #. (itstool) path: sect1/indexterm #. (itstool) path: para/indexterm -#: book.translate.xml:1629 book.translate.xml:1798 +#: book.translate.xml:1632 book.translate.xml:1801 msgid "<primary>4.4BSD-Lite</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:1631 +#: book.translate.xml:1634 msgid "" "FreeBSD is a 4.4BSD-Lite based operating system for Intel (x86 and " "<trademark class=\"registered\">Itanium</trademark>), AMD64, Sun <trademark " @@ -1427,22 +1427,22 @@ msgstr "" "對 FreeBSD 貢獻</link>。" #. (itstool) path: sect2/title -#: book.translate.xml:1641 +#: book.translate.xml:1644 msgid "What Can FreeBSD Do?" msgstr "FreeBSD 能做什麼?" #. (itstool) path: sect2/para -#: book.translate.xml:1643 +#: book.translate.xml:1646 msgid "FreeBSD has many noteworthy features. Some of these are:" msgstr "FreeBSD 提供給你許多先進功能。這些功能包括:" #. (itstool) path: para/indexterm -#: book.translate.xml:1649 +#: book.translate.xml:1652 msgid "<primary>preemptive multitasking</primary>" msgstr "<primary>先佔式多工</primary>" #. (itstool) path: listitem/para -#: book.translate.xml:1648 +#: book.translate.xml:1651 msgid "" "<emphasis>Preemptive multitasking</emphasis> <_:indexterm-1/> with dynamic " "priority adjustment to ensure smooth and fair sharing of the computer " @@ -1452,12 +1452,12 @@ msgstr "" "即使在系統負擔很重的情況下,程式執行平順並且應用程式與使用者公平地共享資源。" #. (itstool) path: para/indexterm -#: book.translate.xml:1658 +#: book.translate.xml:1661 msgid "<primary>multi-user facilities</primary>" msgstr "<primary>多人共用</primary>" #. (itstool) path: listitem/para -#: book.translate.xml:1658 +#: book.translate.xml:1661 msgid "" "<emphasis>Multi-user facilities</emphasis><_:indexterm-1/> which allow many " "people to use a FreeBSD system simultaneously for a variety of things. This " @@ -1472,12 +1472,12 @@ msgstr "" "保護系統不致被過度使用。" #. (itstool) path: para/indexterm -#: book.translate.xml:1671 +#: book.translate.xml:1674 msgid "<primary>TCP/IP networking</primary>" msgstr "TCP/IP 網路" #. (itstool) path: listitem/para -#: book.translate.xml:1670 +#: book.translate.xml:1673 msgid "" "Strong <emphasis>TCP/IP networking</emphasis><_:indexterm-1/> with support " "for industry standards such as SCTP, DHCP, NFS, NIS, PPP, SLIP, IPsec, and " @@ -1494,12 +1494,12 @@ msgstr "" "供 WWW、FTP、路由及防火牆 (安全性) 等必備服務。" #. (itstool) path: para/indexterm -#: book.translate.xml:1684 +#: book.translate.xml:1687 msgid "<primary>memory protection</primary>" msgstr "<primary>記憶體保護</primary>" #. (itstool) path: listitem/para -#: book.translate.xml:1684 +#: book.translate.xml:1687 msgid "" "<emphasis>Memory protection</emphasis><_:indexterm-1/> ensures that " "applications (or users) cannot interfere with each other. One application " @@ -1509,12 +1509,12 @@ msgstr "" "程式有不正常的運作,都不會影響其他程式的執行。" #. (itstool) path: para/indexterm -#: book.translate.xml:1693 book.translate.xml:1936 +#: book.translate.xml:1696 book.translate.xml:1939 msgid "<primary>X Window System</primary>" msgstr "<primary>X Window 系統</primary>" #. (itstool) path: listitem/para -#: book.translate.xml:1692 +#: book.translate.xml:1695 msgid "" "The industry standard <emphasis>X Window System</emphasis><_:indexterm-1/> " "(X11R7) can provide a graphical user interface (GUI) on any machine and " @@ -1526,32 +1526,32 @@ msgstr "" #. (itstool) path: para/indexterm #. (itstool) path: sect1/indexterm -#: book.translate.xml:1702 book.translate.xml:17929 +#: book.translate.xml:1705 book.translate.xml:17943 msgid "<primary>binary compatibility</primary> <secondary>Linux</secondary>" msgstr "<primary>Binary 相容性</primary> <secondary>Linux</secondary>" #. (itstool) path: para/indexterm -#: book.translate.xml:1706 +#: book.translate.xml:1709 msgid "<primary>binary compatibility</primary> <secondary>SCO</secondary>" msgstr "<primary>Binary 相容性</primary> <secondary>SCO</secondary>" #. (itstool) path: para/indexterm -#: book.translate.xml:1710 +#: book.translate.xml:1713 msgid "<primary>binary compatibility</primary> <secondary>SVR4</secondary>" msgstr "<primary>Binary 相容性</primary> <secondary>SVR4</secondary>" #. (itstool) path: para/indexterm -#: book.translate.xml:1714 +#: book.translate.xml:1717 msgid "<primary>binary compatibility</primary> <secondary>BSD/OS</secondary>" msgstr "<primary>Binary 相容性</primary> <secondary>BSD/OS</secondary>" #. (itstool) path: para/indexterm -#: book.translate.xml:1718 +#: book.translate.xml:1721 msgid "<primary>binary compatibility</primary> <secondary>NetBSD</secondary>" msgstr "<primary>Binary 相容性</primary> <secondary>NetBSD</secondary>" #. (itstool) path: listitem/para -#: book.translate.xml:1701 +#: book.translate.xml:1704 msgid "" "<_:indexterm-1/> <_:indexterm-2/> <_:indexterm-3/> <_:indexterm-4/> <_:" "indexterm-5/> <emphasis>Binary compatibility</emphasis> with many programs " @@ -1562,7 +1562,7 @@ msgstr "" "(如: Linux、SCO、SVR4、BSDI 和 NetBSD) 的可執行檔。" #. (itstool) path: listitem/para -#: book.translate.xml:1728 +#: book.translate.xml:1731 msgid "" "Thousands of <emphasis>ready-to-run</emphasis> applications are available " "from the FreeBSD <emphasis>ports</emphasis> and <emphasis>packages</" @@ -1573,7 +1573,7 @@ msgstr "" "取得。 不再需要費心到網路上到處搜尋所需要的軟體。" #. (itstool) path: listitem/para -#: book.translate.xml:1736 +#: book.translate.xml:1739 msgid "" "Thousands of additional and <emphasis>easy-to-port</emphasis> applications " "are available on the Internet. FreeBSD is source code compatible with most " @@ -1586,12 +1586,12 @@ msgstr "" "行。" #. (itstool) path: para/indexterm -#: book.translate.xml:1745 +#: book.translate.xml:1748 msgid "<primary>virtual memory</primary>" msgstr "<primary>虛擬記憶體</primary>" #. (itstool) path: listitem/para -#: book.translate.xml:1744 +#: book.translate.xml:1747 msgid "" "Demand paged <emphasis>virtual memory</emphasis><_:indexterm-1/> and " "<quote>merged VM/buffer cache</quote> design efficiently satisfies " @@ -1603,12 +1603,12 @@ msgstr "" "維持與其他使用者的互動。" #. (itstool) path: para/indexterm -#: book.translate.xml:1754 +#: book.translate.xml:1757 msgid "<primary>Symmetric Multi-Processing (SMP)</primary>" msgstr "<primary>對稱多工處理 (SMP)</primary>" #. (itstool) path: listitem/para -#: book.translate.xml:1754 +#: book.translate.xml:1757 msgid "" "<emphasis>SMP</emphasis><_:indexterm-1/> support for machines with multiple " "CPUs." @@ -1617,17 +1617,17 @@ msgstr "" "多 CPU 的電腦系統。" #. (itstool) path: para/indexterm -#: book.translate.xml:1763 +#: book.translate.xml:1766 msgid "<primary>compilers</primary> <secondary>C</secondary>" msgstr "<primary>編譯器</primary> <secondary>C</secondary>" #. (itstool) path: para/indexterm -#: book.translate.xml:1767 +#: book.translate.xml:1770 msgid "<primary>compilers</primary> <secondary>C++</secondary>" msgstr "<primary>編譯器</primary> <secondary>C++</secondary>" #. (itstool) path: listitem/para -#: book.translate.xml:1762 +#: book.translate.xml:1765 msgid "" "<_:indexterm-1/> <_:indexterm-2/> A full complement of <emphasis>C</" "emphasis> and <emphasis>C++</emphasis> development tools. Many additional " @@ -1639,12 +1639,12 @@ msgstr "" "進階研發的程式語言也收集在 Port 和套件集。" #. (itstool) path: para/indexterm -#: book.translate.xml:1780 +#: book.translate.xml:1783 msgid "<primary>source code</primary>" msgstr "<primary>原始碼</primary>" #. (itstool) path: listitem/para -#: book.translate.xml:1780 +#: book.translate.xml:1783 msgid "" "<emphasis>Source code</emphasis><_:indexterm-1/> for the entire system means " "you have the greatest degree of control over your environment. Why be locked " @@ -1656,22 +1656,22 @@ msgstr "" "廠商擺佈呢?" #. (itstool) path: listitem/para -#: book.translate.xml:1789 +#: book.translate.xml:1792 msgid "Extensive <emphasis>online documentation</emphasis>." msgstr "廣泛且豐富的 <emphasis>線上文件</emphasis>。" #. (itstool) path: listitem/para -#: book.translate.xml:1794 +#: book.translate.xml:1797 msgid "<emphasis>And many more!</emphasis>" msgstr "<emphasis>當然囉,還不止如此!</emphasis>" #. (itstool) path: para/indexterm -#: book.translate.xml:1801 +#: book.translate.xml:1804 msgid "<primary>Computer Systems Research Group (CSRG)</primary>" msgstr "<primary>電腦系統研究組 (CSRG)</primary>" #. (itstool) path: sect2/para -#: book.translate.xml:1798 +#: book.translate.xml:1801 msgid "" "FreeBSD is based on the 4.4BSD-Lite<_:indexterm-1/> release from Computer " "Systems Research Group (CSRG)<_:indexterm-2/> at the University of " @@ -1690,7 +1690,7 @@ msgstr "" "時,FreeBSD 已經具備這樣的特質,並具有其他地方沒有的尖端功能。" #. (itstool) path: sect2/para -#: book.translate.xml:1812 +#: book.translate.xml:1815 msgid "" "The applications to which FreeBSD can be put are truly limited only by your " "own imagination. From software development to factory automation, inventory " @@ -1710,7 +1710,7 @@ msgstr "" "軟體,而且出現的數目是與日俱增。" #. (itstool) path: sect2/para -#: book.translate.xml:1824 +#: book.translate.xml:1827 msgid "" "Because the source code for FreeBSD itself is generally available, the " "system can also be customized to an almost unheard of degree for special " @@ -1723,7 +1723,7 @@ msgstr "" "地被修改。 以下提供一些人們使用 FreeBSD 的例子:" #. (itstool) path: listitem/para -#: book.translate.xml:1834 +#: book.translate.xml:1837 msgid "" "<emphasis>Internet Services:</emphasis> The robust TCP/IP networking built " "into FreeBSD makes it an ideal platform for a variety of Internet services " @@ -1733,34 +1733,34 @@ msgstr "" "務 (如下例) 的理想平台:" #. (itstool) path: para/indexterm -#: book.translate.xml:1841 +#: book.translate.xml:1844 msgid "<primary>web servers</primary>" msgstr "<primary>網頁伺服器</primary>" #. (itstool) path: listitem/para -#: book.translate.xml:1841 +#: book.translate.xml:1844 msgid "World Wide Web servers<_:indexterm-1/> (standard or secure [SSL])" msgstr "全球資訊網伺服器<_:indexterm-1/> (標準的或更安全的 [SSL])" #. (itstool) path: listitem/para -#: book.translate.xml:1848 +#: book.translate.xml:1851 msgid "IPv4 and IPv6 routing" msgstr "IPv4 及 IPv6 路由" #. (itstool) path: para/indexterm #. (itstool) path: chapter/indexterm -#: book.translate.xml:1852 book.translate.xml:57930 +#: book.translate.xml:1855 book.translate.xml:57984 msgid "<primary>firewall</primary>" msgstr "<primary>防火牆</primary>" #. (itstool) path: para/indexterm #. (itstool) path: sect2/indexterm -#: book.translate.xml:1855 book.translate.xml:61096 +#: book.translate.xml:1858 book.translate.xml:61150 msgid "<primary>NAT</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:1852 +#: book.translate.xml:1855 msgid "" "Firewalls<_:indexterm-1/> and NAT<_:indexterm-2/> (<quote>IP masquerading</" "quote>) gateways" @@ -1769,38 +1769,38 @@ msgstr "" "閘。" #. (itstool) path: para/indexterm -#: book.translate.xml:1862 +#: book.translate.xml:1865 msgid "<primary>FTP servers</primary>" msgstr "<primary>FTP 伺服器</primary>" #. (itstool) path: listitem/para -#: book.translate.xml:1862 +#: book.translate.xml:1865 msgid "FTP servers<_:indexterm-1/>" msgstr "檔案傳輸協定伺服器<_:indexterm-1/>" #. (itstool) path: para/indexterm -#: book.translate.xml:1869 +#: book.translate.xml:1872 msgid "<primary>electronic mail</primary> <see>email</see>" msgstr "<primary>電子郵件</primary> <see>email</see>" #. (itstool) path: para/indexterm #. (itstool) path: sect1/indexterm -#: book.translate.xml:1873 book.translate.xml:50302 +#: book.translate.xml:1876 book.translate.xml:50356 msgid "<primary>email</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:1868 +#: book.translate.xml:1871 msgid "<_:indexterm-1/> <_:indexterm-2/> Electronic Mail servers" msgstr "<_:indexterm-1/><_:indexterm-2/> 電子郵件伺服器" #. (itstool) path: listitem/para -#: book.translate.xml:1880 +#: book.translate.xml:1883 msgid "And more..." msgstr "還有更多..." #. (itstool) path: listitem/para -#: book.translate.xml:1886 +#: book.translate.xml:1889 msgid "" "<emphasis>Education:</emphasis> Are you a student of computer science or a " "related engineering field? There is no better way of learning about " @@ -1816,7 +1816,7 @@ msgstr "" "等可以免費地取得使用。" #. (itstool) path: listitem/para -#: book.translate.xml:1898 +#: book.translate.xml:1901 msgid "" "<emphasis>Research:</emphasis> With source code for the entire system " "available, FreeBSD is an excellent platform for research in operating " @@ -1831,17 +1831,17 @@ msgstr "" #. (itstool) path: para/indexterm #. (itstool) path: sect2/indexterm -#: book.translate.xml:1910 book.translate.xml:61979 +#: book.translate.xml:1913 book.translate.xml:62033 msgid "<primary>router</primary>" msgstr "<primary>路由器</primary>" #. (itstool) path: para/indexterm -#: book.translate.xml:1912 +#: book.translate.xml:1915 msgid "<primary>DNS Server</primary>" msgstr "<primary>DNS 伺服器</primary>" #. (itstool) path: listitem/para -#: book.translate.xml:1909 +#: book.translate.xml:1912 msgid "" "<emphasis>Networking:</emphasis> Need a new router?<_:indexterm-1/> A name " "server (DNS)?<_:indexterm-2/> A firewall to keep people out of your internal " @@ -1853,12 +1853,12 @@ msgstr "" "或 486 PC 變身成為絕佳的伺服器,甚至具有過濾封包的功能。" #. (itstool) path: para/indexterm -#: book.translate.xml:1923 +#: book.translate.xml:1926 msgid "<primary>embedded</primary>" msgstr "<primary>嵌入式</primary>" #. (itstool) path: listitem/para -#: book.translate.xml:1921 +#: book.translate.xml:1924 msgid "" "<emphasis>Embedded:</emphasis> FreeBSD makes an excellent platform to build " "embedded systems upon. <_:indexterm-1/> With support for the <trademark " @@ -1880,18 +1880,18 @@ msgstr "" #. (itstool) path: para/indexterm #. (itstool) path: sect2/indexterm -#: book.translate.xml:1939 book.translate.xml:11914 +#: book.translate.xml:1942 book.translate.xml:11928 msgid "<primary>GNOME</primary>" msgstr "" #. (itstool) path: para/indexterm #. (itstool) path: sect2/indexterm -#: book.translate.xml:1942 book.translate.xml:12001 +#: book.translate.xml:1945 book.translate.xml:12015 msgid "<primary>KDE</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:1935 +#: book.translate.xml:1938 msgid "" "<_:indexterm-1/> <_:indexterm-2/> <_:indexterm-3/> <emphasis>Desktop:</" "emphasis> FreeBSD makes a fine choice for an inexpensive desktop solution " @@ -1909,12 +1909,12 @@ msgstr "" "於管理。" #. (itstool) path: para/indexterm -#: book.translate.xml:1961 +#: book.translate.xml:1964 msgid "<primary>Compiler</primary>" msgstr "<primary>編譯器</primary>" #. (itstool) path: listitem/para -#: book.translate.xml:1958 +#: book.translate.xml:1961 msgid "" "<emphasis>Software Development:</emphasis> The basic FreeBSD system comes " "with a full complement of development tools including a full C/C++<_:" @@ -1926,7 +1926,7 @@ msgstr "" "援需多其他語言。" #. (itstool) path: sect2/para -#: book.translate.xml:1970 +#: book.translate.xml:1973 msgid "" "FreeBSD is available to download free of charge, or can be obtained on " "either CD-ROM or DVD. Please see <xref linkend=\"mirrors\"/> for more " @@ -1936,19 +1936,19 @@ msgstr "" "linkend=\"mirrors\"/> 取得 FreeBSD。" #. (itstool) path: sect2/title -#: book.translate.xml:1977 +#: book.translate.xml:1980 msgid "Who Uses FreeBSD?" msgstr "誰在用 FreeBSD?" #. (itstool) path: sect2/indexterm -#: book.translate.xml:1979 +#: book.translate.xml:1982 msgid "" "<primary>users</primary> <secondary>large sites running FreeBSD</secondary>" msgstr "" "<primary>使用者</primary> <secondary>執行 FreeBSD 的大型站台</secondary>" #. (itstool) path: sect2/para -#: book.translate.xml:1984 +#: book.translate.xml:1987 msgid "" "FreeBSD's advanced features, proven security, predictable release cycle, and " "permissive license have led to its use as a platform for building many " @@ -1961,12 +1961,12 @@ msgstr "" #. (itstool) path: para/indexterm #. (itstool) path: sect1/indexterm -#: book.translate.xml:1994 book.translate.xml:56603 +#: book.translate.xml:1997 book.translate.xml:56657 msgid "<primary>Apache</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:1993 +#: book.translate.xml:1996 msgid "" "<link xlink:href=\"http://www.apache.org/\">Apache</link> <_:indexterm-1/> - " "The Apache Software Foundation runs most of its public facing " @@ -1978,12 +1978,12 @@ msgstr "" "庫 (擁有超過 140 萬次提交) 都是在 FreeBSD 上運作。" #. (itstool) path: para/indexterm -#: book.translate.xml:2004 +#: book.translate.xml:2007 msgid "<primary>Apple</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2003 +#: book.translate.xml:2006 msgid "" "<link xlink:href=\"http://www.apple.com/\">Apple</link> <_:indexterm-1/> - " "OS X borrows heavily from FreeBSD for the network stack, virtual file " @@ -1995,12 +1995,12 @@ msgstr "" "Apple iOS 中含有從 FreeBSD 借鑒來的元素。" #. (itstool) path: para/indexterm -#: book.translate.xml:2014 +#: book.translate.xml:2017 msgid "<primary>Cisco</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2013 +#: book.translate.xml:2016 msgid "" "<link xlink:href=\"http://www.cisco.com/\">Cisco</link> <_:indexterm-1/> - " "IronPort network security and anti-spam appliances run a modified FreeBSD " @@ -2010,12 +2010,12 @@ msgstr "" "IronPort 網路安全及反垃圾郵件設備是採用改良後 FreeBSD 核心來運作。" #. (itstool) path: para/indexterm -#: book.translate.xml:2022 +#: book.translate.xml:2025 msgid "<primary>Citrix</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2021 +#: book.translate.xml:2024 msgid "" "<link xlink:href=\"http://www.citrix.com/\">Citrix</link> <_:indexterm-1/> - " "The NetScaler line of security appliances provide layer 4-7 load balancing, " @@ -2027,12 +2027,12 @@ msgstr "" "牆、安全的 VPN 以及行動雲端網路存取,皆運用了 FreeBSD Shell 強大的功能。" #. (itstool) path: para/indexterm -#: book.translate.xml:2033 +#: book.translate.xml:2036 msgid "<primary>Dell KACE</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2031 +#: book.translate.xml:2034 msgid "" "<link xlink:href=\"http://www.dell.com/KACE\">Dell KACE</link> <_:" "indexterm-1/> - The KACE system management appliances run FreeBSD because of " @@ -2044,12 +2044,12 @@ msgstr "" "擴展性以及支持其持續發展的社群。" #. (itstool) path: para/indexterm -#: book.translate.xml:2043 +#: book.translate.xml:2046 msgid "<primary>Experts Exchange</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2041 +#: book.translate.xml:2044 msgid "" "<link xlink:href=\"http://www.experts-exchange.com/\">Experts Exchange</" "link> <_:indexterm-1/> - All public facing web servers are powered by " @@ -2061,12 +2061,12 @@ msgstr "" "量使用 Jail 來隔離開發與測試環境,減少了虛擬化的額外開銷。" #. (itstool) path: para/indexterm -#: book.translate.xml:2053 +#: book.translate.xml:2056 msgid "<primary>Isilon</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2052 +#: book.translate.xml:2055 msgid "" "<link xlink:href=\"http://www.isilon.com/\">Isilon</link> <_:indexterm-1/> - " "Isilon's enterprise storage appliances are based on FreeBSD. The extremely " @@ -2079,12 +2079,12 @@ msgstr "" "整合了它們的智慧財產到整個核心,並專注打造自己的產品,而不是一個作業系統。" #. (itstool) path: para/indexterm -#: book.translate.xml:2065 +#: book.translate.xml:2068 msgid "<primary>iXsystems</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2064 +#: book.translate.xml:2067 msgid "" "<link xlink:href=\"http://www.ixsystems.com/\">iXsystems</link> <_:" "indexterm-1/> - The TrueNAS line of unified storage appliances is based on " @@ -2097,12 +2097,12 @@ msgstr "" "開源計劃的開發。" #. (itstool) path: para/indexterm -#: book.translate.xml:2075 +#: book.translate.xml:2078 msgid "<primary>Juniper</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2074 +#: book.translate.xml:2077 msgid "" "<link xlink:href=\"http://www.juniper.net/\">Juniper</link> <_:indexterm-1/> " "- The JunOS operating system that powers all Juniper networking gear " @@ -2120,12 +2120,12 @@ msgstr "" "功能從 FreeBSD 整合回 JunOS 的複雜性。" #. (itstool) path: para/indexterm -#: book.translate.xml:2090 +#: book.translate.xml:2093 msgid "<primary>McAfee</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2089 +#: book.translate.xml:2092 msgid "" "<link xlink:href=\"http://www.mcafee.com/\">McAfee</link> <_:indexterm-1/> - " "SecurOS, the basis of McAfee enterprise firewall products including " @@ -2136,12 +2136,12 @@ msgstr "" "FreeBSD 為基礎。" #. (itstool) path: para/indexterm -#: book.translate.xml:2099 +#: book.translate.xml:2102 msgid "<primary>NetApp</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2098 +#: book.translate.xml:2101 msgid "" "<link xlink:href=\"http://www.netapp.com/\">NetApp</link> <_:indexterm-1/> - " "The Data ONTAP GX line of storage appliances are based on FreeBSD. In " @@ -2153,12 +2153,12 @@ msgstr "" "了回 FreeBSD 許多功能,包括新 BSD 條款授權的 hypervisor, bhyve。" #. (itstool) path: para/indexterm -#: book.translate.xml:2109 book.translate.xml:2371 +#: book.translate.xml:2112 book.translate.xml:2386 msgid "<primary>Netflix</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2108 +#: book.translate.xml:2111 msgid "" "<link xlink:href=\"http://www.netflix.com/\">Netflix</link> <_:indexterm-1/> " "- The OpenConnect appliance that Netflix uses to stream movies to its " @@ -2173,12 +2173,12 @@ msgstr "" "Netflix 的 OpenConnect 設備負責了北美所有的網路流量 32% 以上。" #. (itstool) path: para/indexterm -#: book.translate.xml:2122 +#: book.translate.xml:2125 msgid "<primary>Sandvine</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2121 +#: book.translate.xml:2124 msgid "" "<link xlink:href=\"http://www.sandvine.com/\">Sandvine</link> <_:indexterm-1/" "> - Sandvine uses FreeBSD as the basis of their high performance realtime " @@ -2186,16 +2186,16 @@ msgid "" "control products." msgstr "" "<link xlink:href=\"http://www.sandvine.com/\">Sandvine</link> <_:indexterm-1/" -"> - Sandvine 使用 FreeBSD 作為它們的高性能即時網路處理平台,來建立它門的智慧" -"網路策略控制產品。" +"> - Sandvine 使用 FreeBSD 作為它們的高性能即時網路處理平台,來建立它們的智慧" +"網路策略控制產品。" #. (itstool) path: para/indexterm -#: book.translate.xml:2132 +#: book.translate.xml:2135 msgid "<primary>Sony</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2131 +#: book.translate.xml:2134 msgid "" "<link xlink:href=\"http://www.sony.com/\">Sony</link> <_:indexterm-1/> - The " "PlayStation 4 gaming console runs a modified version of FreeBSD." @@ -2204,12 +2204,12 @@ msgstr "" "PlayStation 4 遊戲主機使用了修改過的 FreeBSD 版本來運作。" #. (itstool) path: para/indexterm -#: book.translate.xml:2140 +#: book.translate.xml:2143 msgid "<primary>Sophos</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2139 +#: book.translate.xml:2142 msgid "" "<link xlink:href=\"http://www.sophos.com/\">Sophos</link> <_:indexterm-1/> - " "The Sophos Email Appliance product is based on a hardened FreeBSD and scans " @@ -2221,12 +2221,12 @@ msgstr "" "郵件中的垃圾郵件和病毒,同時也可監控出站郵件中的惡意軟體及敏感資訊。" #. (itstool) path: para/indexterm -#: book.translate.xml:2152 +#: book.translate.xml:2155 msgid "<primary>Spectra Logic</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2150 +#: book.translate.xml:2153 msgid "" "<link xlink:href=\"http://www.spectralogic.com/\">Spectra Logic</link> <_:" "indexterm-1/> - The nTier line of archive grade storage appliances run " @@ -2236,12 +2236,32 @@ msgstr "" "indexterm-1/> - 儲藏級儲存設備的 nTier 產品線以 FreeBSD 和 OpenZFS 來運作。" #. (itstool) path: para/indexterm -#: book.translate.xml:2161 +#: book.translate.xml:2163 +#, fuzzy +msgid "<primary>Stormshield</primary>" +msgstr "<primary>編譯器</primary>" + +#. (itstool) path: listitem/para +#: book.translate.xml:2162 +#, fuzzy +msgid "" +"<link xlink:href=\"https://www.stormshield.eu\">Stormshield</link> <_:" +"indexterm-1/> - Stormshield Network Security appliances are based on a " +"hardened version of FreeBSD. The BSD license allows us to integrate our own " +"intellectual property with the system while returning a great deal of " +"interesting development to the community." +msgstr "" +"<link xlink:href=\"http://www.isilon.com/\">Isilon</link> <_:indexterm-1/> - " +"Isilon 的企業存儲設備以 FreeBSD 為基礎。非常自由的 FreeBSD 授權條款讓 Isilon " +"整合了它們的智慧財產到整個核心,並專注打造自己的產品,而不是一個作業系統。" + +#. (itstool) path: para/indexterm +#: book.translate.xml:2176 msgid "<primary>The Weather Channel</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2159 +#: book.translate.xml:2174 msgid "" "<link xlink:href=\"http://www.weather.com/\">The Weather Channel</link> <_:" "indexterm-1/> - The IntelliStar appliance that is installed at each local " @@ -2253,12 +2273,12 @@ msgstr "" "視網路節目的 IntelliStar 設備便是使用 FreeBSD。" #. (itstool) path: para/indexterm -#: book.translate.xml:2172 +#: book.translate.xml:2187 msgid "<primary>Verisign</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2171 +#: book.translate.xml:2186 msgid "" "<link xlink:href=\"http://www.verisign.com/\">Verisign</link> <_:indexterm-1/" "> - Verisign is responsible for operating the .com and .net root domain " @@ -2272,12 +2292,12 @@ msgstr "" "點故障的問題。" #. (itstool) path: para/indexterm -#: book.translate.xml:2185 +#: book.translate.xml:2200 msgid "<primary>Voxer</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2184 +#: book.translate.xml:2199 msgid "" "<link xlink:href=\"http://www.voxer.com/\">Voxer</link> <_:indexterm-1/> - " "Voxer powers their mobile voice messaging platform with ZFS on FreeBSD. " @@ -2293,12 +2313,12 @@ msgstr "" "的 <acronym>ZFS</acronym> 也支援了 TRIM。" #. (itstool) path: para/indexterm -#: book.translate.xml:2199 +#: book.translate.xml:2214 msgid "<primary>WhatsApp</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2198 +#: book.translate.xml:2213 msgid "" "<link xlink:href=\"http://www.whatsapp.com/\">WhatsApp</link> <_:indexterm-1/" "> - When WhatsApp needed a platform that would be able to handle more than 1 " @@ -2310,12 +2330,12 @@ msgstr "" "台時,它們選擇了 FreeBSD。它們接著擴大規模到每台伺服器處理超過 250 萬的連線。" #. (itstool) path: para/indexterm -#: book.translate.xml:2211 +#: book.translate.xml:2226 msgid "<primary>Wheel Systems</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2209 +#: book.translate.xml:2224 msgid "" "<link xlink:href=\"http://wheelsystems.com/\">Wheel Systems</link> <_:" "indexterm-1/> - The FUDO security appliance allows enterprises to monitor, " @@ -2329,17 +2349,17 @@ msgstr "" "GELI, Capsicum, HAST 及 auditdistd。" #. (itstool) path: sect2/para -#: book.translate.xml:2223 +#: book.translate.xml:2238 msgid "FreeBSD has also spawned a number of related open source projects:" msgstr "FreeBSD 也催生了數個相關的開源計劃:" #. (itstool) path: para/indexterm -#: book.translate.xml:2230 +#: book.translate.xml:2245 msgid "<primary>BSD Router</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2228 +#: book.translate.xml:2243 msgid "" "<link xlink:href=\"http://bsdrp.net/\">BSD Router</link> <_:indexterm-1/> - " "A FreeBSD based replacement for large enterprise routers designed to run on " @@ -2349,12 +2369,12 @@ msgstr "" "以 FreeBSD 為基礎的大型企業路由器替代方案,專門設計為可在標準 PC 硬體上運作。" #. (itstool) path: para/indexterm -#: book.translate.xml:2239 +#: book.translate.xml:2254 msgid "<primary>FreeNAS</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2238 +#: book.translate.xml:2253 msgid "" "<link xlink:href=\"http://www.freenas.org/\">FreeNAS</link> <_:indexterm-1/> " "- A customized FreeBSD designed to be used as a network file server " @@ -2369,12 +2389,12 @@ msgstr "" "iSCSI,還有以 FreeBSD Jail 為基礎的套件系統。" #. (itstool) path: para/indexterm -#: book.translate.xml:2251 +#: book.translate.xml:2266 msgid "<primary>GhostBSD</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2250 +#: book.translate.xml:2265 msgid "" "<link xlink:href=\"http://www.ghostbsd.org/\">GhostBSD</link> <_:indexterm-1/" "> - A desktop oriented distribution of FreeBSD bundled with the Gnome " @@ -2384,12 +2404,12 @@ msgstr "" "> - 採用 Gnome 桌面環境的 FreeBSD 發行版。" #. (itstool) path: para/indexterm -#: book.translate.xml:2259 +#: book.translate.xml:2274 msgid "<primary>mfsBSD</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2258 +#: book.translate.xml:2273 msgid "" "<link xlink:href=\"http://mfsbsd.vx.sk/\">mfsBSD</link> <_:indexterm-1/> - A " "toolkit for building a FreeBSD system image that runs entirely from memory." @@ -2398,12 +2418,12 @@ msgstr "" "來建置可完全從記憶體執行 FreeBSD 系統映像檔工具。" #. (itstool) path: para/indexterm -#: book.translate.xml:2267 +#: book.translate.xml:2282 msgid "<primary>NAS4Free</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2266 +#: book.translate.xml:2281 msgid "" "<link xlink:href=\"http://www.nas4free.org/\">NAS4Free</link> <_:indexterm-1/" "> - A file server distribution based on FreeBSD with a PHP powered web " @@ -2413,12 +2433,12 @@ msgstr "" "> - 以 FreeBSD 及 PHP 驅動網頁介面為基礎的檔案伺服器。" #. (itstool) path: para/indexterm -#: book.translate.xml:2275 +#: book.translate.xml:2290 msgid "<primary>OPNsense</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2274 +#: book.translate.xml:2289 msgid "" "<link xlink:href=\"http://www.opnsense.org/\">OPNSense</link> <_:indexterm-1/" "> - OPNsense is an open source, easy-to-use and easy-to-build FreeBSD based " @@ -2433,12 +2453,12 @@ msgstr "" "功能集,同時擁有開放和安全的來源。" #. (itstool) path: para/indexterm -#: book.translate.xml:2287 +#: book.translate.xml:2302 msgid "<primary>PC-BSD</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2286 +#: book.translate.xml:2301 msgid "" "<link xlink:href=\"http://www.pcbsd.org/\">PC-BSD</link> <_:indexterm-1/> - " "A customized version of FreeBSD geared towards desktop users with graphical " @@ -2450,12 +2470,12 @@ msgstr "" "能給所有使用者,專門設計來緩解使用者在 Windows 與 OS X 間的過渡。" #. (itstool) path: para/indexterm -#: book.translate.xml:2297 +#: book.translate.xml:2312 msgid "<primary>pfSense</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2296 +#: book.translate.xml:2311 msgid "" "<link xlink:href=\"http://www.pfsense.org/\">pfSense</link> <_:indexterm-1/> " "- A firewall distribution based on FreeBSD with a huge array of features and " @@ -2465,12 +2485,12 @@ msgstr "" "- 以 FreeBSD 為基礎的防火牆發行版,支援巨型陣列及大規模 IPv6。" #. (itstool) path: para/indexterm -#: book.translate.xml:2306 +#: book.translate.xml:2321 msgid "<primary>ZRouter</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2305 +#: book.translate.xml:2320 msgid "" "<link xlink:href=\"http://zrouter.org/\">ZRouter</link> <_:indexterm-1/> - " "An open source alternative firmware for embedded devices based on FreeBSD. " @@ -2481,135 +2501,135 @@ msgstr "" "用韌體。" #. (itstool) path: sect2/para -#: book.translate.xml:2314 +#: book.translate.xml:2329 msgid "" "FreeBSD is also used to power some of the biggest sites on the Internet, " "including:" msgstr "FreeBSD 也同時被用來驅動一些網際網路上的大型網站,包括:" #. (itstool) path: para/indexterm -#: book.translate.xml:2320 +#: book.translate.xml:2335 msgid "<primary>Yahoo!</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2319 +#: book.translate.xml:2334 msgid "" "<link xlink:href=\"http://www.yahoo.com/\">Yahoo!</link> <_:indexterm-1/>" msgstr "" #. (itstool) path: para/indexterm -#: book.translate.xml:2327 +#: book.translate.xml:2342 msgid "<primary>Yandex</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2326 +#: book.translate.xml:2341 msgid "" "<link xlink:href=\"http://www.yandex.ru/\">Yandex</link> <_:indexterm-1/>" msgstr "" #. (itstool) path: para/indexterm -#: book.translate.xml:2334 +#: book.translate.xml:2349 msgid "<primary>Rambler</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2333 +#: book.translate.xml:2348 msgid "" "<link xlink:href=\"http://www.rambler.ru/\">Rambler</link> <_:indexterm-1/>" msgstr "" #. (itstool) path: para/indexterm -#: book.translate.xml:2341 +#: book.translate.xml:2356 msgid "<primary>Sina</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2340 +#: book.translate.xml:2355 msgid "<link xlink:href=\"http://www.sina.com/\">Sina</link> <_:indexterm-1/>" msgstr "" #. (itstool) path: para/indexterm -#: book.translate.xml:2349 +#: book.translate.xml:2364 msgid "<primary>Pair Networks</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2347 +#: book.translate.xml:2362 msgid "" "<link xlink:href=\"http://www.pair.com/\">Pair Networks</link> <_:" "indexterm-1/>" msgstr "" #. (itstool) path: para/indexterm -#: book.translate.xml:2357 +#: book.translate.xml:2372 msgid "<primary>Sony Japan</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2355 +#: book.translate.xml:2370 msgid "" "<link xlink:href=\"http://www.sony.co.jp/\">Sony Japan</link> <_:indexterm-1/" ">" msgstr "" #. (itstool) path: para/indexterm -#: book.translate.xml:2364 +#: book.translate.xml:2379 msgid "<primary>Netcraft</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2363 +#: book.translate.xml:2378 msgid "" "<link xlink:href=\"http://www.netcraft.com/\">Netcraft</link> <_:indexterm-1/" ">" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2370 +#: book.translate.xml:2385 msgid "" "<link xlink:href=\"https://signup.netflix.com/openconnect\">Netflix</link> " "<_:indexterm-1/>" msgstr "" #. (itstool) path: para/indexterm -#: book.translate.xml:2378 +#: book.translate.xml:2393 msgid "<primary>NetEase</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2377 +#: book.translate.xml:2392 msgid "" "<link xlink:href=\"http://www.163.com/\">NetEase</link> <_:indexterm-1/>" msgstr "" #. (itstool) path: para/indexterm -#: book.translate.xml:2385 +#: book.translate.xml:2400 msgid "<primary>Weathernews</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2384 +#: book.translate.xml:2399 msgid "" "<link xlink:href=\"http://www.weathernews.com/\">Weathernews</link> <_:" "indexterm-1/>" msgstr "" #. (itstool) path: para/indexterm -#: book.translate.xml:2393 +#: book.translate.xml:2408 msgid "<primary>TELEHOUSE America</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2391 +#: book.translate.xml:2406 msgid "" "<link xlink:href=\"http://www.telehouse.com/\">TELEHOUSE America</link> <_:" "indexterm-1/>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:2400 +#: book.translate.xml:2415 msgid "" "and many more. Wikipedia also maintains a <link xlink:href=\"http://en." "wikipedia.org/wiki/List_of_products_based_on_FreeBSD\">list of products " @@ -2619,12 +2639,12 @@ msgstr "" "org/wiki/List_of_products_based_on_FreeBSD\">以 FreeBSD 為基礎的產品</link>。" #. (itstool) path: sect1/title -#: book.translate.xml:2406 +#: book.translate.xml:2421 msgid "About the FreeBSD Project" msgstr "關於 FreeBSD 計劃" #. (itstool) path: sect1/para -#: book.translate.xml:2408 +#: book.translate.xml:2423 msgid "" "The following section provides some background information on the project, " "including a brief history, project goals, and the development model of the " @@ -2632,37 +2652,37 @@ msgid "" msgstr "接下來講的是 FreeBSD 計劃的背景,包含歷史、計劃目標以及開發模式。" #. (itstool) path: sect2/title -#: book.translate.xml:2413 +#: book.translate.xml:2428 msgid "A Brief History of FreeBSD" msgstr "FreeBSD 歷史簡介" #. (itstool) path: sect2/indexterm -#: book.translate.xml:2415 +#: book.translate.xml:2430 msgid "<primary>386BSD Patchkit</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:2416 +#: book.translate.xml:2431 msgid "<primary>Hubbard, Jordan</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:2417 +#: book.translate.xml:2432 msgid "<primary>Williams, Nate</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:2418 +#: book.translate.xml:2433 msgid "<primary>Grimes, Rod</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:2419 +#: book.translate.xml:2434 msgid "<primary>FreeBSD Project</primary> <secondary>history</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:2424 +#: book.translate.xml:2439 msgid "" "The FreeBSD Project had its genesis in the early part of 1993, partially as " "an outgrowth of the Unofficial 386BSDPatchkit by the patchkit's last 3 " @@ -2672,12 +2692,12 @@ msgstr "" "劃的最後三個協調人 Nate Williams,Rod Grimes 和 Jordan Hubbard。" #. (itstool) path: sect2/indexterm -#: book.translate.xml:2429 book.translate.xml:2469 +#: book.translate.xml:2444 book.translate.xml:2484 msgid "<primary>386BSD</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:2430 +#: book.translate.xml:2445 msgid "" "The original goal was to produce an intermediate snapshot of 386BSD in order " "to fix a number of problems with it that the patchkit mechanism just was not " @@ -2689,12 +2709,12 @@ msgstr "" "386BSD Interim 便是這個原因。" #. (itstool) path: sect2/indexterm -#: book.translate.xml:2436 +#: book.translate.xml:2451 msgid "<primary>Jolitz, Bill</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:2437 +#: book.translate.xml:2452 msgid "" "386BSD was Bill Jolitz's operating system, which had been up to that point " "suffering rather severely from almost a year's worth of neglect. As the " @@ -2710,17 +2730,17 @@ msgstr "" "出未來的打算,所以該計劃便突然面臨中止。" #. (itstool) path: sect2/indexterm -#: book.translate.xml:2447 +#: book.translate.xml:2462 msgid "<primary>Greenman, David</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:2448 +#: book.translate.xml:2463 msgid "<primary>Walnut Creek CDROM</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:2450 +#: book.translate.xml:2465 msgid "" "The trio thought that the goal remained worthwhile, even without Bill's " "support, and so they adopted the name \"FreeBSD\" coined by David Greenman. " @@ -2745,27 +2765,27 @@ msgstr "" "模。" #. (itstool) path: sect2/indexterm -#: book.translate.xml:2466 +#: book.translate.xml:2481 msgid "<primary>4.3BSD-Lite</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:2467 book.translate.xml:2482 +#: book.translate.xml:2482 book.translate.xml:2497 msgid "<primary>Net/2</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:2468 book.translate.xml:2481 +#: book.translate.xml:2483 book.translate.xml:2496 msgid "<primary>U.C. Berkeley</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:2470 book.translate.xml:8847 +#: book.translate.xml:2485 book.translate.xml:8862 msgid "<primary>Free Software Foundation</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:2472 +#: book.translate.xml:2487 msgid "" "The first CD-ROM (and general net-wide) distribution was FreeBSD 1.0, " "released in December of 1993. This was based on the 4.3BSD-Lite " @@ -2780,17 +2800,17 @@ msgstr "" "還算成功,我們又接著於 1994 年 5 月發行了相當成功的 FreeBSD 1.1。" #. (itstool) path: sect2/indexterm -#: book.translate.xml:2480 +#: book.translate.xml:2495 msgid "<primary>Novell</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:2483 +#: book.translate.xml:2498 msgid "<primary>AT&T</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:2484 +#: book.translate.xml:2499 msgid "" "Around this time, some rather unexpected storm clouds formed on the horizon " "as Novell and U.C. Berkeley settled their long-running lawsuit over the " @@ -2815,7 +2835,7 @@ msgstr "" "最後一次發行,也就是 FreeBSD 1.1.5.1。" #. (itstool) path: sect2/para -#: book.translate.xml:2501 +#: book.translate.xml:2516 msgid "" "FreeBSD then set about the arduous task of literally re-inventing itself " "from a completely new and rather incomplete set of 4.4BSD-Lite bits. The " @@ -2837,7 +2857,7 @@ msgstr "" "之於 1995 年 6 月又發行了更容易安裝,更好的 FreeBSD 2.0.5。" #. (itstool) path: sect2/para -#: book.translate.xml:2515 +#: book.translate.xml:2530 msgid "" "Since that time, FreeBSD has made a series of releases each time improving " "the stability, speed, and feature set of the previous version." @@ -2846,7 +2866,7 @@ msgstr "" "的發佈版本。" #. (itstool) path: sect2/para -#: book.translate.xml:2519 +#: book.translate.xml:2534 msgid "" "For now, long-term development projects continue to take place in the 10.X-" "CURRENT (trunk) branch, and snapshot releases of 10.X are continually made " @@ -2858,24 +2878,24 @@ msgstr "" "snapshots/\">快照伺服器</link> 取得。" #. (itstool) path: info/title -#: book.translate.xml:2527 +#: book.translate.xml:2542 msgid "FreeBSD Project Goals" msgstr "FreeBSD 計劃目標" #. (itstool) path: authorgroup/author -#: book.translate.xml:2530 +#: book.translate.xml:2545 msgid "" "<personname> <firstname>Jordan</firstname> <surname>Hubbard</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:2540 +#: book.translate.xml:2555 msgid "<primary>FreeBSD Project</primary> <secondary>goals</secondary>" msgstr "<primary>FreeBSD 計劃</primary> <secondary>目標</secondary>" #. (itstool) path: sect2/para -#: book.translate.xml:2544 +#: book.translate.xml:2559 msgid "" "The goals of the FreeBSD Project are to provide software that may be used " "for any purpose and without strings attached. Many of us have a significant " @@ -2895,22 +2915,22 @@ msgstr "" "是我們所倡導的一個目標。" #. (itstool) path: sect2/indexterm -#: book.translate.xml:2556 +#: book.translate.xml:2571 msgid "<primary>GNU General Public License (GPL)</primary>" msgstr "<primary>GNU 通用公共授權條款 (GPL)</primary>" #. (itstool) path: sect2/indexterm -#: book.translate.xml:2559 +#: book.translate.xml:2574 msgid "<primary>GNU Lesser General Public License (LGPL)</primary>" msgstr "<primary>GNU 較寬鬆通用公共授權條款 (LGPL)</primary>" #. (itstool) path: sect2/indexterm -#: book.translate.xml:2562 +#: book.translate.xml:2577 msgid "<primary>BSD Copyright</primary>" msgstr "<primary>BSD 版權</primary>" #. (itstool) path: sect2/para -#: book.translate.xml:2563 +#: book.translate.xml:2578 msgid "" "That code in our source tree which falls under the GNU General Public " "License (GPL) or Library General Public License (LGPL) comes with slightly " @@ -2926,25 +2946,25 @@ msgstr "" "果可以選擇的話, 我們會比較喜歡使用限制相對更寬鬆的 BSD 版權來發佈軟體。" #. (itstool) path: info/title -#: book.translate.xml:2575 +#: book.translate.xml:2590 msgid "The FreeBSD Development Model" msgstr "FreeBSD 開發模式" #. (itstool) path: authorgroup/author -#: book.translate.xml:2578 +#: book.translate.xml:2593 msgid "" "<personname> <firstname>Satoshi</firstname> <surname>Asami</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:2588 +#: book.translate.xml:2603 msgid "" "<primary>FreeBSD Project</primary> <secondary>development model</secondary>" msgstr "<primary>FreeBSD 專案</primary> <secondary>開發模式</secondary>" #. (itstool) path: sect2/para -#: book.translate.xml:2593 +#: book.translate.xml:2608 msgid "" "The development of FreeBSD is a very open and flexible process, being " "literally built from the contributions of thousands of people around the " @@ -2971,7 +2991,7 @@ msgstr "" "link> 對那些希望了解我們進度的人也是相當有用的。" #. (itstool) path: sect2/para -#: book.translate.xml:2606 +#: book.translate.xml:2621 msgid "" "Useful things to know about the FreeBSD Project and its development process, " "whether working independently or in close cooperation:" @@ -2980,44 +3000,44 @@ msgstr "" "錯的︰" #. (itstool) path: varlistentry/term -#: book.translate.xml:2612 +#: book.translate.xml:2627 msgid "The SVN repositories<anchor xml:id=\"development-cvs-repository\"/>" msgstr "SVN 檔案庫<anchor xml:id=\"development-cvs-repository\"/>" #. (itstool) path: para/indexterm -#: book.translate.xml:2616 +#: book.translate.xml:2631 msgid "<primary>CVS</primary>" msgstr "" #. (itstool) path: para/indexterm -#: book.translate.xml:2620 +#: book.translate.xml:2635 msgid "<primary>CVS Repository</primary>" msgstr "<primary>CVS 檔案庫</primary>" #. (itstool) path: para/indexterm -#: book.translate.xml:2624 +#: book.translate.xml:2639 msgid "<primary>Concurrent Versions System</primary> <see>CVS</see>" msgstr "" #. (itstool) path: para/indexterm #. (itstool) path: sect1/indexterm -#: book.translate.xml:2629 book.translate.xml:44963 book.translate.xml:45003 +#: book.translate.xml:2644 book.translate.xml:45017 book.translate.xml:45057 #: book.translate.xml:65535 msgid "<primary>Subversion</primary>" msgstr "" #. (itstool) path: para/indexterm -#: book.translate.xml:2633 +#: book.translate.xml:2648 msgid "<primary>Subversion Repository</primary>" msgstr "" #. (itstool) path: para/indexterm -#: book.translate.xml:2637 +#: book.translate.xml:2652 msgid "<primary>SVN</primary> <see>Subversion</see>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2615 +#: book.translate.xml:2630 msgid "" "<_:indexterm-1/> <_:indexterm-2/> <_:indexterm-3/> <_:indexterm-4/> <_:" "indexterm-5/> <_:indexterm-6/> For several years, the central source tree " @@ -3050,17 +3070,17 @@ msgstr "" "\"ports-using\">使用 Port 套件集</link> 了解如何取得 FreeBSD Port 套件集。" #. (itstool) path: varlistentry/term -#: book.translate.xml:2664 +#: book.translate.xml:2679 msgid "The committers list<anchor xml:id=\"development-committers\"/>" msgstr "提交者名單<anchor xml:id=\"development-committers\"/>" #. (itstool) path: para/indexterm -#: book.translate.xml:2668 +#: book.translate.xml:2683 msgid "<primary>committers</primary>" msgstr "<primary>提交者</primary>" #. (itstool) path: listitem/para -#: book.translate.xml:2667 +#: book.translate.xml:2682 msgid "" "The <firstterm>committers</firstterm> <_:indexterm-1/> are the people who " "have <emphasis>write</emphasis> access to the Subversion tree, and are " @@ -3081,17 +3101,17 @@ msgstr "" "誤 (Bug)。" #. (itstool) path: varlistentry/term -#: book.translate.xml:2684 +#: book.translate.xml:2699 msgid "The FreeBSD core team<anchor xml:id=\"development-core\"/>" msgstr "FreeBSD 核心團隊<anchor xml:id=\"development-core\"/>" #. (itstool) path: para/indexterm -#: book.translate.xml:2688 +#: book.translate.xml:2703 msgid "<primary>core team</primary>" msgstr "<primary>核心團隊</primary>" #. (itstool) path: listitem/para -#: book.translate.xml:2687 +#: book.translate.xml:2702 msgid "" "The <firstterm>FreeBSD core team</firstterm> <_:indexterm-1/> would be " "equivalent to the board of directors if the FreeBSD Project were a company. " @@ -3109,7 +3129,7 @@ msgstr "" "2014 年 7 月從提交者候選人之中選出來的,這個選舉每兩年會舉辦一次。" #. (itstool) path: note/para -#: book.translate.xml:2703 +#: book.translate.xml:2718 msgid "" "Like most developers, most members of the core team are also volunteers when " "it comes to FreeBSD development and do not benefit from the project " @@ -3126,12 +3146,12 @@ msgstr "" "而選擇投入 FreeBSD 開發的熱血有為者才對!" #. (itstool) path: varlistentry/term -#: book.translate.xml:2718 +#: book.translate.xml:2733 msgid "Outside contributors" msgstr "非官方貢獻者" #. (itstool) path: listitem/para -#: book.translate.xml:2721 +#: book.translate.xml:2736 msgid "" "Last, but definitely not least, the largest group of developers are the " "users themselves who provide feedback and bug fixes to us on an almost " @@ -3149,12 +3169,12 @@ msgstr "" "linkend=\"eresources\"/> 以瞭解各式不同的 FreeBSD 郵遞論壇。" #. (itstool) path: para/indexterm -#: book.translate.xml:2732 +#: book.translate.xml:2747 msgid "<primary>contributors</primary>" msgstr "<primary>貢獻者</primary>" #. (itstool) path: listitem/para -#: book.translate.xml:2730 +#: book.translate.xml:2745 msgid "" "<citetitle><link xlink:href=\"@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/articles/" "contributors/article.html\">The FreeBSD Contributors List</link></citetitle> " @@ -3167,7 +3187,7 @@ msgstr "" "貢獻 FreeBSD 一些回饋呢?" #. (itstool) path: listitem/para -#: book.translate.xml:2737 +#: book.translate.xml:2752 msgid "" "Providing code is not the only way of contributing to the project; for a " "more complete list of things that need doing, please refer to the <link " @@ -3177,7 +3197,7 @@ msgstr "" "<link xlink:href=\"@@URL_RELPREFIX@@/index.html\">FreeBSD 計畫網站</link>。" #. (itstool) path: sect2/para -#: book.translate.xml:2745 +#: book.translate.xml:2760 msgid "" "In summary, our development model is organized as a loose set of concentric " "circles. The centralized model is designed for the convenience of the " @@ -3194,7 +3214,7 @@ msgstr "" "用 — 而這個開發模式對我們要完成這個目標來說運作的非常好。" #. (itstool) path: sect2/para -#: book.translate.xml:2755 +#: book.translate.xml:2770 msgid "" "All we ask of those who would join us as FreeBSD developers is some of the " "same dedication its current people have to its continued success!" @@ -3203,12 +3223,12 @@ msgstr "" "保繼續成功!" #. (itstool) path: sect2/title -#: book.translate.xml:2761 +#: book.translate.xml:2776 msgid "Third Party Programs" msgstr "第三方程式" #. (itstool) path: sect2/para -#: book.translate.xml:2763 +#: book.translate.xml:2778 msgid "" "In addition to the base distributions, FreeBSD offers a ported software " "collection with thousands of commonly sought-after programs. At the time of " @@ -3226,22 +3246,22 @@ msgid "" "\"/>." msgstr "" "除了基礎發行版之外,FreeBSD 提供了擁有上千個常用的程式的移植軟體的套件集,在" -"撰寫本文的同時,已有超過 24,000 個 Port! Port 的範圍從 HTTP 伺服器到遊戲、語" +"撰寫本文的同時,已有超過 24,000 個 Port!Port 的範圍從 HTTP 伺服器到遊戲、語" "系、編輯器,幾乎所有東西都在裡面。完整的 Port 套件集需要將近 500 MB。要編譯一" "個 Port 您只需要切換目錄到您想安裝的程式目錄,然後輸入 <command>make " "install</command>,接著系統便會處理剩下的動作。您編譯的每個 Port 完整原始發行" "版內容是動態下載的,所以您只需要有足夠的磁碟空間來編譯您想要的 Port。幾乎所" -"有 Port 都提供以預先編譯好的<quote>套件</quote>,您可以透過簡單的指令來安裝 " -"(<command>pkg install</command>),提供那些不想要自行從原始碼編譯的人使用。更" -"多有關套件與 Port 的資訊可於 <xref linkend=\"ports\"/> 取得。" +"有 Port 都提供已經預先編譯好的<quote>套件</quote>,您可以透過簡單的指令來安" +"裝 (<command>pkg install</command>),提供那些不想要自行從原始碼編譯的人使用。" +"更多有關套件與 Port 的資訊可於 <xref linkend=\"ports\"/> 取得。" #. (itstool) path: sect2/title -#: book.translate.xml:2784 +#: book.translate.xml:2799 msgid "Additional Documentation" msgstr "其他文件" #. (itstool) path: sect2/para -#: book.translate.xml:2786 +#: book.translate.xml:2801 msgid "" "All recent FreeBSD versions provide an option in the installer (either " "<citerefentry><refentrytitle>sysinstall</refentrytitle><manvolnum>8</" @@ -3263,12 +3283,12 @@ msgstr "" "已安裝在本機的操作手冊:" #. (itstool) path: varlistentry/term -#: book.translate.xml:2798 +#: book.translate.xml:2813 msgid "The FreeBSD Handbook" msgstr "FreeBSD 使用手冊" #. (itstool) path: listitem/para -#: book.translate.xml:2801 +#: book.translate.xml:2816 msgid "" "<link xlink:href=\"file://localhost/usr/local/share/doc/freebsd/handbook/" "index.html\"><filename>/usr/local/share/doc/freebsd/handbook/index.html</" @@ -3276,12 +3296,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:2806 +#: book.translate.xml:2821 msgid "The FreeBSD FAQ" msgstr "FreeBSD 常見問答集" #. (itstool) path: listitem/para -#: book.translate.xml:2809 +#: book.translate.xml:2824 msgid "" "<link xlink:href=\"file://localhost/usr/local/share/doc/freebsd/faq/index." "html\"><filename>/usr/local/share/doc/freebsd/faq/index.html</filename></" @@ -3289,7 +3309,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:2814 +#: book.translate.xml:2829 msgid "" "You can also view the master (and most frequently updated) copies at <uri " "xlink:href=\"http://www.FreeBSD.org/\">http://www.FreeBSD.org/</uri>." @@ -3298,50 +3318,50 @@ msgstr "" "\"http://www.FreeBSD.org/\">http://www.FreeBSD.org/</uri>。" #. (itstool) path: info/title -#: book.translate.xml:2830 +#: book.translate.xml:2845 msgid "Installing FreeBSD" msgstr "安裝 FreeBSD" #. (itstool) path: authorgroup/author -#: book.translate.xml:2858 +#: book.translate.xml:2873 msgid "" "<personname> <firstname>Gavin</firstname> <surname>Atkinson</surname> </" "personname> <contrib>Updated for bsdinstall by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:2867 +#: book.translate.xml:2882 msgid "" "<personname> <firstname>Warren</firstname> <surname>Block</surname> </" "personname>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:2876 +#: book.translate.xml:2891 msgid "" "<personname> <firstname>Allan</firstname> <surname>Jude</surname> </" "personname> <contrib>Updated for root-on-ZFS by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:2890 +#: book.translate.xml:2905 msgid "<primary>installation</primary>" msgstr "<primary>安裝</primary>" #. (itstool) path: sect1/para -#: book.translate.xml:2892 +#: book.translate.xml:2907 msgid "" "Beginning with FreeBSD 9.0-RELEASE, FreeBSD provides an easy to use, text-" "based installation program named <application>bsdinstall</application>. This " "chapter describes how to install FreeBSD using <application>bsdinstall</" "application>." msgstr "" -"自從 FreeBSD 9.0-RELEASE 開始, FreeBSD 提供一個易用,文字介面的安裝程式 " +"自從 FreeBSD 9.0-RELEASE 開始,FreeBSD 提供一個易用,文字介面的安裝程式 " "<application>bsdinstall</application>。 本章描述如何用 " "<application>bsdinstall</application> 來安裝 FreeBSD。" #. (itstool) path: sect1/para -#: book.translate.xml:2898 +#: book.translate.xml:2913 msgid "" "In general, the installation instructions in this chapter are written for " "the <trademark>i386</trademark> and <acronym>AMD64</acronym> architectures. " @@ -3356,7 +3376,7 @@ msgstr "" "著來做。" #. (itstool) path: note/para -#: book.translate.xml:2907 +#: book.translate.xml:2922 msgid "" "Users who prefer to install FreeBSD using a graphical installer may be " "interested in <application>pc-sysinstall</application>, the installer used " @@ -3372,22 +3392,22 @@ msgstr "" "\">http://wiki.pcbsd.org/index.php/Colophon</link>)。" #. (itstool) path: listitem/para -#: book.translate.xml:2919 +#: book.translate.xml:2934 msgid "The minimum hardware requirements and FreeBSD supported architectures." msgstr "最低的硬體需求和 FreeBSD 支援的架構。" #. (itstool) path: listitem/para -#: book.translate.xml:2924 +#: book.translate.xml:2939 msgid "How to create the FreeBSD installation media." msgstr "如何建立 FreeBSD 的安裝媒體。" #. (itstool) path: listitem/para -#: book.translate.xml:2928 +#: book.translate.xml:2943 msgid "How to start <application>bsdinstall</application>." msgstr "如何開始執行 <application>bsdinstall</application>。" #. (itstool) path: listitem/para -#: book.translate.xml:2933 +#: book.translate.xml:2948 msgid "" "The questions <application>bsdinstall</application> will ask, what they " "mean, and how to answer them." @@ -3396,29 +3416,29 @@ msgstr "" "回答。" #. (itstool) path: listitem/para -#: book.translate.xml:2938 +#: book.translate.xml:2953 msgid "How to troubleshoot a failed installation." msgstr "安裝失敗時如何做故障排除。" #. (itstool) path: listitem/para -#: book.translate.xml:2942 +#: book.translate.xml:2957 msgid "" "How to access a live version of FreeBSD before committing to an installation." msgstr "如何在正式安裝前使用 live 版本的 FreeBSD。" #. (itstool) path: sect1/para -#: book.translate.xml:2947 book.translate.xml:10594 book.translate.xml:13899 -#: book.translate.xml:17970 book.translate.xml:19228 book.translate.xml:23652 -#: book.translate.xml:29322 book.translate.xml:31069 book.translate.xml:31821 -#: book.translate.xml:35465 book.translate.xml:41396 book.translate.xml:41591 -#: book.translate.xml:42915 book.translate.xml:43938 book.translate.xml:46099 -#: book.translate.xml:46458 book.translate.xml:48669 book.translate.xml:50375 -#: book.translate.xml:58022 book.translate.xml:61673 +#: book.translate.xml:2962 book.translate.xml:10609 book.translate.xml:13913 +#: book.translate.xml:17988 book.translate.xml:19253 book.translate.xml:23677 +#: book.translate.xml:29376 book.translate.xml:31123 book.translate.xml:31875 +#: book.translate.xml:35519 book.translate.xml:41450 book.translate.xml:41645 +#: book.translate.xml:42969 book.translate.xml:43992 book.translate.xml:46153 +#: book.translate.xml:46512 book.translate.xml:48723 book.translate.xml:50429 +#: book.translate.xml:58076 book.translate.xml:61727 msgid "Before reading this chapter, you should:" msgstr "在開始閱讀這章之前,您需要︰" #. (itstool) path: listitem/para -#: book.translate.xml:2951 +#: book.translate.xml:2966 msgid "" "Read the supported hardware list that shipped with the version of FreeBSD to " "be installed and verify that the system's hardware is supported." @@ -3426,12 +3446,12 @@ msgstr "" "閱讀即將安裝的 FreeBSD 版本所附帶的硬體支援清單,並核對系統的硬體是否有支援。" #. (itstool) path: sect1/title -#: book.translate.xml:2959 +#: book.translate.xml:2974 msgid "Minimum Hardware Requirements" msgstr "最低硬體需求" #. (itstool) path: sect1/para -#: book.translate.xml:2961 +#: book.translate.xml:2976 msgid "" "The hardware requirements to install FreeBSD vary by architecture. Hardware " "architectures and devices supported by a FreeBSD release are listed on the " @@ -3447,30 +3467,30 @@ msgstr "" "也有建議如何正確的選擇在不同架構使用的映像檔。" #. (itstool) path: sect1/para -#: book.translate.xml:2968 +#: book.translate.xml:2983 msgid "" -"A FreeBSD installation requires a minimum of 64 MB of <acronym>RAM</acronym> " +"A FreeBSD installation requires a minimum of 96 MB of <acronym>RAM</acronym> " "and 1.5 GB of free hard drive space. However, such small amounts of memory " "and disk space are really only suitable for custom applications like " "embedded appliances. General-purpose desktop systems need more resources. " "2-4 GB RAM and at least 8 GB hard drive space is a good starting point." msgstr "" -"FreeBSD 安裝程序需要至少 64 MB 的 <acronym>RAM</acronym> 以及 1.5 GB 的硬碟空" -"間。然而,這樣少的記憶體及磁碟空間只適合在客製的應用上,如嵌入式設備,一般用" +"FreeBSD 安裝程序需要至少 96 MB 的 <acronym>RAM</acronym> 以及 1.5 GB 的硬碟空" +"間。然而,如此少的記憶體及磁碟空間只適合在客製的應用上,如嵌入式設備。一般用" "途的桌面系統會需要更多的資源,2-4 GB RAM 與至少 8 GB 的硬碟空間是不錯的起點。" #. (itstool) path: sect1/para -#: book.translate.xml:2976 +#: book.translate.xml:2991 msgid "These are the processor requirements for each architecture:" msgstr "每一種架構的處理器需求概述如下:" #. (itstool) path: varlistentry/term -#: book.translate.xml:2981 +#: book.translate.xml:2996 msgid "amd64" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2983 +#: book.translate.xml:2998 msgid "" "This is the most common desktop and laptop processor type, used in most " "modern systems. <trademark class=\"registered\">Intel</trademark> calls it " @@ -3482,7 +3502,7 @@ msgstr "" "製造商則稱該類型為 <acronym>x86-64</acronym>。" #. (itstool) path: listitem/para -#: book.translate.xml:2988 +#: book.translate.xml:3003 msgid "" "Examples of amd64 compatible processsors include: <trademark>AMD Athlon</" "trademark>64, <trademark>AMD Opteron</trademark>, multi-core <trademark " @@ -3497,17 +3517,17 @@ msgstr "" "器。" #. (itstool) path: varlistentry/term -#: book.translate.xml:2996 +#: book.translate.xml:3011 msgid "i386" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:2998 +#: book.translate.xml:3013 msgid "Older desktops and laptops often use this 32-bit, x86 architecture." msgstr "舊型的桌面電腦與筆記型電腦常使用此 32-bit, x86 架構。" #. (itstool) path: listitem/para -#: book.translate.xml:3001 +#: book.translate.xml:3016 msgid "" "Almost all i386-compatible processors with a floating point unit are " "supported. All <trademark class=\"registered\">Intel</trademark> processors " @@ -3517,7 +3537,7 @@ msgstr "" "\"registered\">Intel</trademark> 486 或是更高階的處理器也有支援。" #. (itstool) path: listitem/para -#: book.translate.xml:3005 +#: book.translate.xml:3020 msgid "" "FreeBSD will take advantage of Physical Address Extensions (<acronym>PAE</" "acronym>) support on <acronym>CPU</acronym>s with this feature. A kernel " @@ -3535,12 +3555,12 @@ msgstr "" "refentrytitle><manvolnum>4</manvolnum></citerefentry>。" #. (itstool) path: varlistentry/term -#: book.translate.xml:3017 +#: book.translate.xml:3032 msgid "ia64" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:3019 +#: book.translate.xml:3034 msgid "" "Currently supported processors are the <trademark class=\"registered" "\">Itanium</trademark> and the <trademark class=\"registered\">Itanium</" @@ -3558,12 +3578,12 @@ msgstr "" "<acronym>SMP</acronym>) 的設定都有支援。" #. (itstool) path: varlistentry/term -#: book.translate.xml:3029 +#: book.translate.xml:3044 msgid "pc98" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:3031 +#: book.translate.xml:3046 msgid "" "NEC PC-9801/9821 series with almost all i386-compatible processors, " "including 80486, <trademark class=\"registered\">Pentium</trademark>, " @@ -3581,7 +3601,7 @@ msgstr "" "FC-9801/9821 及 NEC SV-98 系列也有支援。" #. (itstool) path: listitem/para -#: book.translate.xml:3040 +#: book.translate.xml:3055 msgid "" "High-resolution mode is not supported. NEC PC-98XA/XL/RL/XL^2, and NEC PC-" "H98 series are supported in normal (PC-9801 compatible) mode only. The " @@ -3595,12 +3615,12 @@ msgstr "" "流排不支援。" #. (itstool) path: varlistentry/term -#: book.translate.xml:3051 +#: book.translate.xml:3066 msgid "powerpc" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:3053 +#: book.translate.xml:3068 msgid "" "All New World <acronym>ROM</acronym> <trademark class=\"registered\">Apple</" "trademark> <trademark class=\"registered\">Mac</trademark> systems with " @@ -3613,17 +3633,17 @@ msgstr "" "<acronym>CPU</acronym> 的機器都有支援。" #. (itstool) path: listitem/para -#: book.translate.xml:3058 +#: book.translate.xml:3073 msgid "A 32-bit kernel can only use the first 2 GB of <acronym>RAM</acronym>." msgstr "32 位元的核心只能使用前 2 GB 的 <acronym>RAM</acronym>。" #. (itstool) path: varlistentry/term -#: book.translate.xml:3064 +#: book.translate.xml:3079 msgid "sparc64" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:3066 +#: book.translate.xml:3081 msgid "" "Systems supported by FreeBSD/sparc64 are listed at the <link xlink:href=" "\"@@URL_RELPREFIX@@/platforms/sparc.html\">FreeBSD/sparc64 Project</link>." @@ -3632,7 +3652,7 @@ msgstr "" "platforms/sparc.html\">FreeBSD/sparc64 計劃</link>。" #. (itstool) path: listitem/para -#: book.translate.xml:3070 +#: book.translate.xml:3085 msgid "" "<acronym>SMP</acronym> is supported on all systems with more than 1 " "processor. A dedicated disk is required as it is not possible to share a " @@ -3642,12 +3662,12 @@ msgstr "" "因為此時無法和其他作業系統共用磁碟。" #. (itstool) path: sect1/title -#: book.translate.xml:3080 +#: book.translate.xml:3095 msgid "Pre-Installation Tasks" msgstr "安裝前準備工作" #. (itstool) path: sect1/para -#: book.translate.xml:3082 +#: book.translate.xml:3097 msgid "" "Once it has been determined that the system meets the minimum hardware " "requirements for installing FreeBSD, the installation file should be " @@ -3659,12 +3679,12 @@ msgstr "" "體。 做這些之前,先檢查以下核對清單的項目是否準備好了:" #. (itstool) path: step/title -#: book.translate.xml:3091 +#: book.translate.xml:3106 msgid "Back Up Important Data" msgstr "備份重要資料" #. (itstool) path: step/para -#: book.translate.xml:3093 +#: book.translate.xml:3108 msgid "" "Before installing any operating system, <emphasis>always</emphasis> backup " "all important data first. Do not store the backup on the system being " @@ -3681,12 +3701,12 @@ msgstr "" "面的資料都會遺失。" #. (itstool) path: step/title -#: book.translate.xml:3105 +#: book.translate.xml:3120 msgid "Decide Where to Install FreeBSD" msgstr "決定 FreeBSD 安裝在哪裡" #. (itstool) path: step/para -#: book.translate.xml:3107 +#: book.translate.xml:3122 msgid "" "If FreeBSD will be the only operating system installed, this step can be " "skipped. But if FreeBSD will share the disk with another operating system, " @@ -3697,7 +3717,7 @@ msgstr "" "是哪個分割區 (Partition)。" #. (itstool) path: step/para -#: book.translate.xml:3112 +#: book.translate.xml:3127 msgid "" "In the i386 and amd64 architectures, disks can be divided into multiple " "partitions using one of two partitioning schemes. A traditional " @@ -3723,7 +3743,7 @@ msgstr "" "個分割區,不再需要使用邏輯分割區。" #. (itstool) path: warning/para -#: book.translate.xml:3130 +#: book.translate.xml:3145 msgid "" "Some older operating systems, like <trademark class=\"registered\">Windows</" "trademark> XP, are not compatible with the <acronym>GPT</acronym> partition " @@ -3735,7 +3755,7 @@ msgstr "" "這類作業系統共用一個磁碟,則需要用 <acronym>MBR</acronym> 分割表格式。" #. (itstool) path: step/para -#: book.translate.xml:3137 +#: book.translate.xml:3152 msgid "" "The FreeBSD boot loader requires either a primary or <acronym>GPT</acronym> " "partition. If all of the primary or <acronym>GPT</acronym> partitions are " @@ -3749,7 +3769,7 @@ msgstr "" "工具來縮小現有的分割區,並使用釋放出來的空間建立新分割區。" #. (itstool) path: step/para -#: book.translate.xml:3145 +#: book.translate.xml:3160 msgid "" "A variety of free and commercial partition resizing tools are listed at " "<link xlink:href=\"http://en.wikipedia.org/wiki/" @@ -3770,7 +3790,7 @@ msgstr "" "GParted 同時也被許多 Linux Live <acronym>CD</acronym> 發行版所收錄。" #. (itstool) path: warning/para -#: book.translate.xml:3155 +#: book.translate.xml:3170 msgid "" "When used properly, disk shrinking utilities can safely create space for " "creating a new partition. Since the possibility of selecting the wrong " @@ -3782,7 +3802,7 @@ msgstr "" "料,並確認備份的完整性。" #. (itstool) path: step/para -#: book.translate.xml:3162 +#: book.translate.xml:3177 msgid "" "Disk partitions containing different operating systems make it possible to " "install multiple operating systems on one computer. An alternative is to use " @@ -3795,12 +3815,12 @@ msgstr "" "執行而不需要改變任何磁碟分割區。" #. (itstool) path: step/title -#: book.translate.xml:3171 +#: book.translate.xml:3186 msgid "Collect Network Information" msgstr "收集網路資訊" #. (itstool) path: step/para -#: book.translate.xml:3173 +#: book.translate.xml:3188 msgid "" "Some FreeBSD installation methods require a network connection in order to " "download the installation files. After any installation, the installer will " @@ -3810,7 +3830,7 @@ msgstr "" "入設定系統網路的介面。" #. (itstool) path: step/para -#: book.translate.xml:3178 +#: book.translate.xml:3193 msgid "" "If the network has a <acronym>DHCP</acronym> server, it can be used to " "provide automatic network configuration. If <acronym>DHCP</acronym> is not " @@ -3822,45 +3842,45 @@ msgstr "" "商 (Internet Service Provider, ISP) 取得以的網路資訊供系統使用:" #. (itstool) path: orderedlist/title -#: book.translate.xml:3186 +#: book.translate.xml:3201 msgid "Required Network Information" msgstr "需要的網路資訊" #. (itstool) path: listitem/para #. (itstool) path: row/entry -#: book.translate.xml:3189 book.translate.xml:53429 +#: book.translate.xml:3204 book.translate.xml:53483 msgid "<acronym>IP</acronym> address" msgstr "<acronym>IP</acronym> 位址" #. (itstool) path: listitem/para -#: book.translate.xml:3193 +#: book.translate.xml:3208 msgid "Subnet mask" msgstr "子網路遮罩" #. (itstool) path: listitem/para -#: book.translate.xml:3197 +#: book.translate.xml:3212 msgid "<acronym>IP</acronym> address of default gateway" msgstr "預設閘道器 <acronym>IP</acronym> 位址" #. (itstool) path: listitem/para -#: book.translate.xml:3202 +#: book.translate.xml:3217 msgid "Domain name of the network" msgstr "網路的網域名稱" #. (itstool) path: listitem/para -#: book.translate.xml:3206 +#: book.translate.xml:3221 msgid "" "<acronym>IP</acronym> addresses of the network's <acronym>DNS</acronym> " "servers" msgstr "網路 <acronym>DNS</acronym> 伺服器 <acronym>IP</acronym> 位址" #. (itstool) path: step/title -#: book.translate.xml:3213 +#: book.translate.xml:3228 msgid "Check for FreeBSD Errata" msgstr "檢查 FreeBSD 勘誤表" #. (itstool) path: step/para -#: book.translate.xml:3215 +#: book.translate.xml:3230 msgid "" "Although the FreeBSD Project strives to ensure that each release of FreeBSD " "is as stable as possible, bugs occasionally creep into the process. On very " @@ -3878,7 +3898,7 @@ msgstr "" "html</link>)。 安裝前要檢查勘誤表,確保沒有會影響到安裝的問題。" #. (itstool) path: step/para -#: book.translate.xml:3225 +#: book.translate.xml:3240 msgid "" "Information and errata for all the releases can be found on the release " "information section of the FreeBSD web site (<link xlink:href=" @@ -3890,12 +3910,12 @@ msgstr "" "index.html</link>)。" #. (itstool) path: sect2/title -#: book.translate.xml:3232 +#: book.translate.xml:3247 msgid "Prepare the Installation Media" msgstr "準備安裝的媒體" #. (itstool) path: sect2/para -#: book.translate.xml:3234 +#: book.translate.xml:3249 msgid "" "The FreeBSD installer is not an application that can be run from within " "another operating system. Instead, download a FreeBSD installation file, " @@ -3909,7 +3929,7 @@ msgstr "" "媒體來安裝。" #. (itstool) path: sect2/para -#: book.translate.xml:3241 +#: book.translate.xml:3256 msgid "" "FreeBSD installation files are available at <link xlink:href=" "\"@@URL_RELPREFIX@@/where.html#download\">www.freebsd.org/where." @@ -3928,7 +3948,7 @@ msgstr "" "<acronym>DVD</acronym> 來開機。" #. (itstool) path: sect2/para -#: book.translate.xml:3250 +#: book.translate.xml:3265 msgid "" "Installation files are available in several formats. The formats vary " "depending on computer architecture and media type." @@ -3936,7 +3956,7 @@ msgstr "安裝檔有許多種可用的格式,格式會依據電腦架構及媒 #. (itstool) path: sect2/para #. (itstool) id: book.translate.xml#bsdinstall-installation-media-uefi -#: book.translate.xml:3254 +#: book.translate.xml:3269 msgid "" "Additional installation files are included for computers that boot with " "<acronym>UEFI</acronym> (Unified Extensible Firmware Interface). The names " @@ -3947,12 +3967,12 @@ msgstr "" "filename>。" #. (itstool) path: sect2/para -#: book.translate.xml:3260 +#: book.translate.xml:3275 msgid "File types:" -msgstr "檔案類型:" +msgstr "檔案類型:" #. (itstool) path: listitem/para -#: book.translate.xml:3264 +#: book.translate.xml:3279 msgid "" "<literal>-bootonly.iso</literal>: This is the smallest installation file as " "it only contains the installer. A working Internet connection is required " @@ -3960,23 +3980,23 @@ msgid "" "complete the FreeBSD installation. This file should be burned to a " "<acronym>CD</acronym> using a <acronym>CD</acronym> burning application." msgstr "" -"<literal>-bootonly.iso</literal>: 這是最精簡的安裝檔,檔案中只含安裝程式。 安" +"<literal>-bootonly.iso</literal>:這是最精簡的安裝檔,檔案中只含安裝程式。 安" "裝時需要網際網路連線來下載所需的檔案以完成 FreeBSD 安裝。這個檔案應使用 " "<acronym>CD</acronym> 燒錄應用程式燒錄到 <acronym>CD</acronym> 使用。" #. (itstool) path: listitem/para -#: book.translate.xml:3274 +#: book.translate.xml:3289 msgid "" "<literal>-disc1.iso</literal>: This file contains all of the files needed to " "install FreeBSD, its source, and the Ports Collection. It should be burned " "to a <acronym>CD</acronym> using a <acronym>CD</acronym> burning application." msgstr "" -"<literal>-disc1.iso</literal>: 這個檔案含有所有安裝 FreeBSD 所需的檔案,包含" +"<literal>-disc1.iso</literal>:這個檔案含有所有安裝 FreeBSD 所需的檔案,包含" "原始碼及 Port 套件集。這個檔案應使用 <acronym>CD</acronym> 燒錄應用程式燒錄" "到 <acronym>CD</acronym> 使用。" #. (itstool) path: listitem/para -#: book.translate.xml:3282 +#: book.translate.xml:3297 msgid "" "<literal>-dvd1.iso</literal>: This file contains all of the files needed to " "install FreeBSD, its source, and the Ports Collection. It also contains a " @@ -3985,24 +4005,24 @@ msgid "" "requiring a connection to the Internet. This file should be burned to a " "<acronym>DVD</acronym> using a <acronym>DVD</acronym> burning application." msgstr "" -"<literal>-dvd1.iso</literal>: 這個檔案含有所有安裝 FreeBSD 所需的檔案,包含原" +"<literal>-dvd1.iso</literal>:這個檔案含有所有安裝 FreeBSD 所需的檔案,包含原" "始碼及 Port 套件集,也內含熱門的 Binary 套件可安裝視窗管理程式以及一些應用程" "式,如此便可從媒體安裝完整的系統,無須連線到網際網路。這個檔案應使用 " "<acronym>DVD</acronym> 燒錄應用程式燒錄到 <acronym>DVD</acronym> 使用。" #. (itstool) path: listitem/para -#: book.translate.xml:3293 +#: book.translate.xml:3308 msgid "" "<literal>-memstick.img</literal>: This file contains all of the files needed " "to install FreeBSD, its source, and the Ports Collection. It should be " "burned to a <acronym>USB</acronym> stick using the instructions below." msgstr "" -"<literal>-memstick.img</literal>: 這個檔案含有所有安裝 FreeBSD 所需的檔案,包" +"<literal>-memstick.img</literal>:這個檔案含有所有安裝 FreeBSD 所需的檔案,包" "含原始碼及 Port 套件集。這個檔案應依據以下操作指示寫入到 <acronym>USB</" "acronym> 隨身碟使用。" #. (itstool) path: sect2/para -#: book.translate.xml:3301 +#: book.translate.xml:3316 msgid "" "After downloading the image file, download <filename>CHECKSUM.SHA256</" "filename> from the same directory. Calculate a <firstterm>checksum</" @@ -4014,28 +4034,27 @@ msgstr "" "映像檔下載完成之後,下載同一個目錄之中的 <filename>CHECKSUM.SHA256</" "filename>。FreeBSD 提供 <citerefentry><refentrytitle>sha256</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> 可用來計算映像檔的 " -"<firstterm>校驗和 (Checksum)</firstterm>,使用方式為 <command>sha256 " +"<firstterm>校驗碼 (Checksum)</firstterm>,使用方式為 <command>sha256 " "<replaceable>imagefilename</replaceable></command>,其他作業系統也會有類似的" "程式。" #. (itstool) path: sect2/para -#: book.translate.xml:3309 +#: book.translate.xml:3324 msgid "" "Compare the calculated checksum with the one shown in <filename>CHECKSUM." "SHA256</filename>. The checksums must match exactly. If the checksums do not " "match, the image file is corrupt and must be downloaded again." msgstr "" -"比對計算後的 checksum 與 <filename>CHECKSUM.SHA256</filename> 檔案中的值," -"checksum 應該要完全相符,若 checksum 不相符,則代表該映像檔是損壞的,必須再下" -"載一次。" +"比對計算後的校驗碼與 <filename>CHECKSUM.SHA256</filename> 檔案中的值,校驗碼" +"應該要完全相符,若校驗碼不相符,則代表該映像檔是損壞的,必須再下載一次。" #. (itstool) path: sect3/title -#: book.translate.xml:3315 +#: book.translate.xml:3330 msgid "Writing an Image File to <acronym>USB</acronym>" msgstr "寫入映象檔到 <acronym>USB</acronym>" #. (itstool) path: sect3/para -#: book.translate.xml:3317 +#: book.translate.xml:3332 msgid "" "The <filename>*.img</filename> file is an <emphasis>image</emphasis> of the " "complete contents of a memory stick. It <emphasis>cannot</emphasis> be " @@ -4049,7 +4068,7 @@ msgstr "" "隨身碟,本節會介紹其中兩種。" #. (itstool) path: important/para -#: book.translate.xml:3326 +#: book.translate.xml:3341 msgid "" "Before proceeding, back up any important data on the <acronym>USB</acronym> " "stick. This procedure will erase the existing data on the stick." @@ -4058,12 +4077,12 @@ msgstr "" "身碟上既有的資料。" #. (itstool) path: procedure/title -#: book.translate.xml:3332 +#: book.translate.xml:3347 msgid "Using <command>dd</command> to Write the Image" msgstr "使用 <command>dd</command> 來寫入映像檔" #. (itstool) path: warning/para -#: book.translate.xml:3336 +#: book.translate.xml:3351 msgid "" "This example uses <filename>/dev/da0</filename> as the target device where " "the image will be written. Be <emphasis>very careful</emphasis> that the " @@ -4075,7 +4094,7 @@ msgstr "" "毀所有在指定目標裝置上已存在的資料。" #. (itstool) path: step/para -#: book.translate.xml:3344 +#: book.translate.xml:3359 msgid "" "The <citerefentry><refentrytitle>dd</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> command-line utility is available on BSD, <trademark class=" @@ -4096,13 +4115,13 @@ msgstr "" "到第一個 <acronym>USB</acronym> 裝置。" #. (itstool) path: step/screen -#: book.translate.xml:3355 +#: book.translate.xml:3370 #, no-wrap msgid "<prompt>#</prompt> <userinput>dd if=<replaceable>FreeBSD-10.2-RELEASE-amd64-memstick.img</replaceable> of=/dev/<replaceable>da0</replaceable> bs=1M conv=sync</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:3357 +#: book.translate.xml:3372 msgid "" "If this command fails, verify that the <acronym>USB</acronym> stick is not " "mounted and that the device name is for the disk, not a partition. Some " @@ -4122,13 +4141,13 @@ msgstr "" "citerefentry>。" #. (itstool) path: procedure/title -#: book.translate.xml:3368 +#: book.translate.xml:3383 msgid "" "Using <trademark class=\"registered\">Windows</trademark> to Write the Image" msgstr "使用 <trademark class=\"registered\">Windows</trademark> 來寫入映象檔" #. (itstool) path: warning/para -#: book.translate.xml:3371 +#: book.translate.xml:3386 msgid "" "Be sure to give the correct drive letter as the existing data on the " "specified drive will be overwritten and destroyed." @@ -4136,7 +4155,7 @@ msgstr "" "務必確認指定的磁碟機代號正確,因在指定磁碟機上的既有資料將會被覆蓋與摧毀。" #. (itstool) path: step/title -#: book.translate.xml:3377 +#: book.translate.xml:3392 msgid "" "Obtaining <application>Image Writer for <trademark class=\"registered" "\">Windows</trademark></application>" @@ -4145,7 +4164,7 @@ msgstr "" "trademark> 版</application>" #. (itstool) path: step/para -#: book.translate.xml:3380 +#: book.translate.xml:3395 msgid "" "<application>Image Writer for <trademark class=\"registered\">Windows</" "trademark></application> is a free application that can correctly write an " @@ -4160,12 +4179,12 @@ msgstr "" "夾。" #. (itstool) path: step/title -#: book.translate.xml:3388 +#: book.translate.xml:3403 msgid "Writing the Image with Image Writer" msgstr "用 Image Writer 寫入映象檔" #. (itstool) path: step/para -#: book.translate.xml:3390 +#: book.translate.xml:3405 msgid "" "Double-click the <application>Win32DiskImager</application> icon to start " "the program. Verify that the drive letter shown under " @@ -4184,24 +4203,24 @@ msgstr "" "入隨身碟。" #. (itstool) path: sect3/para -#: book.translate.xml:3405 +#: book.translate.xml:3420 msgid "You are now ready to start installing FreeBSD." msgstr "您現在可以開始安裝 FreeBSD 。" #. (itstool) path: sect1/title -#: book.translate.xml:3411 +#: book.translate.xml:3426 msgid "Starting the Installation" msgstr "開始安裝" #. (itstool) path: important/para -#: book.translate.xml:3414 +#: book.translate.xml:3429 msgid "" "By default, the installation will not make any changes to the disk(s) before " "the following message:" msgstr "預設安裝程序在下列訊息顯示之前不會對磁碟做任何更動:" #. (itstool) path: important/programlisting -#: book.translate.xml:3417 +#: book.translate.xml:3432 #, no-wrap msgid "" "Your changes will now be written to disk. If you\n" @@ -4211,7 +4230,7 @@ msgid "" msgstr "" #. (itstool) path: important/para -#: book.translate.xml:3422 +#: book.translate.xml:3437 msgid "" "The install can be exited at any time prior to this warning. If there is a " "concern that something is incorrectly configured, just turn the computer off " @@ -4221,7 +4240,7 @@ msgstr "" "腦,將不會對系統磁碟做任何更改。" #. (itstool) path: sect1/para -#: book.translate.xml:3429 +#: book.translate.xml:3444 msgid "" "This section describes how to boot the system from the installation media " "which was prepared using the instructions in <xref linkend=\"bsdinstall-" @@ -4233,17 +4252,17 @@ msgid "" msgstr "" "本節將介紹如何使用根據 <xref linkend=\"bsdinstall-installation-media\"/> 指示" "所準備的安裝媒體來開機。要使用可開機的 USB,請在開啟電腦前插入 <acronym>USB</" -"acronym> 隨身碟。要使用 <acronym>CD</acronym> 或<acronym>DVD</acronym>,則可" +"acronym> 隨身碟。要使用 <acronym>CD</acronym> 或 <acronym>DVD</acronym>,則可" "開啟電腦後在第一時間插入媒體。如何設定系統使用插入的媒體開機依不同的系統架構" "會有所不同。" #. (itstool) path: sect2/title -#: book.translate.xml:3440 +#: book.translate.xml:3455 msgid "Booting on <trademark>i386</trademark> and amd64" msgstr "在 <trademark>i386</trademark> 及 amd64 開機" #. (itstool) path: sect2/para -#: book.translate.xml:3442 +#: book.translate.xml:3457 msgid "" "These architectures provide a <acronym>BIOS</acronym> menu for selecting the " "boot device. Depending upon the installation media being used, select the " @@ -4261,14 +4280,14 @@ msgstr "" "<keycap>Escape</keycap> 其中之一。" #. (itstool) path: sect2/para -#: book.translate.xml:3453 +#: book.translate.xml:3468 msgid "" "If the computer loads the existing operating system instead of the FreeBSD " "installer, then either:" -msgstr "若電腦仍載入了現有的作業系統,而不是 FreeBSD 安裝程式,原因可能為:" +msgstr "若電腦仍載入了現有的作業系統,而不是 FreeBSD 安裝程式,原因可能為:" #. (itstool) path: listitem/para -#: book.translate.xml:3458 +#: book.translate.xml:3473 msgid "" "The installation media was not inserted early enough in the boot process. " "Leave the media inserted and try restarting the computer." @@ -4277,7 +4296,7 @@ msgstr "" "電腦。" #. (itstool) path: listitem/para -#: book.translate.xml:3464 +#: book.translate.xml:3479 msgid "" "The <acronym>BIOS</acronym> changes were incorrect or not saved. Double-" "check that the right boot device is selected as the first boot device." @@ -4286,7 +4305,7 @@ msgstr "" "確的裝置。" #. (itstool) path: listitem/para -#: book.translate.xml:3470 +#: book.translate.xml:3485 msgid "" "This system is too old to support booting from the chosen media. In this " "case, the <application>Plop Boot Manager</application> (<link xlink:href=" @@ -4298,12 +4317,12 @@ msgstr "" "plop.at/en/bootmanagers.html\"/>) 來從選擇的開機媒體開機。" #. (itstool) path: sect2/title -#: book.translate.xml:3480 +#: book.translate.xml:3495 msgid "Booting on <trademark class=\"registered\">PowerPC</trademark>" msgstr "在 <trademark class=\"registered\">PowerPC</trademark> 開機" #. (itstool) path: sect2/para -#: book.translate.xml:3482 +#: book.translate.xml:3497 msgid "" "On most machines, holding <keycap>C</keycap> on the keyboard during boot " "will boot from the <acronym>CD</acronym>. Otherwise, hold <keycombo action=" @@ -4322,18 +4341,18 @@ msgstr "" "prompt> 提示時,輸入" #. (itstool) path: sect2/screen -#: book.translate.xml:3498 +#: book.translate.xml:3513 #, no-wrap msgid "<userinput>boot cd:,\\ppc\\loader cd:0</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:3502 +#: book.translate.xml:3517 msgid "Booting on <trademark class=\"registered\">SPARC64</trademark>" msgstr "在 <trademark class=\"registered\">SPARC64</trademark> 開機" #. (itstool) path: sect2/para -#: book.translate.xml:3504 +#: book.translate.xml:3519 msgid "" "Most <trademark class=\"registered\">SPARC64</trademark> systems are set up " "to boot automatically from disk. To install FreeBSD from a <acronym>CD</" @@ -4344,16 +4363,16 @@ msgstr "" "acronym>。" #. (itstool) path: sect2/para -#: book.translate.xml:3508 +#: book.translate.xml:3523 msgid "" "To do this, reboot the system and wait until the boot message appears. The " "message depends on the model, but should look something like this:" msgstr "" "要進入 <acronym>PROM</acronym>,需重新開機系統然後等候開機訊息出現。訊息會依" -"機型而有所不同,但大致結果會如:" +"機型而有所不同,但大致結果會如:" #. (itstool) path: sect2/screen -#: book.translate.xml:3512 +#: book.translate.xml:3527 #, no-wrap msgid "" "Sun Blade 100 (UltraSPARC-IIe), Keyboard Present\n" @@ -4363,7 +4382,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:3517 +#: book.translate.xml:3532 msgid "" "If the system proceeds to boot from disk at this point, press <keycombo " "action=\"simul\"><keycap>L1</keycap><keycap>A</keycap></keycombo> or " @@ -4386,7 +4405,7 @@ msgstr "" "prompt>,其中的數字代表啟動的 <acronym>CPU</acronym> 數。" #. (itstool) path: sect2/para -#: book.translate.xml:3529 +#: book.translate.xml:3544 msgid "" "At this point, place the <acronym>CD</acronym> into the drive and type " "<command>boot cdrom</command> from the <acronym>PROM</acronym> prompt." @@ -4395,19 +4414,19 @@ msgstr "" "畫面輸入 <command>boot cdrom</command>。" #. (itstool) path: sect2/title -#: book.translate.xml:3535 +#: book.translate.xml:3550 msgid "FreeBSD Boot Menu" msgstr "FreeBSD 開機選單" #. (itstool) path: sect2/para -#: book.translate.xml:3537 +#: book.translate.xml:3552 msgid "" "Once the system boots from the installation media, a menu similar to the " "following will be displayed:" msgstr "從安裝媒體開機之後,會顯示如下的選單:" #. (itstool) path: figure/title -#: book.translate.xml:3541 +#: book.translate.xml:3556 msgid "FreeBSD Boot Loader Menu" msgstr "FreeBSD 開機載入程式選單" @@ -4416,14 +4435,14 @@ msgstr "FreeBSD 開機載入程式選單" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:3545 +#: book.translate.xml:3560 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-newboot-loader-menu' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:3550 +#: book.translate.xml:3565 msgid "" "By default, the menu will wait ten seconds for user input before booting " "into the FreeBSD installer or, if FreeBSD is already installed, before " @@ -4437,57 +4456,57 @@ msgstr "" "以下選項可選。" #. (itstool) path: listitem/para -#: book.translate.xml:3560 +#: book.translate.xml:3575 msgid "" "<literal>Boot Multi User</literal>: This will continue the FreeBSD boot " "process. If the boot timer has been paused, press <keycap>1</keycap>, upper- " "or lower-case <keycap>B</keycap>, or <keycap>Enter</keycap>." msgstr "" -"啟動多使用者模式 (<literal>Boot Multi User</literal>): 這個選項會繼續 " +"啟動多使用者模式 (<literal>Boot Multi User</literal>):這個選項會繼續 " "FreeBSD 開機程序,若開機計時器已經暫停,可按 <keycap>1</keycap>、大寫或小寫 " "<keycap>B</keycap> 或 <keycap>Enter</keycap> 鍵。" #. (itstool) path: listitem/para -#: book.translate.xml:3568 +#: book.translate.xml:3583 msgid "" "<literal>Boot Single User</literal>: This mode can be used to fix an " "existing FreeBSD installation as described in <xref linkend=\"boot-singleuser" "\"/>. Press <keycap>2</keycap> or the upper- or lower-case <keycap>S</" "keycap> to enter this mode." msgstr "" -"啟動單使用者模式 (<literal>Boot Single User</literal>): 這個模式用來修正已安" +"啟動單使用者模式 (<literal>Boot Single User</literal>):這個模式用來修正已安" "裝的 FreeBSD,如 <xref linkend=\"boot-singleuser\"/> 所述。可按 <keycap>2</" "keycap>、大寫或小寫 <keycap>S</keycap> 進入這個模式。" #. (itstool) path: listitem/para -#: book.translate.xml:3576 +#: book.translate.xml:3591 msgid "" "<literal>Escape to loader prompt</literal>: This will boot the system into a " "repair prompt that contains a limited number of low-level commands. This " "prompt is described in <xref linkend=\"boot-loader\"/>. Press <keycap>3</" "keycap> or <keycap>Esc</keycap> to boot into this prompt." msgstr "" -"離開到載入程式提示 (<literal>Escape to loader prompt</literal>): 這個選項會開" +"離開到載入程式提示 (<literal>Escape to loader prompt</literal>):這個選項會開" "機進入修復提示,這個模式含有有限數量的低階指令,這個模式詳細說明於 <xref " "linkend=\"boot-loader\"/>。可按 <keycap>3</keycap> 或 <keycap>Esc</keycap> 進" "入這個提示。" #. (itstool) path: listitem/para -#: book.translate.xml:3585 +#: book.translate.xml:3600 msgid "<literal>Reboot</literal>: Reboots the system." -msgstr "重新開機 (<literal>Reboot</literal>): 重新開啟系統。" +msgstr "重新開機 (<literal>Reboot</literal>):重新開啟系統。" #. (itstool) path: listitem/para -#: book.translate.xml:3589 +#: book.translate.xml:3604 msgid "" "<literal>Configure Boot Options</literal>: Opens the menu shown in, and " "described under, <xref linkend=\"bsdinstall-boot-options-menu\"/>." msgstr "" -"設定開機選項 (<literal>Configure Boot Options</literal>): 開啟內部選單,詳細" +"設定開機選項 (<literal>Configure Boot Options</literal>):開啟內部選單,詳細" "說明於 <xref linkend=\"bsdinstall-boot-options-menu\"/>。" #. (itstool) path: figure/title -#: book.translate.xml:3595 +#: book.translate.xml:3610 msgid "FreeBSD Boot Options Menu" msgstr "FreeBSD 開機選項選單" @@ -4496,13 +4515,13 @@ msgstr "FreeBSD 開機選項選單" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:3599 +#: book.translate.xml:3614 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-boot-options-menu' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:3604 +#: book.translate.xml:3619 msgid "" "The boot options menu is divided into two sections. The first section can be " "used to either return to the main boot menu or to reset any toggled options " @@ -4512,7 +4531,7 @@ msgstr "" "回預設值。" #. (itstool) path: sect2/para -#: book.translate.xml:3609 +#: book.translate.xml:3624 msgid "" "The next section is used to toggle the available options to <literal>On</" "literal> or <literal>Off</literal> by pressing the option's highlighted " @@ -4525,49 +4544,49 @@ msgstr "" "到選項被修改。有數個選項可以在這個選單做切換:" #. (itstool) path: listitem/para -#: book.translate.xml:3618 +#: book.translate.xml:3633 msgid "" "<literal>ACPI Support</literal>: If the system hangs during boot, try " "toggling this option to <literal>Off</literal>." msgstr "" -"ACPI 支援 (<literal>ACPI Support</literal>): 若系統在開機時卡住,可嘗試切換這" +"ACPI 支援 (<literal>ACPI Support</literal>):若系統在開機時卡住,可嘗試切換這" "個選項為關 (<literal>Off</literal>)。" #. (itstool) path: listitem/para -#: book.translate.xml:3624 +#: book.translate.xml:3639 msgid "" "<literal>Safe Mode</literal>: If the system still hangs during boot even " "with <literal>ACPI Support</literal> set to <literal>Off</literal>, try " "setting this option to <literal>On</literal>." msgstr "" -"安全模式 (<literal>Safe Mode</literal>): 若系統在 ACPI 支援 (<literal>ACPI " +"安全模式 (<literal>Safe Mode</literal>):若系統在 ACPI 支援 (<literal>ACPI " "Support</literal>) 設為關 (<literal>Off</literal>) 時開機時仍然會卡住,可嘗試" "將此選項設為開 (<literal>On</literal>)。" #. (itstool) path: listitem/para -#: book.translate.xml:3631 +#: book.translate.xml:3646 msgid "" "<literal>Single User</literal>: Toggle this option to <literal>On</literal> " "to fix an existing FreeBSD installation as described in <xref linkend=\"boot-" "singleuser\"/>. Once the problem is fixed, set it back to <literal>Off</" "literal>." msgstr "" -"單使用者 (<literal>Single User</literal>): 切換這個選項為開 (<literal>On</" +"單使用者 (<literal>Single User</literal>):切換這個選項為開 (<literal>On</" "literal>) 來修正已存在的 FreeBSD 如 <xref linkend=\"boot-singleuser\"/> 所" "述,問題修正後,將其設回關 (<literal>Off</literal>)。" #. (itstool) path: listitem/para -#: book.translate.xml:3639 +#: book.translate.xml:3654 msgid "" "<literal>Verbose</literal>: Toggle this option to <literal>On</literal> to " "see more detailed messages during the boot process. This can be useful when " "troubleshooting a piece of hardware." msgstr "" -"詳細資訊 (<literal>Verbose</literal>): 切換這個選項為開 (<literal>On</" +"詳細資訊 (<literal>Verbose</literal>):切換這個選項為開 (<literal>On</" "literal>) 來查看開機程序中更詳細的訊息,這在診斷硬體問題時非常有用。" #. (itstool) path: sect2/para -#: book.translate.xml:3646 +#: book.translate.xml:3661 msgid "" "After making the needed selections, press <keycap>1</keycap> or " "<keycap>Backspace</keycap> to return to the main boot menu, then press " @@ -4582,7 +4601,7 @@ msgstr "" "選單如 <xref linkend=\"bsdinstall-choose-mode\"/>。" #. (itstool) path: figure/title -#: book.translate.xml:3655 +#: book.translate.xml:3670 msgid "Welcome Menu" msgstr "歡迎選單" @@ -4591,13 +4610,13 @@ msgstr "歡迎選單" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:3659 +#: book.translate.xml:3674 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-choose-mode' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:3664 +#: book.translate.xml:3679 msgid "" "Press <keycap>Enter</keycap> to select the default of " "<guibutton>[ Install ]</guibutton> to enter the installer. The rest of this " @@ -4617,7 +4636,7 @@ msgstr "" "本的詳細說明於 <xref linkend=\"using-live-cd\"/>。" #. (itstool) path: tip/para -#: book.translate.xml:3677 +#: book.translate.xml:3692 msgid "" "To review the boot messages, including the hardware device probe, press the " "upper- or lower-case <keycap>S</keycap> and then <keycap>Enter</keycap> to " @@ -4631,12 +4650,12 @@ msgstr "" "<command>exit</command> 返回歡迎選單。" #. (itstool) path: sect1/title -#: book.translate.xml:3690 +#: book.translate.xml:3705 msgid "Using <application>bsdinstall</application>" msgstr "使用 <application>bsdinstall</application>" #. (itstool) path: sect1/para -#: book.translate.xml:3692 +#: book.translate.xml:3707 msgid "" "This section shows the order of the <application>bsdinstall</application> " "menus and the type of information that will be asked before the system is " @@ -4651,12 +4670,12 @@ msgstr "" "選項然後進入下一個畫面。" #. (itstool) path: sect2/title -#: book.translate.xml:3701 +#: book.translate.xml:3716 msgid "Selecting the Keymap Menu" msgstr "選擇鍵盤對應表選單" #. (itstool) path: sect2/para -#: book.translate.xml:3703 +#: book.translate.xml:3718 msgid "" "Depending on the system console being used, <application>bsdinstall</" "application> may initially display the menu shown in <xref linkend=" @@ -4666,7 +4685,7 @@ msgstr "" "的選單會如 <xref linkend=\"bsdinstall-keymap-select-default\"/>。" #. (itstool) path: figure/title -#: book.translate.xml:3708 +#: book.translate.xml:3723 msgid "Keymap Selection" msgstr "鍵盤對應表選擇" @@ -4675,14 +4694,14 @@ msgstr "鍵盤對應表選擇" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:3712 +#: book.translate.xml:3727 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-keymap-select-default' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:3717 +#: book.translate.xml:3732 msgid "" "To configure the keyboard layout, press <keycap>Enter</keycap> with " "<guibutton>[ YES ]</guibutton> selected, which will display the menu shown " @@ -4696,7 +4715,7 @@ msgstr "" "<keycap>Enter</keycap> 跳過這個選單畫面。" #. (itstool) path: figure/title -#: book.translate.xml:3726 +#: book.translate.xml:3741 msgid "Selecting Keyboard Menu" msgstr "選擇鍵盤選單" @@ -4705,13 +4724,13 @@ msgstr "選擇鍵盤選單" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:3730 +#: book.translate.xml:3745 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-config-keymap' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:3735 +#: book.translate.xml:3750 msgid "" "When configuring the keyboard layout, use the up and down arrows to select " "the keymap that most closely represents the mapping of the keyboard attached " @@ -4721,18 +4740,18 @@ msgstr "" "(Keymap),然後按下 <keycap>Enter</keycap> 儲存選項。" #. (itstool) path: note/para -#: book.translate.xml:3741 +#: book.translate.xml:3756 msgid "" "Pressing <keycap>Esc</keycap> will exit this menu and use the default " "keymap. If the choice of keymap is not clear, <guimenuitem>United States of " "America ISO-8859-1</guimenuitem> is also a safe option." msgstr "" -"按 <keycap>Esc</keycap> 會離開這個選單然後使用預設的鍵盤對應表,若不清選要使" +"按 <keycap>Esc</keycap> 會離開這個選單然後使用預設的鍵盤對應表,若不清楚要使" "用那種鍵盤對應表,<guimenuitem>United States of America ISO-8859-1</" "guimenuitem> 是也是保險的選項。" #. (itstool) path: sect2/para -#: book.translate.xml:3747 +#: book.translate.xml:3762 msgid "" "In FreeBSD 10.0-RELEASE and later, this menu has been enhanced. The full " "selection of keymaps is shown, with the default preselected. In addition, " @@ -4744,7 +4763,7 @@ msgstr "" "對話框讓使用者測試鍵盤對應表來確認。" #. (itstool) path: figure/title -#: book.translate.xml:3754 +#: book.translate.xml:3769 msgid "Enhanced Keymap Menu" msgstr "改進後的鍵盤對應表選單" @@ -4753,19 +4772,19 @@ msgstr "改進後的鍵盤對應表選單" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:3758 +#: book.translate.xml:3773 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-keymap-10' md5='__failed__'" msgstr "" #. (itstool) path: sect2/title #. (itstool) path: figure/title -#: book.translate.xml:3766 book.translate.xml:3773 +#: book.translate.xml:3781 book.translate.xml:3788 msgid "Setting the Hostname" msgstr "設定主機名稱" #. (itstool) path: sect2/para -#: book.translate.xml:3768 +#: book.translate.xml:3783 msgid "" "The next <application>bsdinstall</application> menu is used to set the " "hostname for the newly installed system." @@ -4778,13 +4797,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:3777 +#: book.translate.xml:3792 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-config-hostname' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:3782 +#: book.translate.xml:3797 msgid "" "Type in a hostname that is unique for the network. It should be a fully-" "qualified hostname, such as <systemitem class=\"fqdomainname\">machine3." @@ -4795,12 +4814,12 @@ msgstr "" #. (itstool) path: sect2/title #. (itstool) path: figure/title -#: book.translate.xml:3787 book.translate.xml:3793 +#: book.translate.xml:3802 book.translate.xml:3808 msgid "Selecting Components to Install" msgstr "選擇要安裝的元件" #. (itstool) path: sect2/para -#: book.translate.xml:3789 +#: book.translate.xml:3804 msgid "" "Next, <application>bsdinstall</application> will prompt to select optional " "components to install." @@ -4812,13 +4831,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:3797 +#: book.translate.xml:3812 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-config-components' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:3802 +#: book.translate.xml:3817 msgid "" "Deciding which components to install will depend largely on the intended use " "of the system and the amount of disk space available. The FreeBSD kernel and " @@ -4828,10 +4847,10 @@ msgid "" msgstr "" "決定要安裝的元件主要會根據系統的用途以及可用的磁碟空間容量。FreeBSD 核心 " "(Kernel) 及 Userland 統稱為 <firstterm>基礎系統 (Base system)</firstterm>,是" -"必須安裝的部份。依據系統的架構,部份元件可能不會顯示:" +"必須安裝的部份。依據系統的架構,部份元件可能不會顯示:" #. (itstool) path: listitem/para -#: book.translate.xml:3811 +#: book.translate.xml:3826 msgid "" "<literal>doc</literal> - Additional documentation, mostly of historical " "interest, to install into <filename>/usr/share/doc</filename>. The " @@ -4845,7 +4864,7 @@ msgstr "" "操作。" #. (itstool) path: listitem/para -#: book.translate.xml:3819 +#: book.translate.xml:3834 msgid "" "<literal>games</literal> - Several traditional <acronym>BSD</acronym> games, " "including <application>fortune</application>, <application>rot13</" @@ -4856,7 +4875,7 @@ msgstr "" "他。" #. (itstool) path: listitem/para -#: book.translate.xml:3826 +#: book.translate.xml:3841 msgid "" "<literal>lib32</literal> - Compatibility libraries for running 32-bit " "applications on a 64-bit version of FreeBSD." @@ -4865,7 +4884,7 @@ msgstr "" "用的相容性程式庫。" #. (itstool) path: listitem/para -#: book.translate.xml:3832 +#: book.translate.xml:3847 msgid "" "<literal>ports</literal> - The FreeBSD Ports Collection is a collection of " "files which automates the downloading, compiling and installation of third-" @@ -4876,7 +4895,7 @@ msgstr "" "方軟體套件的集合,<xref linkend=\"ports\"/> 中會討論到如何使用 Port 套件集。" #. (itstool) path: warning/para -#: book.translate.xml:3839 +#: book.translate.xml:3854 msgid "" "The installation program does not check for adequate disk space. Select this " "option only if sufficient hard disk space is available. The FreeBSD Ports " @@ -4886,7 +4905,7 @@ msgstr "" "磁碟空間,只有在有足夠的磁碟空間時才選擇這個選項。" #. (itstool) path: listitem/para -#: book.translate.xml:3848 +#: book.translate.xml:3863 msgid "" "<literal>src</literal> - The complete FreeBSD source code for both the " "kernel and the userland. Although not required for the majority of " @@ -4903,12 +4922,12 @@ msgstr "" #. (itstool) path: sect2/title #. (itstool) path: figure/title -#: book.translate.xml:3861 book.translate.xml:3872 +#: book.translate.xml:3876 book.translate.xml:3887 msgid "Installing from the Network" msgstr "從網路安裝" #. (itstool) path: sect2/para -#: book.translate.xml:3863 +#: book.translate.xml:3878 msgid "" "The menu shown in <xref linkend=\"bsdinstall-netinstall-notify\"/> only " "appears when installing from a <filename>-bootonly.iso</filename> " @@ -4927,13 +4946,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:3876 +#: book.translate.xml:3891 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-netinstall-files' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:3881 +#: book.translate.xml:3896 msgid "" "To configure the network connection, press <keycap>Enter</keycap> and follow " "the instructions in <xref linkend=\"bsdinstall-config-network-dev\"/>. Once " @@ -4948,7 +4967,7 @@ msgstr "" "載的速度會比較快,這會減少安裝的時間。" #. (itstool) path: figure/title -#: book.translate.xml:3890 +#: book.translate.xml:3905 msgid "Choosing a Mirror" msgstr "選擇鏡像站" @@ -4957,26 +4976,26 @@ msgstr "選擇鏡像站" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:3894 +#: book.translate.xml:3909 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-netinstall-mirrorselect' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:3899 +#: book.translate.xml:3914 msgid "" "Installation will then continue as if the installation files were located on " "the local installation media." msgstr "若在本機的安裝媒體中找到安裝檔案,安裝程序便會繼續。" #. (itstool) path: sect1/title -#: book.translate.xml:3905 +#: book.translate.xml:3920 msgid "Allocating Disk Space" msgstr "配置磁碟空間" #. (itstool) path: sect1/para -#: book.translate.xml:3907 +#: book.translate.xml:3922 msgid "" "The next menu is used to determine the method for allocating disk space. The " "options available in the menu depend upon the version of FreeBSD being " @@ -4986,7 +5005,7 @@ msgstr "" "本而有所不同。" #. (itstool) path: figure/title -#: book.translate.xml:3912 +#: book.translate.xml:3927 msgid "Partitioning Choices on FreeBSD 9.x" msgstr "FreeBSD 9.x 的磁碟分割選項" @@ -4995,14 +5014,14 @@ msgstr "FreeBSD 9.x 的磁碟分割選項" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:3916 +#: book.translate.xml:3931 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-part-guided-manual' md5='__failed__'" msgstr "" #. (itstool) path: figure/title -#: book.translate.xml:3922 +#: book.translate.xml:3937 msgid "Partitioning Choices on FreeBSD 10.x and Higher" msgstr "FreeBSD 10.x 或更新版本的磁碟分割選項" @@ -5011,13 +5030,13 @@ msgstr "FreeBSD 10.x 或更新版本的磁碟分割選項" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:3926 +#: book.translate.xml:3941 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-zfs-partmenu' md5='__failed__'" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:3931 +#: book.translate.xml:3946 msgid "" "<literal>Guided</literal> partitioning automatically sets up the disk " "partitions, <literal>Manual</literal> partitioning allows advanced users to " @@ -5045,7 +5064,7 @@ msgstr "" "firstterm>。" #. (itstool) path: sect1/para -#: book.translate.xml:3942 +#: book.translate.xml:3957 msgid "" "This section describes what to consider when laying out the disk partitions. " "It then demonstrates how to use the different partitioning methods." @@ -5053,32 +5072,32 @@ msgstr "" "本節會介紹在配置磁碟分割時需要考量那些事情,並且會示範各種磁碟分割的方式。" #. (itstool) path: sect2/title -#: book.translate.xml:3947 +#: book.translate.xml:3962 msgid "Designing the Partition Layout" msgstr "規劃分割區配置" #. (itstool) path: sect2/indexterm -#: book.translate.xml:3949 +#: book.translate.xml:3964 msgid "<primary>partition layout</primary>" msgstr "<primary>分割區配置</primary>" #. (itstool) path: sect2/indexterm -#: book.translate.xml:3950 +#: book.translate.xml:3965 msgid "<primary><filename>/etc</filename></primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:3953 +#: book.translate.xml:3968 msgid "<primary><filename>/var</filename></primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:3956 +#: book.translate.xml:3971 msgid "<primary><filename>/usr</filename></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:3960 +#: book.translate.xml:3975 msgid "" "When laying out file systems, remember that hard drives transfer data faster " "from the outer tracks to the inner. Thus, smaller and heavier-accessed file " @@ -5088,13 +5107,13 @@ msgid "" "similar to: <filename>/</filename>, swap, <filename>/var</filename>, and " "<filename>/usr</filename>." msgstr "" -"配置檔案系統時要記得硬碟的傳輸資料外軌較內軌的速度快,因此較小且大量存取的檔" +"配置檔案系統時要記得硬碟的資料傳輸的速度外軌較內軌快,因此較小且大量存取的檔" "案系統應要較接近磁碟的外軌,而較大的分割區如 <filename>/usr</filename> 應放置" -"在磁碟較內部,建議建立分割區的順序如下: <filename>/</filename>, swap, " +"在磁碟較內部,建議建立分割區的順序如下:<filename>/</filename>, swap, " "<filename>/var</filename> 然後 <filename>/usr</filename>。" #. (itstool) path: sect2/para -#: book.translate.xml:3970 +#: book.translate.xml:3985 msgid "" "The size of the <filename>/var</filename> partition reflects the intended " "machine's usage. This partition is used to hold mailboxes, log files, and " @@ -5103,13 +5122,13 @@ msgid "" "average, most users rarely need more than about a gigabyte of free disk " "space in <filename>/var</filename>." msgstr "" -"機器預期的用途會反映在 <filename>/var</filename> 分割區的大小,這個分割區用來" -"保存郵件 (Mailbox)、記錄檔 (Log file) 及印表機緩衝 (Spool)。依使用者數及保存" -"的期間,郵件及記錄檔可能成長到無法預期的大小,一般來說大部份的使用很少會在 " +"機器預期的用途會反映到 <filename>/var</filename> 分割區的大小,這個分割區用來" +"保存郵件 (Mailbox)、日誌檔 (Log file) 及印表機緩衝 (Spool)。依使用者數及保存" +"的期間,郵件及日誌檔可能成長到無法預期的大小,一般來說大部份的使用很少會在 " "<filename>/var</filename> 需要超過 1 GB 的可用磁碟空間。" #. (itstool) path: note/para -#: book.translate.xml:3980 +#: book.translate.xml:3995 msgid "" "Sometimes, a lot of disk space is required in <filename>/var/tmp</filename>. " "When new software is installed, the packaging tools extract a temporary copy " @@ -5126,7 +5145,7 @@ msgstr "" "application> 或 <application>LibreOffice</application> 會很困難。" #. (itstool) path: sect2/para -#: book.translate.xml:3991 +#: book.translate.xml:4006 msgid "" "The <filename>/usr</filename> partition holds many of the files which " "support the system, including the FreeBSD Ports Collection and system source " @@ -5136,7 +5155,7 @@ msgstr "" "Port 套件集以及系統原始碼。這個分割區建議至少要有 2 GB 的空間。" #. (itstool) path: sect2/para -#: book.translate.xml:3996 +#: book.translate.xml:4011 msgid "" "When selecting partition sizes, keep the space requirements in mind. Running " "out of space in one partition while barely using another can be a hassle." @@ -5145,17 +5164,17 @@ msgstr "" "區時會很麻煩。" #. (itstool) path: sect2/indexterm -#: book.translate.xml:4000 +#: book.translate.xml:4015 msgid "<primary>swap sizing</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:4003 +#: book.translate.xml:4018 msgid "<primary>swap partition</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4007 +#: book.translate.xml:4022 msgid "" "As a rule of thumb, the swap partition should be about double the size of " "physical memory (<acronym>RAM</acronym>). Systems with minimal <acronym>RAM</" @@ -5169,7 +5188,7 @@ msgstr "" "往後增加更多記憶體時可能會產生問題。" #. (itstool) path: sect2/para -#: book.translate.xml:4015 +#: book.translate.xml:4030 msgid "" "On larger systems with multiple <acronym>SCSI</acronym> disks or multiple " "<acronym>IDE</acronym> disks operating on different controllers, it is " @@ -5189,7 +5208,7 @@ msgstr "" "換空間,這也會讓要從失控的程式恢復運作更容易,而不需強制重新啟動系統。" #. (itstool) path: sect2/para -#: book.translate.xml:4028 +#: book.translate.xml:4043 msgid "" "By properly partitioning a system, fragmentation introduced in the smaller " "write heavy partitions will not bleed over into the mostly read partitions. " @@ -5207,12 +5226,12 @@ msgstr "" "顯著。" #. (itstool) path: sect2/title -#: book.translate.xml:4041 +#: book.translate.xml:4056 msgid "Guided Partitioning" msgstr "引導式磁碟分割" #. (itstool) path: sect2/para -#: book.translate.xml:4043 +#: book.translate.xml:4058 msgid "" "When this method is selected, a menu will display the available disk(s). If " "multiple disks are connected, choose the one where FreeBSD is to be " @@ -5222,7 +5241,7 @@ msgstr "" "個來安裝 FreeBSD。" #. (itstool) path: figure/title -#: book.translate.xml:4048 +#: book.translate.xml:4063 msgid "Selecting from Multiple Disks" msgstr "自多個磁碟選擇" @@ -5231,13 +5250,13 @@ msgstr "自多個磁碟選擇" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4052 +#: book.translate.xml:4067 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-part-guided-disk' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4057 +#: book.translate.xml:4072 msgid "" "Once the disk is selected, the next menu prompts to install to either the " "entire disk or to create a partition using free space. If " @@ -5252,7 +5271,7 @@ msgstr "" "未使用的空間來建立分割區配置。" #. (itstool) path: figure/title -#: book.translate.xml:4067 +#: book.translate.xml:4082 msgid "Selecting Entire Disk or Partition" msgstr "選擇完整磁碟或分割區" @@ -5261,13 +5280,13 @@ msgstr "選擇完整磁碟或分割區" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4071 +#: book.translate.xml:4086 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-part-entire-part' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4076 +#: book.translate.xml:4091 msgid "" "After the partition layout has been created, review it to ensure it meets " "the needs of the installation. Selecting <guibutton>[ Revert ]</guibutton> " @@ -5284,7 +5303,7 @@ msgstr "" "<guibutton>[ Finish ]</guibutton> 繼續安裝。" #. (itstool) path: figure/title -#: book.translate.xml:4087 +#: book.translate.xml:4102 msgid "Review Created Partitions" msgstr "確認已建立的分割區" @@ -5293,23 +5312,23 @@ msgstr "確認已建立的分割區" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4091 +#: book.translate.xml:4106 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-part-review' md5='__failed__'" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:4098 +#: book.translate.xml:4113 msgid "Manual Partitioning" msgstr "手動磁碟分割" #. (itstool) path: sect2/para -#: book.translate.xml:4100 +#: book.translate.xml:4115 msgid "Selecting this method opens the partition editor:" msgstr "選擇這個方法會開啟分割區編輯程式:" #. (itstool) path: figure/title -#: book.translate.xml:4103 book.translate.xml:4118 book.translate.xml:4189 +#: book.translate.xml:4118 book.translate.xml:4133 book.translate.xml:4204 msgid "Manually Create Partitions" msgstr "手動建立分割區" @@ -5318,14 +5337,14 @@ msgstr "手動建立分割區" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4107 +#: book.translate.xml:4122 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-part-manual-create' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4112 +#: book.translate.xml:4127 msgid "" "Highlight the installation drive (<filename>ada0</filename> in this example) " "and select <guibutton>[ Create ]</guibutton> to display a menu of available " @@ -5333,21 +5352,21 @@ msgid "" msgstr "" "選擇要安裝的磁碟機 (在這個例子為 <filename>ada0</filename>) 然後選擇 " "<guibutton>[ Create ]</guibutton> 會以選單顯示可用的分割表格式 (Partition " -"scheme):" +"scheme):" #. (itstool) path: imageobject/imagedata #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4122 +#: book.translate.xml:4137 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-part-manual-partscheme' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4127 +#: book.translate.xml:4142 msgid "" "<acronym>GPT</acronym> is usually the most appropriate choice for amd64 " "computers. Older computers that are not compatible with <acronym>GPT</" @@ -5359,33 +5378,33 @@ msgstr "" "那些較罕見或較舊的電腦上。" #. (itstool) path: table/title -#: book.translate.xml:4134 +#: book.translate.xml:4149 msgid "Partitioning Schemes" msgstr "磁碟分割表格式" #. (itstool) path: row/entry -#: book.translate.xml:4139 +#: book.translate.xml:4154 msgid "Abbreviation" msgstr "縮寫" #. (itstool) path: row/entry -#: book.translate.xml:4140 book.translate.xml:7098 book.translate.xml:8441 -#: book.translate.xml:11780 book.translate.xml:22975 book.translate.xml:23154 -#: book.translate.xml:27235 book.translate.xml:31223 book.translate.xml:42950 -#: book.translate.xml:52771 book.translate.xml:53278 book.translate.xml:54037 -#: book.translate.xml:54078 book.translate.xml:55404 book.translate.xml:65535 +#: book.translate.xml:4155 book.translate.xml:7113 book.translate.xml:8456 +#: book.translate.xml:11794 book.translate.xml:23000 book.translate.xml:23179 +#: book.translate.xml:27289 book.translate.xml:31277 book.translate.xml:43004 +#: book.translate.xml:52825 book.translate.xml:53332 book.translate.xml:54091 +#: book.translate.xml:54132 book.translate.xml:55458 book.translate.xml:65535 msgid "Description" msgstr "說明" #. (itstool) path: row/entry #. (itstool) path: glossentry/glossterm #. (itstool) path: glossentry/acronym -#: book.translate.xml:4146 book.translate.xml:65535 +#: book.translate.xml:4161 book.translate.xml:65535 msgid "APM" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:4147 +#: book.translate.xml:4162 msgid "" "Apple Partition Map, used by <trademark class=\"registered\">PowerPC</" "trademark>." @@ -5396,12 +5415,12 @@ msgstr "" #. (itstool) path: row/entry #. (itstool) path: glossentry/glossterm #. (itstool) path: glossentry/acronym -#: book.translate.xml:4151 book.translate.xml:65535 +#: book.translate.xml:4166 book.translate.xml:65535 msgid "BSD" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:4152 +#: book.translate.xml:4167 msgid "" "<acronym>BSD</acronym> label without an <acronym>MBR</acronym>, sometimes " "called <firstterm>dangerously dedicated mode</firstterm> as non-" @@ -5412,12 +5431,12 @@ msgstr "" "(Dangerously dedicated mode)</firstterm>。" #. (itstool) path: row/entry -#: book.translate.xml:4160 +#: book.translate.xml:4175 msgid "GPT" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:4161 +#: book.translate.xml:4176 msgid "" "GUID Partition Table (<link xlink:href=\"http://en.wikipedia.org/wiki/" "GUID_Partition_Table\">http://en.wikipedia.org/wiki/GUID_Partition_Table</" @@ -5428,12 +5447,12 @@ msgstr "" "link>)。" #. (itstool) path: row/entry -#: book.translate.xml:4165 +#: book.translate.xml:4180 msgid "MBR" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:4166 +#: book.translate.xml:4181 msgid "" "Master Boot Record (<link xlink:href=\"http://en.wikipedia.org/wiki/" "Master_boot_record\">http://en.wikipedia.org/wiki/Master_boot_record</link>)." @@ -5443,12 +5462,12 @@ msgstr "" "link>)。" #. (itstool) path: row/entry -#: book.translate.xml:4170 +#: book.translate.xml:4185 msgid "PC98" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:4171 +#: book.translate.xml:4186 msgid "" "<acronym>MBR</acronym> variant used by NEC PC-98 computers (<link xlink:href=" "\"http://en.wikipedia.org/wiki/Pc9801\">http://en.wikipedia.org/wiki/Pc9801</" @@ -5459,17 +5478,17 @@ msgstr "" "link>)。" #. (itstool) path: row/entry -#: book.translate.xml:4176 +#: book.translate.xml:4191 msgid "VTOC8" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:4177 +#: book.translate.xml:4192 msgid "Volume Table Of Contents used by Sun SPARC64 and UltraSPARC computers." msgstr "Volume Table Of Contents,用於 Sun SPARC64 及 UltraSPARC 電腦。" #. (itstool) path: sect2/para -#: book.translate.xml:4184 +#: book.translate.xml:4199 msgid "" "After the partitioning scheme has been selected and created, select " "<guibutton>[ Create ]</guibutton> again to create the partitions." @@ -5482,26 +5501,26 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4193 +#: book.translate.xml:4208 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-part-manual-addpart' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4198 +#: book.translate.xml:4213 msgid "" "A standard FreeBSD <acronym>GPT</acronym> installation uses at least three " "partitions:" -msgstr "標準的 FreeBSD <acronym>GPT</acronym> 安裝會使用至少三種分割區:" +msgstr "標準的 FreeBSD <acronym>GPT</acronym> 安裝會使用至少三種分割區:" #. (itstool) path: listitem/para -#: book.translate.xml:4203 +#: book.translate.xml:4218 msgid "<literal>freebsd-boot</literal> - Holds the FreeBSD boot code." msgstr "<literal>freebsd-boot</literal> - 儲存 FreeBSD 開機程式 (Boot code)。" #. (itstool) path: listitem/para -#: book.translate.xml:4208 +#: book.translate.xml:4223 msgid "" "<literal>freebsd-ufs</literal> - A FreeBSD <acronym>UFS</acronym> file " "system." @@ -5509,12 +5528,12 @@ msgstr "" "<literal>freebsd-ufs</literal> - FreeBSD 的 <acronym>UFS</acronym> 檔案系統。" #. (itstool) path: listitem/para -#: book.translate.xml:4213 +#: book.translate.xml:4228 msgid "<literal>freebsd-swap</literal> - FreeBSD swap space." msgstr "<literal>freebsd-swap</literal> - FreeBSD 交換空間。" #. (itstool) path: sect2/para -#: book.translate.xml:4218 +#: book.translate.xml:4233 msgid "" "Another partition type worth noting is <literal>freebsd-zfs</literal>, used " "for partitions that will contain a FreeBSD <acronym>ZFS</acronym> file " @@ -5529,7 +5548,7 @@ msgstr "" "citerefentry> 取得可用的 <acronym>GPT</acronym> 分割區類型說明。" #. (itstool) path: sect2/para -#: book.translate.xml:4224 +#: book.translate.xml:4239 msgid "" "Multiple file system partitions can be created and some people prefer a " "traditional layout with separate partitions for <filename>/</filename>, " @@ -5543,18 +5562,18 @@ msgstr "" "\"bsdinstall-part-manual-splitfs\"/> 的範例。" #. (itstool) path: sect2/para -#: book.translate.xml:4231 +#: book.translate.xml:4246 msgid "" "The <literal>Size</literal> may be entered with common abbreviations: " "<emphasis>K</emphasis> for kilobytes, <emphasis>M</emphasis> for megabytes, " "or <emphasis>G</emphasis> for gigabytes." msgstr "" -"大小 (<literal>Size</literal>) 欄位可以使用常用的縮寫來輸入: <emphasis>K</" +"大小 (<literal>Size</literal>) 欄位可以使用常用的縮寫來輸入:<emphasis>K</" "emphasis> 代表 KB, <emphasis>M</emphasis> 代表 MB, <emphasis>G</emphasis> 代" "表 GB。" #. (itstool) path: tip/para -#: book.translate.xml:4237 +#: book.translate.xml:4252 msgid "" "Proper sector alignment provides the best performance, and making partition " "sizes even multiples of 4K bytes helps to ensure alignment on drives with " @@ -5567,11 +5586,11 @@ msgstr "" "適當的對齊磁碟扇區 (Sector) 會提供最佳的效能,而且讓分割區大小為 4 KB 的偶數" "倍數可協助確保對齊在磁碟機上的 512-byte 或 4K-byte 扇區。一般來說,使用分割區" "大小為 1M 或 1G 的偶數倍數是最簡單的方式確保每個分割區以 4K 的偶數倍數做為開" -"始。唯一一個例外是: <emphasis>freebsd-boot</emphasis> 分割區因目前開機程式 " +"始。唯一一個例外是:<emphasis>freebsd-boot</emphasis> 分割區因目前開機程式 " "(Boot code) 的限制,不可大於 512K。" #. (itstool) path: sect2/para -#: book.translate.xml:4248 +#: book.translate.xml:4263 msgid "" "A <literal>Mountpoint</literal> is needed if the partition will contain a " "file system. If only a single <acronym>UFS</acronym> partition will be " @@ -5582,7 +5601,7 @@ msgstr "" "filename>。" #. (itstool) path: sect2/para -#: book.translate.xml:4253 +#: book.translate.xml:4268 msgid "" "The <literal>Label</literal> is a name by which the partition will be known. " "Drive names or numbers can change if the drive is connected to a different " @@ -5602,7 +5621,7 @@ msgstr "" "且標籤會在 <filename>/dev/</filename> 中有各自的目錄。" #. (itstool) path: tip/para -#: book.translate.xml:4266 +#: book.translate.xml:4281 msgid "" "Use a unique label on every partition to avoid conflicts from identical " "labels. A few letters from the computer's name, use, or location can be " @@ -5616,12 +5635,12 @@ msgstr "" "<acronym>UFS</acronym> 根目錄分割區。" #. (itstool) path: example/title -#: book.translate.xml:4276 +#: book.translate.xml:4291 msgid "Creating Traditional Split File System Partitions" msgstr "建立傳統分割的檔案系統分割區" #. (itstool) path: example/para -#: book.translate.xml:4279 +#: book.translate.xml:4294 msgid "" "For a traditional partition layout where the <filename>/</filename>, " "<filename>/var</filename>, <filename>/tmp</filename>, and <filename>/usr</" @@ -5642,7 +5661,7 @@ msgstr "" "說明使用其他獨一無二的標籤。" #. (itstool) path: example/para -#: book.translate.xml:4292 +#: book.translate.xml:4307 msgid "" "By default, FreeBSD's <filename>gptboot</filename> expects the first " "<acronym>UFS</acronym> partition to be the <filename>/</filename> partition." @@ -5651,113 +5670,113 @@ msgstr "" "acronym> 分割區為 <filename>/</filename> 分割區。" #. (itstool) path: row/entry -#: book.translate.xml:4300 +#: book.translate.xml:4315 msgid "Partition Type" msgstr "分割區類型" #. (itstool) path: row/entry -#: book.translate.xml:4301 +#: book.translate.xml:4316 msgid "Size" msgstr "大小" #. (itstool) path: row/entry -#: book.translate.xml:4302 +#: book.translate.xml:4317 msgid "Mountpoint" msgstr "掛載點" #. (itstool) path: row/entry -#: book.translate.xml:4303 +#: book.translate.xml:4318 msgid "Label" msgstr "標籤" #. (itstool) path: row/entry -#: book.translate.xml:4309 +#: book.translate.xml:4324 msgid "<literal>freebsd-boot</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:4310 +#: book.translate.xml:4325 msgid "<literal>512K</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:4314 book.translate.xml:4328 book.translate.xml:4335 -#: book.translate.xml:4342 +#: book.translate.xml:4329 book.translate.xml:4343 book.translate.xml:4350 +#: book.translate.xml:4357 msgid "<literal>freebsd-ufs</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:4315 book.translate.xml:4329 +#: book.translate.xml:4330 book.translate.xml:4344 msgid "<literal>2G</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:4316 book.translate.xml:7103 +#: book.translate.xml:4331 book.translate.xml:7118 msgid "<filename>/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:4317 +#: book.translate.xml:4332 msgid "<literal>exrootfs</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:4321 +#: book.translate.xml:4336 msgid "<literal>freebsd-swap</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:4322 +#: book.translate.xml:4337 msgid "<literal>4G</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:4324 +#: book.translate.xml:4339 msgid "<literal>exswap</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:4330 +#: book.translate.xml:4345 msgid "<filename>/var</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:4331 +#: book.translate.xml:4346 msgid "<literal>exvarfs</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:4336 +#: book.translate.xml:4351 msgid "<literal>1G</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:4337 +#: book.translate.xml:4352 msgid "<filename>/tmp</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:4338 +#: book.translate.xml:4353 msgid "<literal>extmpfs</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:4343 +#: book.translate.xml:4358 msgid "accept the default (remainder of the disk)" msgstr "接受預設值 (依磁碟提示)" #. (itstool) path: row/entry -#: book.translate.xml:4345 +#: book.translate.xml:4360 msgid "<filename>/usr</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:4346 +#: book.translate.xml:4361 msgid "<literal>exusrfs</literal>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4353 +#: book.translate.xml:4368 msgid "" "After the custom partitions have been created, select <guibutton>[ Finish ]</" "guibutton> to continue with the installation." @@ -5765,12 +5784,12 @@ msgstr "" "自訂的分割區建立完後,選擇 <guibutton>[ Finish ]</guibutton> 繼續安裝。" #. (itstool) path: sect2/title -#: book.translate.xml:4359 +#: book.translate.xml:4374 msgid "Root-on-ZFS Automatic Partitioning" msgstr "Root-on-ZFS 自動磁碟分割" #. (itstool) path: sect2/para -#: book.translate.xml:4361 +#: book.translate.xml:4376 msgid "" "Support for automatic creation of root-on-ZFS installations was added in " "FreeBSD 10.0-RELEASE. This partitioning mode only works with whole disks and " @@ -5799,7 +5818,7 @@ msgstr "" "存池使用。" #. (itstool) path: sect2/para -#: book.translate.xml:4380 +#: book.translate.xml:4395 msgid "" "The main <acronym>ZFS</acronym> configuration menu offers a number of " "options to control the creation of the pool." @@ -5807,7 +5826,7 @@ msgstr "" "主要 <acronym>ZFS</acronym> 設定選單提供了數個設定選項來控制儲存池的建立。" #. (itstool) path: figure/title -#: book.translate.xml:4385 +#: book.translate.xml:4400 msgid "<acronym>ZFS</acronym> Partitioning Menu" msgstr "<acronym>ZFS</acronym> 磁碟分割選單" @@ -5816,13 +5835,13 @@ msgstr "<acronym>ZFS</acronym> 磁碟分割選單" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4389 +#: book.translate.xml:4404 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-zfs-menu' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4394 +#: book.translate.xml:4409 msgid "" "Select <keycap>T</keycap> to configure the <literal>Pool Type</literal> and " "the disk(s) that will constitute the pool. The automatic <acronym>ZFS</" @@ -5847,7 +5866,7 @@ msgstr "" "用 RAID-Z 時,每個配置最佳的磁碟數。" #. (itstool) path: figure/title -#: book.translate.xml:4411 +#: book.translate.xml:4426 msgid "<acronym>ZFS</acronym> Pool Type" msgstr "<acronym>ZFS</acronym> 儲存池類型" @@ -5856,13 +5875,13 @@ msgstr "<acronym>ZFS</acronym> 儲存池類型" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4415 +#: book.translate.xml:4430 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-zfs-vdev_type' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4420 +#: book.translate.xml:4435 msgid "" "Once a <literal>Pool Type</literal> has been selected, a list of available " "disks is displayed, and the user is prompted to select one or more disks to " @@ -5877,7 +5896,7 @@ msgstr "" "返回磁碟清單或取消 (<guibutton><Cancel></guibutton>) 來更改儲存池類型。" #. (itstool) path: figure/title -#: book.translate.xml:4430 +#: book.translate.xml:4445 msgid "Disk Selection" msgstr "磁碟選擇" @@ -5886,13 +5905,13 @@ msgstr "磁碟選擇" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4434 +#: book.translate.xml:4449 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-zfs-disk_select' md5='__failed__'" msgstr "" #. (itstool) path: figure/title -#: book.translate.xml:4440 +#: book.translate.xml:4455 msgid "Invalid Selection" msgstr "無效的選擇" @@ -5901,13 +5920,13 @@ msgstr "無效的選擇" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4444 +#: book.translate.xml:4459 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-zfs-vdev_invalid' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4449 +#: book.translate.xml:4464 msgid "" "If one or more disks are missing from the list, or if disks were attached " "after the installer was started, select <guibutton>- Rescan Devices</" @@ -5922,7 +5941,7 @@ msgstr "" "磁碟,包含磁碟中的分割表以及各種其他資訊如裝置型號與序號 (若有的話)。" #. (itstool) path: figure/title -#: book.translate.xml:4460 +#: book.translate.xml:4475 msgid "Analyzing a Disk" msgstr "分析磁碟" @@ -5931,13 +5950,13 @@ msgstr "分析磁碟" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4464 +#: book.translate.xml:4479 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-zfs-disk_info' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4469 +#: book.translate.xml:4484 msgid "" "The main <acronym>ZFS</acronym> configuration menu also allows the user to " "enter a pool name, disable forcing 4k sectors, enable or disable encryption, " @@ -5952,7 +5971,7 @@ msgstr "" "單上方的安裝 (<guibutton>>>> Install</guibutton>) 選項。" #. (itstool) path: sect2/para -#: book.translate.xml:4479 +#: book.translate.xml:4494 msgid "" "If <acronym>GELI</acronym> disk encryption was enabled, the installer will " "prompt twice for the passphrase to be used to encrypt the disks." @@ -5961,7 +5980,7 @@ msgstr "" "的密碼。" #. (itstool) path: figure/title -#: book.translate.xml:4484 +#: book.translate.xml:4499 msgid "Disk Encryption Password" msgstr "磁碟加密密碼" @@ -5970,13 +5989,13 @@ msgstr "磁碟加密密碼" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4488 +#: book.translate.xml:4503 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-zfs-geli_password' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4493 +#: book.translate.xml:4508 msgid "" "The installer then offers a last chance to cancel before the contents of the " "selected drives are destroyed to create the <acronym>ZFS</acronym> pool." @@ -5985,7 +6004,7 @@ msgstr "" "<acronym>ZFS</acronym> 儲存池的磁碟機。" #. (itstool) path: figure/title -#: book.translate.xml:4498 +#: book.translate.xml:4513 msgid "Last Chance" msgstr "最後修改" @@ -5994,23 +6013,23 @@ msgstr "最後修改" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4502 +#: book.translate.xml:4517 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-zfs-warning' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4507 +#: book.translate.xml:4522 msgid "The installation then proceeds normally." msgstr "然後安裝程序會正常繼續。" #. (itstool) path: sect2/title -#: book.translate.xml:4512 +#: book.translate.xml:4527 msgid "Shell Mode Partitioning" msgstr "Shell 模式磁碟分割" #. (itstool) path: sect2/para -#: book.translate.xml:4514 +#: book.translate.xml:4529 msgid "" "When creating advanced installations, the <application>bsdinstall</" "application> partitioning menus may not provide the level of flexibility " @@ -6029,12 +6048,12 @@ msgstr "" "<application>bsdinstall</application> 繼續安裝程序。" #. (itstool) path: sect1/title -#: book.translate.xml:4529 +#: book.translate.xml:4544 msgid "Committing to the Installation" msgstr "確認安裝" #. (itstool) path: sect1/para -#: book.translate.xml:4531 +#: book.translate.xml:4546 msgid "" "Once the disks are configured, the next menu provides the last chance to " "make changes before the selected hard drive(s) are formatted. If changes " @@ -6048,7 +6067,7 @@ msgstr "" "何變更。" #. (itstool) path: figure/title -#: book.translate.xml:4541 +#: book.translate.xml:4556 msgid "Final Confirmation" msgstr "最後確認" @@ -6057,14 +6076,14 @@ msgstr "最後確認" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4545 +#: book.translate.xml:4560 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-final-confirmation' md5='__failed__'" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:4550 +#: book.translate.xml:4565 msgid "" "To instead start the actual installation, select <guibutton>[ Commit ]</" "guibutton> and press <keycap>Enter</keycap>." @@ -6073,7 +6092,7 @@ msgstr "" "<keycap>Enter</keycap>。" #. (itstool) path: sect1/para -#: book.translate.xml:4554 +#: book.translate.xml:4569 msgid "" "Installation time will vary depending on the distributions chosen, " "installation media, and speed of the computer. A series of messages will " @@ -6083,17 +6102,17 @@ msgstr "" "訊息會告知目前的進度。" #. (itstool) path: sect1/para -#: book.translate.xml:4558 +#: book.translate.xml:4573 msgid "" "First, the installer formats the selected disk(s) and initializes the " "partitions. Next, in the case of a bootonly media, it downloads the selected " "components:" msgstr "" "首先,安裝程式會格式化選擇的磁碟,然後初始化分割區。然後,若使用僅可開機 " -"(Boot only) 的媒體則會開始下載選擇的元件:" +"(Boot only) 的媒體則會開始下載選擇的元件:" #. (itstool) path: figure/title -#: book.translate.xml:4563 +#: book.translate.xml:4578 msgid "Fetching Distribution Files" msgstr "取得發行版檔案" @@ -6102,23 +6121,23 @@ msgstr "取得發行版檔案" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4567 +#: book.translate.xml:4582 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-distfile-fetching' md5='__failed__'" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:4572 +#: book.translate.xml:4587 msgid "" "Next, the integrity of the distribution files is verified to ensure they " "have not been corrupted during download or misread from the installation " "media:" msgstr "" "接著,會檢驗發行版的檔案完整性來確保沒有因下載過程中或安裝媒體的讀取過程中讀" -"取錯誤造成的損壞:" +"取錯誤造成的損壞:" #. (itstool) path: figure/title -#: book.translate.xml:4577 +#: book.translate.xml:4592 msgid "Verifying Distribution Files" msgstr "檢驗發行版檔案" @@ -6127,19 +6146,19 @@ msgstr "檢驗發行版檔案" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4581 +#: book.translate.xml:4596 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-distfile-verifying' md5='__failed__'" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:4586 +#: book.translate.xml:4601 msgid "Finally, the verified distribution files are extracted to the disk:" -msgstr "最後,檢驗過的發行版檔案會被取出儲存至磁碟:" +msgstr "最後,檢驗過的發行版檔案會被取出儲存至磁碟:" #. (itstool) path: figure/title -#: book.translate.xml:4590 +#: book.translate.xml:4605 msgid "Extracting Distribution Files" msgstr "解開發行版檔案" @@ -6148,14 +6167,14 @@ msgstr "解開發行版檔案" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4594 +#: book.translate.xml:4609 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-distfile-extracting' md5='__failed__'" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:4599 +#: book.translate.xml:4614 msgid "" "Once all requested distribution files have been extracted, " "<application>bsdinstall</application> displays the first post-installation " @@ -6166,12 +6185,12 @@ msgstr "" "次安裝後設定畫面,可用的安裝後設定選項會在下一節說明。" #. (itstool) path: sect1/title -#: book.translate.xml:4607 +#: book.translate.xml:4622 msgid "Post-Installation" msgstr "安裝後注意事項" #. (itstool) path: sect1/para -#: book.translate.xml:4609 +#: book.translate.xml:4624 msgid "" "Once FreeBSD is installed, <application>bsdinstall</application> will prompt " "to configure several options before booting into the newly installed system. " @@ -6181,7 +6200,7 @@ msgstr "" "的系統之前提示設定數個選項,本節將介紹這些設定選項。" #. (itstool) path: tip/para -#: book.translate.xml:4615 +#: book.translate.xml:4630 msgid "" "Once the system has booted, <command>bsdconfig</command> provides a menu-" "driven method for configuring the system using these and additional options." @@ -6191,12 +6210,12 @@ msgstr "" #. (itstool) path: sect2/title #. (itstool) path: figure/title -#: book.translate.xml:4622 book.translate.xml:4633 +#: book.translate.xml:4637 book.translate.xml:4648 msgid "Setting the <systemitem class=\"username\">root</systemitem> Password" msgstr "設定 <systemitem class=\"username\">root</systemitem> 密碼" #. (itstool) path: sect2/para -#: book.translate.xml:4626 +#: book.translate.xml:4641 msgid "" "First, the <systemitem class=\"username\">root</systemitem> password must be " "set. While entering the password, the characters being typed are not " @@ -6212,25 +6231,25 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4637 +#: book.translate.xml:4652 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-post-root-passwd' md5='__failed__'" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:4644 +#: book.translate.xml:4659 msgid "Configuring Network Interfaces" msgstr "設定網路介面卡" #. (itstool) path: sect2/para -#: book.translate.xml:4646 +#: book.translate.xml:4661 msgid "" "Next, a list of the network interfaces found on the computer is shown. " "Select the interface to configure." msgstr "接著,會顯示在電腦上找到的網路介面卡清單。請選擇要設定的介面卡。" #. (itstool) path: note/para -#: book.translate.xml:4650 +#: book.translate.xml:4665 msgid "" "The network configuration menus will be skipped if the network was " "previously configured as part of a <emphasis>bootonly</emphasis> " @@ -6240,7 +6259,7 @@ msgstr "" "網路設定選單。" #. (itstool) path: figure/title -#: book.translate.xml:4656 +#: book.translate.xml:4671 msgid "Choose a Network Interface" msgstr "選擇網路介面卡" @@ -6249,7 +6268,7 @@ msgstr "選擇網路介面卡" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4660 +#: book.translate.xml:4675 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-configure-network-interface' " @@ -6257,7 +6276,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4665 +#: book.translate.xml:4680 msgid "" "If an Ethernet interface is selected, the installer will skip ahead to the " "menu shown in <xref linkend=\"bsdinstall-configure-net-ipv4\"/>. If a " @@ -6266,10 +6285,10 @@ msgid "" msgstr "" "若選擇的是乙太網路介面卡,安裝程式會跳過這部份直接到 <xref linkend=" "\"bsdinstall-configure-net-ipv4\"/>,若選擇的是無線網路介面卡,系統則會開始掃" -"描無線存取點 (Wireless Access Point):" +"描無線存取點 (Wireless Access Point):" #. (itstool) path: figure/title -#: book.translate.xml:4671 +#: book.translate.xml:4686 msgid "Scanning for Wireless Access Points" msgstr "掃描無線網路存取點" @@ -6278,14 +6297,14 @@ msgstr "掃描無線網路存取點" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4675 +#: book.translate.xml:4690 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-configure-wireless-scan' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4680 +#: book.translate.xml:4695 msgid "" "Wireless networks are identified by a Service Set Identifier (<acronym>SSID</" "acronym>), a short, unique name given to each network. <acronym>SSIDs</" @@ -6304,7 +6323,7 @@ msgstr "" "題,或者嘗試將電腦移至更靠近存取點的位置,然後再掃描一次。" #. (itstool) path: figure/title -#: book.translate.xml:4692 +#: book.translate.xml:4707 msgid "Choosing a Wireless Network" msgstr "選擇無線網路" @@ -6313,7 +6332,7 @@ msgstr "選擇無線網路" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4696 +#: book.translate.xml:4711 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-configure-wireless-accesspoints' " @@ -6321,7 +6340,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4701 +#: book.translate.xml:4716 msgid "" "Next, enter the encryption information for connecting to the selected " "wireless network. <acronym>WPA2</acronym> encryption is strongly recommended " @@ -6336,7 +6355,7 @@ msgstr "" "(<acronym>PSK</acronym>)。考量安全性,輸入到輸入框的字元會以星號顯示。" #. (itstool) path: figure/title -#: book.translate.xml:4711 +#: book.translate.xml:4726 msgid "WPA2 Setup" msgstr "WPA2 設定" @@ -6345,7 +6364,7 @@ msgstr "WPA2 設定" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4715 +#: book.translate.xml:4730 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-configure-wireless-wpa2setup' " @@ -6353,16 +6372,16 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4720 +#: book.translate.xml:4735 msgid "" "Next, choose whether or not an <acronym>IPv4</acronym> address should be " "configured on the Ethernet or wireless interface:" msgstr "" "接下來,選擇是否要設定乙太網路或無線網路介面卡的 <acronym>IPv4</acronym> 位" -"址: " +"址:" #. (itstool) path: figure/title -#: book.translate.xml:4725 +#: book.translate.xml:4740 msgid "Choose <acronym>IPv4</acronym> Networking" msgstr "選擇 <acronym>IPv4</acronym> 網路" @@ -6371,7 +6390,7 @@ msgstr "選擇 <acronym>IPv4</acronym> 網路" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4729 +#: book.translate.xml:4744 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-configure-network-interface-ipv4' " @@ -6379,7 +6398,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4734 +#: book.translate.xml:4749 msgid "" "There are two methods of <acronym>IPv4</acronym> configuration. " "<acronym>DHCP</acronym> will automatically configure the network interface " @@ -6392,7 +6411,7 @@ msgstr "" "手動輸入位址的資訊來做靜態設定。" #. (itstool) path: note/para -#: book.translate.xml:4742 +#: book.translate.xml:4757 msgid "" "Do not enter random network information as it will not work. If a " "<acronym>DHCP</acronym> server is not available, obtain the information " @@ -6404,7 +6423,7 @@ msgstr "" "列於 <xref linkend=\"bsdinstall-collect-network-information\"/> 的資訊。" #. (itstool) path: sect2/para -#: book.translate.xml:4749 +#: book.translate.xml:4764 msgid "" "If a <acronym>DHCP</acronym> server is available, select <guibutton>[ Yes ]</" "guibutton> in the next menu to automatically configure the network " @@ -6417,7 +6436,7 @@ msgstr "" "acronym> 伺服器並且取得系統的位址資訊時,安裝程式會出現一分鐘左右的停頓。" #. (itstool) path: figure/title -#: book.translate.xml:4757 +#: book.translate.xml:4772 msgid "Choose <acronym>IPv4</acronym> <acronym>DHCP</acronym> Configuration" msgstr "選擇 <acronym>IPv4</acronym> <acronym>DHCP</acronym> 設定" @@ -6426,7 +6445,7 @@ msgstr "選擇 <acronym>IPv4</acronym> <acronym>DHCP</acronym> 設定" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4762 +#: book.translate.xml:4777 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-configure-network-interface-ipv4-dhcp' " @@ -6434,17 +6453,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4767 +#: book.translate.xml:4782 msgid "" "If a <acronym>DHCP</acronym> server is not available, select " "<guibutton>[ No ]</guibutton> and input the following addressing information " "in this menu:" msgstr "" "若沒有可用的 <acronym>DHCP</acronym> 伺服器,則選擇 <guibutton>[ No ]</" -"guibutton> 然後在這個選單中輸入以下位址資訊:" +"guibutton> 然後在這個選單中輸入以下位址資訊:" #. (itstool) path: figure/title -#: book.translate.xml:4772 +#: book.translate.xml:4787 msgid "<acronym>IPv4</acronym> Static Configuration" msgstr "<acronym>IPv4</acronym> 靜態位置設定" @@ -6453,7 +6472,7 @@ msgstr "<acronym>IPv4</acronym> 靜態位置設定" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4776 +#: book.translate.xml:4791 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-configure-network-interface-ipv4-static' " @@ -6461,7 +6480,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:4783 +#: book.translate.xml:4798 msgid "" "<literal>IP Address</literal> - The <acronym>IPv4</acronym> address assigned " "to this computer. The address must be unique and not already in use by " @@ -6471,12 +6490,12 @@ msgstr "" "acronym> 位址。位址必須獨一無二且不可已被其他在區域網路上的設備使用。" #. (itstool) path: listitem/para -#: book.translate.xml:4790 +#: book.translate.xml:4805 msgid "<literal>Subnet Mask</literal> - The subnet mask for the network." msgstr "子網路遮罩 (<literal>Subnet Mask</literal>) - 網路的子網路遮罩。" #. (itstool) path: listitem/para -#: book.translate.xml:4795 +#: book.translate.xml:4810 msgid "" "<literal>Default Router</literal> - The <acronym>IP</acronym> address of the " "network's default gateway." @@ -6485,7 +6504,7 @@ msgstr "" "在網段的預設閘道器。" #. (itstool) path: sect2/para -#: book.translate.xml:4801 +#: book.translate.xml:4816 msgid "" "The next screen will ask if the interface should be configured for " "<acronym>IPv6</acronym>. If <acronym>IPv6</acronym> is available and " @@ -6495,7 +6514,7 @@ msgstr "" "要使用 <acronym>IPv6</acronym>,請選擇 <guibutton>[ Yes ]</guibutton>。" #. (itstool) path: figure/title -#: book.translate.xml:4807 +#: book.translate.xml:4822 msgid "Choose IPv6 Networking" msgstr "選擇 IPv6 網路" @@ -6504,7 +6523,7 @@ msgstr "選擇 IPv6 網路" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4811 +#: book.translate.xml:4826 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-configure-network-interface-ipv6' " @@ -6512,7 +6531,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4816 +#: book.translate.xml:4831 msgid "" "<acronym>IPv6</acronym> also has two methods of configuration. StateLess " "Address AutoConfiguration (<acronym>SLAAC</acronym>) will automatically " @@ -6528,7 +6547,7 @@ msgstr "" "則需要手動輸入網路資訊。" #. (itstool) path: sect2/para -#: book.translate.xml:4824 +#: book.translate.xml:4839 msgid "" "If an <acronym>IPv6</acronym> router is available, select " "<guibutton>[ Yes ]</guibutton> in the next menu to automatically configure " @@ -6540,7 +6559,7 @@ msgstr "" "的位址資訊時,安裝程式會出現一分鐘左右的停頓。" #. (itstool) path: figure/title -#: book.translate.xml:4831 +#: book.translate.xml:4846 msgid "Choose IPv6 SLAAC Configuration" msgstr "選擇 IPv6 SLAAC 設定" @@ -6549,7 +6568,7 @@ msgstr "選擇 IPv6 SLAAC 設定" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4835 +#: book.translate.xml:4850 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-configure-network-interface-slaac' " @@ -6557,17 +6576,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4840 +#: book.translate.xml:4855 msgid "" "If an <acronym>IPv6</acronym> router is not available, select " "<guibutton>[ No ]</guibutton> and input the following addressing information " "in this menu:" msgstr "" "若沒有可用的 <acronym>IPv6</acronym> 路由器,請選擇 <guibutton>[ No ]</" -"guibutton> 然後在這個選單中輸入以下位址資訊:" +"guibutton> 然後在這個選單中輸入以下位址資訊:" #. (itstool) path: figure/title -#: book.translate.xml:4845 +#: book.translate.xml:4860 msgid "IPv6 Static Configuration" msgstr "IPv6 靜態位置設定" @@ -6576,7 +6595,7 @@ msgstr "IPv6 靜態位置設定" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4849 +#: book.translate.xml:4864 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-configure-network-interface-ipv6-static' " @@ -6584,7 +6603,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:4856 +#: book.translate.xml:4871 msgid "" "<literal>IPv6 Address</literal> - The <acronym>IPv6</acronym> address " "assigned to this computer. The address must be unique and not already in use " @@ -6595,7 +6614,7 @@ msgstr "" "備使用。" #. (itstool) path: listitem/para -#: book.translate.xml:4863 +#: book.translate.xml:4878 msgid "" "<literal>Default Router</literal> - The <acronym>IPv6</acronym> address of " "the network's default gateway." @@ -6604,7 +6623,7 @@ msgstr "" "所在網段的預設閘道器。" #. (itstool) path: sect2/para -#: book.translate.xml:4869 +#: book.translate.xml:4884 msgid "" "The last network configuration menu is used to configure the Domain Name " "System (<acronym>DNS</acronym>) resolver, which converts hostnames to and " @@ -6627,7 +6646,7 @@ msgstr "" "<acronym>DNS</acronym> 伺服器。" #. (itstool) path: figure/title -#: book.translate.xml:4883 +#: book.translate.xml:4898 msgid "DNS Configuration" msgstr "DNS 設定" @@ -6636,7 +6655,7 @@ msgstr "DNS 設定" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4887 +#: book.translate.xml:4902 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-configure-network-ipv4-dns' " @@ -6644,12 +6663,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:4894 +#: book.translate.xml:4909 msgid "Setting the Time Zone" msgstr "設定時區" #. (itstool) path: sect2/para -#: book.translate.xml:4896 +#: book.translate.xml:4911 msgid "" "The next menu asks if the system clock uses <acronym>UTC</acronym> or local " "time. When in doubt, select <guibutton>[ No ]</guibutton> to choose the more " @@ -6659,7 +6678,7 @@ msgstr "" "問時可選擇 <guibutton>[ No ]</guibutton>使用更常用的當地時間。" #. (itstool) path: figure/title -#: book.translate.xml:4902 +#: book.translate.xml:4917 msgid "Select Local or UTC Clock" msgstr "選擇本地或 UTC 時鐘" @@ -6668,14 +6687,14 @@ msgstr "選擇本地或 UTC 時鐘" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4906 +#: book.translate.xml:4921 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-set-clock-local-utc' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4911 +#: book.translate.xml:4926 msgid "" "The next series of menus are used to determine the correct local time by " "selecting the geographic region, country, and time zone. Setting the time " @@ -6688,7 +6707,7 @@ msgstr "" "能。" #. (itstool) path: sect2/para -#: book.translate.xml:4918 +#: book.translate.xml:4933 msgid "" "The example shown here is for a machine located in the Eastern time zone of " "the United States. The selections will vary according to the geographical " @@ -6696,7 +6715,7 @@ msgid "" msgstr "此處以位於美國東部時區的機器為例,選擇會依據地理位置不同改變。" #. (itstool) path: figure/title -#: book.translate.xml:4923 +#: book.translate.xml:4938 msgid "Select a Region" msgstr "選擇區域" @@ -6705,20 +6724,20 @@ msgstr "選擇區域" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4927 +#: book.translate.xml:4942 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-timezone-region' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4932 +#: book.translate.xml:4947 msgid "" "The appropriate region is selected using the arrow keys and then pressing " "<keycap>Enter</keycap>." msgstr "使用方向鍵選擇適當的區域然後按下 <keycap>Enter</keycap>。" #. (itstool) path: figure/title -#: book.translate.xml:4936 +#: book.translate.xml:4951 msgid "Select a Country" msgstr "選擇城市" @@ -6727,20 +6746,20 @@ msgstr "選擇城市" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4940 +#: book.translate.xml:4955 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-timezone-country' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4945 +#: book.translate.xml:4960 msgid "" "Select the appropriate country using the arrow keys and press <keycap>Enter</" "keycap>." msgstr "使用方向鍵選擇適當的城市然後按下 <keycap>Enter</keycap>。" #. (itstool) path: figure/title -#: book.translate.xml:4949 +#: book.translate.xml:4964 msgid "Select a Time Zone" msgstr "選擇時區" @@ -6749,20 +6768,20 @@ msgstr "選擇時區" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4953 +#: book.translate.xml:4968 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-timezone-zone' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4958 +#: book.translate.xml:4973 msgid "" "The appropriate time zone is selected using the arrow keys and pressing " "<keycap>Enter</keycap>." msgstr "使用方向鍵選擇適當的時區然後按下 <keycap>Enter</keycap>。" #. (itstool) path: figure/title -#: book.translate.xml:4962 +#: book.translate.xml:4977 msgid "Confirm Time Zone" msgstr "確認時區" @@ -6771,13 +6790,13 @@ msgstr "確認時區" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4966 +#: book.translate.xml:4981 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-timezone-confirm' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4971 +#: book.translate.xml:4986 msgid "" "Confirm the abbreviation for the time zone is correct. If it is, press " "<keycap>Enter</keycap> to continue with the post-installation configuration." @@ -6785,12 +6804,12 @@ msgstr "" "確認時區的縮寫是否正確,若正確,按下 <keycap>Enter</keycap> 繼續安裝後設定。" #. (itstool) path: sect2/title -#: book.translate.xml:4977 +#: book.translate.xml:4992 msgid "Enabling Services" msgstr "開啟服務" #. (itstool) path: sect2/para -#: book.translate.xml:4979 +#: book.translate.xml:4994 msgid "" "The next menu is used to configure which system services will be started " "whenever the system boots. All of these services are optional. Only start " @@ -6800,7 +6819,7 @@ msgstr "" "開啟系統運作真正需要的服務。" #. (itstool) path: figure/title -#: book.translate.xml:4985 +#: book.translate.xml:5000 msgid "Selecting Additional Services to Enable" msgstr "選擇要開啟的其他服務" @@ -6809,18 +6828,18 @@ msgstr "選擇要開啟的其他服務" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:4989 +#: book.translate.xml:5004 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-config-services' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:4994 +#: book.translate.xml:5009 msgid "Here is a summary of the services which can be enabled in this menu:" -msgstr "這是可以在這個選單開啟的服務摘要:" +msgstr "這是可以在這個選單開啟的服務摘要:" #. (itstool) path: listitem/para -#: book.translate.xml:4999 +#: book.translate.xml:5014 msgid "" "<literal>sshd</literal> - The Secure Shell (<acronym>SSH</acronym>) daemon " "is used to remotely access a system over an encrypted connection. Only " @@ -6830,7 +6849,7 @@ msgstr "" "端透過加密的連線存取系統,只有在系統允許遠端登入時開啟這個服務。" #. (itstool) path: listitem/para -#: book.translate.xml:5007 +#: book.translate.xml:5022 msgid "" "<literal>moused</literal> - Enable this service if the mouse will be used " "from the command-line system console." @@ -6839,7 +6858,7 @@ msgstr "" "務。" #. (itstool) path: listitem/para -#: book.translate.xml:5013 +#: book.translate.xml:5028 msgid "" "<literal>ntpd</literal> - The Network Time Protocol (<acronym>NTP</acronym>) " "daemon for automatic clock synchronization. Enable this service if there is " @@ -6852,7 +6871,7 @@ msgstr "" "acronym> 伺服器時,可開啟此服務。" #. (itstool) path: listitem/para -#: book.translate.xml:5021 +#: book.translate.xml:5036 msgid "" "<literal>powerd</literal> - System power control utility for power control " "and energy saving." @@ -6860,12 +6879,12 @@ msgstr "<literal>powerd</literal> - 系統電源控制工具用來做電源控� #. (itstool) path: sect2/title #. (itstool) path: figure/title -#: book.translate.xml:5028 book.translate.xml:5036 +#: book.translate.xml:5043 book.translate.xml:5051 msgid "Enabling Crash Dumps" msgstr "開啟當機資訊 (Crash Dump)" #. (itstool) path: sect2/para -#: book.translate.xml:5030 +#: book.translate.xml:5045 msgid "" "The next menu is used to configure whether or not crash dumps should be " "enabled. Enabling crash dumps can be useful in debugging issues with the " @@ -6879,18 +6898,18 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:5040 +#: book.translate.xml:5055 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-config-crashdump' md5='__failed__'" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:5047 +#: book.translate.xml:5062 msgid "Add Users" msgstr "新增使用者" #. (itstool) path: sect2/para -#: book.translate.xml:5049 +#: book.translate.xml:5064 msgid "" "The next menu prompts to create at least one user account. It is recommended " "to login to the system using a user account rather than as <systemitem class=" @@ -6905,12 +6924,12 @@ msgstr "" "使用一般使用者登入較保險且安全。" #. (itstool) path: sect2/para -#: book.translate.xml:5056 +#: book.translate.xml:5071 msgid "Select <guibutton>[ Yes ]</guibutton> to add new users." msgstr "選擇 <guibutton>[ Yes ]</guibutton> 來新增新使用者。" #. (itstool) path: figure/title -#: book.translate.xml:5060 +#: book.translate.xml:5075 msgid "Add User Accounts" msgstr "新增使用者帳號" @@ -6919,13 +6938,13 @@ msgstr "新增使用者帳號" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:5064 +#: book.translate.xml:5079 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-adduser1' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:5069 +#: book.translate.xml:5084 msgid "" "Follow the prompts and input the requested information for the user account. " "The example shown in <xref linkend=\"bsdinstall-add-user2\"/> creates the " @@ -6936,7 +6955,7 @@ msgstr "" "號。" #. (itstool) path: figure/title -#: book.translate.xml:5073 +#: book.translate.xml:5088 msgid "Enter User Information" msgstr "輸入使用者資訊" @@ -6945,18 +6964,18 @@ msgstr "輸入使用者資訊" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:5077 +#: book.translate.xml:5092 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-adduser2' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:5082 +#: book.translate.xml:5097 msgid "Here is a summary of the information to input:" -msgstr "這裡是要輸入的資訊摘要:" +msgstr "這裡是要輸入的資訊摘要:" #. (itstool) path: listitem/para -#: book.translate.xml:5086 +#: book.translate.xml:5101 msgid "" "<literal>Username</literal> - The name the user will enter to log in. A " "common convention is to use the first letter of the first name combined with " @@ -6968,7 +6987,7 @@ msgstr "" "區分大小寫且不應含有任何空白字元。" #. (itstool) path: listitem/para -#: book.translate.xml:5095 +#: book.translate.xml:5110 msgid "" "<literal>Full name</literal> - The user's full name. This can contain spaces " "and is used as a description for the user account." @@ -6977,7 +6996,7 @@ msgstr "" "用來描述該使用者帳號。" #. (itstool) path: listitem/para -#: book.translate.xml:5101 +#: book.translate.xml:5116 msgid "" "<literal>Uid</literal> - User <acronym>ID</acronym>. Typically, this is left " "blank so the system will assign a value." @@ -6986,7 +7005,7 @@ msgstr "" "統會自動分配一個值。" #. (itstool) path: listitem/para -#: book.translate.xml:5107 +#: book.translate.xml:5122 msgid "" "<literal>Login group</literal> - The user's group. Typically this is left " "blank to accept the default." @@ -6995,7 +7014,7 @@ msgstr "" "來使用預設值。" #. (itstool) path: listitem/para -#: book.translate.xml:5112 +#: book.translate.xml:5127 msgid "" "<literal>Invite <replaceable>user</replaceable> into other groups?</literal> " "- Additional groups to which the user will be added as a member. If the user " @@ -7006,12 +7025,12 @@ msgstr "" "需要管理權限,則在此輸入 <literal>wheel</literal>。" #. (itstool) path: listitem/para -#: book.translate.xml:5120 +#: book.translate.xml:5135 msgid "<literal>Login class</literal> - Typically left blank for the default." msgstr "登入類別 (<literal>Login class</literal>) - 通常會留空來使用預設值。" #. (itstool) path: listitem/para -#: book.translate.xml:5125 +#: book.translate.xml:5140 msgid "" "<literal>Shell</literal> - Type in one of the listed values to set the " "interactive shell for the user. Refer to <xref linkend=\"shells\"/> for more " @@ -7021,7 +7040,7 @@ msgstr "" "參考 <xref linkend=\"shells\"/> 取得更多有關 Shell 的資訊。" #. (itstool) path: listitem/para -#: book.translate.xml:5132 +#: book.translate.xml:5147 msgid "" "<literal>Home directory</literal> - The user's home directory. The default " "is usually correct." @@ -7030,7 +7049,7 @@ msgstr "" "問題的。" #. (itstool) path: listitem/para -#: book.translate.xml:5137 +#: book.translate.xml:5152 msgid "" "<literal>Home directory permissions</literal> - Permissions on the user's " "home directory. The default is usually correct." @@ -7039,7 +7058,7 @@ msgstr "" "限,預設值通常是沒有問題的。" #. (itstool) path: listitem/para -#: book.translate.xml:5143 +#: book.translate.xml:5158 msgid "" "<literal>Use password-based authentication?</literal> - Typically " "<literal>yes</literal> so that the user is prompted to input their password " @@ -7049,7 +7068,7 @@ msgstr "" "literal>) - 通常為是 (<literal>yes</literal>),使用者才可於登入時輸入密碼。" #. (itstool) path: listitem/para -#: book.translate.xml:5149 +#: book.translate.xml:5164 msgid "" "<literal>Use an empty password?</literal> - Typically <literal>no</literal> " "as it is insecure to have a blank password." @@ -7058,7 +7077,7 @@ msgstr "" "(<literal>no</literal>),因為使用空白密碼並不安全。" #. (itstool) path: listitem/para -#: book.translate.xml:5155 +#: book.translate.xml:5170 msgid "" "<literal>Use a random password?</literal> - Typically <literal>no</literal> " "so that the user can set their own password in the next prompt." @@ -7067,7 +7086,7 @@ msgstr "" "(<literal>no</literal>),這樣使用者接下來才可設定自己的密碼。" #. (itstool) path: listitem/para -#: book.translate.xml:5161 +#: book.translate.xml:5176 msgid "" "<literal>Enter password</literal> - The password for this user. Characters " "typed will not show on the screen." @@ -7076,7 +7095,7 @@ msgstr "" "會顯示在畫面上。" #. (itstool) path: listitem/para -#: book.translate.xml:5167 +#: book.translate.xml:5182 msgid "" "<literal>Enter password again</literal> - The password must be typed again " "for verification." @@ -7085,7 +7104,7 @@ msgstr "" "認無誤。" #. (itstool) path: listitem/para -#: book.translate.xml:5172 +#: book.translate.xml:5187 msgid "" "<literal>Lock out the account after creation?</literal> - Typically " "<literal>no</literal> so that the user can login." @@ -7094,7 +7113,7 @@ msgstr "" "literal>) - 通常為否 (<literal>no</literal>),這樣使用者才可以登入。" #. (itstool) path: sect2/para -#: book.translate.xml:5178 +#: book.translate.xml:5193 msgid "" "After entering everything, a summary is shown for review. If a mistake was " "made, enter <literal>no</literal> and try again. If everything is correct, " @@ -7105,7 +7124,7 @@ msgstr "" "literal>) 以後便會建立新使用者。" #. (itstool) path: figure/title -#: book.translate.xml:5184 +#: book.translate.xml:5199 msgid "Exit User and Group Management" msgstr "離開使用者與群組管理" @@ -7114,13 +7133,13 @@ msgstr "離開使用者與群組管理" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:5188 +#: book.translate.xml:5203 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-adduser3' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:5193 +#: book.translate.xml:5208 msgid "" "If there are more users to add, answer the <literal>Add another user?</" "literal> question with <literal>yes</literal>. Enter <literal>no</literal> " @@ -7131,7 +7150,7 @@ msgstr "" "literal>) 來完成加入使用者然後繼續安裝。" #. (itstool) path: sect2/para -#: book.translate.xml:5198 +#: book.translate.xml:5213 msgid "" "For more information on adding users and user management, see <xref linkend=" "\"users-synopsis\"/>." @@ -7141,12 +7160,12 @@ msgstr "" #. (itstool) path: sect2/title #. (itstool) path: figure/title -#: book.translate.xml:5203 book.translate.xml:5209 +#: book.translate.xml:5218 book.translate.xml:5224 msgid "Final Configuration" msgstr "最後設定" #. (itstool) path: sect2/para -#: book.translate.xml:5205 +#: book.translate.xml:5220 msgid "" "After everything has been installed and configured, a final chance is " "provided to modify settings." @@ -7157,21 +7176,21 @@ msgstr "在所有東西安裝並設定完之後,會提供最後一次修改設 #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:5213 +#: book.translate.xml:5228 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-finalconfiguration' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:5218 +#: book.translate.xml:5233 msgid "" "Use this menu to make any changes or do any additional configuration before " "completing the installation." msgstr "使用這個選單在完成安裝前做任何更改或做任何額外的設定。" #. (itstool) path: listitem/para -#: book.translate.xml:5223 +#: book.translate.xml:5238 msgid "" "<literal>Add User</literal> - Described in <xref linkend=\"bsdinstall-" "addusers\"/>." @@ -7180,7 +7199,7 @@ msgstr "" "addusers\"/>。" #. (itstool) path: listitem/para -#: book.translate.xml:5227 +#: book.translate.xml:5242 msgid "" "<literal>Root Password</literal> - Described in <xref linkend=\"bsdinstall-" "post-root\"/>." @@ -7189,7 +7208,7 @@ msgstr "" "\"bsdinstall-post-root\"/>。" #. (itstool) path: listitem/para -#: book.translate.xml:5231 +#: book.translate.xml:5246 msgid "" "<literal>Hostname</literal> - Described in <xref linkend=\"bsdinstall-" "hostname\"/>." @@ -7198,7 +7217,7 @@ msgstr "" "hostname\"/>。" #. (itstool) path: listitem/para -#: book.translate.xml:5235 +#: book.translate.xml:5250 msgid "" "<literal>Network</literal> - Described in <xref linkend=\"bsdinstall-config-" "network-dev\"/>." @@ -7207,7 +7226,7 @@ msgstr "" "network-dev\"/>。" #. (itstool) path: listitem/para -#: book.translate.xml:5239 +#: book.translate.xml:5254 msgid "" "<literal>Services</literal> - Described in <xref linkend=\"bsdinstall-sysconf" "\"/>." @@ -7216,7 +7235,7 @@ msgstr "" "sysconf\"/>。" #. (itstool) path: listitem/para -#: book.translate.xml:5243 +#: book.translate.xml:5258 msgid "" "<literal>Time Zone</literal> - Described in <xref linkend=\"bsdinstall-" "timezone\"/>." @@ -7225,13 +7244,13 @@ msgstr "" "timezone\"/>。" #. (itstool) path: listitem/para -#: book.translate.xml:5247 +#: book.translate.xml:5262 msgid "" "<literal>Handbook</literal> - Download and install the FreeBSD Handbook." msgstr "使用手冊 (<literal>Handbook</literal>) - 下載並安裝 FreeBSD 使用手冊。" #. (itstool) path: sect2/para -#: book.translate.xml:5252 +#: book.translate.xml:5267 msgid "" "After any final configuration is complete, select <guibutton>Exit</" "guibutton>." @@ -7239,7 +7258,7 @@ msgstr "完成最後的設定之後,選擇 <guibutton>Exit</guibutton>。" #. (itstool) path: figure/title #. (itstool) path: sect2/title -#: book.translate.xml:5256 book.translate.xml:11376 +#: book.translate.xml:5271 book.translate.xml:11391 msgid "Manual Configuration" msgstr "手動設定" @@ -7248,7 +7267,7 @@ msgstr "手動設定" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:5260 +#: book.translate.xml:5275 msgctxt "_" msgid "" "external ref='bsdinstall/bsdinstall-final-modification-shell' " @@ -7256,7 +7275,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:5265 +#: book.translate.xml:5280 msgid "" "<application>bsdinstall</application> will prompt if there are any " "additional configuration that needs to be done before rebooting into the new " @@ -7269,7 +7288,7 @@ msgstr "" "的 Shell 或 <guibutton>[ No ]</guibutton> 繼續最後的安裝步驟。" #. (itstool) path: figure/title -#: book.translate.xml:5274 +#: book.translate.xml:5289 msgid "Complete the Installation" msgstr "完成安裝" @@ -7278,13 +7297,13 @@ msgstr "完成安裝" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:5278 +#: book.translate.xml:5293 msgctxt "_" msgid "external ref='bsdinstall/bsdinstall-mainexit' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:5283 +#: book.translate.xml:5298 msgid "" "If further configuration or special setup is needed, select " "<guibutton>[ Live CD ]</guibutton> to boot the install media into Live " @@ -7294,7 +7313,7 @@ msgstr "" "進入安裝媒體的 Live <acronym>CD</acronym> 模式。" #. (itstool) path: sect2/para -#: book.translate.xml:5288 +#: book.translate.xml:5303 msgid "" "If the installation is complete, select <guibutton>[ Reboot ]</guibutton> to " "reboot the computer and start the new FreeBSD system. Do not forget to " @@ -7305,7 +7324,7 @@ msgstr "" "式。" #. (itstool) path: sect2/para -#: book.translate.xml:5294 +#: book.translate.xml:5309 msgid "" "As FreeBSD boots, informational messages are displayed. After the system " "finishes booting, a login prompt is displayed. At the <prompt>login:</" @@ -7320,7 +7339,7 @@ msgstr "" "\"users-superuser\"/> 來取得當需要管理權限時如何成為超級使用者的說明。" #. (itstool) path: sect2/para -#: book.translate.xml:5303 +#: book.translate.xml:5318 msgid "" "The messages that appeared during boot can be reviewed by pressing " "<keycap>Scroll-Lock</keycap> to turn on the scroll-back buffer. The " @@ -7339,7 +7358,7 @@ msgstr "" "列。" #. (itstool) path: sect2/para -#: book.translate.xml:5315 +#: book.translate.xml:5330 msgid "" "If <application>sshd</application> was enabled in <xref linkend=\"bsdinstall-" "config-serv\"/>, the first boot may be a bit slower as the system will " @@ -7350,10 +7369,10 @@ msgstr "" "若在 <xref linkend=\"bsdinstall-config-serv\"/> 有開啟 <application>sshd</" "application>,因系統會產生 <acronym>RSA</acronym> 及 <acronym>DSA</acronym> " "金鑰第一次開機可能會有點慢,之後的開機便會恢復正常速度。接著會顯示金鑰的指紋 " -"(Fingerprint),如這個範例:" +"(Fingerprint),如這個範例:" #. (itstool) path: sect2/screen -#: book.translate.xml:5321 +#: book.translate.xml:5336 #, no-wrap msgid "" "Generating public/private rsa1 key pair.\n" @@ -7394,7 +7413,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:5357 +#: book.translate.xml:5372 msgid "" "Refer to <xref linkend=\"openssh\"/> for more information about fingerprints " "and <acronym>SSH</acronym>." @@ -7403,7 +7422,7 @@ msgstr "" "acronym> 的資訊。" #. (itstool) path: sect2/para -#: book.translate.xml:5360 +#: book.translate.xml:5375 msgid "" "FreeBSD does not install a graphical environment by default. Refer to <xref " "linkend=\"x11\"/> for more information about installing and configuring a " @@ -7413,7 +7432,7 @@ msgstr "" "與設定圖型化視窗管理程式的資訊。" #. (itstool) path: sect2/para -#: book.translate.xml:5364 +#: book.translate.xml:5379 msgid "" "Proper shutdown of a FreeBSD computer helps protect data and hardware from " "damage. <emphasis>Do not turn off the power before the system has been " @@ -7425,7 +7444,7 @@ msgid "" "supports it, turn itself off." msgstr "" "正確的將 FreeBSD 電腦關機對保護資料及避免硬體損壞有幫助。<emphasis>在系統尚未" -"正常關機之前請不要關閉電源! </emphasis> 若使用者為 <systemitem class=" +"正常關機之前請不要關閉電源!</emphasis> 若使用者為 <systemitem class=" "\"groupname\">wheel</systemitem> 群組的成員之一,可在指令列輸入 <command>su</" "command> 然後輸入 <systemitem class=\"username\">root</systemitem> 密碼來成為" "超級使用者。接著輸入 <command>shutdown -p now</command> 系統便會關機,若硬體" @@ -7434,27 +7453,27 @@ msgstr "" #. (itstool) path: sect1/title #. (itstool) path: sect2/title #. (itstool) path: sect3/title -#: book.translate.xml:5377 book.translate.xml:12318 book.translate.xml:15074 -#: book.translate.xml:20222 book.translate.xml:35349 book.translate.xml:36119 -#: book.translate.xml:47780 book.translate.xml:51026 book.translate.xml:62119 -#: book.translate.xml:63774 book.translate.xml:64497 +#: book.translate.xml:5392 book.translate.xml:12332 book.translate.xml:15088 +#: book.translate.xml:20247 book.translate.xml:35403 book.translate.xml:36173 +#: book.translate.xml:47834 book.translate.xml:51080 book.translate.xml:62173 +#: book.translate.xml:63828 book.translate.xml:64551 msgid "Troubleshooting" msgstr "疑難排解" #. (itstool) path: sect1/indexterm -#: book.translate.xml:5379 +#: book.translate.xml:5394 msgid "<primary>installation</primary> <secondary>troubleshooting</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:5383 +#: book.translate.xml:5398 msgid "" "This section covers basic installation troubleshooting, such as common " "problems people have reported." msgstr "本節涵蓋基礎的安裝疑難排解,例如一些已有人回報的常見問題。" #. (itstool) path: sect1/para -#: book.translate.xml:5387 +#: book.translate.xml:5402 msgid "" "Check the Hardware Notes (<link xlink:href=\"@@URL_RELPREFIX@@/releases/" "index.html\">http://www.freebsd.org/releases/index.html</link>) document for " @@ -7478,7 +7497,7 @@ msgstr "" "訴 FreeBSD 到那找到這些裝置。" #. (itstool) path: note/para -#: book.translate.xml:5401 +#: book.translate.xml:5416 msgid "" "Some installation problems can be avoided or alleviated by updating the " "firmware on various hardware components, most notably the motherboard. " @@ -7491,7 +7510,7 @@ msgstr "" "得升級程式與升級資訊。" #. (itstool) path: note/para -#: book.translate.xml:5408 +#: book.translate.xml:5423 msgid "" "Manufacturers generally advise against upgrading the motherboard " "<acronym>BIOS</acronym> unless there is a good reason for doing so, like a " @@ -7501,7 +7520,7 @@ msgstr "" "製造商通常會建議若沒有特殊原因盡量避免升級主機板 <acronym>BIOS</acronym>" #. (itstool) path: sect1/para -#: book.translate.xml:5416 +#: book.translate.xml:5431 msgid "" "If the system hangs while probing hardware during boot, or it behaves " "strangely during install, <acronym>ACPI</acronym> may be the culprit. " @@ -7518,16 +7537,16 @@ msgstr "" "acronym> 服務來協助設定系統組態,若在開機時有偵測到該功能。不幸的是," "<acronym>ACPI</acronym> 驅動程式與系統主機板及 <acronym>BIOS</acronym> 韌體之" "間仍存在部份問題。可於開機載入程式的第三階段設定 <literal>hint.acpi.0." -"disabled</literal> Hint 來關閉 <acronym>ACPI</acronym>:" +"disabled</literal> Hint 來關閉 <acronym>ACPI</acronym>:" #. (itstool) path: sect1/screen -#: book.translate.xml:5428 +#: book.translate.xml:5443 #, no-wrap msgid "<userinput>set hint.acpi.0.disabled=\"1\"</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:5430 +#: book.translate.xml:5445 msgid "" "This is reset each time the system is booted, so it is necessary to add " "<literal>hint.acpi.0.disabled=\"1\"</literal> to the file <filename>/boot/" @@ -7539,12 +7558,12 @@ msgstr "" "機載入程式的資訊可於 <xref linkend=\"boot-synopsis\"/> 取得。" #. (itstool) path: sect1/title -#: book.translate.xml:5437 +#: book.translate.xml:5452 msgid "Using the Live <acronym>CD</acronym>" msgstr "使用 Live <acronym>CD</acronym>" #. (itstool) path: sect1/para -#: book.translate.xml:5439 +#: book.translate.xml:5454 msgid "" "The welcome menu of <application>bsdinstall</application>, shown in <xref " "linkend=\"bsdinstall-choose-mode\"/>, provides a <guibutton>[ Live CD ]</" @@ -7558,14 +7577,14 @@ msgstr "" "測試一部份功能。" #. (itstool) path: sect1/para -#: book.translate.xml:5446 +#: book.translate.xml:5461 msgid "" "The following points should be noted before using the " "<guibutton>[ Live CD ]</guibutton>:" -msgstr "在使用 <guibutton>[ Live CD ]</guibutton> 之前必須注意以下幾點事項:" +msgstr "在使用 <guibutton>[ Live CD ]</guibutton> 之前必須注意以下幾點事項:" #. (itstool) path: listitem/para -#: book.translate.xml:5451 +#: book.translate.xml:5466 msgid "" "To gain access to the system, authentication is required. The username is " "<systemitem class=\"username\">root</systemitem> and the password is blank." @@ -7574,25 +7593,25 @@ msgstr "" "\">root</systemitem> 而密碼則是空白。" #. (itstool) path: listitem/para -#: book.translate.xml:5457 +#: book.translate.xml:5472 msgid "" "As the system runs directly from the installation media, performance will be " "significantly slower than that of a system installed on a hard disk." msgstr "系統是直接從安裝媒體上執行,比起安裝到硬碟的系統,效能可能較差。" #. (itstool) path: listitem/para -#: book.translate.xml:5463 +#: book.translate.xml:5478 msgid "" "This option only provides a command prompt and not a graphical interface." msgstr "這個選項只提供指令提示,不會有圖型化介面。" #. (itstool) path: chapter/title -#: book.translate.xml:5488 +#: book.translate.xml:5503 msgid "FreeBSD Basics" msgstr "FreeBSD 基礎" #. (itstool) path: sect1/para -#: book.translate.xml:5493 +#: book.translate.xml:5508 msgid "" "This chapter covers the basic commands and functionality of the FreeBSD " "operating system. Much of this material is relevant for any <trademark class=" @@ -7605,17 +7624,17 @@ msgstr "" "細的讀完這章。" #. (itstool) path: listitem/para -#: book.translate.xml:5502 +#: book.translate.xml:5517 msgid "How to use and configure virtual consoles." msgstr "如何使用 FreeBSD 的虛擬 Console。" #. (itstool) path: listitem/para -#: book.translate.xml:5506 +#: book.translate.xml:5521 msgid "How to create and manage users and groups on FreeBSD." msgstr "如何在 FreeBSD 建立與管理使用者與群組。" #. (itstool) path: listitem/para -#: book.translate.xml:5511 +#: book.translate.xml:5526 msgid "" "How <trademark class=\"registered\">UNIX</trademark> file permissions and " "FreeBSD file flags work." @@ -7624,68 +7643,68 @@ msgstr "" "記的運作方式。" #. (itstool) path: listitem/para -#: book.translate.xml:5516 +#: book.translate.xml:5531 msgid "The default FreeBSD file system layout." msgstr "預設的 FreeBSD 檔案系統配置。" #. (itstool) path: listitem/para -#: book.translate.xml:5520 +#: book.translate.xml:5535 msgid "The FreeBSD disk organization." msgstr "FreeBSD 的磁碟組織。" #. (itstool) path: listitem/para -#: book.translate.xml:5524 +#: book.translate.xml:5539 msgid "How to mount and unmount file systems." msgstr "如何掛載 (Mount)、卸載 (Umount) 檔案系統。" #. (itstool) path: listitem/para -#: book.translate.xml:5528 +#: book.translate.xml:5543 msgid "What processes, daemons, and signals are." msgstr "什麼是程序、Daemon 以及信號 (Signal)。" #. (itstool) path: listitem/para -#: book.translate.xml:5532 +#: book.translate.xml:5547 msgid "What a shell is, and how to change the default login environment." msgstr "什麼是 Shell,以及如何變更您預設的登入環境。" #. (itstool) path: listitem/para -#: book.translate.xml:5537 +#: book.translate.xml:5552 msgid "How to use basic text editors." msgstr "如何使用基本的文字編輯器。" #. (itstool) path: listitem/para -#: book.translate.xml:5541 +#: book.translate.xml:5556 msgid "What devices and device nodes are." msgstr "什麼是裝置 (Device) 和裝置節點 (Device node)。" #. (itstool) path: listitem/para -#: book.translate.xml:5545 +#: book.translate.xml:5560 msgid "How to read manual pages for more information." msgstr "如何閱讀操作手冊以獲得更多的資訊。" #. (itstool) path: sect1/title -#: book.translate.xml:5551 +#: book.translate.xml:5566 msgid "Virtual Consoles and Terminals" msgstr "虛擬 Console 與終端機" #. (itstool) path: sect1/indexterm -#: book.translate.xml:5553 +#: book.translate.xml:5568 msgid "<primary>virtual consoles</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:5556 book.translate.xml:47062 +#: book.translate.xml:5571 book.translate.xml:47116 msgid "<primary>terminals</primary>" msgstr "" #. (itstool) path: sect1/indexterm #. (itstool) path: sect3/indexterm -#: book.translate.xml:5559 book.translate.xml:23204 +#: book.translate.xml:5574 book.translate.xml:23229 msgid "<primary>console</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:5563 +#: book.translate.xml:5578 msgid "" "Unless FreeBSD has been configured to automatically start a graphical " "environment during startup, the system will boot into a command line login " @@ -7695,7 +7714,7 @@ msgstr "" "是這樣的東西:" #. (itstool) path: sect1/screen -#: book.translate.xml:5568 +#: book.translate.xml:5583 #, no-wrap msgid "" "FreeBSD/amd64 (pc3.example.org) (ttyv0)\n" @@ -7704,7 +7723,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:5572 +#: book.translate.xml:5587 msgid "" "The first line contains some information about the system. The " "<literal>amd64</literal> indicates that the system in this example is " @@ -7718,7 +7737,7 @@ msgstr "" "quote>。第二行則是登人的提示訊息。" #. (itstool) path: sect1/para -#: book.translate.xml:5580 +#: book.translate.xml:5595 msgid "" "Since FreeBSD is a multiuser system, it needs some way to distinguish " "between different users. This is accomplished by requiring every user to log " @@ -7732,7 +7751,7 @@ msgstr "" "(<quote>password</quote>)。" #. (itstool) path: sect1/para -#: book.translate.xml:5587 +#: book.translate.xml:5602 msgid "" "To log into the system console, type the username that was configured during " "system installation, as described in <xref linkend=\"bsdinstall-addusers\"/" @@ -7746,7 +7765,7 @@ msgstr "" "示</emphasis>在畫面上。" #. (itstool) path: sect1/para -#: book.translate.xml:5595 +#: book.translate.xml:5610 msgid "" "Once the correct password is input, the message of the day (<acronym>MOTD</" "acronym>) will be displayed followed by a command prompt. Depending upon the " @@ -7762,12 +7781,12 @@ msgstr "" "Console 且已經準備好可以下指令。" #. (itstool) path: sect2/title -#: book.translate.xml:5605 +#: book.translate.xml:5620 msgid "Virtual Consoles" msgstr "虛擬 Console" #. (itstool) path: sect2/para -#: book.translate.xml:5607 +#: book.translate.xml:5622 msgid "" "While the system console can be used to interact with the system, a user " "working from the command line at the keyboard of a FreeBSD system will " @@ -7781,7 +7800,7 @@ msgstr "" "這些訊些會在使用者作業的過程中不斷出現,讓使用者難以專心作業。" #. (itstool) path: sect2/para -#: book.translate.xml:5616 +#: book.translate.xml:5631 msgid "" "By default, FreeBSD is configured to provide several virtual consoles for " "inputting commands. Each virtual console has its own login prompt and shell " @@ -7794,7 +7813,7 @@ msgstr "" "於圖型化環境中可以同時開啟多個視窗的功能。" #. (itstool) path: sect2/para -#: book.translate.xml:5623 +#: book.translate.xml:5638 msgid "" "The key combinations <keycombo><keycap>Alt</keycap><keycap>F1</keycap></" "keycombo> through <keycombo><keycap>Alt</keycap><keycap>F8</keycap></" @@ -7816,7 +7835,7 @@ msgstr "" "(<filename>ttyv2</filename>),以此類推。" #. (itstool) path: sect2/para -#: book.translate.xml:5639 +#: book.translate.xml:5654 msgid "" "When switching from one console to the next, FreeBSD manages the screen " "output. The result is an illusion of having multiple virtual screens and " @@ -7829,7 +7848,7 @@ msgstr "" "Console 上執行的程式並不會因為使用者切到別的 Console 而停止執行。" #. (itstool) path: sect2/para -#: book.translate.xml:5646 +#: book.translate.xml:5661 msgid "" "Refer to <citerefentry><refentrytitle>kbdcontrol</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, " @@ -7851,16 +7870,16 @@ msgstr "" "citerefentry> 來取得更多有關 FreeBSD Console 及鍵盤驅動程式的技術說明。" #. (itstool) path: sect2/para -#: book.translate.xml:5651 +#: book.translate.xml:5666 msgid "" "In FreeBSD, the number of available virtual consoles is configured in this " "section of <filename>/etc/ttys</filename>:" msgstr "" "FreeBSD 中虛擬 Console 的數量設定在 <filename>/etc/ttys</filename> 檔案中的下" -"列章節:" +"列章節:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:5655 +#: book.translate.xml:5670 #, no-wrap msgid "" "# name getty type status comments\n" @@ -7878,7 +7897,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:5669 +#: book.translate.xml:5684 msgid "" "To disable a virtual console, put a comment symbol (<literal>#</literal>) at " "the beginning of the line representing that virtual console. For example, to " @@ -7900,7 +7919,7 @@ msgstr "" "個虛擬 Console (<filename>ttyv8</filename>)。" #. (itstool) path: sect2/para -#: book.translate.xml:5683 +#: book.translate.xml:5698 msgid "" "For a detailed description of every column in this file and the available " "options for the virtual consoles, refer to " @@ -7911,12 +7930,12 @@ msgstr "" "refentrytitle><manvolnum>5</manvolnum></citerefentry> 說明。" #. (itstool) path: sect2/title -#: book.translate.xml:5689 +#: book.translate.xml:5704 msgid "Single User Mode" msgstr "單使用者模式" #. (itstool) path: sect2/para -#: book.translate.xml:5691 +#: book.translate.xml:5706 msgid "" "The FreeBSD boot menu provides an option labelled as <quote>Boot Single " "User</quote>. If this option is selected, the system will boot into a " @@ -7941,15 +7960,16 @@ msgstr "" "鍵盤的人員。" #. (itstool) path: sect2/para -#: book.translate.xml:5707 +#: book.translate.xml:5722 msgid "" "The settings which control single user mode are found in this section of " "<filename>/etc/ttys</filename>:" msgstr "" -"有關單使用者模式的設定可在 <filename>/etc/ttys</filename> 中的以下章節中找到:" +"有關單使用者模式的設定可在 <filename>/etc/ttys</filename> 中的以下章節中找" +"到:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:5710 +#: book.translate.xml:5725 #, no-wrap msgid "" "# name getty type status comments\n" @@ -7960,7 +7980,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:5716 +#: book.translate.xml:5731 msgid "" "By default, the status is set to <literal>secure</literal>. This assumes " "that who has physical access to the keyboard is either not important or it " @@ -7979,7 +7999,7 @@ msgstr "" "碼。" #. (itstool) path: note/para -#: book.translate.xml:5728 +#: book.translate.xml:5743 msgid "" "<emphasis>Be careful when changing this setting to <literal>insecure</" "literal></emphasis>! If the <systemitem class=\"username\">root</systemitem> " @@ -7992,12 +8012,12 @@ msgstr "" "有其他辦法可以登入單使用者模式,只是對不熟 FreeBSD 開機程序的人可就麻煩了。" #. (itstool) path: sect2/title -#: book.translate.xml:5738 +#: book.translate.xml:5753 msgid "Changing Console Video Modes" msgstr "更改 Console 影像模式" #. (itstool) path: sect2/para -#: book.translate.xml:5740 +#: book.translate.xml:5755 msgid "" "The FreeBSD console default video mode may be adjusted to 1024x768, " "1280x1024, or any other size supported by the graphics chip and monitor. To " @@ -8008,13 +8028,13 @@ msgstr "" "組:" #. (itstool) path: sect2/screen -#: book.translate.xml:5745 +#: book.translate.xml:5760 #, no-wrap msgid "<prompt>#</prompt> <userinput>kldload vesa</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:5747 +#: book.translate.xml:5762 msgid "" "To determine which video modes are supported by the hardware, use " "<citerefentry><refentrytitle>vidcontrol</refentrytitle><manvolnum>1</" @@ -8026,13 +8046,13 @@ msgstr "" "清單可輸入以下指令:" #. (itstool) path: sect2/screen -#: book.translate.xml:5751 +#: book.translate.xml:5766 #, no-wrap msgid "<prompt>#</prompt> <userinput>vidcontrol -i mode</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:5753 +#: book.translate.xml:5768 msgid "" "The output of this command lists the video modes that are supported by the " "hardware. To select a new video mode, specify the mode using " @@ -8046,13 +8066,13 @@ msgstr "" "manvolnum></citerefentry> 指令:" #. (itstool) path: sect2/screen -#: book.translate.xml:5758 +#: book.translate.xml:5773 #, no-wrap msgid "<prompt>#</prompt> <userinput>vidcontrol MODE_279</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:5760 +#: book.translate.xml:5775 msgid "" "If the new video mode is acceptable, it can be permanently set on boot by " "adding it to <filename>/etc/rc.conf</filename>:" @@ -8061,18 +8081,18 @@ msgstr "" "次重開機後會自動生效:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:5764 +#: book.translate.xml:5779 #, no-wrap msgid "allscreens_flags=\"MODE_279\"" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:5781 +#: book.translate.xml:5796 msgid "Users and Basic Account Management" msgstr "使用者與基礎帳號管理" #. (itstool) path: sect1/para -#: book.translate.xml:5783 +#: book.translate.xml:5798 msgid "" "FreeBSD allows multiple users to use the computer at the same time. While " "only one user can sit in front of the screen and use the keyboard at any one " @@ -8084,39 +8104,39 @@ msgstr "" "用者應有自己的帳號。" #. (itstool) path: sect1/para -#: book.translate.xml:5789 +#: book.translate.xml:5804 msgid "This chapter describes:" msgstr "本章介紹︰" #. (itstool) path: listitem/para -#: book.translate.xml:5793 +#: book.translate.xml:5808 msgid "The different types of user accounts on a FreeBSD system." msgstr "FreeBSD 系統中各種類型的使用者帳號。" #. (itstool) path: listitem/para -#: book.translate.xml:5798 +#: book.translate.xml:5813 msgid "How to add, remove, and modify user accounts." msgstr "如何加入、移除與修改使用者帳號。" #. (itstool) path: listitem/para -#: book.translate.xml:5802 +#: book.translate.xml:5817 msgid "" "How to set limits to control the resources that users and groups are allowed " "to access." msgstr "如何設定用來控制使用者與群組允許存取的資源的限制。" #. (itstool) path: listitem/para -#: book.translate.xml:5808 +#: book.translate.xml:5823 msgid "How to create groups and add users as members of a group." msgstr "如何建立群組與加入使用者作為群組成員。" #. (itstool) path: sect2/title -#: book.translate.xml:5814 +#: book.translate.xml:5829 msgid "Account Types" msgstr "帳號類型" #. (itstool) path: sect2/para -#: book.translate.xml:5816 +#: book.translate.xml:5831 msgid "" "Since all access to the FreeBSD system is achieved using accounts and all " "processes are run by users, user and account management is important." @@ -8125,24 +8145,24 @@ msgstr "" "者來執行,因此使用者帳號管理非常重要。" #. (itstool) path: sect2/para -#: book.translate.xml:5820 +#: book.translate.xml:5835 msgid "" "There are three main types of accounts: system accounts, user accounts, and " "the superuser account." msgstr "有三種主要類型的帳號:系統帳號、使用者帳號以及超級使用者帳號。" #. (itstool) path: sect3/title -#: book.translate.xml:5824 +#: book.translate.xml:5839 msgid "System Accounts" msgstr "系統帳號" #. (itstool) path: sect3/indexterm -#: book.translate.xml:5826 +#: book.translate.xml:5841 msgid "<primary>accounts</primary> <secondary>system</secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:5831 +#: book.translate.xml:5846 msgid "" "System accounts are used to run services such as DNS, mail, and web servers. " "The reason for this is security; if all services ran as the superuser, they " @@ -8152,21 +8172,21 @@ msgstr "" "若所有的服務均以超級使用者來執行,那麼這些服務的運作將不會受到限制。" #. (itstool) path: sect3/indexterm -#: book.translate.xml:5836 +#: book.translate.xml:5851 msgid "" "<primary>accounts</primary> <secondary><systemitem class=\"username" "\">daemon</systemitem></secondary>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:5840 +#: book.translate.xml:5855 msgid "" "<primary>accounts</primary> <secondary><systemitem class=\"username" "\">operator</systemitem></secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:5845 +#: book.translate.xml:5860 msgid "" "Examples of system accounts are <systemitem class=\"username\">daemon</" "systemitem>, <systemitem class=\"username\">operator</systemitem>, " @@ -8180,14 +8200,14 @@ msgstr "" "systemitem>, and <systemitem class=\"username\">www</systemitem>。" #. (itstool) path: sect3/indexterm -#: book.translate.xml:5852 +#: book.translate.xml:5867 msgid "" "<primary>accounts</primary> <secondary><systemitem class=\"username" "\">nobody</systemitem></secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:5857 +#: book.translate.xml:5872 msgid "" "<systemitem class=\"username\">nobody</systemitem> is the generic " "unprivileged system account. However, the more services that use <systemitem " @@ -8201,17 +8221,17 @@ msgstr "" "限。" #. (itstool) path: sect3/title -#: book.translate.xml:5866 +#: book.translate.xml:5881 msgid "User Accounts" msgstr "使用者帳號" #. (itstool) path: sect3/indexterm -#: book.translate.xml:5868 +#: book.translate.xml:5883 msgid "<primary>accounts</primary> <secondary>user</secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:5873 +#: book.translate.xml:5888 msgid "" "User accounts are assigned to real people and are used to log in and use the " "system. Every person accessing the system should have a unique user account. " @@ -8223,7 +8243,7 @@ msgstr "" "的設定。" #. (itstool) path: sect3/para -#: book.translate.xml:5879 +#: book.translate.xml:5894 msgid "" "Each user can set up their own environment to accommodate their use of the " "system, by configuring their default shell, editor, key bindings, and " @@ -8233,19 +8253,19 @@ msgstr "" "編輯器、組合鍵 (Key Binding) 及語言設定。" #. (itstool) path: sect3/para -#: book.translate.xml:5884 +#: book.translate.xml:5899 msgid "" "Every user account on a FreeBSD system has certain information associated " "with it:" msgstr "每個在 FreeBSD 系統的使用者帳號都會有一些相關的資訊:" #. (itstool) path: varlistentry/term -#: book.translate.xml:5889 +#: book.translate.xml:5904 msgid "User name" msgstr "使用者名稱 (User name)" #. (itstool) path: listitem/para -#: book.translate.xml:5892 +#: book.translate.xml:5907 msgid "" "The user name is typed at the <prompt>login:</prompt> prompt. Each user must " "have a unique user name. There are a number of rules for creating valid user " @@ -8261,22 +8281,22 @@ msgstr "" "元以向下相容應用程式。" #. (itstool) path: varlistentry/term -#: book.translate.xml:5904 +#: book.translate.xml:5919 msgid "Password" msgstr "密碼 (Password)" #. (itstool) path: listitem/para -#: book.translate.xml:5907 +#: book.translate.xml:5922 msgid "Each account has an associated password." msgstr "每個帳號都會有密碼。" #. (itstool) path: varlistentry/term -#: book.translate.xml:5912 +#: book.translate.xml:5927 msgid "User ID (<acronym>UID</acronym>)" msgstr "使用者 ID (<acronym>UID</acronym>)" #. (itstool) path: listitem/para -#: book.translate.xml:5915 +#: book.translate.xml:5930 msgid "" "The User ID (<acronym>UID</acronym>) is a number used to uniquely identify " "the user to the FreeBSD system. Commands that allow a user name to be " @@ -8290,12 +8310,12 @@ msgstr "" "體的相容性問題。" #. (itstool) path: varlistentry/term -#: book.translate.xml:5926 +#: book.translate.xml:5941 msgid "Group ID (<acronym>GID</acronym>)" msgstr "群組 ID (<acronym>GID</acronym>)" #. (itstool) path: listitem/para -#: book.translate.xml:5929 +#: book.translate.xml:5944 msgid "" "The Group ID (<acronym>GID</acronym>) is a number used to uniquely identify " "the primary group that the user belongs to. Groups are a mechanism for " @@ -8312,12 +8332,12 @@ msgstr "" "的 GID 可能會讓部份軟體無法運作。" #. (itstool) path: varlistentry/term -#: book.translate.xml:5943 +#: book.translate.xml:5958 msgid "Login class" msgstr "登入類別 (Login class)" #. (itstool) path: listitem/para -#: book.translate.xml:5946 +#: book.translate.xml:5961 msgid "" "Login classes are an extension to the group mechanism that provide " "additional flexibility when tailoring the system to different users. Login " @@ -8327,12 +8347,12 @@ msgstr "" "的彈性。在 <xref linkend=\"users-limiting\"/> 有對登入類別更進一步的討論。" #. (itstool) path: varlistentry/term -#: book.translate.xml:5955 +#: book.translate.xml:5970 msgid "Password change time" msgstr "密碼更改時間 (Password change time)" #. (itstool) path: listitem/para -#: book.translate.xml:5958 +#: book.translate.xml:5973 msgid "" "By default, passwords do not expire. However, password expiration can be " "enabled on a per-user basis, forcing some or all users to change their " @@ -8342,12 +8362,12 @@ msgstr "" "或所有使用者在某段期間過後更改他們的密碼。" #. (itstool) path: varlistentry/term -#: book.translate.xml:5967 +#: book.translate.xml:5982 msgid "Account expiration time" msgstr "帳號到期時間 (Account expiration time)" #. (itstool) path: listitem/para -#: book.translate.xml:5970 +#: book.translate.xml:5985 msgid "" "By default, FreeBSD does not expire accounts. When creating accounts that " "need a limited lifespan, such as student accounts in a school, specify the " @@ -8362,12 +8382,12 @@ msgstr "" "期日期過後,便無法使用該帳號登入到系統,儘管該帳號的目錄及檔案仍存在。" #. (itstool) path: varlistentry/term -#: book.translate.xml:5981 +#: book.translate.xml:5996 msgid "User's full name" msgstr "使用者的全名 (User's full name)" #. (itstool) path: listitem/para -#: book.translate.xml:5984 +#: book.translate.xml:5999 msgid "" "The user name uniquely identifies the account to FreeBSD, but does not " "necessarily reflect the user's real name. Similar to a comment, this " @@ -8378,12 +8398,12 @@ msgstr "" "名。類似註解,這個資訊可以含有空白、大寫字元並可超過 8 個字母的長度。" #. (itstool) path: varlistentry/term -#: book.translate.xml:5993 +#: book.translate.xml:6008 msgid "Home directory" msgstr "家目錄 (Home directory)" #. (itstool) path: listitem/para -#: book.translate.xml:5996 +#: book.translate.xml:6011 msgid "" "The home directory is the full path to a directory on the system. This is " "the user's starting directory when the user logs in. A common convention is " @@ -8398,12 +8418,12 @@ msgstr "" "filename>。每位使用者可以儲存他們的個人檔案及子目錄於他們自己的家目錄。" #. (itstool) path: varlistentry/term -#: book.translate.xml:6007 +#: book.translate.xml:6022 msgid "User shell" msgstr "使用者 Shell (User shell)" #. (itstool) path: listitem/para -#: book.translate.xml:6010 +#: book.translate.xml:6025 msgid "" "The shell provides the user's default environment for interacting with the " "system. There are many different kinds of shells and experienced users will " @@ -8413,17 +8433,17 @@ msgstr "" "用者會有自己偏好的選擇,可儲存在自己的帳號設定。" #. (itstool) path: sect3/title -#: book.translate.xml:6021 +#: book.translate.xml:6036 msgid "The Superuser Account" msgstr "超級使用者帳號" #. (itstool) path: sect3/indexterm -#: book.translate.xml:6023 +#: book.translate.xml:6038 msgid "<primary>accounts</primary> <secondary>superuser (root)</secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:6028 +#: book.translate.xml:6043 msgid "" "The superuser account, usually called <systemitem class=\"username\">root</" "systemitem>, is used to manage the system with no limitations on privileges. " @@ -8435,7 +8455,7 @@ msgstr "" "如:寄信與收信、系統的一般探索或程式設計。" #. (itstool) path: sect3/para -#: book.translate.xml:6035 +#: book.translate.xml:6050 msgid "" "The superuser, unlike other user accounts, can operate without limits, and " "misuse of the superuser account may result in spectacular disasters. User " @@ -8448,7 +8468,7 @@ msgstr "" "登入一般使用者帳號,只有在指令需要額外權限時切換為超級使用者。" #. (itstool) path: sect3/para -#: book.translate.xml:6043 +#: book.translate.xml:6058 msgid "" "Always double and triple-check any commands issued as the superuser, since " "an extra space or missing character can mean irreparable data loss." @@ -8457,7 +8477,7 @@ msgstr "" "著無法挽回的資料遺失。" #. (itstool) path: sect3/para -#: book.translate.xml:6047 +#: book.translate.xml:6062 msgid "" "There are several ways to gain superuser privilege. While one can log in as " "<systemitem class=\"username\">root</systemitem>, this is highly discouraged." @@ -8466,7 +8486,7 @@ msgstr "" "\"username\">root</systemitem>,但強烈不建議這樣做。" #. (itstool) path: sect3/para -#: book.translate.xml:6052 +#: book.translate.xml:6067 msgid "" "Instead, use <citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> to become the superuser. If <literal>-</literal> " @@ -8484,7 +8504,7 @@ msgstr "" "的密碼。" #. (itstool) path: sect3/para -#: book.translate.xml:6062 +#: book.translate.xml:6077 msgid "" "In this example, the user only becomes superuser in order to run " "<command>make install</command> as this step requires superuser privilege. " @@ -8496,12 +8516,12 @@ msgstr "" "<command>exit</command> 離開超級使用者帳號並返回他的使用者帳號權限。" #. (itstool) path: example/title -#: book.translate.xml:6070 +#: book.translate.xml:6085 msgid "Install a Program As the Superuser" msgstr "以超級使用者的身份安裝程式" #. (itstool) path: example/screen -#: book.translate.xml:6072 +#: book.translate.xml:6087 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>configure</userinput>\n" @@ -8514,7 +8534,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:6081 +#: book.translate.xml:6096 msgid "" "The built-in <citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> framework works well for single systems or small " @@ -8529,17 +8549,17 @@ msgstr "" "體提供了活動記錄且允許管理者設定那個使用者可以用超級使用者執行那個指令。" #. (itstool) path: sect2/title -#: book.translate.xml:6092 +#: book.translate.xml:6107 msgid "Managing Accounts" msgstr "管理帳號" #. (itstool) path: sect2/indexterm -#: book.translate.xml:6094 +#: book.translate.xml:6109 msgid "<primary>accounts</primary> <secondary>modifying</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:6099 +#: book.translate.xml:6114 msgid "" "FreeBSD provides a variety of different commands to manage user accounts. " "The most common commands are summarized in <xref linkend=\"users-modifying-" @@ -8551,110 +8571,110 @@ msgstr "" "的操作手冊來取得更多詳細的資訊與用法範例。" #. (itstool) path: table/title -#: book.translate.xml:6106 +#: book.translate.xml:6121 msgid "Utilities for Managing User Accounts" msgstr "管理使用者帳號的工具" #. (itstool) path: row/entry -#: book.translate.xml:6114 book.translate.xml:58353 book.translate.xml:61885 +#: book.translate.xml:6129 book.translate.xml:58407 book.translate.xml:61939 msgid "Command" msgstr "指令" #. (itstool) path: row/entry #. (itstool) path: sect2/title -#: book.translate.xml:6115 book.translate.xml:16975 book.translate.xml:17129 +#: book.translate.xml:6130 book.translate.xml:16989 book.translate.xml:17143 msgid "Summary" msgstr "摘要" #. (itstool) path: row/entry -#: book.translate.xml:6120 +#: book.translate.xml:6135 msgid "" "<citerefentry><refentrytitle>adduser</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6121 +#: book.translate.xml:6136 msgid "The recommended command-line application for adding new users." msgstr "建議用來新增新使用者的指令列應用程式。" #. (itstool) path: row/entry -#: book.translate.xml:6126 +#: book.translate.xml:6141 msgid "" "<citerefentry><refentrytitle>rmuser</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6127 +#: book.translate.xml:6142 msgid "The recommended command-line application for removing users." msgstr "建議用來移除使用者的指令列應用程式。" #. (itstool) path: row/entry -#: book.translate.xml:6132 +#: book.translate.xml:6147 msgid "" "<citerefentry><refentrytitle>chpass</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6133 +#: book.translate.xml:6148 msgid "A flexible tool for changing user database information." msgstr "用來更改使用者資料庫資訊的工具。" #. (itstool) path: row/entry -#: book.translate.xml:6138 +#: book.translate.xml:6153 msgid "" "<citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6139 +#: book.translate.xml:6154 msgid "The command-line tool to change user passwords." msgstr "用來更改使用者密碼的指令列工具。" #. (itstool) path: row/entry -#: book.translate.xml:6144 +#: book.translate.xml:6159 msgid "" "<citerefentry><refentrytitle>pw</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6145 +#: book.translate.xml:6160 msgid "" "A powerful and flexible tool for modifying all aspects of user accounts." msgstr "用來修改使用者帳號各方面資訊強大且靈活的工具。" #. (itstool) path: sect3/title -#: book.translate.xml:6153 +#: book.translate.xml:6168 msgid "<command>adduser</command>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:6155 +#: book.translate.xml:6170 msgid "<primary>accounts</primary> <secondary>adding</secondary>" msgstr "" #. (itstool) path: sect3/indexterm #. (itstool) path: sect4/indexterm -#: book.translate.xml:6159 book.translate.xml:43135 +#: book.translate.xml:6174 book.translate.xml:43189 msgid "<primary><command>adduser</command></primary>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:6162 +#: book.translate.xml:6177 msgid "<primary><filename>/usr/share/skel</filename></primary>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:6165 +#: book.translate.xml:6180 msgid "<primary>skeleton directory</primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:6169 +#: book.translate.xml:6184 msgid "" "The recommended program for adding new users is " "<citerefentry><refentrytitle>adduser</refentrytitle><manvolnum>8</" @@ -8673,7 +8693,7 @@ msgstr "" "具必須使用超級使用者執行。" #. (itstool) path: sect3/para -#: book.translate.xml:6179 +#: book.translate.xml:6194 msgid "" "The <citerefentry><refentrytitle>adduser</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> utility is interactive and walks through the steps " @@ -8696,12 +8716,12 @@ msgstr "" "離開。" #. (itstool) path: example/title -#: book.translate.xml:6191 +#: book.translate.xml:6206 msgid "Adding a User on FreeBSD" msgstr "在 FreeBSD 新增使用者" #. (itstool) path: example/screen -#: book.translate.xml:6193 +#: book.translate.xml:6208 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>adduser</userinput>\n" @@ -8737,29 +8757,29 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:6226 +#: book.translate.xml:6241 msgid "" "Since the password is not echoed when typed, be careful to not mistype the " "password when creating the user account." msgstr "由於密碼在輸入時並不會顯示,在建立使用者帳號時要小心密碼不要輸入錯誤。" #. (itstool) path: sect3/title -#: book.translate.xml:6233 +#: book.translate.xml:6248 msgid "<command>rmuser</command>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:6235 +#: book.translate.xml:6250 msgid "<primary><command>rmuser</command></primary>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:6238 +#: book.translate.xml:6253 msgid "<primary>accounts</primary> <secondary>removing</secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:6243 +#: book.translate.xml:6258 msgid "" "To completely remove a user from the system, run " "<citerefentry><refentrytitle>rmuser</refentrytitle><manvolnum>8</manvolnum></" @@ -8770,7 +8790,7 @@ msgstr "" "citerefentry>。這個指令會執行以下步驟:" #. (itstool) path: step/para -#: book.translate.xml:6249 +#: book.translate.xml:6264 msgid "" "Removes the user's <citerefentry><refentrytitle>crontab</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> entry, if one exists." @@ -8779,7 +8799,7 @@ msgstr "" "refentrytitle><manvolnum>1</manvolnum></citerefentry> 項目,若項目存在。" #. (itstool) path: step/para -#: book.translate.xml:6254 +#: book.translate.xml:6269 msgid "" "Removes any <citerefentry><refentrytitle>at</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> jobs belonging to the user." @@ -8788,30 +8808,30 @@ msgstr "" "refentrytitle><manvolnum>1</manvolnum></citerefentry> 工作。" #. (itstool) path: step/para -#: book.translate.xml:6259 +#: book.translate.xml:6274 msgid "Kills all processes owned by the user." msgstr "中止所有該使用者擁有的程序。" #. (itstool) path: step/para -#: book.translate.xml:6263 +#: book.translate.xml:6278 msgid "Removes the user from the system's local password file." msgstr "自系統本地密碼檔移除該使用者。" #. (itstool) path: step/para -#: book.translate.xml:6268 +#: book.translate.xml:6283 msgid "" "Optionally removes the user's home directory, if it is owned by the user." msgstr "選擇性移除該使用者的家目錄,若使用者擁有該目錄。" #. (itstool) path: step/para -#: book.translate.xml:6273 +#: book.translate.xml:6288 msgid "" "Removes the incoming mail files belonging to the user from <filename>/var/" "mail</filename>." msgstr "自 <filename>/var/mail</filename> 移除屬於該使用者的收件郵件檔。" #. (itstool) path: step/para -#: book.translate.xml:6278 +#: book.translate.xml:6293 msgid "" "Removes all files owned by the user from temporary file storage areas such " "as <filename>/tmp</filename>." @@ -8819,7 +8839,7 @@ msgstr "" "自暫存檔儲存區域 (如 <filename>/tmp</filename>) 移除所有使用者擁有的檔案。" #. (itstool) path: step/para -#: book.translate.xml:6284 +#: book.translate.xml:6299 msgid "" "Finally, removes the username from all groups to which it belongs in " "<filename>/etc/group</filename>. If a group becomes empty and the group name " @@ -8833,7 +8853,7 @@ msgstr "" "manvolnum></citerefentry> 替每位使用者建立獨一無二的群組。" #. (itstool) path: sect3/para -#: book.translate.xml:6293 +#: book.translate.xml:6308 msgid "" "<citerefentry><refentrytitle>rmuser</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> cannot be used to remove superuser accounts since that is " @@ -8843,18 +8863,18 @@ msgstr "" "citerefentry> 無法用來移除超級使用者帳號,因為這幾乎代表著大規模破壞。" #. (itstool) path: sect3/para -#: book.translate.xml:6297 +#: book.translate.xml:6312 msgid "" "By default, an interactive mode is used, as shown in the following example." msgstr "預設會使用互動式模式,如下範例所示。" #. (itstool) path: example/title -#: book.translate.xml:6301 +#: book.translate.xml:6316 msgid "<command>rmuser</command> Interactive Account Removal" msgstr "<command>rmuser</command> 互動式帳號移除" #. (itstool) path: example/screen -#: book.translate.xml:6304 +#: book.translate.xml:6319 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>rmuser jru</userinput>\n" @@ -8867,17 +8887,17 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:6315 +#: book.translate.xml:6330 msgid "<command>chpass</command>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:6317 +#: book.translate.xml:6332 msgid "<primary><command>chpass</command></primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:6321 +#: book.translate.xml:6336 msgid "" "Any user can use <citerefentry><refentrytitle>chpass</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> to change their " @@ -8891,7 +8911,7 @@ msgstr "" "者的其他帳號資訊。" #. (itstool) path: sect3/para -#: book.translate.xml:6326 +#: book.translate.xml:6341 msgid "" "When passed no options, aside from an optional username, " "<citerefentry><refentrytitle>chpass</refentrytitle><manvolnum>1</manvolnum></" @@ -8904,7 +8924,7 @@ msgstr "" "的資訊到使用者資料庫。" #. (itstool) path: note/para -#: book.translate.xml:6332 +#: book.translate.xml:6347 msgid "" "This utility will prompt for the user's password when exiting the editor, " "unless the utility is run as the superuser." @@ -8912,7 +8932,7 @@ msgstr "" "離開編輯器時,此工具會提示使用者輸入密碼,除非使用超級使用者執行此工具。" #. (itstool) path: sect3/para -#: book.translate.xml:6337 +#: book.translate.xml:6352 msgid "" "In <xref linkend=\"users-modifying-chpass-su\"/>, the superuser has typed " "<command>chpass jru</command> and is now viewing the fields that can be " @@ -8927,12 +8947,12 @@ msgstr "" "個欄位供編輯,如 <xref linkend=\"users-modifying-chpass-ru\"/> 所示。" #. (itstool) path: example/title -#: book.translate.xml:6346 +#: book.translate.xml:6361 msgid "Using <command>chpass</command> as Superuser" msgstr "以超級使用者的身份使用 <command>chpass</command>" #. (itstool) path: example/screen -#: book.translate.xml:6349 +#: book.translate.xml:6364 #, no-wrap msgid "" "#Changing user database information for jru.\n" @@ -8953,12 +8973,12 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:6367 +#: book.translate.xml:6382 msgid "Using <command>chpass</command> as Regular User" msgstr "以一般使用者的身份使用 <command>chpass</command>" #. (itstool) path: example/screen -#: book.translate.xml:6370 +#: book.translate.xml:6385 #, no-wrap msgid "" "#Changing user database information for jru.\n" @@ -8971,7 +8991,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:6380 +#: book.translate.xml:6395 msgid "" "The commands <citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>chsh</" @@ -8999,22 +9019,22 @@ msgstr "" "linkend=\"network-servers\"/> 中有說明。" #. (itstool) path: sect3/title -#: book.translate.xml:6390 +#: book.translate.xml:6405 msgid "<command>passwd</command>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:6392 +#: book.translate.xml:6407 msgid "<primary><command>passwd</command></primary>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:6395 +#: book.translate.xml:6410 msgid "<primary>accounts</primary> <secondary>changing password</secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:6400 +#: book.translate.xml:6415 msgid "" "Any user can easily change their password using " "<citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum></" @@ -9027,12 +9047,12 @@ msgstr "" "意外或未授權的變更,這個指令在設定新密碼之前會提示使用者輸入原來的密碼。" #. (itstool) path: example/title -#: book.translate.xml:6406 +#: book.translate.xml:6421 msgid "Changing Your Password" msgstr "更改您的密碼" #. (itstool) path: example/screen -#: book.translate.xml:6408 +#: book.translate.xml:6423 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>passwd</userinput>\n" @@ -9045,7 +9065,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:6417 +#: book.translate.xml:6432 msgid "" "The superuser can change any user's password by specifying the username when " "running <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</" @@ -9059,12 +9079,12 @@ msgstr "" "用者目前的密碼,這可在使用者忘記原來的密碼時更改密碼。" #. (itstool) path: example/title -#: book.translate.xml:6425 +#: book.translate.xml:6440 msgid "Changing Another User's Password as the Superuser" msgstr "以超級使用者的身份更改其他使用者的密碼" #. (itstool) path: example/screen -#: book.translate.xml:6428 +#: book.translate.xml:6443 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>passwd jru</userinput>\n" @@ -9076,7 +9096,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:6437 +#: book.translate.xml:6452 msgid "" "As with <citerefentry><refentrytitle>chpass</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, <citerefentry><refentrytitle>yppasswd</" @@ -9091,18 +9111,18 @@ msgstr "" "citerefentry>,因此 <acronym>NIS</acronym> 在兩個指令上皆可運作。" #. (itstool) path: sect3/title -#: book.translate.xml:6444 +#: book.translate.xml:6459 msgid "<command>pw</command>" msgstr "" #. (itstool) path: sect3/indexterm #. (itstool) path: sect4/indexterm -#: book.translate.xml:6446 book.translate.xml:43158 +#: book.translate.xml:6461 book.translate.xml:43212 msgid "<primary><command>pw</command></primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:6450 +#: book.translate.xml:6465 msgid "" "The <citerefentry><refentrytitle>pw</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> utility can create, remove, modify, and display users and " @@ -9120,27 +9140,27 @@ msgstr "" "本節的指令要複雜許多。" #. (itstool) path: sect2/title -#: book.translate.xml:6461 +#: book.translate.xml:6476 msgid "Managing Groups" msgstr "管理群組" #. (itstool) path: sect2/indexterm -#: book.translate.xml:6463 +#: book.translate.xml:6478 msgid "<primary>groups</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:6466 +#: book.translate.xml:6481 msgid "<primary><filename>/etc/groups</filename></primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:6469 +#: book.translate.xml:6484 msgid "<primary>accounts</primary> <secondary>groups</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:6474 +#: book.translate.xml:6489 msgid "" "A group is a list of users. A group is identified by its group name and " "<acronym>GID</acronym>. In FreeBSD, the kernel uses the <acronym>UID</" @@ -9154,7 +9174,7 @@ msgstr "" "單中的第一個群組。" #. (itstool) path: sect2/para -#: book.translate.xml:6481 +#: book.translate.xml:6496 msgid "" "The group name to <acronym>GID</acronym> mapping is listed in <filename>/etc/" "group</filename>. This is a plain text file with four colon-delimited " @@ -9172,7 +9192,7 @@ msgstr "" "citerefentry>。" #. (itstool) path: sect2/para -#: book.translate.xml:6489 +#: book.translate.xml:6504 msgid "" "The superuser can modify <filename>/etc/group</filename> using a text " "editor. Alternatively, <citerefentry><refentrytitle>pw</" @@ -9186,7 +9206,7 @@ msgstr "" "\"groupname\">teamtwo</systemitem> 的群組然後確認該群組已新增:" #. (itstool) path: example/title -#: book.translate.xml:6496 +#: book.translate.xml:6511 msgid "" "Adding a Group Using <citerefentry><refentrytitle>pw</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>" @@ -9195,7 +9215,7 @@ msgstr "" "manvolnum></citerefentry> 新增群組" #. (itstool) path: example/screen -#: book.translate.xml:6498 +#: book.translate.xml:6513 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>pw groupadd teamtwo</userinput>\n" @@ -9204,7 +9224,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:6503 +#: book.translate.xml:6518 msgid "" "In this example, <literal>1100</literal> is the <acronym>GID</acronym> of " "<systemitem class=\"groupname\">teamtwo</systemitem>. Right now, <systemitem " @@ -9219,7 +9239,7 @@ msgstr "" "\">teamtwo</systemitem> 的成員。" #. (itstool) path: example/title -#: book.translate.xml:6512 +#: book.translate.xml:6527 msgid "" "Adding User Accounts to a New Group Using <citerefentry><refentrytitle>pw</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>" @@ -9228,7 +9248,7 @@ msgstr "" "manvolnum></citerefentry> 加入使用者帳號到新的群組" #. (itstool) path: example/screen -#: book.translate.xml:6515 +#: book.translate.xml:6530 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>pw groupmod teamtwo -M jru</userinput>\n" @@ -9237,7 +9257,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:6520 +#: book.translate.xml:6535 msgid "" "The argument to <option>-M</option> is a comma-delimited list of users to be " "added to a new (empty) group or to replace the members of an existing group. " @@ -9264,7 +9284,7 @@ msgstr "" "filename> 且不會嘗試自 <filename>/etc/passwd</filename> 讀取其他的資料。" #. (itstool) path: example/title -#: book.translate.xml:6534 +#: book.translate.xml:6549 msgid "" "Adding a New Member to a Group Using <citerefentry><refentrytitle>pw</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>" @@ -9273,7 +9293,7 @@ msgstr "" "manvolnum></citerefentry> 加入新成員到群組" #. (itstool) path: example/screen -#: book.translate.xml:6536 +#: book.translate.xml:6551 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>pw groupmod teamtwo -m db</userinput>\n" @@ -9282,7 +9302,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:6541 +#: book.translate.xml:6556 msgid "" "In this example, the argument to <option>-m</option> is a comma-delimited " "list of users who are to be added to the group. Unlike the previous example, " @@ -9294,7 +9314,7 @@ msgstr "" "者。" #. (itstool) path: example/title -#: book.translate.xml:6548 +#: book.translate.xml:6563 msgid "" "Using <citerefentry><refentrytitle>id</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> to Determine Group Membership" @@ -9303,7 +9323,7 @@ msgstr "" "manvolnum></citerefentry> 來查看所屬群組" #. (itstool) path: example/screen -#: book.translate.xml:6550 +#: book.translate.xml:6565 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>id jru</userinput>\n" @@ -9311,7 +9331,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:6554 +#: book.translate.xml:6569 msgid "" "In this example, <systemitem class=\"username\">jru</systemitem> is a member " "of the groups <systemitem class=\"groupname\">jru</systemitem> and " @@ -9322,7 +9342,7 @@ msgstr "" "\">teamtwo</systemitem> 的成員。" #. (itstool) path: sect2/para -#: book.translate.xml:6559 +#: book.translate.xml:6574 msgid "" "For more information about this command and the format of <filename>/etc/" "group</filename>, refer to <citerefentry><refentrytitle>pw</" @@ -9336,17 +9356,17 @@ msgstr "" "refentrytitle><manvolnum>5</manvolnum></citerefentry>。" #. (itstool) path: sect1/title -#: book.translate.xml:6566 +#: book.translate.xml:6581 msgid "Permissions" msgstr "權限" #. (itstool) path: sect1/indexterm -#: book.translate.xml:6568 +#: book.translate.xml:6583 msgid "<primary>UNIX</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:6572 +#: book.translate.xml:6587 msgid "" "In FreeBSD, every file and directory has an associated set of permissions " "and several utilities are available for viewing and modifying these " @@ -9360,7 +9380,7 @@ msgstr "" "無法不正確的存取供作業系統或其他使用者擁有的檔案。" #. (itstool) path: sect1/para -#: book.translate.xml:6580 +#: book.translate.xml:6595 msgid "" "This section discusses the traditional <trademark class=\"registered\">UNIX</" "trademark> permissions used in FreeBSD. For finer grained file system access " @@ -9371,7 +9391,7 @@ msgstr "" ">。" #. (itstool) path: sect1/para -#: book.translate.xml:6584 +#: book.translate.xml:6599 msgid "" "In <trademark class=\"registered\">UNIX</trademark>, basic permissions are " "assigned using three types of access: read, write, and execute. These access " @@ -9395,7 +9415,7 @@ msgstr "" "literal> 以及 <literal>x</literal> 開啟的值為 <literal>1</literal>。" #. (itstool) path: sect1/para -#: book.translate.xml:6599 +#: book.translate.xml:6614 msgid "" "Table 4.1 summarizes the possible numeric and alphabetic possibilities. When " "reading the <quote>Directory Listing</quote> column, a <literal>-</literal> " @@ -9405,183 +9425,183 @@ msgstr "" "位時,<literal>-</literal> 用來代表該權限設為關閉。" #. (itstool) path: sect1/indexterm -#: book.translate.xml:6604 +#: book.translate.xml:6619 msgid "<primary>permissions</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:6607 +#: book.translate.xml:6622 msgid "<primary>file permissions</primary>" msgstr "" #. (itstool) path: table/title -#: book.translate.xml:6612 +#: book.translate.xml:6627 msgid "<trademark class=\"registered\">UNIX</trademark> Permissions" msgstr "<trademark class=\"registered\">UNIX</trademark> 權限" #. (itstool) path: row/entry -#: book.translate.xml:6617 +#: book.translate.xml:6632 msgid "Value" msgstr "數值" #. (itstool) path: row/entry -#: book.translate.xml:6618 +#: book.translate.xml:6633 msgid "Permission" msgstr "權限" #. (itstool) path: row/entry -#: book.translate.xml:6619 +#: book.translate.xml:6634 msgid "Directory Listing" msgstr "目錄清單標示" #. (itstool) path: row/entry -#: book.translate.xml:6625 +#: book.translate.xml:6640 msgid "0" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6626 +#: book.translate.xml:6641 msgid "No read, no write, no execute" msgstr "不可讀取, 不可寫入, 不可執行" #. (itstool) path: row/entry -#: book.translate.xml:6627 +#: book.translate.xml:6642 msgid "<literal>---</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6631 book.translate.xml:46760 book.translate.xml:46782 -#: book.translate.xml:46872 +#: book.translate.xml:6646 book.translate.xml:46814 book.translate.xml:46836 +#: book.translate.xml:46926 msgid "1" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6632 +#: book.translate.xml:6647 msgid "No read, no write, execute" msgstr "不可讀取, 不可寫入, 可執行" #. (itstool) path: row/entry -#: book.translate.xml:6633 +#: book.translate.xml:6648 msgid "<literal>--x</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6637 book.translate.xml:46652 book.translate.xml:46662 -#: book.translate.xml:46734 book.translate.xml:46744 book.translate.xml:46824 -#: book.translate.xml:46826 +#: book.translate.xml:6652 book.translate.xml:46706 book.translate.xml:46716 +#: book.translate.xml:46788 book.translate.xml:46798 book.translate.xml:46878 +#: book.translate.xml:46880 msgid "2" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6638 +#: book.translate.xml:6653 msgid "No read, write, no execute" msgstr "不可讀取, 可寫入, 不可執行" #. (itstool) path: row/entry -#: book.translate.xml:6639 +#: book.translate.xml:6654 msgid "<literal>-w-</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6643 book.translate.xml:46654 book.translate.xml:46660 -#: book.translate.xml:46736 book.translate.xml:46742 book.translate.xml:46832 -#: book.translate.xml:46834 +#: book.translate.xml:6658 book.translate.xml:46708 book.translate.xml:46714 +#: book.translate.xml:46790 book.translate.xml:46796 book.translate.xml:46886 +#: book.translate.xml:46888 msgid "3" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6644 +#: book.translate.xml:6659 msgid "No read, write, execute" msgstr "不可讀取, 可寫入, 可執行" #. (itstool) path: row/entry -#: book.translate.xml:6645 +#: book.translate.xml:6660 msgid "<literal>-wx</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6649 book.translate.xml:46668 book.translate.xml:46678 -#: book.translate.xml:46750 book.translate.xml:46758 book.translate.xml:46776 -#: book.translate.xml:46784 book.translate.xml:46840 book.translate.xml:46848 -#: book.translate.xml:46890 +#: book.translate.xml:6664 book.translate.xml:46722 book.translate.xml:46732 +#: book.translate.xml:46804 book.translate.xml:46812 book.translate.xml:46830 +#: book.translate.xml:46838 book.translate.xml:46894 book.translate.xml:46902 +#: book.translate.xml:46944 msgid "4" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6650 +#: book.translate.xml:6665 msgid "Read, no write, no execute" msgstr "可讀取, 不可寫入, 不可執行" #. (itstool) path: row/entry -#: book.translate.xml:6651 +#: book.translate.xml:6666 msgid "<literal>r--</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6655 book.translate.xml:46670 book.translate.xml:46676 -#: book.translate.xml:46766 book.translate.xml:46768 book.translate.xml:46856 -#: book.translate.xml:46882 +#: book.translate.xml:6670 book.translate.xml:46724 book.translate.xml:46730 +#: book.translate.xml:46820 book.translate.xml:46822 book.translate.xml:46910 +#: book.translate.xml:46936 msgid "5" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6656 +#: book.translate.xml:6671 msgid "Read, no write, execute" msgstr "可讀取, 不可寫入, 可執行" #. (itstool) path: row/entry -#: book.translate.xml:6657 +#: book.translate.xml:6672 msgid "<literal>r-x</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6661 book.translate.xml:46686 book.translate.xml:46700 -#: book.translate.xml:46752 book.translate.xml:46774 book.translate.xml:46842 -#: book.translate.xml:46864 +#: book.translate.xml:6676 book.translate.xml:46740 book.translate.xml:46754 +#: book.translate.xml:46806 book.translate.xml:46828 book.translate.xml:46896 +#: book.translate.xml:46918 msgid "6" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6662 +#: book.translate.xml:6677 msgid "Read, write, no execute" msgstr "可讀取, 可寫入, 不可執行" #. (itstool) path: row/entry -#: book.translate.xml:6663 +#: book.translate.xml:6678 msgid "<literal>rw-</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6667 book.translate.xml:46644 book.translate.xml:46646 -#: book.translate.xml:46790 book.translate.xml:46800 book.translate.xml:46858 -#: book.translate.xml:46880 +#: book.translate.xml:6682 book.translate.xml:46698 book.translate.xml:46700 +#: book.translate.xml:46844 book.translate.xml:46854 book.translate.xml:46912 +#: book.translate.xml:46934 msgid "7" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6668 +#: book.translate.xml:6683 msgid "Read, write, execute" msgstr "可讀取, 可寫入, 可執行" #. (itstool) path: row/entry -#: book.translate.xml:6669 +#: book.translate.xml:6684 msgid "<literal>rwx</literal>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:6675 +#: book.translate.xml:6690 msgid "" "<primary><citerefentry><refentrytitle>ls</refentrytitle><manvolnum>1</" "manvolnum></citerefentry></primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:6678 +#: book.translate.xml:6693 msgid "<primary>directories</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:6682 +#: book.translate.xml:6697 msgid "" "Use the <option>-l</option> argument to <citerefentry><refentrytitle>ls</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> to view a long " @@ -9592,10 +9612,10 @@ msgstr "" "使用 <citerefentry><refentrytitle>ls</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> 指令時,可以加上 <option>-l</option> 參數, 來檢視" "詳細的目錄清單。 清單中欄位的資訊包含檔案對所有者、群組及其他人的權限。 在任" -"一個目錄底下執行 <command>ls -l</command>,會顯示如下的結果:" +"一個目錄底下執行 <command>ls -l</command>,會顯示如下的結果:" #. (itstool) path: sect1/screen -#: book.translate.xml:6688 +#: book.translate.xml:6703 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>ls -l</userinput>\n" @@ -9606,7 +9626,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:6694 +#: book.translate.xml:6709 msgid "" "The first (leftmost) character in the first column indicates whether this " "file is a regular file, a directory, a special character device, a socket, " @@ -9633,7 +9653,7 @@ msgstr "" "案的三種權限。" #. (itstool) path: sect1/para -#: book.translate.xml:6711 +#: book.translate.xml:6726 msgid "" "How does the system control permissions on devices? FreeBSD treats most " "hardware devices as a file that programs can open, read, and write data to. " @@ -9644,7 +9664,7 @@ msgstr "" "</filename> 目錄中。" #. (itstool) path: sect1/para -#: book.translate.xml:6716 +#: book.translate.xml:6731 msgid "" "Directories are also treated as files. They have read, write, and execute " "permissions. The executable bit for a directory has a slightly different " @@ -9660,7 +9680,7 @@ msgstr "" "代表能夠存取在此目錄之中的已知檔名的檔案,但仍會受限於檔案本身所設定的權限。" #. (itstool) path: sect1/para -#: book.translate.xml:6725 +#: book.translate.xml:6740 msgid "" "In order to perform a directory listing, the read permission must be set on " "the directory. In order to delete a file that one knows the name of, it is " @@ -9671,7 +9691,7 @@ msgstr "" "案所在目錄的寫入 <emphasis>以及</emphasis> 執行的權限。" #. (itstool) path: sect1/para -#: book.translate.xml:6731 +#: book.translate.xml:6746 msgid "" "There are more permission bits, but they are primarily used in special " "circumstances such as setuid binaries and sticky directories. For more " @@ -9685,189 +9705,189 @@ msgstr "" "citerefentry>。" #. (itstool) path: info/title -#: book.translate.xml:6738 +#: book.translate.xml:6753 msgid "Symbolic Permissions" msgstr "權限符號" #. (itstool) path: authorgroup/author -#: book.translate.xml:6741 book.translate.xml:6876 book.translate.xml:6927 -#: book.translate.xml:19248 book.translate.xml:19355 book.translate.xml:19533 -#: book.translate.xml:20652 book.translate.xml:21178 book.translate.xml:23427 -#: book.translate.xml:33833 book.translate.xml:45461 book.translate.xml:65535 +#: book.translate.xml:6756 book.translate.xml:6891 book.translate.xml:6942 +#: book.translate.xml:19273 book.translate.xml:19380 book.translate.xml:19558 +#: book.translate.xml:20677 book.translate.xml:21203 book.translate.xml:23452 +#: book.translate.xml:33887 book.translate.xml:45515 book.translate.xml:65535 msgid "" "<personname> <firstname>Tom</firstname> <surname>Rhodes</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:6751 +#: book.translate.xml:6766 msgid "<primary>permissions</primary> <secondary>symbolic</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:6756 +#: book.translate.xml:6771 msgid "" "Symbolic permissions use characters instead of octal values to assign " "permissions to files or directories. Symbolic permissions use the syntax of " "(who) (action) (permissions), where the following values are available:" msgstr "" "權限符號可稱做符號表示,使用字元的方式來取代使用數值來設定檔案或目錄的權限。 " -"符號表示的格式依序為 (某人)(動作)(權限),可使用的符號如下:" +"符號表示的格式依序為 (某人)(動作)(權限),可使用的符號如下:" #. (itstool) path: row/entry -#: book.translate.xml:6766 book.translate.xml:23153 +#: book.translate.xml:6781 book.translate.xml:23178 msgid "Option" msgstr "項目" #. (itstool) path: row/entry -#: book.translate.xml:6767 +#: book.translate.xml:6782 msgid "Letter" msgstr "字母" #. (itstool) path: row/entry -#: book.translate.xml:6768 +#: book.translate.xml:6783 msgid "Represents" msgstr "代表意義" #. (itstool) path: row/entry -#: book.translate.xml:6774 book.translate.xml:6780 book.translate.xml:6786 -#: book.translate.xml:6792 +#: book.translate.xml:6789 book.translate.xml:6795 book.translate.xml:6801 +#: book.translate.xml:6807 msgid "(who)" msgstr "(某人)" #. (itstool) path: row/entry -#: book.translate.xml:6775 +#: book.translate.xml:6790 msgid "u" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6776 +#: book.translate.xml:6791 msgid "User" msgstr "使用者" #. (itstool) path: row/entry -#: book.translate.xml:6781 +#: book.translate.xml:6796 msgid "g" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6782 +#: book.translate.xml:6797 msgid "Group owner" msgstr "群組所有者" #. (itstool) path: row/entry -#: book.translate.xml:6787 +#: book.translate.xml:6802 msgid "o" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6788 +#: book.translate.xml:6803 msgid "Other" msgstr "其他" #. (itstool) path: row/entry -#: book.translate.xml:6793 +#: book.translate.xml:6808 msgid "a" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6794 +#: book.translate.xml:6809 msgid "All (<quote>world</quote>)" msgstr "全部 (<quote>world</quote>)" #. (itstool) path: row/entry -#: book.translate.xml:6798 book.translate.xml:6804 book.translate.xml:6810 +#: book.translate.xml:6813 book.translate.xml:6819 book.translate.xml:6825 msgid "(action)" msgstr "(動作)" #. (itstool) path: row/entry -#: book.translate.xml:6799 book.translate.xml:31394 book.translate.xml:39126 +#: book.translate.xml:6814 book.translate.xml:31448 book.translate.xml:39180 msgid "+" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6800 +#: book.translate.xml:6815 msgid "Adding permissions" msgstr "\t增加權限" #. (itstool) path: row/entry -#: book.translate.xml:6805 book.translate.xml:31399 book.translate.xml:39131 +#: book.translate.xml:6820 book.translate.xml:31453 book.translate.xml:39185 msgid "-" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6806 +#: book.translate.xml:6821 msgid "Removing permissions" msgstr "移除權限" #. (itstool) path: row/entry -#: book.translate.xml:6811 +#: book.translate.xml:6826 msgid "=" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6812 +#: book.translate.xml:6827 msgid "Explicitly set permissions" msgstr "指定權限" #. (itstool) path: row/entry -#: book.translate.xml:6816 book.translate.xml:6822 book.translate.xml:6828 -#: book.translate.xml:6834 book.translate.xml:6840 +#: book.translate.xml:6831 book.translate.xml:6837 book.translate.xml:6843 +#: book.translate.xml:6849 book.translate.xml:6855 msgid "(permissions)" msgstr "(權限)" #. (itstool) path: row/entry -#: book.translate.xml:6817 +#: book.translate.xml:6832 msgid "r" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6818 +#: book.translate.xml:6833 msgid "Read" msgstr "讀取" #. (itstool) path: row/entry -#: book.translate.xml:6823 +#: book.translate.xml:6838 msgid "w" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6824 +#: book.translate.xml:6839 msgid "Write" msgstr "寫入" #. (itstool) path: row/entry -#: book.translate.xml:6829 +#: book.translate.xml:6844 msgid "x" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6830 +#: book.translate.xml:6845 msgid "Execute" msgstr "執行" #. (itstool) path: row/entry -#: book.translate.xml:6835 +#: book.translate.xml:6850 msgid "t" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6836 +#: book.translate.xml:6851 msgid "Sticky bit" msgstr "Sticky 位元" #. (itstool) path: row/entry -#: book.translate.xml:6841 +#: book.translate.xml:6856 msgid "s" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:6842 +#: book.translate.xml:6857 msgid "Set UID or GID" msgstr "設定 UID 或 GID" #. (itstool) path: sect2/para -#: book.translate.xml:6848 +#: book.translate.xml:6863 msgid "" "These values are used with <citerefentry><refentrytitle>chmod</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, but with letters " @@ -9877,16 +9897,16 @@ msgstr "" "如先前同樣使用 <citerefentry><refentrytitle>chmod</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> 指令來設定,但使用的參" "數為這些字元。 例如,您可以使用下列指令禁止其他使用者存取檔案 " -"<replaceable>FILE</replaceable>:" +"<replaceable>FILE</replaceable>:" #. (itstool) path: sect2/screen -#: book.translate.xml:6853 +#: book.translate.xml:6868 #, no-wrap msgid "<prompt>%</prompt> <userinput>chmod go= FILE</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:6855 +#: book.translate.xml:6870 msgid "" "A comma separated list can be provided when more than one set of changes to " "a file must be made. For example, the following command removes the group " @@ -9898,18 +9918,18 @@ msgstr "" "(<quote>world</quote>) 對該檔有執行權限。" #. (itstool) path: sect2/screen -#: book.translate.xml:6862 +#: book.translate.xml:6877 #, no-wrap msgid "<prompt>%</prompt> <userinput>chmod go-w,a+x <replaceable>FILE</replaceable></userinput>" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:6873 +#: book.translate.xml:6888 msgid "FreeBSD File Flags" msgstr "FreeBSD 檔案旗標" #. (itstool) path: sect2/para -#: book.translate.xml:6886 +#: book.translate.xml:6901 msgid "" "In addition to file permissions, FreeBSD supports the use of <quote>file " "flags</quote>. These flags add an additional level of security and control " @@ -9922,7 +9942,7 @@ msgstr "" "<systemitem class=\"username\">root</systemitem> 不會意外將檔案修改或移除。" #. (itstool) path: sect2/para -#: book.translate.xml:6893 +#: book.translate.xml:6908 msgid "" "File flags are modified using <citerefentry><refentrytitle>chflags</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>. For example, to " @@ -9935,13 +9955,13 @@ msgstr "" "<filename>file1</filename>,使用下列指令:" #. (itstool) path: sect2/screen -#: book.translate.xml:6898 +#: book.translate.xml:6913 #, no-wrap msgid "<prompt>#</prompt> <userinput>chflags sunlink file1</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:6900 +#: book.translate.xml:6915 msgid "" "To disable the system undeletable flag, put a <quote>no</quote> in front of " "the <option>sunlink</option>:" @@ -9950,13 +9970,13 @@ msgstr "" "<quote>no</quote>,例如:" #. (itstool) path: sect2/screen -#: book.translate.xml:6904 +#: book.translate.xml:6919 #, no-wrap msgid "<prompt>#</prompt> <userinput>chflags nosunlink file1</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:6906 +#: book.translate.xml:6921 msgid "" "To view the flags of a file, use <option>-lo</option> with " "<citerefentry><refentrytitle>ls</refentrytitle><manvolnum>1</manvolnum></" @@ -9966,19 +9986,19 @@ msgstr "" "manvolnum></citerefentry> 及參數 <option>-lo</option> 可檢視檔案目前的旗標:" #. (itstool) path: sect2/screen -#: book.translate.xml:6909 +#: book.translate.xml:6924 #, no-wrap msgid "<prompt>#</prompt> <userinput>ls -lo file1</userinput>" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:6911 +#: book.translate.xml:6926 #, no-wrap msgid "-rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 file1" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:6913 +#: book.translate.xml:6928 msgid "" "Several file flags may only be added or removed by the <systemitem class=" "\"username\">root</systemitem> user. In other cases, the file owner may set " @@ -9994,7 +10014,7 @@ msgstr "" "refentrytitle><manvolnum>2</manvolnum></citerefentry> 說明以瞭解相關細節。" #. (itstool) path: info/title -#: book.translate.xml:6922 +#: book.translate.xml:6937 msgid "" "The <literal>setuid</literal>, <literal>setgid</literal>, and " "<literal>sticky</literal> Permissions" @@ -10003,7 +10023,7 @@ msgstr "" "literal> 權限" #. (itstool) path: sect2/para -#: book.translate.xml:6937 +#: book.translate.xml:6952 msgid "" "Other than the permissions already discussed, there are three other specific " "settings that all administrators should know about. They are the " @@ -10015,7 +10035,7 @@ msgstr "" "<literal>sticky</literal> 權限。" #. (itstool) path: sect2/para -#: book.translate.xml:6943 +#: book.translate.xml:6958 msgid "" "These settings are important for some <trademark class=\"registered\">UNIX</" "trademark> operations as they provide functionality not normally granted to " @@ -10027,7 +10047,7 @@ msgstr "" "說明真實使用者 ID (Real user ID) 與有效使用者 ID (Effective user ID) 的差異。" #. (itstool) path: sect2/para -#: book.translate.xml:6948 +#: book.translate.xml:6963 msgid "" "The real user ID is the <acronym>UID</acronym> who owns or starts the " "process. The effective <acronym>UID</acronym> is the user ID the process " @@ -10047,20 +10067,20 @@ msgstr "" "(<errorname>Permission Denied</errorname>) 的錯誤。" #. (itstool) path: sect2/para -#: book.translate.xml:6958 +#: book.translate.xml:6973 msgid "" "The setuid permission may be set by prefixing a permission set with the " "number four (4) as shown in the following example:" msgstr "setuid 權限可以透過在權限集前加上數字 (4) 來設定,如下範例所示:" #. (itstool) path: sect2/screen -#: book.translate.xml:6962 +#: book.translate.xml:6977 #, no-wrap msgid "<prompt>#</prompt> <userinput>chmod 4755 suidexample.sh</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:6964 +#: book.translate.xml:6979 msgid "" "The permissions on <filename><replaceable>suidexample.sh</replaceable></" "filename> now look like the following:" @@ -10069,13 +10089,13 @@ msgstr "" "如下所示:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:6968 +#: book.translate.xml:6983 #, no-wrap msgid "-rwsr-xr-x 1 trhodes trhodes 63 Aug 29 06:36 suidexample.sh" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:6970 +#: book.translate.xml:6985 msgid "" "Note that a <literal>s</literal> is now part of the permission set " "designated for the file owner, replacing the executable bit. This allows " @@ -10088,7 +10108,7 @@ msgstr "" "refentrytitle><manvolnum>1</manvolnum></citerefentry> 可正常使用。" #. (itstool) path: note/para -#: book.translate.xml:6976 +#: book.translate.xml:6991 msgid "" "The <literal>nosuid</literal> <citerefentry><refentrytitle>mount</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> option will cause such " @@ -10102,7 +10122,7 @@ msgstr "" "該選項並非完全可靠。" #. (itstool) path: sect2/para -#: book.translate.xml:6983 +#: book.translate.xml:6998 msgid "" "To view this in real time, open two terminals. On one, type <command>passwd</" "command> as a normal user. While it waits for a new password, check the " @@ -10116,12 +10136,12 @@ msgstr "" "citerefentry> 程序的使用者資訊:" #. (itstool) path: sect2/para -#: book.translate.xml:6989 +#: book.translate.xml:7004 msgid "In terminal A:" msgstr "於終端機 A:" #. (itstool) path: sect2/screen -#: book.translate.xml:6991 +#: book.translate.xml:7006 #, no-wrap msgid "" "Changing local password for trhodes\n" @@ -10129,18 +10149,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:6994 +#: book.translate.xml:7009 msgid "In terminal B:" -msgstr "於終端機 B:" +msgstr "於終端機 B:" #. (itstool) path: sect2/screen -#: book.translate.xml:6996 +#: book.translate.xml:7011 #, no-wrap msgid "<prompt>#</prompt> <userinput>ps aux | grep passwd</userinput>" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:6998 +#: book.translate.xml:7013 #, no-wrap msgid "" "trhodes 5232 0.0 0.2 3420 1608 0 R+ 2:10AM 0:00.00 grep passwd\n" @@ -10148,7 +10168,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:7001 +#: book.translate.xml:7016 msgid "" "Although <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> is run as a normal user, it is using the effective " @@ -10160,7 +10180,7 @@ msgstr "" "acronym>。" #. (itstool) path: sect2/para -#: book.translate.xml:7005 +#: book.translate.xml:7020 msgid "" "The <literal>setgid</literal> permission performs the same function as the " "<literal>setuid</literal> permission; except that it alters the group " @@ -10173,7 +10193,7 @@ msgstr "" "使用者。" #. (itstool) path: sect2/para -#: book.translate.xml:7012 +#: book.translate.xml:7027 msgid "" "To set the <literal>setgid</literal> permission on a file, provide " "<citerefentry><refentrytitle>chmod</refentrytitle><manvolnum>1</manvolnum></" @@ -10184,26 +10204,26 @@ msgstr "" "citerefentry> 的參數前加上 (2):" #. (itstool) path: sect2/screen -#: book.translate.xml:7015 +#: book.translate.xml:7030 #, no-wrap msgid "<prompt>#</prompt> <userinput>chmod 2755 sgidexample.sh</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:7017 +#: book.translate.xml:7032 msgid "" "In the following listing, notice that the <literal>s</literal> is now in the " "field designated for the group permission settings:" msgstr "注意以下清單中,<literal>s</literal> 現在位於指定群組權限設定的欄位:" #. (itstool) path: sect2/screen -#: book.translate.xml:7021 +#: book.translate.xml:7036 #, no-wrap msgid "-rwxr-sr-x 1 trhodes trhodes 44 Aug 31 01:49 sgidexample.sh" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:7024 +#: book.translate.xml:7039 msgid "" "In these examples, even though the shell script in question is an executable " "file, it will not run with a different <acronym>EUID</acronym> or effective " @@ -10217,7 +10237,7 @@ msgstr "" "manvolnum></citerefentry> 系統呼叫 (System call)。" #. (itstool) path: sect2/para -#: book.translate.xml:7031 +#: book.translate.xml:7046 msgid "" "The <literal>setuid</literal> and <literal>setgid</literal> permission bits " "may lower system security, by allowing for elevated permissions. The third " @@ -10229,7 +10249,7 @@ msgstr "" "literal>,可以加強系統的安全性。" #. (itstool) path: sect2/para -#: book.translate.xml:7037 +#: book.translate.xml:7052 msgid "" "When the <literal>sticky bit</literal> is set on a directory, it allows file " "deletion only by the file owner. This is useful to prevent file deletion in " @@ -10242,13 +10262,13 @@ msgstr "" "非常有用。要使用這個權限,可在權限集前加上 (1):" #. (itstool) path: sect2/screen -#: book.translate.xml:7044 +#: book.translate.xml:7059 #, no-wrap msgid "<prompt>#</prompt> <userinput>chmod 1777 /tmp</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:7046 +#: book.translate.xml:7061 msgid "" "The <literal>sticky bit</literal> permission will display as a <literal>t</" "literal> at the very end of the permission set:" @@ -10257,29 +10277,29 @@ msgstr "" "後:" #. (itstool) path: sect2/screen -#: book.translate.xml:7050 +#: book.translate.xml:7065 #, no-wrap msgid "<prompt>#</prompt> <userinput>ls -al / | grep tmp</userinput>" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:7052 +#: book.translate.xml:7067 #, no-wrap msgid "drwxrwxrwt 10 root wheel 512 Aug 31 01:49 tmp" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:7058 +#: book.translate.xml:7073 msgid "Directory Structure" msgstr "目錄結構" #. (itstool) path: sect1/indexterm -#: book.translate.xml:7060 +#: book.translate.xml:7075 msgid "<primary>directory hierarchy</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:7064 +#: book.translate.xml:7079 msgid "" "The FreeBSD directory hierarchy is fundamental to obtaining an overall " "understanding of the system. The most important directory is root or, " @@ -10294,7 +10314,7 @@ msgstr "" "會有開機所會用到必備檔案。 此外,根目錄還有紀錄其他檔案系統的掛載點相關設定。" #. (itstool) path: sect1/para -#: book.translate.xml:7073 +#: book.translate.xml:7088 msgid "" "A mount point is a directory where additional file systems can be grafted " "onto a parent file system (usually the root file system). This is further " @@ -10321,7 +10341,7 @@ msgstr "" "option> 選項。 其中細節說明可參閱 <xref linkend=\"disks-fstab\"/>。" #. (itstool) path: sect1/para -#: book.translate.xml:7088 +#: book.translate.xml:7103 msgid "" "A complete description of the file system hierarchy is available in " "<citerefentry><refentrytitle>hier</refentrytitle><manvolnum>7</manvolnum></" @@ -10334,45 +10354,45 @@ msgstr "" #. (itstool) path: row/entry #. (itstool) path: sect3/title -#: book.translate.xml:7097 book.translate.xml:10880 +#: book.translate.xml:7112 book.translate.xml:10895 msgid "Directory" msgstr "目錄" #. (itstool) path: row/entry -#: book.translate.xml:7104 +#: book.translate.xml:7119 msgid "Root directory of the file system." msgstr "檔案系統的根目錄。" #. (itstool) path: row/entry -#: book.translate.xml:7108 +#: book.translate.xml:7123 msgid "<filename>/bin/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7109 +#: book.translate.xml:7124 msgid "" "User utilities fundamental to both single-user and multi-user environments." msgstr "" "單使用者 (Single-user)、多使用者 (Multi-user) 兩種模式皆可使用的基本工具 。" #. (itstool) path: row/entry -#: book.translate.xml:7114 +#: book.translate.xml:7129 msgid "<filename>/boot/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7115 +#: book.translate.xml:7130 msgid "" "Programs and configuration files used during operating system bootstrap." msgstr "作業系統開機過程會用到的程式、設定檔。" #. (itstool) path: row/entry -#: book.translate.xml:7120 +#: book.translate.xml:7135 msgid "<filename>/boot/defaults/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7121 +#: book.translate.xml:7136 msgid "" "Default boot configuration files. Refer to " "<citerefentry><refentrytitle>loader.conf</refentrytitle><manvolnum>5</" @@ -10382,12 +10402,12 @@ msgstr "" "refentrytitle><manvolnum>5</manvolnum></citerefentry>。" #. (itstool) path: row/entry -#: book.translate.xml:7126 +#: book.translate.xml:7141 msgid "<filename>/dev/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7127 +#: book.translate.xml:7142 msgid "" "Device nodes. Refer to <citerefentry><refentrytitle>intro</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> for details." @@ -10396,22 +10416,22 @@ msgstr "" "refentrytitle><manvolnum>4</manvolnum></citerefentry>。" #. (itstool) path: row/entry -#: book.translate.xml:7132 +#: book.translate.xml:7147 msgid "<filename>/etc/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7133 +#: book.translate.xml:7148 msgid "System configuration files and scripts." msgstr "系統設定檔及一些 Script 檔。" #. (itstool) path: row/entry -#: book.translate.xml:7137 +#: book.translate.xml:7152 msgid "<filename>/etc/defaults/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7138 +#: book.translate.xml:7153 msgid "" "Default system configuration files. Refer to " "<citerefentry><refentrytitle>rc</refentrytitle><manvolnum>8</manvolnum></" @@ -10421,12 +10441,12 @@ msgstr "" "refentrytitle><manvolnum>8</manvolnum></citerefentry>。" #. (itstool) path: row/entry -#: book.translate.xml:7143 +#: book.translate.xml:7158 msgid "<filename>/etc/mail/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7144 +#: book.translate.xml:7159 msgid "" "Configuration files for mail transport agents such as " "<citerefentry><refentrytitle>sendmail</refentrytitle><manvolnum>8</" @@ -10437,12 +10457,12 @@ msgstr "" "manvolnum></citerefentry>。" #. (itstool) path: row/entry -#: book.translate.xml:7149 +#: book.translate.xml:7164 msgid "<filename>/etc/namedb/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7150 +#: book.translate.xml:7165 msgid "" "<citerefentry><refentrytitle>named</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> configuration files." @@ -10451,12 +10471,12 @@ msgstr "" "citerefentry> 設定檔。" #. (itstool) path: row/entry -#: book.translate.xml:7154 +#: book.translate.xml:7169 msgid "<filename>/etc/periodic/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7155 +#: book.translate.xml:7170 msgid "" "Scripts that run daily, weekly, and monthly, via " "<citerefentry><refentrytitle>cron</refentrytitle><manvolnum>8</manvolnum></" @@ -10469,12 +10489,12 @@ msgstr "" "refentrytitle><manvolnum>8</manvolnum></citerefentry>。" #. (itstool) path: row/entry -#: book.translate.xml:7161 +#: book.translate.xml:7176 msgid "<filename>/etc/ppp/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7162 +#: book.translate.xml:7177 msgid "" "<citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> configuration files." @@ -10483,24 +10503,24 @@ msgstr "" "citerefentry> 設定檔。" #. (itstool) path: row/entry -#: book.translate.xml:7166 +#: book.translate.xml:7181 msgid "<filename>/mnt/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7167 +#: book.translate.xml:7182 msgid "" "Empty directory commonly used by system administrators as a temporary mount " "point." msgstr "系統管理者慣用充當臨時掛載點的空目錄。" #. (itstool) path: row/entry -#: book.translate.xml:7172 +#: book.translate.xml:7187 msgid "<filename>/proc/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7173 +#: book.translate.xml:7188 msgid "" "Process file system. Refer to <citerefentry><refentrytitle>procfs</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>, " @@ -10513,12 +10533,12 @@ msgstr "" "manvolnum></citerefentry>。" #. (itstool) path: row/entry -#: book.translate.xml:7178 +#: book.translate.xml:7193 msgid "<filename>/rescue/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7179 +#: book.translate.xml:7194 msgid "" "Statically linked programs for emergency recovery as described in " "<citerefentry><refentrytitle>rescue</refentrytitle><manvolnum>8</manvolnum></" @@ -10529,24 +10549,24 @@ msgstr "" "citerefentry>。" #. (itstool) path: row/entry -#: book.translate.xml:7184 +#: book.translate.xml:7199 msgid "<filename>/root/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7185 +#: book.translate.xml:7200 msgid "" "Home directory for the <systemitem class=\"username\">root</systemitem> " "account." msgstr "<systemitem class=\"username\">root</systemitem> 帳號的家目錄。" #. (itstool) path: row/entry -#: book.translate.xml:7191 +#: book.translate.xml:7206 msgid "<filename>/sbin/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7192 +#: book.translate.xml:7207 msgid "" "System programs and administration utilities fundamental to both single-user " "and multi-user environments." @@ -10555,12 +10575,12 @@ msgstr "" "具 。" #. (itstool) path: row/entry -#: book.translate.xml:7198 +#: book.translate.xml:7213 msgid "<filename>/tmp/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7199 +#: book.translate.xml:7214 msgid "" "Temporary files which are usually <emphasis>not</emphasis> preserved across " "a system reboot. A memory-based file system is often mounted at <filename>/" @@ -10579,72 +10599,72 @@ msgstr "" "refentrytitle><manvolnum>8</manvolnum></citerefentry>)。" #. (itstool) path: row/entry -#: book.translate.xml:7209 +#: book.translate.xml:7224 msgid "<filename>/usr/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7210 +#: book.translate.xml:7225 msgid "The majority of user utilities and applications." msgstr "主要是使用者所安裝的工具程式、應用程式存放處。" #. (itstool) path: row/entry -#: book.translate.xml:7215 +#: book.translate.xml:7230 msgid "<filename>/usr/bin/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7216 +#: book.translate.xml:7231 msgid "Common utilities, programming tools, and applications." msgstr "常用工具、開發工具、應用軟體。" #. (itstool) path: row/entry -#: book.translate.xml:7221 +#: book.translate.xml:7236 msgid "<filename>/usr/include/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7222 +#: book.translate.xml:7237 msgid "Standard C include files." msgstr "標準 C include 檔案。" #. (itstool) path: row/entry -#: book.translate.xml:7226 +#: book.translate.xml:7241 msgid "<filename>/usr/lib/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7227 +#: book.translate.xml:7242 msgid "Archive libraries." msgstr "程式庫存放處。" #. (itstool) path: row/entry -#: book.translate.xml:7232 +#: book.translate.xml:7247 msgid "<filename>/usr/libdata/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7233 +#: book.translate.xml:7248 msgid "Miscellaneous utility data files." msgstr "其他各式工具的資料檔。" #. (itstool) path: row/entry -#: book.translate.xml:7237 +#: book.translate.xml:7252 msgid "<filename>/usr/libexec/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7238 +#: book.translate.xml:7253 msgid "System daemons and system utilities executed by other programs." msgstr "系統 Daemon 及系統工具程式 (透過其他程式來執行)。" #. (itstool) path: row/entry -#: book.translate.xml:7243 +#: book.translate.xml:7258 msgid "<filename>/usr/local/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7244 +#: book.translate.xml:7259 msgid "" "Local executables and libraries. Also used as the default destination for " "the FreeBSD ports framework. Within <filename>/usr/local</filename>, the " @@ -10664,64 +10684,64 @@ msgstr "" "<replaceable>port</replaceable></filename>。" #. (itstool) path: row/entry -#: book.translate.xml:7257 +#: book.translate.xml:7272 msgid "<filename>/usr/obj/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7258 +#: book.translate.xml:7273 msgid "" "Architecture-specific target tree produced by building the <filename>/usr/" "src</filename> tree." msgstr "在編譯 <filename>/usr/src</filename> 目錄時所產生的相關架構目地檔。" #. (itstool) path: row/entry -#: book.translate.xml:7264 +#: book.translate.xml:7279 msgid "<filename>/usr/ports/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7265 +#: book.translate.xml:7280 msgid "The FreeBSD Ports Collection (optional)." msgstr "FreeBSD Port 套件集 (選用)。" #. (itstool) path: row/entry -#: book.translate.xml:7269 +#: book.translate.xml:7284 msgid "<filename>/usr/sbin/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7270 +#: book.translate.xml:7285 msgid "System daemons and system utilities executed by users." msgstr "由使用者執行的系統 Daemon 及系統工具。" #. (itstool) path: row/entry -#: book.translate.xml:7275 +#: book.translate.xml:7290 msgid "<filename>/usr/share/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7276 +#: book.translate.xml:7291 msgid "Architecture-independent files." msgstr "各架構皆共通的檔案。" #. (itstool) path: row/entry -#: book.translate.xml:7280 +#: book.translate.xml:7295 msgid "<filename>/usr/src/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7281 +#: book.translate.xml:7296 msgid "BSD and/or local source files." msgstr "BSD 原始碼 (或自行新增的)。" #. (itstool) path: row/entry -#: book.translate.xml:7285 +#: book.translate.xml:7300 msgid "<filename>/var/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7286 +#: book.translate.xml:7301 msgid "" "Multi-purpose log, temporary, transient, and spool files. A memory-based " "file system is sometimes mounted at <filename>/var</filename>. This can be " @@ -10740,42 +10760,42 @@ msgstr "" "citerefentry>)。" #. (itstool) path: row/entry -#: book.translate.xml:7297 +#: book.translate.xml:7312 msgid "<filename>/var/log/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7298 +#: book.translate.xml:7313 msgid "Miscellaneous system log files." msgstr "各項系統記錄的日誌 (Log) 檔。" #. (itstool) path: row/entry -#: book.translate.xml:7302 +#: book.translate.xml:7317 msgid "<filename>/var/mail/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7303 +#: book.translate.xml:7318 msgid "User mailbox files." msgstr "各使用者的郵件 (Mailbox) 檔案。" #. (itstool) path: row/entry -#: book.translate.xml:7307 +#: book.translate.xml:7322 msgid "<filename>/var/spool/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7308 +#: book.translate.xml:7323 msgid "Miscellaneous printer and mail system spooling directories." msgstr "各種印表機、郵件系統的緩衝 (Spool) 目錄。" #. (itstool) path: row/entry -#: book.translate.xml:7313 +#: book.translate.xml:7328 msgid "<filename>/var/tmp/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7314 +#: book.translate.xml:7329 msgid "" "Temporary files which are usually preserved across a system reboot, unless " "<filename>/var</filename> is a memory-based file system." @@ -10784,22 +10804,22 @@ msgstr "" "屬於以記憶體為基礎 (Memory-based) 的檔案系統。" #. (itstool) path: row/entry -#: book.translate.xml:7321 +#: book.translate.xml:7336 msgid "<filename>/var/yp/</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7322 +#: book.translate.xml:7337 msgid "NIS maps." msgstr "NIS 對應表。" #. (itstool) path: sect1/title -#: book.translate.xml:7330 +#: book.translate.xml:7345 msgid "Disk Organization" msgstr "磁碟組織" #. (itstool) path: sect1/para -#: book.translate.xml:7332 +#: book.translate.xml:7347 msgid "" "The smallest unit of organization that FreeBSD uses to find files is the " "filename. Filenames are case-sensitive, which means that <filename>readme." @@ -10813,7 +10833,7 @@ msgstr "" "他類型的檔案。" #. (itstool) path: sect1/para -#: book.translate.xml:7339 +#: book.translate.xml:7354 msgid "" "Files are stored in directories. A directory may contain no files, or it may " "contain many hundreds of files. A directory can also contain other " @@ -10824,7 +10844,7 @@ msgstr "" "中也可以包含其他的目錄; 您可以建立階層式的目錄以便資料的管理。" #. (itstool) path: sect1/para -#: book.translate.xml:7345 +#: book.translate.xml:7360 msgid "" "Files and directories are referenced by giving the file or directory name, " "followed by a forward slash, <literal>/</literal>, followed by any other " @@ -10849,7 +10869,7 @@ msgstr "" "<filename>c:\\foo\\bar\\readme.txt</filename> 這種路徑。" #. (itstool) path: sect1/para -#: book.translate.xml:7360 +#: book.translate.xml:7375 msgid "" "Directories and files are stored in a file system. Each file system contains " "exactly one directory at the very top level, called the <firstterm>root " @@ -10864,11 +10884,11 @@ msgstr "" "的目錄,叫做<firstterm>根目錄 (Root directory)</firstterm>。 然後在這個根目錄" "下面才能有其他的目錄。其中一個檔案系統會被指定成為<firstterm>根檔案系統 " "(Root file system)</firstterm> 或 <literal>/</literal>,其他的檔案系統均會" -"<firstterm>掛載 (mounted)</firstterm> 在該根檔案系統之下,不論在 FreeBSD 有多" -"少個磁碟,所有目錄都會成為該磁碟的一部份。" +"<firstterm>掛載 (Mount)</firstterm> 在該根檔案系統之下,不論在 FreeBSD 有多少" +"個磁碟,所有目錄都會成為該磁碟的一部份。" #. (itstool) path: sect1/para -#: book.translate.xml:7371 +#: book.translate.xml:7386 msgid "" "Consider three file systems, called <literal>A</literal>, <literal>B</" "literal>, and <literal>C</literal>. Each file system has one root directory, " @@ -10882,7 +10902,7 @@ msgstr "" "<literal>B2</literal> 及 <literal>C1</literal>, <literal>C2</literal>)。" #. (itstool) path: sect1/para -#: book.translate.xml:7378 +#: book.translate.xml:7393 msgid "" "Call <literal>A</literal> the root file system. If " "<citerefentry><refentrytitle>ls</refentrytitle><manvolnum>1</manvolnum></" @@ -10900,13 +10920,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:7386 +#: book.translate.xml:7401 msgctxt "_" msgid "external ref='basics/example-dir1' md5='__failed__'" msgstr "" #. (itstool) path: textobject/literallayout -#: book.translate.xml:7390 +#: book.translate.xml:7405 #, no-wrap msgid "" " /\n" @@ -10917,7 +10937,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:7398 +#: book.translate.xml:7413 msgid "" "A file system must be mounted on to a directory in another file system. When " "mounting file system <literal>B</literal> on to the directory <literal>A1</" @@ -10927,20 +10947,20 @@ msgstr "" "一個檔案系統必須以目錄形式掛載於另一個檔案系統上。 因此,假設您將 " "<literal>B</literal> 掛載於 <literal>A1</literal> 之上,則 <literal>B</" "literal> 的根目錄就變成了 <literal>A1</literal>,而在 <literal>B</literal> 之" -"下的任何目錄的路徑也隨之改變:" +"下的任何目錄的路徑也隨之改變:" #. (itstool) path: imageobject/imagedata #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:7407 +#: book.translate.xml:7422 msgctxt "_" msgid "external ref='basics/example-dir2' md5='__failed__'" msgstr "" #. (itstool) path: textobject/literallayout -#: book.translate.xml:7411 +#: book.translate.xml:7426 #, no-wrap msgid "" " /\n" @@ -10955,7 +10975,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:7423 +#: book.translate.xml:7438 msgid "" "Any files that are in the <literal>B1</literal> or <literal>B2</literal> " "directories can be reached with the path <filename>/A1/B1</filename> or " @@ -10967,10 +10987,10 @@ msgstr "" "在 <literal>B1</literal> 或 <literal>B2</literal> 目錄中的任何檔案必須經由路" "徑 <filename>/A1/B1</filename> 或 <filename>/A1/B2</filename> 才能達到。 所有" "原來在 <filename>/A1</filename> 中的檔案會暫時被隱藏起來,直到 <literal>B</" -"literal> 被<firstterm>解除掛載 (Unmounted)</firstterm> 後才會再顯現出來。" +"literal> 被<firstterm>卸載 (Unmount)</firstterm> 後才會再顯現出來。" #. (itstool) path: sect1/para -#: book.translate.xml:7432 +#: book.translate.xml:7447 msgid "" "If <literal>B</literal> had been mounted on <literal>A2</literal> then the " "diagram would look like this:" @@ -10982,13 +11002,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:7438 +#: book.translate.xml:7453 msgctxt "_" msgid "external ref='basics/example-dir3' md5='__failed__'" msgstr "" #. (itstool) path: textobject/literallayout -#: book.translate.xml:7442 +#: book.translate.xml:7457 #, no-wrap msgid "" " /\n" @@ -11003,7 +11023,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:7454 +#: book.translate.xml:7469 msgid "" "and the paths would be <filename>/A2/B1</filename> and <filename>/A2/B2</" "filename> respectively." @@ -11011,7 +11031,7 @@ msgstr "" "上面的路徑分別為 <filename>/A2/B1</filename> 及 <filename>/A2/B2</filename>。" #. (itstool) path: sect1/para -#: book.translate.xml:7459 +#: book.translate.xml:7474 msgid "" "File systems can be mounted on top of one another. Continuing the last " "example, the <literal>C</literal> file system could be mounted on top of the " @@ -11027,13 +11047,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:7467 +#: book.translate.xml:7482 msgctxt "_" msgid "external ref='basics/example-dir4' md5='__failed__'" msgstr "" #. (itstool) path: textobject/literallayout -#: book.translate.xml:7471 +#: book.translate.xml:7486 #, no-wrap msgid "" " /\n" @@ -11052,7 +11072,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:7487 +#: book.translate.xml:7502 msgid "" "Or <literal>C</literal> could be mounted directly on to the <literal>A</" "literal> file system, under the <literal>A1</literal> directory:" @@ -11065,13 +11085,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:7493 +#: book.translate.xml:7508 msgctxt "_" msgid "external ref='basics/example-dir5' md5='__failed__'" msgstr "" #. (itstool) path: textobject/literallayout -#: book.translate.xml:7497 +#: book.translate.xml:7512 #, no-wrap msgid "" " /\n" @@ -11090,7 +11110,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:7513 +#: book.translate.xml:7528 msgid "" "It is entirely possible to have one large root file system, and not need to " "create any others. There are some drawbacks to this approach, and one " @@ -11100,12 +11120,12 @@ msgstr "" "處。" #. (itstool) path: itemizedlist/title -#: book.translate.xml:7518 +#: book.translate.xml:7533 msgid "Benefits of Multiple File Systems" msgstr "使用多個檔案系統的好處" #. (itstool) path: listitem/para -#: book.translate.xml:7521 +#: book.translate.xml:7536 msgid "" "Different file systems can have different <firstterm>mount options</" "firstterm>. For example, the root file system can be mounted read-only, " @@ -11124,7 +11144,7 @@ msgstr "" "<firstterm>guid</firstterm> 位元失效,可讓系統更安全。" #. (itstool) path: listitem/para -#: book.translate.xml:7535 +#: book.translate.xml:7550 msgid "" "FreeBSD automatically optimizes the layout of files on a file system, " "depending on how the file system is being used. So a file system that " @@ -11137,7 +11157,7 @@ msgstr "" "如果您只有單一個大的檔案系統,這部分就沒用了。" #. (itstool) path: listitem/para -#: book.translate.xml:7544 +#: book.translate.xml:7559 msgid "" "FreeBSD's file systems are robust if power is lost. However, a power loss at " "a critical point could still damage the structure of the file system. By " @@ -11149,12 +11169,12 @@ msgstr "" "以便您在需要的時候將備份資料回存回來。" #. (itstool) path: itemizedlist/title -#: book.translate.xml:7554 +#: book.translate.xml:7569 msgid "Benefit of a Single File System" msgstr "使用單一檔案系統的好處" #. (itstool) path: listitem/para -#: book.translate.xml:7557 +#: book.translate.xml:7572 msgid "" "File systems are a fixed size. If you create a file system when you install " "FreeBSD and give it a specific size, you may later discover that you need to " @@ -11167,7 +11187,7 @@ msgstr "" "的大小,然後將備份回存回來。" #. (itstool) path: important/para -#: book.translate.xml:7565 +#: book.translate.xml:7580 msgid "" "FreeBSD features the <citerefentry><refentrytitle>growfs</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> command, which makes " @@ -11178,7 +11198,7 @@ msgstr "" "manvolnum></citerefentry> 指令可以突破此限制直接變更檔案系統的大小。" #. (itstool) path: sect1/para -#: book.translate.xml:7572 +#: book.translate.xml:7587 msgid "" "File systems are contained in partitions. This does not have the same " "meaning as the common usage of the term partition (for example, <trademark " @@ -11197,7 +11217,7 @@ msgstr "" "點表示外,也可以使用該檔案系統所在的分區來表示。" #. (itstool) path: sect1/para -#: book.translate.xml:7582 +#: book.translate.xml:7597 msgid "" "FreeBSD also uses disk space for <firstterm>swap space</firstterm> to " "provide <firstterm>virtual memory</firstterm>. This allows your computer to " @@ -11212,47 +11232,47 @@ msgstr "" "移到交換空間,然後在用到的時候移回去 (同時移出部份沒用到的)。" #. (itstool) path: sect1/para -#: book.translate.xml:7591 +#: book.translate.xml:7606 msgid "Some partitions have certain conventions associated with them." msgstr "部份分區有使用的慣例如下:" #. (itstool) path: row/entry -#: book.translate.xml:7601 +#: book.translate.xml:7616 msgid "Partition" msgstr "分區" #. (itstool) path: row/entry -#: book.translate.xml:7602 +#: book.translate.xml:7617 msgid "Convention" msgstr "慣例" #. (itstool) path: row/entry -#: book.translate.xml:7608 +#: book.translate.xml:7623 msgid "<literal>a</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7609 +#: book.translate.xml:7624 msgid "Normally contains the root file system." msgstr "通常內含根檔案系統" #. (itstool) path: row/entry -#: book.translate.xml:7613 +#: book.translate.xml:7628 msgid "<literal>b</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7614 +#: book.translate.xml:7629 msgid "Normally contains swap space." msgstr "通常內含交換空間" #. (itstool) path: row/entry -#: book.translate.xml:7618 +#: book.translate.xml:7633 msgid "<literal>c</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7619 +#: book.translate.xml:7634 msgid "" "Normally the same size as the enclosing slice. This allows utilities that " "need to work on the entire slice, such as a bad block scanner, to work on " @@ -11264,12 +11284,12 @@ msgstr "" "執行。一般來說不會把檔案系統建立在這個分區。" #. (itstool) path: row/entry -#: book.translate.xml:7627 +#: book.translate.xml:7642 msgid "<literal>d</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7628 +#: book.translate.xml:7643 msgid "" "Partition <literal>d</literal> used to have a special meaning associated " "with it, although that is now gone and <literal>d</literal> may work as any " @@ -11279,7 +11299,7 @@ msgstr "" "<literal>d</literal> 和一般的分區相同。" #. (itstool) path: sect1/para -#: book.translate.xml:7637 +#: book.translate.xml:7652 msgid "" "Disks in FreeBSD are divided into slices, referred to in <trademark class=" "\"registered\">Windows</trademark> as partitions, which are numbered from 1 " @@ -11291,22 +11311,22 @@ msgstr "" "再分成數個分區,每個分區內含檔案系統,且會使用字母來標示。" #. (itstool) path: sect1/indexterm -#: book.translate.xml:7642 +#: book.translate.xml:7657 msgid "<primary>slices</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:7645 book.translate.xml:31864 book.translate.xml:31960 +#: book.translate.xml:7660 book.translate.xml:31918 book.translate.xml:32014 msgid "<primary>partitions</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:7648 +#: book.translate.xml:7663 msgid "<primary>dangerously dedicated</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:7652 +#: book.translate.xml:7667 msgid "" "Slice numbers follow the device name, prefixed with an <literal>s</literal>, " "starting at 1. So <quote>da0<emphasis>s1</emphasis></quote> is the first " @@ -11325,7 +11345,7 @@ msgstr "" "檔案系統使用的裝置 (Device) 上均會各別佔據一個切割區。" #. (itstool) path: sect1/para -#: book.translate.xml:7662 +#: book.translate.xml:7677 msgid "" "Slices, <quote>dangerously dedicated</quote> physical drives, and other " "drives contain <firstterm>partitions</firstterm>, which are represented as " @@ -11345,7 +11365,7 @@ msgstr "" "三個切割區的第五個分區。" #. (itstool) path: sect1/para -#: book.translate.xml:7675 +#: book.translate.xml:7690 msgid "" "Finally, each disk on the system is identified. A disk name starts with a " "code that indicates the type of disk, and then a number, indicating which " @@ -11357,7 +11377,7 @@ msgstr "" "始。常見的代碼可以參考 <xref linkend=\"disks-naming\"/>。" #. (itstool) path: sect1/para -#: book.translate.xml:7681 +#: book.translate.xml:7696 msgid "" "When referring to a partition, include the disk name, <literal>s</literal>, " "the slice number, and then the partition letter. Examples are shown in <xref " @@ -11367,7 +11387,7 @@ msgstr "" "及分區字母。範例可以參考 <xref linkend=\"basics-disk-slice-part\"/>。" #. (itstool) path: sect1/para -#: book.translate.xml:7686 +#: book.translate.xml:7701 msgid "" "<xref linkend=\"basics-concept-disk-model\"/> shows a conceptual model of a " "disk layout." @@ -11376,7 +11396,7 @@ msgstr "" "對您有些幫助。" #. (itstool) path: sect1/para -#: book.translate.xml:7689 +#: book.translate.xml:7704 msgid "" "When installing FreeBSD, configure the disk slices, create partitions within " "the slice to be used for FreeBSD, create a file system or swap space in each " @@ -11387,44 +11407,44 @@ msgstr "" "哪裡。" #. (itstool) path: table/title -#: book.translate.xml:7695 +#: book.translate.xml:7710 msgid "Disk Device Names" msgstr "磁碟裝置名稱" #. (itstool) path: row/entry -#: book.translate.xml:7703 +#: book.translate.xml:7718 msgid "Drive Type" msgstr "磁碟機類型" #. (itstool) path: row/entry -#: book.translate.xml:7704 +#: book.translate.xml:7719 msgid "Drive Device Name" msgstr "磁碟機裝置稱" #. (itstool) path: row/entry -#: book.translate.xml:7710 +#: book.translate.xml:7725 msgid "<acronym>SATA</acronym> and <acronym>IDE</acronym> hard drives" msgstr "<acronym>SATA</acronym> 及 <acronym>IDE</acronym> 硬碟" #. (itstool) path: row/entry -#: book.translate.xml:7712 +#: book.translate.xml:7727 msgid "<literal>ada</literal> or <literal>ad</literal>" msgstr "<literal>ada</literal> 或 <literal>ad</literal>" #. (itstool) path: row/entry -#: book.translate.xml:7717 +#: book.translate.xml:7732 msgid "" "<acronym>SCSI</acronym> hard drives and <acronym>USB</acronym> storage " "devices" msgstr "<acronym>SCSI</acronym> 硬碟與 <acronym>USB</acronym> 儲存裝置" #. (itstool) path: row/entry -#: book.translate.xml:7719 +#: book.translate.xml:7734 msgid "<literal>da</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7723 +#: book.translate.xml:7738 msgid "" "<acronym>SATA</acronym> and <acronym>IDE</acronym> <acronym>CD-ROM</acronym> " "drives" @@ -11433,37 +11453,37 @@ msgstr "" "光碟機" #. (itstool) path: row/entry -#: book.translate.xml:7725 +#: book.translate.xml:7740 msgid "<literal>cd</literal> or <literal>acd</literal>" msgstr "<literal>cd</literal> 或 <literal>acd</literal>" #. (itstool) path: row/entry -#: book.translate.xml:7730 +#: book.translate.xml:7745 msgid "<acronym>SCSI</acronym> <acronym>CD-ROM</acronym> drives" msgstr "<acronym>SCSI</acronym> <acronym>CD-ROM</acronym> 光碟機" #. (itstool) path: row/entry -#: book.translate.xml:7732 +#: book.translate.xml:7747 msgid "<literal>cd</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7736 +#: book.translate.xml:7751 msgid "Floppy drives" msgstr "軟碟機" #. (itstool) path: row/entry -#: book.translate.xml:7737 +#: book.translate.xml:7752 msgid "<literal>fd</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7741 +#: book.translate.xml:7756 msgid "Assorted non-standard <acronym>CD-ROM</acronym> drives" msgstr "各種非標準 <acronym>CD-ROM</acronym> 光碟機" #. (itstool) path: row/entry -#: book.translate.xml:7743 +#: book.translate.xml:7758 msgid "" "<literal>mcd</literal> for Mitsumi <acronym>CD-ROM</acronym> and " "<literal>scd</literal> for Sony <acronym>CD-ROM</acronym> devices" @@ -11472,32 +11492,32 @@ msgstr "" "<literal>scd</literal> 代表 Sony <acronym>CD-ROM</acronym> 光碟機" #. (itstool) path: row/entry -#: book.translate.xml:7749 +#: book.translate.xml:7764 msgid "<acronym>SCSI</acronym> tape drives" msgstr "<acronym>SCSI</acronym> 磁帶機" #. (itstool) path: row/entry -#: book.translate.xml:7750 +#: book.translate.xml:7765 msgid "<literal>sa</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7754 +#: book.translate.xml:7769 msgid "<acronym>IDE</acronym> tape drives" msgstr "<acronym>IDE</acronym> 磁帶機" #. (itstool) path: row/entry -#: book.translate.xml:7755 +#: book.translate.xml:7770 msgid "<literal>ast</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7759 +#: book.translate.xml:7774 msgid "RAID drives" msgstr "RAID 磁碟機" #. (itstool) path: row/entry -#: book.translate.xml:7760 +#: book.translate.xml:7775 msgid "" "Examples include <literal>aacd</literal> for <trademark class=\"registered" "\">Adaptec</trademark> AdvancedRAID, <literal>mlxd</literal> and " @@ -11516,27 +11536,27 @@ msgstr "" "trademark> RAID." #. (itstool) path: example/title -#: book.translate.xml:7772 +#: book.translate.xml:7787 msgid "Sample Disk, Slice, and Partition Names" msgstr "磁碟、切割區及分區命名範例" #. (itstool) path: row/entry -#: book.translate.xml:7781 +#: book.translate.xml:7796 msgid "Name" msgstr "名稱" #. (itstool) path: row/entry -#: book.translate.xml:7782 book.translate.xml:62542 +#: book.translate.xml:7797 book.translate.xml:62596 msgid "Meaning" msgstr "意義" #. (itstool) path: row/entry -#: book.translate.xml:7788 +#: book.translate.xml:7803 msgid "<literal>ada0s1a</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7789 +#: book.translate.xml:7804 msgid "" "The first partition (<literal>a</literal>) on the first slice (<literal>s1</" "literal>) on the first <acronym>SATA</acronym> disk (<literal>ada0</" @@ -11546,12 +11566,12 @@ msgstr "" "literal>)的第一個分區(<literal>a</literal>) 。" #. (itstool) path: row/entry -#: book.translate.xml:7796 +#: book.translate.xml:7811 msgid "<literal>da1s2e</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:7797 +#: book.translate.xml:7812 msgid "" "The fifth partition (<literal>e</literal>) on the second slice (<literal>s2</" "literal>) on the second SCSI disk (<literal>da1</literal>)." @@ -11560,12 +11580,12 @@ msgstr "" "literal>) 的第五個分區 (<literal>e</literal>) 。" #. (itstool) path: example/title -#: book.translate.xml:7807 +#: book.translate.xml:7822 msgid "Conceptual Model of a Disk" msgstr "磁碟的概念模型" #. (itstool) path: example/para -#: book.translate.xml:7809 +#: book.translate.xml:7824 msgid "" "This diagram shows FreeBSD's view of the first <acronym>SATA</acronym> disk " "attached to the system. Assume that the disk is 250 GB in size, and contains " @@ -11584,7 +11604,7 @@ msgstr "" "裝了 FreeBSD。 本範例中安裝的 FreeBSD 有四個資料分區及一個交換分區。" #. (itstool) path: example/para -#: book.translate.xml:7819 +#: book.translate.xml:7834 msgid "" "The four partitions each hold a file system. Partition <literal>a</literal> " "is used for the root file system, <literal>d</literal> for <filename>/var/</" @@ -11604,18 +11624,18 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:7829 +#: book.translate.xml:7844 msgctxt "_" msgid "external ref='basics/disk-layout' md5='__failed__'" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:7836 +#: book.translate.xml:7851 msgid "Mounting and Unmounting File Systems" -msgstr "掛載與缷載檔案系統" +msgstr "掛載與卸載檔案系統" #. (itstool) path: sect1/para -#: book.translate.xml:7838 +#: book.translate.xml:7853 msgid "" "The file system is best visualized as a tree, rooted, as it were, at " "<filename>/</filename>. <filename>/dev</filename>, <filename>/usr</" @@ -11628,12 +11648,12 @@ msgstr "" "些樹枝上面又還有分支,像是 <filename>/usr/local</filename> 等。" #. (itstool) path: sect1/indexterm -#: book.translate.xml:7847 +#: book.translate.xml:7862 msgid "<primary>root file system</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:7851 +#: book.translate.xml:7866 msgid "" "There are various reasons to house some of these directories on separate " "file systems. <filename>/var</filename> contains the directories " @@ -11649,7 +11669,7 @@ msgstr "" "filename> 中拉出來。" #. (itstool) path: sect1/para -#: book.translate.xml:7862 +#: book.translate.xml:7877 msgid "" "Another common reason to contain certain directory trees on other file " "systems is if they are to be housed on separate physical disks, or are " @@ -11661,18 +11681,18 @@ msgstr "" "\"network-nfs\"/> 或是光碟機。" #. (itstool) path: sect2/title -#: book.translate.xml:7869 +#: book.translate.xml:7884 msgid "The <filename>fstab</filename> File" msgstr "<filename>fstab</filename> 檔" #. (itstool) path: sect2/indexterm -#: book.translate.xml:7871 +#: book.translate.xml:7886 msgid "" "<primary>file systems</primary> <secondary>mounted with fstab</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:7876 +#: book.translate.xml:7891 msgid "" "During the boot process (<xref linkend=\"boot\"/>), file systems listed in " "<filename>/etc/fstab</filename> are automatically mounted except for the " @@ -11684,39 +11704,39 @@ msgstr "" "<option>noauto</option> 參數)。檔案內容的格式如下:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:7882 +#: book.translate.xml:7897 #, no-wrap msgid "<replaceable>device</replaceable> <replaceable>/mount-point</replaceable> <replaceable>fstype</replaceable> <replaceable>options</replaceable> <replaceable>dumpfreq</replaceable> <replaceable>passno</replaceable>" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:7886 +#: book.translate.xml:7901 msgid "<literal>device</literal>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:7888 +#: book.translate.xml:7903 msgid "" "An existing device name as explained in <xref linkend=\"disks-naming\"/>." msgstr "已存在的裝置名稱,詳情請參閱 <xref linkend=\"disks-naming\"/>。" #. (itstool) path: varlistentry/term -#: book.translate.xml:7894 +#: book.translate.xml:7909 msgid "<literal>mount-point</literal>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:7897 +#: book.translate.xml:7912 msgid "An existing directory on which to mount the file system." msgstr "檔案系統要掛載到的目錄 (該目錄必須存在)。" #. (itstool) path: varlistentry/term -#: book.translate.xml:7903 +#: book.translate.xml:7918 msgid "<literal>fstype</literal>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:7906 +#: book.translate.xml:7921 msgid "" "The file system type to pass to <citerefentry><refentrytitle>mount</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>. The default FreeBSD " @@ -11727,12 +11747,12 @@ msgstr "" "檔案系統是 <literal>ufs</literal>。" #. (itstool) path: varlistentry/term -#: book.translate.xml:7913 +#: book.translate.xml:7928 msgid "<literal>options</literal>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:7916 +#: book.translate.xml:7931 msgid "" "Either <option>rw</option> for read-write file systems, or <option>ro</" "option> for read-only file systems, followed by any other options that may " @@ -11748,12 +11768,12 @@ msgstr "" "manvolnum></citerefentry> 說明。" #. (itstool) path: varlistentry/term -#: book.translate.xml:7927 +#: book.translate.xml:7942 msgid "<literal>dumpfreq</literal>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:7930 +#: book.translate.xml:7945 msgid "" "Used by <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> to determine which file systems require dumping. " @@ -11763,12 +11783,12 @@ msgstr "" "citerefentry> 由此項目決定那些檔案系統需要傾印。 如果這格空白則以零為預設值。" #. (itstool) path: varlistentry/term -#: book.translate.xml:7937 +#: book.translate.xml:7952 msgid "<literal>passno</literal>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:7940 +#: book.translate.xml:7955 msgid "" "Determines the order in which file systems should be checked. File systems " "that should be skipped should have their <literal>passno</literal> set to " @@ -11788,7 +11808,7 @@ msgstr "" "的話) 檢查這些檔案系統。" #. (itstool) path: sect2/para -#: book.translate.xml:7954 +#: book.translate.xml:7969 msgid "" "Refer to <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> for more information on the format of <filename>/" @@ -11799,7 +11819,7 @@ msgstr "" "citerefentry> 說明文件。" #. (itstool) path: sect2/title -#: book.translate.xml:7959 +#: book.translate.xml:7974 msgid "" "Using <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>" @@ -11808,28 +11828,28 @@ msgstr "" "manvolnum></citerefentry>" #. (itstool) path: sect2/indexterm -#: book.translate.xml:7961 +#: book.translate.xml:7976 msgid "<primary>file systems</primary> <secondary>mounting</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:7966 +#: book.translate.xml:7981 msgid "" "File systems are mounted using <citerefentry><refentrytitle>mount</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>. The most basic syntax " "is as follows:" msgstr "" "<citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></" -"citerefentry> 指令是拿來掛載檔案系統用的。基本的操作指令格式如下:" +"citerefentry> 指令是拿來掛載檔案系統用的。基本的操作指令格式如下:" #. (itstool) path: informalexample/screen -#: book.translate.xml:7970 +#: book.translate.xml:7985 #, no-wrap msgid "<prompt>#</prompt> <userinput>mount <replaceable>device</replaceable> <replaceable>mountpoint</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:7973 +#: book.translate.xml:7988 msgid "" "This command provides many options which are described in " "<citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></" @@ -11839,18 +11859,18 @@ msgstr "" "manvolnum></citerefentry> 裡面有提到一大堆的選項,不過最常用的就是這些:" #. (itstool) path: variablelist/title -#: book.translate.xml:7977 +#: book.translate.xml:7992 msgid "Mount Options" msgstr "掛載選項" #. (itstool) path: varlistentry/term #. (itstool) path: row/entry -#: book.translate.xml:7980 book.translate.xml:23160 +#: book.translate.xml:7995 book.translate.xml:23185 msgid "<option>-a</option>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:7983 +#: book.translate.xml:7998 msgid "" "Mount all the file systems listed in <filename>/etc/fstab</filename>, except " "those marked as <quote>noauto</quote>, excluded by the <option>-t</option> " @@ -11860,12 +11880,12 @@ msgstr "" "filename> 而且沒有用 <option>-t</option> 排除的檔案系統掛載起來。" #. (itstool) path: varlistentry/term -#: book.translate.xml:7992 +#: book.translate.xml:8007 msgid "<option>-d</option>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:7996 +#: book.translate.xml:8011 msgid "" "Do everything except for the actual mount system call. This option is useful " "in conjunction with the <option>-v</option> flag to determine what " @@ -11878,12 +11898,12 @@ msgstr "" "用。" #. (itstool) path: varlistentry/term -#: book.translate.xml:8004 book.translate.xml:26252 +#: book.translate.xml:8019 book.translate.xml:26306 msgid "<option>-f</option>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:8007 +#: book.translate.xml:8022 msgid "" "Force the mount of an unclean file system (dangerous), or the revocation of " "write access when downgrading a file system's mount status from read-write " @@ -11893,12 +11913,12 @@ msgstr "" "態從可存取變成唯讀)。" #. (itstool) path: varlistentry/term -#: book.translate.xml:8015 +#: book.translate.xml:8030 msgid "<option>-r</option>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:8018 +#: book.translate.xml:8033 msgid "" "Mount the file system read-only. This is identical to using <option>-o ro</" "option>." @@ -11906,12 +11926,12 @@ msgstr "" "用唯讀的方式掛載檔案系統。 這個選項和在 -o 選項中指定 ro 參數是一樣的。" #. (itstool) path: varlistentry/term -#: book.translate.xml:8024 +#: book.translate.xml:8039 msgid "<option>-t</option> <replaceable>fstype</replaceable>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:8028 +#: book.translate.xml:8043 msgid "" "Mount the specified file system type or mount only file systems of the given " "type, if <option>-a</option> is included. <quote>ufs</quote> is the default " @@ -11921,50 +11941,50 @@ msgstr "" "只掛載指定型態的檔案系統。預設的檔案系統類型為 <quote>ufs</quote>。" #. (itstool) path: varlistentry/term -#: book.translate.xml:8036 +#: book.translate.xml:8051 msgid "<option>-u</option>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:8039 +#: book.translate.xml:8054 msgid "Update mount options on the file system." msgstr "更新檔案系統的掛載選項。" #. (itstool) path: varlistentry/term #. (itstool) path: row/entry -#: book.translate.xml:8044 book.translate.xml:23177 +#: book.translate.xml:8059 book.translate.xml:23202 msgid "<option>-v</option>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:8047 +#: book.translate.xml:8062 msgid "Be verbose." msgstr "顯示詳細資訊。" #. (itstool) path: varlistentry/term -#: book.translate.xml:8052 +#: book.translate.xml:8067 msgid "<option>-w</option>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:8055 +#: book.translate.xml:8070 msgid "Mount the file system read-write." msgstr "以可讀寫的模式掛載檔案系統。" #. (itstool) path: sect2/para -#: book.translate.xml:8060 +#: book.translate.xml:8075 msgid "" "The following options can be passed to <option>-o</option> as a comma-" "separated list:" msgstr "<option>-o</option> 選項後面會接著以逗號分隔的參數:" #. (itstool) path: varlistentry/term -#: book.translate.xml:8065 +#: book.translate.xml:8080 msgid "nosuid" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:8068 +#: book.translate.xml:8083 msgid "" "Do not interpret setuid or setgid flags on the file system. This is also a " "useful security option." @@ -11972,7 +11992,7 @@ msgstr "" "不解析檔案系統上的 setuid 或 setgid 旗標, 這也是一個蠻有用的安全選項。" #. (itstool) path: sect2/title -#: book.translate.xml:8077 +#: book.translate.xml:8092 msgid "" "Using <citerefentry><refentrytitle>umount</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>" @@ -11981,12 +12001,12 @@ msgstr "" "manvolnum></citerefentry>" #. (itstool) path: sect2/indexterm -#: book.translate.xml:8079 +#: book.translate.xml:8094 msgid "<primary>file systems</primary> <secondary>unmounting</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:8084 +#: book.translate.xml:8099 msgid "" "To unmount a file system use <citerefentry><refentrytitle>umount</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>. This command takes " @@ -11997,7 +12017,7 @@ msgstr "" "(mountpoint),裝置名稱,以及 -a 或是 -A 等選項。 " #. (itstool) path: sect2/para -#: book.translate.xml:8088 +#: book.translate.xml:8103 msgid "" "All forms take <option>-f</option> to force unmounting, and <option>-v</" "option> for verbosity. Be warned that <option>-f</option> is not generally a " @@ -12008,7 +12028,7 @@ msgstr "" "案系統有可能會造成電腦當機, 或者損壞檔案系統內的資料。" #. (itstool) path: sect2/para -#: book.translate.xml:8093 +#: book.translate.xml:8108 msgid "" "To unmount all mounted file systems, or just the file system types listed " "after <option>-t</option>, use <option>-a</option> or <option>-A</option>. " @@ -12020,12 +12040,12 @@ msgstr "" "是 <option>-A</option> 並不會試圖卸載根檔案系統。" #. (itstool) path: sect1/title -#: book.translate.xml:8102 +#: book.translate.xml:8117 msgid "Processes and Daemons" msgstr "程序與 Daemon" #. (itstool) path: sect1/para -#: book.translate.xml:8104 +#: book.translate.xml:8119 msgid "" "FreeBSD is a multi-tasking operating system. Each program running at any one " "time is called a <firstterm>process</firstterm>. Every running command " @@ -12037,7 +12057,7 @@ msgstr "" "令都至少會開啟一個新的程序, 而有些系統程序是一直在跑以維持系統正常運作的。" #. (itstool) path: sect1/para -#: book.translate.xml:8110 +#: book.translate.xml:8125 msgid "" "Each process is uniquely identified by a number called a <firstterm>process " "ID</firstterm> (<acronym>PID</acronym>). Similar to files, each process has " @@ -12062,7 +12082,7 @@ msgstr "" "literal>。" #. (itstool) path: sect1/para -#: book.translate.xml:8122 +#: book.translate.xml:8137 msgid "" "Some programs are not designed to be run with continuous user input and " "disconnect from the terminal at the first opportunity. For example, a web " @@ -12081,7 +12101,7 @@ msgstr "" "情。這也就是為何 BSD 的吉祥物,是一隻穿著帆布鞋拿著三叉耙的快樂小惡魔的原因。" #. (itstool) path: sect1/para -#: book.translate.xml:8133 +#: book.translate.xml:8148 msgid "" "There is a convention to name programs that normally run as daemons with a " "trailing <quote>d</quote>. For example, <application>BIND</application> is " @@ -12096,18 +12116,18 @@ msgstr "" "<application>BIND</application> 是 Berkeley Internet Name Domain 的縮寫,但實" "際上執行的程式名稱是 <command>named</command>、<application>Apache</" "application> 網頁伺服器的程式名稱是 <command>httpd</command>、行列式印表機緩" -"衝服務(Line Printer Spooling) Daemon 是 <command>lpd</command>,依此類推。 但" -"這是習慣用法,並沒有硬性規定,例如 <application>Sendmail</application> 主要的" -"寄信 Daemon 是叫做 <command>sendmail</command> 而不是 <literal>maild</" +"衝服務 (Line Printer Spooling) Daemon 是 <command>lpd</command>,依此類推。 " +"但這是習慣用法,並沒有硬性規定,例如 <application>Sendmail</application> 主要" +"的寄信 Daemon 是叫做 <command>sendmail</command> 而不是 <literal>maild</" "literal>。" #. (itstool) path: sect2/title -#: book.translate.xml:8147 +#: book.translate.xml:8162 msgid "Viewing Processes" msgstr "檢視程序" #. (itstool) path: sect2/para -#: book.translate.xml:8149 +#: book.translate.xml:8164 msgid "" "To see the processes running on the system, use " "<citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></" @@ -12133,7 +12153,7 @@ msgstr "" "互動式的觀看您的電腦正在做什麼。" #. (itstool) path: sect2/para -#: book.translate.xml:8157 +#: book.translate.xml:8172 msgid "" "By default, <citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> only shows the commands that are running and owned " @@ -12143,7 +12163,7 @@ msgstr "" "manvolnum></citerefentry> 指令只會顯示使用者所擁有的的程序。 例如:" #. (itstool) path: sect2/screen -#: book.translate.xml:8160 +#: book.translate.xml:8175 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>ps</userinput>\n" @@ -12153,7 +12173,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:8165 +#: book.translate.xml:8180 msgid "" "The output from <citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> is organized into a number of columns. The " @@ -12180,7 +12200,7 @@ msgstr "" "<literal>COMMAND</literal> 是執行這個程式的指令。" #. (itstool) path: sect2/para -#: book.translate.xml:8180 +#: book.translate.xml:8195 msgid "" "A number of different options are available to change the information that " "is displayed. One of the most useful sets is <literal>auxww</literal>, where " @@ -12201,7 +12221,7 @@ msgstr "" "了。" #. (itstool) path: sect2/para -#: book.translate.xml:8191 +#: book.translate.xml:8206 msgid "" "The output from <citerefentry><refentrytitle>top</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> is similar:" @@ -12210,7 +12230,7 @@ msgstr "" "citerefentry> 也有類似的輸出。 一般的情況看像是這樣:" #. (itstool) path: sect2/screen -#: book.translate.xml:8193 +#: book.translate.xml:8208 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>top</userinput>\n" @@ -12236,7 +12256,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:8214 +#: book.translate.xml:8229 msgid "" "The output is split into two sections. The header (the first five or six " "lines) shows the <acronym>PID</acronym> of the last process to run, the " @@ -12256,7 +12276,7 @@ msgstr "" "<literal>ARC</literal> 標示有多少資料從磁碟改由記憶體快取中取得。" #. (itstool) path: sect2/para -#: book.translate.xml:8226 +#: book.translate.xml:8241 msgid "" "Below the header is a series of columns containing similar information to " "the output from <citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</" @@ -12278,7 +12298,7 @@ msgstr "" "式的記憶體使用量。" #. (itstool) path: sect2/para -#: book.translate.xml:8236 +#: book.translate.xml:8251 msgid "" "<citerefentry><refentrytitle>top</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> automatically updates the display every two seconds. A " @@ -12288,12 +12308,12 @@ msgstr "" "的時間。" #. (itstool) path: sect2/title -#: book.translate.xml:8242 +#: book.translate.xml:8257 msgid "Killing Processes" msgstr "終止程序" #. (itstool) path: sect2/para -#: book.translate.xml:8244 +#: book.translate.xml:8259 msgid "" "One way to communicate with any running process or daemon is to send a " "<firstterm>signal</firstterm> using <citerefentry><refentrytitle>kill</" @@ -12314,7 +12334,7 @@ msgstr "" "systemitem>使用者,他可以送信號給任何人的程序。" #. (itstool) path: sect2/para -#: book.translate.xml:8254 +#: book.translate.xml:8269 msgid "" "The operating system can also send a signal to a process. If an application " "is badly written and tries to access memory that it is not supposed to, " @@ -12330,10 +12350,11 @@ msgstr "" "quote> 信號 (<literal>SIGSEGV</literal>) 給這個程序。 如果有一個應用程式用了 " "<citerefentry><refentrytitle>alarm</refentrytitle><manvolnum>3</manvolnum></" "citerefentry> 的系統呼叫 (System call) 要求系統在過一段時間之後發出通知,時間" -"到了的時候系統就會發出通知信號 (SIGALRM) 給該程式。" +"到了的時候系統就會發出<quote>通知</quote>信號 (<literal>SIGALRM</literal>) 給" +"該程式。" #. (itstool) path: sect2/para -#: book.translate.xml:8264 +#: book.translate.xml:8279 msgid "" "Two signals can be used to stop a process: <literal>SIGTERM</literal> and " "<literal>SIGKILL</literal>. <literal>SIGTERM</literal> is the polite way to " @@ -12349,7 +12370,7 @@ msgstr "" "literal>,如它正在做一些不能中斷的工作的話。" #. (itstool) path: footnote/para -#: book.translate.xml:8276 +#: book.translate.xml:8291 msgid "" "There are a few tasks that cannot be interrupted. For example, if the " "process is trying to read from a file that is on another computer on the " @@ -12364,7 +12385,7 @@ msgstr "" "結束掉了。" #. (itstool) path: sect2/para -#: book.translate.xml:8273 +#: book.translate.xml:8288 msgid "" "<literal>SIGKILL</literal> cannot be ignored by a process. Sending a " "<literal>SIGKILL</literal> to a process will usually stop that process there " @@ -12374,7 +12395,7 @@ msgstr "" "literal> 信號給程序通常會將程序直接中止<_:footnote-1/>。" #. (itstool) path: sect2/para -#: book.translate.xml:8285 +#: book.translate.xml:8300 msgid "" "Other commonly used signals are <literal>SIGHUP</literal>, <literal>SIGUSR1</" "literal>, and <literal>SIGUSR2</literal>. Since these are general purpose " @@ -12385,7 +12406,7 @@ msgstr "" "應。" #. (itstool) path: sect2/para -#: book.translate.xml:8290 +#: book.translate.xml:8305 msgid "" "For example, after changing a web server's configuration file, the web " "server needs to be told to re-read its configuration. Restarting " @@ -12401,12 +12422,12 @@ msgstr "" "為,所以使用前請先參考 Deamon 的說明文件查看是否可以達到想要的結果。" #. (itstool) path: procedure/title -#: book.translate.xml:8301 +#: book.translate.xml:8316 msgid "Sending a Signal to a Process" msgstr "送信號給程序" #. (itstool) path: procedure/para -#: book.translate.xml:8303 +#: book.translate.xml:8318 msgid "" "This example shows how to send a signal to " "<citerefentry><refentrytitle>inetd</refentrytitle><manvolnum>8</manvolnum></" @@ -12425,7 +12446,7 @@ msgstr "" "citerefentry> 會在收到 <literal>SIGHUP</literal> 的時候重新讀取這個設定檔。" #. (itstool) path: step/para -#: book.translate.xml:8310 +#: book.translate.xml:8325 msgid "" "Find the <acronym>PID</acronym> of the process to send the signal to using " "<citerefentry><refentrytitle>pgrep</refentrytitle><manvolnum>1</manvolnum></" @@ -12439,7 +12460,7 @@ msgstr "" "citerefentry> 的 <acronym>PID</acronym> 為 198:" #. (itstool) path: step/screen -#: book.translate.xml:8314 +#: book.translate.xml:8329 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>pgrep -l inetd</userinput>\n" @@ -12447,7 +12468,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:8320 +#: book.translate.xml:8335 msgid "" "Use <citerefentry><refentrytitle>kill</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> to send the signal. Because " @@ -12466,7 +12487,7 @@ msgstr "" "systemitem> 先。" #. (itstool) path: step/screen -#: book.translate.xml:8327 +#: book.translate.xml:8342 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>su</userinput>\n" @@ -12475,7 +12496,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:8331 +#: book.translate.xml:8346 msgid "" "Like most <trademark class=\"registered\">UNIX</trademark> commands, " "<citerefentry><refentrytitle>kill</refentrytitle><manvolnum>1</manvolnum></" @@ -12498,12 +12519,12 @@ msgstr "" "<replaceable>PID</replaceable>: No such process</errorname>。" #. (itstool) path: note/title -#: book.translate.xml:8344 +#: book.translate.xml:8359 msgid "Why Use <command>/bin/kill</command>?" msgstr "為何要使用 <command>/bin/kill</command>? " #. (itstool) path: note/para -#: book.translate.xml:8346 +#: book.translate.xml:8361 msgid "" "Many shells provide <command>kill</command> as a built in command, meaning " "that the shell will send the signal directly, rather than running <filename>/" @@ -12511,13 +12532,13 @@ msgid "" "for specifying the name of the signal to send. Rather than try to learn all " "of them, it can be simpler to specify <command>/bin/kill</command>." msgstr "" -"多數 shell 都有提供內建的 <command>kill</command> 指令。 也就是說這種 shell " +"多數 Shell 都有提供內建的 <command>kill</command> 指令。 也就是說這種 shell " "會直接發送信號,而不是執行 <filename>/bin/kill</filename>。 但要小心不同的 " "shell 會有不同的語法來指定信號的名稱等。 與其嘗試去把它們通通學會,不如就單純" "的直接用 <command>/bin/kill</command>。" #. (itstool) path: sect2/para -#: book.translate.xml:8358 +#: book.translate.xml:8373 msgid "" "When sending other signals, substitute <literal>TERM</literal> or " "<literal>KILL</literal> with the name of the signal." @@ -12526,7 +12547,7 @@ msgstr "" "或 <literal>KILL</literal> 替換成其他信號的名稱即可。" #. (itstool) path: important/para -#: book.translate.xml:8363 +#: book.translate.xml:8378 msgid "" "Killing a random process on the system is a bad idea. In particular, " "<citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</manvolnum></" @@ -12545,22 +12566,22 @@ msgstr "" "要</emphasis>記得再次確認您下的參數。" #. (itstool) path: sect1/title -#: book.translate.xml:8375 +#: book.translate.xml:8390 msgid "Shells" msgstr "Shell" #. (itstool) path: sect1/indexterm -#: book.translate.xml:8377 +#: book.translate.xml:8392 msgid "<primary>shells</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:8380 +#: book.translate.xml:8395 msgid "<primary>command line</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:8384 +#: book.translate.xml:8399 msgid "" "A <firstterm>shell</firstterm> provides a command line interface for " "interacting with the operating system. A shell receives commands from the " @@ -12583,7 +12604,7 @@ msgstr "" "<command>zsh</command> 以及 <command>bash</command> 等。" #. (itstool) path: sect1/para -#: book.translate.xml:8395 +#: book.translate.xml:8410 msgid "" "The shell that is used is really a matter of taste. A C programmer might " "feel more comfortable with a C-like shell such as " @@ -12601,7 +12622,7 @@ msgstr "" "合使用者的喜好,就是您選擇 shell 的重點了。" #. (itstool) path: sect1/para -#: book.translate.xml:8402 +#: book.translate.xml:8417 msgid "" "One common shell feature is filename completion. After a user types the " "first few letters of a command or filename and presses <keycap>Tab</keycap>, " @@ -12617,7 +12638,7 @@ msgstr "" "輸入 <command>rm foo</command> 然後按下 <keycap>Tab</keycap> 來補齊檔名。" #. (itstool) path: sect1/para -#: book.translate.xml:8411 +#: book.translate.xml:8426 msgid "" "But the shell only shows <command>rm foo</command>. It was unable to " "complete the filename because both <filename>foobar</filename> and " @@ -12635,12 +12656,12 @@ msgstr "" "次,那 Shell 就能夠替您把剩下的檔名填滿了。" #. (itstool) path: sect1/indexterm -#: book.translate.xml:8421 +#: book.translate.xml:8436 msgid "<primary>environment variables</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:8425 +#: book.translate.xml:8440 msgid "" "Another feature of the shell is the use of environment variables. " "Environment variables are a variable/key pair stored in the shell's " @@ -12650,48 +12671,48 @@ msgid "" "their meanings. Note that the names of environment variables are always in " "uppercase." msgstr "" -"Shell 的另一項特點是使用了環境變數。 環境變數是以變數與鍵值 (variable/key) 的" +"Shell 的另一項特點是使用了環境變數。 環境變數是以變數與鍵值 (Variable/Key) 的" "對應關係儲存於 Shell 的環境,任何由該 Shell 所產生的程序都可以讀取此環境變" "數, 因此環境變數儲存了許多程序的設定。 <xref linkend=\"shell-env-vars\"/> 提" "供了常見的環境變數與其涵義的清單。 請注意環境變數的名稱永遠以大寫表示。" #. (itstool) path: table/title -#: book.translate.xml:8435 +#: book.translate.xml:8450 msgid "Common Environment Variables" msgstr "常用環境變數" #. (itstool) path: row/entry -#: book.translate.xml:8440 book.translate.xml:22974 +#: book.translate.xml:8455 book.translate.xml:22999 msgid "Variable" msgstr "變數" #. (itstool) path: row/entry -#: book.translate.xml:8447 +#: book.translate.xml:8462 msgid "<envar>USER</envar>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:8448 +#: book.translate.xml:8463 msgid "Current logged in user's name." msgstr "目前登入的使用者名稱。" #. (itstool) path: row/entry -#: book.translate.xml:8452 +#: book.translate.xml:8467 msgid "<envar>PATH</envar>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:8453 +#: book.translate.xml:8468 msgid "Colon-separated list of directories to search for binaries." msgstr "以冒號 (:) 隔開的目錄列表,用以搜尋執行檔的路徑。" #. (itstool) path: row/entry -#: book.translate.xml:8458 +#: book.translate.xml:8473 msgid "<envar>DISPLAY</envar>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:8459 +#: book.translate.xml:8474 msgid "" "Network name of the <application>Xorg</application> display to connect to, " "if available." @@ -12699,34 +12720,34 @@ msgstr "" "若存在這個環境變數,則代表 <application>Xorg</application> 顯示器的網路名稱。" #. (itstool) path: row/entry -#: book.translate.xml:8465 +#: book.translate.xml:8480 msgid "<envar>SHELL</envar>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:8466 +#: book.translate.xml:8481 msgid "The current shell." msgstr "目前使用的 Shell。" #. (itstool) path: row/entry -#: book.translate.xml:8470 +#: book.translate.xml:8485 msgid "<envar>TERM</envar>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:8472 +#: book.translate.xml:8487 msgid "" "The name of the user's type of terminal. Used to determine the capabilities " "of the terminal." msgstr "使用者終端機類型的名稱,用來判斷終端機有那些功能。" #. (itstool) path: row/entry -#: book.translate.xml:8477 +#: book.translate.xml:8492 msgid "<envar>TERMCAP</envar>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:8479 +#: book.translate.xml:8494 msgid "" "Database entry of the terminal escape codes to perform various terminal " "functions." @@ -12734,62 +12755,62 @@ msgstr "" "用來執行各種終端機功能的終端機跳脫碼 (Terminal escape code) 的資料庫項目。" #. (itstool) path: row/entry -#: book.translate.xml:8484 +#: book.translate.xml:8499 msgid "<envar>OSTYPE</envar>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:8485 +#: book.translate.xml:8500 msgid "Type of operating system." msgstr "作業系統的類型。" #. (itstool) path: row/entry -#: book.translate.xml:8489 +#: book.translate.xml:8504 msgid "<envar>MACHTYPE</envar>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:8490 +#: book.translate.xml:8505 msgid "The system's CPU architecture." msgstr "系統的 CPU 架構。" #. (itstool) path: row/entry -#: book.translate.xml:8494 +#: book.translate.xml:8509 msgid "<envar>EDITOR</envar>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:8495 +#: book.translate.xml:8510 msgid "The user's preferred text editor." msgstr "使用者偏好的文字編輯器。" #. (itstool) path: row/entry -#: book.translate.xml:8499 +#: book.translate.xml:8514 msgid "<envar>PAGER</envar>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:8500 +#: book.translate.xml:8515 msgid "The user's preferred utility for viewing text one page at a time." msgstr "使用者偏好的文字分頁檢視工具。" #. (itstool) path: row/entry -#: book.translate.xml:8505 +#: book.translate.xml:8520 msgid "<envar>MANPATH</envar>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:8506 +#: book.translate.xml:8521 msgid "Colon-separated list of directories to search for manual pages." msgstr "以冒號 (:) 隔開的目錄列表,用以搜尋使用手冊的路徑。" #. (itstool) path: sect1/indexterm -#: book.translate.xml:8513 +#: book.translate.xml:8528 msgid "<primary>Bourne shells</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:8517 +#: book.translate.xml:8532 msgid "" "How to set an environment variable differs between shells. In " "<citerefentry><refentrytitle>tcsh</refentrytitle><manvolnum>1</manvolnum></" @@ -12814,24 +12835,24 @@ msgstr "" "<filename>/usr/local/bin/emacs</filename>:" #. (itstool) path: sect1/screen -#: book.translate.xml:8526 +#: book.translate.xml:8541 #, no-wrap msgid "<prompt>%</prompt> <userinput>setenv EDITOR /usr/local/bin/emacs</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:8528 +#: book.translate.xml:8543 msgid "The equivalent command for <command>bash</command> would be:" msgstr "相同功能的指令在 <command>bash</command> 下則是:" #. (itstool) path: sect1/screen -#: book.translate.xml:8531 +#: book.translate.xml:8546 #, no-wrap msgid "<prompt>%</prompt> <userinput>export EDITOR=\"/usr/local/bin/emacs\"</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:8533 +#: book.translate.xml:8548 msgid "" "To expand an environment variable in order to see its current setting, type " "a <literal>$</literal> character in front of its name on the command line. " @@ -12843,7 +12864,7 @@ msgstr "" "$TERM</envar> 的設定值。" #. (itstool) path: sect1/para -#: book.translate.xml:8539 +#: book.translate.xml:8554 msgid "" "Shells treat special characters, known as meta-characters, as special " "representations of data. The most common meta-character is <literal>*</" @@ -12853,15 +12874,14 @@ msgid "" "shell takes all the files that match <literal>*</literal> and <command>echo</" "command> lists them on the command line." msgstr "" -"Shell 中有特殊字元用來表示特殊資料,我們將其稱作 Meta-characters。 其中最常" -"見的 Meta-characters 是 <literal>*</literal> 字元,它代表了檔名中的任意字" -"元。 Meta-characters 可以用在搜尋檔名,舉例來說,輸入 <command>echo *</" -"command> 會和輸入 <command>ls</command> 得到幾乎相同的結果,這是因為 shell 會" -"將所有符合 <literal>*</literal> 字元的檔案由 <command>echo</command> 顯示出" -"來。" +"Shell 中有特殊字元用來表示特殊資料,我們將其稱作 Meta-character。 其中最常見" +"的 Meta-character 是 <literal>*</literal> 字元,它代表了檔名中的任意字元。 " +"Meta-character 可以用在搜尋檔名,舉例來說,輸入 <command>echo *</command> 會" +"和輸入 <command>ls</command> 得到幾乎相同的結果,這是因為 shell 會將所有符合 " +"<literal>*</literal> 字元的檔案由 <command>echo</command> 顯示出來。" #. (itstool) path: sect1/para -#: book.translate.xml:8549 +#: book.translate.xml:8564 msgid "" "To prevent the shell from interpreting a special character, escape it from " "the shell by starting it with a backslash (<literal>\\</literal>). For " @@ -12875,12 +12895,12 @@ msgstr "" "$TERM</command> 則會直接印出 <literal>$TERM</literal> 這幾個字。" #. (itstool) path: sect2/title -#: book.translate.xml:8557 +#: book.translate.xml:8572 msgid "Changing the Shell" msgstr "變更 Shell" #. (itstool) path: sect2/para -#: book.translate.xml:8559 +#: book.translate.xml:8574 msgid "" "The easiest way to permanently change the default shell is to use " "<command>chsh</command>. Running this command will open the editor that is " @@ -12896,7 +12916,7 @@ msgstr "" "<literal>Shell:</literal> 為新的 Shell 的完整路徑。" #. (itstool) path: sect2/para -#: book.translate.xml:8566 +#: book.translate.xml:8581 msgid "" "Alternately, use <command>chsh -s</command> which will set the specified " "shell without opening an editor. For example, to change the shell to " @@ -12906,13 +12926,13 @@ msgstr "" "器。 例如, 假設想把 Shell 更改為 <command>bash</command>:" #. (itstool) path: sect2/screen -#: book.translate.xml:8570 +#: book.translate.xml:8585 #, no-wrap msgid "<prompt>%</prompt> <userinput>chsh -s /usr/local/bin/bash</userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:8573 +#: book.translate.xml:8588 msgid "" "The new shell <emphasis>must</emphasis> be present in <filename>/etc/shells</" "filename>. If the shell was installed from the FreeBSD Ports Collection as " @@ -12926,13 +12946,13 @@ msgstr "" "Shell 的路徑):" #. (itstool) path: note/screen -#: book.translate.xml:8580 +#: book.translate.xml:8595 #, no-wrap msgid "<prompt>#</prompt> <userinput>echo <replaceable>/usr/local/bin/bash</replaceable> >> /etc/shells</userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:8582 +#: book.translate.xml:8597 msgid "" "Then, rerun <citerefentry><refentrytitle>chsh</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>." @@ -12941,21 +12961,21 @@ msgstr "" "manvolnum></citerefentry>。" #. (itstool) path: info/title -#: book.translate.xml:8588 +#: book.translate.xml:8603 msgid "Advanced Shell Techniques" msgstr "進階 Shell 技巧" #. (itstool) path: authorgroup/author -#: book.translate.xml:8591 book.translate.xml:31009 book.translate.xml:35403 -#: book.translate.xml:35483 book.translate.xml:37092 book.translate.xml:43965 -#: book.translate.xml:54417 book.translate.xml:56852 +#: book.translate.xml:8606 book.translate.xml:31063 book.translate.xml:35457 +#: book.translate.xml:35537 book.translate.xml:37146 book.translate.xml:44019 +#: book.translate.xml:54471 book.translate.xml:56906 msgid "" "<personname> <firstname>Tom</firstname> <surname>Rhodes</surname> </" "personname> <contrib>Written by </contrib>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:8601 +#: book.translate.xml:8616 msgid "" "The <trademark class=\"registered\">UNIX</trademark> shell is not just a " "command interpreter, it acts as a powerful tool which allows users to " @@ -12970,7 +12990,7 @@ msgstr "" "可提供一個可以最佳化效率的環境給使用者。" #. (itstool) path: sect2/para -#: book.translate.xml:8609 +#: book.translate.xml:8624 msgid "" "Shell redirection is the action of sending the output or the input of a " "command into another command or into a file. To capture the output of the " @@ -12979,16 +12999,16 @@ msgid "" msgstr "" "Shell 重新導向是將一個指令的輸出或輸入傳送給另一個指令或檔案。例如,要擷取 " "<citerefentry><refentrytitle>ls</refentrytitle><manvolnum>1</manvolnum></" -"citerefentry> 指令的輸出到一個檔案,可以重新導向輸出:" +"citerefentry> 指令的輸出到一個檔案,可以重新導向輸出:" #. (itstool) path: sect2/screen -#: book.translate.xml:8614 +#: book.translate.xml:8629 #, no-wrap msgid "<prompt>%</prompt> <userinput>ls > directory_listing.txt</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:8616 +#: book.translate.xml:8631 msgid "" "The directory contents will now be listed in <filename>directory_listing." "txt</filename>. Some commands can be used to read input, such as " @@ -12998,16 +13018,16 @@ msgstr "" "目錄的內容現在會列到 <filename>directory_listing.txt</filename> 中,部份指令" "可以讀取輸入,例如 <citerefentry><refentrytitle>sort</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>。要排序這個清單,可重新" -"導向輸入:" +"導向輸入:" #. (itstool) path: sect2/screen -#: book.translate.xml:8621 +#: book.translate.xml:8636 #, no-wrap msgid "<prompt>%</prompt> <userinput>sort < directory_listing.txt</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:8623 +#: book.translate.xml:8638 msgid "" "The input will be sorted and placed on the screen. To redirect that input " "into another file, one could redirect the output of " @@ -13016,16 +13036,16 @@ msgid "" msgstr "" "輸入的內容會被排序後呈現在畫面上,要重新導向該輸入到另一個檔案,可以重新導向 " "<citerefentry><refentrytitle>sort</refentrytitle><manvolnum>1</manvolnum></" -"citerefentry> 的出輸:" +"citerefentry> 的出輸:" #. (itstool) path: sect2/screen -#: book.translate.xml:8627 +#: book.translate.xml:8642 #, no-wrap msgid "<prompt>%</prompt> <userinput>sort < directory_listing.txt > sorted.txt</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:8629 +#: book.translate.xml:8644 msgid "" "In all of the previous examples, the commands are performing redirection " "using file descriptors. Every <trademark class=\"registered\">UNIX</" @@ -13045,7 +13065,7 @@ msgstr "" "皆被認為是以 I/O 為基礎的檔案描述符,有些也會被當做串流。" #. (itstool) path: sect2/para -#: book.translate.xml:8640 +#: book.translate.xml:8655 msgid "" "Through the use of these descriptors, the shell allows output and input to " "be passed around through various commands and redirected to or from a file. " @@ -13055,7 +13075,7 @@ msgstr "" "自檔案。另一種重新導向的方式是使用管線運算子 (Pipe operator)。" #. (itstool) path: sect2/para -#: book.translate.xml:8645 +#: book.translate.xml:8660 msgid "" "The <trademark class=\"registered\">UNIX</trademark> pipe operator, <quote>|" "</quote> allows the output of one command to be directly passed or directed " @@ -13064,16 +13084,16 @@ msgid "" msgstr "" "<trademark class=\"registered\">UNIX</trademark> 的管線運算子,即 <quote>|</" "quote>,可允許指令的輸出可直接傳遞或導向到另一個程式。基本上,管線運算子允許" -"指令的標準輸出以標準輸入傳遞給另一個指令,例如:" +"指令的標準輸出以標準輸入傳遞給另一個指令,例如:" #. (itstool) path: sect2/screen -#: book.translate.xml:8651 +#: book.translate.xml:8666 #, no-wrap msgid "<prompt>%</prompt> <userinput>cat directory_listing.txt | sort | less</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:8653 +#: book.translate.xml:8668 msgid "" "In that example, the contents of <filename>directory_listing.txt</filename> " "will be sorted and the output passed to <citerefentry><refentrytitle>less</" @@ -13087,22 +13107,22 @@ msgstr "" "果直接捲動出畫面。" #. (itstool) path: sect1/title -#: book.translate.xml:8662 +#: book.translate.xml:8677 msgid "Text Editors" msgstr "文字編輯器" #. (itstool) path: sect1/indexterm -#: book.translate.xml:8664 +#: book.translate.xml:8679 msgid "<primary>text editors</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:8667 book.translate.xml:8703 +#: book.translate.xml:8682 book.translate.xml:8718 msgid "<primary>editors</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:8671 +#: book.translate.xml:8686 msgid "" "Most FreeBSD configuration is done by editing text files. Because of this, " "it is a good idea to become familiar with a text editor. FreeBSD comes with " @@ -13114,19 +13134,19 @@ msgstr "" "其他的文字編輯器。" #. (itstool) path: sect1/indexterm -#: book.translate.xml:8676 +#: book.translate.xml:8691 msgid "<primary><command>ee</command></primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:8679 +#: book.translate.xml:8694 msgid "" "<primary>editors</primary> <secondary><citerefentry><refentrytitle>ee</" "refentrytitle><manvolnum>1</manvolnum></citerefentry></secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:8684 +#: book.translate.xml:8699 msgid "" "A simple editor to learn is <citerefentry><refentrytitle>ee</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>, which stands for easy " @@ -13156,17 +13176,17 @@ msgstr "" "要存檔。" #. (itstool) path: sect1/indexterm -#: book.translate.xml:8700 +#: book.translate.xml:8715 msgid "<primary><command>vi</command></primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:8706 +#: book.translate.xml:8721 msgid "<primary><command>emacs</command></primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:8710 +#: book.translate.xml:8725 msgid "" "FreeBSD also comes with more powerful text editors, such as " "<citerefentry><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></" @@ -13185,7 +13205,7 @@ msgstr "" "在日後為您省下更多的時間。" #. (itstool) path: sect1/para -#: book.translate.xml:8720 +#: book.translate.xml:8735 msgid "" "Many applications which modify files or require typed input will " "automatically open a text editor. To change the default editor, set the " @@ -13196,12 +13216,12 @@ msgstr "" "可設定 <envar>EDITOR</envar> 環境變數如 <xref linkend=\"shells\"/> 所說明。" #. (itstool) path: sect1/title -#: book.translate.xml:8727 +#: book.translate.xml:8742 msgid "Devices and Device Nodes" msgstr "裝置及裝置節點" #. (itstool) path: sect1/para -#: book.translate.xml:8729 +#: book.translate.xml:8744 msgid "" "A device is a term used mostly for hardware-related activities in a system, " "including disks, printers, graphics cards, and keyboards. When FreeBSD " @@ -13214,7 +13234,7 @@ msgstr "" "裝置,開機訊息的複本也會存放在 <filename>/var/run/dmesg.boot</filename>。" #. (itstool) path: sect1/para -#: book.translate.xml:8736 +#: book.translate.xml:8751 msgid "" "Each device has a device name and number. For example, <filename>ada0</" "filename> is the first SATA hard drive, while <filename>kbd0</filename> " @@ -13224,7 +13244,7 @@ msgstr "" "台 SATA 硬碟,而 <filename>kbd0</filename> 則代表鍵盤。" #. (itstool) path: sect1/para -#: book.translate.xml:8741 +#: book.translate.xml:8756 msgid "" "Most devices in a FreeBSD must be accessed through special files called " "device nodes, which are located in <filename>/dev</filename>." @@ -13233,17 +13253,17 @@ msgstr "" "些檔案會放置在 <filename>/dev</filename>。" #. (itstool) path: sect1/title -#: book.translate.xml:8747 +#: book.translate.xml:8762 msgid "Manual Pages" msgstr "操作手冊" #. (itstool) path: sect1/indexterm -#: book.translate.xml:8749 +#: book.translate.xml:8764 msgid "<primary>manual pages</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:8753 +#: book.translate.xml:8768 msgid "" "The most comprehensive documentation on FreeBSD is in the form of manual " "pages. Nearly every program on the system comes with a short reference " @@ -13255,13 +13275,13 @@ msgstr "" "<command>man</command> 指令來檢視:" #. (itstool) path: sect1/screen -#: book.translate.xml:8759 +#: book.translate.xml:8774 #, no-wrap msgid "<prompt>%</prompt> <userinput>man <replaceable>command</replaceable></userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:8761 +#: book.translate.xml:8776 msgid "" "where <replaceable>command</replaceable> is the name of the command to learn " "about. For example, to learn more about <citerefentry><refentrytitle>ls</" @@ -13272,13 +13292,13 @@ msgstr "" "citerefentry> 的詳細用法,就可以打:" #. (itstool) path: sect1/screen -#: book.translate.xml:8765 +#: book.translate.xml:8780 #, no-wrap msgid "<prompt>%</prompt> <userinput>man ls</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:8767 +#: book.translate.xml:8782 msgid "" "Manual pages are divided into sections which represent the type of topic. In " "FreeBSD, the following sections are available:" @@ -13287,52 +13307,52 @@ msgstr "" "章節:" #. (itstool) path: listitem/para -#: book.translate.xml:8773 +#: book.translate.xml:8788 msgid "User commands." msgstr "使用者指令。" #. (itstool) path: listitem/para -#: book.translate.xml:8777 +#: book.translate.xml:8792 msgid "System calls and error numbers." msgstr "系統呼叫 (System call) 與錯誤編號。" #. (itstool) path: listitem/para -#: book.translate.xml:8781 +#: book.translate.xml:8796 msgid "Functions in the C libraries." msgstr "C 程式庫函數。" #. (itstool) path: listitem/para -#: book.translate.xml:8785 +#: book.translate.xml:8800 msgid "Device drivers." msgstr "裝置驅動程式。" #. (itstool) path: listitem/para -#: book.translate.xml:8789 +#: book.translate.xml:8804 msgid "File formats." msgstr "檔案格式。" #. (itstool) path: listitem/para -#: book.translate.xml:8793 +#: book.translate.xml:8808 msgid "Games and other diversions." msgstr "遊戲及其他程式。" #. (itstool) path: listitem/para -#: book.translate.xml:8797 +#: book.translate.xml:8812 msgid "Miscellaneous information." msgstr "其他資訊。" #. (itstool) path: listitem/para -#: book.translate.xml:8801 +#: book.translate.xml:8816 msgid "System maintenance and operation commands." msgstr "系統維護與操作指令。" #. (itstool) path: listitem/para -#: book.translate.xml:8805 +#: book.translate.xml:8820 msgid "System kernel interfaces." msgstr "系統核心介面。" #. (itstool) path: sect1/para -#: book.translate.xml:8809 +#: book.translate.xml:8824 msgid "" "In some cases, the same topic may appear in more than one section of the " "online manual. For example, there is a <command>chmod</command> user command " @@ -13346,13 +13366,13 @@ msgstr "" "refentrytitle><manvolnum>1</manvolnum></citerefentry> 要查詢的章節編號:" #. (itstool) path: sect1/screen -#: book.translate.xml:8815 +#: book.translate.xml:8830 #, no-wrap msgid "<prompt>%</prompt> <userinput>man 1 chmod</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:8817 +#: book.translate.xml:8832 msgid "" "This will display the manual page for the user command " "<citerefentry><refentrytitle>chmod</refentrytitle><manvolnum>1</manvolnum></" @@ -13371,7 +13391,7 @@ msgstr "" "citerefentry> 則是指系統呼叫。" #. (itstool) path: sect1/para -#: book.translate.xml:8823 +#: book.translate.xml:8838 msgid "" "If the name of the manual page is unknown, use <command>man -k</command> to " "search for keywords in the manual page descriptions:" @@ -13380,13 +13400,13 @@ msgstr "" "操作手冊的描述:" #. (itstool) path: sect1/screen -#: book.translate.xml:8827 +#: book.translate.xml:8842 #, no-wrap msgid "<prompt>%</prompt> <userinput>man -k <replaceable>mail</replaceable></userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:8829 +#: book.translate.xml:8844 msgid "" "This command displays a list of commands that have the keyword <quote>mail</" "quote> in their descriptions. This is equivalent to using " @@ -13398,14 +13418,14 @@ msgstr "" "manvolnum></citerefentry>。" #. (itstool) path: sect1/para -#: book.translate.xml:8833 +#: book.translate.xml:8848 msgid "" "To read the descriptions for all of the commands in <filename>/usr/bin</" "filename>, type:" msgstr "想要閱讀所有在 <filename>/usr/bin</filename> 底下的指令說明則可輸入:" #. (itstool) path: sect1/screen -#: book.translate.xml:8836 +#: book.translate.xml:8851 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>cd /usr/bin</userinput>\n" @@ -13414,12 +13434,12 @@ msgstr "" #. (itstool) path: sect1/para #. (itstool) path: listitem/para -#: book.translate.xml:8839 book.translate.xml:49386 +#: book.translate.xml:8854 book.translate.xml:49440 msgid "or" msgstr "或" #. (itstool) path: sect1/screen -#: book.translate.xml:8841 +#: book.translate.xml:8856 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>cd /usr/bin</userinput>\n" @@ -13427,12 +13447,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:8845 +#: book.translate.xml:8860 msgid "GNU Info Files" msgstr "GNU Info 檔" #. (itstool) path: sect2/para -#: book.translate.xml:8851 +#: book.translate.xml:8866 msgid "" "FreeBSD includes several applications and utilities produced by the Free " "Software Foundation (FSF). In addition to manual pages, these programs may " @@ -13450,7 +13470,7 @@ msgstr "" "過 <application>emacs</application> 的 info 模式閱讀。" #. (itstool) path: sect2/para -#: book.translate.xml:8859 +#: book.translate.xml:8874 msgid "" "To use <citerefentry><refentrytitle>info</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, type:" @@ -13459,13 +13479,13 @@ msgstr "" "manvolnum></citerefentry> 指令,只需輸入:" #. (itstool) path: sect2/screen -#: book.translate.xml:8861 +#: book.translate.xml:8876 #, no-wrap msgid "<prompt>%</prompt> <userinput>info</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:8863 +#: book.translate.xml:8878 msgid "" "For a brief introduction, type <literal>h</literal>. For a quick command " "reference, type <literal>?</literal>." @@ -13474,22 +13494,22 @@ msgstr "" "<literal>?</literal> 鍵。" #. (itstool) path: chapter/title -#: book.translate.xml:8877 +#: book.translate.xml:8892 msgid "Installing Applications: Packages and Ports" -msgstr "安裝應用程式: 套件與 Port" +msgstr "安裝應用程式:套件與 Port" #. (itstool) path: sect1/indexterm -#: book.translate.xml:8882 +#: book.translate.xml:8897 msgid "<primary>ports</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:8883 +#: book.translate.xml:8898 msgid "<primary>packages</primary>" msgstr "<primary>套件</primary>" #. (itstool) path: sect1/para -#: book.translate.xml:8884 +#: book.translate.xml:8899 msgid "" "FreeBSD is bundled with a rich collection of system tools as part of the " "base system. In addition, FreeBSD provides two complementary technologies " @@ -13503,45 +13523,45 @@ msgstr "" "Binary 套件集。 無論要用哪一種方式,都可由本地的媒體或網路來安裝軟體。" #. (itstool) path: listitem/para -#: book.translate.xml:8896 +#: book.translate.xml:8911 msgid "The difference between binary packages and ports." msgstr "Binary 套件集與 Port 的差別。" #. (itstool) path: listitem/para -#: book.translate.xml:8900 +#: book.translate.xml:8915 msgid "How to find third-party software that has been ported to FreeBSD." msgstr "如何找到已移植到 FreeBSD 的第三方軟體。" #. (itstool) path: listitem/para -#: book.translate.xml:8905 +#: book.translate.xml:8920 msgid "How to manage binary packages using <application>pkg</application>." msgstr "如何使用 <application>pkg</application> 管理 Binary 套件。" #. (itstool) path: listitem/para -#: book.translate.xml:8910 +#: book.translate.xml:8925 msgid "" "How to build third-party software from source using the Ports Collection." msgstr "如何編譯來自 Port 套件集的第三方軟體原始碼。" #. (itstool) path: listitem/para -#: book.translate.xml:8915 +#: book.translate.xml:8930 msgid "" "How to find the files installed with the application for post-installation " "configuration." msgstr "如何找到應用程式已安裝的檔案來完成安裝後的設定。" #. (itstool) path: listitem/para -#: book.translate.xml:8920 +#: book.translate.xml:8935 msgid "What to do if a software installation fails." msgstr "若軟體安裝失敗要如何處理。" #. (itstool) path: sect1/title -#: book.translate.xml:8926 +#: book.translate.xml:8941 msgid "Overview of Software Installation" msgstr "安裝軟體的概要" #. (itstool) path: sect1/para -#: book.translate.xml:8928 +#: book.translate.xml:8943 msgid "" "The typical steps for installing third-party software on a <trademark class=" "\"registered\">UNIX</trademark> system include:" @@ -13550,14 +13570,14 @@ msgstr "" "體時,有幾個步驟要作:" #. (itstool) path: step/para -#: book.translate.xml:8933 +#: book.translate.xml:8948 msgid "" "Find and download the software, which might be distributed in source code " "format or as a binary." msgstr "找到並且下載軟體,該軟體有可能以原始碼或 Binary 格式發佈。" #. (itstool) path: step/para -#: book.translate.xml:8938 +#: book.translate.xml:8953 msgid "" "Unpack the software from its distribution format. This is typically a " "tarball compressed with <citerefentry><refentrytitle>compress</" @@ -13574,7 +13594,7 @@ msgstr "" "citerefentry> 壓縮。" #. (itstool) path: step/para -#: book.translate.xml:8944 +#: book.translate.xml:8959 msgid "" "Locate the documentation in <filename>INSTALL</filename>, <filename>README</" "filename> or some file in a <filename>doc/</filename> subdirectory and read " @@ -13584,7 +13604,7 @@ msgstr "" "<filename>doc/</filename> 子目錄底下的檔案閱讀如何安裝該軟體。" #. (itstool) path: step/para -#: book.translate.xml:8951 +#: book.translate.xml:8966 msgid "" "If the software was distributed in source format, compile it. This may " "involve editing a <filename>Makefile</filename> or running a " @@ -13594,12 +13614,12 @@ msgstr "" "<filename>Makefile</filename> 或執行 <command>configure</command> Script。" #. (itstool) path: step/para -#: book.translate.xml:8958 +#: book.translate.xml:8973 msgid "Test and install the software." msgstr "測試並安裝該軟體。" #. (itstool) path: sect1/para -#: book.translate.xml:8962 +#: book.translate.xml:8977 msgid "" "If the software package was not deliberately ported, or tested to work, on " "FreeBSD, the source code may need editing in order for it to install and run " @@ -13611,7 +13631,7 @@ msgstr "" "程式已經被移植到 FreeBSD。" #. (itstool) path: sect1/para -#: book.translate.xml:8968 +#: book.translate.xml:8983 msgid "" "A FreeBSD package contains pre-compiled copies of all the commands for an " "application, as well as any configuration files and documentation. A package " @@ -13623,7 +13643,7 @@ msgstr "" "command>。" #. (itstool) path: sect1/para -#: book.translate.xml:8974 +#: book.translate.xml:8989 msgid "" "A FreeBSD port is a collection of files designed to automate the process of " "compiling an application from source code. The files that comprise a port " @@ -13635,14 +13655,14 @@ msgstr "" "訊。" #. (itstool) path: sect1/para -#: book.translate.xml:8980 +#: book.translate.xml:8995 msgid "" "The ports system can also be used to generate packages which can be " "manipulated with the FreeBSD package management commands." msgstr "Port 系統可以透過 FreeBSD 套件管理指令來產生套件。" #. (itstool) path: sect1/para -#: book.translate.xml:8984 +#: book.translate.xml:8999 msgid "" "Both packages and ports understand dependencies. If a package or port is " "used to install an application and a dependent library is not already " @@ -13652,7 +13672,7 @@ msgstr "" "應用程式,且該應用程式有相依的程式庫尚未被安裝,則會自動先安裝該程式庫。" #. (itstool) path: sect1/para -#: book.translate.xml:8989 +#: book.translate.xml:9004 msgid "" "While the two technologies are similar, packages and ports each have their " "own strengths. Select the technology that meets your requirements for " @@ -13662,19 +13682,19 @@ msgstr "" "應用程式需求來選擇。" #. (itstool) path: itemizedlist/title -#: book.translate.xml:8995 +#: book.translate.xml:9010 msgid "Package Benefits" msgstr "Binary 套件優點" #. (itstool) path: listitem/para -#: book.translate.xml:8998 +#: book.translate.xml:9013 msgid "" "A compressed package tarball is typically smaller than the compressed " "tarball containing the source code for the application." msgstr "應用程式壓縮 Binary 套件的 tarball 會比壓縮原始碼的 tarball 還要小。" #. (itstool) path: listitem/para -#: book.translate.xml:9004 +#: book.translate.xml:9019 msgid "" "Packages do not require compilation time. For large applications, such as " "<application>Mozilla</application>, <application>KDE</application>, or " @@ -13685,19 +13705,19 @@ msgstr "" "<application>GNOME</application> 這點顯的相當重要。" #. (itstool) path: listitem/para -#: book.translate.xml:9012 +#: book.translate.xml:9027 msgid "" "Packages do not require any understanding of the process involved in " "compiling software on FreeBSD." msgstr "Binary 套件不需要了解在 FreeBSD 上編譯軟體的流程。" #. (itstool) path: itemizedlist/title -#: book.translate.xml:9018 +#: book.translate.xml:9033 msgid "Port Benefits" msgstr "Port 套件優點" #. (itstool) path: listitem/para -#: book.translate.xml:9021 +#: book.translate.xml:9036 msgid "" "Packages are normally compiled with conservative options because they have " "to run on the maximum number of systems. By compiling from the port, one can " @@ -13707,7 +13727,7 @@ msgstr "" "譯,由 Port 來編輯可更改編譯選項。" #. (itstool) path: listitem/para -#: book.translate.xml:9028 +#: book.translate.xml:9043 msgid "" "Some applications have compile-time options relating to which features are " "installed. For example, <application>Apache</application> can be configured " @@ -13717,7 +13737,7 @@ msgstr "" "application> 便有大量不同的內建選項可以設定。" #. (itstool) path: listitem/para -#: book.translate.xml:9033 +#: book.translate.xml:9048 msgid "" "In some cases, multiple packages will exist for the same application to " "specify certain settings. For example, <application>Ghostscript</" @@ -13734,7 +13754,7 @@ msgstr "" "這個方式來區別 Binary 套件。" #. (itstool) path: listitem/para -#: book.translate.xml:9045 +#: book.translate.xml:9060 msgid "" "The licensing conditions of some software forbid binary distribution. Such " "software must be distributed as source code which must be compiled by the " @@ -13744,19 +13764,19 @@ msgstr "" "使用者編譯。" #. (itstool) path: listitem/para -#: book.translate.xml:9051 +#: book.translate.xml:9066 msgid "" "Some people do not trust binary distributions or prefer to read through " "source code in order to look for potential problems." msgstr "部份人並不相信 Binary 發佈版本,寧願閱讀原始碼來查看是否潛藏的問題。" #. (itstool) path: listitem/para -#: book.translate.xml:9057 +#: book.translate.xml:9072 msgid "Source code is needed in order to apply custom patches." msgstr "原始碼可套用自訂的修補。" #. (itstool) path: sect1/para -#: book.translate.xml:9062 +#: book.translate.xml:9077 msgid "" "To keep track of updated ports, subscribe to the <link xlink:href=\"http://" "lists.FreeBSD.org/mailman/listinfo/freebsd-ports\">FreeBSD ports mailing " @@ -13769,7 +13789,7 @@ msgstr "" "\">FreeBSD Port 問題郵遞論壇</link>。" #. (itstool) path: warning/para -#: book.translate.xml:9066 +#: book.translate.xml:9081 msgid "" "Before installing any application, check <link xlink:href=\"http://vuxml." "freebsd.org/\"/> for security issues related to the application or type " @@ -13781,7 +13801,7 @@ msgstr "" "command> 來檢查所有已安裝的應用程式是否有已知的漏洞。" #. (itstool) path: sect1/para -#: book.translate.xml:9072 +#: book.translate.xml:9087 msgid "" "The remainder of this chapter explains how to use packages and ports to " "install and manage third-party software on FreeBSD." @@ -13790,12 +13810,12 @@ msgstr "" "三方軟體。" #. (itstool) path: sect1/title -#: book.translate.xml:9078 +#: book.translate.xml:9093 msgid "Finding Software" msgstr "搜尋軟體" #. (itstool) path: sect1/para -#: book.translate.xml:9080 +#: book.translate.xml:9095 msgid "" "FreeBSD's list of available applications is growing all the time. There are " "a number of ways to find software to install:" @@ -13803,7 +13823,7 @@ msgstr "" "FreeBSD 上可安裝的軟體清單不斷在增加, 有幾種方式可以來找你想安裝的軟體:" #. (itstool) path: listitem/para -#: book.translate.xml:9086 +#: book.translate.xml:9101 msgid "" "The FreeBSD web site maintains an up-to-date searchable list of all the " "available applications, at <link xlink:href=\"@@URL_RELPREFIX@@/ports/index." @@ -13815,12 +13835,12 @@ msgstr "" "link>。 可以依應用程式名稱或軟體分類來搜尋 Port。" #. (itstool) path: listitem/indexterm -#: book.translate.xml:9093 +#: book.translate.xml:9108 msgid "<primary>FreshPorts</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:9095 +#: book.translate.xml:9110 msgid "" "Dan Langille maintains <link xlink:href=\"http://www.FreshPorts.org/" "\">FreshPorts.org</link> which provides a comprehensive search utility and " @@ -13834,12 +13854,12 @@ msgstr "" "新資訊。" #. (itstool) path: listitem/indexterm -#: book.translate.xml:9104 +#: book.translate.xml:9119 msgid "<primary>SourceForge</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:9106 +#: book.translate.xml:9121 msgid "" "If finding a particular application becomes challenging, try searching a " "site like <link xlink:href=\"http://www.sourceforge.net/\">SourceForge.net</" @@ -13854,18 +13874,18 @@ msgstr "" "已被移植。" #. (itstool) path: listitem/indexterm -#: book.translate.xml:9114 +#: book.translate.xml:9129 msgid "<primary>pkg</primary> <secondary>search</secondary>" msgstr "" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#pkg-search -#: book.translate.xml:9119 +#: book.translate.xml:9134 msgid "To search the binary package repository for an application:" msgstr "要搜尋 Binary 套件檔案庫中的應用程式可:" #. (itstool) path: listitem/screen -#: book.translate.xml:9122 +#: book.translate.xml:9137 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>pkg search <replaceable>subversion</replaceable></userinput>\n" @@ -13883,7 +13903,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:9135 +#: book.translate.xml:9150 msgid "" "Package names include the version number and in case of ports based on " "python, the version number of the version of python the package was built " @@ -13904,7 +13924,7 @@ msgstr "" "<command>pkg search</command> 並加上 <option>-o</option> 來列出每個套件來源:" #. (itstool) path: listitem/screen -#: book.translate.xml:9149 +#: book.translate.xml:9164 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>pkg search -o <replaceable>subversion</replaceable></userinput>\n" @@ -13922,7 +13942,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:9162 +#: book.translate.xml:9177 msgid "" "Searching by shell globs, regular expressions, exact match, by description, " "or any other field in the repository database is also supported by " @@ -13938,7 +13958,7 @@ msgstr "" "manvolnum></citerefentry> 以取得更多詳細資訊。" #. (itstool) path: listitem/para -#: book.translate.xml:9171 +#: book.translate.xml:9186 msgid "" "If the Ports Collection is already installed, there are several methods to " "query the local version of the ports tree. To find out which category a port " @@ -13950,7 +13970,7 @@ msgstr "" "其中 <replaceable>file</replaceable> 是要安裝的程式:" #. (itstool) path: listitem/screen -#: book.translate.xml:9178 +#: book.translate.xml:9193 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>whereis lsof</userinput>\n" @@ -13958,7 +13978,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:9181 +#: book.translate.xml:9196 msgid "" "Alternately, an <citerefentry><refentrytitle>echo</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> statement can be used:" @@ -13967,7 +13987,7 @@ msgstr "" "refentrytitle><manvolnum>1</manvolnum></citerefentry>:" #. (itstool) path: listitem/screen -#: book.translate.xml:9184 +#: book.translate.xml:9199 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>echo /usr/ports/*/*lsof*</userinput>\n" @@ -13975,7 +13995,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:9187 +#: book.translate.xml:9202 msgid "" "Note that this will also return any matched files downloaded into the " "<filename>/usr/ports/distfiles</filename> directory." @@ -13984,7 +14004,7 @@ msgstr "" "何已符合條件的檔案。" #. (itstool) path: listitem/para -#: book.translate.xml:9193 +#: book.translate.xml:9208 msgid "" "Another way to find software is by using the Ports Collection's built-in " "search mechanism. To use the search feature, <application>cd</application> " @@ -13998,7 +14018,7 @@ msgstr "" "name</replaceable> 代表軟體的名稱。舉例搜尋 <command>lsof</command>:" #. (itstool) path: listitem/screen -#: book.translate.xml:9202 +#: book.translate.xml:9217 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports</userinput>\n" @@ -14013,7 +14033,7 @@ msgid "" msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:9213 +#: book.translate.xml:9228 msgid "" "The built-in search mechanism uses a file of index information. If a message " "indicates that the <filename>INDEX</filename> is required, run <command>make " @@ -14027,18 +14047,18 @@ msgstr "" "行請求的搜尋動作。" #. (itstool) path: listitem/para -#: book.translate.xml:9222 +#: book.translate.xml:9237 msgid "The <quote>Path:</quote> line indicates where to find the port." msgstr "<quote>Path:</quote> 此行代表 Port 的所在位置。" #. (itstool) path: listitem/para -#: book.translate.xml:9225 +#: book.translate.xml:9240 msgid "" "To receive less information, use the <command>quicksearch</command> feature:" msgstr "若不要接受這麼多資訊,可使用 <command>quicksearch</command> 功能:" #. (itstool) path: listitem/screen -#: book.translate.xml:9228 +#: book.translate.xml:9243 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports</userinput>\n" @@ -14049,7 +14069,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:9234 +#: book.translate.xml:9249 msgid "" "For more in-depth searching, use <command>make search " "key=<replaceable>string</replaceable></command> or <command>make quicksearch " @@ -14065,17 +14085,17 @@ msgstr "" "特定主題相關的 Port。" #. (itstool) path: para/buildtarget -#: book.translate.xml:9245 +#: book.translate.xml:9260 msgid "search" msgstr "" #. (itstool) path: para/buildtarget -#: book.translate.xml:9246 +#: book.translate.xml:9261 msgid "quicksearch" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:9245 +#: book.translate.xml:9260 msgid "" "When using <_:buildtarget-1/> or <_:buildtarget-2/>, the search string is " "case-insensitive. Searching for <quote>LSOF</quote> will yield the same " @@ -14085,12 +14105,12 @@ msgstr "" "尋 <quote>LSOF</quote> 會與搜尋 <quote>lsof</quote> 產生相同的結果。" #. (itstool) path: sect1/title -#: book.translate.xml:9255 +#: book.translate.xml:9270 msgid "Using <application>pkg</application> for Binary Package Management" msgstr "使用 <application>pkg</application> 管理 Binary 套件" #. (itstool) path: sect1/para -#: book.translate.xml:9258 +#: book.translate.xml:9273 msgid "" "<application>pkg</application> is the next generation replacement for the " "traditional FreeBSD package management tools, offering many features that " @@ -14100,7 +14120,7 @@ msgstr "" "功能讓處理 Binary 套件更快更簡單。" #. (itstool) path: sect1/para -#: book.translate.xml:9263 +#: book.translate.xml:9278 msgid "" "<application>pkg</application> is not a replacement for port management " "tools like <package>ports-mgmt/portmaster</package> or <package>ports-mgmt/" @@ -14114,12 +14134,12 @@ msgstr "" "application> 僅能安裝 Binary 套件。" #. (itstool) path: sect2/title -#: book.translate.xml:9273 +#: book.translate.xml:9288 msgid "Getting Started with <application>pkg</application>" msgstr "開始使用 <application>pkg</application>" #. (itstool) path: sect2/para -#: book.translate.xml:9276 +#: book.translate.xml:9291 msgid "" "FreeBSD includes a bootstrap utility which can be used to download and " "install <application>pkg</application>, along with its manual pages." @@ -14128,18 +14148,18 @@ msgstr "" "application> 及其操作手冊。" #. (itstool) path: sect2/para -#: book.translate.xml:9280 +#: book.translate.xml:9295 msgid "To bootstrap the system, run:" msgstr "要啟動(Bootstrap)系統請執行:" #. (itstool) path: sect2/screen -#: book.translate.xml:9282 +#: book.translate.xml:9297 #, no-wrap msgid "<prompt>#</prompt> <userinput>/usr/sbin/pkg</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:9284 +#: book.translate.xml:9299 msgid "" "For earlier FreeBSD versions, <application>pkg</application> must instead be " "installed from the Ports Collection or as a binary package." @@ -14148,12 +14168,12 @@ msgstr "" "或者 Binary 套件來安裝。" #. (itstool) path: sect2/para -#: book.translate.xml:9288 +#: book.translate.xml:9303 msgid "To install the port, run:" msgstr "要安裝 Port 套件,請執行:" #. (itstool) path: sect2/screen -#: book.translate.xml:9290 +#: book.translate.xml:9305 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/ports-mgmt/pkg</userinput>\n" @@ -14162,7 +14182,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:9294 +#: book.translate.xml:9309 msgid "" "When upgrading an existing system that originally used the older package " "system, the database must be converted to the new format, so that the new " @@ -14175,20 +14195,20 @@ msgstr "" "必須執行以下指令將套件資料庫從舊版格式轉換到新版格式:" #. (itstool) path: sect2/screen -#: book.translate.xml:9302 +#: book.translate.xml:9317 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg2ng</userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:9304 +#: book.translate.xml:9319 msgid "" "This step is not required for new installations that do not yet have any " "third-party software installed." msgstr "新安裝的版本因尚未安裝任何第三方軟體因此不須做這個步驟。" #. (itstool) path: important/para -#: book.translate.xml:9309 +#: book.translate.xml:9324 msgid "" "This step is not reversible. Once the package database has been converted to " "the <application>pkg</application> format, the traditional <literal>pkg_*</" @@ -14198,7 +14218,7 @@ msgstr "" "式,舊版 <literal>pkg_*</literal> 工具就不該再繼續使用。" #. (itstool) path: note/para -#: book.translate.xml:9316 +#: book.translate.xml:9331 msgid "" "The package database conversion may emit errors as the contents are " "converted to the new version. Generally, these errors can be safely ignored. " @@ -14211,7 +14231,7 @@ msgstr "" "軟體清單,這些應用程式則必須手動重新安裝。" #. (itstool) path: sect2/para -#: book.translate.xml:9324 +#: book.translate.xml:9339 msgid "" "To ensure that the FreeBSD Ports Collection registers new software with " "<application>pkg</application>, and not the traditional packages format, " @@ -14223,13 +14243,13 @@ msgstr "" "之前需要在 <filename>/etc/make.conf</filename> 加入此行:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:9330 +#: book.translate.xml:9345 #, no-wrap msgid "WITH_PKGNG=\tyes" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:9332 +#: book.translate.xml:9347 msgid "" "By default <application>pkg</application> uses the FreeBSD package mirrors. " "For information about building a custom package repository, see <xref " @@ -14240,7 +14260,7 @@ msgstr "" "<xref linkend=\"ports-poudriere\"/>" #. (itstool) path: sect2/para -#: book.translate.xml:9336 +#: book.translate.xml:9351 msgid "" "Additional <application>pkg</application> configuration options are " "described in <citerefentry><refentrytitle>pkg.conf</" @@ -14251,7 +14271,7 @@ msgstr "" "manvolnum></citerefentry>。" #. (itstool) path: sect2/para -#: book.translate.xml:9339 +#: book.translate.xml:9354 msgid "" "Usage information for <application>pkg</application> is available in the " "<citerefentry><refentrytitle>pkg</refentrytitle><manvolnum>8</manvolnum></" @@ -14263,7 +14283,7 @@ msgstr "" "citerefentry> 操作手冊或不加任何參數執行 <command>pkg</command> 來取得。" #. (itstool) path: sect2/para -#: book.translate.xml:9343 +#: book.translate.xml:9358 msgid "" "Each <application>pkg</application> command argument is documented in a " "command-specific manual page. To read the manual page for <command>pkg " @@ -14273,19 +14293,19 @@ msgstr "" "<command>pkg install</command> 的操作手冊,可執行以下指令:" #. (itstool) path: sect2/screen -#: book.translate.xml:9348 +#: book.translate.xml:9363 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg help install</userinput>" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:9350 +#: book.translate.xml:9365 #, no-wrap msgid "<prompt>#</prompt> <userinput>man pkg-install</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:9352 +#: book.translate.xml:9367 msgid "" "The rest of this section demonstrates common binary package management tasks " "which can be performed using <application>pkg</application>. Each " @@ -14297,12 +14317,12 @@ msgstr "" "操作手冊以取得詳細資訊或更多範例。" #. (itstool) path: sect2/title -#: book.translate.xml:9361 +#: book.translate.xml:9376 msgid "Obtaining Information About Installed Packages" msgstr "取得有關已安裝套件的資訊" #. (itstool) path: sect2/para -#: book.translate.xml:9363 +#: book.translate.xml:9378 msgid "" "Information about the packages installed on a system can be viewed by " "running <command>pkg info</command> which, when run without any switches, " @@ -14313,14 +14333,14 @@ msgstr "" "行時未指定任何參數,將會列出所有已安裝或指定的套件版本。" #. (itstool) path: sect2/para -#: book.translate.xml:9369 +#: book.translate.xml:9384 msgid "" "For example, to see which version of <application>pkg</application> is " "installed, run:" msgstr "例如,要查看已安裝的 <application>pkg</application> 版本可執行:" #. (itstool) path: sect2/screen -#: book.translate.xml:9372 +#: book.translate.xml:9387 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>pkg info pkg</userinput>\n" @@ -14328,12 +14348,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:9377 +#: book.translate.xml:9392 msgid "Installing and Removing Packages" msgstr "安裝與移除套件" #. (itstool) path: sect2/para -#: book.translate.xml:9379 +#: book.translate.xml:9394 msgid "" "To install a binary package use the following command, where " "<replaceable>packagename</replaceable> is the name of the package to install:" @@ -14342,13 +14362,13 @@ msgstr "" "replaceable> 為要安裝的套件名稱:" #. (itstool) path: sect2/screen -#: book.translate.xml:9383 +#: book.translate.xml:9398 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install <replaceable>packagename</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:9385 +#: book.translate.xml:9400 msgid "" "This command uses repository data to determine which version of the software " "to install and if it has any uninstalled dependencies. For example, to " @@ -14358,7 +14378,7 @@ msgstr "" "例如,要安裝 <application>curl</application>:" #. (itstool) path: sect2/screen -#: book.translate.xml:9390 +#: book.translate.xml:9405 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>pkg install curl</userinput>\n" @@ -14385,14 +14405,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:9412 +#: book.translate.xml:9427 msgid "" "The new package and any additional packages that were installed as " "dependencies can be seen in the installed packages list:" msgstr "新的套件以及任何做為相依安裝的額外套件可在已安裝的套件清單中看到:" #. (itstool) path: sect2/screen -#: book.translate.xml:9416 +#: book.translate.xml:9431 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>pkg info</userinput>\n" @@ -14402,14 +14422,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:9421 +#: book.translate.xml:9436 msgid "" "Packages that are no longer needed can be removed with <command>pkg delete</" "command>. For example:" msgstr "不再需要的套件可以使用 <command>pkg delete</command> 來移除,例如:" #. (itstool) path: sect2/screen -#: book.translate.xml:9424 +#: book.translate.xml:9439 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>pkg delete curl</userinput>\n" @@ -14424,23 +14444,23 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:9436 +#: book.translate.xml:9451 msgid "Upgrading Installed Packages" msgstr "升級已安裝套件" #. (itstool) path: sect2/para -#: book.translate.xml:9438 +#: book.translate.xml:9453 msgid "Installed packages can be upgraded to their latest versions by running:" msgstr "執行以下指令,可將已安裝的套件升級到最新版本:" #. (itstool) path: sect2/screen -#: book.translate.xml:9441 +#: book.translate.xml:9456 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg upgrade</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:9443 +#: book.translate.xml:9458 msgid "" "This command will compare the installed versions with those available in the " "repository catalogue and upgrade them from the repository." @@ -14448,12 +14468,12 @@ msgstr "" "這個指令將會比對已安裝的版本與在檔案庫分類中的版本,並從檔案庫升級這些套件。" #. (itstool) path: sect2/title -#: book.translate.xml:9449 +#: book.translate.xml:9464 msgid "Auditing Installed Packages" msgstr "稽查已安裝套件" #. (itstool) path: sect2/para -#: book.translate.xml:9451 +#: book.translate.xml:9466 msgid "" "Occasionally, software vulnerabilities may be discovered in third-party " "applications. To address this, <application>pkg</application> includes a " @@ -14466,18 +14486,18 @@ msgstr "" #. (itstool) path: sect2/screen #. (itstool) path: sect1/screen -#: book.translate.xml:9458 book.translate.xml:26682 +#: book.translate.xml:9473 book.translate.xml:26736 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg audit -F</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:9462 +#: book.translate.xml:9477 msgid "Automatically Removing Leaf Dependencies" msgstr "自動移除不使用的相依" #. (itstool) path: sect2/para -#: book.translate.xml:9464 +#: book.translate.xml:9479 msgid "" "Removing a package may leave behind dependencies which are no longer " "required. Unneeded packages that were installed as dependencies can be " @@ -14487,7 +14507,7 @@ msgstr "" "指令自動偵測並移除:" #. (itstool) path: sect2/screen -#: book.translate.xml:9469 +#: book.translate.xml:9484 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>pkg autoremove</userinput>\n" @@ -14501,12 +14521,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:9480 +#: book.translate.xml:9495 msgid "Restoring the Package Database" msgstr "還原套件資料庫" #. (itstool) path: sect2/para -#: book.translate.xml:9482 +#: book.translate.xml:9497 msgid "" "Unlike the traditional package management system, <application>pkg</" "application> includes its own package database backup mechanism. This " @@ -14516,7 +14536,7 @@ msgstr "" "機制,此功能預設是開啟的。" #. (itstool) path: tip/para -#: book.translate.xml:9488 +#: book.translate.xml:9503 msgid "" "To disable the periodic script from backing up the package database, set " "<literal>daily_backup_pkgdb_enable=\"NO\"</literal> in " @@ -14528,7 +14548,7 @@ msgstr "" "<literal>daily_backup_pkgdb_enable=\"NO\"</literal>。" #. (itstool) path: sect2/para -#: book.translate.xml:9494 +#: book.translate.xml:9509 msgid "" "To restore the contents of a previous package database backup, run the " "following command replacing <replaceable>/path/to/pkg.sql</replaceable> with " @@ -14538,20 +14558,20 @@ msgstr "" "sql</replaceable> 替換為備份的位置:" #. (itstool) path: sect2/screen -#: book.translate.xml:9499 +#: book.translate.xml:9514 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg backup -r <replaceable>/path/to/pkg.sql</replaceable></userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:9502 +#: book.translate.xml:9517 msgid "" "If restoring a backup taken by the periodic script, it must be decompressed " "prior to being restored." msgstr "若要還原有週期 Script 所產生的備份必須在還原前先解壓縮。" #. (itstool) path: sect2/para -#: book.translate.xml:9506 +#: book.translate.xml:9521 msgid "" "To run a manual backup of the <application>pkg</application> database, run " "the following command, replacing <replaceable>/path/to/pkg.sql</replaceable> " @@ -14561,18 +14581,18 @@ msgstr "" "<replaceable>/path/to/pkg.sql</replaceable> 為適當的檔案名稱與位置:" #. (itstool) path: sect2/screen -#: book.translate.xml:9511 +#: book.translate.xml:9526 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg backup -d <replaceable>/path/to/pkg.sql</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:9515 +#: book.translate.xml:9530 msgid "Removing Stale Packages" msgstr "移除過時的套件" #. (itstool) path: sect2/para -#: book.translate.xml:9517 +#: book.translate.xml:9532 msgid "" "By default, <application>pkg</application> stores binary packages in a cache " "directory defined by <envar>PKG_CACHEDIR</envar> in " @@ -14588,29 +14608,29 @@ msgstr "" "要移除這些過時的 Binary 套件,可執行:" #. (itstool) path: sect2/screen -#: book.translate.xml:9524 +#: book.translate.xml:9539 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg clean</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:9526 +#: book.translate.xml:9541 msgid "The entire cache may be cleared by running:" msgstr "使用以下指令可清空全部的快取:" #. (itstool) path: sect2/screen -#: book.translate.xml:9528 +#: book.translate.xml:9543 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg clean -a</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:9532 +#: book.translate.xml:9547 msgid "Modifying Package Metadata" msgstr "修改套件 Metadata" #. (itstool) path: sect2/para -#: book.translate.xml:9534 +#: book.translate.xml:9549 msgid "" "Software within the FreeBSD Ports Collection can undergo major version " "number changes. To address this, <application>pkg</application> has a built-" @@ -14625,18 +14645,18 @@ msgstr "" "<package>lang/php5</package> 從此之後代表版本 <literal>5.4</literal>。" #. (itstool) path: sect2/para -#: book.translate.xml:9543 +#: book.translate.xml:9558 msgid "To change the package origin for the above example, run:" msgstr "要更改上述例子中的套件來源,可執行:" #. (itstool) path: sect2/screen -#: book.translate.xml:9546 +#: book.translate.xml:9561 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg set -o lang/php5:lang/php53</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:9548 +#: book.translate.xml:9563 msgid "" "As another example, to update <package>lang/ruby18</package> to " "<package>lang/ruby19</package>, run:" @@ -14645,13 +14665,13 @@ msgstr "" "package>,可執行:" #. (itstool) path: sect2/screen -#: book.translate.xml:9552 +#: book.translate.xml:9567 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg set -o lang/ruby18:lang/ruby19</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:9554 +#: book.translate.xml:9569 msgid "" "As a final example, to change the origin of the <filename>libglut</filename> " "shared libraries from <package>graphics/libglut</package> to " @@ -14662,13 +14682,13 @@ msgstr "" "package> 可執行:" #. (itstool) path: sect2/screen -#: book.translate.xml:9559 +#: book.translate.xml:9574 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg set -o graphics/libglut:graphics/freeglut</userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:9562 +#: book.translate.xml:9577 msgid "" "When changing package origins, it is important to reinstall packages that " "are dependent on the package with the modified origin. To force a " @@ -14678,18 +14698,18 @@ msgstr "" "修改後的來源。要強制重新安裝相依套件,可執行:" #. (itstool) path: note/screen -#: book.translate.xml:9567 +#: book.translate.xml:9582 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install -Rf <replaceable>graphics/freeglut</replaceable></userinput>" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:9573 +#: book.translate.xml:9588 msgid "Using the Ports Collection" msgstr "使用 Port 套件集" #. (itstool) path: sect1/para -#: book.translate.xml:9575 +#: book.translate.xml:9590 msgid "" "The Ports Collection is a set of <filename>Makefiles</filename>, patches, " "and description files stored in <filename>/usr/ports</filename>. This set of " @@ -14704,12 +14724,12 @@ msgstr "" "未在安裝 FreeBSD 的過程式中安裝,可使用下列其中一種方法來安裝:" #. (itstool) path: procedure/title -#: book.translate.xml:9585 +#: book.translate.xml:9600 msgid "Portsnap Method" msgstr "Portsnap 方法" #. (itstool) path: procedure/para -#: book.translate.xml:9587 +#: book.translate.xml:9602 msgid "" "The base system of FreeBSD includes <application>Portsnap</application>. " "This is a fast and user-friendly tool for retrieving the Ports Collection " @@ -14723,7 +14743,7 @@ msgstr "" "有已下載檔案的完整性。" #. (itstool) path: step/para -#: book.translate.xml:9596 +#: book.translate.xml:9611 msgid "" "To download a compressed snapshot of the Ports Collection into <filename>/" "var/db/portsnap</filename>:" @@ -14732,13 +14752,13 @@ msgstr "" "filename>:" #. (itstool) path: step/screen -#: book.translate.xml:9600 +#: book.translate.xml:9615 #, no-wrap msgid "<prompt>#</prompt> <userinput>portsnap fetch</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:9604 +#: book.translate.xml:9619 msgid "" "When running <application>Portsnap</application> for the first time, extract " "the snapshot into <filename>/usr/ports</filename>:" @@ -14747,13 +14767,13 @@ msgstr "" "<filename>/usr/ports</filename>:" #. (itstool) path: step/screen -#: book.translate.xml:9608 +#: book.translate.xml:9623 #, no-wrap msgid "<prompt>#</prompt> <userinput>portsnap extract</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:9612 +#: book.translate.xml:9627 msgid "" "After the first use of <application>Portsnap</application> has been " "completed as shown above, <filename>/usr/ports</filename> can be updated as " @@ -14763,7 +14783,7 @@ msgstr "" "需要執行以下指令來更新 <filename>/usr/ports</filename> :" #. (itstool) path: step/screen -#: book.translate.xml:9617 +#: book.translate.xml:9632 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>portsnap fetch</userinput>\n" @@ -14771,7 +14791,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:9620 +#: book.translate.xml:9635 msgid "" "When using <literal>fetch</literal>, the <literal>extract</literal> or the " "<literal>update</literal> operation may be run consecutively, like so:" @@ -14780,18 +14800,18 @@ msgstr "" "<literal>update</literal> 如:" #. (itstool) path: step/screen -#: book.translate.xml:9624 +#: book.translate.xml:9639 #, no-wrap msgid "<prompt>#</prompt> <userinput>portsnap fetch update</userinput>" msgstr "" #. (itstool) path: procedure/title -#: book.translate.xml:9629 +#: book.translate.xml:9644 msgid "Subversion Method" msgstr "Subversion 方法" #. (itstool) path: procedure/para -#: book.translate.xml:9631 +#: book.translate.xml:9646 msgid "" "If more control over the ports tree is needed or if local changes need to be " "maintained, <application>Subversion</application> can be used to obtain the " @@ -14807,7 +14827,7 @@ msgstr "" "<application>Subversion</application> 的詳細說明。" #. (itstool) path: step/para -#: book.translate.xml:9639 +#: book.translate.xml:9654 msgid "" "<application>Subversion</application> must be installed before it can be " "used to check out the ports tree. If a copy of the ports tree is already " @@ -14819,7 +14839,7 @@ msgstr "" #. (itstool) path: step/screen #. (itstool) path: sect2/screen -#: book.translate.xml:9644 book.translate.xml:65535 +#: book.translate.xml:9659 book.translate.xml:65535 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/devel/subversion</userinput>\n" @@ -14827,7 +14847,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:9647 +#: book.translate.xml:9662 msgid "" "If the ports tree is not available, or <application>pkg</application> is " "being used to manage packages, <application>Subversion</application> can be " @@ -14838,25 +14858,25 @@ msgstr "" #. (itstool) path: step/screen #. (itstool) path: sect2/screen -#: book.translate.xml:9652 book.translate.xml:65535 +#: book.translate.xml:9667 book.translate.xml:65535 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install subversion</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:9657 +#: book.translate.xml:9672 msgid "Check out a copy of the ports tree:" msgstr "取出 Port 樹的複本:" #. (itstool) path: step/screen #. (itstool) path: sect2/screen -#: book.translate.xml:9659 book.translate.xml:65535 +#: book.translate.xml:9674 book.translate.xml:65535 #, no-wrap msgid "<prompt>#</prompt> <userinput>svn checkout https://svn.FreeBSD.org/ports/head /usr/ports</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:9663 +#: book.translate.xml:9678 msgid "" "As needed, update <filename>/usr/ports</filename> after the initial " "<application>Subversion</application> checkout:" @@ -14866,13 +14886,13 @@ msgstr "" #. (itstool) path: step/screen #. (itstool) path: sect2/screen -#: book.translate.xml:9667 book.translate.xml:65535 +#: book.translate.xml:9682 book.translate.xml:65535 #, no-wrap msgid "<prompt>#</prompt> <userinput>svn update /usr/ports</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:9671 +#: book.translate.xml:9686 msgid "" "The Ports Collection installs a series of directories representing software " "categories with each category having a subdirectory for each application. " @@ -14885,52 +14905,52 @@ msgstr "" "裝該程式,每個 Port Skeleton 會含有以下檔案及目錄:" #. (itstool) path: listitem/para -#: book.translate.xml:9680 +#: book.translate.xml:9695 msgid "" "<filename>Makefile</filename>: contains statements that specify how the " "application should be compiled and where its components should be installed." msgstr "" -"<filename>Makefile</filename>: 內含用來說明應用程式要如何編譯、要安裝該程式到" +"<filename>Makefile</filename>:內含用來說明應用程式要如何編譯、要安裝該程式到" "那的敘述句。" #. (itstool) path: listitem/para -#: book.translate.xml:9686 +#: book.translate.xml:9701 msgid "" "<filename>distinfo</filename>: contains the names and checksums of the files " "that must be downloaded to build the port." msgstr "" -"<filename>distinfo</filename>: 內含編譯 Port 必須下載的檔案名稱以及校驗碼 " -"(Checksums)。" +"<filename>distinfo</filename>:內含編譯 Port 必須下載的檔案名稱以及校驗碼 " +"(Checksum)。" #. (itstool) path: listitem/para -#: book.translate.xml:9692 +#: book.translate.xml:9707 msgid "" "<filename>files/</filename>: this directory contains any patches needed for " "the program to compile and install on FreeBSD. This directory may also " "contain other files used to build the port." msgstr "" -"<filename>files/</filename>: 此目錄含有編譯與安裝程式到 FreeBSD 時所需的修補" +"<filename>files/</filename>:此目錄含有編譯與安裝程式到 FreeBSD 時所需的修補" "檔。此目錄也可能含有其他用來編譯 Port 的檔案。" #. (itstool) path: listitem/para -#: book.translate.xml:9699 +#: book.translate.xml:9714 msgid "" "<filename>pkg-descr</filename>: provides a more detailed description of the " "program." -msgstr "<filename>pkg-descr</filename>: 提供程式更詳細的說明。" +msgstr "<filename>pkg-descr</filename>:提供程式更詳細的說明。" #. (itstool) path: listitem/para -#: book.translate.xml:9704 +#: book.translate.xml:9719 msgid "" "<filename>pkg-plist</filename>: a list of all the files that will be " "installed by the port. It also tells the ports system which files to remove " "upon deinstallation." msgstr "" -"<filename>pkg-plist</filename>: Port 安裝的所有檔案清單,也同時會告訴 Port 系" +"<filename>pkg-plist</filename>:Port 安裝的所有檔案清單,也同時會告訴 Port 系" "統解除安裝時要移除那一些檔案。" #. (itstool) path: sect1/para -#: book.translate.xml:9711 +#: book.translate.xml:9726 msgid "" "Some ports include <filename>pkg-message</filename> or other files to handle " "special situations. For more details on these files, and on ports in " @@ -14944,7 +14964,7 @@ msgstr "" "\">FreeBSD Porter's Handbook</link>。" #. (itstool) path: sect1/para -#: book.translate.xml:9716 +#: book.translate.xml:9731 msgid "" "The port does not include the actual source code, also known as a " "<filename>distfile</filename>. The extract portion of building a port will " @@ -14955,17 +14975,17 @@ msgstr "" "壓縮時會自動下載的原始碼到 <filename>/usr/ports/distfiles</filename>。" #. (itstool) path: sect2/title -#: book.translate.xml:9722 +#: book.translate.xml:9737 msgid "Installing Ports" msgstr "安裝 Port" #. (itstool) path: sect2/indexterm -#: book.translate.xml:9724 +#: book.translate.xml:9739 msgid "<primary>ports</primary> <secondary>installing</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:9729 +#: book.translate.xml:9744 msgid "" "This section provides basic instructions on using the Ports Collection to " "install or remove software. The detailed description of available " @@ -14979,7 +14999,7 @@ msgstr "" "citerefentry>。" #. (itstool) path: warning/para -#: book.translate.xml:9735 +#: book.translate.xml:9750 msgid "" "Before compiling any port, be sure to update the Ports Collection as " "described in the previous section. Since the installation of any third-party " @@ -15003,7 +15023,7 @@ msgstr "" "refentrytitle><manvolnum>8</manvolnum></citerefentry>。" #. (itstool) path: sect2/para -#: book.translate.xml:9749 +#: book.translate.xml:9764 msgid "" "Using the Ports Collection assumes a working Internet connection. It also " "requires superuser privilege." @@ -15011,7 +15031,7 @@ msgstr "" "使用 Port 套件集會假設您擁有可正常連線的網路,同時也會需要超級使用者的權限。" #. (itstool) path: sect2/para -#: book.translate.xml:9752 +#: book.translate.xml:9767 msgid "" "To compile and install the port, change to the directory of the port to be " "installed, then type <command>make install</command> at the prompt. Messages " @@ -15021,7 +15041,7 @@ msgstr "" "install</command>,訊息中會顯示安裝的進度:" #. (itstool) path: sect2/screen -#: book.translate.xml:9757 +#: book.translate.xml:9772 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/sysutils/lsof</userinput>\n" @@ -15059,7 +15079,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:9790 +#: book.translate.xml:9805 msgid "" "Since <command>lsof</command> is a program that runs with increased " "privileges, a security warning is displayed as it is installed. Once the " @@ -15069,7 +15089,7 @@ msgstr "" "成時會顯示安全性警告。一旦安裝完成便會顯示指令提示。" #. (itstool) path: sect2/para -#: book.translate.xml:9795 +#: book.translate.xml:9810 msgid "" "Some shells keep a cache of the commands that are available in the " "directories listed in the <envar>PATH</envar> environment variable, to speed " @@ -15086,7 +15106,7 @@ msgstr "" "的說明文件以取得更多資訊。" #. (itstool) path: sect2/para -#: book.translate.xml:9806 +#: book.translate.xml:9821 msgid "" "During installation, a working subdirectory is created which contains all " "the temporary files used during compilation. Removing this directory saves " @@ -15097,7 +15117,7 @@ msgstr "" "碟空間並漸少往後升級新版 Port 時造成問題:" #. (itstool) path: sect2/screen -#: book.translate.xml:9812 +#: book.translate.xml:9827 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>make clean</userinput>\n" @@ -15106,7 +15126,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:9817 +#: book.translate.xml:9832 msgid "" "To save this extra step, instead use <command>make install clean</command> " "when compiling the port." @@ -15115,12 +15135,12 @@ msgstr "" "command>。" #. (itstool) path: sect3/title -#: book.translate.xml:9822 +#: book.translate.xml:9837 msgid "Customizing Ports Installation" msgstr "自訂 Port 安裝" #. (itstool) path: sect3/para -#: book.translate.xml:9824 +#: book.translate.xml:9839 msgid "" "Some ports provide build options which can be used to enable or disable " "application components, provide security options, or allow for other " @@ -15143,17 +15163,17 @@ msgstr "" "Port。" #. (itstool) path: para/buildtarget -#: book.translate.xml:9841 +#: book.translate.xml:9856 msgid "config-recursive" msgstr "" #. (itstool) path: para/buildtarget -#: book.translate.xml:9843 +#: book.translate.xml:9858 msgid "all-depends-list" msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:9840 +#: book.translate.xml:9855 msgid "" "When using <_:buildtarget-1/>, the list of ports to configure are gathered " "by the <_:buildtarget-2/> target. It is recommended to run <command>make " @@ -15167,7 +15187,7 @@ msgstr "" "已經設定。" #. (itstool) path: sect3/para -#: book.translate.xml:9851 +#: book.translate.xml:9866 msgid "" "There are several ways to revisit a port's build options menu in order to " "add, remove, or change these options after a port has been built. One method " @@ -15188,7 +15208,7 @@ msgstr "" "citerefentry> 中都有詳細的說明。" #. (itstool) path: sect3/para -#: book.translate.xml:9863 +#: book.translate.xml:9878 msgid "" "The ports system uses <citerefentry><refentrytitle>fetch</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> to download the source " @@ -15208,7 +15228,7 @@ msgstr "" "單。" #. (itstool) path: sect3/para -#: book.translate.xml:9871 +#: book.translate.xml:9886 msgid "" "For users who cannot be connected to the Internet all the time, " "<command>make fetch</command> can be run within <filename>/usr/ports</" @@ -15227,7 +15247,7 @@ msgstr "" "<command>make fetch-recursive</command> 來下載所有相依 Port 的 distfiles。" #. (itstool) path: sect3/para -#: book.translate.xml:9883 +#: book.translate.xml:9898 msgid "" "In rare cases, such as when an organization has a local distfiles " "repository, the <varname>MASTER_SITES</varname> variable can be used to " @@ -15239,7 +15259,7 @@ msgstr "" "指定的下載位址。當要指定替代的位址時可:" #. (itstool) path: sect3/screen -#: book.translate.xml:9889 +#: book.translate.xml:9904 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput>\n" @@ -15248,7 +15268,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:9893 +#: book.translate.xml:9908 msgid "" "The <varname>WRKDIRPREFIX</varname> and <varname>PREFIX</varname> variables " "can override the default working and target directories. For example:" @@ -15257,13 +15277,13 @@ msgstr "" "覆蓋預設的工作及目標目錄。例如:" #. (itstool) path: sect3/screen -#: book.translate.xml:9897 +#: book.translate.xml:9912 #, no-wrap msgid "<prompt>#</prompt> <userinput>make WRKDIRPREFIX=/usr/home/example/ports install</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:9899 +#: book.translate.xml:9914 msgid "" "will compile the port in <filename>/usr/home/example/ports</filename> and " "install everything under <filename>/usr/local</filename>." @@ -15272,13 +15292,13 @@ msgstr "" "到 <filename>/usr/local</filename> 下。" #. (itstool) path: sect3/screen -#: book.translate.xml:9903 +#: book.translate.xml:9918 #, no-wrap msgid "<prompt>#</prompt> <userinput>make PREFIX=/usr/home/example/local install</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:9905 +#: book.translate.xml:9920 msgid "" "will compile the port in <filename>/usr/ports</filename> and install it in " "<filename>/usr/home/example/local</filename>. And:" @@ -15287,18 +15307,18 @@ msgstr "" "example/local</filename>。然後:" #. (itstool) path: sect3/screen -#: book.translate.xml:9909 +#: book.translate.xml:9924 #, no-wrap msgid "<prompt>#</prompt> <userinput>make WRKDIRPREFIX=../ports PREFIX=../local install</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:9911 +#: book.translate.xml:9926 msgid "will combine the two." msgstr "來同時設定工作及目標目錄。" #. (itstool) path: sect3/para -#: book.translate.xml:9913 +#: book.translate.xml:9928 msgid "" "These can also be set as environmental variables. Refer to the manual page " "for your shell for instructions on how to set an environmental variable." @@ -15307,17 +15327,17 @@ msgstr "" "變數的說明。" #. (itstool) path: sect2/title -#: book.translate.xml:9920 +#: book.translate.xml:9935 msgid "Removing Installed Ports" msgstr "移除已安裝的 Port" #. (itstool) path: sect2/indexterm -#: book.translate.xml:9922 +#: book.translate.xml:9937 msgid "<primary>ports</primary> <secondary>removing</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:9927 +#: book.translate.xml:9942 msgid "" "Installed ports can be uninstalled using <command>pkg delete</command>. " "Examples for using this command can be found in the " @@ -15329,14 +15349,14 @@ msgstr "" "refentrytitle><manvolnum>8</manvolnum></citerefentry> 操作手冊找到。" #. (itstool) path: sect2/para -#: book.translate.xml:9931 +#: book.translate.xml:9946 msgid "" "Alternately, <command>make deinstall</command> can be run in the port's " "directory:" msgstr "或者,可在 Port 的目錄下執行 <command>make deinstall</command>:" #. (itstool) path: sect2/screen -#: book.translate.xml:9934 +#: book.translate.xml:9949 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/sysutils/lsof</userinput>\n" @@ -15352,7 +15372,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:9945 +#: book.translate.xml:9960 msgid "" "It is recommended to read the messages as the port is uninstalled. If the " "port has any applications that depend upon it, this information will be " @@ -15364,17 +15384,17 @@ msgstr "" "壞相依性。" #. (itstool) path: sect2/title -#: book.translate.xml:9954 +#: book.translate.xml:9969 msgid "Upgrading Ports" msgstr "升級 Port" #. (itstool) path: sect2/indexterm -#: book.translate.xml:9956 +#: book.translate.xml:9971 msgid "<primary>ports</primary> <secondary>upgrading</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:9961 +#: book.translate.xml:9976 msgid "" "Over time, newer versions of software become available in the Ports " "Collection. This section describes how to determine which software can be " @@ -15384,7 +15404,7 @@ msgstr "" "級的軟體及如何升級。" #. (itstool) path: sect2/para -#: book.translate.xml:9966 +#: book.translate.xml:9981 msgid "" "To determine if newer versions of installed ports are available, ensure that " "the latest version of the ports tree is installed, using the updating " @@ -15401,13 +15421,13 @@ msgstr "" "安裝的 Port 中有那些已過時:" #. (itstool) path: sect2/screen -#: book.translate.xml:9975 +#: book.translate.xml:9990 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg version -l \"<\"</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:9977 +#: book.translate.xml:9992 msgid "" "For FreeBSD 9.<replaceable>X</replaceable> and lower, the following command " "will list the installed ports that are out of date:" @@ -15416,13 +15436,13 @@ msgstr "" "已經安裝的 Port 中有那些已過時:" #. (itstool) path: sect2/screen -#: book.translate.xml:9981 +#: book.translate.xml:9996 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg_version -l \"<\"</userinput>" msgstr "" #. (itstool) path: important/para -#: book.translate.xml:9984 +#: book.translate.xml:9999 msgid "" "Before attempting an upgrade, read <filename>/usr/ports/UPDATING</filename> " "from the top of the file to the date closest to the last time ports were " @@ -15440,7 +15460,7 @@ msgstr "" "升級。" #. (itstool) path: sect2/para -#: book.translate.xml:9998 +#: book.translate.xml:10013 msgid "" "To perform the actual upgrade, use either <application>Portmaster</" "application> or <application>Portupgrade</application>." @@ -15449,17 +15469,17 @@ msgstr "" "<application>Portupgrade</application>。" #. (itstool) path: sect3/title -#: book.translate.xml:10003 +#: book.translate.xml:10018 msgid "Upgrading Ports Using <application>Portmaster</application>" msgstr "使用 <application>Portmaster</application> 升級 Port" #. (itstool) path: sect3/indexterm -#: book.translate.xml:10006 +#: book.translate.xml:10021 msgid "<primary>portmaster</primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:10010 +#: book.translate.xml:10025 msgid "" "<package>ports-mgmt/portmaster</package> is a very small utility for " "upgrading installed ports. It is designed to use the tools installed with " @@ -15471,7 +15491,7 @@ msgstr "" "可:" #. (itstool) path: sect3/screen -#: book.translate.xml:10017 +#: book.translate.xml:10032 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/ports-mgmt/portmaster</userinput>\n" @@ -15479,38 +15499,38 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:10020 +#: book.translate.xml:10035 msgid "<application>Portmaster</application> defines four categories of ports:" msgstr "<application>Portmaster</application> 將 Port 定義成四種類型:" #. (itstool) path: listitem/para -#: book.translate.xml:10025 +#: book.translate.xml:10040 msgid "" "Root port: has no dependencies and is not a dependency of any other ports." msgstr "根 Port:沒有相依且也不被任何其他 Port 相依。" #. (itstool) path: listitem/para -#: book.translate.xml:10030 +#: book.translate.xml:10045 msgid "Trunk port: has no dependencies, but other ports depend upon it." msgstr "主幹 Port:沒有相依,但被其他 Port 相依。" #. (itstool) path: listitem/para -#: book.translate.xml:10035 +#: book.translate.xml:10050 msgid "Branch port: has dependencies and other ports depend upon it." msgstr "分支 Port:有相依,且其被其他 Port 相依。" #. (itstool) path: listitem/para -#: book.translate.xml:10040 +#: book.translate.xml:10055 msgid "Leaf port: has dependencies but no other ports depend upon it." msgstr "枝 Port:有相依,但沒有被其他 Port 相依。" #. (itstool) path: sect3/para -#: book.translate.xml:10045 +#: book.translate.xml:10060 msgid "To list these categories and search for updates:" msgstr "要列出這幾個分類並搜尋是否有新版:" #. (itstool) path: sect3/screen -#: book.translate.xml:10047 +#: book.translate.xml:10062 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>portmaster -L</userinput>\n" @@ -15537,18 +15557,18 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:10069 +#: book.translate.xml:10084 msgid "This command is used to upgrade all outdated ports:" msgstr "此指令用來升級所有過時的 Port:" #. (itstool) path: sect3/screen -#: book.translate.xml:10072 +#: book.translate.xml:10087 #, no-wrap msgid "<prompt>#</prompt> <userinput>portmaster -a</userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:10075 +#: book.translate.xml:10090 msgid "" "By default, <application>Portmaster</application> makes a backup package " "before deleting the existing port. If the installation of the new version is " @@ -15571,7 +15591,7 @@ msgstr "" "用法。" #. (itstool) path: sect3/para -#: book.translate.xml:10089 +#: book.translate.xml:10104 msgid "" "If errors are encountered during the upgrade process, add <option>-f</" "option> to upgrade and rebuild all ports:" @@ -15579,13 +15599,13 @@ msgstr "" "若升級的過程發生錯誤,可加入 <option>-f</option> 來升級並重新編譯所有 Port:" #. (itstool) path: sect3/screen -#: book.translate.xml:10093 book.translate.xml:44406 +#: book.translate.xml:10108 book.translate.xml:44460 #, no-wrap msgid "<prompt>#</prompt> <userinput>portmaster -af</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:10095 +#: book.translate.xml:10110 msgid "" "<application>Portmaster</application> can also be used to install new ports " "on the system, upgrading all dependencies before building and installing the " @@ -15597,23 +15617,23 @@ msgstr "" "中的位置:" #. (itstool) path: sect3/screen -#: book.translate.xml:10101 +#: book.translate.xml:10116 #, no-wrap msgid "<prompt>#</prompt> <userinput>portmaster <replaceable>shells/bash</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:10105 +#: book.translate.xml:10120 msgid "Upgrading Ports Using Portupgrade" msgstr "使用 Portupgrade 升級 Port" #. (itstool) path: sect3/indexterm -#: book.translate.xml:10107 +#: book.translate.xml:10122 msgid "<primary>portupgrade</primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:10111 +#: book.translate.xml:10126 msgid "" "Another utility that can be used to upgrade ports is " "<application>Portupgrade</application>, which is available as the " @@ -15626,7 +15646,7 @@ msgstr "" "套可以用來管理 Port 的應用程式,但是它需要相依 Ruby。要安裝該 Port:" #. (itstool) path: sect3/screen -#: book.translate.xml:10118 +#: book.translate.xml:10133 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/ports-mgmt/portupgrade</userinput>\n" @@ -15634,7 +15654,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:10121 +#: book.translate.xml:10136 msgid "" "Before performing an upgrade using this utility, it is recommended to scan " "the list of installed ports using <command>pkgdb -F</command> and to fix all " @@ -15644,7 +15664,7 @@ msgstr "" "Port 並修正該指令回報的所有資訊不一致的套件。" #. (itstool) path: sect3/para -#: book.translate.xml:10126 +#: book.translate.xml:10141 msgid "" "To upgrade all the outdated ports installed on the system, use " "<command>portupgrade -a</command>. Alternately, include <option>-i</option> " @@ -15654,13 +15674,13 @@ msgstr "" "或者加上 <option>-i</option> 會在每個套件升級時詢問確認:" #. (itstool) path: sect3/screen -#: book.translate.xml:10131 +#: book.translate.xml:10146 #, no-wrap msgid "<prompt>#</prompt> <userinput>portupgrade -ai</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:10133 +#: book.translate.xml:10148 msgid "" "To upgrade only a specified application instead of all available ports, use " "<command>portupgrade <replaceable>pkgname</replaceable></command>. It is " @@ -15672,13 +15692,13 @@ msgstr "" "R</option> 來先升級指定應用程式所有相依的 Port:" #. (itstool) path: sect3/screen -#: book.translate.xml:10139 +#: book.translate.xml:10154 #, no-wrap msgid "<prompt>#</prompt> <userinput>portupgrade -R firefox</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:10141 +#: book.translate.xml:10156 msgid "" "If <option>-P</option> is included, <application>Portupgrade</application> " "searches for available packages in the local directories listed in " @@ -15697,13 +15717,13 @@ msgstr "" "可用時放棄安裝:" #. (itstool) path: sect3/screen -#: book.translate.xml:10154 +#: book.translate.xml:10169 #, no-wrap msgid "<prompt>#</prompt> <userinput>portupgrade -PP gnome3</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:10156 +#: book.translate.xml:10171 msgid "" "To just fetch the port distfiles, or packages, if <option>-P</option> is " "specified, without building or installing anything, use <option>-F</option>. " @@ -15715,17 +15735,17 @@ msgstr "" "command> 的操作手冊來取得所有可用選項的更多資訊。" #. (itstool) path: sect2/title -#: book.translate.xml:10165 +#: book.translate.xml:10180 msgid "Ports and Disk Space" msgstr "Port 與磁碟空間" #. (itstool) path: sect2/indexterm -#: book.translate.xml:10167 +#: book.translate.xml:10182 msgid "<primary>ports</primary> <secondary>disk-space</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:10172 +#: book.translate.xml:10187 msgid "" "Using the Ports Collection will use up disk space over time. After building " "and installing a port, running <command>make clean</command> within the " @@ -15744,13 +15764,13 @@ msgstr "" "地複本中找到的 <filename>work</filename> 目錄:" #. (itstool) path: sect2/screen -#: book.translate.xml:10183 +#: book.translate.xml:10198 #, no-wrap msgid "<prompt>#</prompt> <userinput>portsclean -C</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:10185 +#: book.translate.xml:10200 msgid "" "In addition, a lot of out-dated source distribution files will collect in " "<filename>/usr/ports/distfiles</filename> over time. If " @@ -15762,13 +15782,13 @@ msgstr "" "有不再被任何 Port 所引用的 distfiles:" #. (itstool) path: sect2/screen -#: book.translate.xml:10191 +#: book.translate.xml:10206 #, no-wrap msgid "<prompt>#</prompt> <userinput>portsclean -D</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:10193 +#: book.translate.xml:10208 msgid "" "To use <application>Portupgrade</application> to remove all distfiles not " "referenced by any port currently installed on the system:" @@ -15777,31 +15797,31 @@ msgstr "" "的 Port 所引用的 distfiles:" #. (itstool) path: sect2/screen -#: book.translate.xml:10197 +#: book.translate.xml:10212 #, no-wrap msgid "<prompt>#</prompt> <userinput>portsclean -DD</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:10199 +#: book.translate.xml:10214 msgid "If <application>Portmaster</application> is installed, use:" msgstr "若有安裝 <application>Portmaster</application>,則可使用:" #. (itstool) path: sect2/screen -#: book.translate.xml:10202 +#: book.translate.xml:10217 #, no-wrap msgid "<prompt>#</prompt> <userinput>portmaster --clean-distfiles</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:10204 +#: book.translate.xml:10219 msgid "" "By default, this command is interactive and will prompt the user to confirm " "if a distfile should be deleted." msgstr "預設這個指令會互動的方式詢問使用者確認是否要刪除 distfile。" #. (itstool) path: sect2/para -#: book.translate.xml:10207 +#: book.translate.xml:10222 msgid "" "In addition to these commands, the <package>ports-mgmt/pkg_cutleaves</" "package> package or port automates the task of removing installed ports that " @@ -15811,12 +15831,12 @@ msgstr "" "動移除不再需要使用的 Port。" #. (itstool) path: sect1/title -#: book.translate.xml:10215 +#: book.translate.xml:10230 msgid "Building Packages with <application>Poudriere</application>" msgstr "使用 <application>Poudriere</application> 編譯套件" #. (itstool) path: sect1/para -#: book.translate.xml:10218 +#: book.translate.xml:10233 msgid "" "<application>Poudriere</application> is a <acronym>BSD</acronym>-licensed " "utility for creating and testing FreeBSD packages. It uses FreeBSD jails to " @@ -15837,7 +15857,7 @@ msgstr "" "用。" #. (itstool) path: sect1/para -#: book.translate.xml:10229 +#: book.translate.xml:10244 msgid "" "<application>Poudriere</application> is installed using the <package role=" "\"port\">ports-mgmt/poudriere</package> package or port. The installation " @@ -15852,7 +15872,7 @@ msgstr "" "的設定。" #. (itstool) path: sect1/para -#: book.translate.xml:10237 +#: book.translate.xml:10252 msgid "" "While <acronym>ZFS</acronym> is not required on the system running " "<application>poudriere</application>, it is beneficial. When <acronym>ZFS</" @@ -15876,7 +15896,7 @@ msgstr "" "採用預設值便足夠。" #. (itstool) path: sect1/para -#: book.translate.xml:10251 +#: book.translate.xml:10266 msgid "" "The number of processor cores detected is used to define how many builds " "should run in parallel. Supply enough virtual memory, either with " @@ -15888,12 +15908,12 @@ msgstr "" "止並被清除,可能會造成奇怪的錯誤訊息。" #. (itstool) path: sect2/title -#: book.translate.xml:10258 +#: book.translate.xml:10273 msgid "Initialize Jails and Port Trees" msgstr "初始化 Jail 與 Port 樹" #. (itstool) path: sect2/para -#: book.translate.xml:10260 +#: book.translate.xml:10275 msgid "" "After configuration, initialize <application>poudriere</application> so that " "it installs a jail with the required FreeBSD tree and a ports tree. Specify " @@ -15911,7 +15931,7 @@ msgstr "" "構。" #. (itstool) path: sect2/screen -#: book.translate.xml:10270 +#: book.translate.xml:10285 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>poudriere jail -c -j <replaceable>10amd64</replaceable> -v <replaceable>10.0-RELEASE</replaceable></userinput>\n" @@ -15933,7 +15953,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:10287 +#: book.translate.xml:10302 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>poudriere ports -c -p <replaceable>local</replaceable></userinput>\n" @@ -15968,7 +15988,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:10317 +#: book.translate.xml:10332 msgid "" "On a single computer, <application>poudriere</application> can build ports " "with multiple configurations, in multiple jails, and from different port " @@ -15986,7 +16006,7 @@ msgstr "" "citerefentry> 中的 CUSTOMIZATION 章節來取得詳細的資訊。" #. (itstool) path: sect2/para -#: book.translate.xml:10326 +#: book.translate.xml:10341 msgid "" "The basic configuration shown here puts a single jail-, port-, and set-" "specific <filename>make.conf</filename> in <filename>/usr/local/etc/" @@ -15998,22 +16018,22 @@ msgid "" msgstr "" "在此處示範的基本設定放了單一個 jail-, port- 以及 set- 特定的 <filename>make." "conf</filename> 在 <filename>/usr/local/etc/poudriere.d</filename>。在此範例" -"使用的檔案名稱由 Jail 名稱、Port 名稱以及 set 名稱所組成: " +"使用的檔案名稱由 Jail 名稱、Port 名稱以及 set 名稱所組成:" "<filename><replaceable>10amd64-local-workstation</replaceable>-make.conf</" "filename>。系統 <filename>make.conf</filename> 與這個新的檔案在編譯時期會被合" "併為編譯 Jail 要使用的 <filename>make.conf</filename>。" #. (itstool) path: sect2/para -#: book.translate.xml:10336 +#: book.translate.xml:10351 msgid "" "Packages to be built are entered in <filename><replaceable>10amd64-local-" "workstation</replaceable>-pkglist</filename>:" msgstr "" "要編譯的套件會輸入到 <filename><replaceable>10amd64-local-workstation</" -"replaceable>-pkglist</filename>:" +"replaceable>-pkglist</filename>:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:10339 +#: book.translate.xml:10354 #, no-wrap msgid "" "editors/emacs\n" @@ -16023,29 +16043,29 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:10344 +#: book.translate.xml:10359 msgid "Options and dependencies for the specified ports are configured:" -msgstr "可使用以下方式設定選項及相依:" +msgstr "可使用以下方式設定選項及相依:" #. (itstool) path: sect2/screen -#: book.translate.xml:10347 +#: book.translate.xml:10362 #, no-wrap msgid "<prompt>#</prompt> <userinput>poudriere options -j <replaceable>10amd64</replaceable> -p <replaceable>local</replaceable> -z <replaceable>workstation</replaceable> -f <replaceable>10amd64-local-workstation-pkglist</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:10349 +#: book.translate.xml:10364 msgid "Finally, packages are built and a package repository is created:" -msgstr "最後,編譯套件並建立套件檔案庫:" +msgstr "最後,編譯套件並建立套件檔案庫:" #. (itstool) path: sect2/screen -#: book.translate.xml:10352 +#: book.translate.xml:10367 #, no-wrap msgid "<prompt>#</prompt> <userinput>poudriere bulk -j <replaceable>10amd64</replaceable> -p <replaceable>local</replaceable> -z <replaceable>workstation</replaceable> -f <replaceable>10amd64-local-workstation-pkglist</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:10354 +#: book.translate.xml:10369 msgid "" "<keycombo action=\"simul\"><keycap>Ctrl</keycap><keycap>t</keycap></" "keycombo> displays the current state of the build. <application>Poudriere</" @@ -16059,14 +16079,14 @@ msgstr "" "filename> 中的檔案,可用在網頁伺服器來顯示編譯資訊。" #. (itstool) path: sect2/para -#: book.translate.xml:10361 +#: book.translate.xml:10376 msgid "" "Packages are now available for installation from the <application>poudriere</" "application> repository." msgstr "套件現在可以從 <application>poudriere</application> 檔案庫來安裝。" #. (itstool) path: sect2/para -#: book.translate.xml:10365 +#: book.translate.xml:10380 msgid "" "For more information on using <application>poudriere</application>, see " "<citerefentry vendor=\"ports\"><refentrytitle>poudriere</" @@ -16079,12 +16099,12 @@ msgstr "" "href=\"https://github.com/freebsd/poudriere/wiki\"/>。" #. (itstool) path: sect2/title -#: book.translate.xml:10370 +#: book.translate.xml:10385 msgid "Configuring pkg Clients to Use a Poudriere Repository" msgstr "設定 pkg 客戶端使用 Poudriere 檔案庫" #. (itstool) path: sect2/para -#: book.translate.xml:10373 +#: book.translate.xml:10388 msgid "" "While it is possible to use both a custom repository along side of the " "official repository, sometimes it is useful to disable the official " @@ -16094,10 +16114,10 @@ msgid "" msgstr "" "雖然可以同時使用自訂的檔案庫與官方檔案庫,但有時關閉官方檔案庫會有幫助。這可" "以透過建立一個設定檔覆蓋並關閉官方的設定檔來完成。建立 <filename>/usr/local/" -"etc/pkg/repos/FreeBSD.conf</filename> 包含以下內容:" +"etc/pkg/repos/FreeBSD.conf</filename> 包含以下內容:" #. (itstool) path: sect2/screen -#: book.translate.xml:10381 +#: book.translate.xml:10396 #, no-wrap msgid "" "FreeBSD: {\n" @@ -16106,7 +16126,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:10385 +#: book.translate.xml:10400 msgid "" "Usually it is easiest to serve a poudriere repository to the client machines " "via HTTP. Setup a webserver to serve up the package directory, usually " @@ -16115,23 +16135,23 @@ msgid "" "filename> is the name of the build." msgstr "" "通常最簡單要提供 poudriere 給客戶端的方式是透過 HTTP。安裝一個網頁伺服器來提" -"供套件目錄,通常會像: <filename>/usr/local/poudriere/data/packages/" +"供套件目錄,通常會像:<filename>/usr/local/poudriere/data/packages/" "<replaceable>10amd64</replaceable></filename>,其中 <filename>10amd64</" "filename> 是編譯的名稱。" #. (itstool) path: sect2/para -#: book.translate.xml:10392 +#: book.translate.xml:10407 msgid "" "If the URL to the package repository is: <literal>http://pkg.example." "com/10amd64</literal>, then the repository configuration file in <filename>/" "usr/local/etc/pkg/repos/custom.conf</filename> would look like:" msgstr "" -"若要連往套件檔案庫的 URL 是: <literal>http://pkg.example.com/10amd64</" +"若要連往套件檔案庫的 URL 是:<literal>http://pkg.example.com/10amd64</" "literal>,則在 <filename>/usr/local/etc/pkg/repos/custom.conf</filename> 的檔" -"案庫設定檔為:" +"案庫設定檔為:" #. (itstool) path: sect2/screen -#: book.translate.xml:10398 +#: book.translate.xml:10413 #, no-wrap msgid "" "custom: {\n" @@ -16141,12 +16161,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:10406 +#: book.translate.xml:10421 msgid "Post-Installation Considerations" msgstr "安裝後的注意事項" #. (itstool) path: sect1/para -#: book.translate.xml:10408 +#: book.translate.xml:10423 msgid "" "Regardless of whether the software was installed from a binary package or " "port, most third-party applications require some level of configuration " @@ -16157,7 +16177,7 @@ msgstr "" "設定,下列指令與位置可以用來協助找到應用程式安裝了什麼。" #. (itstool) path: listitem/para -#: book.translate.xml:10416 +#: book.translate.xml:10431 msgid "" "Most applications install at least one default configuration file in " "<filename>/usr/local/etc</filename>. In the case where an application has a " @@ -16174,7 +16194,7 @@ msgstr "" "案並去除 <filename>.sample</filename> 副檔名。" #. (itstool) path: listitem/para -#: book.translate.xml:10429 +#: book.translate.xml:10444 msgid "" "Applications which provide documentation will install it into <filename>/usr/" "local/share/doc</filename> and many applications also install manual pages. " @@ -16184,7 +16204,7 @@ msgstr "" "應用程式也同時會安裝操作手冊,在繼續使用應用程式前應先查看這些文件。" #. (itstool) path: listitem/para -#: book.translate.xml:10436 +#: book.translate.xml:10451 msgid "" "Some applications run services which must be added to <filename>/etc/rc." "conf</filename> before starting the application. These applications usually " @@ -16198,7 +16218,7 @@ msgstr "" "services\">啟動服務</link> 來取得更多資訊。" #. (itstool) path: listitem/para -#: book.translate.xml:10445 +#: book.translate.xml:10460 msgid "" "Users of <citerefentry><refentrytitle>csh</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> should run <command>rehash</command> to rebuild " @@ -16209,7 +16229,7 @@ msgstr "" "單到 Shell 的 <envar>PATH</envar>。" #. (itstool) path: listitem/para -#: book.translate.xml:10451 +#: book.translate.xml:10466 msgid "" "Use <command>pkg info</command> to determine which files, man pages, and " "binaries were installed with the application." @@ -16218,17 +16238,17 @@ msgstr "" "Binary。" #. (itstool) path: sect1/title -#: book.translate.xml:10459 +#: book.translate.xml:10474 msgid "Dealing with Broken Ports" msgstr "處理損壞的 Port" #. (itstool) path: sect1/para -#: book.translate.xml:10461 +#: book.translate.xml:10476 msgid "When a port does not build or install, try the following:" msgstr "當發現某個 Port 無法順利編譯或安裝,可以嘗試以下幾種方法解決:" #. (itstool) path: listitem/para -#: book.translate.xml:10466 +#: book.translate.xml:10481 msgid "" "Search to see if there is a fix pending for the port in the <link xlink:href=" "\"@@URL_RELPREFIX@@/support.html\">Problem Report database</link>. If so, " @@ -16238,7 +16258,7 @@ msgstr "" "link> 看該 Port 有沒有待審核的修正,若有的話可以使用該修正來修正問題。" #. (itstool) path: listitem/para -#: book.translate.xml:10473 +#: book.translate.xml:10488 msgid "" "Ask the maintainer of the port for help. Type <command>make maintainer</" "command> in the ports skeleton or read the port's <filename>Makefile</" @@ -16253,7 +16273,7 @@ msgstr "" "filename> 中的 <literal>$FreeBSD:</literal> 一整行及輸出的錯誤訊息。" #. (itstool) path: note/para -#: book.translate.xml:10483 +#: book.translate.xml:10498 msgid "" "Some ports are not maintained by an individual but instead by a <link xlink:" "href=\"@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/articles/mailing-list-faq/" @@ -16267,7 +16287,7 @@ msgstr "" "email> 都是,寄信時記得代入實際的論壇名稱。" #. (itstool) path: note/para -#: book.translate.xml:10489 +#: book.translate.xml:10504 msgid "" "In particular, ports shown as maintained by <email role=\"nolink" "\">ports@FreeBSD.org</email> are not maintained by a specific individual. " @@ -16279,7 +16299,7 @@ msgstr "" "非常歡迎志工參與。" #. (itstool) path: listitem/para -#: book.translate.xml:10497 +#: book.translate.xml:10512 msgid "" "If there is no response to the email, use Bugzilla to submit a bug report " "using the instructions in <link xlink:href=\"@@URL_RELPREFIX@@/doc/en_US." @@ -16291,19 +16311,19 @@ msgstr "" "</link> 的說明使用 Bugzilla 提出問題回報。" #. (itstool) path: listitem/para -#: book.translate.xml:10504 +#: book.translate.xml:10519 msgid "" "Fix it! The <link xlink:href=\"@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/" "porters-handbook/index.html\">Porter's Handbook</link> includes detailed " "information on the ports infrastructure so that you can fix the occasional " "broken port or even submit your own!" msgstr "" -"自行修正看看! <link xlink:href=\"@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/" +"自行修正看看!<link xlink:href=\"@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/" "porters-handbook/index.html\">Porter's Handbook</link> 中含有 Port 基礎架構的" "詳細資訊,可提供資訊讓您可修正偶然損壞的 Port 或甚至您可以提交之自己的 Port。" #. (itstool) path: listitem/para -#: book.translate.xml:10511 +#: book.translate.xml:10526 msgid "" "Install the package instead of the port using the instructions in <xref " "linkend=\"pkgng-intro\"/>." @@ -16312,12 +16332,12 @@ msgstr "" "安裝。" #. (itstool) path: chapter/title -#: book.translate.xml:10541 +#: book.translate.xml:10556 msgid "The X Window System" msgstr "X Window 系統" #. (itstool) path: sect1/para -#: book.translate.xml:10546 +#: book.translate.xml:10561 msgid "" "An installation of FreeBSD using <application>bsdinstall</application> does " "not automatically install a graphical user interface. This chapter describes " @@ -16332,7 +16352,7 @@ msgstr "" "面環境或視窗管理程式。" #. (itstool) path: note/para -#: book.translate.xml:10555 +#: book.translate.xml:10570 msgid "" "Users who prefer an installation method that automatically configures the " "<application>Xorg</application> and offers a choice of window managers " @@ -16344,7 +16364,7 @@ msgstr "" "org</link> 網站。" #. (itstool) path: sect1/para -#: book.translate.xml:10562 +#: book.translate.xml:10577 msgid "" "For more information on the video hardware that <application>Xorg</" "application> supports, refer to the <link xlink:href=\"http://www.x.org/\">x." @@ -16354,25 +16374,25 @@ msgstr "" "xlink:href=\"http://www.x.org/\">x.org</link> 網站。" #. (itstool) path: listitem/para -#: book.translate.xml:10569 +#: book.translate.xml:10584 msgid "" "The various components of the X Window System, and how they interoperate." msgstr "組成 X Window 系統的各種元件以及它們是如何相互運作。" #. (itstool) path: listitem/para -#: book.translate.xml:10574 +#: book.translate.xml:10589 msgid "How to install and configure <application>Xorg</application>." msgstr "如何安裝並設定 <application>Xorg</application>。" #. (itstool) path: listitem/para -#: book.translate.xml:10579 +#: book.translate.xml:10594 msgid "" "How to install and configure several window managers and desktop " "environments." msgstr "如何安裝並設定各種視窗管理程式與桌面環境。" #. (itstool) path: listitem/para -#: book.translate.xml:10584 +#: book.translate.xml:10599 msgid "" "How to use <trademark class=\"registered\">TrueType</trademark> fonts in " "<application>Xorg</application>." @@ -16381,26 +16401,26 @@ msgstr "" "\">TrueType</trademark> 字型。" #. (itstool) path: listitem/para -#: book.translate.xml:10589 +#: book.translate.xml:10604 msgid "" "How to set up your system for graphical logins (<application>XDM</" "application>)." msgstr "如何設定系統以使用圖形化登入 (<application>XDM</application>)。" #. (itstool) path: listitem/para -#: book.translate.xml:10598 +#: book.translate.xml:10613 msgid "" "Know how to install additional third-party software as described in <xref " "linkend=\"ports\"/>." msgstr "了解如何依照 <xref linkend=\"ports\"/> 說明安裝其他第三方軟體。" #. (itstool) path: sect1/title -#: book.translate.xml:10605 +#: book.translate.xml:10620 msgid "Terminology" msgstr "術語" #. (itstool) path: sect1/para -#: book.translate.xml:10607 +#: book.translate.xml:10622 msgid "" "While it is not necessary to understand all of the details of the various " "components in the X Window System and how they interact, some basic " @@ -16410,12 +16430,12 @@ msgstr "" "會更容易上手。" #. (itstool) path: varlistentry/term -#: book.translate.xml:10614 +#: book.translate.xml:10629 msgid "X server" msgstr "X 伺服器 (X Server)" #. (itstool) path: listitem/para -#: book.translate.xml:10617 +#: book.translate.xml:10632 msgid "" "X was designed from the beginning to be network-centric, and adopts a " "<quote>client-server</quote> model. In this model, the <quote>X server</" @@ -16430,18 +16450,18 @@ msgid "" msgstr "" "X 最初設計是以網路為中心,採用 <quote>client-server</quote> 架構。在此架構下 " "<quote>X 伺服器</quote> 在有鍵盤、螢幕、滑鼠的電腦上運作。該伺服器負責的工作" -"包含管理顯示、處理來自鍵盤、滑鼠的輸入及來自其他設備(如平板或或影像投影機)的" -"輸入或輸出。這點可能會讓人感到困惑,因為 X 使用的術語與一般的認知剛好相反。 " -"一般認知會以為 <quote>X 伺服器</quote> 是要在最強悍的主機上執行,而 <quote>X " -"客戶端</quote> 才是在桌機上面執行,實際上卻是相反。" +"包含管理顯示、處理來自鍵盤、滑鼠的輸入及來自其他設備 (如平板或或影像投影機) " +"的輸入或輸出。這點可能會讓人感到困惑,因為 X 使用的術語與一般的認知剛好相" +"反。 一般認知會以為 <quote>X 伺服器</quote> 是要在最強悍的主機上執行,而 " +"<quote>X 客戶端</quote> 才是在桌機上面執行,實際上卻是相反。" #. (itstool) path: varlistentry/term -#: book.translate.xml:10634 +#: book.translate.xml:10649 msgid "X client" msgstr "X 客戶端 (X Client)" #. (itstool) path: listitem/para -#: book.translate.xml:10637 +#: book.translate.xml:10652 msgid "" "Each X application, such as <application>XTerm</application> or " "<application>Firefox</application>, is a <quote>client</quote>. A client " @@ -16455,7 +16475,7 @@ msgstr "" "者剛點選了確定按鈕</quote>。" #. (itstool) path: listitem/para -#: book.translate.xml:10646 +#: book.translate.xml:10661 msgid "" "In a home or small office environment, the X server and the X clients " "commonly run on the same computer. It is also possible to run the X server " @@ -16468,12 +16488,12 @@ msgstr "" "式。 在這種情景,X 客戶端與伺服器之間的溝通就需透過網路來進行。" #. (itstool) path: varlistentry/term -#: book.translate.xml:10656 +#: book.translate.xml:10671 msgid "window manager" msgstr "視窗管理程式 (Window Manager)" #. (itstool) path: listitem/para -#: book.translate.xml:10659 +#: book.translate.xml:10674 msgid "" "X does not dictate what windows should look like on-screen, how to move them " "around with the mouse, which keystrokes should be used to move between " @@ -16497,7 +16517,7 @@ msgstr "" "集的 <filename>x11-wm</filename> 分類找到。" #. (itstool) path: listitem/para -#: book.translate.xml:10675 +#: book.translate.xml:10690 msgid "" "Each window manager uses a different configuration mechanism. Some expect " "configuration file written by hand while others provide graphical tools for " @@ -16507,12 +16527,12 @@ msgstr "" "過圖型化工具來完成大部分的設定工作。" #. (itstool) path: varlistentry/term -#: book.translate.xml:10683 +#: book.translate.xml:10698 msgid "desktop environment" msgstr "桌面環境 (Desktop Environment)" #. (itstool) path: listitem/para -#: book.translate.xml:10686 +#: book.translate.xml:10701 msgid "" "<application>KDE</application> and <application>GNOME</application> are " "considered to be desktop environments as they include an entire suite of " @@ -16524,12 +16544,12 @@ msgstr "" "網頁瀏覽器及遊戲。" #. (itstool) path: varlistentry/term -#: book.translate.xml:10695 +#: book.translate.xml:10710 msgid "focus policy" msgstr "聚焦政策 (Focus Policy)" #. (itstool) path: listitem/para -#: book.translate.xml:10698 +#: book.translate.xml:10713 msgid "" "The window manager is responsible for the mouse focus policy. This policy " "provides some means for choosing which window is actively receiving " @@ -16540,7 +16560,7 @@ msgstr "" "入的視窗。" #. (itstool) path: listitem/para -#: book.translate.xml:10704 +#: book.translate.xml:10719 msgid "" "One focus policy is called <quote>click-to-focus</quote>. In this model, a " "window becomes active upon receiving a mouse click. In the <quote>focus-" @@ -16566,7 +16586,7 @@ msgstr "" "收。" #. (itstool) path: listitem/para -#: book.translate.xml:10722 +#: book.translate.xml:10737 msgid "" "Different window managers support different focus models. All of them " "support click-to-focus, and the majority of them also support other " @@ -16577,12 +16597,12 @@ msgstr "" "支援其他模式,請查看視窗管理程式的說明文件來了解可用的聚焦模式。" #. (itstool) path: varlistentry/term -#: book.translate.xml:10731 +#: book.translate.xml:10746 msgid "widgets" msgstr "視窗元件 (Widget)" #. (itstool) path: listitem/para -#: book.translate.xml:10734 +#: book.translate.xml:10749 msgid "" "Widget is a term for all of the items in the user interface that can be " "clicked or manipulated in some way. This includes buttons, check boxes, " @@ -16594,31 +16614,31 @@ msgid "" "create the application." msgstr "" "視窗元件指的是在所有在使用者介面上可被點選或操作的項目,這包括按鈕、核選方" -"塊、單選按鈕、圖示及清單。 視窗元件工具包(Widget toolkit)是指用來建立圖型化應" -"用程式的一系列的視窗元件。目前有數個有名的視窗元件工具包,包含 " +"塊、單選按鈕、圖示及清單。 視窗元件工具包 (Widget toolkit) 是指用來建立圖型化" +"應用程式的一系列的視窗元件。目前有數個有名的視窗元件工具包,包含 " "<application>KDE</application> 所使用的 Qt、<application>GNOME</application> " "所使用的 GTK+。 因此應用程式會依其開發時所選用的視窗元件工具包而有不同的外" "觀。" #. (itstool) path: sect1/title -#: book.translate.xml:10751 +#: book.translate.xml:10766 msgid "Installing <application>Xorg</application>" msgstr "安裝 <application>Xorg</application>" #. (itstool) path: sect1/para -#: book.translate.xml:10753 +#: book.translate.xml:10768 msgid "" "On FreeBSD, <application>Xorg</application> can be installed as a package or " "port." msgstr "在 FreeBSD,<application>Xorg</application> 可透過套件或 Port 來安裝。" #. (itstool) path: sect1/para -#: book.translate.xml:10756 +#: book.translate.xml:10771 msgid "To build and install from the Ports Collection:" -msgstr "要從 Port 套件集編譯與安裝:" +msgstr "要從 Port 套件集編譯與安裝:" #. (itstool) path: sect1/screen -#: book.translate.xml:10758 +#: book.translate.xml:10773 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/x11/xorg</userinput>\n" @@ -16626,20 +16646,20 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:10761 +#: book.translate.xml:10776 msgid "" "The binary package can be installed more quickly but with fewer options for " "customization:" -msgstr "使用 Binary 套件安裝快速,但可用的自訂選項較少:" +msgstr "使用 Binary 套件安裝快速,但可用的自訂選項較少:" #. (itstool) path: sect1/screen -#: book.translate.xml:10764 +#: book.translate.xml:10779 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install xorg</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:10766 +#: book.translate.xml:10781 msgid "" "Either of these installations results in the complete <application>Xorg</" "application> system being installed. This is the best option for most users." @@ -16648,7 +16668,7 @@ msgstr "" "多數使用者。" #. (itstool) path: sect1/para -#: book.translate.xml:10770 +#: book.translate.xml:10785 msgid "" "A smaller version of the X system suitable for experienced users is " "available in <package>x11/xorg-minimal</package>. Most of the documents, " @@ -16660,35 +16680,35 @@ msgstr "" "程式會需要這些額外的元件才能運作。" #. (itstool) path: sect1/title -#: book.translate.xml:10778 +#: book.translate.xml:10793 msgid "<application>Xorg</application> Configuration" msgstr "<application>Xorg</application> 設定" #. (itstool) path: info/author -#: book.translate.xml:10781 +#: book.translate.xml:10796 msgid "" "<personname> <firstname>Warren</firstname> <surname>Block</surname> </" "personname> <contrib>Originally contributed by</contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:10790 +#: book.translate.xml:10805 msgid "<primary>Xorg</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:10791 +#: book.translate.xml:10806 msgid "<primary><application>Xorg</application></primary>" msgstr "" #. (itstool) path: sect2/title #. (itstool) path: sect1/title -#: book.translate.xml:10794 book.translate.xml:16778 book.translate.xml:62327 +#: book.translate.xml:10809 book.translate.xml:16792 book.translate.xml:62381 msgid "Quick Start" msgstr "快速開始" #. (itstool) path: sect2/para -#: book.translate.xml:10796 +#: book.translate.xml:10811 msgid "" "<application>Xorg</application> supports most common video cards, keyboards, " "and pointing devices. These devices are automatically detected and do not " @@ -16698,16 +16718,16 @@ msgstr "" "<application>Xorg</application> 會自動偵測這些裝置,並不需要手動設定。" #. (itstool) path: step/para -#: book.translate.xml:10803 +#: book.translate.xml:10818 msgid "" "If <application>Xorg</application> has been used on this computer before, " "move or remove any existing configuration files:" msgstr "" "若 <application>Xorg</application> 曾經在電腦使用過,可先將現有的設定檔重新命" -"名或移除:" +"名或移除:" #. (itstool) path: step/screen -#: book.translate.xml:10807 +#: book.translate.xml:10822 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mv /etc/X11/xorg.conf ~/xorg.conf.etc</userinput>\n" @@ -16715,7 +16735,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:10812 +#: book.translate.xml:10827 msgid "" "Add the user who will run <application>Xorg</application> to the " "<literal>video</literal> or <literal>wheel</literal> group to enable 3D " @@ -16724,31 +16744,31 @@ msgid "" msgstr "" "加入要執行 <application>Xorg</application> 的使用者到 <literal>video</" "literal> 或 <literal>wheel</literal> 群組,以便在可用時能開啟 3D 加速。要加入" -"使用者 <replaceable>jru</replaceable> 到任一個可用的群組:" +"使用者 <replaceable>jru</replaceable> 到任一個可用的群組:" #. (itstool) path: step/screen -#: book.translate.xml:10820 +#: book.translate.xml:10835 #, no-wrap msgid "<prompt>#</prompt> <userinput>pw groupmod video -m <replaceable>jru</replaceable> || pw groupmod wheel -m <replaceable>jru</replaceable></userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:10824 +#: book.translate.xml:10839 msgid "" "The <acronym>TWM</acronym> window manager is included by default. It is " "started when <application>Xorg</application> starts:" msgstr "" "預設內含 <acronym>TWM</acronym> 視窗管理程式,啟動 <application>Xorg</" -"application> 時便會啟動該視窗管理程式:" +"application> 時便會啟動該視窗管理程式:" #. (itstool) path: step/screen -#: book.translate.xml:10828 +#: book.translate.xml:10843 #, no-wrap msgid "<prompt>%</prompt> <userinput>startx</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:10832 +#: book.translate.xml:10847 msgid "" "On some older versions of FreeBSD, the system console must be set to " "<citerefentry><refentrytitle>vt</refentrytitle><manvolnum>4</manvolnum></" @@ -16760,12 +16780,12 @@ msgstr "" "citerefentry> 才可正常運作,請參考 <xref linkend=\"x-config-kms\"/>。" #. (itstool) path: sect2/title -#: book.translate.xml:10841 +#: book.translate.xml:10856 msgid "User Group for Accelerated Video" msgstr "可加速影像處理的使用者群組" #. (itstool) path: sect2/para -#: book.translate.xml:10843 +#: book.translate.xml:10858 msgid "" "Access to <filename>/dev/dri</filename> is needed to allow 3D acceleration " "on video cards. It is usually simplest to add the user who will be running X " @@ -16780,21 +16800,21 @@ msgstr "" "literal> 群組。此處使用 <citerefentry><refentrytitle>pw</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> 來將使用者 " "<replaceable>slurms</replaceable> 加入 <literal>video</literal> 群組,若沒有 " -"<literal>video</literal> 則會加入 <literal>wheel</literal> 群組:" +"<literal>video</literal> 則會加入 <literal>wheel</literal> 群組:" #. (itstool) path: sect2/screen -#: book.translate.xml:10853 +#: book.translate.xml:10868 #, no-wrap msgid "<prompt>#</prompt> <userinput>pw groupmod video -m <replaceable>slurms</replaceable> || pw groupmod wheel -m <replaceable>slurms</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:10857 +#: book.translate.xml:10872 msgid "Kernel Mode Setting (<acronym>KMS</acronym>)" msgstr "核心模式設定 (Kernel Mode Setting, <acronym>KMS</acronym>)" #. (itstool) path: sect2/para -#: book.translate.xml:10859 +#: book.translate.xml:10874 msgid "" "When the computer switches from displaying the console to a higher screen " "resolution for X, it must set the video output <emphasis>mode</emphasis>. " @@ -16817,7 +16837,7 @@ msgstr "" "citerefentry> Console 可避免這個問題。" #. (itstool) path: sect2/para -#: book.translate.xml:10870 +#: book.translate.xml:10885 msgid "" "Add this line to <filename>/boot/loader.conf</filename> to enable " "<citerefentry><refentrytitle>vt</refentrytitle><manvolnum>4</manvolnum></" @@ -16825,10 +16845,10 @@ msgid "" msgstr "" "加入此行到 <filename>/boot/loader.conf</filename> 來開啟 " "<citerefentry><refentrytitle>vt</refentrytitle><manvolnum>4</manvolnum></" -"citerefentry>:" +"citerefentry>:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:10873 +#: book.translate.xml:10888 #, no-wrap msgid "kern.vty=vt" msgstr "" @@ -16836,13 +16856,13 @@ msgstr "" #. (itstool) path: sect2/title #. (itstool) path: sect1/title #. (itstool) path: sect3/title -#: book.translate.xml:10877 book.translate.xml:20902 book.translate.xml:31434 -#: book.translate.xml:45319 book.translate.xml:55480 +#: book.translate.xml:10892 book.translate.xml:20927 book.translate.xml:31488 +#: book.translate.xml:45373 book.translate.xml:55534 msgid "Configuration Files" msgstr "設定檔" #. (itstool) path: sect3/para -#: book.translate.xml:10882 +#: book.translate.xml:10897 msgid "" "<application>Xorg</application> looks in several directories for " "configuration files. <filename>/usr/local/etc/X11/</filename> is the " @@ -16854,7 +16874,7 @@ msgstr "" "可以幫助將應用程式檔案與作業系統檔案分離。" #. (itstool) path: sect3/para -#: book.translate.xml:10889 +#: book.translate.xml:10904 msgid "" "Storing configuration files in the legacy <filename>/etc/X11/</filename> " "still works. However, this mixes application files with the base FreeBSD " @@ -16864,12 +16884,12 @@ msgstr "" "程式檔案與基礎 FreeBSD 檔案混合在一起存放。" #. (itstool) path: sect3/title -#: book.translate.xml:10896 +#: book.translate.xml:10911 msgid "Single or Multiple Files" msgstr "單檔或多檔" #. (itstool) path: sect3/para -#: book.translate.xml:10898 +#: book.translate.xml:10913 msgid "" "It is easier to use multiple files that each configure a specific setting " "than the traditional single <filename>xorg.conf</filename>. These files are " @@ -16883,12 +16903,12 @@ msgstr "" "d/</filename>。" #. (itstool) path: sect3/para -#: book.translate.xml:10906 +#: book.translate.xml:10921 msgid "Examples of these files are shown later in this section." msgstr "於本節稍後會有這些檔案的範例。" #. (itstool) path: sect3/para -#: book.translate.xml:10909 +#: book.translate.xml:10924 msgid "" "The traditional single <filename>xorg.conf</filename> still works, but is " "neither as clear nor as flexible as multiple files in the <filename>xorg." @@ -16898,17 +16918,17 @@ msgstr "" "<filename>xorg.conf.d/</filename> 子目錄中的多檔設定方式較不明瞭且沒有彈性。" #. (itstool) path: sect2/title -#: book.translate.xml:10917 +#: book.translate.xml:10932 msgid "Video Cards" msgstr "顯示卡" #. (itstool) path: varlistentry/term -#: book.translate.xml:10921 +#: book.translate.xml:10936 msgid "<trademark class=\"registered\">Intel</trademark>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:10924 +#: book.translate.xml:10939 msgid "" "3D acceleration is supported on most <trademark class=\"registered\">Intel</" "trademark> graphics up to Ivy Bridge (HD Graphics 2500, 4000, and P4000), " @@ -16919,12 +16939,12 @@ msgstr "" "(HD Graphics) 與 Sandy Bridge (HD Graphics 2000)。" #. (itstool) path: listitem/para -#: book.translate.xml:10929 +#: book.translate.xml:10944 msgid "Driver name: <literal>intel</literal>" -msgstr "驅動程式名稱: <literal>intel</literal>" +msgstr "驅動程式名稱:<literal>intel</literal>" #. (itstool) path: listitem/para -#: book.translate.xml:10931 +#: book.translate.xml:10946 msgid "" "For reference, see <link xlink:href=\"https://en.wikipedia.org/wiki/" "List_of_Intel_graphics_processing_units\"/>." @@ -16933,24 +16953,24 @@ msgstr "" "List_of_Intel_graphics_processing_units\"/>。" #. (itstool) path: varlistentry/term -#: book.translate.xml:10936 +#: book.translate.xml:10951 msgid "<trademark class=\"registered\">AMD</trademark> Radeon" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:10939 +#: book.translate.xml:10954 msgid "" "2D and 3D acceleration is supported on Radeon cards up to and including the " "HD6000 series." msgstr "Radeon 顯示卡支援 2D 及 3D 加速,最新到 HD6000 系列。" #. (itstool) path: listitem/para -#: book.translate.xml:10942 +#: book.translate.xml:10957 msgid "Driver name: <literal>radeon</literal>" -msgstr "驅動程式名稱: <literal>radeon</literal>" +msgstr "驅動程式名稱:<literal>radeon</literal>" #. (itstool) path: listitem/para -#: book.translate.xml:10944 +#: book.translate.xml:10959 msgid "" "For reference, see <link xlink:href=\"https://en.wikipedia.org/wiki/" "List_of_AMD_graphics_processing_units\"/>." @@ -16959,12 +16979,12 @@ msgstr "" "List_of_AMD_graphics_processing_units\"/>。" #. (itstool) path: varlistentry/term -#: book.translate.xml:10949 +#: book.translate.xml:10964 msgid "NVIDIA" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:10952 +#: book.translate.xml:10967 msgid "" "Several NVIDIA drivers are available in the <filename>x11</filename> " "category of the Ports Collection. Install the driver that matches the video " @@ -16974,7 +16994,7 @@ msgstr "" "得,請安裝其中與顯示卡相符的驅動程式。" #. (itstool) path: listitem/para -#: book.translate.xml:10957 +#: book.translate.xml:10972 msgid "" "For reference, see <link xlink:href=\"https://en.wikipedia.org/wiki/" "List_of_Nvidia_graphics_processing_units\"/>." @@ -16983,12 +17003,12 @@ msgstr "" "List_of_Nvidia_graphics_processing_units\"/>。" #. (itstool) path: varlistentry/term -#: book.translate.xml:10962 +#: book.translate.xml:10977 msgid "Hybrid Combination Graphics" msgstr "混合組合繪圖晶片" #. (itstool) path: listitem/para -#: book.translate.xml:10965 +#: book.translate.xml:10980 msgid "" "Some notebook computers add additional graphics processing units to those " "built into the chipset or processor. <emphasis>Optimus</emphasis> combines " @@ -17008,7 +17028,7 @@ msgstr "" "acronym>。" #. (itstool) path: listitem/para -#: book.translate.xml:10974 +#: book.translate.xml:10989 msgid "" "Implementations of these hybrid graphics systems vary, and " "<application>Xorg</application> on FreeBSD is not able to drive all versions " @@ -17018,7 +17038,7 @@ msgstr "" "尚無法驅動所有的混合繪圖系統版本。" #. (itstool) path: listitem/para -#: book.translate.xml:10978 +#: book.translate.xml:10993 msgid "" "Some computers provide a <acronym>BIOS</acronym> option to disable one of " "the graphics adapters or select a <emphasis>discrete</emphasis> mode which " @@ -17035,7 +17055,7 @@ msgstr "" "class=\"registered\">Intel</trademark> 驅動程式驅動。" #. (itstool) path: listitem/para -#: book.translate.xml:10987 +#: book.translate.xml:11002 msgid "" "<acronym>BIOS</acronym> settings depend on the model of computer. In some " "situations, both <acronym>GPU</acronym>s can be left enabled, but creating a " @@ -17047,12 +17067,12 @@ msgstr "" "literal> 節只使用主要的 <acronym>GPU</acronym> 便能讓系統運作。" #. (itstool) path: varlistentry/term -#: book.translate.xml:10998 +#: book.translate.xml:11013 msgid "Other Video Cards" msgstr "其他顯示卡" #. (itstool) path: listitem/para -#: book.translate.xml:11001 +#: book.translate.xml:11016 msgid "" "Drivers for some less-common video cards can be found in the <filename>x11-" "drivers</filename> directory of the Ports Collection." @@ -17061,7 +17081,7 @@ msgstr "" "目錄找到。" #. (itstool) path: listitem/para -#: book.translate.xml:11005 +#: book.translate.xml:11020 msgid "" "Cards that are not supported by a specific driver might still be usable with " "the <package>x11-drivers/xf86-video-vesa</package> driver. This driver is " @@ -17077,7 +17097,7 @@ msgstr "" "式來驅動顯示卡。" #. (itstool) path: listitem/para -#: book.translate.xml:11015 +#: book.translate.xml:11030 msgid "" "<package>x11-drivers/xf86-video-scfb</package> is a similar nonspecialized " "video driver that works on many <acronym>UEFI</acronym> and <trademark class=" @@ -17088,21 +17108,21 @@ msgstr "" "trademark> 的電腦上運作。" #. (itstool) path: varlistentry/term -#: book.translate.xml:11022 +#: book.translate.xml:11037 msgid "Setting the Video Driver in a File" msgstr "在檔案中設定影像驅動程式" #. (itstool) path: listitem/para -#: book.translate.xml:11025 +#: book.translate.xml:11040 msgid "" "To set the <trademark class=\"registered\">Intel</trademark> driver in a " "configuration file:" msgstr "" "要在設定檔設定使用 <trademark class=\"registered\">Intel</trademark> 驅動程" -"式:" +"式:" #. (itstool) path: example/title -#: book.translate.xml:11029 +#: book.translate.xml:11044 msgid "" "Select <trademark class=\"registered\">Intel</trademark> Video Driver in a " "File" @@ -17110,12 +17130,12 @@ msgstr "" "在單檔中選擇 <trademark class=\"registered\">Intel</trademark> 影像驅動程式" #. (itstool) path: example/para -#: book.translate.xml:11031 +#: book.translate.xml:11046 msgid "<filename>/usr/local/etc/X11/xorg.conf.d/driver-intel.conf</filename>" msgstr "" #. (itstool) path: example/programlisting -#: book.translate.xml:11033 +#: book.translate.xml:11048 #, no-wrap msgid "" "Section \"Device\"\n" @@ -17126,7 +17146,7 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:11039 +#: book.translate.xml:11054 msgid "" "If more than one video card is present, the <literal>BusID</literal> " "identifier can be uncommented and set to select the desired card. A list of " @@ -17138,22 +17158,22 @@ msgstr "" "lv | grep -B3 display</command> 取得。" #. (itstool) path: listitem/para -#: book.translate.xml:11047 +#: book.translate.xml:11062 msgid "To set the Radeon driver in a configuration file:" -msgstr "要在設定檔設定使用 Radeon 驅動程式:" +msgstr "要在設定檔設定使用 Radeon 驅動程式:" #. (itstool) path: example/title -#: book.translate.xml:11051 +#: book.translate.xml:11066 msgid "Select Radeon Video Driver in a File" msgstr "在單檔中選擇 Radeon 影像驅動程式" #. (itstool) path: example/para -#: book.translate.xml:11053 +#: book.translate.xml:11068 msgid "<filename>/usr/local/etc/X11/xorg.conf.d/driver-radeon.conf</filename>" msgstr "" #. (itstool) path: example/programlisting -#: book.translate.xml:11055 +#: book.translate.xml:11070 #, no-wrap msgid "" "Section \"Device\"\n" @@ -17163,22 +17183,22 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:11061 +#: book.translate.xml:11076 msgid "To set the <acronym>VESA</acronym> driver in a configuration file:" -msgstr "要在設定檔設定使用 <acronym>VESA</acronym> 驅動程式:" +msgstr "要在設定檔設定使用 <acronym>VESA</acronym> 驅動程式:" #. (itstool) path: example/title -#: book.translate.xml:11065 +#: book.translate.xml:11080 msgid "Select <acronym>VESA</acronym> Video Driver in a File" msgstr "在單檔中選擇 <acronym>VESA</acronym> 影像驅動程式" #. (itstool) path: example/para -#: book.translate.xml:11068 +#: book.translate.xml:11083 msgid "<filename>/usr/local/etc/X11/xorg.conf.d/driver-vesa.conf</filename>" msgstr "" #. (itstool) path: example/programlisting -#: book.translate.xml:11070 +#: book.translate.xml:11085 #, no-wrap msgid "" "Section \"Device\"\n" @@ -17188,26 +17208,26 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:11076 +#: book.translate.xml:11091 msgid "" "To set the <literal>scfb</literal> driver for use with a <acronym>UEFI</" "acronym> or <trademark class=\"registered\">ARM</trademark> computer:" msgstr "" "要設定 <acronym>UEFI</acronym> 或 <trademark class=\"registered\">ARM</" -"trademark> 電腦使用 <literal>scfb</literal> 驅動程式:" +"trademark> 電腦使用 <literal>scfb</literal> 驅動程式:" #. (itstool) path: example/title -#: book.translate.xml:11080 +#: book.translate.xml:11095 msgid "Select <literal>scfb</literal> Video Driver in a File" msgstr "在單檔中選擇 <literal>scfb</literal> 影像驅動程式" #. (itstool) path: example/para -#: book.translate.xml:11083 +#: book.translate.xml:11098 msgid "<filename>/usr/local/etc/X11/xorg.conf.d/driver-scfb.conf</filename>" msgstr "" #. (itstool) path: example/programlisting -#: book.translate.xml:11085 +#: book.translate.xml:11100 #, no-wrap msgid "" "Section \"Device\"\n" @@ -17217,12 +17237,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:11096 +#: book.translate.xml:11111 msgid "Monitors" msgstr "顯示器" #. (itstool) path: sect2/para -#: book.translate.xml:11098 +#: book.translate.xml:11113 msgid "" "Almost all monitors support the Extended Display Identification Data " "standard (<acronym>EDID</acronym>). <application>Xorg</application> uses " @@ -17236,7 +17256,7 @@ msgstr "" "適合的設定組合使用該顯示器。" #. (itstool) path: sect2/para -#: book.translate.xml:11106 +#: book.translate.xml:11121 msgid "" "Other resolutions supported by the monitor can be chosen by setting the " "desired resolution in configuration files, or after the X server has been " @@ -17248,7 +17268,7 @@ msgstr "" "refentrytitle><manvolnum>1</manvolnum></citerefentry>。" #. (itstool) path: varlistentry/term -#: book.translate.xml:11113 +#: book.translate.xml:11128 msgid "" "Using <citerefentry vendor=\"xfree86\"><refentrytitle>xrandr</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>" @@ -17257,7 +17277,7 @@ msgstr "" "refentrytitle><manvolnum>1</manvolnum></citerefentry>" #. (itstool) path: listitem/para -#: book.translate.xml:11116 +#: book.translate.xml:11131 msgid "" "Run <citerefentry vendor=\"xfree86\"><refentrytitle>xrandr</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> without any parameters " @@ -17265,10 +17285,10 @@ msgid "" msgstr "" "執行 <citerefentry vendor=\"xfree86\"><refentrytitle>xrandr</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> 不加任何參數可檢查影像" -"輸出及已偵測到的顯示器模式清單:" +"輸出及已偵測到的顯示器模式清單:" #. (itstool) path: listitem/screen -#: book.translate.xml:11119 +#: book.translate.xml:11134 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>xrandr</userinput>\n" @@ -17289,7 +17309,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:11135 +#: book.translate.xml:11150 msgid "" "This shows that the <literal>DVI-0</literal> output is being used to display " "a screen resolution of 1920x1200 pixels at a refresh rate of about 60 Hz. " @@ -17301,7 +17321,7 @@ msgstr "" "與 <literal>HDMI-0</literal> 接頭。" #. (itstool) path: listitem/para -#: book.translate.xml:11142 +#: book.translate.xml:11157 msgid "" "Any of the other display modes can be selected with <citerefentry vendor=" "\"xfree86\"><refentrytitle>xrandr</refentrytitle><manvolnum>1</manvolnum></" @@ -17309,23 +17329,23 @@ msgid "" msgstr "" "可使用 <citerefentry vendor=\"xfree86\"><refentrytitle>xrandr</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> 來選擇任何其他的顯示模" -"式。例如要切換為 1280x1024 於 60 Hz:" +"式。例如要切換為 1280x1024 於 60 Hz:" #. (itstool) path: listitem/screen -#: book.translate.xml:11146 +#: book.translate.xml:11161 #, no-wrap msgid "<prompt>%</prompt> <userinput>xrandr --mode 1280x1024 --rate 60</userinput>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:11148 +#: book.translate.xml:11163 msgid "" "A common task is using the external video output on a notebook computer for " "a video projector." msgstr "在筆記型電腦使用外部顯示輸出到投影機是常見的作業。" #. (itstool) path: listitem/para -#: book.translate.xml:11151 +#: book.translate.xml:11166 msgid "" "The type and quantity of output connectors varies between devices, and the " "name given to each output varies from driver to driver. What one driver " @@ -17338,10 +17358,10 @@ msgstr "" "同。在某些驅動程式稱為 <literal>HDMI-1</literal> 的輸出在其他驅動程式則可能稱" "為 <literal>HDMI1</literal>。因此第一個步驟是執行 <citerefentry vendor=" "\"xfree86\"><refentrytitle>xrandr</refentrytitle><manvolnum>1</manvolnum></" -"citerefentry> 列出所有可用的輸出:" +"citerefentry> 列出所有可用的輸出:" #. (itstool) path: listitem/screen -#: book.translate.xml:11159 +#: book.translate.xml:11174 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>xrandr</userinput>\n" @@ -17365,17 +17385,17 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:11178 +#: book.translate.xml:11193 msgid "" "Four outputs were found: the built-in panel <literal>LVDS1</literal>, and " "external <literal>VGA1</literal>, <literal>HDMI1</literal>, and " "<literal>DP1</literal> connectors." msgstr "" -"已找到四個輸出: 內建面板的 <literal>LVDS1</literal>,外接的 <literal>VGA1</" +"已找到四個輸出:內建面板的 <literal>LVDS1</literal>,外接的 <literal>VGA1</" "literal>, <literal>HDMI1</literal> 以及 <literal>DP1</literal> 接頭。" #. (itstool) path: listitem/para -#: book.translate.xml:11183 +#: book.translate.xml:11198 msgid "" "The projector has been connected to the <literal>VGA1</literal> output. " "<citerefentry vendor=\"xfree86\"><refentrytitle>xrandr</" @@ -17385,16 +17405,17 @@ msgid "" msgstr "" "投影機已連接至 <literal>VGA1</literal> 輸出,現在使用 <citerefentry vendor=" "\"xfree86\"><refentrytitle>xrandr</refentrytitle><manvolnum>1</manvolnum></" -"citerefentry> 來設定該輸出到投影機 (原始解析度) 並加入額外的空間到桌面的右側:" +"citerefentry> 來設定該輸出到投影機 (原始解析度) 並加入額外的空間到桌面的右" +"側:" #. (itstool) path: listitem/screen -#: book.translate.xml:11189 +#: book.translate.xml:11204 #, no-wrap msgid "<prompt>%</prompt> <userinput>xrandr --output VGA1 --auto --right-of LVDS1</userinput>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:11191 +#: book.translate.xml:11206 msgid "" "<literal>--auto</literal> chooses the resolution and refresh rate detected " "by <acronym>EDID</acronym>. If the resolution is not correctly detected, a " @@ -17409,7 +17430,7 @@ msgstr "" "可設定 <literal>--mode 1024x768</literal>。" #. (itstool) path: listitem/para -#: book.translate.xml:11200 +#: book.translate.xml:11215 msgid "" "<citerefentry vendor=\"xfree86\"><refentrytitle>xrandr</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> is often run from " @@ -17420,28 +17441,28 @@ msgstr "" "xinitrc</filename> 執行以在 X 啟動時設定適合的模式。" #. (itstool) path: varlistentry/term -#: book.translate.xml:11207 +#: book.translate.xml:11222 msgid "Setting Monitor Resolution in a File" msgstr "在檔案中設定螢幕解析度" #. (itstool) path: listitem/para -#: book.translate.xml:11210 +#: book.translate.xml:11225 msgid "To set a screen resolution of 1024x768 in a configuration file:" -msgstr "在設定檔設定螢幕解析度為 1024x768:" +msgstr "在設定檔設定螢幕解析度為 1024x768:" #. (itstool) path: example/title -#: book.translate.xml:11214 +#: book.translate.xml:11229 msgid "Set Screen Resolution in a File" msgstr "在單檔中設定螢幕解析度" #. (itstool) path: example/para -#: book.translate.xml:11216 +#: book.translate.xml:11231 msgid "" "<filename>/usr/local/etc/X11/xorg.conf.d/screen-resolution.conf</filename>" msgstr "" #. (itstool) path: example/programlisting -#: book.translate.xml:11218 +#: book.translate.xml:11233 #, no-wrap msgid "" "Section \"Screen\"\n" @@ -17454,7 +17475,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:11227 +#: book.translate.xml:11242 msgid "" "The few monitors that do not have <acronym>EDID</acronym> can be configured " "by setting <literal>HorizSync</literal> and <literal>VertRefresh</literal> " @@ -17464,17 +17485,17 @@ msgstr "" "及 <literal>VertRefresh</literal> 為顯示器支援的頻率範圍。" #. (itstool) path: example/title -#: book.translate.xml:11234 +#: book.translate.xml:11249 msgid "Manually Setting Monitor Frequencies" msgstr "手動設定顯示器頻率" #. (itstool) path: example/para -#: book.translate.xml:11236 +#: book.translate.xml:11251 msgid "<filename>/usr/local/etc/X11/xorg.conf.d/monitor0-freq.conf</filename>" msgstr "" #. (itstool) path: example/programlisting -#: book.translate.xml:11238 +#: book.translate.xml:11253 #, no-wrap msgid "" "Section \"Monitor\"\n" @@ -17485,22 +17506,22 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:11250 +#: book.translate.xml:11265 msgid "Input Devices" msgstr "輸入裝置" #. (itstool) path: sect3/title -#: book.translate.xml:11253 +#: book.translate.xml:11268 msgid "Keyboards" msgstr "鍵盤" #. (itstool) path: varlistentry/term -#: book.translate.xml:11257 +#: book.translate.xml:11272 msgid "Keyboard Layout" msgstr "鍵盤配置" #. (itstool) path: listitem/para -#: book.translate.xml:11260 +#: book.translate.xml:11275 msgid "" "The standardized location of keys on a keyboard is called a " "<emphasis>layout</emphasis>. Layouts and other adjustable parameters are " @@ -17512,7 +17533,7 @@ msgstr "" "refentrytitle><manvolnum>7</manvolnum></citerefentry>。" #. (itstool) path: listitem/para -#: book.translate.xml:11265 +#: book.translate.xml:11280 msgid "" "A United States layout is the default. To select an alternate layout, set " "the <literal>XkbLayout</literal> and <literal>XkbVariant</literal> options " @@ -17524,25 +17545,25 @@ msgstr "" "選項。這會套用所有符合該類別的輸入裝置。" #. (itstool) path: listitem/para -#: book.translate.xml:11272 +#: book.translate.xml:11287 msgid "" "This example selects a French keyboard layout with the <literal>oss</" "literal> variant." msgstr "這個例子選擇 French 鍵盤配置使用 <literal>oss</literal> 變體。" #. (itstool) path: example/title -#: book.translate.xml:11276 +#: book.translate.xml:11291 msgid "Setting a Keyboard Layout" msgstr "設定鍵盤配置" #. (itstool) path: example/para -#: book.translate.xml:11278 +#: book.translate.xml:11293 msgid "" "<filename>/usr/local/etc/X11/xorg.conf.d/keyboard-fr-oss.conf</filename>" msgstr "" #. (itstool) path: example/programlisting -#: book.translate.xml:11280 +#: book.translate.xml:11295 #, no-wrap msgid "" "Section\t\"InputClass\"\n" @@ -17555,12 +17576,12 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:11290 +#: book.translate.xml:11305 msgid "Setting Multiple Keyboard Layouts" msgstr "設定多個鍵盤配置" #. (itstool) path: example/para -#: book.translate.xml:11292 +#: book.translate.xml:11307 msgid "" "Set United States, Spanish, and Ukrainian keyboard layouts. Cycle through " "these layouts by pressing <keycombo action=\"simul\"> <keycap>Alt</keycap> " @@ -17574,13 +17595,13 @@ msgstr "" "強配置切換控制與目前配置的指示。" #. (itstool) path: example/para -#: book.translate.xml:11303 +#: book.translate.xml:11318 msgid "" "<filename>/usr/local/etc/X11/xorg.conf.d/kbd-layout-multi.conf</filename>" msgstr "" #. (itstool) path: example/programlisting -#: book.translate.xml:11305 +#: book.translate.xml:11320 #, no-wrap msgid "" "Section\t\"InputClass\"\n" @@ -17591,12 +17612,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:11315 +#: book.translate.xml:11330 msgid "Closing <application>Xorg</application> From the Keyboard" msgstr "從鍵盤關閉 <application>Xorg</application>" #. (itstool) path: listitem/para -#: book.translate.xml:11319 +#: book.translate.xml:11334 msgid "" "X can be closed with a combination of keys. By default, that key combination " "is not set because it conflicts with keyboard commands for some " @@ -17604,20 +17625,20 @@ msgid "" "<literal>InputDevice</literal> section:" msgstr "" "X 可以使用組合鍵來關閉,預設並未設定組合鍵,因為該組合鍵與部份應用程式的鍵盤" -"指令衝突。要開啟這個選項需要更改鍵盤 <literal>InputDevice</literal> 節:" +"指令衝突。要開啟這個選項需要更改鍵盤 <literal>InputDevice</literal> 節:" #. (itstool) path: example/title -#: book.translate.xml:11327 +#: book.translate.xml:11342 msgid "Enabling Keyboard Exit from X" msgstr "開啟鍵盤離開 X 功能" #. (itstool) path: example/para -#: book.translate.xml:11329 +#: book.translate.xml:11344 msgid "<filename>/usr/local/etc/X11/xorg.conf.d/keyboard-zap.conf</filename>" msgstr "" #. (itstool) path: example/programlisting -#: book.translate.xml:11331 +#: book.translate.xml:11346 #, no-wrap msgid "" "Section\t\"InputClass\"\n" @@ -17629,12 +17650,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:11344 +#: book.translate.xml:11359 msgid "Mice and Pointing Devices" msgstr "滑鼠與指標裝置" #. (itstool) path: sect3/para -#: book.translate.xml:11346 +#: book.translate.xml:11361 msgid "" "Many mouse parameters can be adjusted with configuration options. See " "<citerefentry vendor=\"xorg\"><refentrytitle>mousedrv</" @@ -17645,32 +17666,32 @@ msgstr "" "citerefentry> 來取得完整清單。" #. (itstool) path: varlistentry/term -#: book.translate.xml:11351 +#: book.translate.xml:11366 msgid "Mouse Buttons" msgstr "滑鼠按鍵" #. (itstool) path: listitem/para -#: book.translate.xml:11354 +#: book.translate.xml:11369 msgid "" "The number of buttons on a mouse can be set in the mouse " "<literal>InputDevice</literal> section of <filename>xorg.conf</filename>. To " "set the number of buttons to 7:" msgstr "" "滑鼠的按鍵數可在 <filename>xorg.conf</filename> 的滑鼠 <literal>InputDevice</" -"literal> 節設定,例如要設定按鍵數為 7:" +"literal> 節設定,例如要設定按鍵數為 7:" #. (itstool) path: example/title -#: book.translate.xml:11360 +#: book.translate.xml:11375 msgid "Setting the Number of Mouse Buttons" msgstr "設定滑鼠按鍵數" #. (itstool) path: example/para -#: book.translate.xml:11362 +#: book.translate.xml:11377 msgid "<filename>/usr/local/etc/X11/xorg.conf.d/mouse0-buttons.conf</filename>" msgstr "" #. (itstool) path: example/programlisting -#: book.translate.xml:11364 +#: book.translate.xml:11379 #, no-wrap msgid "" "Section \"InputDevice\"\n" @@ -17680,7 +17701,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11378 +#: book.translate.xml:11393 msgid "" "In some cases, <application>Xorg</application> autoconfiguration does not " "work with particular hardware, or a different configuration is desired. For " @@ -17690,7 +17711,7 @@ msgstr "" "需要使用不同的設定。針對這些情況會建立自訂的設定檔。" #. (itstool) path: sect2/para -#: book.translate.xml:11383 +#: book.translate.xml:11398 msgid "" "A configuration file can be generated by <application>Xorg</application> " "based on the detected hardware. This file is often a useful starting point " @@ -17700,33 +17721,33 @@ msgstr "" "開始自訂設定很有幫助。" #. (itstool) path: sect2/para -#: book.translate.xml:11388 +#: book.translate.xml:11403 msgid "Generating an <filename>xorg.conf</filename>:" -msgstr "產生 <filename>xorg.conf</filename>:" +msgstr "產生 <filename>xorg.conf</filename>:" #. (itstool) path: sect2/screen -#: book.translate.xml:11390 +#: book.translate.xml:11405 #, no-wrap msgid "<prompt>#</prompt> <userinput>Xorg -configure</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11392 +#: book.translate.xml:11407 msgid "" "The configuration file is saved to <filename>/root/xorg.conf.new</filename>. " "Make any changes desired, then test that file with:" msgstr "" "設定檔會儲存至 <filename>/root/xorg.conf.new</filename>,做任何需要的更改,然" -"後使用以下指令測試該檔案:" +"後使用以下指令測試該檔案:" #. (itstool) path: sect2/screen -#: book.translate.xml:11396 +#: book.translate.xml:11411 #, no-wrap msgid "<prompt>#</prompt> <userinput>Xorg -config /root/xorg.conf.new</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11398 +#: book.translate.xml:11413 msgid "" "After the new configuration has been adjusted and tested, it can be split " "into smaller files in the normal location, <filename>/usr/local/etc/X11/xorg." @@ -17736,17 +17757,17 @@ msgstr "" "usr/local/etc/X11/xorg.conf.d/</filename>。" #. (itstool) path: sect1/title -#: book.translate.xml:11416 +#: book.translate.xml:11431 msgid "Using Fonts in <application>Xorg</application>" msgstr "在 <application>Xorg</application> 使用字型" #. (itstool) path: sect2/title -#: book.translate.xml:11419 +#: book.translate.xml:11434 msgid "Type1 Fonts" msgstr "Type1 字型" #. (itstool) path: sect2/para -#: book.translate.xml:11421 +#: book.translate.xml:11436 msgid "" "The default fonts that ship with <application>Xorg</application> are less " "than ideal for typical desktop publishing applications. Large presentation " @@ -17784,14 +17805,14 @@ msgstr "" "linkend=\"truetype\"/>。" #. (itstool) path: sect2/para -#: book.translate.xml:11440 +#: book.translate.xml:11455 msgid "" "To install the above Type1 font collections from the Ports Collection, run " "the following commands:" -msgstr "要從 Port 套件集安裝上述的 Type1 字型集可執行以下指令:" +msgstr "要從 Port 套件集安裝上述的 Type1 字型集可執行以下指令:" #. (itstool) path: sect2/screen -#: book.translate.xml:11443 +#: book.translate.xml:11458 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/x11-fonts/urwfonts</userinput>\n" @@ -17799,7 +17820,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11446 +#: book.translate.xml:11461 msgid "" "And likewise with the freefont or other collections. To have the X server " "detect these fonts, add an appropriate line to the X server configuration " @@ -17807,21 +17828,21 @@ msgid "" msgstr "" "同樣的安裝方式也適用 Freefont 或其他字型集。要讓 X 伺服器偵測到這些新安裝的字" "型,可加入適當的設定到 X 伺服器設定檔 (<filename>/etc/X11/xorg.conf</" -"filename>),內容為:" +"filename>),內容為:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:11451 +#: book.translate.xml:11466 #, no-wrap msgid "FontPath \"/usr/local/share/fonts/urwfonts/\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11453 +#: book.translate.xml:11468 msgid "Alternatively, at the command line in the X session run:" -msgstr "或者在 X session 的指令列執行:" +msgstr "或者在 X session 的指令列執行:" #. (itstool) path: sect2/screen -#: book.translate.xml:11456 +#: book.translate.xml:11471 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>xset fp+ /usr/local/share/fonts/urwfonts</userinput>\n" @@ -17829,7 +17850,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11459 +#: book.translate.xml:11474 msgid "" "This will work but will be lost when the X session is closed, unless it is " "added to the startup file (<filename>~/.xinitrc</filename> for a normal " @@ -17846,22 +17867,22 @@ msgstr "" "範。" #. (itstool) path: sect2/title -#: book.translate.xml:11471 +#: book.translate.xml:11486 msgid "<trademark class=\"registered\">TrueType</trademark> Fonts" msgstr "<trademark class=\"registered\">TrueType</trademark> 字型" #. (itstool) path: sect2/indexterm -#: book.translate.xml:11473 +#: book.translate.xml:11488 msgid "<primary>TrueType Fonts</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:11476 +#: book.translate.xml:11491 msgid "<primary>fonts</primary> <secondary>TrueType</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11481 +#: book.translate.xml:11496 msgid "" "<application>Xorg</application> has built in support for rendering " "<trademark class=\"registered\">TrueType</trademark> fonts. There are two " @@ -17878,13 +17899,13 @@ msgstr "" "\"</literal> section。" #. (itstool) path: sect2/programlisting -#: book.translate.xml:11489 +#: book.translate.xml:11504 #, no-wrap msgid "Load \"freetype\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11491 +#: book.translate.xml:11506 msgid "" "Now make a directory for the <trademark class=\"registered\">TrueType</" "trademark> fonts (for example, <filename>/usr/local/share/fonts/TrueType</" @@ -17911,21 +17932,21 @@ msgstr "" "\"registered\">MS-DOS</trademark>/<trademark class=\"registered\">Windows</" "trademark> 的格式。檔案複製到讓目錄之後,使用 <application>mkfontdir</" "application> 來建立 <filename>fonts.dir</filename> 來讓 X 字型繪製程式知道安" -"裝了新的檔案。<command>mkfontdir</command> 可用套件的方式安裝:" +"裝了新的檔案。<command>mkfontdir</command> 可用套件的方式安裝:" #. (itstool) path: sect2/screen -#: book.translate.xml:11505 +#: book.translate.xml:11520 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install mkfontdir</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11507 +#: book.translate.xml:11522 msgid "Then create an index of X font files in a directory:" -msgstr "然後在目錄中建立 X 字型檔的索引:" +msgstr "然後在目錄中建立 X 字型檔的索引:" #. (itstool) path: sect2/screen -#: book.translate.xml:11510 +#: book.translate.xml:11525 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/local/share/fonts/TrueType</userinput>\n" @@ -17933,17 +17954,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11513 +#: book.translate.xml:11528 msgid "" "Now add the <trademark class=\"registered\">TrueType</trademark> directory " "to the font path. This is just the same as described in <xref linkend=" "\"type1\"/>:" msgstr "" "接著加入 <trademark class=\"registered\">TrueType</trademark> 目錄到字型路" -"徑。這個動作與 <xref linkend=\"type1\"/> 中所介紹的方式相同:" +"徑。這個動作與 <xref linkend=\"type1\"/> 中所介紹的方式相同:" #. (itstool) path: sect2/screen -#: book.translate.xml:11516 +#: book.translate.xml:11531 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>xset fp+ /usr/local/share/fonts/TrueType</userinput>\n" @@ -17951,7 +17972,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11519 +#: book.translate.xml:11534 msgid "" "or add a <literal>FontPath</literal> line to <filename>xorg.conf</filename>." msgstr "" @@ -17959,7 +17980,7 @@ msgstr "" "filename>。" #. (itstool) path: sect2/para -#: book.translate.xml:11522 +#: book.translate.xml:11537 msgid "" "Now <application>Gimp</application>, <application>Apache OpenOffice</" "application>, and all of the other X applications should now recognize the " @@ -17975,22 +17996,22 @@ msgstr "" "application> 中) 現在會看起來比較像樣了。" #. (itstool) path: sect2/title -#: book.translate.xml:11543 +#: book.translate.xml:11558 msgid "Anti-Aliased Fonts" msgstr "反鋸齒字型" #. (itstool) path: sect2/indexterm -#: book.translate.xml:11545 +#: book.translate.xml:11560 msgid "<primary>anti-aliased fonts</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:11548 +#: book.translate.xml:11563 msgid "<primary>fonts</primary> <secondary>anti-aliased</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11553 +#: book.translate.xml:11568 msgid "" "All fonts in <application>Xorg</application> that are found in <filename>/" "usr/local/share/fonts/</filename> and <filename>~/.fonts/</filename> are " @@ -18006,29 +18027,29 @@ msgstr "" "<application>Firefox</application>。" #. (itstool) path: sect2/para -#: book.translate.xml:11562 +#: book.translate.xml:11577 msgid "" -"In order to control which fonts are anti-aliased, or to configure anti-" -"aliasing properties, create (or edit, if it already exists) the file " -"<filename>/usr/local/etc/fonts/local.conf</filename>. Several advanced " -"features of the Xft font system can be tuned using this file; this section " -"describes only some simple possibilities. For more details, please see " -"<citerefentry vendor=\"xorg\"><refentrytitle>fonts-conf</" -"refentrytitle><manvolnum>5</manvolnum></citerefentry>." +"To control which fonts are anti-aliased, or to configure anti-aliasing " +"properties, create (or edit, if it already exists) the file <filename>/usr/" +"local/etc/fonts/local.conf</filename>. Several advanced features of the Xft " +"font system can be tuned using this file; this section describes only some " +"simple possibilities. For more details, please see <citerefentry vendor=" +"\"xorg\"><refentrytitle>fonts-conf</refentrytitle><manvolnum>5</manvolnum></" +"citerefentry>." msgstr "" "要控制那一些字型要做反鋸齒或設定反鋸齒的屬性,需建立 <filename>/usr/local/" "etc/fonts/local.conf</filename> 檔案 (若檔案存在則編輯)。在這個檔案中可以調" "整 Xft 字型系統的數項進階功能,本章節僅介紹部份簡單的項目,要取得進一步資訊," -"可參考 <citerefentry vendor=\"xorg\"><refentrytitle>fonts-conf</" +"請參考 <citerefentry vendor=\"xorg\"><refentrytitle>fonts-conf</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>。" #. (itstool) path: sect2/indexterm -#: book.translate.xml:11571 +#: book.translate.xml:11586 msgid "<primary>XML</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11573 +#: book.translate.xml:11588 msgid "" "This file must be in XML format. Pay careful attention to case, and make " "sure all tags are properly closed. The file begins with the usual XML header " @@ -18037,10 +18058,10 @@ msgid "" msgstr "" "這個檔案必須使用 XML 格式,小心文字大小寫,且要確定所有標籤均有正常結尾。檔案" "的開頭使用常見的 XML 檔首,接著為 DOCTYPE 定義,然後是 <literal><" -"fontconfig></literal> 標籤:" +"fontconfig></literal> 標籤:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:11579 +#: book.translate.xml:11594 #, no-wrap msgid "" "<?xml version=\"1.0\"?>\n" @@ -18049,40 +18070,40 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11583 +#: book.translate.xml:11598 msgid "" "As previously stated, all fonts in <filename>/usr/local/share/fonts/</" "filename> as well as <filename>~/.fonts/</filename> are already made " -"available to Xft-aware applications. If you wish to add another directory " -"outside of these two directory trees, add a line similar to the following to " -"<filename>/usr/local/etc/fonts/local.conf</filename>:" +"available to Xft-aware applications. To add another directory outside of " +"these two directory trees, add a line like this to <filename>/usr/local/etc/" +"fonts/local.conf</filename>:" msgstr "" "如同前面所提到的,所有在 <filename>/usr/local/share/fonts/</filename> 與 " -"<filename>~/.fonts/</filename> 的字型均已在 Xft-aware 的應用程式做反鋸齒效" -"果,若您想要加入除了上兩者以外的目錄,可加入下行設定到 <filename>/usr/local/" -"etc/fonts/local.conf</filename>:" +"<filename>~/.fonts/</filename> 的字型均可在 Xft-aware 的應用程式做反鋸齒效" +"果,若您想要加入除了上兩者以外的目錄,可加入如下行設定到 <filename>/usr/" +"local/etc/fonts/local.conf</filename>:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:11591 +#: book.translate.xml:11606 #, no-wrap msgid "<dir>/path/to/my/fonts</dir>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11593 +#: book.translate.xml:11608 msgid "" -"After adding new fonts, and especially new font directories, you should run " -"the following command to rebuild the font caches:" -msgstr "加入新字型及額外的新字型目錄之後,您應執行以下指令來重新建立字型快取:" +"After adding new fonts, and especially new font directories, rebuild the " +"font caches:" +msgstr "加入新字型及額外的新字型目錄之後,需重新建立字型快取:" #. (itstool) path: sect2/screen -#: book.translate.xml:11597 +#: book.translate.xml:11612 #, no-wrap msgid "<prompt>#</prompt> <userinput>fc-cache -f</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11599 +#: book.translate.xml:11614 msgid "" "Anti-aliasing makes borders slightly fuzzy, which makes very small text more " "readable and removes <quote>staircases</quote> from large text, but can " @@ -18091,10 +18112,10 @@ msgid "" msgstr "" "反鋸齒效果會讓文字的邊緣變模糊,這會讓非常小的文字更能閱讀且去除大型文字的 " "<quote>鋸齒</quote>,但套用在一般的文字可能會造成眼睛的疲勞。要排除小於 14 點" -"的字型大小使用反鋸齒效果,可加入這些行:" +"的字型大小使用反鋸齒效果,可加入這些行:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:11606 +#: book.translate.xml:11621 #, no-wrap msgid "" " <match target=\"font\">\n" @@ -18116,27 +18137,27 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:11623 +#: book.translate.xml:11638 msgid "<primary>fonts</primary> <secondary>spacing</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11628 +#: book.translate.xml:11643 msgid "" -"Spacing for some monospaced fonts may also be inappropriate with anti-" +"Spacing for some monospaced fonts might also be inappropriate with anti-" "aliasing. This seems to be an issue with <application>KDE</application>, in " -"particular. One possible fix for this is to force the spacing for such fonts " -"to be 100. Add the following lines:" +"particular. One possible fix is to force the spacing for such fonts to be " +"100. Add these lines:" msgstr "" -"反鋸齒所產生的間距對於部份等寬字型並不適合,尤其是在使用 <application>KDE</" -"application> 時會發生問題。可能的修正方式是強制字型的間距為 100,可加入以下" -"行:" +"反鋸齒所產生的間距對於部份等寬字型並不合適,尤其是在使用 <application>KDE</" +"application> 時會成為一個問題。可能的修正方式是強制這類字型的間距為 100,可加" +"入以下行:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:11634 +#: book.translate.xml:11649 #, no-wrap msgid "" -" <match target=\"pattern\" name=\"family\">\n" +"\t<match target=\"pattern\" name=\"family\">\n" "\t <test qual=\"any\" name=\"family\">\n" "\t <string>fixed</string>\n" "\t </test>\n" @@ -18155,15 +18176,15 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11651 +#: book.translate.xml:11666 msgid "" "(this aliases the other common names for fixed fonts as <literal>\"mono\"</" "literal>), and then add:" msgstr "" -"(這會設定等寬字型的其他常用名稱為 <literal>\"mono\"</literal>),然後加入:" +"(這會設定等寬字型的其他常用名稱為 <literal>\"mono\"</literal>),然後加入:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:11654 +#: book.translate.xml:11669 #, no-wrap msgid "" " <match target=\"pattern\" name=\"family\">\n" @@ -18177,7 +18198,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11663 +#: book.translate.xml:11678 msgid "" "Certain fonts, such as Helvetica, may have a problem when anti-aliased. " "Usually this manifests itself as a font that seems cut in half vertically. " @@ -18186,10 +18207,10 @@ msgid "" msgstr "" "部份字型,如 Helvetica,在使用反鋸齒時可能會發生問題,通常會呈現像垂直切成兩" "半的字型,最差還可能會導致應用程式當掉。要避免這個問題,可考慮加入以下設定到 " -"<filename>local.conf</filename>:" +"<filename>local.conf</filename>:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:11669 +#: book.translate.xml:11684 #, no-wrap msgid "" " <match target=\"pattern\" name=\"family\">\n" @@ -18203,38 +18224,35 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11678 +#: book.translate.xml:11693 msgid "" -"Once you have finished editing <filename>local.conf</filename> make sure you " -"end the file with the <literal></fontconfig></literal> tag. Not doing " -"this will cause your changes to be ignored." +"After editing <filename>local.conf</filename>, make certain to end the file " +"with the <literal></fontconfig></literal> tag. Not doing this will " +"cause changes to be ignored." msgstr "" "編輯 <filename>local.conf</filename> 完之後,請確認有使用 <literal></" -"fontconfig></literal> 標籤結尾,若沒使用會讓您的更改直接被忽略。" +"fontconfig></literal> 標籤結尾,若沒有使用會讓所做的更改被忽略。" #. (itstool) path: sect2/para -#: book.translate.xml:11683 +#: book.translate.xml:11698 msgid "" -"Finally, users can add their own settings via their personal <filename>." -"fonts.conf</filename> files. To do this, each user should simply create a " -"<filename>~/.fonts.conf</filename>. This file must also be in XML format." +"Users can add personalized settings by creating their own <filename>~/." +"config/fontconfig/fonts.conf</filename>. This file uses the same " +"<acronym>XML</acronym> format described above." msgstr "" -"最後,使用者可以透過個人的 <filename>.fonts.conf</filename> 檔案來加入自己的" -"設定。要加入個人設定,每位使用者只需簡單的建立 <filename>~/.fonts.conf</" -"filename>,這個檔案也同樣需要為 XML 格式。" #. (itstool) path: sect2/indexterm -#: book.translate.xml:11689 +#: book.translate.xml:11703 msgid "<primary>LCD screen</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:11690 +#: book.translate.xml:11704 msgid "<primary>Fonts</primary> <secondary>LCD screen</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11693 +#: book.translate.xml:11707 msgid "" "One last point: with an LCD screen, sub-pixel sampling may be desired. This " "basically treats the (horizontally separated) red, green and blue components " @@ -18242,16 +18260,16 @@ msgid "" "dramatic. To enable this, add the line somewhere in <filename>local.conf</" "filename>:" msgstr "" -"最後一點: 若有使用 LCD 螢幕,可能會想要使用子像素取樣 (Sub-pixel sampling)," +"最後一點:若有使用 LCD 螢幕,可能會想要使用子像素取樣 (Sub-pixel sampling)," "這基本上會分開處理 (水平分隔) 紅、綠、藍色彩組成來提高垂直解析度,結果可能是" "無法預料的。要開啟這個功能,加入下行到 <filename>local.conf</filename> 的任一" -"處:" +"處:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:11700 +#: book.translate.xml:11714 #, no-wrap msgid "" -"<match target=\"font\">\n" +"\t <match target=\"font\">\n" "\t <test qual=\"all\" name=\"rgba\">\n" "\t\t <const>unknown</const>\n" "\t </test>\n" @@ -18262,35 +18280,35 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:11710 +#: book.translate.xml:11724 msgid "" "Depending on the sort of display, <literal>rgb</literal> may need to be " "changed to <literal>bgr</literal>, <literal>vrgb</literal> or <literal>vbgr</" "literal>: experiment and see which works best." msgstr "" -"依據不同的顯示器類型,<literal>rgb</literal> 可能會需要更改為 <literal>bgr</" -"literal>, <literal>vrgb</literal> 或 <literal>vbgr</literal>: 可實驗看看然後" +"依據不同的顯示器類型可能會需要將 <literal>rgb</literal> 更改為 <literal>bgr</" +"literal>, <literal>vrgb</literal> 或 <literal>vbgr</literal>:可實驗看看然後" "看那一個效果最好。" #. (itstool) path: info/title -#: book.translate.xml:11721 +#: book.translate.xml:11735 msgid "The X Display Manager" msgstr "X 顯示管理程式" #. (itstool) path: authorgroup/author -#: book.translate.xml:11724 +#: book.translate.xml:11738 msgid "" "<personname> <firstname>Seth</firstname> <surname>Kingsley</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:11734 +#: book.translate.xml:11748 msgid "<primary>X Display Manager</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:11735 +#: book.translate.xml:11749 msgid "" "<application>Xorg</application> provides an X Display Manager, " "<application>XDM</application>, which can be used for login session " @@ -18304,7 +18322,7 @@ msgstr "" "(登入與密碼)。" #. (itstool) path: sect1/para -#: book.translate.xml:11742 +#: book.translate.xml:11756 msgid "" "This section demonstrates how to configure the X Display Manager on FreeBSD. " "Some desktop environments provide their own graphical login manager. Refer " @@ -18318,12 +18336,12 @@ msgstr "" "> 取得如何設定 KDE 顯示管理程式 (KDE Display Manager) 的操作方式。" #. (itstool) path: sect2/title -#: book.translate.xml:11749 +#: book.translate.xml:11763 msgid "Configuring <application>XDM</application>" msgstr "設定 <application>XDM</application>" #. (itstool) path: sect2/para -#: book.translate.xml:11751 +#: book.translate.xml:11765 msgid "" "To install <application>XDM</application>, use the <package>x11/xdm</" "package> package or port. Once installed, <application>XDM</application> can " @@ -18332,16 +18350,16 @@ msgid "" msgstr "" "要安裝 <application>XDM</application> 可使用 <package>x11/xdm</package> 套件" "或 Port。安裝完成之後,可設定 <application>XDM</application> 在開機時執行,只" -"需編輯 <filename>/etc/ttys</filename> 中的此項目:" +"需編輯 <filename>/etc/ttys</filename> 中的此項目:" #. (itstool) path: sect2/screen -#: book.translate.xml:11757 +#: book.translate.xml:11771 #, no-wrap msgid "ttyv8 \"/usr/local/bin/xdm -nodaemon\" xterm off secure" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11759 +#: book.translate.xml:11773 msgid "" "Change the <literal>off</literal> to <literal>on</literal> and save the " "edit. The <literal>ttyv8</literal> in this entry indicates that " @@ -18352,7 +18370,7 @@ msgstr "" "第 9 個虛擬終端機執行。" #. (itstool) path: sect2/para -#: book.translate.xml:11764 +#: book.translate.xml:11778 msgid "" "The <application>XDM</application> configuration directory is located in " "<filename>/usr/local/lib/X11/xdm</filename>. This directory contains several " @@ -18373,22 +18391,22 @@ msgstr "" "citerefentry> 有說明。" #. (itstool) path: table/title -#: book.translate.xml:11774 +#: book.translate.xml:11788 msgid "XDM Configuration Files" msgstr "XDM 設定檔" #. (itstool) path: row/entry -#: book.translate.xml:11779 book.translate.xml:55403 +#: book.translate.xml:11793 book.translate.xml:55457 msgid "File" msgstr "檔案" #. (itstool) path: row/entry -#: book.translate.xml:11786 +#: book.translate.xml:11800 msgid "<filename>Xaccess</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:11787 +#: book.translate.xml:11801 msgid "" "The protocol for connecting to <application>XDM</application> is called the " "X Display Manager Connection Protocol (<acronym>XDMCP</acronym>) This file " @@ -18402,12 +18420,12 @@ msgstr "" "預設此檔案並不允許任何遠端的客戶端連線。" #. (itstool) path: row/entry -#: book.translate.xml:11797 +#: book.translate.xml:11811 msgid "<filename>Xresources</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:11798 +#: book.translate.xml:11812 msgid "" "This file controls the look and feel of the <application>XDM</application> " "display chooser and login screens. The default configuration is a simple " @@ -18422,24 +18440,24 @@ msgstr "" "<application>Xorg</application> 說明文件中說明的 app-defaults 檔相同。" #. (itstool) path: row/entry -#: book.translate.xml:11811 +#: book.translate.xml:11825 msgid "<filename>Xservers</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:11812 +#: book.translate.xml:11826 msgid "" "The list of local and remote displays the chooser should provide as login " "choices." msgstr "登入選擇時在選擇器上要提供的本地及遠端顯示清單。" #. (itstool) path: row/entry -#: book.translate.xml:11817 +#: book.translate.xml:11831 msgid "<filename>Xsession</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:11818 +#: book.translate.xml:11832 msgid "" "Default session script for logins which is run by <application>XDM</" "application> after a user has logged in. Normally each user will have a " @@ -18451,12 +18469,12 @@ msgstr "" "來覆蓋此 Script 的設定。" #. (itstool) path: row/entry -#: book.translate.xml:11826 +#: book.translate.xml:11840 msgid "<filename>Xsetup_</filename>*" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:11827 +#: book.translate.xml:11841 msgid "" "Script to automatically launch applications before displaying the chooser or " "login interfaces. There is a script for each display being used, named " @@ -18470,22 +18488,22 @@ msgstr "" "<command>xconsole</command>。" #. (itstool) path: row/entry -#: book.translate.xml:11838 +#: book.translate.xml:11852 msgid "<filename>xdm-config</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:11839 +#: book.translate.xml:11853 msgid "Global configuration for all displays running on this machine." msgstr "用來設定所有在此機器上執行的顯示的全域設定檔。" #. (itstool) path: row/entry -#: book.translate.xml:11844 +#: book.translate.xml:11858 msgid "<filename>xdm-errors</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:11845 +#: book.translate.xml:11859 msgid "" "Contains errors generated by the server program. If a display that " "<application>XDM</application> is trying to start hangs, look at this file " @@ -18497,23 +18515,23 @@ msgstr "" "寫入至使用者的 <filename>~/.xsession-errors</filename>。" #. (itstool) path: row/entry -#: book.translate.xml:11854 +#: book.translate.xml:11868 msgid "<filename>xdm-pid</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:11855 +#: book.translate.xml:11869 msgid "" "The running process <acronym>ID</acronym> of <application>XDM</application>." msgstr "<application>XDM</application> 的執行程序 <acronym>ID</acronym>。" #. (itstool) path: sect2/title -#: book.translate.xml:11864 +#: book.translate.xml:11878 msgid "Configuring Remote Access" msgstr "設定遠端存取" #. (itstool) path: sect2/para -#: book.translate.xml:11866 +#: book.translate.xml:11880 msgid "" "By default, only users on the same system can login using <application>XDM</" "application>. To enable users on other systems to connect to the display " @@ -18523,7 +18541,7 @@ msgstr "" "其他系統的使用者可連線到顯示伺服器,需編輯存取控制規則及開啟連線傾聽程式。" #. (itstool) path: sect2/para -#: book.translate.xml:11871 +#: book.translate.xml:11885 msgid "" "To configure <application>XDM</application> to listen for any remote " "connection, comment out the <literal>DisplayManager.requestPort</literal> " @@ -18532,10 +18550,10 @@ msgid "" msgstr "" "要設定 <application>XDM</application> 傾聽作何遠端的連線,在 <filename>/usr/" "local/lib/X11/xdm/xdm-config</filename> 中的 <literal>DisplayManager." -"requestPort</literal> 行前加上 <literal>!</literal> 來註解該行:" +"requestPort</literal> 行前加上 <literal>!</literal> 來註解該行:" #. (itstool) path: sect2/screen -#: book.translate.xml:11877 +#: book.translate.xml:11891 #, no-wrap msgid "" "! SECURITY: do not listen for XDMCP or Chooser requests\n" @@ -18544,7 +18562,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11881 +#: book.translate.xml:11895 msgid "" "Save the edits and restart <application>XDM</application>. To restrict " "remote access, look at the example entries in <filename>/usr/local/lib/X11/" @@ -18558,19 +18576,19 @@ msgstr "" "refentrytitle><manvolnum>1</manvolnum></citerefentry> 取得進一步資訊。" #. (itstool) path: info/title -#: book.translate.xml:11890 +#: book.translate.xml:11904 msgid "Desktop Environments" msgstr "桌面環境" #. (itstool) path: authorgroup/author -#: book.translate.xml:11893 +#: book.translate.xml:11907 msgid "" "<personname> <firstname>Valentino</firstname> <surname>Vaschetto</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:11904 +#: book.translate.xml:11918 msgid "" "This section describes how to install three popular desktop environments on " "a FreeBSD system. A desktop environment can range from a simple window " @@ -18583,12 +18601,12 @@ msgstr "" "<filename>x11-wm</filename> 分類取得。" #. (itstool) path: sect2/title -#: book.translate.xml:11912 +#: book.translate.xml:11926 msgid "GNOME" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11915 +#: book.translate.xml:11929 msgid "" "<application>GNOME</application> is a user-friendly desktop environment. It " "includes a panel for starting applications and displaying status, a desktop, " @@ -18603,23 +18621,23 @@ msgstr "" "<application>GNOME</application> 是一個擁有友善使用者介面的的桌面環境,它包括" "用於啟動應用程式和顯示狀態的面板、一系列工具與應用程序及一套可讓應用程式更容" "易進行合作、相互一致的協定。更多有關 FreeBSD <application>GNOME</" -"application> 的訊息可在<link xlink:href=\"http://www.FreeBSD.org/gnome" +"application> 的訊息可在 <link xlink:href=\"http://www.FreeBSD.org/gnome" "\">http://www.FreeBSD.org/gnome</link> 取得,該網站包含了有關在 FreeBSD 安" "裝、設定和管理 <application>GNOME</application> 的額外文件。" #. (itstool) path: sect2/para -#: book.translate.xml:11926 +#: book.translate.xml:11940 msgid "This desktop environment can be installed from a package:" -msgstr "這套桌面環境可以從套件安裝:" +msgstr "這套桌面環境可以從套件安裝:" #. (itstool) path: sect2/screen -#: book.translate.xml:11929 +#: book.translate.xml:11943 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install gnome3</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11931 +#: book.translate.xml:11945 msgid "" "To instead build <application>GNOME</application> from ports, use the " "following command. <application>GNOME</application> is a large application " @@ -18630,7 +18648,7 @@ msgstr "" "上,也會需要花費一些時間編譯。" #. (itstool) path: sect2/screen -#: book.translate.xml:11937 +#: book.translate.xml:11951 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/x11/gnome3</userinput>\n" @@ -18638,7 +18656,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11940 +#: book.translate.xml:11954 msgid "" "<application>GNOME</application> requires <filename>/proc</filename> to be " "mounted. Add this line to <filename>/etc/fstab</filename> to mount this file " @@ -18648,13 +18666,13 @@ msgstr "" "行到 <filename>/etc/fstab</filename> 讓系統啟動時會自動掛載這個檔案系統。" #. (itstool) path: sect2/programlisting -#: book.translate.xml:11945 book.translate.xml:12036 +#: book.translate.xml:11959 book.translate.xml:12050 #, no-wrap msgid "proc /proc procfs rw 0 0" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11947 +#: book.translate.xml:11961 msgid "" "<application>GNOME</application> uses <application>D-Bus</application> and " "<application>HAL</application> for a message bus and hardware abstraction. " @@ -18665,10 +18683,10 @@ msgstr "" "<application>GNOME</application> 使用了 <application>D-Bus</application> 以" "及 <application>HAL</application> 的 Message bus 與 Hardware abstraction。這" "兩個應用程式會隨著 <application>GNOME</application> 的相依一併自動安裝,但需" -"要在 <filename>/etc/rc.conf</filename> 開啟,這樣在系統開機時才會啟動:" +"要在 <filename>/etc/rc.conf</filename> 開啟,這樣在系統開機時才會啟動:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:11955 book.translate.xml:12046 +#: book.translate.xml:11969 book.translate.xml:12060 #, no-wrap msgid "" "dbus_enable=\"YES\"\n" @@ -18676,7 +18694,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11958 +#: book.translate.xml:11972 msgid "" "After installation, configure <application>Xorg</application> to start " "<application>GNOME</application>. The easiest way to do this is to enable " @@ -18688,39 +18706,39 @@ msgstr "" "<application>GNOME</application>。最簡單的方法是開啟 GNOME Display Manager, " "<application>GDM</application>,該程式已做為 <application>GNOME</" "application> 套件或 Port 的一部份安裝了,可加入下行到 <filename>/etc/rc." -"conf</filename> 來開啟:" +"conf</filename> 來開啟:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:11967 +#: book.translate.xml:11981 #, no-wrap msgid "gdm_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11969 +#: book.translate.xml:11983 msgid "" "It is often desirable to also start all <application>GNOME</application> " "services. To achieve this, add a second line to <filename>/etc/rc.conf</" "filename>:" msgstr "" "通常也會需要啟動所有的 <application>GNOME</application> 服務,可加入下行到 " -"<filename>/etc/rc.conf</filename>:" +"<filename>/etc/rc.conf</filename>:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:11973 +#: book.translate.xml:11987 #, no-wrap msgid "gnome_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11975 +#: book.translate.xml:11989 msgid "" "<application>GDM</application> will start automatically when the system " "boots." msgstr "<application>GDM</application> 則會在系統開機時自動啟動。" #. (itstool) path: sect2/para -#: book.translate.xml:11978 +#: book.translate.xml:11992 msgid "" "A second method for starting <application>GNOME</application> is to type " "<command>startx</command> from the command-line after configuring " @@ -18732,25 +18750,25 @@ msgstr "" "第二種啟動 <application>GNOME</application> 的方法是在設定完 <filename>~/." "xinitrc</filename> 後在指令列輸入 <command>startx</command>。若這個檔案已經存" "在,替換啟動目前視窗管理程式的那一行,改為啟動 <filename>/usr/local/bin/" -"gnome-session</filename>。若檔案不存在,則使用以下指令建立一個:" +"gnome-session</filename>。若檔案不存在,則使用以下指令建立一個:" #. (itstool) path: sect2/screen -#: book.translate.xml:11987 +#: book.translate.xml:12001 #, no-wrap msgid "<prompt>%</prompt> <userinput>echo \"exec /usr/local/bin/gnome-session\" > ~/.xinitrc</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:11989 +#: book.translate.xml:12003 msgid "" "A third method is to use <application>XDM</application> as the display " "manager. In this case, create an executable <filename>~/.xsession</filename>:" msgstr "" "第三種方法是使用 <application>XDM</application> 做為顯示管理程式,在這個方法" -"需要建立一個可執行的 <filename>~/.xsession</filename>:" +"需要建立一個可執行的 <filename>~/.xsession</filename>:" #. (itstool) path: sect2/screen -#: book.translate.xml:11993 +#: book.translate.xml:12007 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>echo \"#!/bin/sh\" > ~/.xsession</userinput>\n" @@ -18759,12 +18777,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:11999 +#: book.translate.xml:12013 msgid "KDE" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12003 +#: book.translate.xml:12017 msgid "" "<application>KDE</application> is another easy-to-use desktop environment. " "This desktop provides a suite of applications with a consistent look and " @@ -18783,18 +18801,18 @@ msgstr "" "freebsd.kde.org</link>。" #. (itstool) path: sect2/para -#: book.translate.xml:12012 +#: book.translate.xml:12026 msgid "To install the <application>KDE</application> package, type:" -msgstr "要安裝 <application>KDE</application> 套件,請輸入:" +msgstr "要安裝 <application>KDE</application> 套件,請輸入:" #. (itstool) path: sect2/screen -#: book.translate.xml:12015 +#: book.translate.xml:12029 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install x11/kde4</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12017 +#: book.translate.xml:12031 msgid "" "To instead build the <application>KDE</application> port, use the following " "command. Installing the port will provide a menu for selecting which " @@ -18806,7 +18824,7 @@ msgstr "" "一個大型的應用程式,即使在較快的電腦上仍需要花費一段時間來編譯。" #. (itstool) path: sect2/screen -#: book.translate.xml:12023 +#: book.translate.xml:12037 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/x11/kde4</userinput>\n" @@ -18814,22 +18832,22 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:12026 +#: book.translate.xml:12040 msgid "<primary>KDE</primary> <secondary>display manager</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12031 +#: book.translate.xml:12045 msgid "" "<application>KDE</application> requires <filename>/proc</filename> to be " "mounted. Add this line to <filename>/etc/fstab</filename> to mount this file " "system automatically during system startup:" msgstr "" "<application>KDE</application> 需要掛載 <filename>/proc</filename>。加入下行" -"到 <filename>/etc/fstab</filename> 讓系統啟動時會自動掛載這個檔案系統:" +"到 <filename>/etc/fstab</filename> 讓系統啟動時會自動掛載這個檔案系統:" #. (itstool) path: sect2/para -#: book.translate.xml:12038 +#: book.translate.xml:12052 msgid "" "<application>KDE</application> uses <application>D-Bus</application> and " "<application>HAL</application> for a message bus and hardware abstraction. " @@ -18840,10 +18858,10 @@ msgstr "" "<application>KDE</application> 使用了 <application>D-Bus</application> 以及 " "<application>HAL</application> 的 Message bus 與 Hardware abstraction。這兩個" "應用程式會隨著 <application>KDE</application> 的相依一併自動安裝,但需要在 " -"<filename>/etc/rc.conf</filename> 開啟,這樣在系統開機時才會啟動:" +"<filename>/etc/rc.conf</filename> 開啟,這樣在系統開機時才會啟動:" #. (itstool) path: sect2/para -#: book.translate.xml:12049 +#: book.translate.xml:12063 msgid "" "The installation of <application>KDE</application> includes the KDE Display " "Manager, <application>KDM</application>. To enable this display manager, add " @@ -18851,16 +18869,16 @@ msgid "" msgstr "" "<application>KDE</application> 的安裝包含了 KDE Display Manager, " "<application>KDM</application>,要開啟這個顯示管理程式,需加入下行到 " -"<filename>/etc/rc.conf</filename>:" +"<filename>/etc/rc.conf</filename>:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:12055 +#: book.translate.xml:12069 #, no-wrap msgid "kdm4_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12057 +#: book.translate.xml:12071 msgid "" "A second method for launching <application>KDE</application> is to type " "<command>startx</command> from the command line. For this to work, the " @@ -18868,16 +18886,16 @@ msgid "" msgstr "" "第二種執行 <application>KDE</application> 的方法是在在指令列輸入 " "<command>startx</command>。要採用這個方式,需要加入下行到 <filename>~/." -"xinitrc</filename>:" +"xinitrc</filename>:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:12063 +#: book.translate.xml:12077 #, no-wrap msgid "exec /usr/local/bin/startkde" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12065 +#: book.translate.xml:12079 msgid "" "A third method for starting <application>KDE</application> is through " "<application>XDM</application>. To do so, create an executable <filename>~/." @@ -18885,10 +18903,10 @@ msgid "" msgstr "" "第三種啟動 <application>KDE</application> 的方式是透過 <application>XDM</" "application>,要使用這個方法需要建立一個可執行的 <filename>~/.xsession</" -"filename> 如下:" +"filename> 如下:" #. (itstool) path: sect2/screen -#: book.translate.xml:12070 +#: book.translate.xml:12084 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>echo \"#!/bin/sh\" > ~/.xsession</userinput>\n" @@ -18897,7 +18915,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12074 +#: book.translate.xml:12088 msgid "" "Once <application>KDE</application> is started, refer to its built-in help " "system for more information on how to use its various menus and applications." @@ -18906,12 +18924,12 @@ msgstr "" "如何使用各種選單及應用程式的資訊。" #. (itstool) path: sect2/title -#: book.translate.xml:12080 +#: book.translate.xml:12094 msgid "Xfce" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12082 +#: book.translate.xml:12096 msgid "" "<application>Xfce</application> is a desktop environment based on the GTK+ " "toolkit used by <application>GNOME</application>. However, it is more " @@ -18932,23 +18950,23 @@ msgstr "" "xfce.org</link> 取得。" #. (itstool) path: sect2/para -#: book.translate.xml:12093 +#: book.translate.xml:12107 msgid "To install the <application>Xfce</application> package:" -msgstr "要安裝 <application>Xfce</application> 套件:" +msgstr "要安裝 <application>Xfce</application> 套件:" #. (itstool) path: sect2/screen -#: book.translate.xml:12096 +#: book.translate.xml:12110 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install xfce</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12098 +#: book.translate.xml:12112 msgid "Alternatively, to build the port:" -msgstr "或者使用 Port 編譯:" +msgstr "或者使用 Port 編譯:" #. (itstool) path: sect2/screen -#: book.translate.xml:12100 +#: book.translate.xml:12114 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/x11-wm/xfce4</userinput>\n" @@ -18956,7 +18974,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12103 +#: book.translate.xml:12117 msgid "" "Unlike <application>GNOME</application> or <application>KDE</application>, " "<application>Xfce</application> does not provide its own login manager. In " @@ -18967,25 +18985,25 @@ msgstr "" "不像 <application>GNOME</application> 或 <application>KDE</application>," "<application>Xfce</application> 並沒有自己的登入管理程式,要由指令列啟動 " "<application>Xfce</application> 需輸入 <command>startx</command>,在這之前需" -"先加入其項目到 <filename>~/.xinitrc</filename>:" +"先加入其項目到 <filename>~/.xinitrc</filename>:" #. (itstool) path: sect2/screen -#: book.translate.xml:12110 +#: book.translate.xml:12124 #, no-wrap msgid "<prompt>%</prompt> <userinput>echo \"exec /usr/local/bin/startxfce4 --with-ck-launch\" > ~/.xinitrc</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12112 +#: book.translate.xml:12126 msgid "" "An alternate method is to use <application>XDM</application>. To configure " "this method, create an executable <filename>~/.xsession</filename>:" msgstr "" "另一種方式是使用 <application>XDM</application>,要設定這個方式需建立一個可執" -"行的 <filename>~/.xsession</filename>:" +"行的 <filename>~/.xsession</filename>:" #. (itstool) path: sect2/screen -#: book.translate.xml:12116 +#: book.translate.xml:12130 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>echo \"#!/bin/sh\" > ~/.xsession</userinput>\n" @@ -18994,19 +19012,19 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:12123 +#: book.translate.xml:12137 msgid "Installing Compiz Fusion" msgstr "安裝 Compiz Fusion" #. (itstool) path: sect1/para -#: book.translate.xml:12125 +#: book.translate.xml:12139 msgid "" "One way to make using a desktop computer more pleasant is with nice 3D " "effects." msgstr "要令使用桌面電腦更令人愉快的方法是用炫麗的 3D 效果。" #. (itstool) path: sect1/para -#: book.translate.xml:12128 +#: book.translate.xml:12142 msgid "" "Installing the <application>Compiz Fusion</application> package is easy, but " "configuring it requires a few steps that are not described in the port's " @@ -19016,12 +19034,12 @@ msgstr "" "一些未在 Port 說明文件中說明的步驟。" #. (itstool) path: sect2/title -#: book.translate.xml:12133 +#: book.translate.xml:12147 msgid "Setting up the FreeBSD nVidia Driver" msgstr "設定 FreeBSD nVidia 驅動程式" #. (itstool) path: sect2/para -#: book.translate.xml:12135 +#: book.translate.xml:12149 msgid "" "Desktop effects can cause quite a load on the graphics card. For an nVidia-" "based graphics card, the proprietary driver is required for good " @@ -19033,7 +19051,7 @@ msgstr "" "<filename>xorg.conf</filename> 設定。" #. (itstool) path: sect2/para -#: book.translate.xml:12141 +#: book.translate.xml:12155 msgid "" "To determine which nVidia driver is needed see the <link xlink:href=" "\"@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/faq/x.html#idp59950544\">FAQ " @@ -19044,7 +19062,7 @@ msgstr "" "與此主題相關的問題</link>。" #. (itstool) path: sect2/para -#: book.translate.xml:12144 +#: book.translate.xml:12158 msgid "" "Having determined the correct driver to use for your card, installation is " "as simple as installing any other package." @@ -19053,33 +19071,33 @@ msgstr "" "件一樣簡單。" #. (itstool) path: sect2/para -#: book.translate.xml:12148 +#: book.translate.xml:12162 msgid "For example, to install the latest driver:" -msgstr "例如,要安裝最新的驅動程式:" +msgstr "例如,要安裝最新的驅動程式:" #. (itstool) path: sect2/screen -#: book.translate.xml:12150 +#: book.translate.xml:12164 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install x11/nvidia-driver</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12152 +#: book.translate.xml:12166 msgid "" "The driver will create a kernel module, which needs to be loaded at system " "startup. Add the following line to <filename>/boot/loader.conf</filename>:" msgstr "" "驅動程式會建立一個需要在系統啟動時載入的核心模組,加入下行到 <filename>/boot/" -"loader.conf</filename>:" +"loader.conf</filename>:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:12156 +#: book.translate.xml:12170 #, no-wrap msgid "nvidia_load=\"YES\"" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:12159 +#: book.translate.xml:12173 msgid "" "To immediately load the kernel module into the running kernel by issuing a " "command like <command>kldload nvidia</command>, however it has been noted " @@ -19093,38 +19111,38 @@ msgstr "" "要重新開機。" #. (itstool) path: sect2/para -#: book.translate.xml:12168 +#: book.translate.xml:12182 msgid "" "With the kernel module loaded, you normally only need to change a single " "line in <filename>xorg.conf</filename> to enable the proprietary driver:" msgstr "" "核心模組載入之後,您只需要更改 <filename>xorg.conf</filename> 的其中一行來開" -"啟專用的驅動程式:" +"啟專用的驅動程式:" #. (itstool) path: sect2/para -#: book.translate.xml:12172 +#: book.translate.xml:12186 msgid "Find the following line in <filename>/etc/X11/xorg.conf</filename>:" -msgstr "找到 <filename>/etc/X11/xorg.conf</filename> 中的下行:" +msgstr "找到 <filename>/etc/X11/xorg.conf</filename> 中的下行:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:12175 +#: book.translate.xml:12189 #, no-wrap msgid "Driver \"nv\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12177 +#: book.translate.xml:12191 msgid "and change it to:" -msgstr "然後更改該行為:" +msgstr "然後更改該行為:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:12179 +#: book.translate.xml:12193 #, no-wrap msgid "Driver \"nvidia\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12181 +#: book.translate.xml:12195 msgid "" "Start the GUI as usual, and you should be greeted by the nVidia splash. " "Everything should work as usual." @@ -19132,26 +19150,26 @@ msgstr "" "如往常般啟動 GUI,您應該會看到 nVidia 的啟動畫面,其他東西應如往常般運作。" #. (itstool) path: sect2/title -#: book.translate.xml:12186 +#: book.translate.xml:12200 msgid "Configuring xorg.conf for Desktop Effects" msgstr "設定 xorg.conf 來啟動桌面特效" #. (itstool) path: sect2/para -#: book.translate.xml:12188 +#: book.translate.xml:12202 msgid "" "To enable <application>Compiz Fusion</application>, <filename>/etc/X11/xorg." "conf</filename> needs to be modified:" msgstr "" "要開啟 <application>Compiz Fusion</application> 需要修改 <filename>/etc/X11/" -"xorg.conf</filename>:" +"xorg.conf</filename>:" #. (itstool) path: sect2/para -#: book.translate.xml:12192 +#: book.translate.xml:12206 msgid "Add the following section to enable composite effects:" -msgstr "加入以下 Section 來開啟合成特效:" +msgstr "加入以下 Section 來開啟合成特效:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:12195 +#: book.translate.xml:12209 #, no-wrap msgid "" "Section \"Extensions\"\n" @@ -19160,14 +19178,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12199 +#: book.translate.xml:12213 msgid "" "Locate the <quote>Screen</quote> section which should look similar to the " "one below:" -msgstr "找到 <quote>Screen</quote> section,長的應該如下所示:" +msgstr "找到 <quote>Screen</quote> section,長的應該如下所示:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:12202 +#: book.translate.xml:12216 #, no-wrap msgid "" "Section \"Screen\"\n" @@ -19178,12 +19196,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12208 +#: book.translate.xml:12222 msgid "and add the following two lines (after <quote>Monitor</quote> will do):" -msgstr "然後加入以下兩行 (在<quote>Monitor</quote> 之後):" +msgstr "然後加入以下兩行 (在<quote>Monitor</quote> 之後):" #. (itstool) path: sect2/programlisting -#: book.translate.xml:12211 +#: book.translate.xml:12225 #, no-wrap msgid "" "DefaultDepth 24\n" @@ -19191,7 +19209,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12214 +#: book.translate.xml:12228 msgid "" "Locate the <quote>Subsection</quote> that refers to the screen resolution " "that you wish to use. For example, if you wish to use 1280x1024, locate the " @@ -19200,10 +19218,10 @@ msgid "" msgstr "" "找到您欲使用的螢幕解析度所在的 <quote>Subsection</quote>,例如,您想要使用 " "1280x1024,則找到如下所示的 Section。若想要使用的解析度不在任何 Subsection 之" -"中,您可以手動加入對應的項目:" +"中,您可以手動加入對應的項目:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:12220 +#: book.translate.xml:12234 #, no-wrap msgid "" "SubSection \"Display\"\n" @@ -19213,14 +19231,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12225 +#: book.translate.xml:12239 msgid "" "A color depth of 24 bits is needed for desktop composition, change the above " "subsection to:" -msgstr "桌面合成需要 24 bit 的色彩深度,更改上述 Subsection 為:" +msgstr "桌面合成需要 24 bit 的色彩深度,更改上述 Subsection 為:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:12228 +#: book.translate.xml:12242 #, no-wrap msgid "" "SubSection \"Display\"\n" @@ -19231,16 +19249,16 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12234 +#: book.translate.xml:12248 msgid "" "Finally, confirm that the <quote>glx</quote> and <quote>extmod</quote> " "modules are loaded in the <quote>Module</quote> section:" msgstr "" "最後確認在 <quote>Module</quote> section 中已經載入 <quote>glx</quote> 與 " -"<quote>extmod</quote> 模組:" +"<quote>extmod</quote> 模組:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:12238 +#: book.translate.xml:12252 #, no-wrap msgid "" "Section \"Module\"\n" @@ -19250,16 +19268,16 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12243 +#: book.translate.xml:12257 msgid "" "The preceding can be done automatically with <package>x11/nvidia-xconfig</" "package> by running (as root):" msgstr "" "前面所述的動作可以執行 <package>x11/nvidia-xconfig</package> 來自動完成 (使" -"用 root) :" +"用 root):" #. (itstool) path: sect2/screen -#: book.translate.xml:12247 +#: book.translate.xml:12261 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>nvidia-xconfig --add-argb-glx-visuals</userinput>\n" @@ -19268,35 +19286,35 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:12253 +#: book.translate.xml:12267 msgid "Installing and Configuring Compiz Fusion" msgstr "安裝與設定 Compiz Fusion" #. (itstool) path: sect2/para -#: book.translate.xml:12255 +#: book.translate.xml:12269 msgid "" "Installing <application>Compiz Fusion</application> is as simple as any " "other package:" msgstr "" -"安裝 <application>Compiz Fusion</application> 如同安裝其他套件一樣簡單:" +"安裝 <application>Compiz Fusion</application> 如同安裝其他套件一樣簡單:" #. (itstool) path: sect2/screen -#: book.translate.xml:12258 +#: book.translate.xml:12272 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install x11-wm/compiz-fusion</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12260 +#: book.translate.xml:12274 msgid "" "When the installation is finished, start your graphic desktop and at a " "terminal, enter the following commands (as a normal user):" msgstr "" "安裝完成之後,開啟您的圖型化桌面,然後在終端機的畫面輸入以下指令 (使用一般使" -"用者):" +"用者):" #. (itstool) path: sect2/screen -#: book.translate.xml:12264 +#: book.translate.xml:12278 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>compiz --replace --sm-disable --ignore-desktop-hints ccp &</userinput>\n" @@ -19304,7 +19322,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12267 +#: book.translate.xml:12281 msgid "" "Your screen will flicker for a few seconds, as your window manager (e.g. " "<application>Metacity</application> if you are using <application>GNOME</" @@ -19312,23 +19330,23 @@ msgid "" "<application>Emerald</application> takes care of the window decorations (i." "e. close, minimize, maximize buttons, title bars and so on)." msgstr "" -"由於您的視窗管理程式 (例如: <application>Metacity</application>,若您使用 " +"由於您的視窗管理程式 (例如:<application>Metacity</application>,若您使用 " "<application>GNOME</application>) 會被替換成 <application>Compiz Fusion</" "application>,您的螢幕會閃爍幾秒。而 <application>Emerald</application> 會處" -"理視窗的裝飾 (例如: 關閉、最小化、最大化按鈕、標題列及其他相關)。" +"理視窗的裝飾 (例如:關閉、最小化、最大化按鈕、標題列及其他相關)。" #. (itstool) path: sect2/para -#: book.translate.xml:12275 +#: book.translate.xml:12289 msgid "" "You may convert this to a trivial script and have it run at startup " "automatically (e.g. by adding to <quote>Sessions</quote> in a " "<application>GNOME</application> desktop):" msgstr "" "您或許可以將這些指令改寫成較小的 Script 然後在啟動時自動執行 (加到 " -"<application>GNOME</application> 桌面的 <quote>Sessions</quote> 中):" +"<application>GNOME</application> 桌面的 <quote>Sessions</quote> 中):" #. (itstool) path: sect2/programlisting -#: book.translate.xml:12280 +#: book.translate.xml:12294 #, no-wrap msgid "" "#! /bin/sh\n" @@ -19337,22 +19355,22 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12284 +#: book.translate.xml:12298 msgid "" "Save this in your home directory as, for example, <filename>start-compiz</" "filename> and make it executable:" msgstr "" "儲存這個 Script 到您的家目錄所在位置,例如 <filename>start-compiz</" -"filename>,然後讓該檔案可以執行:" +"filename>,然後讓該檔案可以執行:" #. (itstool) path: sect2/screen -#: book.translate.xml:12288 +#: book.translate.xml:12302 #, no-wrap msgid "<prompt>%</prompt> <userinput>chmod +x ~/start-compiz</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12290 +#: book.translate.xml:12304 msgid "" "Then use the GUI to add it to <guimenuitem>Startup Programs</guimenuitem> " "(located in <guimenuitem>System</guimenuitem>, <guimenuitem>Preferences</" @@ -19365,23 +19383,23 @@ msgstr "" "guimenuitem>, 工作階段 <guimenuitem>Sessions</guimenuitem>)。" #. (itstool) path: sect2/para -#: book.translate.xml:12297 +#: book.translate.xml:12311 msgid "" "To actually select all the desired effects and their settings, execute " "(again as a normal user) the <application>Compiz Config Settings Manager</" "application>:" msgstr "" "要選擇所想使用的特效與相關設定,可執行 (一樣使用一般使用者) Compiz Config 設" -"定管理程式 <application>Compiz Config Settings Manager</application>:" +"定管理程式 <application>Compiz Config Settings Manager</application>:" #. (itstool) path: sect2/screen -#: book.translate.xml:12301 +#: book.translate.xml:12315 #, no-wrap msgid "<prompt>%</prompt> <userinput>ccsm</userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:12304 +#: book.translate.xml:12318 msgid "" "In <application>GNOME</application>, this can also be found in the " "<guimenuitem>System</guimenuitem>, <guimenuitem>Preferences</guimenuitem> " @@ -19391,7 +19409,7 @@ msgstr "" "guimenuitem>, 偏好設定 <guimenuitem>Preferences</guimenuitem> 選單中找到。" #. (itstool) path: sect2/para -#: book.translate.xml:12309 +#: book.translate.xml:12323 msgid "" "If you have selected <quote>gconf support</quote> during the build, you will " "also be able to view these settings using <command>gconf-editor</command> " @@ -19401,7 +19419,7 @@ msgstr "" "editor</command> 在 <literal>apps/compiz</literal> 下查看設定。" #. (itstool) path: sect1/para -#: book.translate.xml:12320 +#: book.translate.xml:12334 msgid "" "If the mouse does not work, you will need to first configure it before " "proceeding. In recent <application>Xorg</application> versions, the " @@ -19413,24 +19431,25 @@ msgstr "" "若滑鼠無法使用,您將需要做第一次設定方可繼續。在最近的 <application>Xorg</" "application> 版本,使用自動偵測裝置會忽略在 <filename>xorg.conf</filename> 中" "的 <literal>InputDevice</literal> section。要採用舊的方式,需在此檔案加入下行" -"到 <literal>ServerLayout</literal> 或 <literal>ServerFlags</literal> section:" +"到 <literal>ServerLayout</literal> 或 <literal>ServerFlags</literal> " +"section:" #. (itstool) path: sect1/programlisting -#: book.translate.xml:12329 +#: book.translate.xml:12343 #, no-wrap msgid "Option \"AutoAddDevices\" \"false\"" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:12331 +#: book.translate.xml:12345 msgid "" "Input devices may then be configured as in previous versions, along with any " "other options needed (e.g., keyboard layout switching)." msgstr "" -"輸入裝置便可如先前版本一樣設定,連同其他所需的選項 (如: 切換鍵盤配置)。" +"輸入裝置便可如先前版本一樣設定,連同其他所需的選項 (如:切換鍵盤配置)。" #. (itstool) path: note/para -#: book.translate.xml:12336 +#: book.translate.xml:12350 msgid "" "As previously explained the <application>hald</application> daemon will, by " "default, automatically detect your keyboard. There are chances that your " @@ -19451,7 +19470,7 @@ msgstr "" "協助來直接設定鍵盤屬性。" #. (itstool) path: note/para -#: book.translate.xml:12348 +#: book.translate.xml:12362 msgid "" "For example if, one wants to use a PC 102 keys keyboard coming with a french " "layout, we have to create a keyboard configuration file for " @@ -19462,10 +19481,10 @@ msgstr "" "舉例來說,若有人想要使用 PC 102 鍵的鍵盤,採用法語 (French) 配置,我們便需要" "建立一個給 <application>hald</application> 的鍵盤設定檔,名稱為 " "<filename>x11-input.fdi</filename>,然後儲存到 <filename>/usr/local/etc/hal/" -"fdi/policy</filename> 目錄。這個檔案中應要有以下幾行:" +"fdi/policy</filename> 目錄。這個檔案中應要有以下幾行:" #. (itstool) path: note/programlisting -#: book.translate.xml:12356 +#: book.translate.xml:12370 #, no-wrap msgid "" "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n" @@ -19480,14 +19499,14 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:12366 +#: book.translate.xml:12380 msgid "" "If this file already exists, just copy and add to your file the lines " "regarding the keyboard configuration." msgstr "若這個檔案已經存在,只需要複製並貼上您的檔案中有關鍵盤設定的那幾行。" #. (itstool) path: note/para -#: book.translate.xml:12369 +#: book.translate.xml:12383 msgid "" "You will have to reboot your machine to force <application>hald</" "application> to read this file." @@ -19495,20 +19514,20 @@ msgstr "" "您會需要重新啟動您的機器來讓 <application>hald</application> 讀取這個檔案。" #. (itstool) path: note/para -#: book.translate.xml:12372 +#: book.translate.xml:12386 msgid "" "It is possible to do the same configuration from an X terminal or a script " "with this command line:" -msgstr "也是可以從 X 終端機或 Script 下指令來做同樣的設定:" +msgstr "也是可以從 X 終端機或 Script 下指令來做同樣的設定:" #. (itstool) path: note/screen -#: book.translate.xml:12375 +#: book.translate.xml:12389 #, no-wrap msgid "<prompt>%</prompt> <userinput>setxkbmap -model pc102 -layout fr</userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:12377 +#: book.translate.xml:12391 msgid "" "<filename>/usr/local/share/X11/xkb/rules/base.lst</filename> lists the " "various keyboard, layouts and options available." @@ -19517,12 +19536,12 @@ msgstr "" "的鍵盤、配置與設定。" #. (itstool) path: sect1/indexterm -#: book.translate.xml:12382 +#: book.translate.xml:12396 msgid "<primary><application>Xorg</application> tuning</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:12385 +#: book.translate.xml:12399 msgid "" "The <filename>xorg.conf.new</filename> configuration file may now be tuned " "to taste. Open the file in a text editor such as <citerefentry vendor=\"ports" @@ -19539,10 +19558,10 @@ msgstr "" "<citerefentry><refentrytitle>ee</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> 開啟該設定檔。若顯示器是不支援自動偵測同步頻率 (Sync " "frequency) 的舊或特殊的型號,同步頻率的設定可以手動加到 <filename>xorg.conf." -"new</filename> 的 <literal>\"Monitor\"</literal> section:" +"new</filename> 的 <literal>\"Monitor\"</literal> section:" #. (itstool) path: sect1/programlisting -#: book.translate.xml:12393 +#: book.translate.xml:12407 #, no-wrap msgid "" "Section \"Monitor\"\n" @@ -19555,7 +19574,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:12401 +#: book.translate.xml:12415 msgid "" "Most monitors support sync frequency autodetection, making manual entry of " "these values unnecessary. For the few monitors that do not support " @@ -19566,7 +19585,7 @@ msgstr "" "動偵測的顯示器,請輸入由製造商提供的數值來避免損壞顯示器。" #. (itstool) path: sect1/para -#: book.translate.xml:12407 +#: book.translate.xml:12421 msgid "" "X allows DPMS (Energy Star) features to be used with capable monitors. The " "<citerefentry vendor=\"xfree86\"><refentrytitle>xset</" @@ -19579,21 +19598,21 @@ msgstr "" "\"xfree86\"><refentrytitle>xset</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> 程式可以控制逾時並可強制待機 (Standby)、暫停 (Suspend) 或關閉 " "(Off) 模式。若您想要為您的顯示器開啟 DPMS 功能,您需要加入下行到顯示器 " -"(Monitor) 的 Section:" +"(Monitor) 的 Section:" #. (itstool) path: sect1/programlisting -#: book.translate.xml:12413 +#: book.translate.xml:12427 #, no-wrap msgid "Option \"DPMS\"" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:12415 +#: book.translate.xml:12429 msgid "<primary><filename>xorg.conf</filename></primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:12419 +#: book.translate.xml:12433 msgid "" "While the <filename>xorg.conf.new</filename> configuration file is still " "open in an editor, select the default resolution and color depth desired. " @@ -19601,10 +19620,10 @@ msgid "" msgstr "" "在編輯器還未關閉 <filename>xorg.conf.new</filename> 設定檔前,選擇想要使用的" "預設解析度及色彩深度。這些項目可在 <literal>\"Screen\"</literal> section 定" -"義:" +"義:" #. (itstool) path: sect1/programlisting -#: book.translate.xml:12424 +#: book.translate.xml:12438 #, no-wrap msgid "" "Section \"Screen\"\n" @@ -19621,7 +19640,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:12436 +#: book.translate.xml:12450 msgid "" "The <literal>DefaultDepth</literal> keyword describes the color depth to run " "at by default. This can be overridden with the <option>-depth</option> " @@ -19642,14 +19661,14 @@ msgstr "" "像素。" #. (itstool) path: sect1/para -#: book.translate.xml:12447 +#: book.translate.xml:12461 msgid "" "Finally, write the configuration file and test it using the test mode given " "above." msgstr "最後,儲存設定檔並使用測試模式來測試上述的設定。" #. (itstool) path: note/para -#: book.translate.xml:12451 +#: book.translate.xml:12465 msgid "" "One of the tools available to assist you during troubleshooting process are " "the <application>Xorg</application> log files, which contain information on " @@ -19659,14 +19678,14 @@ msgid "" "from <filename>Xorg.0.log</filename> to <filename>Xorg.8.log</filename> and " "so forth." msgstr "" -"有一個工具可以協助您診斷問題,那就是 <application>Xorg</application> 記錄檔。" -"該記錄檔中記錄了 <application>Xorg</application> 連接的每個裝置的資訊。" +"有一個工具可以協助您診斷問題,那就是 <application>Xorg</application> 日誌檔。" +"該日誌檔中記錄了 <application>Xorg</application> 連接的每個裝置的資訊。" "<application>Xorg</application> 記錄檔名稱的格式為 <filename>/var/log/Xorg.0." "log</filename>,確切的記錄檔名會可能從 <filename>Xorg.0.log</filename> 到 " "<filename>Xorg.8.log</filename> 以此類推。" #. (itstool) path: sect1/para -#: book.translate.xml:12463 +#: book.translate.xml:12477 msgid "" "If all is well, the configuration file needs to be installed in a common " "location where <citerefentry vendor=\"xorg\"><refentrytitle>Xorg</" @@ -19680,13 +19699,13 @@ msgstr "" "filename> 或 <filename>/usr/local/etc/X11/xorg.conf</filename>。" #. (itstool) path: sect1/screen -#: book.translate.xml:12468 +#: book.translate.xml:12482 #, no-wrap msgid "<prompt>#</prompt> <userinput>cp xorg.conf.new /etc/X11/xorg.conf</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:12470 +#: book.translate.xml:12484 msgid "" "The <application>Xorg</application> configuration process is now complete. " "<application>Xorg</application> may be now started with the <citerefentry " @@ -19704,7 +19723,7 @@ msgstr "" "refentrytitle><manvolnum>1</manvolnum></citerefentry> 來啟動。" #. (itstool) path: sect2/title -#: book.translate.xml:12477 +#: book.translate.xml:12491 msgid "" "Configuration with <trademark class=\"registered\">Intel</trademark> " "<literal>i810</literal> Graphics Chipsets" @@ -19713,12 +19732,12 @@ msgstr "" "literal> 繪圖晶片組" #. (itstool) path: sect2/indexterm -#: book.translate.xml:12480 +#: book.translate.xml:12494 msgid "<primary>Intel i810 graphic chipset</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12484 +#: book.translate.xml:12498 msgid "" "Configuration with <trademark class=\"registered\">Intel</trademark> i810 " "integrated chipsets requires the <filename>agpgart</filename> AGP " @@ -19733,7 +19752,7 @@ msgstr "" "更多詳細資訊。" #. (itstool) path: sect2/para -#: book.translate.xml:12490 +#: book.translate.xml:12504 msgid "" "This will allow configuration of the hardware as any other graphics board. " "Note on systems without the <citerefentry><refentrytitle>agp</" @@ -19751,17 +19770,17 @@ msgstr "" "conf</filename> 來載入。" #. (itstool) path: sect2/title -#: book.translate.xml:12499 +#: book.translate.xml:12513 msgid "Adding a Widescreen Flatpanel to the Mix" msgstr "加入寬螢幕平板顯示器到設定檔" #. (itstool) path: sect2/indexterm -#: book.translate.xml:12501 +#: book.translate.xml:12515 msgid "<primary>widescreen flatpanel configuration</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12505 +#: book.translate.xml:12519 msgid "" "This section assumes a bit of advanced configuration knowledge. If attempts " "to use the standard configuration tools above have not resulted in a working " @@ -19769,56 +19788,56 @@ msgid "" "getting the setup working. Use of a text editor will be necessary." msgstr "" "此章節會需要有一些進階的設定知識,若嘗試使用上述的標準設定工具仍無法產生可運" -"作的設定,在記錄檔中應有足夠的資訊可運用來讓顯示卡運作。在此會需要使用文字編" +"作的設定,在日誌檔中應有足夠的資訊可運用來讓顯示卡運作。在此會需要使用文字編" "輯器。" #. (itstool) path: sect2/para -#: book.translate.xml:12512 +#: book.translate.xml:12526 msgid "" "Current widescreen (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+, et.al.) formats " "support 16:10 and 10:9 formats or aspect ratios that can be problematic. " "Examples of some common screen resolutions for 16:10 aspect ratios are:" msgstr "" "目前使用寬螢幕 (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+, et.al.) 格式支援的 16:10 " -"及 10:9 格式或其他的寬高比可會有問題。例如一些 16:10 寬高比常見的螢幕解析度:" +"及 10:9 格式或其他的寬高比可會有問題。例如一些 16:10 寬高比常見的螢幕解析度:" #. (itstool) path: listitem/para -#: book.translate.xml:12519 +#: book.translate.xml:12533 msgid "2560x1600" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:12523 +#: book.translate.xml:12537 msgid "1920x1200" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:12527 +#: book.translate.xml:12541 msgid "1680x1050" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:12531 +#: book.translate.xml:12545 msgid "1440x900" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:12535 +#: book.translate.xml:12549 msgid "1280x800" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12539 +#: book.translate.xml:12553 msgid "" "At some point, it will be as easy as adding one of these resolutions as a " "possible <literal>Mode</literal> in the <literal>Section \"Screen\"</" "literal> as such:" msgstr "" "在某些時候,可以簡單的將這些要使用的解析度以 <literal>Mode</literal> 加入" -"到 Section \"Screen\":" +"到 Section \"Screen\":" #. (itstool) path: sect2/programlisting -#: book.translate.xml:12543 +#: book.translate.xml:12557 #, no-wrap msgid "" "Section \"Screen\"\n" @@ -19835,7 +19854,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12555 +#: book.translate.xml:12569 msgid "" "<application>Xorg</application> is smart enough to pull the resolution " "information from the widescreen via I2C/DDC information so it knows what the " @@ -19845,7 +19864,7 @@ msgstr "" "DDC),因此能夠知道螢幕能處理的頻率及解析度。" #. (itstool) path: sect2/para -#: book.translate.xml:12560 +#: book.translate.xml:12574 msgid "" "If those <literal>ModeLines</literal> do not exist in the drivers, one might " "need to give <application>Xorg</application> a little hint. Using <filename>/" @@ -19856,10 +19875,10 @@ msgstr "" "若驅動程式中不存在那些螢幕能處理的 <literal>ModeLines</literal>,則需要給 " "<application>Xorg</application> 一點提示。透過 <filename>/var/log/Xorg.0." "log</filename> 可以取得足夠的資訊來手動建立可運作的 <literal>ModeLine</" -"literal>。只需要在記錄檔中找到類似以下的訊息:" +"literal>。只需要在日誌檔中找到類似以下的訊息:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:12568 +#: book.translate.xml:12582 #, no-wrap msgid "" "(II) MGA(0): Supported additional Video Mode:\n" @@ -19870,32 +19889,32 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12574 +#: book.translate.xml:12588 msgid "" "This information is called EDID information. Creating a <literal>ModeLine</" "literal> from this is just a matter of putting the numbers in the correct " "order:" msgstr "" "這些資訊稱作 EDID 資訊,使用 EDIT 資訊建立 <literal>ModeLine</literal> 只需要" -"將數據使用正確的順序放入:" +"將數據使用正確的順序放入:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:12578 +#: book.translate.xml:12592 #, no-wrap msgid "ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12580 +#: book.translate.xml:12594 msgid "" "So that the <literal>ModeLine</literal> in <literal>Section \"Monitor\"</" "literal> for this example would look like this:" msgstr "" "將資訊放入之後,本例中 <literal>Section \"Monitor\"</literal> 中的 " -"<literal>ModeLine</literal> 會看起來像這樣:" +"<literal>ModeLine</literal> 會看起來像這樣:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:12584 +#: book.translate.xml:12598 #, no-wrap msgid "" "Section \"Monitor\"\n" @@ -19908,19 +19927,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12592 +#: book.translate.xml:12606 msgid "" "Now having completed these simple editing steps, X should start on your new " "widescreen monitor." msgstr "便完成編輯的步驟,接著需要在您的寬螢幕顯示器啟動 X。" #. (itstool) path: sect2/title -#: book.translate.xml:12597 +#: book.translate.xml:12611 msgid "Troubleshooting Compiz Fusion" msgstr "Compiz Fusion 疑難排解" #. (itstool) path: question/para -#: book.translate.xml:12602 +#: book.translate.xml:12616 msgid "" "I have installed <application>Compiz Fusion</application>, and after running " "the commands you mention, my windows are left without title bars and " @@ -19930,7 +19949,7 @@ msgstr "" "令後,我的視窗的標題列與按鈕便消失了。是那裡有問題?" #. (itstool) path: answer/para -#: book.translate.xml:12610 +#: book.translate.xml:12624 msgid "" "You are probably missing a setting in <filename>/etc/X11/xorg.conf</" "filename>. Review this file carefully and check especially the " @@ -19942,7 +19961,7 @@ msgstr "" "literal> 指令項。" #. (itstool) path: question/para -#: book.translate.xml:12621 +#: book.translate.xml:12635 msgid "" "When I run the command to start <application>Compiz Fusion</application>, " "the X server crashes and I am back at the console. What is wrong?" @@ -19951,16 +19970,16 @@ msgstr "" "了,然後我又返回 Console。是那裡有問題?" #. (itstool) path: answer/para -#: book.translate.xml:12628 +#: book.translate.xml:12642 msgid "" "If you check <filename>/var/log/Xorg.0.log</filename>, you will probably " "find error messages during the X startup. The most common would be:" msgstr "" "若您檢查 <filename>/var/log/Xorg.0.log</filename>,您可能可以找到當 X 啟動時" -"所發生的錯誤訊息。最常發生的錯誤會是:" +"所發生的錯誤訊息。最常發生的錯誤會是:" #. (itstool) path: answer/screen -#: book.translate.xml:12633 +#: book.translate.xml:12647 #, no-wrap msgid "" "(EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X\n" @@ -19971,7 +19990,7 @@ msgid "" msgstr "" #. (itstool) path: answer/para -#: book.translate.xml:12639 +#: book.translate.xml:12653 msgid "" "This is usually the case when you upgrade <application>Xorg</application>. " "You will need to reinstall the <package>x11/nvidia-driver</package> package " @@ -19981,12 +20000,12 @@ msgstr "" "安裝 <package>x11/nvidia-driver</package> 套件來重新編譯 glx。" #. (itstool) path: part/title -#: book.translate.xml:12653 +#: book.translate.xml:12667 msgid "Common Tasks" msgstr "一般作業" #. (itstool) path: partintro/para -#: book.translate.xml:12656 +#: book.translate.xml:12670 msgid "" "Now that the basics have been covered, this part of the book discusses some " "frequently used features of FreeBSD. These chapters:" @@ -19995,50 +20014,50 @@ msgstr "" "色,這些章節包括:" #. (itstool) path: listitem/para -#: book.translate.xml:12662 +#: book.translate.xml:12676 msgid "" "Introduce popular and useful desktop applications: browsers, productivity " "tools, document viewers, and more." msgstr "介紹給您常見且實用的桌面應用軟體:瀏覽器、辦工工具、文件閱覽程式等。" #. (itstool) path: listitem/para -#: book.translate.xml:12668 +#: book.translate.xml:12682 msgid "Introduce a number of multimedia tools available for FreeBSD." msgstr "介紹給您眾多 FreeBSD 上可用的多媒體工具。" #. (itstool) path: listitem/para -#: book.translate.xml:12673 +#: book.translate.xml:12687 msgid "" "Explain the process of building a customized FreeBSD kernel to enable extra " "functionality." msgstr "解釋如何編譯量身訂做的 FreeBSD 核心以增加額外系統功能的流程。" #. (itstool) path: listitem/para -#: book.translate.xml:12678 +#: book.translate.xml:12692 msgid "" "Describe the print system in detail, both for desktop and network-connected " "printer setups." msgstr "詳細描述列印系統,包含桌上型印表機及網路印表機的設定。" #. (itstool) path: listitem/para -#: book.translate.xml:12683 +#: book.translate.xml:12697 msgid "Show how to run Linux applications on the FreeBSD system." msgstr "展示給您看如何在您的 FreeBSD 系統中執行 Linux 應用軟體。" #. (itstool) path: partintro/para -#: book.translate.xml:12688 +#: book.translate.xml:12702 msgid "" "Some of these chapters recommend prior reading, and this is noted in the " "synopsis at the beginning of each chapter." msgstr "這些章節中有些需要您預先閱讀些相關文件,在各章節開頭的概要內會提及。" #. (itstool) path: chapter/title -#: book.translate.xml:12711 +#: book.translate.xml:12725 msgid "Desktop Applications" msgstr "桌面應用程式" #. (itstool) path: sect1/para -#: book.translate.xml:12716 +#: book.translate.xml:12730 msgid "" "While FreeBSD is popular as a server for its performance and stability, it " "is also suited for day-to-day use as a desktop. With over 24,000 " @@ -20054,7 +20073,7 @@ msgstr "" "含網頁瀏覽器、辦工軟體、文件閱覽程式以及財務軟體。" #. (itstool) path: note/para -#: book.translate.xml:12726 +#: book.translate.xml:12740 msgid "" "Users who prefer to install a pre-built desktop version of FreeBSD rather " "than configuring one from scratch should refer to the <link xlink:href=" @@ -20064,24 +20083,24 @@ msgstr "" "<link xlink:href=\"http://www.pcbsd.org/\">pcbsd.org 網站</link>" #. (itstool) path: sect1/para -#: book.translate.xml:12733 +#: book.translate.xml:12747 msgid "Readers of this chapter should know how to:" msgstr "在閱讀這章之前,你必須了解如何:" #. (itstool) path: listitem/para -#: book.translate.xml:12737 +#: book.translate.xml:12751 msgid "" "Install additional software using packages or ports as described in <xref " "linkend=\"ports\"/>." msgstr "使用套件或 Port 安裝其他軟體如 <xref linkend=\"ports\"/> 所敘述。" #. (itstool) path: listitem/para -#: book.translate.xml:12742 +#: book.translate.xml:12756 msgid "Install X and a window manager as described in <xref linkend=\"x11\"/>." msgstr "安狀 X 與視窗管理程式如 <xref linkend=\"x11\"/> 所敘述。" #. (itstool) path: sect1/para -#: book.translate.xml:12747 +#: book.translate.xml:12761 msgid "" "For information on how to configure a multimedia environment, refer to <xref " "linkend=\"multimedia\"/>." @@ -20089,17 +20108,17 @@ msgstr "" "要取得有關如何設定多媒體環境的資訊,請參考 <xref linkend=\"multimedia\"/>。" #. (itstool) path: sect1/title -#: book.translate.xml:12752 +#: book.translate.xml:12766 msgid "Browsers" msgstr "瀏覽器" #. (itstool) path: sect1/indexterm -#: book.translate.xml:12754 +#: book.translate.xml:12768 msgid "<primary>browsers</primary> <secondary>web</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:12759 +#: book.translate.xml:12773 msgid "" "FreeBSD does not come with a pre-installed web browser. Instead, the <link " "xlink:href=\"http://www.FreeBSD.org/ports/www.html\">www</link> category of " @@ -20111,7 +20130,7 @@ msgstr "" "可以採 Binary 套件安裝或自 Port 套件集編譯的方式安裝。" #. (itstool) path: sect1/para -#: book.translate.xml:12765 +#: book.translate.xml:12779 msgid "" "The <application>KDE</application> and <application>GNOME</application> " "desktop environments include their own HTML browser. Refer to <xref linkend=" @@ -20122,7 +20141,7 @@ msgstr "" "何設定完整桌面環境的資訊。" #. (itstool) path: sect1/para -#: book.translate.xml:12771 +#: book.translate.xml:12785 msgid "" "Some lightweight browsers include <package>www/dillo2</package>, " "<package>www/links</package>, and <package>www/w3m</package>." @@ -20131,7 +20150,7 @@ msgstr "" "links</package> 以及 <package>www/w3m</package>。" #. (itstool) path: sect1/para -#: book.translate.xml:12775 +#: book.translate.xml:12789 msgid "" "This section demonstrates how to install the following popular web browsers " "and indicates if the application is resource-heavy, takes time to compile " @@ -20141,48 +20160,48 @@ msgstr "" "源、花費大量時間自 Port 編譯或何主要的相依套件。" #. (itstool) path: row/entry -#: book.translate.xml:12784 book.translate.xml:13143 book.translate.xml:13453 -#: book.translate.xml:13677 +#: book.translate.xml:12798 book.translate.xml:13157 book.translate.xml:13467 +#: book.translate.xml:13691 msgid "Application Name" msgstr "應用程式名稱" #. (itstool) path: row/entry -#: book.translate.xml:12785 book.translate.xml:13144 book.translate.xml:13454 -#: book.translate.xml:13678 +#: book.translate.xml:12799 book.translate.xml:13158 book.translate.xml:13468 +#: book.translate.xml:13692 msgid "Resources Needed" msgstr "所需資源" #. (itstool) path: row/entry -#: book.translate.xml:12786 book.translate.xml:13145 book.translate.xml:13455 -#: book.translate.xml:13679 +#: book.translate.xml:12800 book.translate.xml:13159 book.translate.xml:13469 +#: book.translate.xml:13693 msgid "Installation from Ports" msgstr "自 Port 安裝時間" #. (itstool) path: row/entry -#: book.translate.xml:12787 book.translate.xml:17090 book.translate.xml:65535 +#: book.translate.xml:12801 book.translate.xml:17104 book.translate.xml:65535 msgid "Notes" msgstr "說明" #. (itstool) path: row/entry -#: book.translate.xml:12793 +#: book.translate.xml:12807 msgid "<application>Firefox</application>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:12794 book.translate.xml:12809 book.translate.xml:12817 +#: book.translate.xml:12808 book.translate.xml:12823 book.translate.xml:12831 msgid "medium" msgstr "中" #. (itstool) path: row/entry -#: book.translate.xml:12795 book.translate.xml:12810 book.translate.xml:12818 -#: book.translate.xml:13154 book.translate.xml:13169 book.translate.xml:13176 -#: book.translate.xml:13493 book.translate.xml:13688 book.translate.xml:13695 -#: book.translate.xml:13702 +#: book.translate.xml:12809 book.translate.xml:12824 book.translate.xml:12832 +#: book.translate.xml:13168 book.translate.xml:13183 book.translate.xml:13190 +#: book.translate.xml:13507 book.translate.xml:13702 book.translate.xml:13709 +#: book.translate.xml:13716 msgid "heavy" msgstr "多" #. (itstool) path: row/entry -#: book.translate.xml:12796 +#: book.translate.xml:12810 msgid "" "FreeBSD, <trademark class=\"registered\">Linux</trademark>, and localized " "versions are available" @@ -20190,59 +20209,59 @@ msgstr "" "有 FreeBSD 、 <trademark class=\"registered\">Linux</trademark> 及在地化版本" #. (itstool) path: row/entry -#: book.translate.xml:12801 +#: book.translate.xml:12815 msgid "<application>Opera</application>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:12802 book.translate.xml:12803 book.translate.xml:13153 -#: book.translate.xml:13160 book.translate.xml:13161 book.translate.xml:13168 -#: book.translate.xml:13463 book.translate.xml:13464 book.translate.xml:13470 -#: book.translate.xml:13471 book.translate.xml:13477 book.translate.xml:13478 -#: book.translate.xml:13485 book.translate.xml:13486 book.translate.xml:13492 -#: book.translate.xml:13687 book.translate.xml:13694 book.translate.xml:13701 +#: book.translate.xml:12816 book.translate.xml:12817 book.translate.xml:13167 +#: book.translate.xml:13174 book.translate.xml:13175 book.translate.xml:13182 +#: book.translate.xml:13477 book.translate.xml:13478 book.translate.xml:13484 +#: book.translate.xml:13485 book.translate.xml:13491 book.translate.xml:13492 +#: book.translate.xml:13499 book.translate.xml:13500 book.translate.xml:13506 +#: book.translate.xml:13701 book.translate.xml:13708 book.translate.xml:13715 msgid "light" msgstr "少" #. (itstool) path: row/entry -#: book.translate.xml:12804 +#: book.translate.xml:12818 msgid "" "FreeBSD and <trademark class=\"registered\">Linux</trademark> versions are " "available" msgstr "有 FreeBSD 、 <trademark class=\"registered\">Linux</trademark> 版本" #. (itstool) path: row/entry -#: book.translate.xml:12808 +#: book.translate.xml:12822 msgid "<application>Konqueror</application>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:12811 +#: book.translate.xml:12825 msgid "Requires <application>KDE</application> libraries" msgstr "需要 <application>KDE</application> 程式庫" #. (itstool) path: row/entry -#: book.translate.xml:12816 +#: book.translate.xml:12830 msgid "<application>Chromium</application>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:12819 +#: book.translate.xml:12833 msgid "Requires <application>Gtk+</application>" msgstr "需要 <application>Gtk+</application> 程式庫" #. (itstool) path: sect2/title -#: book.translate.xml:12826 +#: book.translate.xml:12840 msgid "Firefox" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:12828 +#: book.translate.xml:12842 msgid "<primary><application>Firefox</application></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12832 +#: book.translate.xml:12846 msgid "" "<application>Firefox</application> is an open source browser that is fully " "ported to FreeBSD. It features a standards-compliant HTML display engine, " @@ -20256,20 +20275,20 @@ msgstr "" "<application>Mozilla</application> 的程式庫。" #. (itstool) path: sect2/para -#: book.translate.xml:12839 +#: book.translate.xml:12853 msgid "" "To install the package of the latest release version of " "<application>Firefox</application>, type:" msgstr "要安裝最新釋出版本的 <application>Firefox</application> 套件可輸入:" #. (itstool) path: sect2/screen -#: book.translate.xml:12842 +#: book.translate.xml:12856 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install firefox</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12844 +#: book.translate.xml:12858 msgid "" "To instead install <application>Firefox</application> Extended Support " "Release (ESR) version, use:" @@ -20278,13 +20297,13 @@ msgstr "" "<application>Firefox</application>,可使用:" #. (itstool) path: sect2/screen -#: book.translate.xml:12847 +#: book.translate.xml:12861 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install firefox-esr</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12849 +#: book.translate.xml:12863 msgid "" "Localized versions are available in <package>www/firefox-i18n</package> and " "<package>www/firefox-esr-i18n</package>." @@ -20293,7 +20312,7 @@ msgstr "" "esr-i18n</package> 取得。" #. (itstool) path: sect2/para -#: book.translate.xml:12853 +#: book.translate.xml:12867 msgid "" "The Ports Collection can instead be used to compile the desired version of " "<application>Firefox</application> from source code. This example builds " @@ -20305,7 +20324,7 @@ msgstr "" "<literal>firefox</literal> 可替換為 ESR 或在地化版本來安裝。" #. (itstool) path: sect2/screen -#: book.translate.xml:12860 +#: book.translate.xml:12874 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/www/firefox</userinput>\n" @@ -20313,24 +20332,25 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:12864 +#: book.translate.xml:12878 msgid "Firefox and <trademark>Java</trademark> Plugin" msgstr "Firefox 與 <trademark>Java</trademark> 附加元件" #. (itstool) path: sect3/para -#: book.translate.xml:12866 +#: book.translate.xml:12880 msgid "" "The installation of <application>Firefox</application> does not include " "<trademark>Java</trademark> support. However, <package>java/icedtea-web</" "package> provides a free software web browser plugin for running Java " "applets. It can be installed as a package. To alternately compile the port:" msgstr "" -"安裝 <application>Firefox</application> 並不包含 <trademark>Java</trademark> " -"支援,雖然如此 <package>java/icedtea-web</package> 提供了免費的網頁瀏覽器附加" -"元件來執行 Java applet,此附加元件可以用 Binary 套件安裝或者自 Port 編譯:" +"<application>Firefox</application> 的安裝並不包含 <trademark>Java</" +"trademark> 支援,雖然如此 <package>java/icedtea-web</package> 提供了免費的網" +"頁瀏覽器附加元件來執行 Java applet,此附加元件可以用 Binary 套件安裝或者自 " +"Port 編譯:" #. (itstool) path: sect3/screen -#: book.translate.xml:12873 +#: book.translate.xml:12887 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/java/icedtea-web</userinput>\n" @@ -20338,12 +20358,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:12876 +#: book.translate.xml:12890 msgid "Keep the default configuration options when compiling the port." msgstr "編譯 Port 時使用預設設定選項。" #. (itstool) path: sect3/para -#: book.translate.xml:12879 +#: book.translate.xml:12893 msgid "" "Once installed, start <application>firefox</application>, enter " "<literal>about:plugins</literal> in the location bar and press " @@ -20357,14 +20377,14 @@ msgstr "" "application> 附加元件應該會列在其中。" #. (itstool) path: sect3/para -#: book.translate.xml:12886 +#: book.translate.xml:12900 msgid "" "If the browser is unable to find the plugin, each user will have to run the " "following command and relaunch the browser:" -msgstr "" +msgstr "若瀏覽器無法找到附加元件,每位使用者則須執行以下指令並重新執行瀏覽器:" #. (itstool) path: sect3/screen -#: book.translate.xml:12890 +#: book.translate.xml:12904 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>ln -s /usr/local/lib/IcedTeaPlugin.so \\\n" @@ -20372,7 +20392,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:12896 +#: book.translate.xml:12910 msgid "" "Firefox and <trademark class=\"registered\">Adobe</trademark> <trademark " "class=\"registered\">Flash</trademark> Plugin" @@ -20381,12 +20401,12 @@ msgstr "" "class=\"registered\">Flash</trademark> 附加元件" #. (itstool) path: sect3/indexterm -#: book.translate.xml:12898 +#: book.translate.xml:12912 msgid "<primary>Flash</primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:12902 +#: book.translate.xml:12916 msgid "" "A native <trademark class=\"registered\">Adobe</trademark> <trademark class=" "\"registered\">Flash</trademark> plugin is not available for FreeBSD. " @@ -20402,12 +20422,12 @@ msgstr "" "\"registered\">RealPlayer</trademark>。" #. (itstool) path: sect3/para -#: book.translate.xml:12907 +#: book.translate.xml:12921 msgid "To install and enable this plugin, perform these steps:" msgstr "要安裝並開啟此附加元件,可執行以下步驟:" #. (itstool) path: step/para -#: book.translate.xml:12912 +#: book.translate.xml:12926 msgid "" "Install <package role=\"port\">www/nspluginwrapper</package> from the port. " "Due to licensing restrictions, a package is not available. This port " @@ -20418,7 +20438,7 @@ msgstr "" "linux_base-c6</package>。" #. (itstool) path: step/para -#: book.translate.xml:12919 +#: book.translate.xml:12933 msgid "" "Install <package role=\"port\">www/linux-c6-flashplugin11</package> from the " "port. Due to licensing restrictions, a package is not available." @@ -20427,30 +20447,30 @@ msgstr "" "到授權條款的限制,該套件無 Binary 版本。" #. (itstool) path: step/para -#: book.translate.xml:12925 +#: book.translate.xml:12939 msgid "Before the plugin is first used, each user must run:" msgstr "第一次使用附加元件前,每位使用者需要先執行:" #. (itstool) path: step/screen -#: book.translate.xml:12928 +#: book.translate.xml:12942 #, no-wrap msgid "<prompt>%</prompt> <userinput>nspluginwrapper -v -a -i</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:12930 +#: book.translate.xml:12944 msgid "" "When the plugin port has been updated and reinstalled, each user must run:" msgstr "當附加元件 Port 完成更新並且重新安裝後,每位使用者需要執行:" #. (itstool) path: step/screen -#: book.translate.xml:12933 +#: book.translate.xml:12947 #, no-wrap msgid "<prompt>%</prompt> <userinput>nspluginwrapper -v -a -u</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:12935 +#: book.translate.xml:12949 msgid "" "Start the browser, enter <literal>about:plugins</literal> in the location " "bar and press <keycap>Enter</keycap>. A list of all the currently available " @@ -20460,42 +20480,46 @@ msgstr "" "<keycap>Enter</keycap> 鍵,目前可用的附加元件清單中應會顯示該附加元件。" #. (itstool) path: sect3/title -#: book.translate.xml:12945 +#: book.translate.xml:12959 msgid "" "Firefox and Swfdec <trademark class=\"registered\">Flash</trademark> Plugin" msgstr "" "Firefox 與 Swfdec <trademark class=\"registered\">Flash</trademark> 附加元件" #. (itstool) path: sect3/para -#: book.translate.xml:12947 +#: book.translate.xml:12961 msgid "" "<application>Swfdec</application> is a decoder and renderer for <trademark " "class=\"registered\">Flash</trademark> animations. <application>Swfdec-" "Mozilla</application> is a plugin for <application>Firefox</application> " "browsers that uses the Swfdec library for playing SWF files." msgstr "" +"<application>Swfdec</application> 是 <trademark class=\"registered\">Flash</" +"trademark> 動畫的解碼程式及繪製程式。<application>Swfdec-Mozilla</" +"application> 是供 <application>Firefox</application> 瀏覽器使用的附加元件,可" +"使用 Swfdec 程式庫來播放 SWF 檔案。" #. (itstool) path: sect3/para #. (itstool) path: sect2/para -#: book.translate.xml:12953 book.translate.xml:13274 +#: book.translate.xml:12967 book.translate.xml:13288 msgid "To install the package:" msgstr "要安裝套件可:" #. (itstool) path: sect3/screen -#: book.translate.xml:12955 +#: book.translate.xml:12969 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install swfdec-plugin</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:12957 +#: book.translate.xml:12971 msgid "" "If the package is not available, compile and install it from the Ports " "Collection:" -msgstr "" +msgstr "若無套件可用,可自 Port 套件集編譯並安裝該附加元件:" #. (itstool) path: sect3/screen -#: book.translate.xml:12960 +#: book.translate.xml:12974 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/www/swfdec-plugin</userinput>\n" @@ -20503,22 +20527,22 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:12963 +#: book.translate.xml:12977 msgid "Restart the browser to activate this plugin." -msgstr "" +msgstr "重新啟動瀏覽器來啟動此附加元件。" #. (itstool) path: sect2/title -#: book.translate.xml:12968 +#: book.translate.xml:12982 msgid "Opera" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:12970 +#: book.translate.xml:12984 msgid "<primary><application>Opera</application></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12974 +#: book.translate.xml:12988 msgid "" "<application>Opera</application> is a full-featured and standards-compliant " "browser which is still lightweight and fast. It comes with a built-in mail " @@ -20532,7 +20556,7 @@ msgstr "" "\">Linux</trademark> 模擬模式下執行的版本。" #. (itstool) path: sect2/para -#: book.translate.xml:12981 +#: book.translate.xml:12995 msgid "" "This command installs the package of the FreeBSD version of " "<application>Opera</application>. Replace <literal>opera</literal> with " @@ -20544,20 +20568,20 @@ msgstr "" "\"registered\">Linux</trademark> 版本。" #. (itstool) path: sect2/screen -#: book.translate.xml:12986 +#: book.translate.xml:13000 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install opera</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12988 +#: book.translate.xml:13002 msgid "" "Alternately, install either version through the Ports Collection. This " "example compiles the native version:" msgstr "或者,可安裝 Port 套件集中的版本,以下範例會編譯原生的版本。" #. (itstool) path: sect2/screen -#: book.translate.xml:12991 +#: book.translate.xml:13005 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/www/opera</userinput>\n" @@ -20565,7 +20589,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:12994 +#: book.translate.xml:13008 msgid "" "To install the <trademark class=\"registered\">Linux</trademark> version, " "substitute <literal>linux-opera</literal> in place of <literal>opera</" @@ -20575,7 +20599,7 @@ msgstr "" "<literal>opera</literal> 為 <literal>linux-opera</literal>。" #. (itstool) path: sect2/para -#: book.translate.xml:12998 +#: book.translate.xml:13012 msgid "" "To install <trademark class=\"registered\">Adobe</trademark> <trademark " "class=\"registered\">Flash</trademark> plugin support, first compile the " @@ -20591,7 +20615,7 @@ msgstr "" "package>。以下範例示範編譯 Port 中的這兩個應用程式。" #. (itstool) path: sect2/screen -#: book.translate.xml:13004 +#: book.translate.xml:13018 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/www/linux-c6-flashplugin11</userinput>\n" @@ -20601,7 +20625,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13009 +#: book.translate.xml:13023 msgid "" "Once installed, check the presence of the plugin by starting the browser, " "entering <literal>opera:plugins</literal> in the location bar and pressing " @@ -20613,7 +20637,7 @@ msgstr "" "附加元件。" #. (itstool) path: sect2/para -#: book.translate.xml:13015 +#: book.translate.xml:13029 msgid "" "To add the <application><trademark>Java</trademark></application> plugin, " "follow the instructions in <xref linkend=\"moz-java-plugin\"/>." @@ -20622,17 +20646,17 @@ msgstr "" "照 <xref linkend=\"moz-java-plugin\"/> 中的指示。" #. (itstool) path: sect2/title -#: book.translate.xml:13020 +#: book.translate.xml:13034 msgid "Konqueror" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13022 +#: book.translate.xml:13036 msgid "<primary><application>Konqueror</application></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13026 +#: book.translate.xml:13040 msgid "" "<application>Konqueror</application> is more than a web browser as it is " "also a file manager and a multimedia viewer. It is included in the " @@ -20643,7 +20667,7 @@ msgstr "" "中。" #. (itstool) path: sect2/para -#: book.translate.xml:13031 +#: book.translate.xml:13045 msgid "" "<application>Konqueror</application> supports WebKit as well as its own " "KHTML. WebKit is a rendering engine used by many modern browsers including " @@ -20657,7 +20681,7 @@ msgstr "" "kwebkitpart</package> 套件或 Port。此範例示範使用 Port 編譯:" #. (itstool) path: sect2/screen -#: book.translate.xml:13038 +#: book.translate.xml:13052 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/www/kwebkitpart</userinput>\n" @@ -20665,7 +20689,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13041 +#: book.translate.xml:13055 msgid "" "To enable WebKit within <application>Konqueror</application>, click " "<quote>Settings</quote>, <quote>Configure Konqueror</quote>. In the " @@ -20679,7 +20703,7 @@ msgstr "" "quote> 旁的下拉示選單並變更 <quote>KHTML</quote> 為 <quote>WebKit</quote>。" #. (itstool) path: sect2/para -#: book.translate.xml:13049 +#: book.translate.xml:13063 msgid "" "<application>Konqueror</application> also supports <application><trademark " "class=\"registered\">Flash</trademark></application>. A <quote>How To</" @@ -20696,17 +20720,17 @@ msgstr "" "howtos/konqueror-flash.php</uri>。" #. (itstool) path: sect2/title -#: book.translate.xml:13056 +#: book.translate.xml:13070 msgid "Chromium" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13058 +#: book.translate.xml:13072 msgid "<primary><application>Chromium</application></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13062 +#: book.translate.xml:13076 msgid "" "<application>Chromium</application> is an open source browser project that " "aims to build a safer, faster, and more stable web browsing experience. " @@ -20714,28 +20738,33 @@ msgid "" "blocking, extensions, and much more. <application>Chromium</application> is " "the open source project upon which the Google Chrome web browser is based." msgstr "" +"<application>Chromium</application> 是一個開放源始碼的瀏覽器計劃,該計劃的目" +"標是要建立一個安全、快速且更穩定的網頁瀏覽體驗。<application>Chromium</" +"application> 的功能有頁籤式瀏覽、彈出視窗封鎖、擴充套件等等。" +"<application>Chromium</application> 也是 Google Chrome 網頁瀏覽器所採用的基" +"礎。" #. (itstool) path: sect2/para -#: book.translate.xml:13070 +#: book.translate.xml:13084 msgid "" "<application>Chromium</application> can be installed as a package by typing:" -msgstr "" +msgstr "<application>Chromium</application> 可以使用套件來安裝,只要輸入:" #. (itstool) path: sect2/screen -#: book.translate.xml:13073 +#: book.translate.xml:13087 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install chromium</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13075 +#: book.translate.xml:13089 msgid "" "Alternatively, <application>Chromium</application> can be compiled from " "source using the Ports Collection:" -msgstr "" +msgstr "或者可從 Port 套件集的原始碼編譯 <application>Chromium</application>:" #. (itstool) path: sect2/screen -#: book.translate.xml:13078 +#: book.translate.xml:13092 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/www/chromium</userinput>\n" @@ -20743,45 +20772,55 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:13082 +#: book.translate.xml:13096 msgid "" "The executable for <application>Chromium</application> is <filename>/usr/" "local/bin/chrome</filename>, not <filename>/usr/local/bin/chromium</" "filename>." msgstr "" +"<application>Chromium</application> 的執行檔為 <filename>/usr/local/bin/" +"chrome</filename>,並非 <filename>/usr/local/bin/chromium</filename>。" #. (itstool) path: sect3/title -#: book.translate.xml:13088 +#: book.translate.xml:13102 msgid "Chromium and <trademark>Java</trademark> Plugin" msgstr "Chromium 與 <trademark>Java</trademark> 附加元件" #. (itstool) path: sect3/para -#: book.translate.xml:13090 +#: book.translate.xml:13104 msgid "" "The installation of <application>Chromium</application> does not include " "<trademark>Java</trademark> support. To install <trademark>Java</trademark> " "plugin support, follow the instructions in <xref linkend=\"moz-java-plugin\"/" ">." msgstr "" +"<application>Chromium</application> 的安裝並不包含 <trademark>Java</" +"trademark> 的支援。要安裝 <trademark>Java</trademark> 附加元件支援,請依照 " +"<xref linkend=\"moz-java-plugin\"/> 的指示操作。" #. (itstool) path: sect3/para -#: book.translate.xml:13095 +#: book.translate.xml:13109 msgid "" "Once <trademark>Java</trademark> support is installed, start " "<application>Chromium</application> and enter <literal>about:plugins</" "literal> in the address bar. IcedTea-Web should be listed as one of the " "installed plugins." msgstr "" +"<trademark>Java</trademark> 支援安裝完成後,啟動 <application>Chromium</" +"application> 然後在網址列輸入 <literal>about:plugins</literal>。已安裝的附件" +"元件其中之一應該會有 IcedTea-Web。" #. (itstool) path: sect3/para -#: book.translate.xml:13101 +#: book.translate.xml:13115 msgid "" "If <application>Chromium</application> does not display the IcedTea-Web " "plugin, run the following commands and restart the web browser:" msgstr "" +"若 <application>Chromium</application> 未顯示 IcedTea-Web 為附件元件,請執行" +"以下指令然後重新啟動網頁瀏覽器:" #. (itstool) path: sect3/screen -#: book.translate.xml:13105 +#: book.translate.xml:13119 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mkdir -p /usr/local/share/chromium/plugins\n" @@ -20790,7 +20829,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:13111 +#: book.translate.xml:13125 msgid "" "Chromium and <trademark class=\"registered\">Adobe</trademark> <trademark " "class=\"registered\">Flash</trademark> Plugin" @@ -20799,7 +20838,7 @@ msgstr "" "class=\"registered\">Flash</trademark> 附加元件" #. (itstool) path: sect3/para -#: book.translate.xml:13113 +#: book.translate.xml:13127 msgid "" "Configuring <application>Chromium</application> and <trademark class=" "\"registered\">Adobe</trademark> <trademark class=\"registered\">Flash</" @@ -20808,14 +20847,18 @@ msgid "" "<application>Chromium</application> is able to use some plugins from other " "browsers." msgstr "" +"設定 <application>Chromium</application> 及 <trademark class=\"registered" +"\">Adobe</trademark> <trademark class=\"registered\">Flash</trademark> 與 " +"<xref linkend=\"moz-flash-plugin\"/> 中的操作相似,無須額外的設定,因 " +"<application>Chromium</application> 能夠使用部份來自其他瀏覽器的附加元件。" #. (itstool) path: sect1/title -#: book.translate.xml:13124 +#: book.translate.xml:13138 msgid "Productivity" msgstr "辦工工具" #. (itstool) path: sect1/para -#: book.translate.xml:13126 +#: book.translate.xml:13140 msgid "" "When it comes to productivity, new users often look for an office suite or " "an easy-to-use word processor. While some <link linkend=\"x11-wm\">desktop " @@ -20831,7 +20874,7 @@ msgstr "" "型化文件處理程式。" #. (itstool) path: sect1/para -#: book.translate.xml:13134 +#: book.translate.xml:13148 msgid "" "This section demonstrates how to install the following popular productivity " "software and indicates if the application is resource-heavy, takes time to " @@ -20841,52 +20884,52 @@ msgstr "" "譯的時間或者是否有其他主要相依套件。" #. (itstool) path: row/entry -#: book.translate.xml:13146 book.translate.xml:13456 book.translate.xml:13680 +#: book.translate.xml:13160 book.translate.xml:13470 book.translate.xml:13694 msgid "Major Dependencies" msgstr "主要相依套件" #. (itstool) path: row/entry -#: book.translate.xml:13152 +#: book.translate.xml:13166 msgid "<application>Calligra</application>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:13155 book.translate.xml:13494 book.translate.xml:13703 +#: book.translate.xml:13169 book.translate.xml:13508 book.translate.xml:13717 msgid "<application>KDE</application>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:13159 +#: book.translate.xml:13173 msgid "<application>AbiWord</application>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:13162 book.translate.xml:13479 +#: book.translate.xml:13176 book.translate.xml:13493 msgid "<application>Gtk+</application> or <application>GNOME</application>" msgstr "<application>Gtk+</application> 或 <application>GNOME</application>" #. (itstool) path: row/entry -#: book.translate.xml:13167 +#: book.translate.xml:13181 msgid "<application>The Gimp</application>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:13170 book.translate.xml:13487 +#: book.translate.xml:13184 book.translate.xml:13501 msgid "<application>Gtk+</application>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:13174 +#: book.translate.xml:13188 msgid "<application>Apache OpenOffice</application>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:13177 book.translate.xml:13185 +#: book.translate.xml:13191 book.translate.xml:13199 msgid "huge" msgstr "非常多" #. (itstool) path: row/entry -#: book.translate.xml:13178 +#: book.translate.xml:13192 msgid "" "<application><trademark>JDK</trademark></application> and " "<application>Mozilla</application>" @@ -20895,17 +20938,17 @@ msgstr "" "<application>Mozilla</application>" #. (itstool) path: row/entry -#: book.translate.xml:13183 +#: book.translate.xml:13197 msgid "<application>LibreOffice</application>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:13184 +#: book.translate.xml:13198 msgid "somewhat heavy" msgstr "有點多" #. (itstool) path: row/entry -#: book.translate.xml:13186 +#: book.translate.xml:13200 msgid "" "<application>Gtk+</application>, or <application>KDE</application>/ " "<application>GNOME</application>, or <application><trademark>JDK</" @@ -20916,24 +20959,24 @@ msgstr "" "application>" #. (itstool) path: sect2/title -#: book.translate.xml:13196 +#: book.translate.xml:13210 msgid "Calligra" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13198 +#: book.translate.xml:13212 msgid "<primary><application>Calligra</application></primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13201 +#: book.translate.xml:13215 msgid "" "<primary>office suite</primary> <secondary><application>Calligra</" "application></secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13206 +#: book.translate.xml:13220 msgid "" "The KDE desktop environment includes an office suite which can be installed " "separately from <application>KDE</application>. <application>Calligra</" @@ -20943,27 +20986,34 @@ msgid "" "<application>Stage</application> manages slide presentations, and " "<application>Karbon</application> is used to draw graphical documents." msgstr "" +"KDE 桌面環境中內含辦公軟體可以與 <application>KDE</application> 分開安裝。" +"<application>Calligra</application> 中也有可在其他辦公軟體中找到的標準元件," +"如 <application>Words</application> 是文件處理程式、<application>Sheets</" +"application> 是試算表程式、<application>Stage</application> 可管理投影片以及 " +"<application>Karbon</application> 用來繪製圖型文件。" #. (itstool) path: sect2/para -#: book.translate.xml:13217 +#: book.translate.xml:13231 msgid "" "In FreeBSD, <package>editors/calligra</package> can be installed as a " "package or a port. To install the package:" msgstr "" +"在 FreeBSD 中 <package>editors/calligra</package> 可以使用套件或 Port 的方式" +"安裝,要使用套件安裝:" #. (itstool) path: sect2/screen -#: book.translate.xml:13221 +#: book.translate.xml:13235 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install calligra</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13223 +#: book.translate.xml:13237 msgid "If the package is not available, use the Ports Collection instead:" -msgstr "" +msgstr "若沒有可用的套件,可改使用 Port 套件集安裝:" #. (itstool) path: sect2/screen -#: book.translate.xml:13226 +#: book.translate.xml:13240 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/editors/calligra</userinput>\n" @@ -20971,17 +21021,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:13231 +#: book.translate.xml:13245 msgid "AbiWord" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13233 +#: book.translate.xml:13247 msgid "<primary><application>AbiWord</application></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13237 +#: book.translate.xml:13251 msgid "" "<application>AbiWord</application> is a free word processing program similar " "in look and feel to <application><trademark class=\"registered\">Microsoft</" @@ -20993,7 +21043,7 @@ msgstr "" "application>。 它非常快速,包含了許多功能而且非常容易上手。" #. (itstool) path: sect2/para -#: book.translate.xml:13242 +#: book.translate.xml:13256 msgid "" "<application>AbiWord</application> can import or export many file formats, " "including some proprietary ones like <trademark class=\"registered" @@ -21004,26 +21054,26 @@ msgstr "" "<filename>.rtf</filename> 格式。" #. (itstool) path: sect2/para -#: book.translate.xml:13246 +#: book.translate.xml:13260 msgid "To install the <application>AbiWord</application> package:" msgstr "" "要安裝 <application>AbiWord</application> Binary 套件,可使用下列指令:" #. (itstool) path: sect2/screen -#: book.translate.xml:13249 +#: book.translate.xml:13263 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install abiword</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13251 +#: book.translate.xml:13265 msgid "" "If the package is not available, it can be compiled from the Ports " "Collection:" msgstr "若沒有 Binary 套件版本,也可以從 Port 套件集中編譯安裝:" #. (itstool) path: sect2/screen -#: book.translate.xml:13254 +#: book.translate.xml:13268 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/editors/abiword</userinput>\n" @@ -21031,17 +21081,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:13259 +#: book.translate.xml:13273 msgid "The GIMP" msgstr "The GIMP" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13261 +#: book.translate.xml:13275 msgid "<primary><application>The GIMP</application></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13265 +#: book.translate.xml:13279 msgid "" "For image authoring or picture retouching, <application>The GIMP</" "application> provides a sophisticated image manipulation program. It can be " @@ -21056,18 +21106,18 @@ msgstr "" "可以讀寫許多檔案格式。 它也支援掃描器和手寫板。" #. (itstool) path: sect2/screen -#: book.translate.xml:13276 +#: book.translate.xml:13290 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install gimp</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13278 +#: book.translate.xml:13292 msgid "Alternately, use the Ports Collection:" msgstr "或使用 Port 套件集安裝:" #. (itstool) path: sect2/screen -#: book.translate.xml:13280 +#: book.translate.xml:13294 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/graphics/gimp</userinput>\n" @@ -21075,7 +21125,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13283 +#: book.translate.xml:13297 msgid "" "The graphics category (<link xlink:href=\"http://www.FreeBSD.org/ports/" "graphics.html\">freebsd.org/ports/graphics.html</link>) of the Ports " @@ -21087,24 +21137,24 @@ msgstr "" "<application>GIMP</application> 相關的附加元件,說明檔及使用手冊。" #. (itstool) path: sect2/title -#: book.translate.xml:13291 +#: book.translate.xml:13305 msgid "Apache OpenOffice" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13293 +#: book.translate.xml:13307 msgid "<primary> <application>Apache OpenOffice</application> </primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13298 +#: book.translate.xml:13312 msgid "" "<primary>office suite</primary> <secondary> <application>Apache OpenOffice</" "application> </secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13305 +#: book.translate.xml:13319 msgid "" "<application>Apache OpenOffice</application> is an open source office suite " "which is developed under the wing of the Apache Software Foundation's " @@ -21122,7 +21172,7 @@ msgstr "" "同語言的使用者介面、拼字檢查和字典。" #. (itstool) path: sect2/para -#: book.translate.xml:13316 +#: book.translate.xml:13330 msgid "" "The word processor of <application>Apache OpenOffice</application> uses a " "native XML file format for increased portability and flexibility. The " @@ -21150,18 +21200,18 @@ msgstr "" "freebsd/</link>。" #. (itstool) path: sect2/para -#: book.translate.xml:13327 +#: book.translate.xml:13341 msgid "To install the <application>Apache OpenOffice</application> package:" msgstr "要安裝 <application>Apache OpenOffice</application> 套件:" #. (itstool) path: sect2/screen -#: book.translate.xml:13330 +#: book.translate.xml:13344 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install apache-openoffice</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13332 +#: book.translate.xml:13346 msgid "" "Once the package is installed, type the following command to launch " "<application>Apache OpenOffice</application>:" @@ -21170,13 +21220,13 @@ msgstr "" "OpenOffice</application>:" #. (itstool) path: sect2/screen -#: book.translate.xml:13335 +#: book.translate.xml:13349 #, no-wrap msgid "<prompt>%</prompt> <userinput>openoffice-<replaceable>X.Y.Z</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13337 +#: book.translate.xml:13351 msgid "" "where <replaceable>X.Y.Z</replaceable> is the version number of the " "installed version of <application>Apache OpenOffice</application>. The first " @@ -21190,7 +21240,7 @@ msgstr "" "<filename>.openoffice.org</filename> 資料夾。" #. (itstool) path: sect2/para -#: book.translate.xml:13345 +#: book.translate.xml:13359 msgid "" "If the desired <application>Apache OpenOffice</application> package is not " "available, compiling the port is still an option. However, this requires a " @@ -21200,7 +21250,7 @@ msgstr "" "從 Port 編譯。 不過必須注意:編譯的過程會需要大量的磁碟空間與時間:" #. (itstool) path: sect2/screen -#: book.translate.xml:13350 +#: book.translate.xml:13364 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/editors/openoffice-4</userinput>\n" @@ -21208,18 +21258,18 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:13354 +#: book.translate.xml:13368 msgid "To build a localized version, replace the previous command with:" msgstr "如果想要編譯在地化的版本,將前面的指令替換成為:" #. (itstool) path: note/screen -#: book.translate.xml:13357 +#: book.translate.xml:13371 #, no-wrap msgid "<prompt>#</prompt> <userinput>make LOCALIZED_LANG=<replaceable>your_language</replaceable> install clean</userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:13359 +#: book.translate.xml:13373 msgid "" "Replace <replaceable>your_language</replaceable> with the correct language " "ISO-code. A list of supported language codes is available in <filename>files/" @@ -21230,24 +21280,24 @@ msgstr "" "錄。" #. (itstool) path: sect2/title -#: book.translate.xml:13369 +#: book.translate.xml:13383 msgid "LibreOffice" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13371 +#: book.translate.xml:13385 msgid "<primary><application>LibreOffice</application></primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13374 +#: book.translate.xml:13388 msgid "" "<primary>office suite</primary> <secondary><application>LibreOffice</" "application></secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13379 +#: book.translate.xml:13393 msgid "" "<application>LibreOffice</application> is a free software office suite " "developed by <link xlink:href=\"http://www.documentfoundation.org/" @@ -21260,9 +21310,16 @@ msgid "" "number of different languages and internationalization has been extended to " "interfaces, spell checkers, and dictionaries." msgstr "" +"<application>LibreOffice</application> 是一套自由的辦公軟體由 <link xlink:" +"href=\"http://www.documentfoundation.org/\">documentfoundation.org</link> 所" +"開發。它可相容其他主流的辦公軟體以及可在各種平台上使用。它是 " +"<application>Apache OpenOffice</application> 品牌重塑後的分支,含有可在完整辦" +"公生產力軟體中找到的應用程式:文件處理程式、試算表、簡報管理程式、繪圖程式、" +"資料庫管理程式以及建立與編輯數學公式的工具。它也支援數種語言與國際化一直延伸" +"到介面、拼字檢查程式與字典。" #. (itstool) path: sect2/para -#: book.translate.xml:13392 +#: book.translate.xml:13406 msgid "" "The word processor of <application>LibreOffice</application> uses a native " "XML file format for increased portability and flexibility. The spreadsheet " @@ -21274,22 +21331,30 @@ msgid "" "<application>LibreOffice</application> can be found at <link xlink:href=" "\"http://www.libreoffice.org/\">libreoffice.org</link>." msgstr "" +"<application>LibreOffice</application> 的文件處理程式使用了原生的 XML 檔案格" +"式來增加可攜性與彈性,試算表程式支援可與外部資料庫連接的巨集語言。" +"<application>LibreOffice</application> 非常穩定且可直接在 <trademark class=" +"\"registered\">Windows</trademark>, <trademark class=\"registered\">Linux</" +"trademark>, FreeBSD 以及 <trademark class=\"registered\">Mac OS</" +"trademark> X 上執行。更多有關 <application>LibreOffice</application> 的資訊可" +"在 <link xlink:href=\"http://www.libreoffice.org/\">libreoffice.org</link> 找" +"到。" #. (itstool) path: sect2/para -#: book.translate.xml:13402 +#: book.translate.xml:13416 msgid "" "To install the English version of the <application>LibreOffice</application> " "package:" -msgstr "" +msgstr "要安裝英文版本的 <application>LibreOffice</application> 套件:" #. (itstool) path: sect2/screen -#: book.translate.xml:13405 +#: book.translate.xml:13419 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install libreoffice</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13407 +#: book.translate.xml:13421 msgid "" "The editors category (<link xlink:href=\"http://www.FreeBSD.org/ports/" "editors.html\">freebsd.org/ports/editors.html</link>) of the Ports " @@ -21297,38 +21362,47 @@ msgid "" "application>. When installing a localized package, replace " "<literal>libreoffice</literal> with the name of the localized package." msgstr "" +"Port 套件集的編輯器分類 (<link xlink:href=\"http://www.FreeBSD.org/ports/" +"editors.html\">freebsd.org/ports/editors.html</link>) 中含有數個 " +"<application>LibreOffice</application> 的語系。安裝在地化套件時,請替換 " +"<literal>libreoffice</literal> 為在地化套件的名稱。" #. (itstool) path: sect2/para -#: book.translate.xml:13413 +#: book.translate.xml:13427 msgid "" "Once the package is installed, type the following command to run " "<application>LibreOffice</application>:" msgstr "" +"套件安裝之後,輸入以下指令來執行 <application>LibreOffice</application>:" #. (itstool) path: sect2/screen -#: book.translate.xml:13416 +#: book.translate.xml:13430 #, no-wrap msgid "<prompt>%</prompt> <userinput>libreoffice</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13418 +#: book.translate.xml:13432 msgid "" "During the first launch, some questions will be asked and a <filename>." "libreoffice</filename> folder will be created in the user's home directory." msgstr "" +"第一次啟動的過程中會詢問一些問題並在使用者的家目錄建立 <filename>." +"libreoffice</filename> 資料夾。" #. (itstool) path: sect2/para -#: book.translate.xml:13422 +#: book.translate.xml:13436 msgid "" "If the desired <application>LibreOffice</application> package is not " "available, compiling the port is still an option. However, this requires a " "lot of disk space and a fairly long time to compile. This example compiles " "the English version:" msgstr "" +"若找不到想使用的 <application>LibreOffice</application> 套件,也可從 Port 編" +"譯,但這會要大量的磁碟空間及漫長的時間編譯。以下例子示範編譯英文版本:" #. (itstool) path: sect2/screen -#: book.translate.xml:13428 +#: book.translate.xml:13442 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/editors/libreoffice</userinput>\n" @@ -21336,81 +21410,87 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:13432 +#: book.translate.xml:13446 msgid "" "To build a localized version, <command>cd</command> into the port directory " "of the desired language. Supported languages can be found in the editors " "category (<link xlink:href=\"http://www.FreeBSD.org/ports/editors.html" "\">freebsd.org/ports/editors.html</link>) of the Ports Collection." msgstr "" +"要編譯在地化版本,則需 <command>cd</command> 進入想要的語言 Port 目錄。支援的" +"語言可在 Port 套件集的編輯器分類 (<link xlink:href=\"http://www.FreeBSD.org/" +"ports/editors.html\">freebsd.org/ports/editors.html</link>) 中找到。" #. (itstool) path: sect1/title -#: book.translate.xml:13442 +#: book.translate.xml:13456 msgid "Document Viewers" msgstr "文件閱覽程式" #. (itstool) path: sect1/para -#: book.translate.xml:13444 +#: book.translate.xml:13458 msgid "" "Some new document formats have gained popularity since the advent of " "<trademark class=\"registered\">UNIX</trademark> and the viewers they " "require may not be available in the base system. This section demonstrates " "how to install the following document viewers:" msgstr "" +"<trademark class=\"registered\">UNIX</trademark> 出現之後,有一些新的文件格式" +"才越來越熱門,這些文件所需的檢視程式可能並不在基礎系統中。本節將示範如何安裝" +"以下文件檢視程式:" #. (itstool) path: row/entry -#: book.translate.xml:13462 +#: book.translate.xml:13476 msgid "<application>Xpdf</application>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:13465 +#: book.translate.xml:13479 msgid "<application>FreeType</application>" msgstr "" #. (itstool) path: row/entry #. (itstool) path: sect2/title -#: book.translate.xml:13469 book.translate.xml:13534 +#: book.translate.xml:13483 book.translate.xml:13548 msgid "<application>gv</application>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:13472 +#: book.translate.xml:13486 msgid "<application>Xaw3d</application>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:13476 +#: book.translate.xml:13490 msgid "<application>Geeqie</application>" msgstr "<application>Geeqie</application>" #. (itstool) path: row/entry -#: book.translate.xml:13484 +#: book.translate.xml:13498 msgid "<application>ePDFView</application>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:13491 +#: book.translate.xml:13505 msgid "<application>Okular</application>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:13501 +#: book.translate.xml:13515 msgid "Xpdf" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13503 +#: book.translate.xml:13517 msgid "<primary><application>Xpdf</application></primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13506 book.translate.xml:13539 book.translate.xml:13605 +#: book.translate.xml:13520 book.translate.xml:13553 book.translate.xml:13619 msgid "<primary>PDF</primary> <secondary>viewing</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13511 +#: book.translate.xml:13525 msgid "" "For users that prefer a small FreeBSD PDF viewer, <application>Xpdf</" "application> provides a light-weight and efficient viewer which requires few " @@ -21422,24 +21502,24 @@ msgstr "" "準的 X 字型且不需要額外的工具包(Toolkit)。" #. (itstool) path: sect2/para -#: book.translate.xml:13517 +#: book.translate.xml:13531 msgid "To install the <application>Xpdf</application> package:" msgstr "安裝 <application>Xpdf</application> 套件:" #. (itstool) path: sect2/screen -#: book.translate.xml:13520 +#: book.translate.xml:13534 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install xpdf</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13522 book.translate.xml:13592 book.translate.xml:13737 -#: book.translate.xml:13771 book.translate.xml:13804 +#: book.translate.xml:13536 book.translate.xml:13606 book.translate.xml:13751 +#: book.translate.xml:13785 book.translate.xml:13818 msgid "If the package is not available, use the Ports Collection:" msgstr "若沒有可用的套件版本,可使用 Port 套件集安裝:" #. (itstool) path: sect2/screen -#: book.translate.xml:13525 +#: book.translate.xml:13539 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/graphics/xpdf</userinput>\n" @@ -21447,24 +21527,24 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13528 +#: book.translate.xml:13542 msgid "" "Once the installation is complete, launch <command>xpdf</command> and use " "the right mouse button to activate the menu." msgstr "完成安裝後,執行 <command>xpdf</command> 並使用滑鼠右鍵開啟選單。" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13536 +#: book.translate.xml:13550 msgid "<primary><application>gv</application></primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13543 +#: book.translate.xml:13557 msgid "<primary>PostScript</primary> <secondary>viewing</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13548 +#: book.translate.xml:13562 msgid "" "<application>gv</application> is a <trademark class=\"registered" "\">PostScript</trademark> and PDF viewer. It is based on " @@ -21482,23 +21562,23 @@ msgstr "" "可以從鍵盤或滑鼠來完成。" #. (itstool) path: sect2/para -#: book.translate.xml:13557 +#: book.translate.xml:13571 msgid "To install <application>gv</application> as a package:" msgstr "安裝 <application>gv</application> 套件:" #. (itstool) path: sect2/screen -#: book.translate.xml:13560 +#: book.translate.xml:13574 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install gv</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13562 book.translate.xml:13624 book.translate.xml:13654 +#: book.translate.xml:13576 book.translate.xml:13638 book.translate.xml:13668 msgid "If a package is unavailable, use the Ports Collection:" msgstr "若沒有可用的套件版本,可使用 Port 套件集安裝:" #. (itstool) path: sect2/screen -#: book.translate.xml:13565 +#: book.translate.xml:13579 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/print/gv</userinput>\n" @@ -21506,17 +21586,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:13570 +#: book.translate.xml:13584 msgid "Geeqie" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13572 +#: book.translate.xml:13586 msgid "<primary><application>Geeqie</application></primary>" msgstr "<primary><application>Geeqie</application></primary>" #. (itstool) path: sect2/para -#: book.translate.xml:13576 +#: book.translate.xml:13590 msgid "" "<application>Geeqie</application> is a fork from the unmaintained " "<application>GQView</application> project, in an effort to move development " @@ -21535,18 +21615,18 @@ msgstr "" "用全螢幕閱覽以及國際化。" #. (itstool) path: sect2/para -#: book.translate.xml:13587 +#: book.translate.xml:13601 msgid "To install the <application>Geeqie</application> package:" msgstr "安裝 <application>Geeqie</application> 套件:" #. (itstool) path: sect2/screen -#: book.translate.xml:13590 +#: book.translate.xml:13604 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install geeqie</userinput>" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:13595 +#: book.translate.xml:13609 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/graphics/geeqie</userinput>\n" @@ -21554,17 +21634,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:13600 +#: book.translate.xml:13614 msgid "ePDFView" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13602 +#: book.translate.xml:13616 msgid "<primary><application>ePDFView</application></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13610 +#: book.translate.xml:13624 msgid "" "<application>ePDFView</application> is a lightweight <acronym>PDF</acronym> " "document viewer that only uses the <application>Gtk+</application> and " @@ -21573,20 +21653,25 @@ msgid "" "encrypted), save copies of documents, and has support for printing using " "<application>CUPS</application>." msgstr "" +"<application>ePDFView</application> 是一套小巧的 <acronym>PDF</acronym> 文件" +"檢視程式,只使用了 <application>Gtk+</application> 與 <application>Poppler</" +"application> 程式庫。它目前還在開發當中,但已經可以開啟大部份 <acronym>PDF</" +"acronym> 檔案 (甚至是加密過的)、儲存文件複本以及支援使用 <application>CUPS</" +"application> 來列印。" #. (itstool) path: sect2/para -#: book.translate.xml:13619 +#: book.translate.xml:13633 msgid "To install <application>ePDFView</application> as a package:" -msgstr "" +msgstr "要以套件安裝 <application>ePDFView</application>:" #. (itstool) path: sect2/screen -#: book.translate.xml:13622 +#: book.translate.xml:13636 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install epdfview</userinput>" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:13627 +#: book.translate.xml:13641 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/graphics/epdfview</userinput>\n" @@ -21594,23 +21679,23 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:13632 +#: book.translate.xml:13646 msgid "Okular" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13634 +#: book.translate.xml:13648 msgid "<primary><application>Okular</application></primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13637 +#: book.translate.xml:13651 msgid "" "<primary><acronym>PDF</acronym></primary> <secondary>viewing</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13642 +#: book.translate.xml:13656 msgid "" "<application>Okular</application> is a universal document viewer based on " "<application>KPDF</application> for <application>KDE</application>. It can " @@ -21618,20 +21703,25 @@ msgid "" "class=\"registered\">PostScript</trademark>, DjVu, <acronym>CHM</acronym>, " "<acronym>XPS</acronym>, and ePub." msgstr "" +"<application>Okular</application> 是一套通用的文件檢視程式,以 " +"<application>KDE</application> 的 <application>KPDF</application> 為基礎。它" +"可以開啟許多種文件格式,包含了 <acronym>PDF</acronym>, <trademark class=" +"\"registered\">PostScript</trademark>, DjVu, <acronym>CHM</acronym>, " +"<acronym>XPS</acronym> 以及 ePub。" #. (itstool) path: sect2/para -#: book.translate.xml:13649 +#: book.translate.xml:13663 msgid "To install <application>Okular</application> as a package:" -msgstr "" +msgstr "要以套件安裝 <application>Okular</application>:" #. (itstool) path: sect2/screen -#: book.translate.xml:13652 +#: book.translate.xml:13666 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install okular</userinput>" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:13657 +#: book.translate.xml:13671 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/graphics/okular</userinput>\n" @@ -21639,12 +21729,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:13663 +#: book.translate.xml:13677 msgid "Finance" msgstr "財務" #. (itstool) path: sect1/para -#: book.translate.xml:13665 +#: book.translate.xml:13679 msgid "" "For managing personal finances on a FreeBSD desktop, some powerful and easy-" "to-use applications can be installed. Some are compatible with widespread " @@ -21656,42 +21746,42 @@ msgstr "" "<application>Quicken</application> 或 <application>Excel</application> 文件。" #. (itstool) path: sect1/para -#: book.translate.xml:13671 +#: book.translate.xml:13685 msgid "This section covers these programs:" msgstr "這節涵蓋了下面這些軟體:" #. (itstool) path: row/entry -#: book.translate.xml:13686 +#: book.translate.xml:13700 msgid "<application>GnuCash</application>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:13689 book.translate.xml:13696 +#: book.translate.xml:13703 book.translate.xml:13710 msgid "<application>GNOME</application>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:13693 +#: book.translate.xml:13707 msgid "<application>Gnumeric</application>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:13700 +#: book.translate.xml:13714 msgid "<application>KMyMoney</application>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:13710 +#: book.translate.xml:13724 msgid "GnuCash" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13712 +#: book.translate.xml:13726 msgid "<primary><application>GnuCash</application></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13716 +#: book.translate.xml:13730 msgid "" "<application>GnuCash</application> is part of the <application>GNOME</" "application> effort to provide user-friendly, yet powerful, applications to " @@ -21702,11 +21792,10 @@ msgstr "" "<application>GnuCash</application> 是 <application>GNOME</application> 團隊努" "力成果中的一部分, <application>GNOME</application> 團隊主要提供親切而強大的" "桌面應用程式給終端使用者。使用 <application>GnuCash</application> 可以持續追" -"蹤記錄收入與花費、銀行帳戶以及股票證券等。 它的特性是介面直覺但功能仍非常專" -"業。" +"蹤收入與花費、銀行帳戶以及股票證券等。 它的特性是介面直覺但功能仍非常專業。" #. (itstool) path: sect2/para -#: book.translate.xml:13724 +#: book.translate.xml:13738 msgid "" "<application>GnuCash</application> provides a smart register, a hierarchical " "system of accounts, and many keyboard accelerators and auto-completion " @@ -21721,18 +21810,18 @@ msgstr "" "application> QIF 檔案。 它也能處理大部分國際的日期及通用貨幣之格式。" #. (itstool) path: sect2/para -#: book.translate.xml:13732 +#: book.translate.xml:13746 msgid "To install the <application>GnuCash</application> package:" msgstr "安裝 <application>GnuCash</application> 套件:" #. (itstool) path: sect2/screen -#: book.translate.xml:13735 +#: book.translate.xml:13749 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install gnucash</userinput>" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:13740 +#: book.translate.xml:13754 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/finance/gnucash</userinput>\n" @@ -21740,17 +21829,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:13745 +#: book.translate.xml:13759 msgid "Gnumeric" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13747 +#: book.translate.xml:13761 msgid "<primary><application>Gnumeric</application></primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13750 +#: book.translate.xml:13764 msgid "" "<primary>spreadsheet</primary> <secondary><application>Gnumeric</" "application></secondary>" @@ -21759,7 +21848,7 @@ msgstr "" "secondary>" #. (itstool) path: sect2/para -#: book.translate.xml:13755 +#: book.translate.xml:13769 msgid "" "<application>Gnumeric</application> is a spreadsheet program developed by " "the <application>GNOME</application> community. It features convenient " @@ -21778,18 +21867,18 @@ msgstr "" "儲存格格式,像是:數字、貨幣、日期、時間及其他格式等。" #. (itstool) path: sect2/para -#: book.translate.xml:13766 +#: book.translate.xml:13780 msgid "To install <application>Gnumeric</application> as a package:" msgstr "安裝 <application>Gnumeric</application> 套件:" #. (itstool) path: sect2/screen -#: book.translate.xml:13769 +#: book.translate.xml:13783 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install gnumeric</userinput>" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:13774 +#: book.translate.xml:13788 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/math/gnumeric</userinput>\n" @@ -21797,17 +21886,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:13779 +#: book.translate.xml:13793 msgid "KMyMoney" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13781 +#: book.translate.xml:13795 msgid "<primary><application>KMyMoney</application></primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:13783 +#: book.translate.xml:13797 msgid "" "<primary>spreadsheet</primary> <secondary><application>KMyMoney</" "application></secondary>" @@ -21816,7 +21905,7 @@ msgstr "" "secondary>" #. (itstool) path: sect2/para -#: book.translate.xml:13788 +#: book.translate.xml:13802 msgid "" "<application>KMyMoney</application> is a personal finance application " "created by the <application>KDE</application> community. " @@ -21827,20 +21916,26 @@ msgid "" "<application>Quicken</application> QIF files, tracks investments, handles " "multiple currencies, and provides a wealth of reports." msgstr "" +"<application>KMyMoney</application> 是一套個人財務應用程式,由 " +"<application>KDE</application> 社群所開發。<application>KMyMoney</" +"application> 的目標是提供可在商業個人財務管理應用程式中找到的重要功能,它也強" +"調簡單易用及其功能間採用合適的複式記帳。<application>KMyMoney</application> " +"可從標準 <application>Quicken</application> QIF 檔案匯入資料、追蹤投資、處理" +"多種貨幣並提供財務報表。" #. (itstool) path: sect2/para -#: book.translate.xml:13799 +#: book.translate.xml:13813 msgid "To install <application>KMyMoney</application> as a package:" -msgstr "" +msgstr "要以套件安裝 <application>KMyMoney</application>:" #. (itstool) path: sect2/screen -#: book.translate.xml:13802 +#: book.translate.xml:13816 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install kmymoney-kde4</userinput>" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:13807 +#: book.translate.xml:13821 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/finance/kmymoney-kde4</userinput>\n" @@ -21848,19 +21943,19 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:13822 +#: book.translate.xml:13836 msgid "Multimedia" msgstr "多媒體" #. (itstool) path: authorgroup/author -#: book.translate.xml:13825 +#: book.translate.xml:13839 msgid "" "<personname> <firstname>Ross</firstname> <surname>Lippert</surname> </" "personname> <contrib>Edited by </contrib>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:13838 +#: book.translate.xml:13852 msgid "" "FreeBSD supports a wide variety of sound cards, allowing users to enjoy high " "fidelity output from a FreeBSD system. This includes the ability to record " @@ -21876,7 +21971,7 @@ msgstr "" "MIDI 配備的應用程式。" #. (itstool) path: sect1/para -#: book.translate.xml:13847 +#: book.translate.xml:13861 msgid "" "FreeBSD also supports the playback of video files and <acronym>DVD</" "acronym>s. The FreeBSD Ports Collection contains applications to encode, " @@ -21886,7 +21981,7 @@ msgstr "" "中含有可編碼、轉換以及播放格種影像媒體的應用程式。" #. (itstool) path: sect1/para -#: book.translate.xml:13852 +#: book.translate.xml:13866 msgid "" "This chapter describes how to configure sound cards, video playback, TV " "tuner cards, and scanners on FreeBSD. It also describes some of the " @@ -21896,32 +21991,32 @@ msgstr "" "有那些應用程式可以使用這些裝置。" #. (itstool) path: sect1/para -#: book.translate.xml:13857 +#: book.translate.xml:13871 msgid "After reading this chapter, you will know how to:" msgstr "讀完這章,您將了解:" #. (itstool) path: listitem/para -#: book.translate.xml:13861 +#: book.translate.xml:13875 msgid "Configure a sound card on FreeBSD." msgstr "設定 FreeBSD 上的音效卡。" #. (itstool) path: listitem/para -#: book.translate.xml:13865 +#: book.translate.xml:13879 msgid "Troubleshoot the sound setup." msgstr "音效設定疑難排解。" #. (itstool) path: listitem/para -#: book.translate.xml:13869 +#: book.translate.xml:13883 msgid "Playback and encode MP3s and other audio." msgstr "播放、錄製 MP3 及其他聲音檔案格式。" #. (itstool) path: listitem/para -#: book.translate.xml:13873 +#: book.translate.xml:13887 msgid "Prepare a FreeBSD system for video playback." msgstr "FreeBSD 系統播放影像的準備工具。" #. (itstool) path: listitem/para -#: book.translate.xml:13877 +#: book.translate.xml:13891 msgid "" "Play <acronym>DVD</acronym>s, <filename>.mpg</filename>, and <filename>.avi</" "filename> files." @@ -21930,64 +22025,64 @@ msgstr "" "filename> 檔。" #. (itstool) path: listitem/para -#: book.translate.xml:13882 +#: book.translate.xml:13896 msgid "" "Rip <acronym>CD</acronym> and <acronym>DVD</acronym> content into files." msgstr "" "擷取(Rip) <acronym>CD</acronym> 和 <acronym>DVD</acronym>的內容至檔案。" #. (itstool) path: listitem/para -#: book.translate.xml:13887 +#: book.translate.xml:13901 msgid "Configure a TV card." msgstr "設定電視卡。" #. (itstool) path: listitem/para -#: book.translate.xml:13891 +#: book.translate.xml:13905 msgid "Install and setup MythTV on FreeBSD" msgstr "在 FreeBSD 安裝 MythTV 。" #. (itstool) path: listitem/para -#: book.translate.xml:13895 +#: book.translate.xml:13909 msgid "Configure an image scanner." msgstr "設定影像掃描機。" #. (itstool) path: listitem/para -#: book.translate.xml:13902 +#: book.translate.xml:13916 msgid "" "Know how to install applications as described in <xref linkend=\"ports\"/>." msgstr "知道如何安裝應用程式如 <xref linkend=\"ports\"/> 所敘述。" #. (itstool) path: info/title -#: book.translate.xml:13909 +#: book.translate.xml:13923 msgid "Setting Up the Sound Card" msgstr "設定音效卡" #. (itstool) path: authorgroup/author -#: book.translate.xml:13912 +#: book.translate.xml:13926 msgid "" "<personname> <firstname>Moses</firstname> <surname>Moore</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:13922 +#: book.translate.xml:13936 msgid "" "<personname> <firstname>Marc</firstname> <surname>Fonvieille</surname> </" "personname> <contrib>Enhanced by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:13932 +#: book.translate.xml:13946 msgid "<primary>PCI</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:13933 +#: book.translate.xml:13947 msgid "<primary>sound cards</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:13934 +#: book.translate.xml:13948 msgid "" "Before beginning the configuration, determine the model of the sound card " "and the chip it uses. FreeBSD supports a wide variety of sound cards. Check " @@ -22001,12 +22096,12 @@ msgstr "" "援以及如何在 FreeBSD 上驅動。" #. (itstool) path: sect1/indexterm -#: book.translate.xml:13941 +#: book.translate.xml:13955 msgid "<primary>kernel</primary> <secondary>configuration</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:13946 +#: book.translate.xml:13960 msgid "" "In order to use the sound device, its device driver must be loaded. The " "easiest way is to load a kernel module for the sound card with " @@ -22020,13 +22115,13 @@ msgstr "" "效晶片驅動程式。" #. (itstool) path: sect1/screen -#: book.translate.xml:13952 +#: book.translate.xml:13966 #, no-wrap msgid "<prompt>#</prompt> <userinput>kldload snd_hda</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:13954 +#: book.translate.xml:13968 msgid "" "To automate the loading of this driver at boot time, add the driver to " "<filename>/boot/loader.conf</filename>. The line for this driver is:" @@ -22035,13 +22130,13 @@ msgstr "" "filename> 檔,以此驅動程式為例:" #. (itstool) path: sect1/programlisting -#: book.translate.xml:13958 +#: book.translate.xml:13972 #, no-wrap msgid "snd_hda_load=\"YES\"" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:13960 +#: book.translate.xml:13974 msgid "" "Other available sound modules are listed in <filename>/boot/defaults/loader." "conf</filename>. When unsure which driver to use, load the " @@ -22052,13 +22147,13 @@ msgstr "" "filename> 模組:" #. (itstool) path: sect1/screen -#: book.translate.xml:13965 +#: book.translate.xml:13979 #, no-wrap msgid "<prompt>#</prompt> <userinput>kldload snd_driver</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:13967 +#: book.translate.xml:13981 msgid "" "This is a metadriver which loads all of the most common sound drivers and " "can be used to speed up the search for the correct driver. It is also " @@ -22070,7 +22165,7 @@ msgstr "" "所有音效驅動程式。" #. (itstool) path: sect1/para -#: book.translate.xml:13973 +#: book.translate.xml:13987 msgid "" "To determine which driver was selected for the sound card after loading the " "<filename>snd_driver</filename> metadriver, type <command>cat /dev/sndstat</" @@ -22080,12 +22175,12 @@ msgstr "" "程式,請輸入 <command>cat /dev/sndstat</command>。" #. (itstool) path: sect2/title -#: book.translate.xml:13978 +#: book.translate.xml:13992 msgid "Configuring a Custom Kernel with Sound Support" msgstr "設定自訂核心支援音效" #. (itstool) path: sect2/para -#: book.translate.xml:13980 +#: book.translate.xml:13994 msgid "" "This section is for users who prefer to statically compile in support for " "the sound card in a custom kernel. For more information about recompiling a " @@ -22093,20 +22188,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13984 +#: book.translate.xml:13998 msgid "" "When using a custom kernel to provide sound support, make sure that the " "audio framework driver exists in the custom kernel configuration file:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:13988 +#: book.translate.xml:14002 #, no-wrap msgid "device sound" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13990 +#: book.translate.xml:14004 msgid "" "Next, add support for the sound card. To continue the example of the built-" "in audio chipset based on the Intel specification from the previous section, " @@ -22114,20 +22209,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:13995 +#: book.translate.xml:14009 #, no-wrap msgid "device snd_hda" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:13997 +#: book.translate.xml:14011 msgid "" "Be sure to read the manual page of the driver for the device name to use for " "the driver." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14000 +#: book.translate.xml:14014 msgid "" "Non-PnP ISA sound cards may require the IRQ and I/O port settings of the " "card to be added to <filename>/boot/device.hints</filename>. During the boot " @@ -22142,7 +22237,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:14010 +#: book.translate.xml:14024 #, no-wrap msgid "" "device snd_sbc\n" @@ -22150,7 +22245,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14013 +#: book.translate.xml:14027 msgid "" "If the card uses the <literal>0x220</literal> I/O port and IRQ <literal>5</" "literal>, these lines must also be added to <filename>/boot/device.hints</" @@ -22158,7 +22253,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:14017 +#: book.translate.xml:14031 #, no-wrap msgid "" "hint.sbc.0.at=\"isa\"\n" @@ -22169,7 +22264,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14023 +#: book.translate.xml:14037 msgid "" "The syntax used in <filename>/boot/device.hints</filename> is described in " "<citerefentry><refentrytitle>sound</refentrytitle><manvolnum>4</manvolnum></" @@ -22177,7 +22272,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14027 +#: book.translate.xml:14041 msgid "" "The settings shown above are the defaults. In some cases, the IRQ or other " "settings may need to be changed to match the card. Refer to " @@ -22186,12 +22281,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:14034 +#: book.translate.xml:14048 msgid "Testing Sound" msgstr "測試音效" #. (itstool) path: sect2/para -#: book.translate.xml:14036 +#: book.translate.xml:14050 msgid "" "After loading the required module or rebooting into the custom kernel, the " "sound card should be detected. To confirm, run <command>dmesg | grep pcm</" @@ -22200,7 +22295,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:14041 +#: book.translate.xml:14055 #, no-wrap msgid "" "pcm0: <NVIDIA (0x001c) (HDMI/DP 8ch)> at nid 5 on hdaa0\n" @@ -22209,12 +22304,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14045 +#: book.translate.xml:14059 msgid "The status of the sound card may also be checked using this command:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:14048 +#: book.translate.xml:14062 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cat /dev/sndstat</userinput>\n" @@ -22226,7 +22321,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14055 +#: book.translate.xml:14069 msgid "" "The output will vary depending upon the sound card. If no <filename>pcm</" "filename> devices are listed, double-check that the correct device driver " @@ -22235,7 +22330,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14061 +#: book.translate.xml:14075 msgid "" "If all goes well, the sound card should now work in FreeBSD. If the " "<acronym>CD</acronym> or <acronym>DVD</acronym> drive is properly connected " @@ -22245,13 +22340,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:14067 +#: book.translate.xml:14081 #, no-wrap msgid "<prompt>%</prompt> <userinput>cdcontrol -f /dev/acd0 play 1</userinput>" msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:14070 +#: book.translate.xml:14084 msgid "" "Audio <acronym>CD</acronym>s have specialized encodings which means that " "they should not be mounted using <citerefentry><refentrytitle>mount</" @@ -22259,7 +22354,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14075 +#: book.translate.xml:14089 msgid "" "Various applications, such as <package>audio/workman</package>, provide a " "friendlier interface. The <package>audio/mpg123</package> port can be " @@ -22267,20 +22362,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14080 +#: book.translate.xml:14094 msgid "" "Another quick way to test the card is to send data to <filename>/dev/dsp</" "filename>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:14083 +#: book.translate.xml:14097 #, no-wrap msgid "<prompt>%</prompt> <userinput>cat <replaceable>filename</replaceable> > /dev/dsp</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14085 +#: book.translate.xml:14099 msgid "" "where <filename><replaceable>filename</replaceable></filename> can be any " "type of file. This command should produce some noise, confirming that the " @@ -22288,7 +22383,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:14091 +#: book.translate.xml:14105 msgid "" "The <filename>/dev/dsp*</filename> device nodes will be created " "automatically as needed. When not in use, they do not exist and will not " @@ -22297,91 +22392,91 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:14099 +#: book.translate.xml:14113 msgid "Troubleshooting Sound" msgstr "疑難排解音效" #. (itstool) path: sect2/indexterm -#: book.translate.xml:14101 +#: book.translate.xml:14115 msgid "<primary>device nodes</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:14102 +#: book.translate.xml:14116 msgid "<primary>I/O port</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:14103 +#: book.translate.xml:14117 msgid "<primary>IRQ</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:14104 +#: book.translate.xml:14118 msgid "<primary>DSP</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14106 +#: book.translate.xml:14120 msgid "" "<xref linkend=\"multimedia-sound-common-error-messages\"/> lists some common " "error messages and their solutions:" msgstr "" #. (itstool) path: table/title -#: book.translate.xml:14110 +#: book.translate.xml:14124 msgid "Common Error Messages" msgstr "常見錯誤訊息" #. (itstool) path: row/entry -#: book.translate.xml:14115 +#: book.translate.xml:14129 msgid "Error" msgstr "錯誤" #. (itstool) path: row/entry -#: book.translate.xml:14116 +#: book.translate.xml:14130 msgid "Solution" msgstr "解決方式" #. (itstool) path: row/entry -#: book.translate.xml:14122 +#: book.translate.xml:14136 msgid "<errorname>sb_dspwr(XX) timed out</errorname>" msgstr "" #. (itstool) path: entry/para -#: book.translate.xml:14124 +#: book.translate.xml:14138 msgid "The I/O port is not set correctly." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:14129 +#: book.translate.xml:14143 msgid "<errorname>bad irq XX</errorname>" msgstr "" #. (itstool) path: entry/para -#: book.translate.xml:14130 +#: book.translate.xml:14144 msgid "" "The IRQ is set incorrectly. Make sure that the set IRQ and the sound IRQ are " "the same." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:14136 +#: book.translate.xml:14150 msgid "<errorname>xxx: gus pcm not attached, out of memory</errorname>" msgstr "" #. (itstool) path: entry/para -#: book.translate.xml:14138 +#: book.translate.xml:14152 msgid "There is not enough available memory to use the device." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:14143 +#: book.translate.xml:14157 msgid "<errorname>xxx: can't open /dev/dsp!</errorname>" msgstr "" #. (itstool) path: entry/para -#: book.translate.xml:14145 +#: book.translate.xml:14159 msgid "" "Type <command>fstat | grep dsp</command> to check if another application is " "holding the device open. Noteworthy troublemakers are <application>esound</" @@ -22389,7 +22484,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14156 +#: book.translate.xml:14170 msgid "" "Modern graphics cards often come with their own sound driver for use with " "<acronym>HDMI</acronym>. This sound device is sometimes enumerated before " @@ -22400,7 +22495,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:14165 +#: book.translate.xml:14179 #, no-wrap msgid "" "...\n" @@ -22423,7 +22518,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14183 +#: book.translate.xml:14197 msgid "" "In this example, the graphics card (<literal>NVidia</literal>) has been " "enumerated before the sound card (<literal>Realtek ALC889</literal>). To use " @@ -22432,13 +22527,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:14190 +#: book.translate.xml:14204 #, no-wrap msgid "<prompt>#</prompt> <userinput>sysctl hw.snd.default_unit=<replaceable>n</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14192 +#: book.translate.xml:14206 msgid "" "where <literal>n</literal> is the number of the sound device to use. In this " "example, it should be <literal>4</literal>. Make this change permanent by " @@ -22446,25 +22541,25 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:14198 +#: book.translate.xml:14212 #, no-wrap msgid "hw.snd.default_unit=<replaceable>4</replaceable>" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:14203 +#: book.translate.xml:14217 msgid "Utilizing Multiple Sound Sources" msgstr "使用多個音效來源" #. (itstool) path: authorgroup/author -#: book.translate.xml:14206 +#: book.translate.xml:14220 msgid "" "<personname> <firstname>Munish</firstname> <surname>Chopra</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14216 +#: book.translate.xml:14230 msgid "" "It is often desirable to have multiple sources of sound that are able to " "play simultaneously. FreeBSD uses <quote>Virtual Sound Channels</quote> to " @@ -22472,7 +22567,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14221 +#: book.translate.xml:14235 msgid "" "Three <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> knobs are available for configuring virtual " @@ -22480,7 +22575,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:14224 +#: book.translate.xml:14238 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>sysctl dev.pcm.0.play.vchans=4</userinput>\n" @@ -22489,7 +22584,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14228 +#: book.translate.xml:14242 msgid "" "This example allocates four virtual channels, which is a practical number " "for everyday use. Both <varname>dev.pcm.0.play.vchans=4</varname> and " @@ -22504,7 +22599,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:14241 +#: book.translate.xml:14255 msgid "" "The number of virtual channels for a device cannot be changed while it is in " "use. First, close any programs using the device, such as music players or " @@ -22512,26 +22607,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14246 +#: book.translate.xml:14260 msgid "" "The correct <filename>pcm</filename> device will automatically be allocated " "transparently to a program that requests <filename>/dev/dsp0</filename>." msgstr "" #. (itstool) path: info/title -#: book.translate.xml:14253 +#: book.translate.xml:14267 msgid "Setting Default Values for Mixer Channels" msgstr "設定混音器頻道的預設值" #. (itstool) path: authorgroup/author -#: book.translate.xml:14256 +#: book.translate.xml:14270 msgid "" "<personname> <firstname>Josef</firstname> <surname>El-Rayes</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14266 +#: book.translate.xml:14280 msgid "" "The default values for the different mixer channels are hardcoded in the " "source code of the <citerefentry><refentrytitle>pcm</" @@ -22544,13 +22639,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:14275 +#: book.translate.xml:14289 #, no-wrap msgid "hint.pcm.0.vol=\"50\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14277 +#: book.translate.xml:14291 msgid "" "This will set the volume channel to a default value of <literal>50</literal> " "when the <citerefentry><refentrytitle>pcm</refentrytitle><manvolnum>4</" @@ -22558,19 +22653,19 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:14285 +#: book.translate.xml:14299 msgid "MP3 Audio" msgstr "MP3 音樂" #. (itstool) path: authorgroup/author -#: book.translate.xml:14288 book.translate.xml:60016 +#: book.translate.xml:14302 book.translate.xml:60070 msgid "" "<personname> <firstname>Chern</firstname> <surname>Lee</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:14298 +#: book.translate.xml:14312 msgid "" "This section describes some <acronym>MP3</acronym> players available for " "FreeBSD, how to rip audio <acronym>CD</acronym> tracks, and how to encode " @@ -22578,12 +22673,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:14304 +#: book.translate.xml:14318 msgid "MP3 Players" msgstr "MP3 播放器" #. (itstool) path: sect2/para -#: book.translate.xml:14306 +#: book.translate.xml:14320 msgid "" "A popular graphical <acronym>MP3</acronym> player is <application>XMMS</" "application>. It supports <application>Winamp</application> skins and " @@ -22595,7 +22690,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14316 +#: book.translate.xml:14330 msgid "" "The <package>audio/mpg123</package> package or port provides an alternative, " "command-line <acronym>MP3</acronym> player. Once installed, specify the " @@ -22604,7 +22699,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:14322 +#: book.translate.xml:14336 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mpg123 <replaceable>-a /dev/dsp1.0 Foobar-GreatestHits.mp3</replaceable></userinput>\n" @@ -22617,19 +22712,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14330 +#: book.translate.xml:14344 msgid "" "Additional <acronym>MP3</acronym> players are available in the FreeBSD Ports " "Collection." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:14335 +#: book.translate.xml:14349 msgid "Ripping <acronym>CD</acronym> Audio Tracks" msgstr "擷取 <acronym>CD</acronym> 音軌" #. (itstool) path: sect2/para -#: book.translate.xml:14337 +#: book.translate.xml:14351 msgid "" "Before encoding a <acronym>CD</acronym> or <acronym>CD</acronym> track to " "<acronym>MP3</acronym>, the audio data on the <acronym>CD</acronym> must be " @@ -22639,7 +22734,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14344 +#: book.translate.xml:14358 msgid "" "The <command>cdda2wav</command> tool, which is installed with the " "<package>sysutils/cdrtools</package> suite, can be used to rip audio " @@ -22647,7 +22742,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14349 +#: book.translate.xml:14363 msgid "" "With the audio <acronym>CD</acronym> in the drive, the following command can " "be issued as <systemitem class=\"username\">root</systemitem> to rip an " @@ -22656,13 +22751,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:14355 +#: book.translate.xml:14369 #, no-wrap msgid "<prompt>#</prompt> <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -B</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14357 +#: book.translate.xml:14371 msgid "" "In this example, the <option>-D <replaceable>0,1,0</replaceable></option> " "indicates the <acronym>SCSI</acronym> device <filename>0,1,0</filename> " @@ -22671,29 +22766,29 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14364 +#: book.translate.xml:14378 msgid "To rip individual tracks, use <option>-t</option> to specify the track:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:14367 +#: book.translate.xml:14381 #, no-wrap msgid "<prompt>#</prompt> <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -t 7</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14369 +#: book.translate.xml:14383 msgid "To rip a range of tracks, such as track one to seven, specify a range:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:14372 +#: book.translate.xml:14386 #, no-wrap msgid "<prompt>#</prompt> <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -t 1+7</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14374 +#: book.translate.xml:14388 msgid "" "To rip from an <acronym>ATAPI</acronym> (<acronym>IDE</acronym>) " "<acronym>CDROM</acronym> drive, specify the device name in place of the " @@ -22702,13 +22797,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:14380 +#: book.translate.xml:14394 #, no-wrap msgid "<prompt>#</prompt> <userinput>cdda2wav -D <replaceable>/dev/acd0 -t 7</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14382 +#: book.translate.xml:14396 msgid "" "Alternately, <command>dd</command> can be used to extract audio tracks on " "<acronym>ATAPI</acronym> drives, as described in <xref linkend=\"duplicating-" @@ -22716,12 +22811,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:14388 +#: book.translate.xml:14402 msgid "Encoding and Decoding MP3s" msgstr "MP3 編碼與解碼" #. (itstool) path: sect2/para -#: book.translate.xml:14390 +#: book.translate.xml:14404 msgid "" "<application>Lame</application> is a popular <acronym>MP3</acronym> encoder " "which can be installed from the <package>audio/lame</package> port. Due to " @@ -22729,7 +22824,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14395 +#: book.translate.xml:14409 msgid "" "The following command will convert the ripped <acronym>WAV</acronym> file " "<filename><replaceable>audio01.wav</replaceable></filename> to " @@ -22737,7 +22832,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:14400 +#: book.translate.xml:14414 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>lame -h -b <replaceable>128</replaceable> --tt \"<replaceable>Foo Song Title</replaceable>\" --ta \"<replaceable>FooBar Artist</replaceable>\" --tl \"<replaceable>FooBar Album</replaceable>\" \\\n" @@ -22745,7 +22840,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14403 +#: book.translate.xml:14417 msgid "" "The specified 128 kbits is a standard <acronym>MP3</acronym> bitrate while " "the 160 and 192 bitrates provide higher quality. The higher the bitrate, the " @@ -22758,7 +22853,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14416 +#: book.translate.xml:14430 msgid "" "In order to burn an audio <acronym>CD</acronym> from <acronym>MP3</" "acronym>s, they must first be converted to a non-compressed file format. " @@ -22769,72 +22864,72 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14424 +#: book.translate.xml:14438 msgid "" "To convert <filename>audio01.mp3</filename> using <application>mpg123</" "application>, specify the name of the <acronym>PCM</acronym> file:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:14428 +#: book.translate.xml:14442 #, no-wrap msgid "<prompt>#</prompt> <userinput>mpg123 -s <replaceable>audio01.mp3</replaceable> > <replaceable>audio01.pcm</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14430 +#: book.translate.xml:14444 msgid "" "To use <application>XMMS</application> to convert a <acronym>MP3</acronym> " "to <acronym>WAV</acronym> format, use these steps:" msgstr "" #. (itstool) path: procedure/title -#: book.translate.xml:14435 +#: book.translate.xml:14449 msgid "" "Converting to <acronym>WAV</acronym> Format in <application>XMMS</" "application>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:14439 +#: book.translate.xml:14453 msgid "Launch <application>XMMS</application>." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:14443 +#: book.translate.xml:14457 msgid "" "Right-click the window to bring up the <application>XMMS</application> menu." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:14448 +#: book.translate.xml:14462 msgid "Select <literal>Preferences</literal> under <literal>Options</literal>." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:14453 +#: book.translate.xml:14467 msgid "Change the Output Plugin to <quote>Disk Writer Plugin</quote>." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:14458 +#: book.translate.xml:14472 msgid "Press <literal>Configure</literal>." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:14462 +#: book.translate.xml:14476 msgid "Enter or browse to a directory to write the uncompressed files to." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:14467 +#: book.translate.xml:14481 msgid "" "Load the <acronym>MP3</acronym> file into <application>XMMS</application> as " "usual, with volume at 100% and EQ settings turned off." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:14473 +#: book.translate.xml:14487 msgid "" "Press <literal>Play</literal>. The <application>XMMS</application> will " "appear as if it is playing the <acronym>MP3</acronym>, but no music will be " @@ -22842,14 +22937,14 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:14481 +#: book.translate.xml:14495 msgid "" "When finished, be sure to set the default Output Plugin back to what it was " "before in order to listen to <acronym>MP3</acronym>s again." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14487 +#: book.translate.xml:14501 msgid "" "Both the <acronym>WAV</acronym> and <acronym>PCM</acronym> formats can be " "used with <application>cdrecord</application>. When using <acronym>WAV</" @@ -22860,32 +22955,32 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:14495 +#: book.translate.xml:14509 #, no-wrap msgid "<prompt>%</prompt> <userinput>sox -t wav -r 44100 -s -w -c 2 <replaceable>track.wav track.raw</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14497 +#: book.translate.xml:14511 msgid "" "Refer to <xref linkend=\"creating-cds\"/> for more information on using a " "<acronym>CD</acronym> burner in FreeBSD." msgstr "" #. (itstool) path: info/title -#: book.translate.xml:14505 +#: book.translate.xml:14519 msgid "Video Playback" msgstr "影片播放" #. (itstool) path: authorgroup/author -#: book.translate.xml:14508 +#: book.translate.xml:14522 msgid "" "<personname> <firstname>Ross</firstname> <surname>Lippert</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:14518 +#: book.translate.xml:14532 msgid "" "Before configuring video playback, determine the model and chipset of the " "video card. While <application>Xorg</application> supports a wide variety of " @@ -22896,7 +22991,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:14527 +#: book.translate.xml:14541 msgid "" "It is a good idea to have a short MPEG test file for evaluating various " "players and options. Since some <acronym>DVD</acronym> applications look for " @@ -22906,13 +23001,13 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:14534 +#: book.translate.xml:14548 #, no-wrap msgid "<prompt>#</prompt> <userinput>ln -sf /dev/cd0 /dev/dvd</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:14536 +#: book.translate.xml:14550 msgid "" "Due to the nature of <citerefentry vendor=\"current\"><refentrytitle>devfs</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>, manually created " @@ -22922,20 +23017,20 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:14541 +#: book.translate.xml:14555 #, no-wrap msgid "link cd0 dvd" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:14543 +#: book.translate.xml:14557 msgid "" "<acronym>DVD</acronym> decryption invokes certain functions that require " "write permission to the <acronym>DVD</acronym> device." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:14547 +#: book.translate.xml:14561 msgid "" "To enhance the shared memory <application>Xorg</application> interface, it " "is recommended to increase the values of these " @@ -22944,7 +23039,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:14552 +#: book.translate.xml:14566 #, no-wrap msgid "" "kern.ipc.shmmax=67108864\n" @@ -22952,27 +23047,27 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:14556 +#: book.translate.xml:14570 msgid "Determining Video Capabilities" msgstr "偵測影像處理能力" #. (itstool) path: sect2/indexterm -#: book.translate.xml:14558 +#: book.translate.xml:14572 msgid "<primary>XVideo</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:14559 +#: book.translate.xml:14573 msgid "<primary>SDL</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:14560 +#: book.translate.xml:14574 msgid "<primary>DGA</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14562 +#: book.translate.xml:14576 msgid "" "There are several possible ways to display video under <application>Xorg</" "application> and what works is largely hardware dependent. Each method " @@ -22980,17 +23075,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14567 +#: book.translate.xml:14581 msgid "Common video interfaces include:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:14571 +#: book.translate.xml:14585 msgid "<application>Xorg</application>: normal output using shared memory." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:14576 +#: book.translate.xml:14590 msgid "" "XVideo: an extension to the <application>Xorg</application> interface which " "allows video to be directly displayed in drawable objects through a special " @@ -23000,7 +23095,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:14586 +#: book.translate.xml:14600 msgid "" "<acronym>SDL</acronym>: the Simple Directmedia Layer is a porting layer for " "many operating systems, allowing cross-platform applications to be developed " @@ -23012,7 +23107,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:14598 +#: book.translate.xml:14612 msgid "" "<acronym>DGA</acronym>: the Direct Graphics Access is an <application>Xorg</" "application> extension which allows a program to bypass the " @@ -23026,34 +23121,34 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:14613 +#: book.translate.xml:14627 msgid "SVGAlib: a low level console graphics layer." msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:14618 +#: book.translate.xml:14632 msgid "XVideo" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14620 +#: book.translate.xml:14634 msgid "" "To check whether this extension is running, use <command>xvinfo</command>:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:14623 +#: book.translate.xml:14637 #, no-wrap msgid "<prompt>%</prompt> <userinput>xvinfo</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14625 +#: book.translate.xml:14639 msgid "XVideo is supported for the card if the result is similar to:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:14628 +#: book.translate.xml:14642 #, no-wrap msgid "" "X-Video Extension version 2.2\n" @@ -23127,19 +23222,19 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14697 +#: book.translate.xml:14711 msgid "" "The formats listed, such as YUV2 and YUV12, are not present with every " "implementation of XVideo and their absence may hinder some players." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14701 +#: book.translate.xml:14715 msgid "If the result instead looks like:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:14703 +#: book.translate.xml:14717 #, no-wrap msgid "" "X-Video Extension version 2.2\n" @@ -23148,7 +23243,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14707 +#: book.translate.xml:14721 msgid "" "XVideo is probably not supported for the card. This means that it will be " "more difficult for the display to meet the computational demands of " @@ -23156,36 +23251,36 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:14715 +#: book.translate.xml:14729 msgid "Ports and Packages Dealing with Video" msgstr "可處理影像的 Port 與套件" #. (itstool) path: sect2/indexterm -#: book.translate.xml:14717 +#: book.translate.xml:14731 msgid "<primary>video ports</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:14718 +#: book.translate.xml:14732 msgid "<primary>video packages</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:14720 +#: book.translate.xml:14734 msgid "" "This section introduces some of the software available from the FreeBSD " "Ports Collection which can be used for video playback." msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:14725 +#: book.translate.xml:14739 msgid "" "<application>MPlayer</application> and <application>MEncoder</application>" msgstr "" "<application>MPlayer</application> 與 <application>MEncoder</application>" #. (itstool) path: sect3/para -#: book.translate.xml:14728 +#: book.translate.xml:14742 msgid "" "<application>MPlayer</application> is a command-line video player with an " "optional graphical interface which aims to provide speed and flexibility. " @@ -23194,12 +23289,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:14734 +#: book.translate.xml:14748 msgid "<primary>MPlayer</primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14736 +#: book.translate.xml:14750 msgid "" "<application>MPlayer</application> can be installed using the " "<package>multimedia/mplayer</package> package or port. Several compile " @@ -23209,7 +23304,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14743 +#: book.translate.xml:14757 msgid "" "When compiling the port, the menu options should be reviewed to determine " "the type of support to compile into the port. If an option is not selected, " @@ -23220,7 +23315,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14752 +#: book.translate.xml:14766 msgid "" "By default, the package or port will build the <command>mplayer</command> " "command line utility and the <command>gmplayer</command> graphical utility. " @@ -23230,7 +23325,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14759 +#: book.translate.xml:14773 msgid "" "The first time <application>MPlayer</application> is run, it will create " "<filename>~/.mplayer</filename> in the user's home directory. This " @@ -23239,14 +23334,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14764 +#: book.translate.xml:14778 msgid "" "This section describes only a few common uses. Refer to mplayer(1) for a " "complete description of its numerous options." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14768 +#: book.translate.xml:14782 msgid "" "To play the file <filename><replaceable>testfile.avi</replaceable></" "filename>, specify the video interfaces with <option>-vo</option>, as seen " @@ -23254,44 +23349,44 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:14773 +#: book.translate.xml:14787 #, no-wrap msgid "<prompt>%</prompt> <userinput>mplayer -vo xv <replaceable>testfile.avi</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:14775 +#: book.translate.xml:14789 #, no-wrap msgid "<prompt>%</prompt> <userinput>mplayer -vo sdl <replaceable>testfile.avi</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:14777 +#: book.translate.xml:14791 #, no-wrap msgid "<prompt>%</prompt> <userinput>mplayer -vo x11 <replaceable>testfile.avi</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:14779 +#: book.translate.xml:14793 #, no-wrap msgid "<prompt>#</prompt> <userinput>mplayer -vo dga <replaceable>testfile.avi</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:14781 +#: book.translate.xml:14795 #, no-wrap msgid "<prompt>#</prompt> <userinput>mplayer -vo 'sdl:dga' <replaceable>testfile.avi</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14783 +#: book.translate.xml:14797 msgid "" "It is worth trying all of these options, as their relative performance " "depends on many factors and will vary significantly with hardware." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14787 +#: book.translate.xml:14801 msgid "" "To play a <acronym>DVD</acronym>, replace <filename><replaceable>testfile." "avi</replaceable></filename> with <option>dvd://<replaceable>N</replaceable> " @@ -23302,13 +23397,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:14796 +#: book.translate.xml:14810 #, no-wrap msgid "<prompt>#</prompt> <userinput>mplayer -vo xv dvd://3 -dvd-device /dev/dvd</userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:14799 +#: book.translate.xml:14813 msgid "" "The default <acronym>DVD</acronym> device can be defined during the build of " "the <application>MPlayer</application> port by including the " @@ -23318,14 +23413,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14809 +#: book.translate.xml:14823 msgid "" "To stop, pause, advance, and so on, use a keybinding. To see the list of " "keybindings, run <command>mplayer -h</command> or read mplayer(1)." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14813 +#: book.translate.xml:14827 msgid "" "Additional playback options include <option>-fs -zoom</option>, which " "engages fullscreen mode, and <option>-framedrop</option>, which helps " @@ -23333,14 +23428,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14817 +#: book.translate.xml:14831 msgid "" "Each user can add commonly used options to their <filename>~/.mplayer/" "config</filename> like so:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:14820 +#: book.translate.xml:14834 #, no-wrap msgid "" "vo=xv\n" @@ -23349,7 +23444,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14824 +#: book.translate.xml:14838 msgid "" "<command>mplayer</command> can be used to rip a <acronym>DVD</acronym> title " "to a <filename>.vob</filename>. To dump the second title from a " @@ -23357,20 +23452,20 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:14829 +#: book.translate.xml:14843 #, no-wrap msgid "<prompt>#</prompt> <userinput>mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvd</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14831 +#: book.translate.xml:14845 msgid "" "The output file, <filename>out.vob</filename>, will be in <acronym>MPEG</" "acronym> format." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14834 +#: book.translate.xml:14848 msgid "" "Anyone wishing to obtain a high level of expertise with <trademark class=" "\"registered\">UNIX</trademark> video should consult <link xlink:href=" @@ -23380,12 +23475,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:14840 +#: book.translate.xml:14854 msgid "<primary>mencoder</primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14844 +#: book.translate.xml:14858 msgid "" "Before using <command>mencoder</command>, it is a good idea to become " "familiar with the options described at <link xlink:href=\"http://www." @@ -23398,25 +23493,25 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14853 +#: book.translate.xml:14867 msgid "Here is an example of a simple copy:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:14855 +#: book.translate.xml:14869 #, no-wrap msgid "<prompt>%</prompt> <userinput>mencoder <replaceable>input.avi</replaceable> -oac copy -ovc copy -o <replaceable>output.avi</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14857 +#: book.translate.xml:14871 msgid "" "To rip to a file, use <option>-dumpfile</option> with <command>mplayer</" "command>." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14860 +#: book.translate.xml:14874 msgid "" "To convert <filename><replaceable>input.avi</replaceable></filename> to the " "MPEG4 codec with MPEG3 audio encoding, first install the <package>audio/" @@ -23425,7 +23520,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:14867 +#: book.translate.xml:14881 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>mencoder <replaceable>input.avi</replaceable> -oac mp3lame -lameopts br=192 \\\n" @@ -23433,14 +23528,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14870 +#: book.translate.xml:14884 msgid "" "This will produce output playable by applications such as <command>mplayer</" "command> and <command>xine</command>." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14874 +#: book.translate.xml:14888 msgid "" "<filename><replaceable>input.avi</replaceable></filename> can be replaced " "with <option>dvd://1 -dvd-device /dev/dvd</option> and run as <systemitem " @@ -23450,12 +23545,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:14884 +#: book.translate.xml:14898 msgid "The <application>xine</application> Video Player" msgstr "<application>xine</application> 影像播放器" #. (itstool) path: sect3/para -#: book.translate.xml:14887 +#: book.translate.xml:14901 msgid "" "<application>xine</application> is a video player with a reusable base " "library and a modular executable which can be extended with plugins. It can " @@ -23463,7 +23558,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14892 +#: book.translate.xml:14906 msgid "" "In practice, <application>xine</application> requires either a fast CPU with " "a fast video card, or support for the XVideo extension. The " @@ -23472,39 +23567,39 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14897 +#: book.translate.xml:14911 msgid "" "By default, the <application>xine</application> player starts a graphical " "user interface. The menus can then be used to open a specific file." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14901 +#: book.translate.xml:14915 msgid "" "Alternatively, <application>xine</application> may be invoked from the " "command line by specifying the name of the file to play:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:14905 +#: book.translate.xml:14919 #, no-wrap msgid "<prompt>%</prompt> <userinput>xine -g -p <replaceable>mymovie.avi</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14907 +#: book.translate.xml:14921 msgid "" "Refer to <link xlink:href=\"http://www.xine-project.org/faq\"> xine-project." "org/faq</link> for more information and troubleshooting tips." msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:14913 +#: book.translate.xml:14927 msgid "The <application>Transcode</application> Utilities" msgstr "<application>Transcode</application> 工具" #. (itstool) path: sect3/para -#: book.translate.xml:14916 +#: book.translate.xml:14930 msgid "" "<application>Transcode</application> provides a suite of tools for re-" "encoding video and audio files. <application>Transcode</application> can be " @@ -23513,7 +23608,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14922 +#: book.translate.xml:14936 msgid "" "In FreeBSD, <application>Transcode</application> can be installed using the " "<package>multimedia/transcode</package> package or port. Many users prefer " @@ -23526,14 +23621,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14933 +#: book.translate.xml:14947 msgid "" "This example demonstrates how to convert a DivX file into a PAL MPEG-1 file " "(PAL VCD):" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:14936 +#: book.translate.xml:14950 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>transcode -i <replaceable>input.avi</replaceable> -V --export_prof vcd-pal -o output_vcd</userinput>\n" @@ -23541,7 +23636,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14939 +#: book.translate.xml:14953 msgid "" "The resulting <acronym>MPEG</acronym> file, " "<filename><replaceable>output_vcd.mpg</replaceable></filename>, is ready to " @@ -23552,7 +23647,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:14948 +#: book.translate.xml:14962 msgid "" "In addition to the manual page for <command>transcode</command>, refer to " "<link xlink:href=\"http://www.transcoding.org/cgi-bin/transcode" @@ -23561,42 +23656,42 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:14957 +#: book.translate.xml:14971 msgid "TV Cards" msgstr "電視卡" #. (itstool) path: authorgroup/author -#: book.translate.xml:14960 +#: book.translate.xml:14974 msgid "" "<personname> <firstname>Josef</firstname> <surname>El-Rayes</surname> </" "personname> <contrib>Original contribution by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:14970 +#: book.translate.xml:14984 msgid "" "<personname> <firstname>Marc</firstname> <surname>Fonvieille</surname> </" "personname> <contrib>Enhanced and adapted by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:14980 +#: book.translate.xml:14994 msgid "<primary>TV cards</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:14984 +#: book.translate.xml:14998 msgid "" "TV cards can be used to watch broadcast or cable TV on a computer. Most " "cards accept composite video via an <acronym>RCA</acronym> or S-video input " "and some cards include a <acronym>FM</acronym> radio tuner." msgstr "" -"電視卡(TV card)可以讓您用電腦來看無線、有線電視節目。許多卡都是透過 " +"電視卡 (TV card) 可以讓您用電腦來看無線、有線電視節目。許多卡都是透過 " "<acronym>RCA</acronym> 或 S-video 輸入端子來接收視訊,而且有些卡還可接收 " "<acronym>FM</acronym> 廣播的功能。" #. (itstool) path: sect1/para -#: book.translate.xml:14989 +#: book.translate.xml:15003 msgid "" "FreeBSD provides support for PCI-based TV cards using a Brooktree " "Bt848/849/878/879 video capture chip with the " @@ -23614,12 +23709,12 @@ msgstr "" "manvolnum></citerefentry> 說明,以查看所支援的硬體清單。" #. (itstool) path: sect2/title -#: book.translate.xml:14996 +#: book.translate.xml:15010 msgid "Loading the Driver" msgstr "載入驅動程式" #. (itstool) path: sect2/para -#: book.translate.xml:14998 +#: book.translate.xml:15012 msgid "" "In order to use the card, the <citerefentry><refentrytitle>bktr</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> driver must be loaded. " @@ -23631,13 +23726,13 @@ msgstr "" "在 <filename>/boot/loader.conf</filename> 檔加上下面這一行就可以了:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:15002 +#: book.translate.xml:15016 #, no-wrap msgid "bktr_load=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15004 +#: book.translate.xml:15018 msgid "" "Alternatively, one can statically compile support for the TV card into a " "custom kernel. In that case, add the following lines to the custom kernel " @@ -23647,7 +23742,7 @@ msgstr "" "加入以下行:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:15009 +#: book.translate.xml:15023 #, no-wrap msgid "" "device\t bktr\n" @@ -23657,7 +23752,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15014 +#: book.translate.xml:15028 msgid "" "These additional devices are necessary as the card components are " "interconnected via an I2C bus. Then, build and install a new kernel." @@ -23666,7 +23761,7 @@ msgstr "" "連接的。接下來,請編譯、安裝新的核心 。" #. (itstool) path: sect2/para -#: book.translate.xml:15018 +#: book.translate.xml:15032 msgid "" "To test that the tuner is correctly detected, reboot the system. The TV card " "should appear in the boot messages, as seen in this example:" @@ -23675,7 +23770,7 @@ msgstr "" "機訊息檔中,如同此範例:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:15022 +#: book.translate.xml:15036 #, no-wrap msgid "" "bktr0: <BrookTree 848A> mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0\n" @@ -23687,7 +23782,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15029 +#: book.translate.xml:15043 msgid "" "The messages will differ according to the hardware. If necessary, it is " "possible to override some of the detected parameters using " @@ -23702,13 +23797,13 @@ msgstr "" "SECAM 調諧器則可加入下列行至自訂核心設定檔:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:15036 +#: book.translate.xml:15050 #, no-wrap msgid "options OVERRIDE_TUNER=6" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15038 +#: book.translate.xml:15052 msgid "" "or, use <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>:" @@ -23717,13 +23812,13 @@ msgstr "" "manvolnum></citerefentry>:" #. (itstool) path: sect2/screen -#: book.translate.xml:15040 +#: book.translate.xml:15054 #, no-wrap msgid "<prompt>#</prompt> <userinput>sysctl hw.bt848.tuner=6</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15042 +#: book.translate.xml:15056 msgid "" "Refer to <citerefentry><refentrytitle>bktr</refentrytitle><manvolnum>4</" "manvolnum></citerefentry> for a description of the available " @@ -23736,43 +23831,43 @@ msgstr "" "項。" #. (itstool) path: sect2/title -#: book.translate.xml:15047 +#: book.translate.xml:15061 msgid "Useful Applications" msgstr "好用的應用程式" #. (itstool) path: sect2/para -#: book.translate.xml:15049 +#: book.translate.xml:15063 msgid "To use the TV card, install one of the following applications:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:15054 +#: book.translate.xml:15068 msgid "" "<package>multimedia/fxtv</package> provides TV-in-a-window and image/audio/" "video capture capabilities." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:15059 +#: book.translate.xml:15073 msgid "" "<package>multimedia/xawtv</package> is another TV application with similar " "features." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:15063 +#: book.translate.xml:15077 msgid "" "<package>audio/xmradio</package> provides an application for using the FM " "radio tuner of a TV card." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15069 +#: book.translate.xml:15083 msgid "More applications are available in the FreeBSD Ports Collection." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15076 +#: book.translate.xml:15090 msgid "" "If any problems are encountered with the TV card, check that the video " "capture chip and the tuner are supported by " @@ -23784,12 +23879,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:15085 +#: book.translate.xml:15099 msgid "MythTV" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:15087 +#: book.translate.xml:15101 msgid "" "MythTV is a popular, open source Personal Video Recorder (<acronym>PVR</" "acronym>) application. This section demonstrates how to install and setup " @@ -23798,14 +23893,14 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:15092 +#: book.translate.xml:15106 msgid "" "MythTV requires a frontend and a backend. These components can either be " "installed on the same system or on different machines." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:15096 +#: book.translate.xml:15110 msgid "" "The frontend can be installed on FreeBSD using the <package>multimedia/" "mythtv-frontend</package> package or port. <application>Xorg</application> " @@ -23816,7 +23911,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:15105 +#: book.translate.xml:15119 msgid "" "To install both the backend and the frontend on FreeBSD, use the " "<package>multimedia/mythtv</package> package or port. A <trademark>MySQL</" @@ -23826,12 +23921,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:15113 +#: book.translate.xml:15127 msgid "Hardware" msgstr "硬體" #. (itstool) path: sect2/para -#: book.translate.xml:15115 +#: book.translate.xml:15129 msgid "" "MythTV uses Video for Linux (<acronym>V4L</acronym>) to access video input " "devices such as encoders and tuners. In FreeBSD, MythTV works best with " @@ -23850,24 +23945,24 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15133 +#: book.translate.xml:15147 msgid "" "The <link xlink:href=\"http://wiki.freebsd.org/HTPC\">wiki.freebsd.org/HTPC</" "link> page contains a list of all available <acronym>DVB</acronym> drivers." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:15139 +#: book.translate.xml:15153 msgid "Setting up the MythTV Backend" msgstr "設定 MythTV 後端" #. (itstool) path: sect2/para -#: book.translate.xml:15141 +#: book.translate.xml:15155 msgid "To install MythTV using the port:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:15143 +#: book.translate.xml:15157 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/multimedia/mythtv</userinput>\n" @@ -23875,34 +23970,34 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15146 +#: book.translate.xml:15160 msgid "Once installed, set up the MythTV database:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:15148 +#: book.translate.xml:15162 #, no-wrap msgid "<prompt>#</prompt> <userinput>mysql -uroot -p < /usr/local/share/mythtv/database/mc.sql</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15150 +#: book.translate.xml:15164 msgid "Then, configure the backend:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:15152 +#: book.translate.xml:15166 #, no-wrap msgid "<prompt>#</prompt> <userinput>mythtv-setup</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15154 +#: book.translate.xml:15168 msgid "Finally, start the backend:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:15156 +#: book.translate.xml:15170 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>echo 'mythbackend_enable=\"YES\"' >> /etc/rc.conf</userinput>\n" @@ -23910,24 +24005,24 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:15163 +#: book.translate.xml:15177 msgid "Image Scanners" msgstr "影像掃描器" #. (itstool) path: authorgroup/author -#: book.translate.xml:15166 +#: book.translate.xml:15180 msgid "" "<personname> <firstname>Marc</firstname> <surname>Fonvieille</surname> </" "personname> <contrib>Written by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:15176 +#: book.translate.xml:15190 msgid "<primary>image scanners</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:15180 +#: book.translate.xml:15194 msgid "" "In FreeBSD, access to image scanners is provided by <application>SANE</" "application> (Scanner Access Now Easy), which is available in the FreeBSD " @@ -23936,7 +24031,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:15186 +#: book.translate.xml:15200 msgid "" "FreeBSD supports both <acronym>SCSI</acronym> and <acronym>USB</acronym> " "scanners. Depending upon the scanner interface, different device drivers are " @@ -23948,7 +24043,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:15194 +#: book.translate.xml:15208 msgid "" "This chapter describes how to determine if the scanner has been detected by " "FreeBSD. It then provides an overview of how to configure and use " @@ -23956,12 +24051,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:15200 +#: book.translate.xml:15214 msgid "Checking the Scanner" msgstr "檢查掃描器" #. (itstool) path: sect2/para -#: book.translate.xml:15202 +#: book.translate.xml:15216 msgid "" "The <filename>GENERIC</filename> kernel includes the device drivers needed " "to support <acronym>USB</acronym> scanners. Users with a custom kernel " @@ -23970,7 +24065,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:15208 +#: book.translate.xml:15222 #, no-wrap msgid "" "device usb\n" @@ -23980,7 +24075,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15213 +#: book.translate.xml:15227 msgid "" "To determine if the <acronym>USB</acronym> scanner is detected, plug it in " "and use <command>dmesg</command> to determine whether the scanner appears in " @@ -23989,13 +24084,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:15219 +#: book.translate.xml:15233 #, no-wrap msgid "ugen0.2: <EPSON> at usbus0" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15221 +#: book.translate.xml:15235 msgid "" "In this example, an <trademark class=\"registered\">EPSON Perfection</" "trademark> 1650 <acronym>USB</acronym> scanner was detected on <filename>/" @@ -24003,7 +24098,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15226 +#: book.translate.xml:15240 msgid "" "If the scanner uses a <acronym>SCSI</acronym> interface, it is important to " "know which <acronym>SCSI</acronym> controller board it will use. Depending " @@ -24017,7 +24112,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:15238 +#: book.translate.xml:15252 #, no-wrap msgid "" "device scbus\n" @@ -24025,12 +24120,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15241 +#: book.translate.xml:15255 msgid "Verify that the device is displayed in the system message buffer:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:15244 +#: book.translate.xml:15258 #, no-wrap msgid "" "pass2 at aic0 bus 0 target 2 lun 0\n" @@ -24039,7 +24134,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15248 +#: book.translate.xml:15262 msgid "" "If the scanner was not powered-on at system boot, it is still possible to " "manually force detection by performing a <acronym>SCSI</acronym> bus scan " @@ -24047,7 +24142,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:15253 +#: book.translate.xml:15267 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>camcontrol rescan all</userinput>\n" @@ -24058,13 +24153,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15259 +#: book.translate.xml:15273 msgid "" "The scanner should now appear in the <acronym>SCSI</acronym> devices list:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:15262 +#: book.translate.xml:15276 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>camcontrol devlist</userinput>\n" @@ -24075,7 +24170,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15268 +#: book.translate.xml:15282 msgid "" "Refer to <citerefentry><refentrytitle>scsi</refentrytitle><manvolnum>4</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>camcontrol</" @@ -24084,12 +24179,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:15273 +#: book.translate.xml:15287 msgid "<application>SANE</application> Configuration" msgstr "<application>SANE</application> 設定" #. (itstool) path: sect2/para -#: book.translate.xml:15275 +#: book.translate.xml:15289 msgid "" "The <application>SANE</application> system is split in two parts: the " "backends (<package>graphics/sane-backends</package>) and the frontends " @@ -24104,7 +24199,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15288 +#: book.translate.xml:15302 msgid "" "After installing the <package>graphics/sane-backends</package> port or " "package, use <command>sane-find-scanner</command> to check the scanner " @@ -24112,7 +24207,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:15294 +#: book.translate.xml:15308 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>sane-find-scanner -q</userinput>\n" @@ -24120,7 +24215,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15297 +#: book.translate.xml:15311 msgid "" "The output should show the interface type of the scanner and the device node " "used to attach the scanner to the system. The vendor and the product model " @@ -24128,14 +24223,14 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:15302 +#: book.translate.xml:15316 msgid "" "Some <acronym>USB</acronym> scanners require firmware to be loaded. Refer to " "sane-find-scanner(1) and sane(7) for details." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15307 +#: book.translate.xml:15321 msgid "" "Next, check if the scanner will be identified by a scanning frontend. The " "<application>SANE</application> backends include <command>scanimage</" @@ -24146,7 +24241,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:15315 +#: book.translate.xml:15329 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>scanimage -L</userinput>\n" @@ -24156,7 +24251,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15320 +#: book.translate.xml:15334 msgid "" "In this second example, <literal>'epson2:libusb:/dev/usb:/dev/ugen0.2'</" "literal> is the backend name (<literal>epson2</literal>) and <literal>/dev/" @@ -24164,14 +24259,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15326 +#: book.translate.xml:15340 msgid "" "If <command>scanimage</command> is unable to identify the scanner, this " "message will appear:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:15329 +#: book.translate.xml:15343 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>scanimage -L</userinput>\n" @@ -24183,7 +24278,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15336 +#: book.translate.xml:15350 msgid "" "If this happens, edit the backend configuration file in <filename>/usr/local/" "etc/sane.d/</filename> and define the scanner device used. For example, if " @@ -24195,20 +24290,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:15346 +#: book.translate.xml:15360 #, no-wrap msgid "usb /dev/ugen0.2" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15348 +#: book.translate.xml:15362 msgid "" "Save the edits and verify that the scanner is identified with the right " "backend name and the device node:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:15351 +#: book.translate.xml:15365 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>scanimage -L</userinput>\n" @@ -24216,14 +24311,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15354 +#: book.translate.xml:15368 msgid "" "Once <command>scanimage -L</command> sees the scanner, the configuration is " "complete and the scanner is now ready to use." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15358 +#: book.translate.xml:15372 msgid "" "While <command>scanimage</command> can be used to perform an image " "acquisition from the command line, it is often preferable to use a graphical " @@ -24233,7 +24328,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15365 +#: book.translate.xml:15379 msgid "" "Alternately, <application>xsane</application>, which is installed with the " "<package>graphics/xsane</package> package or port, is another popular " @@ -24243,12 +24338,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:15374 +#: book.translate.xml:15388 msgid "Scanner Permissions" msgstr "掃描器權限" #. (itstool) path: sect2/para -#: book.translate.xml:15376 +#: book.translate.xml:15390 msgid "" "In order to have access to the scanner, a user needs read and write " "permissions to the device node used by the scanner. In the previous example, " @@ -24264,20 +24359,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15389 +#: book.translate.xml:15403 msgid "" "This example creates a group called <systemitem class=\"groupname" "\"><replaceable>usb</replaceable></systemitem>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:15391 +#: book.translate.xml:15405 #, no-wrap msgid "<prompt>#</prompt> <userinput>pw groupadd usb</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15393 +#: book.translate.xml:15407 msgid "" "Then, make the <filename>/dev/ugen0.2</filename> symlink and the <filename>/" "dev/usb/0.2.0</filename> device node accessible to the <systemitem class=" @@ -24287,7 +24382,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:15400 +#: book.translate.xml:15414 #, no-wrap msgid "" "[system=5]\n" @@ -24296,38 +24391,38 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15404 +#: book.translate.xml:15418 msgid "" "Finally, add the users to <systemitem class=\"groupname\"><replaceable>usb</" "replaceable></systemitem> in order to allow access to the scanner:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:15407 +#: book.translate.xml:15421 #, no-wrap msgid "<prompt>#</prompt> <userinput>pw groupmod usb -m <replaceable>joe</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:15409 +#: book.translate.xml:15423 msgid "" "For more details refer to <citerefentry><refentrytitle>pw</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>." msgstr "" #. (itstool) path: chapter/title -#: book.translate.xml:15439 +#: book.translate.xml:15453 msgid "Configuring the FreeBSD Kernel" msgstr "設定 FreeBSD 核心" #. (itstool) path: sect1/indexterm -#: book.translate.xml:15444 +#: book.translate.xml:15458 msgid "" "<primary>kernel</primary> <secondary>building a custom kernel</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:15449 +#: book.translate.xml:15463 msgid "" "The kernel is the core of the FreeBSD operating system. It is responsible " "for managing memory, enforcing security controls, networking, disk access, " @@ -24339,38 +24434,38 @@ msgstr "" "定並編譯自訂的核心。" #. (itstool) path: listitem/para -#: book.translate.xml:15459 +#: book.translate.xml:15473 msgid "When to build a custom kernel." msgstr "何時需要編譯自訂核心。" #. (itstool) path: listitem/para -#: book.translate.xml:15463 +#: book.translate.xml:15477 msgid "How to take a hardware inventory." msgstr "如何取得硬體資訊。" #. (itstool) path: listitem/para -#: book.translate.xml:15467 +#: book.translate.xml:15481 msgid "How to customize a kernel configuration file." msgstr "如何量身訂做核心設定檔。" #. (itstool) path: listitem/para -#: book.translate.xml:15471 +#: book.translate.xml:15485 msgid "" "How to use the kernel configuration file to create and build a new kernel." msgstr "如何使用核心設定檔來建立並編譯新的核心。" #. (itstool) path: listitem/para -#: book.translate.xml:15476 +#: book.translate.xml:15490 msgid "How to install the new kernel." msgstr "如何安裝新的核心。" #. (itstool) path: listitem/para -#: book.translate.xml:15480 +#: book.translate.xml:15494 msgid "How to troubleshoot if things go wrong." msgstr "發生錯誤時如何排除問題。" #. (itstool) path: sect1/para -#: book.translate.xml:15484 +#: book.translate.xml:15498 msgid "" "All of the commands listed in the examples in this chapter should be " "executed as <systemitem class=\"username\">root</systemitem>." @@ -24379,12 +24474,12 @@ msgstr "" "systemitem> 來執行。" #. (itstool) path: sect1/title -#: book.translate.xml:15489 +#: book.translate.xml:15503 msgid "Why Build a Custom Kernel?" msgstr "為何要編譯自訂的核心?" #. (itstool) path: sect1/para -#: book.translate.xml:15491 +#: book.translate.xml:15505 msgid "" "Traditionally, FreeBSD used a monolithic kernel. The kernel was one large " "program, supported a fixed list of devices, and in order to change the " @@ -24395,7 +24490,7 @@ msgstr "" "重新開機,才能使用。" #. (itstool) path: sect1/para -#: book.translate.xml:15496 +#: book.translate.xml:15510 msgid "" "Today, most of the functionality in the FreeBSD kernel is contained in " "modules which can be dynamically loaded and unloaded from the kernel as " @@ -24408,7 +24503,7 @@ msgstr "" "核心 (Modular Kernel)。" #. (itstool) path: sect1/para -#: book.translate.xml:15503 +#: book.translate.xml:15517 msgid "" "Occasionally, it is still necessary to perform static kernel configuration. " "Sometimes the needed functionality is so tied to the kernel that it can not " @@ -24421,7 +24516,7 @@ msgstr "" "載核心模組,且只要將需要的功能靜態的編譯到核心當中。" #. (itstool) path: sect1/para -#: book.translate.xml:15510 +#: book.translate.xml:15524 msgid "" "Building a custom kernel is often a rite of passage for advanced BSD users. " "This process, while time consuming, can provide benefits to the FreeBSD " @@ -24435,7 +24530,7 @@ msgstr "" "『自己硬體』的部分就好。 自訂核心有許多項優點,如︰" #. (itstool) path: listitem/para -#: book.translate.xml:15520 +#: book.translate.xml:15534 msgid "" "Faster boot time. Since the kernel will only probe the hardware on the " "system, the time it takes the system to boot can decrease." @@ -24444,7 +24539,7 @@ msgstr "" "流暢快速。" #. (itstool) path: listitem/para -#: book.translate.xml:15526 +#: book.translate.xml:15540 msgid "" "Lower memory usage. A custom kernel often uses less memory than the " "<filename>GENERIC</filename> kernel by omitting unused features and device " @@ -24458,7 +24553,7 @@ msgstr "" "使用。因此,自訂核心對於記憶體較小的系統來說,發揮很大的作用。" #. (itstool) path: listitem/para -#: book.translate.xml:15537 +#: book.translate.xml:15551 msgid "" "Additional hardware support. A custom kernel can add support for devices " "which are not present in the <filename>GENERIC</filename> kernel." @@ -24467,14 +24562,16 @@ msgstr "" "提供的硬體支援。" #. (itstool) path: sect1/para -#: book.translate.xml:15543 +#: book.translate.xml:15557 msgid "" "Before building a custom kernel, consider the reason for doing so. If there " "is a need for specific hardware support, it may already exist as a module." msgstr "" +"在編譯自訂核心之前,請思考要這麼做的原因,若是因為需要特定硬體的支援,很可能" +"已有既有的模組可以使用。" #. (itstool) path: sect1/para -#: book.translate.xml:15547 +#: book.translate.xml:15561 msgid "" "Kernel modules exist in <filename>/boot/kernel</filename> and may be " "dynamically loaded into the running kernel using " @@ -24484,9 +24581,15 @@ msgid "" "refentrytitle><manvolnum>4</manvolnum></citerefentry> wireless Ethernet " "driver has the following information in its manual page:" msgstr "" +"核心模組會放在 <filename>/boot/kernel</filename> 並且可使用 " +"<citerefentry><refentrytitle>kldload</refentrytitle><manvolnum>8</" +"manvolnum></citerefentry> 動態載入到執行中的核心。大部份的核心驅動程式都有可" +"載入的模組與操作手冊。例如 <citerefentry><refentrytitle>ath</" +"refentrytitle><manvolnum>4</manvolnum></citerefentry> 無線乙太網路驅動程式在" +"其操作手冊有以下資訊:" #. (itstool) path: sect1/screen -#: book.translate.xml:15553 +#: book.translate.xml:15567 #, no-wrap msgid "" "Alternatively, to load the driver as a module at boot time, place the\n" @@ -24496,26 +24599,30 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:15558 +#: book.translate.xml:15572 msgid "" "Adding <literal>if_ath_load=\"YES\"</literal> to <filename>/boot/loader." "conf</filename> will load this module dynamically at boot time." msgstr "" +"加入 <literal>if_ath_load=\"YES\"</literal> 到 <filename>/boot/loader.conf</" +"filename> 會於開機期間自動載入這個模組。" #. (itstool) path: sect1/para -#: book.translate.xml:15562 +#: book.translate.xml:15576 msgid "" "In some cases, there is no associated module in <filename>/boot/kernel</" "filename>. This is mostly true for certain subsystems." msgstr "" +"部份情況在 <filename>/boot/kernel</filename> 會沒有相關的模組,這對於某些子系" +"統大多是真的。" #. (itstool) path: sect1/title -#: book.translate.xml:15579 +#: book.translate.xml:15593 msgid "Finding the System Hardware" msgstr "偵測系統硬體" #. (itstool) path: sect1/para -#: book.translate.xml:15581 +#: book.translate.xml:15595 msgid "" "Before editing the kernel configuration file, it is recommended to perform " "an inventory of the machine's hardware. On a dual-boot system, the inventory " @@ -24529,7 +24636,7 @@ msgstr "" "application> (Device Manager) 內會有目前已安裝的硬體資訊。" #. (itstool) path: note/para -#: book.translate.xml:15589 +#: book.translate.xml:15603 msgid "" "Some versions of <trademark class=\"registered\">Microsoft</" "trademark> <trademark class=\"registered\">Windows</trademark> have a " @@ -24541,7 +24648,7 @@ msgstr "" "(System) 圖示可用來進入 <application>裝置管理員</application>。" #. (itstool) path: sect1/para -#: book.translate.xml:15594 +#: book.translate.xml:15608 msgid "" "If FreeBSD is the only installed operating system, use " "<citerefentry><refentrytitle>dmesg</refentrytitle><manvolnum>8</manvolnum></" @@ -24559,7 +24666,7 @@ msgstr "" "citerefentry> 驅動程式偵測到了一隻滑鼠:" #. (itstool) path: sect1/screen -#: book.translate.xml:15601 +#: book.translate.xml:15615 #, no-wrap msgid "" "psm0: <PS/2 Mouse> irq 12 on atkbdc0\n" @@ -24569,14 +24676,14 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:15606 +#: book.translate.xml:15620 msgid "" "Since this hardware exists, this driver should not be removed from a custom " "kernel configuration file." msgstr "因為該硬體存在,此驅動程式便不應該從自訂核心設定檔中移除。" #. (itstool) path: sect1/para -#: book.translate.xml:15609 +#: book.translate.xml:15623 msgid "" "If the output of <command>dmesg</command> does not display the results of " "the boot probe output, instead read the contents of <filename>/var/run/dmesg." @@ -24586,7 +24693,7 @@ msgstr "" "<filename>/var/run/dmesg.boot</filename> 檔案的內容。" #. (itstool) path: sect1/para -#: book.translate.xml:15613 +#: book.translate.xml:15627 msgid "" "Another tool for finding hardware is <citerefentry><refentrytitle>pciconf</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, which provides more " @@ -24597,7 +24704,7 @@ msgstr "" "訊,該工具會列出更詳細的硬體資訊如:" #. (itstool) path: sect1/screen -#: book.translate.xml:15616 +#: book.translate.xml:15630 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>pciconf -lv</userinput>\n" @@ -24609,7 +24716,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:15623 +#: book.translate.xml:15637 msgid "" "This output shows that the <filename>ath</filename> driver located a " "wireless Ethernet device." @@ -24618,7 +24725,7 @@ msgstr "" "置。" #. (itstool) path: sect1/para -#: book.translate.xml:15626 +#: book.translate.xml:15640 msgid "" "The <option>-k</option> flag of <citerefentry><refentrytitle>man</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> can be used to provide " @@ -24630,13 +24737,13 @@ msgstr "" "有包含指定關鍵字的手冊頁面清單:" #. (itstool) path: sect1/screen -#: book.translate.xml:15630 +#: book.translate.xml:15644 #, no-wrap msgid "<prompt>#</prompt> <userinput>man -k <replaceable>Atheros</replaceable></userinput>" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:15632 +#: book.translate.xml:15646 #, no-wrap msgid "" "ath(4) - Atheros IEEE 802.11 wireless network driver\n" @@ -24644,7 +24751,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:15635 +#: book.translate.xml:15649 msgid "" "Once the hardware inventory list is created, refer to it to ensure that " "drivers for installed hardware are not removed as the custom kernel " @@ -24655,12 +24762,12 @@ msgstr "" #. (itstool) path: sect1/title #. (itstool) path: sect2/title -#: book.translate.xml:15652 book.translate.xml:44025 +#: book.translate.xml:15666 book.translate.xml:44079 msgid "The Configuration File" msgstr "設定檔" #. (itstool) path: sect1/para -#: book.translate.xml:15654 +#: book.translate.xml:15668 msgid "" "In order to create a custom kernel configuration file and build a custom " "kernel, the full FreeBSD source tree must first be installed." @@ -24668,7 +24775,7 @@ msgstr "" "為了要建立自訂核心設定檔並編譯自訂核心,必須先安裝完整的 FreeBSD 原始碼樹。" #. (itstool) path: sect1/para -#: book.translate.xml:15658 +#: book.translate.xml:15672 msgid "" "If <filename>/usr/src/</filename> does not exist or it is empty, source has " "not been installed. Source can be installed using <application>Subversion</" @@ -24679,7 +24786,7 @@ msgstr "" "> 中的操作說明來安裝。" #. (itstool) path: sect1/para -#: book.translate.xml:15663 +#: book.translate.xml:15677 msgid "" "Once source is installed, review the contents of <filename>/usr/src/sys</" "filename>. This directory contains a number of subdirectories, including " @@ -24702,7 +24809,7 @@ msgstr "" "filename> 核心設定檔。" #. (itstool) path: sect1/para -#: book.translate.xml:15677 +#: book.translate.xml:15691 msgid "" "Do not make edits to <filename>GENERIC</filename>. Instead, copy the file to " "a different name and make edits to the copy. The convention is to use a name " @@ -24719,7 +24826,7 @@ msgstr "" "filename> 設定檔建立了一個複本名稱為 <filename>MYKERNEL</filename>:" #. (itstool) path: sect1/screen -#: book.translate.xml:15686 +#: book.translate.xml:15700 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/src/sys/<replaceable>amd64</replaceable>/conf</userinput>\n" @@ -24727,7 +24834,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:15689 +#: book.translate.xml:15703 msgid "" "<filename><replaceable>MYKERNEL</replaceable></filename> can now be " "customized with any <acronym>ASCII</acronym> text editor. The default editor " @@ -24740,22 +24847,22 @@ msgstr "" "做 <application>ee</application>。" #. (itstool) path: sect1/indexterm -#: book.translate.xml:15696 +#: book.translate.xml:15710 msgid "<primary>kernel</primary> <secondary>NOTES</secondary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:15700 +#: book.translate.xml:15714 msgid "<primary>NOTES</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:15701 +#: book.translate.xml:15715 msgid "<primary>kernel</primary> <secondary>configuration file</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:15706 +#: book.translate.xml:15720 msgid "" "The format of the kernel configuration file is simple. Each line contains a " "keyword that represents a device or subsystem, an argument, and a brief " @@ -24772,7 +24879,7 @@ msgstr "" "除 <literal>#</literal> 符號。" #. (itstool) path: warning/para -#: book.translate.xml:15717 +#: book.translate.xml:15731 msgid "" "It is easy to remove support for a device or option and end up with a broken " "kernel. For example, if the <citerefentry><refentrytitle>ata</" @@ -24786,7 +24893,7 @@ msgstr "" "會無法開機。因此當您不確定時,請在核心保留該項目的支援。" #. (itstool) path: sect1/para -#: book.translate.xml:15724 +#: book.translate.xml:15738 msgid "" "In addition to the brief descriptions provided in this file, additional " "descriptions are contained in <filename>NOTES</filename>, which can be found " @@ -24800,7 +24907,7 @@ msgstr "" "filename>。" #. (itstool) path: tip/para -#: book.translate.xml:15732 +#: book.translate.xml:15746 msgid "" "When finished customizing the kernel configuration file, save a backup copy " "to a location outside of <filename>/usr/src</filename>." @@ -24808,7 +24915,7 @@ msgstr "" "當完成自訂的核心設定檔,請備份到 <filename>/usr/src</filename> 位置之外。" #. (itstool) path: tip/para -#: book.translate.xml:15736 +#: book.translate.xml:15750 msgid "" "Alternately, keep the kernel configuration file elsewhere and create a " "symbolic link to the file:" @@ -24817,7 +24924,7 @@ msgstr "" "案:" #. (itstool) path: tip/screen -#: book.translate.xml:15739 +#: book.translate.xml:15753 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/src/sys/amd64/conf</userinput>\n" @@ -24827,7 +24934,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:15745 +#: book.translate.xml:15759 msgid "" "An <literal>include</literal> directive is available for use in " "configuration files. This allows another configuration file to be included " @@ -24842,7 +24949,7 @@ msgstr "" "並設定額外增加的選項,如範例所示:" #. (itstool) path: sect1/programlisting -#: book.translate.xml:15753 +#: book.translate.xml:15767 #, no-wrap msgid "" "include GENERIC\n" @@ -24855,7 +24962,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:15761 +#: book.translate.xml:15775 msgid "" "Using this method, the local configuration file expresses local differences " "from a <filename>GENERIC</filename> kernel. As upgrades are performed, new " @@ -24873,7 +24980,7 @@ msgstr "" "refentrytitle><manvolnum>5</manvolnum></citerefentry> 找到。" #. (itstool) path: note/para -#: book.translate.xml:15771 +#: book.translate.xml:15785 msgid "" "To build a file which contains all available options, run the following " "command as <systemitem class=\"username\">root</systemitem>:" @@ -24882,59 +24989,59 @@ msgstr "" "systemitem> 執行以下指令:" #. (itstool) path: note/screen -#: book.translate.xml:15774 +#: book.translate.xml:15788 #, no-wrap msgid "<prompt>#</prompt> <userinput>cd /usr/src/sys/<replaceable>arch</replaceable>/conf && make LINT</userinput>" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:16590 +#: book.translate.xml:16604 msgid "Building and Installing a Custom Kernel" msgstr "編譯與安裝自訂核心" #. (itstool) path: sect1/para -#: book.translate.xml:16592 +#: book.translate.xml:16606 msgid "" "Once the edits to the custom configuration file have been saved, the source " "code for the kernel can be compiled using the following steps:" msgstr "完成自訂設定檔的編輯並儲存之後,便可依據以下步驟編譯核心的原始碼:" #. (itstool) path: procedure/title -#: book.translate.xml:16597 +#: book.translate.xml:16611 msgid "Building a Kernel" msgstr "編譯核心" #. (itstool) path: procedure/indexterm -#: book.translate.xml:16599 +#: book.translate.xml:16613 msgid "<primary>kernel</primary> <secondary>building / installing</secondary>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:16605 +#: book.translate.xml:16619 msgid "Change to this directory:" msgstr "切換至此目錄:" #. (itstool) path: step/screen -#: book.translate.xml:16607 +#: book.translate.xml:16621 #, no-wrap msgid "<prompt>#</prompt> <userinput>cd /usr/src</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:16611 +#: book.translate.xml:16625 msgid "" "Compile the new kernel by specifying the name of the custom kernel " "configuration file:" msgstr "指定自訂核心設定檔的名稱來編譯新的核心:" #. (itstool) path: step/screen -#: book.translate.xml:16614 +#: book.translate.xml:16628 #, no-wrap msgid "<prompt>#</prompt> <userinput>make buildkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:16618 +#: book.translate.xml:16632 msgid "" "Install the new kernel associated with the specified kernel configuration " "file. This command will copy the new kernel to <filename>/boot/kernel/" @@ -24946,13 +25053,13 @@ msgstr "" "filename>:" #. (itstool) path: step/screen -#: book.translate.xml:16624 +#: book.translate.xml:16638 #, no-wrap msgid "<prompt>#</prompt> <userinput>make installkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:16628 +#: book.translate.xml:16642 msgid "" "Shutdown the system and reboot into the new kernel. If something goes wrong, " "refer to <xref linkend=\"kernelconfig-noboot\"/>." @@ -24961,7 +25068,7 @@ msgstr "" "noboot\"/>。" #. (itstool) path: sect1/para -#: book.translate.xml:16633 +#: book.translate.xml:16647 msgid "" "By default, when a custom kernel is compiled, all kernel modules are " "rebuilt. To update a kernel faster or to build only custom modules, edit " @@ -24971,33 +25078,33 @@ msgstr "" "自訂的模組,需在開始編譯之前先編輯 <filename>/etc/make.conf</filename>。" #. (itstool) path: sect1/para -#: book.translate.xml:16638 +#: book.translate.xml:16652 msgid "" "For example, this variable specifies the list of modules to build instead of " "using the default of building all modules:" msgstr "例如,使用以下變數可指定要編譯的模組清單來替代預設編譯所有模組的設定:" #. (itstool) path: sect1/programlisting -#: book.translate.xml:16642 +#: book.translate.xml:16656 #, no-wrap msgid "MODULES_OVERRIDE = linux acpi" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:16644 +#: book.translate.xml:16658 msgid "" "Alternately, this variable lists which modules to exclude from the build " "process:" msgstr "或者,可使用以下變數來從編譯程序中排除要編譯的模組:" #. (itstool) path: sect1/programlisting -#: book.translate.xml:16647 +#: book.translate.xml:16661 #, no-wrap msgid "WITHOUT_MODULES = linux acpi sound" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:16649 +#: book.translate.xml:16663 msgid "" "Additional variables are available. Refer to " "<citerefentry><refentrytitle>make.conf</refentrytitle><manvolnum>5</" @@ -25007,29 +25114,29 @@ msgstr "" "refentrytitle><manvolnum>5</manvolnum></citerefentry> 取得詳細資訊。" #. (itstool) path: sect1/indexterm -#: book.translate.xml:16652 +#: book.translate.xml:16666 msgid "<primary><filename>/boot/kernel.old</filename></primary>" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:16658 +#: book.translate.xml:16672 msgid "If Something Goes Wrong" msgstr "如果發生錯誤" #. (itstool) path: sect1/para -#: book.translate.xml:16660 +#: book.translate.xml:16674 msgid "" "There are four categories of trouble that can occur when building a custom " "kernel:" msgstr "當編譯自訂核心時可能發生以下四種類型的問題:" #. (itstool) path: varlistentry/term -#: book.translate.xml:16665 +#: book.translate.xml:16679 msgid "<command>config</command> fails" msgstr "<command>config</command> 失敗" #. (itstool) path: listitem/para -#: book.translate.xml:16668 +#: book.translate.xml:16682 msgid "" "If <command>config</command> fails, it will print the line number that is " "incorrect. As an example, for the following message, make sure that line 17 " @@ -25041,18 +25148,18 @@ msgstr "" "17 行輸入的內容正確:" #. (itstool) path: listitem/screen -#: book.translate.xml:16674 +#: book.translate.xml:16688 #, no-wrap msgid "config: line 17: syntax error" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:16679 +#: book.translate.xml:16693 msgid "<command>make</command> fails" msgstr "<command>make</command> 失敗" #. (itstool) path: listitem/para -#: book.translate.xml:16682 +#: book.translate.xml:16696 msgid "" "If <command>make</command> fails, it is usually due to an error in the " "kernel configuration file which is not severe enough for <command>config</" @@ -25068,12 +25175,12 @@ msgstr "" "設定檔。" #. (itstool) path: varlistentry/term -#: book.translate.xml:16692 +#: book.translate.xml:16706 msgid "The kernel does not boot" msgstr "無法使用核心開機" #. (itstool) path: listitem/para -#: book.translate.xml:16695 +#: book.translate.xml:16709 msgid "" "If the new kernel does not boot or fails to recognize devices, do not panic! " "Fortunately, FreeBSD has an excellent mechanism for recovering from " @@ -25090,7 +25197,7 @@ msgstr "" "replaceable></command> 或替換為任何其他已經知道可以正常開機的核心名稱。" #. (itstool) path: listitem/para -#: book.translate.xml:16707 +#: book.translate.xml:16721 msgid "" "After booting with a good kernel, check over the configuration file and try " "to build it again. One helpful resource is <filename>/var/log/messages</" @@ -25105,7 +25212,7 @@ msgstr "" "citerefentry> 也會印出自本次開機後的核心訊息。" #. (itstool) path: note/para -#: book.translate.xml:16715 +#: book.translate.xml:16729 msgid "" "When troubleshooting a kernel, make sure to keep a copy of " "<filename>GENERIC</filename>, or some other kernel that is known to work, as " @@ -25122,7 +25229,7 @@ msgstr "" "核心目錄。" #. (itstool) path: note/screen -#: book.translate.xml:16725 +#: book.translate.xml:16739 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mv /boot/kernel <replaceable>/boot/kernel.bad</replaceable></userinput>\n" @@ -25130,7 +25237,7 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:16732 +#: book.translate.xml:16746 msgid "" "The kernel works, but <citerefentry><refentrytitle>ps</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> does not" @@ -25139,7 +25246,7 @@ msgstr "" "manvolnum></citerefentry> 無法運作" #. (itstool) path: listitem/para -#: book.translate.xml:16735 +#: book.translate.xml:16749 msgid "" "If the kernel version differs from the one that the system utilities have " "been built with, for example, a kernel built from -CURRENT sources is " @@ -25162,19 +25269,19 @@ msgstr "" "是個好主意。" #. (itstool) path: info/title -#: book.translate.xml:16760 +#: book.translate.xml:16774 msgid "Printing" msgstr "列印" #. (itstool) path: authorgroup/author -#: book.translate.xml:16763 book.translate.xml:28582 +#: book.translate.xml:16777 book.translate.xml:28636 msgid "" "<personname> <firstname>Warren</firstname> <surname>Block</surname> </" "personname><contrib>Originally contributed by </contrib>" msgstr "" #. (itstool) path: chapter/para -#: book.translate.xml:16772 +#: book.translate.xml:16786 msgid "" "Putting information on paper is a vital function, despite many attempts to " "eliminate it. Printing has two basic components. The data must be delivered " @@ -25184,7 +25291,7 @@ msgstr "" "本元件組成,包含了資料傳送到印表機的方式以及印表機可以理解的資料形式。" #. (itstool) path: sect1/para -#: book.translate.xml:16780 +#: book.translate.xml:16794 msgid "" "Basic printing can be set up quickly. The printer must be capable of " "printing plain <acronym>ASCII</acronym> text. For printing to other types of " @@ -25195,13 +25302,13 @@ msgstr "" "filters\"/>。" #. (itstool) path: step/para -#: book.translate.xml:16787 +#: book.translate.xml:16801 msgid "Create a directory to store files while they are being printed:" -msgstr "建立一個目錄來儲存要被列印的檔案:" +msgstr "建立一個目錄來儲存要被列印的檔案:" #. (itstool) path: step/screen #. (itstool) path: sect2/screen -#: book.translate.xml:16790 book.translate.xml:17199 +#: book.translate.xml:16804 book.translate.xml:17213 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mkdir -p /var/spool/lpd/lp</userinput>\n" @@ -25210,16 +25317,16 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:16796 +#: book.translate.xml:16810 msgid "" "As <systemitem class=\"username\">root</systemitem>, create <filename>/etc/" "printcap</filename> with these contents:" msgstr "" "以 <systemitem class=\"username\">root</systemitem> 建立 <filename>/etc/" -"printcap</filename> 內容如下:" +"printcap</filename> 內容如下:" #. (itstool) path: step/programlisting -#: book.translate.xml:16800 +#: book.translate.xml:16814 #, no-wrap msgid "" "lp:\\\n" @@ -25231,37 +25338,37 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:16809 +#: book.translate.xml:16823 msgid "This line is for a printer connected to a <acronym>USB</acronym> port." -msgstr "此行是針對連接到 <acronym>USB</acronym> 埠的印表機:" +msgstr "此行是針對連接到 <acronym>USB</acronym> 埠的印表機:" #. (itstool) path: callout/para -#: book.translate.xml:16812 +#: book.translate.xml:16826 msgid "" "For a printer connected to a parallel or <quote>printer</quote> port, use:" -msgstr "連接到並列或 <quote>印表器 (Printer)</quote> 埠的印表機要使用:" +msgstr "連接到並列或 <quote>印表器 (Printer)</quote> 埠的印表機要使用:" #. (itstool) path: callout/programlisting #. (itstool) path: entry/programlisting -#: book.translate.xml:16815 book.translate.xml:17256 +#: book.translate.xml:16829 book.translate.xml:17270 #, no-wrap msgid ":lp=/dev/lpt0:\\" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:16817 +#: book.translate.xml:16831 msgid "For a printer connected directly to a network, use:" -msgstr "直接連接到網路的印表機要使用:" +msgstr "直接連接到網路的印表機要使用:" #. (itstool) path: callout/programlisting #. (itstool) path: entry/programlisting -#: book.translate.xml:16820 book.translate.xml:17265 +#: book.translate.xml:16834 book.translate.xml:17279 #, no-wrap msgid ":lp=:rm=<replaceable>network-printer-name</replaceable>:rp=raw:\\" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:16822 +#: book.translate.xml:16836 msgid "" "Replace <replaceable>network-printer-name</replaceable> with the " "<acronym>DNS</acronym> host name of the network printer." @@ -25270,28 +25377,29 @@ msgstr "" "<acronym>DNS</acronym> 主機名稱。" #. (itstool) path: step/para -#: book.translate.xml:16831 +#: book.translate.xml:16845 msgid "" "Enable <command>lpd</command> by editing <filename>/etc/rc.conf</filename>, " "adding this line:" msgstr "" -"編輯 <filename>/etc/rc.conf</filename> 加入下行來開啟 <command>lpd</command>:" +"編輯 <filename>/etc/rc.conf</filename> 加入下行來開啟 <command>lpd</" +"command>:" #. (itstool) path: step/programlisting #. (itstool) path: sect2/programlisting -#: book.translate.xml:16834 book.translate.xml:17322 +#: book.translate.xml:16848 book.translate.xml:17336 #, no-wrap msgid "lpd_enable=\"YES\"" msgstr "" #. (itstool) path: step/para #. (itstool) path: sect2/para -#: book.translate.xml:16836 book.translate.xml:17324 +#: book.translate.xml:16850 book.translate.xml:17338 msgid "Start the service:" -msgstr "啟動服務:" +msgstr "啟動服務:" #. (itstool) path: step/screen -#: book.translate.xml:16838 +#: book.translate.xml:16852 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service lpd start</userinput>\n" @@ -25299,18 +25407,18 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:16843 +#: book.translate.xml:16857 msgid "Print a test:" -msgstr "測試列印:" +msgstr "測試列印:" #. (itstool) path: step/screen -#: book.translate.xml:16845 +#: book.translate.xml:16859 #, no-wrap msgid "<prompt>#</prompt> <userinput>printf \"1. This printer can print.\\n2. This is the second line.\\n\" | lpr</userinput>" msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:16848 +#: book.translate.xml:16862 msgid "" "If both lines do not start at the left border, but <quote>stairstep</quote> " "instead, see <xref linkend=\"printing-lpd-filters-stairstep\"/>." @@ -25319,7 +25427,7 @@ msgstr "" "考 <xref linkend=\"printing-lpd-filters-stairstep\"/>。" #. (itstool) path: step/para -#: book.translate.xml:16853 +#: book.translate.xml:16867 msgid "" "Text files can now be printed with <command>lpr</command>. Give the filename " "on the command line, or pipe output directly into <command>lpr</command>." @@ -25328,7 +25436,7 @@ msgstr "" "或者將輸出使用管線符號 (Pipe) 傳送給 <command>lpr</command>。" #. (itstool) path: step/screen -#: book.translate.xml:16858 +#: book.translate.xml:16872 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>lpr textfile.txt</userinput>\n" @@ -25336,12 +25444,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:16865 +#: book.translate.xml:16879 msgid "Printer Connections" msgstr "印表機連線" #. (itstool) path: sect1/para -#: book.translate.xml:16867 +#: book.translate.xml:16881 msgid "" "Printers are connected to computer systems in a variety of ways. Small " "desktop printers are usually connected directly to a computer's " @@ -25356,18 +25464,18 @@ msgstr "" "電腦共享使用,還有少部分印表機則是連接到較罕見的序列 (Serial) 埠。" #. (itstool) path: sect1/para -#: book.translate.xml:16875 +#: book.translate.xml:16889 msgid "FreeBSD can communicate with all of these types of printers." msgstr "FreeBSD 可以與這些類型的印表機溝通。" #. (itstool) path: varlistentry/term #. (itstool) path: row/entry -#: book.translate.xml:16880 book.translate.xml:17242 +#: book.translate.xml:16894 book.translate.xml:17256 msgid "<acronym>USB</acronym>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:16883 +#: book.translate.xml:16897 msgid "" "<acronym>USB</acronym> printers can be connected to any available " "<acronym>USB</acronym> port on the computer." @@ -25376,7 +25484,7 @@ msgstr "" "acronym> 埠。" #. (itstool) path: listitem/para -#: book.translate.xml:16887 +#: book.translate.xml:16901 msgid "" "When FreeBSD detects a <acronym>USB</acronym> printer, two device entries " "are created: <filename>/dev/ulpt0</filename> and <filename>/dev/unlpt0</" @@ -25386,7 +25494,7 @@ msgid "" "<filename>unlpt0</filename> device is usually used instead. " "<filename>unlpt0</filename> does not reset the USB port at all." msgstr "" -"當 FreeBSD 偵測到 <acronym>USB</acronym> 印表機,會建立兩個裝置項目: " +"當 FreeBSD 偵測到 <acronym>USB</acronym> 印表機,會建立兩個裝置項目:" "<filename>/dev/ulpt0</filename> 以及 <filename>/dev/unlpt0</filename>,傳送到" "兩者任一裝置的資料都會被轉發到印表機。在每個列印工作完成後 <filename>ulpt0</" "filename> 便會重設 <acronym>USB</acronym> 埠,重設 <acronym>USB</acronym> 埠" @@ -25394,12 +25502,12 @@ msgstr "" "裝置。<filename>unlpt0</filename> 不會重設 USB 埠。" #. (itstool) path: varlistentry/term -#: book.translate.xml:16902 +#: book.translate.xml:16916 msgid "Parallel (<acronym>IEEE</acronym>-1284)" msgstr "並列 (<acronym>IEEE</acronym>-1284)" #. (itstool) path: listitem/para -#: book.translate.xml:16905 +#: book.translate.xml:16919 msgid "" "The parallel port device is <filename>/dev/lpt0</filename>. This device " "appears whether a printer is attached or not, it is not autodetected." @@ -25408,7 +25516,7 @@ msgstr "" "存在,它並不會自動偵測。" #. (itstool) path: listitem/para -#: book.translate.xml:16910 +#: book.translate.xml:16924 msgid "" "Vendors have largely moved away from these <quote>legacy</quote> ports, and " "many computers no longer have them. Adapters can be used to connect a " @@ -25424,12 +25532,12 @@ msgstr "" "網路。" #. (itstool) path: varlistentry/term -#: book.translate.xml:16922 +#: book.translate.xml:16936 msgid "Serial (RS-232)" msgstr "序列 (RS-232)" #. (itstool) path: listitem/para -#: book.translate.xml:16925 +#: book.translate.xml:16939 msgid "" "Serial ports are another legacy port, rarely used for printers except in " "certain niche applications. Cables, connectors, and required wiring vary " @@ -25439,7 +25547,7 @@ msgstr "" "接頭與需要的佈線方式依需求變化性很大。" #. (itstool) path: listitem/para -#: book.translate.xml:16929 +#: book.translate.xml:16943 msgid "" "For serial ports built into a motherboard, the serial device name is " "<filename>/dev/cuau0</filename> or <filename>/dev/cuau1</filename>. Serial " @@ -25452,7 +25560,7 @@ msgstr "" "filename>。" #. (itstool) path: listitem/para -#: book.translate.xml:16936 +#: book.translate.xml:16950 msgid "" "Several communication parameters must be known to communicate with a serial " "printer. The most important are <emphasis>baud rate</emphasis> or " @@ -25467,17 +25575,17 @@ msgstr "" #. (itstool) path: varlistentry/term #. (itstool) path: row/entry -#: book.translate.xml:16946 book.translate.xml:17260 +#: book.translate.xml:16960 book.translate.xml:17274 msgid "Network" msgstr "網路" #. (itstool) path: listitem/para -#: book.translate.xml:16949 +#: book.translate.xml:16963 msgid "Network printers are connected directly to the local computer network." msgstr "網路印表機可直接連接到區域網路。" #. (itstool) path: listitem/para -#: book.translate.xml:16952 +#: book.translate.xml:16966 msgid "" "The <acronym>DNS</acronym> hostname of the printer must be known. If the " "printer is assigned a dynamic address by <acronym>DHCP</acronym>, " @@ -25491,7 +25599,7 @@ msgstr "" "<acronym>IP</acronym> 位址可避免這個問題。" #. (itstool) path: listitem/para -#: book.translate.xml:16960 +#: book.translate.xml:16974 msgid "" "Most network printers understand print jobs sent with the <acronym>LPD</" "acronym> protocol. A print queue name can also be specified. Some printers " @@ -25505,12 +25613,12 @@ msgstr "" "<literal>text</literal> 佇列則會在純文字上增加換行符號 (Carriage return)。" #. (itstool) path: listitem/para -#: book.translate.xml:16968 +#: book.translate.xml:16982 msgid "Many network printers can also print data sent directly to port 9100." msgstr "大部份網路印表機也可列印直接傳送到埠號 9100 的資料。" #. (itstool) path: sect2/para -#: book.translate.xml:16977 +#: book.translate.xml:16991 msgid "" "Wired network connections are usually the easiest to set up and give the " "fastest printing. For direct connection to the computer, <acronym>USB</" @@ -25526,12 +25634,12 @@ msgstr "" "式不同,且通訊參數如傳輸速率及同位檢查增加了複雜性,所幸序列印表機並不多。" #. (itstool) path: sect1/title -#: book.translate.xml:16990 +#: book.translate.xml:17004 msgid "Common Page Description Languages" msgstr "常見的頁面描述語言" #. (itstool) path: sect1/para -#: book.translate.xml:16992 +#: book.translate.xml:17006 msgid "" "Data sent to a printer must be in a language that the printer can " "understand. These languages are called Page Description Languages, or " @@ -25541,12 +25649,12 @@ msgstr "" "(Page Description Languages) 或 <acronym>PDL</acronym>。" #. (itstool) path: varlistentry/term -#: book.translate.xml:16998 +#: book.translate.xml:17012 msgid "<acronym>ASCII</acronym>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:17001 +#: book.translate.xml:17015 msgid "" "Plain <acronym>ASCII</acronym> text is the simplest way to send data to a " "printer. Characters correspond one to one with what will be printed: an " @@ -25558,13 +25666,13 @@ msgid "" "directly with what was sent." msgstr "" "純 <acronym>ASCII</acronym> 文字是傳送資料到印表機最簡單的方式,一個字元對應" -"一個要列印的文字: 資料中的 <literal>A</literal> 會列印一個 <literal>A</" +"一個要列印的文字:資料中的 <literal>A</literal> 會列印一個 <literal>A</" "literal> 在頁面。可以使用的格式非常少,沒有辦法選擇字型或者比例間距。強迫使用" "簡單的純 <acronym>ASCII</acronym> 為的是讓文字可以直接從電腦列印只需一點或甚" "至不需要編碼或轉譯,列印的結果可直接對應傳送的內容。" #. (itstool) path: listitem/para -#: book.translate.xml:17012 +#: book.translate.xml:17026 msgid "" "Some inexpensive printers cannot print plain <acronym>ASCII</acronym> text. " "This makes them more difficult to set up, but it is usually still possible." @@ -25573,12 +25681,12 @@ msgstr "" "定。" #. (itstool) path: varlistentry/term -#: book.translate.xml:17020 +#: book.translate.xml:17034 msgid "<trademark class=\"registered\">PostScript</trademark>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:17023 +#: book.translate.xml:17037 msgid "" "<trademark class=\"registered\">PostScript</trademark> is almost the " "opposite of <acronym>ASCII</acronym>. Rather than simple text, a <trademark " @@ -25595,7 +25703,7 @@ msgstr "" "通常這個程式語言會由應用程式產生,所以使用者是看不到的。" #. (itstool) path: listitem/para -#: book.translate.xml:17032 +#: book.translate.xml:17046 msgid "" "Inexpensive printers sometimes leave out <trademark class=\"registered" "\">PostScript</trademark> compatibility as a cost-saving measure." @@ -25604,12 +25712,12 @@ msgstr "" "trademark> 的相容性來節省成本。" #. (itstool) path: varlistentry/term -#: book.translate.xml:17038 +#: book.translate.xml:17052 msgid "<acronym>PCL</acronym> (Printer Command Language)" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:17041 +#: book.translate.xml:17055 msgid "" "<acronym>PCL</acronym> is an extension of <acronym>ASCII</acronym>, adding " "escape sequences for formatting, font selection, and printing graphics. Many " @@ -25624,12 +25732,12 @@ msgstr "" "(Superset),並可以提供更快的列印速度。" #. (itstool) path: varlistentry/term -#: book.translate.xml:17053 +#: book.translate.xml:17067 msgid "Host-Based" msgstr "以主機為基礎 (Host-Based)" #. (itstool) path: listitem/para -#: book.translate.xml:17056 +#: book.translate.xml:17070 msgid "" "Manufacturers can reduce the cost of a printer by giving it a simple " "processor and very little memory. These printers are not capable of printing " @@ -25642,7 +25750,7 @@ msgstr "" "稱為<emphasis>以主機為基礎 (Host-based)</emphasis> 的印表機。" #. (itstool) path: listitem/para -#: book.translate.xml:17064 +#: book.translate.xml:17078 msgid "" "Communication between the driver and a host-based printer is often through " "proprietary or undocumented protocols, making them functional only on the " @@ -25652,7 +25760,7 @@ msgstr "" "印表機只能在最常用的作業系統上運作。" #. (itstool) path: sect2/title -#: book.translate.xml:17073 +#: book.translate.xml:17087 msgid "" "Converting <trademark class=\"registered\">PostScript</trademark> to Other " "<acronym>PDL</acronym>s" @@ -25661,7 +25769,7 @@ msgstr "" "<acronym>PDL</acronym>" #. (itstool) path: sect2/para -#: book.translate.xml:17076 +#: book.translate.xml:17090 msgid "" "Many applications from the Ports Collection and FreeBSD utilities produce " "<trademark class=\"registered\">PostScript</trademark> output. This table " @@ -25674,32 +25782,32 @@ msgstr "" "acronym> 的工具:" #. (itstool) path: table/title -#: book.translate.xml:17082 +#: book.translate.xml:17096 msgid "Output <acronym>PDL</acronym>s" msgstr "輸出 <acronym>PDL</acronym> 格式" #. (itstool) path: row/entry -#: book.translate.xml:17087 +#: book.translate.xml:17101 msgid "Output <acronym>PDL</acronym>" msgstr "輸出 <acronym>PDL</acronym>" #. (itstool) path: row/entry -#: book.translate.xml:17089 +#: book.translate.xml:17103 msgid "Generated By" msgstr "產生由" #. (itstool) path: row/entry -#: book.translate.xml:17096 +#: book.translate.xml:17110 msgid "<acronym>PCL</acronym> or <acronym>PCL5</acronym>" msgstr "<acronym>PCL</acronym> 或 <acronym>PCL5</acronym>" #. (itstool) path: row/entry -#: book.translate.xml:17098 book.translate.xml:17106 book.translate.xml:17114 +#: book.translate.xml:17112 book.translate.xml:17120 book.translate.xml:17128 msgid "<package role=\"port\">print/ghostscript9</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:17099 +#: book.translate.xml:17113 msgid "" "<literal>-sDEVICE=ljet4</literal> for monochrome, <literal>-sDEVICE=cljet5</" "literal> for color" @@ -25708,12 +25816,12 @@ msgstr "" "sDEVICE=cljet5</literal>" #. (itstool) path: row/entry -#: book.translate.xml:17104 +#: book.translate.xml:17118 msgid "<acronym>PCLXL</acronym> or <acronym>PCL6</acronym>" msgstr "<acronym>PCLXL</acronym> 或 <acronym>PCL6</acronym>" #. (itstool) path: row/entry -#: book.translate.xml:17107 +#: book.translate.xml:17121 msgid "" "<literal>-sDEVICE=pxlmono</literal> for monochrome, <literal>-" "sDEVICE=pxlcolor</literal> for color" @@ -25722,27 +25830,27 @@ msgstr "" "sDEVICE=pxlcolor</literal>" #. (itstool) path: row/entry -#: book.translate.xml:17113 +#: book.translate.xml:17127 msgid "<acronym>ESC/P2</acronym>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:17115 +#: book.translate.xml:17129 msgid "<literal>-sDEVICE=uniprint</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:17119 +#: book.translate.xml:17133 msgid "<acronym>XQX</acronym>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:17120 +#: book.translate.xml:17134 msgid "<package role=\"port\">print/foo2zjs</package>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:17131 +#: book.translate.xml:17145 msgid "" "For the easiest printing, choose a printer that supports <trademark class=" "\"registered\">PostScript</trademark>. Printers that support <acronym>PCL</" @@ -25762,7 +25870,7 @@ msgstr "" "字檔案。" #. (itstool) path: sect2/para -#: book.translate.xml:17141 +#: book.translate.xml:17155 msgid "" "Line-based printers like typical inkjets usually do not support <trademark " "class=\"registered\">PostScript</trademark> or <acronym>PCL</acronym>. They " @@ -25780,7 +25888,7 @@ msgstr "" "料並列印。" #. (itstool) path: sect2/para -#: book.translate.xml:17150 +#: book.translate.xml:17164 msgid "" "Host-based printers are often more difficult to set up. Some cannot be used " "at all because of proprietary <acronym>PDL</acronym>s. Avoid these printers " @@ -25790,7 +25898,7 @@ msgstr "" "acronym> 而無法使用,盡可能避免使用這類的印表機。" #. (itstool) path: sect2/para -#: book.translate.xml:17155 +#: book.translate.xml:17169 msgid "" "Descriptions of many <acronym>PDL</acronym>s can be found at <link xlink:" "href=\"http://www.undocprint.org/formats/page_description_languages\"/>. The " @@ -25803,12 +25911,12 @@ msgstr "" "org/printers\"/> 查詢。" #. (itstool) path: sect1/title -#: book.translate.xml:17163 +#: book.translate.xml:17177 msgid "Direct Printing" msgstr "直接列印" #. (itstool) path: sect1/para -#: book.translate.xml:17165 +#: book.translate.xml:17179 msgid "" "For occasional printing, files can be sent directly to a printer device " "without any setup. For example, a file called <filename>sample.txt</" @@ -25816,16 +25924,16 @@ msgid "" msgstr "" "對於偶爾列印,檔案可以直接傳送到印表機裝置,無需做任何設定。例如,要傳送一個" "名稱為 <filename>sample.txt</filename> 的檔案到 <acronym>USB</acronym> 印表" -"機:" +"機:" #. (itstool) path: sect1/screen -#: book.translate.xml:17170 +#: book.translate.xml:17184 #, no-wrap msgid "<prompt>#</prompt> <userinput>cp sample.txt /dev/unlpt0</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:17172 +#: book.translate.xml:17186 msgid "" "Direct printing to network printers depends on the abilities of the printer, " "but most accept print jobs on port 9100, and " @@ -25837,21 +25945,21 @@ msgstr "" "要直接使用網路印表機列印需看該印表機支援的功能,但大多數會接受埠號 9100 的列" "印作業,可使用 <citerefentry><refentrytitle>nc</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> 來完成。要使用 <acronym>DNS</acronym> 主機名稱為 " -"<replaceable>netlaser</replaceable> 的印表機列印與上述相同的檔案可:" +"<replaceable>netlaser</replaceable> 的印表機列印與上述相同的檔案可:" #. (itstool) path: sect1/screen -#: book.translate.xml:17178 +#: book.translate.xml:17192 #, no-wrap msgid "<prompt>#</prompt> <userinput>nc <replaceable>netlaser</replaceable> 9100 < sample.txt</userinput>" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:17182 +#: book.translate.xml:17196 msgid "<acronym>LPD</acronym> (Line Printer Daemon)" msgstr "<acronym>LPD</acronym> (行列式印表機 Daemon)" #. (itstool) path: sect1/para -#: book.translate.xml:17184 +#: book.translate.xml:17198 msgid "" "Printing a file in the background is called <emphasis>spooling</emphasis>. A " "spooler allows the user to continue with other programs on the computer " @@ -25861,7 +25969,7 @@ msgstr "" "用者能夠繼續執行電腦的其他程式而不需要等候印表機緩慢的完成列印工作。" #. (itstool) path: sect1/para -#: book.translate.xml:17189 +#: book.translate.xml:17203 msgid "" "FreeBSD includes a spooler called <citerefentry><refentrytitle>lpd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>. Print jobs are " @@ -25874,22 +25982,22 @@ msgstr "" "citerefentry> 來提交。" #. (itstool) path: sect2/title -#: book.translate.xml:17193 book.translate.xml:28671 +#: book.translate.xml:17207 book.translate.xml:28725 msgid "Initial Setup" msgstr "初始設定" #. (itstool) path: sect2/para -#: book.translate.xml:17195 +#: book.translate.xml:17209 msgid "" "A directory for storing print jobs is created, ownership is set, and the " "permissions are set to prevent other users from viewing the contents of " "those files:" msgstr "" "建立要用來儲存列印工作的目錄、設定擁有關係以及權限來避免其他使用者可以檢視這" -"些檔案的內容:" +"些檔案的內容:" #. (itstool) path: sect2/para -#: book.translate.xml:17203 +#: book.translate.xml:17217 msgid "" "Printers are defined in <filename>/etc/printcap</filename>. An entry for " "each printer includes details like a name, the port where it is attached, " @@ -25898,10 +26006,10 @@ msgid "" msgstr "" "印表機會定義在 <filename>/etc/printcap</filename>,每台印表機項目所包含的詳細" "資料有名稱、連接的接頭以及各種其他設定。建立 <filename>/etc/printcap</" -"filename> 使用以下內容:" +"filename> 使用以下內容:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:17209 +#: book.translate.xml:17223 #, no-wrap msgid "" "lp:\\\t\t\t\t<co xml:id=\"printing-lpd-co-name\"/>\n" @@ -25913,7 +26021,7 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:17218 +#: book.translate.xml:17232 msgid "" "The name of this printer. <citerefentry><refentrytitle>lpr</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> sends print jobs to " @@ -25927,30 +26035,30 @@ msgstr "" "<literal>lp</literal>。" #. (itstool) path: callout/para -#: book.translate.xml:17226 +#: book.translate.xml:17240 msgid "" "The device where the printer is connected. Replace this line with the " "appropriate one for the connection type shown here." msgstr "印表機所連接到裝置。替換此行為正確的連線類型,如此處所示。" #. (itstool) path: row/entry -#: book.translate.xml:17234 +#: book.translate.xml:17248 msgid "Connection Type" msgstr "連線類型" #. (itstool) path: row/entry -#: book.translate.xml:17235 +#: book.translate.xml:17249 msgid "Device Entry in <filename>/etc/printcap</filename>" msgstr "在 <filename>/etc/printcap</filename> 的裝置項目" #. (itstool) path: entry/programlisting -#: book.translate.xml:17243 +#: book.translate.xml:17257 #, no-wrap msgid ":lp=/dev/unlpt0:\\" msgstr "" #. (itstool) path: entry/para -#: book.translate.xml:17245 +#: book.translate.xml:17259 msgid "" "This is the <emphasis>non-resetting</emphasis> <acronym>USB</acronym> " "printer device. If problems are experienced, use <filename>ulpt0</filename> " @@ -25961,28 +26069,28 @@ msgstr "" "<acronym>USB</acronym> 埠。" #. (itstool) path: row/entry -#: book.translate.xml:17255 +#: book.translate.xml:17269 msgid "Parallel" msgstr "並列" #. (itstool) path: entry/para -#: book.translate.xml:17262 +#: book.translate.xml:17276 msgid "For a printer supporting the <acronym>LPD</acronym> protocol:" -msgstr "針對支援 <acronym>LPD</acronym> 通訊協定的印表機:" +msgstr "針對支援 <acronym>LPD</acronym> 通訊協定的印表機:" #. (itstool) path: entry/para -#: book.translate.xml:17267 +#: book.translate.xml:17281 msgid "For printers supporting port 9100 printing:" -msgstr "針對支援使用埠號 9100 列印的印表機:" +msgstr "針對支援使用埠號 9100 列印的印表機:" #. (itstool) path: entry/programlisting -#: book.translate.xml:17270 +#: book.translate.xml:17284 #, no-wrap msgid ":lp=9100@<replaceable>network-printer-name</replaceable>:\\" msgstr "" #. (itstool) path: entry/para -#: book.translate.xml:17272 +#: book.translate.xml:17286 msgid "" "For both types, replace <replaceable>network-printer-name</replaceable> with " "the <acronym>DNS</acronym> host name of the network printer." @@ -25991,18 +26099,18 @@ msgstr "" "replaceable> 為網路印表機的 <acronym>DNS</acronym> 主機名稱。" #. (itstool) path: row/entry -#: book.translate.xml:17279 +#: book.translate.xml:17293 msgid "Serial" msgstr "序列" #. (itstool) path: entry/programlisting -#: book.translate.xml:17280 +#: book.translate.xml:17294 #, no-wrap msgid ":lp=/dev/cuau0:br=9600:pa=none:\\" msgstr "" #. (itstool) path: entry/para -#: book.translate.xml:17282 +#: book.translate.xml:17296 msgid "" "These values are for a typical serial printer connected to a motherboard " "serial port. The baud rate is 9600, and no parity is used." @@ -26011,17 +26119,17 @@ msgstr "" "9600 且無同位檢查 (No Parity)。" #. (itstool) path: callout/para -#: book.translate.xml:17293 +#: book.translate.xml:17307 msgid "Suppress the printing of a header page at the start of a print job." msgstr "在列印工作開始時不列印首頁。" #. (itstool) path: callout/para -#: book.translate.xml:17298 +#: book.translate.xml:17312 msgid "Do not limit the maximum size of a print job." msgstr "不限制列印工作的最大尺寸。" #. (itstool) path: callout/para -#: book.translate.xml:17302 +#: book.translate.xml:17316 msgid "" "The path to the spooling directory for this printer. Each printer uses its " "own spooling directory." @@ -26030,12 +26138,12 @@ msgstr "" "(Spooling) 目錄。" #. (itstool) path: callout/para -#: book.translate.xml:17307 +#: book.translate.xml:17321 msgid "The log file where errors on this printer will be reported." -msgstr "記錄此印表機回報錯誤的記錄檔。" +msgstr "回報此印表機的錯誤的日誌檔。" #. (itstool) path: sect2/para -#: book.translate.xml:17312 +#: book.translate.xml:17326 msgid "" "After creating <filename>/etc/printcap</filename>, use " "<citerefentry><refentrytitle>chkprintcap</refentrytitle><manvolnum>8</" @@ -26043,37 +26151,37 @@ msgid "" msgstr "" "在建立 <filename>/etc/printcap</filename> 之後,使用 " "<citerefentry><refentrytitle>chkprintcap</refentrytitle><manvolnum>8</" -"manvolnum></citerefentry> 測試印表機是否有錯誤:" +"manvolnum></citerefentry> 測試印表機是否有錯誤:" #. (itstool) path: sect2/screen -#: book.translate.xml:17315 +#: book.translate.xml:17329 #, no-wrap msgid "<prompt>#</prompt> <userinput>chkprintcap</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:17317 +#: book.translate.xml:17331 msgid "Fix any reported problems before continuing." msgstr "在繼續之前修正任何回報的問題。" #. (itstool) path: sect2/para -#: book.translate.xml:17319 +#: book.translate.xml:17333 msgid "" "Enable <citerefentry><refentrytitle>lpd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> in <filename>/etc/rc.conf</filename>:" msgstr "" "開啟 <filename>/etc/rc.conf</filename> 中的 " "<citerefentry><refentrytitle>lpd</refentrytitle><manvolnum>8</manvolnum></" -"citerefentry>:" +"citerefentry>:" #. (itstool) path: sect2/screen -#: book.translate.xml:17326 +#: book.translate.xml:17340 #, no-wrap msgid "<prompt>#</prompt> <userinput>service lpd start</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:17330 +#: book.translate.xml:17344 msgid "" "Printing with <citerefentry><refentrytitle>lpr</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>" @@ -26082,7 +26190,7 @@ msgstr "" "manvolnum></citerefentry> 列印" #. (itstool) path: sect2/para -#: book.translate.xml:17332 +#: book.translate.xml:17346 msgid "" "Documents are sent to the printer with <command>lpr</command>. A file to be " "printed can be named on the command line or piped into <command>lpr</" @@ -26091,7 +26199,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:17338 +#: book.translate.xml:17352 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>lpr doc.txt</userinput>\n" @@ -26099,25 +26207,25 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:17341 +#: book.translate.xml:17355 msgid "" "Printers can be selected with <option>-P</option>. To print to a printer " "called <replaceable>laser</replaceable>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:17345 +#: book.translate.xml:17359 #, no-wrap msgid "<prompt>%</prompt> <userinput>lpr -Plaser doc.txt</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:17349 +#: book.translate.xml:17363 msgid "Filters" msgstr "過濾器" #. (itstool) path: sect2/para -#: book.translate.xml:17351 +#: book.translate.xml:17365 msgid "" "The examples shown so far have sent the contents of a text file directly to " "the printer. As long as the printer understands the content of those files, " @@ -26125,14 +26233,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:17356 +#: book.translate.xml:17370 msgid "" "Some printers are not capable of printing plain text, and the input file " "might not even be plain text." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:17359 +#: book.translate.xml:17373 msgid "" "<emphasis>Filters</emphasis> allow files to be translated or processed. The " "typical use is to translate one type of input, like plain text, into a form " @@ -26143,7 +26251,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:17367 +#: book.translate.xml:17381 msgid "" "The filters discussed here are <emphasis>input filters</emphasis> or " "<emphasis>text filters</emphasis>. These filters convert the incoming file " @@ -26153,7 +26261,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:17374 +#: book.translate.xml:17388 msgid "" "Filters are specified in <filename>/etc/printcap</filename> with the " "<literal>if=</literal> identifier. To use <filename>/usr/local/libexec/" @@ -26162,7 +26270,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:17380 +#: book.translate.xml:17394 #, no-wrap msgid "" "lp:\\\n" @@ -26175,14 +26283,14 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:17390 +#: book.translate.xml:17404 msgid "" "<literal>if=</literal> identifies the <emphasis>input filter</emphasis> that " "will be used on incoming text." msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:17397 +#: book.translate.xml:17411 msgid "" "The backslash <emphasis>line continuation</emphasis> characters at the end " "of the lines in <filename>printcap</filename> entries reveal that an entry " @@ -26192,18 +26300,18 @@ msgid "" msgstr "" #. (itstool) path: tip/programlisting -#: book.translate.xml:17404 +#: book.translate.xml:17418 #, no-wrap msgid "lp:lp=/dev/unlpt0:sh:mx#0:sd=/var/spool/lpd/lp:if=/usr/local/libexec/lf2crlf:lf=/var/log/lpd-errs:" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:17408 +#: book.translate.xml:17422 msgid "Preventing Stairstepping on Plain Text Printers" msgstr "避免在純文字印表機階梯狀列印" #. (itstool) path: sect3/para -#: book.translate.xml:17410 +#: book.translate.xml:17424 msgid "" "Typical FreeBSD text files contain only a single line feed character at the " "end of each line. These lines will <quote>stairstep</quote> on a standard " @@ -26211,7 +26319,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:17414 +#: book.translate.xml:17428 #, no-wrap msgid "" "A printed file looks\n" @@ -26220,7 +26328,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17418 +#: book.translate.xml:17432 msgid "" "A filter can convert the newline characters into carriage returns and " "newlines. The carriage returns make the printer return to the left after " @@ -26229,7 +26337,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:17424 +#: book.translate.xml:17438 #, no-wrap msgid "" "#!/bin/sh\n" @@ -26238,37 +26346,37 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17428 book.translate.xml:17463 book.translate.xml:17495 -#: book.translate.xml:17549 +#: book.translate.xml:17442 book.translate.xml:17477 book.translate.xml:17509 +#: book.translate.xml:17563 msgid "Set the permissions and make it executable:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:17430 +#: book.translate.xml:17444 #, no-wrap msgid "<prompt>#</prompt> <userinput>chmod 555 /usr/local/libexec/lf2crlf</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17432 book.translate.xml:17467 +#: book.translate.xml:17446 book.translate.xml:17481 msgid "Modify <filename>/etc/printcap</filename> to use the new filter:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:17435 +#: book.translate.xml:17449 #, no-wrap msgid ":if=/usr/local/libexec/lf2crlf:\\" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17437 +#: book.translate.xml:17451 msgid "" "Test the filter by printing the same plain text file. The carriage returns " "will cause each line to start at the left side of the page." msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:17443 +#: book.translate.xml:17457 msgid "" "Fancy Plain Text on <trademark class=\"registered\">PostScript</trademark> " "Printers with <package>print/enscript</package>" @@ -26277,7 +26385,7 @@ msgstr "" "\">PostScript</trademark> 印表機美化純文字內容" #. (itstool) path: sect3/para -#: book.translate.xml:17446 +#: book.translate.xml:17460 msgid "" "<acronym>GNU</acronym> <application>Enscript</application> converts plain " "text files into nicely-formatted <trademark class=\"registered\">PostScript</" @@ -26290,13 +26398,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17457 +#: book.translate.xml:17471 msgid "" "Create <filename>/usr/local/libexec/enscript</filename> with these contents:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:17460 +#: book.translate.xml:17474 #, no-wrap msgid "" "#!/bin/sh\n" @@ -26304,24 +26412,24 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:17465 +#: book.translate.xml:17479 #, no-wrap msgid "<prompt>#</prompt> <userinput>chmod 555 /usr/local/libexec/enscript</userinput>" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:17470 +#: book.translate.xml:17484 #, no-wrap msgid ":if=/usr/local/libexec/enscript:\\" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17472 +#: book.translate.xml:17486 msgid "Test the filter by printing a plain text file." msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:17476 +#: book.translate.xml:17490 msgid "" "Printing <trademark class=\"registered\">PostScript</trademark> to " "<acronym>PCL</acronym> Printers" @@ -26330,7 +26438,7 @@ msgstr "" "acronym> 印表機" #. (itstool) path: sect3/para -#: book.translate.xml:17479 +#: book.translate.xml:17493 msgid "" "Many programs produce <trademark class=\"registered\">PostScript</trademark> " "documents. However, inexpensive printers often only understand plain text or " @@ -26340,7 +26448,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17485 +#: book.translate.xml:17499 msgid "" "Install the Ghostscript <trademark class=\"registered\">PostScript</" "trademark> interpreter, <package role=\"port\">print/ghostscript9</package>, " @@ -26348,13 +26456,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17489 +#: book.translate.xml:17503 msgid "" "Create <filename>/usr/local/libexec/ps2pcl</filename> with these contents:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:17492 +#: book.translate.xml:17506 #, no-wrap msgid "" "#!/bin/sh\n" @@ -26362,13 +26470,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:17497 +#: book.translate.xml:17511 #, no-wrap msgid "<prompt>#</prompt> <userinput>chmod 555 /usr/local/libexec/ps2pcl</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17499 +#: book.translate.xml:17513 msgid "" "<trademark class=\"registered\">PostScript</trademark> input sent to this " "script will be rendered and converted to <acronym>PCL</acronym> before being " @@ -26376,25 +26484,25 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17503 book.translate.xml:17553 +#: book.translate.xml:17517 book.translate.xml:17567 msgid "Modify <filename>/etc/printcap</filename> to use this new input filter:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:17506 +#: book.translate.xml:17520 #, no-wrap msgid ":if=/usr/local/libexec/ps2pcl:\\" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17508 +#: book.translate.xml:17522 msgid "" "Test the filter by sending a small <trademark class=\"registered" "\">PostScript</trademark> program to it:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:17511 +#: book.translate.xml:17525 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>printf \"%%\\!PS \\n /Helvetica findfont 18 scalefont setfont \\\n" @@ -26402,12 +26510,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:17516 +#: book.translate.xml:17530 msgid "Smart Filters" msgstr "智慧過濾器" #. (itstool) path: sect3/para -#: book.translate.xml:17518 +#: book.translate.xml:17532 msgid "" "A filter that detects the type of input and automatically converts it to the " "correct format for the printer can be very convenient. The first two " @@ -26422,7 +26530,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:17529 +#: book.translate.xml:17543 #, no-wrap msgid "" "#!/bin/sh\n" @@ -26447,31 +26555,31 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:17551 +#: book.translate.xml:17565 #, no-wrap msgid "<prompt>#</prompt> <userinput>chmod 555 /usr/local/libexec/psif</userinput>" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:17556 +#: book.translate.xml:17570 #, no-wrap msgid ":if=/usr/local/libexec/psif:\\" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17558 +#: book.translate.xml:17572 msgid "" "Test the filter by printing <trademark class=\"registered\">PostScript</" "trademark> and plain text files." msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:17563 +#: book.translate.xml:17577 msgid "Other Smart Filters" msgstr "其他智慧過濾器" #. (itstool) path: sect3/para -#: book.translate.xml:17565 +#: book.translate.xml:17579 msgid "" "Writing a filter that detects many different types of input and formats them " "correctly is challenging. <package role=\"port\">print/apsfilter</package> " @@ -26482,12 +26590,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:17577 +#: book.translate.xml:17591 msgid "Multiple Queues" msgstr "多序列" #. (itstool) path: sect2/para -#: book.translate.xml:17579 +#: book.translate.xml:17593 msgid "" "The entries in <filename>/etc/printcap</filename> are really definitions of " "<emphasis>queues</emphasis>. There can be more than one queue for a single " @@ -26496,7 +26604,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:17585 +#: book.translate.xml:17599 msgid "" "As an example, consider a networked <trademark class=\"registered" "\">PostScript</trademark> laser printer in an office. Most users want to " @@ -26507,7 +26615,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:17591 +#: book.translate.xml:17605 #, no-wrap msgid "" "textprinter:\\\n" @@ -26527,7 +26635,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:17606 +#: book.translate.xml:17620 msgid "" "Documents sent to <literal>textprinter</literal> will be formatted by the " "<filename>/usr/local/libexec/enscript</filename> filter shown in an earlier " @@ -26537,7 +26645,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:17613 +#: book.translate.xml:17627 msgid "" "This multiple queue technique can be used to provide direct access to all " "kinds of printer features. A printer with a duplexer could use two queues, " @@ -26547,26 +26655,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:17622 +#: book.translate.xml:17636 msgid "Monitoring and Controlling Printing" msgstr "監視與控制列印" #. (itstool) path: sect2/para -#: book.translate.xml:17624 +#: book.translate.xml:17638 msgid "" "Several utilities are available to monitor print jobs and check and control " "printer operation." msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:17628 +#: book.translate.xml:17642 msgid "" "<citerefentry><refentrytitle>lpq</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17630 +#: book.translate.xml:17644 msgid "" "<citerefentry><refentrytitle>lpq</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> shows the status of a user's print jobs. Print jobs from other " @@ -26574,12 +26682,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17633 +#: book.translate.xml:17647 msgid "Show the current user's pending jobs on a single printer:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:17636 +#: book.translate.xml:17650 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>lpq -P<replaceable>lp</replaceable></userinput>\n" @@ -26588,12 +26696,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17640 +#: book.translate.xml:17654 msgid "Show the current user's pending jobs on all printers:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:17643 +#: book.translate.xml:17657 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>lpq -a</userinput>\n" @@ -26607,14 +26715,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:17654 +#: book.translate.xml:17668 msgid "" "<citerefentry><refentrytitle>lprm</refentrytitle><manvolnum>1</manvolnum></" "citerefentry>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17656 +#: book.translate.xml:17670 msgid "" "<citerefentry><refentrytitle>lprm</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> is used to remove print jobs. Normal users are only allowed to " @@ -26623,12 +26731,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17661 +#: book.translate.xml:17675 msgid "Remove all pending jobs from a printer:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:17663 +#: book.translate.xml:17677 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>lprm -P<replaceable>lp</replaceable> -</userinput>\n" @@ -26641,7 +26749,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17671 +#: book.translate.xml:17685 msgid "" "Remove a single job from a printer. <citerefentry><refentrytitle>lpq</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> is used to find the " @@ -26649,7 +26757,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:17674 +#: book.translate.xml:17688 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>lpq</userinput>\n" @@ -26661,14 +26769,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:17683 +#: book.translate.xml:17697 msgid "" "<citerefentry><refentrytitle>lpc</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17685 +#: book.translate.xml:17699 msgid "" "<citerefentry><refentrytitle>lpc</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> is used to check and modify printer status. <literal>lpc</" @@ -26681,12 +26789,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17694 +#: book.translate.xml:17708 msgid "Show the status of all printers:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:17696 +#: book.translate.xml:17710 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>lpc status all</userinput>\n" @@ -26703,14 +26811,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17708 +#: book.translate.xml:17722 msgid "" "Prevent a printer from accepting new jobs, then begin accepting new jobs " "again:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:17711 +#: book.translate.xml:17725 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>lpc disable <replaceable>lp</replaceable></userinput>\n" @@ -26722,13 +26830,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17718 +#: book.translate.xml:17732 msgid "" "Stop printing, but continue to accept new jobs. Then begin printing again:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:17721 +#: book.translate.xml:17735 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>lpc stop <replaceable>lp</replaceable></userinput>\n" @@ -26741,12 +26849,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17729 +#: book.translate.xml:17743 msgid "Restart a printer after some error condition:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:17731 +#: book.translate.xml:17745 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>lpc restart <replaceable>lp</replaceable></userinput>\n" @@ -26757,14 +26865,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17737 +#: book.translate.xml:17751 msgid "" "Turn the print queue off and disable printing, with a message to explain the " "problem to users:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:17740 +#: book.translate.xml:17754 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>lpc down <replaceable>lp</replaceable> Repair parts will arrive on Monday</userinput>\n" @@ -26774,12 +26882,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17745 +#: book.translate.xml:17759 msgid "Re-enable a printer that is down:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:17747 +#: book.translate.xml:17761 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>lpc up <replaceable>lp</replaceable></userinput>\n" @@ -26789,31 +26897,31 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17752 +#: book.translate.xml:17766 msgid "" "See <citerefentry><refentrytitle>lpc</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> for more commands and options." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:17757 +#: book.translate.xml:17771 msgid "Shared Printers" msgstr "分享印表機" #. (itstool) path: sect2/para -#: book.translate.xml:17759 +#: book.translate.xml:17773 msgid "" "Printers are often shared by multiple users in businesses and schools. " "Additional features are provided to make sharing printers more convenient." msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:17764 +#: book.translate.xml:17778 msgid "Aliases" msgstr "別名" #. (itstool) path: sect3/para -#: book.translate.xml:17766 +#: book.translate.xml:17780 msgid "" "The printer name is set in the first line of the entry in <filename>/etc/" "printcap</filename>. Additional names, or <emphasis>aliases</emphasis>, can " @@ -26822,39 +26930,39 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:17772 +#: book.translate.xml:17786 #, no-wrap msgid "lp|<replaceable>repairsprinter</replaceable>|<replaceable>salesprinter</replaceable>:\\" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17774 +#: book.translate.xml:17788 msgid "" "Aliases can be used in place of the printer name. For example, users in the " "Sales department print to their printer with" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:17778 +#: book.translate.xml:17792 #, no-wrap msgid "<prompt>%</prompt> <userinput>lpr -P<replaceable>salesprinter</replaceable> <replaceable>sales-report.txt</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17780 +#: book.translate.xml:17794 msgid "" "Users in the Repairs department print to <emphasis>their</emphasis> printer " "with" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:17783 +#: book.translate.xml:17797 #, no-wrap msgid "<prompt>%</prompt> <userinput>lpr -P<replaceable>repairsprinter</replaceable> <replaceable>repairs-report.txt</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17785 +#: book.translate.xml:17799 msgid "" "All of the documents print on that single printer. When the Sales department " "grows enough to need their own printer, the alias can be removed from the " @@ -26864,12 +26972,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:17794 +#: book.translate.xml:17808 msgid "Header Pages" msgstr "頁首" #. (itstool) path: sect3/para -#: book.translate.xml:17796 +#: book.translate.xml:17810 msgid "" "It can be difficult for users to locate their documents in the stack of " "pages produced by a busy shared printer. <emphasis>Header pages</emphasis> " @@ -26880,7 +26988,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17804 +#: book.translate.xml:17818 msgid "" "Enabling header pages differs depending on whether the printer is connected " "directly to the computer with a <acronym>USB</acronym>, parallel, or serial " @@ -26888,7 +26996,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17809 +#: book.translate.xml:17823 msgid "" "Header pages on directly-connected printers are enabled by removing the " "<literal>:sh:\\</literal> (Suppress Header) line from the entry in " @@ -26900,7 +27008,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:17819 +#: book.translate.xml:17833 msgid "" "Header pages for network printers must be configured on the printer itself. " "Header page entries in <filename>/etc/printcap</filename> are ignored. " @@ -26909,26 +27017,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:17830 book.translate.xml:22630 +#: book.translate.xml:17844 book.translate.xml:22655 msgid "References" msgstr "參考文獻" #. (itstool) path: sect2/para -#: book.translate.xml:17832 +#: book.translate.xml:17846 msgid "" "Example files: <filename role=\"directory\">/usr/share/examples/printing/</" "filename>." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:17834 +#: book.translate.xml:17848 msgid "" "The <emphasis>4.3BSD Line Printer Spooler Manual</emphasis>, <filename>/usr/" "share/doc/smm/07.lpd/paper.ascii.gz</filename>." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:17838 +#: book.translate.xml:17852 msgid "" "Manual pages: <citerefentry><refentrytitle>printcap</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>, " @@ -26942,12 +27050,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:17844 +#: book.translate.xml:17858 msgid "Other Printing Systems" msgstr "其他列印系統" #. (itstool) path: sect1/para -#: book.translate.xml:17846 +#: book.translate.xml:17860 msgid "" "Several other printing systems are available in addition to the built-in " "<citerefentry><refentrytitle>lpd</refentrytitle><manvolnum>8</manvolnum></" @@ -26956,14 +27064,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:17851 +#: book.translate.xml:17865 msgid "" "<acronym>CUPS</acronym> (Common <trademark class=\"registered\">UNIX</" "trademark> Printing System)" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:17854 +#: book.translate.xml:17868 msgid "" "<acronym>CUPS</acronym> is a popular printing system available on many " "operating systems. Using <acronym>CUPS</acronym> on FreeBSD is documented in " @@ -26972,12 +27080,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:17861 +#: book.translate.xml:17875 msgid "HPLIP" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:17863 +#: book.translate.xml:17877 msgid "" "Hewlett Packard provides a printing system that supports many of their " "inkjet and laser printers. The port is <package role=\"port\">print/hplip</" @@ -26988,12 +27096,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:17872 +#: book.translate.xml:17886 msgid "LPRng" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:17874 +#: book.translate.xml:17888 msgid "" "<application>LPRng</application> was developed as an enhanced alternative to " "<citerefentry><refentrytitle>lpd</refentrytitle><manvolnum>8</manvolnum></" @@ -27003,72 +27111,78 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:17892 +#: book.translate.xml:17906 msgid "<trademark class=\"registered\">Linux</trademark> Binary Compatibility" msgstr "<trademark class=\"registered\">Linux</trademark> Binary 相容性" #. (itstool) path: authorgroup/author -#: book.translate.xml:17895 +#: book.translate.xml:17909 msgid "" "<personname> <firstname>Jim</firstname> <surname>Mock</surname> </" "personname> <contrib>Restructured and parts updated by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:17906 +#: book.translate.xml:17920 msgid "" "<personname> <firstname>Brian N.</firstname> <surname>Handy</surname> </" "personname> <contrib>Originally contributed by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:17914 +#: book.translate.xml:17928 msgid "" "<personname> <firstname>Rich</firstname> <surname>Murphey</surname> </" "personname>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:17926 +#: book.translate.xml:17940 msgid "<primary>Linux binary compatibility</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:17934 +#: book.translate.xml:17948 msgid "" -"FreeBSD provides 32-bit binary compatibility with <trademark class=" -"\"registered\">Linux</trademark>, allowing users to install and run most 32-" -"bit <trademark class=\"registered\">Linux</trademark> binaries on a FreeBSD " -"system without having to first modify the binary. It has even been reported " -"that, in some situations, 32-bit <trademark class=\"registered\">Linux</" -"trademark> binaries perform better on FreeBSD than they do on <trademark " -"class=\"registered\">Linux</trademark>." +"FreeBSD provides binary compatibility with <trademark class=\"registered" +"\">Linux</trademark>, allowing users to install and run most <trademark " +"class=\"registered\">Linux</trademark> binaries on a FreeBSD system without " +"having to first modify the binary. It has even been reported that, in some " +"situations, <trademark class=\"registered\">Linux</trademark> binaries " +"perform better on FreeBSD than they do on <trademark class=\"registered" +"\">Linux</trademark>." msgstr "" -"FreeBSD 提供和 32 位元 <trademark class=\"registered\">Linux</trademark> " -"Binary 的相容性,允許使用者在 FreeBSD 不需要修改就可以安裝和執行大部份 32 位" -"元 <trademark class=\"registered\">Linux</trademark> Binary。 曾經有報告指" -"出,在某些情況下,32 位元 <trademark class=\"registered\">Linux</trademark> " -"Binary 在 FreeBSD 的表現比在 <trademark class=\"registered\">Linux</" -"trademark> 好。" +"FreeBSD 提供 <trademark class=\"registered\">Linux</trademark> Binary 的相容" +"性,允許使用者在 FreeBSD 系統上不需要修改就可以安裝和執行大部份的 <trademark " +"class=\"registered\">Linux</trademark> Binary。 曾經有報告指出,在某些情況" +"下,<trademark class=\"registered\">Linux</trademark> Binary 在 FreeBSD 的表" +"現比在 <trademark class=\"registered\">Linux</trademark> 好。" #. (itstool) path: sect1/para -#: book.translate.xml:17940 +#: book.translate.xml:17954 msgid "" "However, some <trademark class=\"registered\">Linux</trademark>-specific " "operating system features are not supported under FreeBSD. For example, " "<trademark class=\"registered\">Linux</trademark> binaries will not work on " "FreeBSD if they overly use <trademark>i386</trademark> specific calls, such " -"as enabling virtual 8086 mode. In addition, 64-bit <trademark class=" -"\"registered\">Linux</trademark> binaries are not supported at this time." +"as enabling virtual 8086 mode." msgstr "" -"然而,部份 <trademark class=\"registered\">Linux</trademark> 作業系統的特色" -"在 FreeBSD 並未支援。 例如,如果 <trademark class=\"registered\">Linux</" -"trademark> Binary 過度使用 <trademark>i386</trademark> 特定的呼叫,像是啟動虛" -"擬 8086 模式,將無法在 FreeBSD 執行。此外,64 位元 <trademark class=" -"\"registered\">Linux</trademark> Binary 目前也尚未支援。" +"然而,部份特定在 <trademark class=\"registered\">Linux</trademark> 作業系統上" +"的功能在 FreeBSD 並沒有支援。例如,若 <trademark class=\"registered\">Linux</" +"trademark> Binary 過度的使用 <trademark>i386</trademark> 特定的呼叫,如啟動虛" +"擬 8086 模式,會無法在 FreeBSD 執行。" + +#. (itstool) path: note/para +#: book.translate.xml:17960 +msgid "" +"Support for 64-bit binary compatibility with <trademark class=\"registered" +"\">Linux</trademark> was added in FreeBSD 10.3." +msgstr "" +"FreeBSD 10.3 後支援 64 位元的 <trademark class=\"registered\">Linux</" +"trademark> Binary 相容性。" #. (itstool) path: listitem/para -#: book.translate.xml:17950 +#: book.translate.xml:17968 msgid "" "How to enable <trademark class=\"registered\">Linux</trademark> binary " "compatibility on a FreeBSD system." @@ -27077,7 +27191,7 @@ msgstr "" "Binary 相容模式。" #. (itstool) path: listitem/para -#: book.translate.xml:17955 +#: book.translate.xml:17973 msgid "" "How to install additional <trademark class=\"registered\">Linux</trademark> " "shared libraries." @@ -27085,7 +27199,7 @@ msgstr "" "如何安裝其他的 <trademark class=\"registered\">Linux</trademark> 共用程式庫。" #. (itstool) path: listitem/para -#: book.translate.xml:17960 +#: book.translate.xml:17978 msgid "" "How to install <trademark class=\"registered\">Linux</trademark> " "applications on a FreeBSD system." @@ -27094,7 +27208,7 @@ msgstr "" "用程式。" #. (itstool) path: listitem/para -#: book.translate.xml:17965 +#: book.translate.xml:17983 msgid "" "The implementation details of <trademark class=\"registered\">Linux</" "trademark> compatibility in FreeBSD." @@ -27103,26 +27217,26 @@ msgstr "" "細節。" #. (itstool) path: listitem/para -#: book.translate.xml:17974 +#: book.translate.xml:17992 msgid "" "Know how to install <link linkend=\"ports\">additional third-party software</" "link>." msgstr "知道如何安裝 <link linkend=\"ports\">其他的第三方軟體</link>。" #. (itstool) path: sect1/title -#: book.translate.xml:17982 +#: book.translate.xml:18000 msgid "" "Configuring <trademark class=\"registered\">Linux</trademark> Binary " "Compatibility" msgstr "設定 <trademark class=\"registered\">Linux</trademark> Binary 相容性" #. (itstool) path: sect1/indexterm -#: book.translate.xml:17984 +#: book.translate.xml:18002 msgid "<primary>Ports Collection</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:17986 +#: book.translate.xml:18004 msgid "" "By default, <trademark class=\"registered\">Linux</trademark> libraries are " "not installed and <trademark class=\"registered\">Linux</trademark> binary " @@ -27136,7 +27250,7 @@ msgstr "" "FreeBSD Port 套件集安裝。" #. (itstool) path: sect1/para -#: book.translate.xml:17991 +#: book.translate.xml:18009 msgid "" "Before attempting to build the port, load the <trademark class=\"registered" "\">Linux</trademark> kernel module, otherwise the build will fail:" @@ -27145,18 +27259,29 @@ msgstr "" "核心模組,否則編譯會失敗:" #. (itstool) path: sect1/screen -#: book.translate.xml:17994 +#: book.translate.xml:18012 #, no-wrap msgid "<prompt>#</prompt> <userinput>kldload linux</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:17996 +#: book.translate.xml:18014 +msgid "For 64-bit compatibility:" +msgstr "" + +#. (itstool) path: sect1/screen +#: book.translate.xml:18016 +#, no-wrap +msgid "<prompt>#</prompt> <userinput>kldload linux64</userinput>" +msgstr "" + +#. (itstool) path: sect1/para +#: book.translate.xml:18018 msgid "To verify that the module is loaded:" msgstr "確認模組已載入:" #. (itstool) path: sect1/screen -#: book.translate.xml:17998 +#: book.translate.xml:18020 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>kldstat</userinput>\n" @@ -27166,7 +27291,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:18003 +#: book.translate.xml:18025 msgid "" "The <package>emulators/linux_base-c6</package> package or port is the " "easiest way to install a base set of <trademark class=\"registered\">Linux</" @@ -27177,7 +27302,7 @@ msgstr "" "件或是 Port 。要安裝 Port:" #. (itstool) path: sect1/screen -#: book.translate.xml:18008 +#: book.translate.xml:18030 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>printf \"compat.linux.osrelease=2.6.18\\n\" >> /etc/sysctl.conf</userinput>\n" @@ -27186,7 +27311,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:18012 +#: book.translate.xml:18034 msgid "" "For <trademark class=\"registered\">Linux</trademark> compatibility to be " "enabled at boot time, add this line to <filename>/etc/rc.conf</filename>:" @@ -27195,18 +27320,25 @@ msgstr "" "加入這行到 <filename>/etc/rc.conf</filename>:" #. (itstool) path: sect1/programlisting -#: book.translate.xml:18015 +#: book.translate.xml:18037 #, no-wrap msgid "linux_enable=\"YES\"" msgstr "" +#. (itstool) path: sect1/para +#: book.translate.xml:18039 +msgid "" +"On 64-bit machines, <filename>/etc/rc.d/abi</filename> will automatically " +"load the module for 64-bit emulation." +msgstr "" + #. (itstool) path: sect1/indexterm -#: book.translate.xml:18017 +#: book.translate.xml:18042 msgid "<primary>kernel options</primary> <secondary>COMPAT_LINUX</secondary>" msgstr "<primary>核心選項</primary> <secondary>COMPAT_LINUX</secondary>" #. (itstool) path: sect1/para -#: book.translate.xml:18022 +#: book.translate.xml:18047 msgid "" "Users who prefer to statically link <trademark class=\"registered\">Linux</" "trademark> binary compatibility into a custom kernel should add " @@ -27219,17 +27351,17 @@ msgstr "" "定檔。 編譯並安裝新核心的方法,如 <xref linkend=\"kernelconfig\"/> 所述。" #. (itstool) path: sect2/title -#: book.translate.xml:18029 +#: book.translate.xml:18054 msgid "Installing Additional Libraries Manually" msgstr "手動安裝其他程式庫" #. (itstool) path: sect2/indexterm -#: book.translate.xml:18031 +#: book.translate.xml:18056 msgid "<primary>shared libraries</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:18035 +#: book.translate.xml:18060 msgid "" "If a <trademark class=\"registered\">Linux</trademark> application complains " "about missing shared libraries after configuring <trademark class=" @@ -27243,7 +27375,7 @@ msgstr "" "Binary 需要哪個共用程式庫並手動安裝。" #. (itstool) path: sect2/para -#: book.translate.xml:18040 +#: book.translate.xml:18065 msgid "" "From a <trademark class=\"registered\">Linux</trademark> system, " "<command>ldd</command> can be used to determine which shared libraries the " @@ -27259,7 +27391,7 @@ msgstr "" "個指令:" #. (itstool) path: sect2/screen -#: book.translate.xml:18047 +#: book.translate.xml:18072 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>ldd linuxdoom</userinput>\n" @@ -27269,12 +27401,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:18052 +#: book.translate.xml:18077 msgid "<primary>symbolic links</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:18056 +#: book.translate.xml:18081 msgid "" "Then, copy all the files in the last column of the output from the " "<trademark class=\"registered\">Linux</trademark> system into <filename>/" @@ -27288,7 +27420,7 @@ msgstr "" "FreeBSD 系統產生以下檔案:" #. (itstool) path: sect2/screen -#: book.translate.xml:18063 +#: book.translate.xml:18088 #, no-wrap msgid "" "/compat/linux/usr/X11/lib/libXt.so.3.1.0\n" @@ -27300,7 +27432,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:18070 +#: book.translate.xml:18095 msgid "" "If a <trademark class=\"registered\">Linux</trademark> shared library " "already exists with a matching major revision number to the first column of " @@ -27315,12 +27447,12 @@ msgstr "" "只要符號連結指向新版的程式庫,舊版便可移除。" #. (itstool) path: sect2/para -#: book.translate.xml:18078 +#: book.translate.xml:18103 msgid "For example, these libraries already exist on the FreeBSD system:" msgstr "例如,以下程式庫已存在 FreeBSD 系統:" #. (itstool) path: sect2/screen -#: book.translate.xml:18081 +#: book.translate.xml:18106 #, no-wrap msgid "" "/compat/linux/lib/libc.so.4.6.27\n" @@ -27328,19 +27460,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:18084 +#: book.translate.xml:18109 msgid "" "and <command>ldd</command> indicates that a binary requires a later version:" msgstr "且 <command>ldd</command> 顯示 Binary 需要使用較新的版本:" #. (itstool) path: sect2/screen -#: book.translate.xml:18087 +#: book.translate.xml:18112 #, no-wrap msgid "libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:18089 +#: book.translate.xml:18114 msgid "" "Since the existing library is only one or two versions out of date in the " "last digit, the program should still work with the slightly older version. " @@ -27352,7 +27484,7 @@ msgstr "" "本:" #. (itstool) path: sect2/screen -#: book.translate.xml:18095 +#: book.translate.xml:18120 #, no-wrap msgid "" "/compat/linux/lib/libc.so.4.6.29\n" @@ -27360,7 +27492,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:18098 +#: book.translate.xml:18123 msgid "" "Generally, one will need to look for the shared libraries that <trademark " "class=\"registered\">Linux</trademark> binaries depend on only the first few " @@ -27377,7 +27509,7 @@ msgstr "" "\"registered\">Linux</trademark> Binary,便不再需要額外的動作。" #. (itstool) path: sect2/title -#: book.translate.xml:18107 +#: book.translate.xml:18132 msgid "" "Installing <trademark class=\"registered\">Linux</trademark> <acronym>ELF</" "acronym> Binaries" @@ -27386,12 +27518,12 @@ msgstr "" "acronym> Binary" #. (itstool) path: sect2/indexterm -#: book.translate.xml:18110 +#: book.translate.xml:18135 msgid "<primary>Linux</primary> <secondary>ELF binaries</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:18115 +#: book.translate.xml:18140 msgid "" "<acronym>ELF</acronym> binaries sometimes require an extra step. When an " "unbranded <acronym>ELF</acronym> binary is executed, it will generate an " @@ -27401,7 +27533,7 @@ msgstr "" "的 <acronym>ELF</acronym> Binary,會產生錯誤訊息:" #. (itstool) path: sect2/screen -#: book.translate.xml:18119 +#: book.translate.xml:18144 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>./my-linux-elf-binary</userinput>\n" @@ -27410,7 +27542,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:18123 +#: book.translate.xml:18148 msgid "" "To help the FreeBSD kernel distinguish between a FreeBSD <acronym>ELF</" "acronym> binary and a <trademark class=\"registered\">Linux</trademark> " @@ -27423,18 +27555,18 @@ msgstr "" "manvolnum></citerefentry>:" #. (itstool) path: sect2/screen -#: book.translate.xml:18127 +#: book.translate.xml:18152 #, no-wrap msgid "<prompt>%</prompt> <userinput>brandelf -t Linux my-linux-elf-binary</userinput>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:18129 +#: book.translate.xml:18154 msgid "<primary>GNU toolchain</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:18133 +#: book.translate.xml:18158 msgid "" "Since the GNU toolchain places the appropriate branding information into " "<acronym>ELF</acronym> binaries automatically, this step is usually not " @@ -27444,7 +27576,7 @@ msgstr "" "不需要這個步驟。" #. (itstool) path: sect2/title -#: book.translate.xml:18139 +#: book.translate.xml:18164 msgid "" "Installing a <trademark class=\"registered\">Linux</trademark> <acronym>RPM</" "acronym> Based Application" @@ -27453,7 +27585,7 @@ msgstr "" "acronym> 為基礎的應用程式" #. (itstool) path: sect2/para -#: book.translate.xml:18142 +#: book.translate.xml:18167 msgid "" "To install a <trademark class=\"registered\">Linux</trademark> <acronym>RPM</" "acronym>-based application, first install the <package>archivers/rpm4</" @@ -27467,7 +27599,7 @@ msgstr "" "這個指令安裝 <filename>.rpm</filename>:" #. (itstool) path: sect2/screen -#: book.translate.xml:18149 +#: book.translate.xml:18174 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /compat/linux</userinput>\n" @@ -27475,7 +27607,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:18152 +#: book.translate.xml:18177 msgid "" "If necessary, <command>brandelf</command> the installed <acronym>ELF</" "acronym> binaries. Note that this will prevent a clean uninstall." @@ -27484,17 +27616,17 @@ msgstr "" "Binary。注意,這將會無法乾淨地解除安裝。" #. (itstool) path: sect2/title -#: book.translate.xml:18158 +#: book.translate.xml:18183 msgid "Configuring the Hostname Resolver" msgstr "設定主機名稱解析器" #. (itstool) path: sect2/para -#: book.translate.xml:18160 +#: book.translate.xml:18185 msgid "If <acronym>DNS</acronym> does not work or this error appears:" msgstr "如果 <acronym>DNS</acronym> 無法運作或出現這個錯誤:" #. (itstool) path: sect2/screen -#: book.translate.xml:18163 +#: book.translate.xml:18188 #, no-wrap msgid "" "resolv+: \"bind\" is an invalid keyword resolv+:\n" @@ -27502,12 +27634,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:18166 +#: book.translate.xml:18191 msgid "configure <filename>/compat/linux/etc/host.conf</filename> as follows:" msgstr "將 <filename>/compat/linux/etc/host.conf</filename> 設定如下:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:18169 +#: book.translate.xml:18194 #, no-wrap msgid "" "order hosts, bind\n" @@ -27515,7 +27647,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:18172 +#: book.translate.xml:18197 msgid "" "This specifies that <filename>/etc/hosts</filename> is searched first and " "<acronym>DNS</acronym> is searched second. When <filename>/compat/linux/etc/" @@ -27532,12 +27664,12 @@ msgstr "" "literal>。" #. (itstool) path: sect1/title -#: book.translate.xml:19007 book.translate.xml:40110 book.translate.xml:51170 +#: book.translate.xml:19032 book.translate.xml:40164 book.translate.xml:51224 msgid "Advanced Topics" msgstr "進階主題" #. (itstool) path: sect1/para -#: book.translate.xml:19009 +#: book.translate.xml:19034 msgid "" "This section describes how <trademark class=\"registered\">Linux</trademark> " "binary compatibility works and is based on an email written to <link xlink:" @@ -27548,12 +27680,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:19014 +#: book.translate.xml:19039 msgid "<primary>execution class loader</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19016 +#: book.translate.xml:19041 msgid "" "FreeBSD has an abstraction called an <quote>execution class loader</quote>. " "This is a wedge into the <citerefentry><refentrytitle>execve</" @@ -27561,7 +27693,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19020 +#: book.translate.xml:19045 msgid "" "Historically, the <trademark class=\"registered\">UNIX</trademark> loader " "examined the magic number (generally the first 4 or 8 bytes of the file) to " @@ -27570,7 +27702,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19025 +#: book.translate.xml:19050 msgid "" "If it was not the binary type for the system, the " "<citerefentry><refentrytitle>execve</refentrytitle><manvolnum>2</manvolnum></" @@ -27580,7 +27712,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19031 +#: book.translate.xml:19056 msgid "" "Later, a hack was made for <citerefentry><refentrytitle>sh</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> to examine the first " @@ -27590,7 +27722,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19035 +#: book.translate.xml:19060 msgid "" "FreeBSD has a list of loaders, instead of a single loader, with a fallback " "to the <literal>#!</literal> loader for running shell interpreters or shell " @@ -27598,17 +27730,17 @@ msgid "" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:19039 +#: book.translate.xml:19064 msgid "<primary>ELF</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:19043 book.translate.xml:53220 +#: book.translate.xml:19068 book.translate.xml:53274 msgid "<primary>Solaris</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19047 +#: book.translate.xml:19072 msgid "" "For the <trademark class=\"registered\">Linux</trademark> <acronym>ABI</" "acronym> support, FreeBSD sees the magic number as an ELF binary. The ELF " @@ -27618,7 +27750,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19053 +#: book.translate.xml:19078 msgid "" "For <trademark class=\"registered\">Linux</trademark> binaries to function, " "they must be <emphasis>branded</emphasis> as type <literal>Linux</literal> " @@ -27627,18 +27759,18 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:19057 +#: book.translate.xml:19082 #, no-wrap msgid "<prompt>#</prompt> <userinput>brandelf -t Linux file</userinput>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:19059 +#: book.translate.xml:19084 msgid "<primary>ELF</primary> <secondary>branding</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19064 +#: book.translate.xml:19089 msgid "" "When the ELF loader sees the <literal>Linux</literal> brand, the loader " "replaces a pointer in the <literal>proc</literal> structure. All system " @@ -27649,7 +27781,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19072 +#: book.translate.xml:19097 msgid "" "The <trademark class=\"registered\">Linux</trademark> system call vector " "contains, among other things, a list of <literal>sysent[]</literal> entries " @@ -27657,7 +27789,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19076 +#: book.translate.xml:19101 msgid "" "When a system call is called by the <trademark class=\"registered\">Linux</" "trademark> binary, the trap code dereferences the system call function " @@ -27667,7 +27799,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19081 +#: book.translate.xml:19106 msgid "" "<trademark class=\"registered\">Linux</trademark> mode dynamically " "<emphasis>reroots</emphasis> lookups. This is, in effect, equivalent to the " @@ -27689,7 +27821,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19098 +#: book.translate.xml:19123 msgid "" "In effect, there is a <trademark class=\"registered\">Linux</trademark> " "kernel in the FreeBSD kernel. The various underlying functions that " @@ -27707,7 +27839,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19111 +#: book.translate.xml:19136 msgid "" "Technically, this is not really emulation, it is an <acronym>ABI</acronym> " "implementation. It is sometimes called <quote><trademark class=\"registered" @@ -27718,12 +27850,12 @@ msgid "" msgstr "" #. (itstool) path: part/title -#: book.translate.xml:19123 +#: book.translate.xml:19148 msgid "System Administration" msgstr "系統管理" #. (itstool) path: partintro/para -#: book.translate.xml:19126 +#: book.translate.xml:19151 msgid "" "The remaining chapters cover all aspects of FreeBSD system administration. " "Each chapter starts by describing what will be learned as a result of " @@ -27735,7 +27867,7 @@ msgstr "" "的一些背景知識。" #. (itstool) path: partintro/para -#: book.translate.xml:19132 +#: book.translate.xml:19157 msgid "" "These chapters are designed to be read as the information is needed. They do " "not need to be read in any particular order, nor must all of them be read " @@ -27745,43 +27877,43 @@ msgstr "" "要將這些章節全部過讀之後才開始用 FreeBSD。" #. (itstool) path: info/title -#: book.translate.xml:19147 +#: book.translate.xml:19172 msgid "Configuration and Tuning" msgstr "設定與調校" #. (itstool) path: authorgroup/author -#: book.translate.xml:19150 +#: book.translate.xml:19175 msgid "" "<personname> <firstname>Chern</firstname> <surname>Lee</surname> </" "personname> <contrib>Written by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:19160 +#: book.translate.xml:19185 msgid "" "<personname> <firstname>Mike</firstname> <surname>Smith</surname> </" "personname> <contrib>Based on a tutorial written by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:19170 +#: book.translate.xml:19195 msgid "" "<personname> <firstname>Matt</firstname> <surname>Dillon</surname> </" "personname> <contrib>Also based on tuning(7) written by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:19183 +#: book.translate.xml:19208 msgid "<primary>system configuration</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:19186 +#: book.translate.xml:19211 msgid "<primary>system optimization</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19190 +#: book.translate.xml:19215 msgid "" "One of the important aspects of FreeBSD is proper system configuration. This " "chapter explains much of the FreeBSD configuration process, including some " @@ -27791,7 +27923,7 @@ msgstr "" "紹 FreeBSD 的設定流程,包括一些可以調整 FreeBSD 效能的參數設定。" #. (itstool) path: listitem/para -#: book.translate.xml:19199 +#: book.translate.xml:19224 msgid "" "The basics of <filename>rc.conf</filename> configuration and <filename>/usr/" "local/etc/rc.d</filename> startup scripts." @@ -27800,23 +27932,23 @@ msgstr "" "filename> 啟動 Script。" #. (itstool) path: listitem/para -#: book.translate.xml:19205 +#: book.translate.xml:19230 msgid "How to configure and test a network card." msgstr "如何設定並測試網路卡。" #. (itstool) path: listitem/para -#: book.translate.xml:19209 +#: book.translate.xml:19234 msgid "How to configure virtual hosts on network devices." msgstr "如何在網路裝置上設定虛擬主機。" #. (itstool) path: listitem/para -#: book.translate.xml:19214 +#: book.translate.xml:19239 msgid "" "How to use the various configuration files in <filename>/etc</filename>." msgstr "如何使用在 <filename>/etc</filename> 中的各種設定檔。" #. (itstool) path: listitem/para -#: book.translate.xml:19219 +#: book.translate.xml:19244 msgid "" "How to tune FreeBSD using <citerefentry><refentrytitle>sysctl</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> variables." @@ -27825,13 +27957,13 @@ msgstr "" "manvolnum></citerefentry> 變數調校 FreeBSD。" #. (itstool) path: listitem/para -#: book.translate.xml:19223 +#: book.translate.xml:19248 msgid "How to tune disk performance and modify kernel limitations." msgstr "如何調校磁碟效能及修改核心限制。" #. (itstool) path: listitem/para -#: book.translate.xml:19232 book.translate.xml:29326 book.translate.xml:31073 -#: book.translate.xml:34894 book.translate.xml:46103 +#: book.translate.xml:19257 book.translate.xml:29380 book.translate.xml:31127 +#: book.translate.xml:34948 book.translate.xml:46157 msgid "" "Understand <trademark class=\"registered\">UNIX</trademark> and FreeBSD " "basics (<xref linkend=\"basics\"/>)." @@ -27840,24 +27972,24 @@ msgstr "" "linkend=\"basics\"/>)。" #. (itstool) path: listitem/para -#: book.translate.xml:19237 +#: book.translate.xml:19262 msgid "" "Be familiar with the basics of kernel configuration and compilation (<xref " "linkend=\"kernelconfig\"/>)." msgstr "熟悉核心設定與編譯的基礎 (<xref linkend=\"kernelconfig\"/>)。" #. (itstool) path: info/title -#: book.translate.xml:19245 +#: book.translate.xml:19270 msgid "Starting Services" msgstr "啟動服務" #. (itstool) path: sect1/indexterm -#: book.translate.xml:19258 +#: book.translate.xml:19283 msgid "<primary>services</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19262 +#: book.translate.xml:19287 msgid "" "Many users install third party software on FreeBSD from the Ports Collection " "and require the installed services to be started upon system initialization. " @@ -27868,7 +28000,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19271 +#: book.translate.xml:19296 msgid "" "In FreeBSD, most included services, such as " "<citerefentry><refentrytitle>cron</refentrytitle><manvolnum>8</manvolnum></" @@ -27876,12 +28008,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:19275 +#: book.translate.xml:19300 msgid "Extended Application Configuration" msgstr "延伸應用程式設定" #. (itstool) path: sect2/para -#: book.translate.xml:19277 +#: book.translate.xml:19302 msgid "" "Now that FreeBSD includes <filename>rc.d</filename>, configuration of " "application startup is easier and provides more features. Using the key " @@ -27892,7 +28024,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:19286 +#: book.translate.xml:19311 #, no-wrap msgid "" "#!/bin/sh\n" @@ -27921,7 +28053,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:19310 +#: book.translate.xml:19335 msgid "" "This script will ensure that the provided <literal>utility</literal> will be " "started after the <literal>DAEMON</literal> pseudo-service. It also provides " @@ -27929,20 +28061,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:19316 +#: book.translate.xml:19341 msgid "" "This application could then have the following line placed in <filename>/etc/" "rc.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:19319 +#: book.translate.xml:19344 #, no-wrap msgid "utility_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:19321 +#: book.translate.xml:19346 msgid "" "This method allows for easier manipulation of command line arguments, " "inclusion of the default functions provided in <filename>/etc/rc.subr</" @@ -27952,12 +28084,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:19329 +#: book.translate.xml:19354 msgid "Using Services to Start Services" msgstr "使用服務來啟動其他服務" #. (itstool) path: sect2/para -#: book.translate.xml:19331 +#: book.translate.xml:19356 msgid "" "Other services can be started using <citerefentry><refentrytitle>inetd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>. Working with " @@ -27967,7 +28099,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:19336 +#: book.translate.xml:19361 msgid "" "In some cases, it may make more sense to use " "<citerefentry><refentrytitle>cron</refentrytitle><manvolnum>8</manvolnum></" @@ -27980,7 +28112,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:19343 +#: book.translate.xml:19368 msgid "" "The <literal>@reboot</literal> feature of <citerefentry><refentrytitle>cron</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, may be used in place " @@ -27990,7 +28122,7 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:19352 +#: book.translate.xml:19377 msgid "" "Configuring <citerefentry><refentrytitle>cron</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>" @@ -27999,12 +28131,12 @@ msgstr "" "manvolnum></citerefentry>" #. (itstool) path: sect1/indexterm -#: book.translate.xml:19365 +#: book.translate.xml:19390 msgid "<primary>cron</primary> <secondary>configuration</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19370 +#: book.translate.xml:19395 msgid "" "One of the most useful utilities in FreeBSD is <application>cron</" "application>. This utility runs in the background and regularly checks " @@ -28016,7 +28148,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19380 +#: book.translate.xml:19405 msgid "" "Two different types of configuration files are used: the system crontab, " "which should not be modified, and user crontabs, which can be created and " @@ -28030,7 +28162,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19391 +#: book.translate.xml:19416 msgid "" "User crontabs allow individual users to schedule their own tasks. The " "<systemitem class=\"username\">root</systemitem> user can also have a user " @@ -28039,14 +28171,14 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19397 +#: book.translate.xml:19422 msgid "" "Here is a sample entry from the system crontab, <filename>/etc/crontab</" "filename>:" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:19400 +#: book.translate.xml:19425 #, no-wrap msgid "" "# /etc/crontab - root's crontab for FreeBSD\n" @@ -28062,7 +28194,7 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:19413 +#: book.translate.xml:19438 msgid "" "Lines that begin with the <literal>#</literal> character are comments. A " "comment can be placed in the file as a reminder of what and why a desired " @@ -28072,7 +28204,7 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:19422 +#: book.translate.xml:19447 msgid "" "The equals (<literal>=</literal>) character is used to define any " "environment settings. In this example, it is used to define the " @@ -28083,7 +28215,7 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:19433 +#: book.translate.xml:19458 msgid "" "This line defines the seven fields used in a system crontab: " "<literal>minute</literal>, <literal>hour</literal>, <literal>mday</literal>, " @@ -28101,7 +28233,7 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:19452 +#: book.translate.xml:19477 msgid "" "This entry defines the values for this cron job. The <literal>*/5</literal>, " "followed by several more <literal>*</literal> characters, specifies that " @@ -28111,7 +28243,7 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:19460 +#: book.translate.xml:19485 msgid "" "Commands can include any number of switches. However, commands which extend " "to multiple lines need to be broken with the backslash <quote>\\</quote> " @@ -28119,24 +28251,24 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:19468 +#: book.translate.xml:19493 msgid "Creating a User Crontab" msgstr "建立使用者的 Crontab" #. (itstool) path: sect2/para -#: book.translate.xml:19470 +#: book.translate.xml:19495 msgid "" "To create a user crontab, invoke <command>crontab</command> in editor mode:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:19473 +#: book.translate.xml:19498 #, no-wrap msgid "<prompt>%</prompt> <userinput>crontab -e</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:19475 +#: book.translate.xml:19500 msgid "" "This will open the user's crontab using the default text editor. The first " "time a user runs this command, it will open an empty file. Once a user " @@ -28144,7 +28276,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:19480 +#: book.translate.xml:19505 msgid "" "It is useful to add these lines to the top of the crontab file in order to " "set the environment variables and to remember the meanings of the fields in " @@ -28152,7 +28284,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:19484 +#: book.translate.xml:19509 #, no-wrap msgid "" "SHELL=/bin/sh\n" @@ -28162,7 +28294,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:19489 +#: book.translate.xml:19514 msgid "" "Then add a line for each command or script to run, specifying the time to " "run the command. This example runs the specified custom Bourne shell script " @@ -28171,13 +28303,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:19496 +#: book.translate.xml:19521 #, no-wrap msgid "0\t14\t*\t*\t*\t/usr/home/dru/bin/mycustomscript.sh" msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:19499 +#: book.translate.xml:19524 msgid "" "Before using a custom script, make sure it is executable and test it with " "the limited set of environment variables set by cron. To replicate the " @@ -28185,13 +28317,13 @@ msgid "" msgstr "" #. (itstool) path: tip/programlisting -#: book.translate.xml:19504 +#: book.translate.xml:19529 #, no-wrap msgid "env -i SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin HOME=/home/<replaceable>dru</replaceable> LOGNAME=<replaceable>dru</replaceable> <replaceable>/usr/home/dru/bin/mycustomscript.sh</replaceable>" msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:19506 +#: book.translate.xml:19531 msgid "" "The environment set by cron is discussed in " "<citerefentry><refentrytitle>crontab</refentrytitle><manvolnum>5</" @@ -28201,7 +28333,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:19512 +#: book.translate.xml:19537 msgid "" "When finished editing the crontab, save the file. It will automatically be " "installed and <application>cron</application> will read the crontab and run " @@ -28210,7 +28342,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:19518 +#: book.translate.xml:19543 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>crontab -l</userinput>\n" @@ -28218,12 +28350,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:19521 +#: book.translate.xml:19546 msgid "To remove all of the cron jobs in a user crontab:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:19523 +#: book.translate.xml:19548 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>crontab -r</userinput>\n" @@ -28231,12 +28363,12 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:19530 +#: book.translate.xml:19555 msgid "Managing Services in FreeBSD" msgstr "管理 FreeBSD 中的服務" #. (itstool) path: sect1/para -#: book.translate.xml:19543 +#: book.translate.xml:19568 msgid "" "FreeBSD uses the <citerefentry><refentrytitle>rc</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> system of startup " @@ -28250,13 +28382,13 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:19551 +#: book.translate.xml:19576 #, no-wrap msgid "<prompt>#</prompt> <userinput>service sshd restart</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19553 +#: book.translate.xml:19578 msgid "" "This procedure can be used to start services on a running system. Services " "will be started automatically at boot time as specified in " @@ -28268,13 +28400,13 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:19559 +#: book.translate.xml:19584 #, no-wrap msgid "natd_enable=\"YES\"" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19561 +#: book.translate.xml:19586 msgid "" "If a <option>natd_enable=\"NO\"</option> line is already present, change the " "<literal>NO</literal> to <literal>YES</literal>. The " @@ -28284,7 +28416,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19567 +#: book.translate.xml:19592 msgid "" "Since the <citerefentry><refentrytitle>rc</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> system is primarily intended to start and stop " @@ -28303,13 +28435,13 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:19583 +#: book.translate.xml:19608 #, no-wrap msgid "<prompt>#</prompt> <userinput>service sshd onerestart</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19585 +#: book.translate.xml:19610 msgid "" "To check if a service is enabled in <filename>/etc/rc.conf</filename>, run " "the appropriate <citerefentry><refentrytitle>rc</refentrytitle><manvolnum>8</" @@ -28320,7 +28452,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:19591 +#: book.translate.xml:19616 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service sshd rcvar</userinput>\n" @@ -28331,14 +28463,14 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:19598 +#: book.translate.xml:19623 msgid "" "The <literal># sshd</literal> line is output from the above command, not a " "<systemitem class=\"username\">root</systemitem> console." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19603 +#: book.translate.xml:19628 msgid "" "To determine whether or not a service is running, use <option>status</" "option>. For instance, to verify that <citerefentry><refentrytitle>sshd</" @@ -28346,7 +28478,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:19607 +#: book.translate.xml:19632 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service sshd status</userinput>\n" @@ -28354,7 +28486,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19610 +#: book.translate.xml:19635 msgid "" "In some cases, it is also possible to <option>reload</option> a service. " "This attempts to send a signal to an individual service, forcing the service " @@ -28364,7 +28496,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19617 +#: book.translate.xml:19642 msgid "" "The <citerefentry><refentrytitle>rc</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> system is used for network services and it also contributes to " @@ -28373,20 +28505,20 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:19623 +#: book.translate.xml:19648 #, no-wrap msgid "Starting background file system checks in 60 seconds." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19625 +#: book.translate.xml:19650 msgid "" "This script is used for background file system checks, which occur only " "during system initialization." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19628 +#: book.translate.xml:19653 msgid "" "Many system services depend on other services to function properly. For " "example, <citerefentry><refentrytitle>yp</refentrytitle><manvolnum>8</" @@ -28402,7 +28534,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19639 +#: book.translate.xml:19664 msgid "" "The following key word must be included in all startup scripts as it is " "required by <citerefentry><refentrytitle>rc.subr</" @@ -28411,12 +28543,12 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:19645 +#: book.translate.xml:19670 msgid "<literal>PROVIDE</literal>: Specifies the services this file provides." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19650 +#: book.translate.xml:19675 msgid "" "The following key words may be included at the top of each startup script. " "They are not strictly necessary, but are useful as hints to " @@ -28425,7 +28557,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:19656 +#: book.translate.xml:19681 msgid "" "<literal>REQUIRE</literal>: Lists services which are required for this " "service. The script containing this key word will run <emphasis>after</" @@ -28433,7 +28565,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:19663 +#: book.translate.xml:19688 msgid "" "<literal>BEFORE</literal>: Lists services which depend on this service. The " "script containing this key word will run <emphasis>before</emphasis> the " @@ -28441,7 +28573,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19670 +#: book.translate.xml:19695 msgid "" "By carefully setting these keywords for each startup script, an " "administrator has a fine-grained level of control of the startup order of " @@ -28450,7 +28582,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19676 +#: book.translate.xml:19701 msgid "" "Additional information can be found in <citerefentry><refentrytitle>rc</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> and " @@ -28462,19 +28594,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:19682 +#: book.translate.xml:19707 msgid "Managing System-Specific Configuration" msgstr "管理特定系統的設定" #. (itstool) path: sect2/indexterm -#: book.translate.xml:19684 +#: book.translate.xml:19709 msgid "" "<primary>rc files</primary> <secondary><filename>rc.conf</filename></" "secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:19689 +#: book.translate.xml:19714 msgid "" "The principal location for system configuration information is <filename>/" "etc/rc.conf</filename>. This file contains a wide range of configuration " @@ -28484,7 +28616,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:19696 +#: book.translate.xml:19721 msgid "" "The entries in <filename>/etc/rc.conf</filename> override the default " "settings in <filename>/etc/defaults/rc.conf</filename>. The file containing " @@ -28493,7 +28625,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:19703 +#: book.translate.xml:19728 msgid "" "A number of strategies may be applied in clustered applications to separate " "site-wide configuration from system-specific configuration in order to " @@ -28504,7 +28636,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:19712 +#: book.translate.xml:19737 #, no-wrap msgid "" "sshd_enable=\"YES\"\n" @@ -28513,14 +28645,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:19716 +#: book.translate.xml:19741 msgid "" "Whereas these entries in <filename>/etc/rc.conf.local</filename> apply to " "this system only:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:19720 +#: book.translate.xml:19745 #, no-wrap msgid "" "hostname=\"node1.example.org\"\n" @@ -28528,7 +28660,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:19723 +#: book.translate.xml:19748 msgid "" "Distribute <filename>/etc/rc.conf</filename> to every system using an " "application such as <application>rsync</application> or <application>puppet</" @@ -28536,14 +28668,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:19730 +#: book.translate.xml:19755 msgid "" "Upgrading the system will not overwrite <filename>/etc/rc.conf</filename>, " "so system configuration information will not be lost." msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:19735 +#: book.translate.xml:19760 msgid "" "Both <filename>/etc/rc.conf</filename> and <filename>/etc/rc.conf.local</" "filename> are parsed by <citerefentry><refentrytitle>sh</" @@ -28554,13 +28686,13 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:19747 +#: book.translate.xml:19772 msgid "Setting Up Network Interface Cards" msgstr "設定網路介面卡" #. (itstool) path: authorgroup/author -#: book.translate.xml:19750 book.translate.xml:32077 book.translate.xml:32379 -#: book.translate.xml:32762 +#: book.translate.xml:19775 book.translate.xml:32131 book.translate.xml:32433 +#: book.translate.xml:32816 msgid "" "<personname> <firstname>Marc</firstname> <surname>Fonvieille</surname> </" "personname> <contrib>Contributed by </contrib>" @@ -28568,29 +28700,29 @@ msgstr "" #. (itstool) path: sect1/indexterm #. (itstool) path: sect2/indexterm -#: book.translate.xml:19760 book.translate.xml:19973 +#: book.translate.xml:19785 book.translate.xml:19998 msgid "<primary>network cards</primary> <secondary>configuration</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:19765 +#: book.translate.xml:19790 msgid "" "Adding and configuring a network interface card (<acronym>NIC</acronym>) is " "a common task for any FreeBSD administrator." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:19770 +#: book.translate.xml:19795 msgid "Locating the Correct Driver" msgstr "找到正確的驅動程式" #. (itstool) path: sect2/indexterm -#: book.translate.xml:19772 +#: book.translate.xml:19797 msgid "<primary>network cards</primary> <secondary>driver</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:19777 +#: book.translate.xml:19802 msgid "" "First, determine the model of the <acronym>NIC</acronym> and the chip it " "uses. FreeBSD supports a wide variety of <acronym>NIC</acronym>s. Check the " @@ -28599,7 +28731,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:19783 +#: book.translate.xml:19808 msgid "" "If the <acronym>NIC</acronym> is supported, determine the name of the " "FreeBSD driver for the <acronym>NIC</acronym>. Refer to <filename>/usr/src/" @@ -28611,7 +28743,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:19793 +#: book.translate.xml:19818 msgid "" "The drivers for common <acronym>NIC</acronym>s are already present in the " "<filename>GENERIC</filename> kernel, meaning the <acronym>NIC</acronym> " @@ -28624,7 +28756,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:19802 +#: book.translate.xml:19827 #, no-wrap msgid "" "dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38\n" @@ -28644,7 +28776,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:19817 +#: book.translate.xml:19842 msgid "" "If the driver for the <acronym>NIC</acronym> is not present in " "<filename>GENERIC</filename>, but a driver is available, the driver will " @@ -28653,7 +28785,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:19825 +#: book.translate.xml:19850 msgid "" "The easiest way is to load a kernel module for the <acronym>NIC</acronym> " "using <citerefentry><refentrytitle>kldload</refentrytitle><manvolnum>8</" @@ -28663,7 +28795,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:19835 +#: book.translate.xml:19860 msgid "" "Alternatively, statically compile support for the <acronym>NIC</acronym> " "into a custom kernel. Refer to <filename>/usr/src/sys/conf/NOTES</filename>, " @@ -28675,7 +28807,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:19848 +#: book.translate.xml:19873 msgid "" "Using <trademark class=\"registered\">Windows</trademark> <acronym>NDIS</" "acronym> Drivers" @@ -28684,24 +28816,24 @@ msgstr "" "acronym> 驅動程式" #. (itstool) path: sect3/indexterm -#: book.translate.xml:19850 +#: book.translate.xml:19875 msgid "<primary><acronym>NDIS</acronym></primary>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:19853 +#: book.translate.xml:19878 msgid "<primary>NDISulator</primary>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:19856 +#: book.translate.xml:19881 msgid "" "<primary><trademark class=\"registered\">Windows</trademark> drivers</" "primary>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:19859 +#: book.translate.xml:19884 msgid "" "<primary><trademark class=\"registered\">Microsoft</trademark> <trademark " "class=\"registered\">Windows</trademark></primary> <secondary>device " @@ -28709,12 +28841,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:19863 +#: book.translate.xml:19888 msgid "<primary><acronym>KLD</acronym> (kernel loadable object)</primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:19871 +#: book.translate.xml:19896 msgid "" "Unfortunately, there are still many vendors that do not provide schematics " "for their drivers to the open source community because they regard such " @@ -28726,7 +28858,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:19880 +#: book.translate.xml:19905 msgid "" "FreeBSD provides <quote>native</quote> support for the Network Driver " "Interface Specification (<acronym>NDIS</acronym>). It includes " @@ -28742,33 +28874,33 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:19890 +#: book.translate.xml:19915 msgid "" "To use <citerefentry><refentrytitle>ndisgen</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>, three things are needed:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:19894 +#: book.translate.xml:19919 msgid "FreeBSD kernel sources." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:19898 +#: book.translate.xml:19923 msgid "" "A <trademark class=\"registered\">Windows</trademark> XP driver binary with " "a <filename>.SYS</filename> extension." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:19903 +#: book.translate.xml:19928 msgid "" "A <trademark class=\"registered\">Windows</trademark> XP driver " "configuration file with a <filename>.INF</filename> extension." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:19908 +#: book.translate.xml:19933 msgid "" "Download the <filename>.SYS</filename> and <filename>.INF</filename> files " "for the specific <acronym>NIC</acronym>. Generally, these can be found on " @@ -28777,7 +28909,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:19915 +#: book.translate.xml:19940 msgid "" "The driver bit width must match the version of FreeBSD. For FreeBSD/i386, " "use a <trademark class=\"registered\">Windows</trademark> 32-bit driver. For " @@ -28786,7 +28918,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:19919 +#: book.translate.xml:19944 msgid "" "The next step is to compile the driver binary into a loadable kernel module. " "As <systemitem class=\"username\">root</systemitem>, use " @@ -28795,13 +28927,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:19924 +#: book.translate.xml:19949 #, no-wrap msgid "<prompt>#</prompt> <userinput>ndisgen <replaceable>/path/to/W32DRIVER.INF</replaceable> <replaceable>/path/to/W32DRIVER.SYS</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:19926 +#: book.translate.xml:19951 msgid "" "This command is interactive and prompts for any extra information it " "requires. A new kernel module will be generated in the current directory. " @@ -28810,13 +28942,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:19931 +#: book.translate.xml:19956 #, no-wrap msgid "<prompt>#</prompt> <userinput>kldload <replaceable>./W32DRIVER_SYS.ko</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:19933 +#: book.translate.xml:19958 msgid "" "In addition to the generated kernel module, the <filename>ndis.ko</filename> " "and <filename>if_ndis.ko</filename> modules must be loaded. This should " @@ -28827,7 +28959,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:19940 +#: book.translate.xml:19965 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>kldload ndis</userinput>\n" @@ -28835,7 +28967,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:19943 +#: book.translate.xml:19968 msgid "" "The first command loads the <citerefentry><refentrytitle>ndis</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> miniport driver " @@ -28843,7 +28975,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:19947 +#: book.translate.xml:19972 msgid "" "Check <citerefentry><refentrytitle>dmesg</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> to see if there were any load errors. If all went " @@ -28851,7 +28983,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:19951 +#: book.translate.xml:19976 #, no-wrap msgid "" "ndis0: <Wireless-G PCI Adapter> mem 0xf4100000-0xf4101fff irq 3 at device 8.0 on pci1\n" @@ -28862,14 +28994,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:19957 +#: book.translate.xml:19982 msgid "" "From here, <filename>ndis0</filename> can be configured like any other " "<acronym>NIC</acronym>." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:19960 +#: book.translate.xml:19985 msgid "" "To configure the system to load the <citerefentry><refentrytitle>ndis</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> modules at boot time, " @@ -28879,18 +29011,18 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:19966 +#: book.translate.xml:19991 #, no-wrap msgid "W32DRIVER_SYS_load=\"YES\"" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:19971 +#: book.translate.xml:19996 msgid "Configuring the Network Card" msgstr "設定網路卡" #. (itstool) path: sect2/para -#: book.translate.xml:19978 +#: book.translate.xml:20003 msgid "" "Once the right driver is loaded for the <acronym>NIC</acronym>, the card " "needs to be configured. It may have been configured at installation time by " @@ -28899,14 +29031,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:19983 +#: book.translate.xml:20008 msgid "" "To display the <acronym>NIC</acronym> configuration, enter the following " "command:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:19986 +#: book.translate.xml:20011 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>ifconfig</userinput>\n" @@ -28931,27 +29063,27 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20006 +#: book.translate.xml:20031 msgid "In this example, the following devices were displayed:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:20011 +#: book.translate.xml:20036 msgid "<filename>dc0</filename>: The first Ethernet interface." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:20016 +#: book.translate.xml:20041 msgid "<filename>dc1</filename>: The second Ethernet interface." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:20021 +#: book.translate.xml:20046 msgid "<filename>lo0</filename>: The loopback device." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20026 +#: book.translate.xml:20051 msgid "" "FreeBSD uses the driver name followed by the order in which the card is " "detected at boot to name the <acronym>NIC</acronym>. For example, " @@ -28961,26 +29093,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20033 +#: book.translate.xml:20058 msgid "" "In this example, <filename>dc0</filename> is up and running. The key " "indicators are:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:20038 +#: book.translate.xml:20063 msgid "<literal>UP</literal> means that the card is configured and ready." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:20043 +#: book.translate.xml:20068 msgid "" "The card has an Internet (<literal>inet</literal>) address, <systemitem " "class=\"ipaddress\">192.168.1.3</systemitem>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:20048 +#: book.translate.xml:20073 msgid "" "It has a valid subnet mask (<literal>netmask</literal>), where <systemitem " "class=\"netmask\">0xffffff00</systemitem> is the same as <systemitem class=" @@ -28988,21 +29120,21 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:20055 +#: book.translate.xml:20080 msgid "" "It has a valid broadcast address, <systemitem class=\"ipaddress" "\">192.168.1.255</systemitem>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:20059 +#: book.translate.xml:20084 msgid "" "The <acronym>MAC</acronym> address of the card (<literal>ether</literal>) is " "<systemitem class=\"etheraddress\">00:a0:cc:da:da:da</systemitem>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:20064 +#: book.translate.xml:20089 msgid "" "The physical media selection is on autoselection mode (<literal>media: " "Ethernet autoselect (100baseTX <full-duplex>)</literal>). In this " @@ -29012,7 +29144,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:20074 +#: book.translate.xml:20099 msgid "" "The status of the link (<literal>status</literal>) is <literal>active</" "literal>, indicating that the carrier signal is detected. For <filename>dc1</" @@ -29021,14 +29153,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20083 +#: book.translate.xml:20108 msgid "" "If the <citerefentry><refentrytitle>ifconfig</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> output had shown something similar to:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:20086 +#: book.translate.xml:20111 #, no-wrap msgid "" "dc0: flags=8843<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500\n" @@ -29039,12 +29171,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20092 +#: book.translate.xml:20117 msgid "it would indicate the card has not been configured." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20094 +#: book.translate.xml:20119 msgid "" "The card must be configured as <systemitem class=\"username\">root</" "systemitem>. The <acronym>NIC</acronym> configuration can be performed from " @@ -29056,26 +29188,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:20103 +#: book.translate.xml:20128 #, no-wrap msgid "ifconfig_dc0=\"DHCP\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20105 +#: book.translate.xml:20130 msgid "" "Replace <replaceable>dc0</replaceable> with the correct value for the system." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20108 +#: book.translate.xml:20133 msgid "" "The line added, then, follow the instructions given in <xref linkend=" "\"config-network-testing\"/>." msgstr "" #. (itstool) path: note/para -#: book.translate.xml:20112 +#: book.translate.xml:20137 msgid "" "If the network was configured during installation, some entries for the " "<acronym>NIC</acronym>(s) may be already present. Double check <filename>/" @@ -29083,7 +29215,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20118 +#: book.translate.xml:20143 msgid "" "In the case, there is no <acronym>DHCP</acronym> server, the <acronym>NIC</" "acronym>(s) have to be configured manually. Add a line for each " @@ -29091,7 +29223,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:20123 +#: book.translate.xml:20148 #, no-wrap msgid "" "ifconfig_dc0=\"inet 192.168.1.3 netmask 255.255.255.0\"\n" @@ -29099,7 +29231,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20126 +#: book.translate.xml:20151 msgid "" "Replace <filename>dc0</filename> and <filename>dc1</filename> and the " "<acronym>IP</acronym> address information with the correct values for the " @@ -29111,7 +29243,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20133 +#: book.translate.xml:20158 msgid "" "If the network is not using <acronym>DNS</acronym>, edit <filename>/etc/" "hosts</filename> to add the names and <acronym>IP</acronym> addresses of the " @@ -29122,14 +29254,14 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:20141 +#: book.translate.xml:20166 msgid "" "If there is no <acronym>DHCP</acronym> server and access to the Internet is " "needed, manually configure the default gateway and the nameserver:" msgstr "" #. (itstool) path: note/screen -#: book.translate.xml:20145 +#: book.translate.xml:20170 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>echo 'defaultrouter=\"<replaceable>your_default_router</replaceable>\"' >> /etc/rc.conf</userinput>\n" @@ -29137,12 +29269,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:20151 +#: book.translate.xml:20176 msgid "Testing and Troubleshooting" msgstr "測試與疑難排解" #. (itstool) path: sect2/para -#: book.translate.xml:20153 +#: book.translate.xml:20178 msgid "" "Once the necessary changes to <filename>/etc/rc.conf</filename> are saved, a " "reboot can be used to test the network configuration and to verify that the " @@ -29152,43 +29284,43 @@ msgstr "" #. (itstool) path: sect2/screen #. (itstool) path: step/screen -#: book.translate.xml:20160 book.translate.xml:62387 +#: book.translate.xml:20185 book.translate.xml:62441 #, no-wrap msgid "<prompt>#</prompt> <userinput>service netif restart</userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:20163 +#: book.translate.xml:20188 msgid "" "If a default gateway has been set in <filename>/etc/rc.conf</filename>, also " "issue this command:" msgstr "" #. (itstool) path: note/screen -#: book.translate.xml:20167 +#: book.translate.xml:20192 #, no-wrap msgid "<prompt>#</prompt> <userinput>service routing restart</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20170 +#: book.translate.xml:20195 msgid "" "Once the networking system has been relaunched, test the <acronym>NIC</" "acronym>s." msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:20174 +#: book.translate.xml:20199 msgid "Testing the Ethernet Card" msgstr "測試乙太網路卡" #. (itstool) path: sect3/indexterm -#: book.translate.xml:20176 +#: book.translate.xml:20201 msgid "<primary>network cards</primary> <secondary>testing</secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20181 +#: book.translate.xml:20206 msgid "" "To verify that an Ethernet card is configured correctly, " "<citerefentry><refentrytitle>ping</refentrytitle><manvolnum>8</manvolnum></" @@ -29198,7 +29330,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:20185 +#: book.translate.xml:20210 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>ping -c5 192.168.1.3</userinput>\n" @@ -29215,7 +29347,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:20197 +#: book.translate.xml:20222 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>ping -c5 192.168.1.2</userinput>\n" @@ -29232,7 +29364,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20209 +#: book.translate.xml:20234 msgid "" "To test network resolution, use the host name instead of the <acronym>IP</" "acronym> address. If there is no <acronym>DNS</acronym> server on the " @@ -29245,12 +29377,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:20224 +#: book.translate.xml:20249 msgid "<primary>network cards</primary> <secondary>troubleshooting</secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20229 +#: book.translate.xml:20254 msgid "" "When troubleshooting hardware and software configurations, check the simple " "things first. Is the network cable plugged in? Are the network services " @@ -29261,7 +29393,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20238 +#: book.translate.xml:20263 msgid "" "If the card works, yet performance is poor, read through " "<citerefentry><refentrytitle>tuning</refentrytitle><manvolnum>7</manvolnum></" @@ -29270,7 +29402,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20243 +#: book.translate.xml:20268 msgid "" "Some users experience one or two <errorname>device timeout</errorname> " "messages, which is normal for some cards. If they continue, or are " @@ -29279,7 +29411,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20250 +#: book.translate.xml:20275 msgid "" "To resolve <errorname>watchdog timeout</errorname> errors, first check the " "network cable. Many cards require a <acronym>PCI</acronym> slot which " @@ -29289,7 +29421,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20259 +#: book.translate.xml:20284 msgid "" "<errorname>No route to host</errorname> messages occur if the system is " "unable to route a packet to the destination host. This can happen if no " @@ -29299,7 +29431,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20267 +#: book.translate.xml:20292 msgid "" "<errorname>ping: sendto: Permission denied</errorname> error messages are " "often caused by a misconfigured firewall. If a firewall is enabled on " @@ -29310,7 +29442,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20274 +#: book.translate.xml:20299 msgid "" "Sometimes performance of the card is poor or below average. In these cases, " "try setting the media selection mode from <literal>autoselect</literal> to " @@ -29321,22 +29453,22 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:20286 +#: book.translate.xml:20311 msgid "Virtual Hosts" msgstr "虛擬主機" #. (itstool) path: sect1/indexterm -#: book.translate.xml:20288 +#: book.translate.xml:20313 msgid "<primary>virtual hosts</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:20289 +#: book.translate.xml:20314 msgid "<primary><acronym>IP</acronym> aliases</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:20292 +#: book.translate.xml:20317 msgid "" "A common use of FreeBSD is virtual site hosting, where one server appears to " "the network as many servers. This is achieved by assigning multiple network " @@ -29344,7 +29476,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:20297 +#: book.translate.xml:20322 msgid "" "A given network interface has one <quote>real</quote> address, and may have " "any number of <quote>alias</quote> addresses. These aliases are normally " @@ -29353,13 +29485,13 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:20303 +#: book.translate.xml:20328 #, no-wrap msgid "ifconfig_fxp0_alias0=\"inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx\"" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:20305 +#: book.translate.xml:20330 msgid "" "Alias entries must start with <literal>alias<replaceable>0</replaceable></" "literal> using a sequential number such as <literal>alias0</literal>, " @@ -29368,7 +29500,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:20312 +#: book.translate.xml:20337 msgid "" "The calculation of alias netmasks is important. For a given interface, there " "must be one address which correctly represents the network's netmask. Any " @@ -29379,7 +29511,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:20320 +#: book.translate.xml:20345 msgid "" "For example, consider the case where the <filename>fxp0</filename> interface " "is connected to two networks: <systemitem class=\"ipaddress\">10.1.1.0</" @@ -29400,14 +29532,14 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:20342 +#: book.translate.xml:20367 msgid "" "The following <filename>/etc/rc.conf</filename> entries configure the " "adapter correctly for this scenario:" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:20345 +#: book.translate.xml:20370 #, no-wrap msgid "" "ifconfig_fxp0=\"inet 10.1.1.1 netmask 255.255.255.0\"\n" @@ -29422,7 +29554,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:20355 +#: book.translate.xml:20380 msgid "" "A simpler way to express this is with a space-separated list of <acronym>IP</" "acronym> address ranges. The first address will be given the indicated " @@ -29431,43 +29563,43 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:20361 +#: book.translate.xml:20386 #, no-wrap msgid "ifconfig_fxp0_aliases=\"inet 10.1.1.1-5/24 inet 202.0.75.17-20/28\"" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:20366 +#: book.translate.xml:20391 msgid "Configuring System Logging" msgstr "設定系統日誌" #. (itstool) path: authorgroup/author -#: book.translate.xml:20369 +#: book.translate.xml:20394 msgid "" "<personname> <firstname>Niclas</firstname> <surname>Zeising</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:20379 +#: book.translate.xml:20404 msgid "<primary>system logging</primary>" msgstr "" #. (itstool) path: sect1/indexterm #. (itstool) path: sect2/indexterm -#: book.translate.xml:20382 book.translate.xml:57107 +#: book.translate.xml:20407 book.translate.xml:57161 msgid "<primary>syslog</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:20385 +#: book.translate.xml:20410 msgid "" "<primary><citerefentry><refentrytitle>syslogd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry></primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:20389 +#: book.translate.xml:20414 msgid "" "Generating and reading system logs is an important aspect of system " "administration. The information in system logs can be used to detect " @@ -29478,7 +29610,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:20397 +#: book.translate.xml:20422 msgid "" "FreeBSD provides a system logger, <application>syslogd</application>, to " "manage logging. By default, <application>syslogd</application> is started " @@ -29491,24 +29623,24 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:20408 +#: book.translate.xml:20433 msgid "" "This section describes how to configure the FreeBSD system logger for both " "local and remote logging and how to perform log rotation and log management." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:20413 +#: book.translate.xml:20438 msgid "Configuring Local Logging" msgstr "設定本地日誌" #. (itstool) path: sect2/indexterm -#: book.translate.xml:20415 +#: book.translate.xml:20440 msgid "<primary>syslog.conf</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20417 +#: book.translate.xml:20442 msgid "" "The configuration file, <filename>/etc/syslog.conf</filename>, controls what " "<application>syslogd</application> does with log entries as they are " @@ -29523,7 +29655,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20432 +#: book.translate.xml:20457 msgid "" "This configuration file contains one line per action, where the syntax for " "each line is a selector field followed by an action field. The syntax of the " @@ -29539,7 +29671,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:20447 +#: book.translate.xml:20472 #, no-wrap msgid "" "# $FreeBSD$\n" @@ -29580,12 +29712,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20483 +#: book.translate.xml:20508 msgid "In this example:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:20487 +#: book.translate.xml:20512 msgid "" "Line 8 matches all messages with a level of <literal>err</literal> or " "higher, as well as <literal>kern.warning</literal>, <literal>auth.notice</" @@ -29594,7 +29726,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:20497 +#: book.translate.xml:20522 msgid "" "Line 12 matches all messages from the <literal>mail</literal> facility at " "level <literal>info</literal> or above and logs the messages to <filename>/" @@ -29602,7 +29734,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:20504 +#: book.translate.xml:20529 msgid "" "Line 17 uses a comparison flag (<literal>=</literal>) to only match messages " "at level <literal>debug</literal> and logs them to <filename>/var/log/debug." @@ -29610,7 +29742,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:20511 +#: book.translate.xml:20536 msgid "" "Line 33 is an example usage of a program specification. This makes the rules " "following it only valid for the specified program. In this case, only the " @@ -29619,7 +29751,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20519 +#: book.translate.xml:20544 msgid "" "The available levels, in order from most to least critical are " "<literal>emerg</literal>, <literal>alert</literal>, <literal>crit</literal>, " @@ -29628,7 +29760,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20526 +#: book.translate.xml:20551 msgid "" "The facilities, in no particular order, are <literal>auth</literal>, " "<literal>authpriv</literal>, <literal>console</literal>, <literal>cron</" @@ -29641,20 +29773,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20538 +#: book.translate.xml:20563 msgid "" "To log everything of level <literal>notice</literal> and higher to " "<filename>/var/log/daemon.log</filename>, add the following entry:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:20542 +#: book.translate.xml:20567 #, no-wrap msgid "daemon.notice /var/log/daemon.log" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20544 +#: book.translate.xml:20569 msgid "" "For more information about the different levels and facilities, refer to " "<citerefentry><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></" @@ -29666,32 +29798,32 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:20552 +#: book.translate.xml:20577 msgid "Log Management and Rotation" msgstr "日誌管理與循環" #. (itstool) path: sect2/indexterm -#: book.translate.xml:20554 +#: book.translate.xml:20579 msgid "<primary>newsyslog</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:20555 +#: book.translate.xml:20580 msgid "<primary>newsyslog.conf</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:20556 +#: book.translate.xml:20581 msgid "<primary>log rotation</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:20557 +#: book.translate.xml:20582 msgid "<primary>log management</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20559 +#: book.translate.xml:20584 msgid "" "Log files can grow quickly, taking up disk space and making it more " "difficult to locate useful information. Log management attempts to mitigate " @@ -29707,7 +29839,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20572 +#: book.translate.xml:20597 msgid "" "To know which actions to take, <application>newsyslog</application> reads " "its configuration file, <filename>/etc/newsyslog.conf</filename>. This file " @@ -29719,7 +29851,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:20582 +#: book.translate.xml:20607 #, no-wrap msgid "" "# configuration file for newsyslog\n" @@ -29764,7 +29896,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20622 +#: book.translate.xml:20647 msgid "" "Each line starts with the name of the log to be rotated, optionally followed " "by an owner and group for both rotated and newly created files. The " @@ -29783,7 +29915,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20640 +#: book.translate.xml:20665 msgid "" "For more information on all fields, valid flags, and how to specify the " "rotation time, refer to <citerefentry><refentrytitle>newsyslog.conf</" @@ -29796,12 +29928,12 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:20649 +#: book.translate.xml:20674 msgid "Configuring Remote Logging" msgstr "設定遠端日誌" #. (itstool) path: sect2/para -#: book.translate.xml:20662 +#: book.translate.xml:20687 msgid "" "Monitoring the log files of multiple hosts can become unwieldy as the number " "of systems increases. Configuring centralized logging can reduce some of the " @@ -29809,7 +29941,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:20667 +#: book.translate.xml:20692 msgid "" "In FreeBSD, centralized log file aggregation, merging, and rotation can be " "configured using <application>syslogd</application> and " @@ -29822,12 +29954,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:20679 +#: book.translate.xml:20704 msgid "Log Server Configuration" msgstr "日誌伺服器設定" #. (itstool) path: sect3/para -#: book.translate.xml:20681 +#: book.translate.xml:20706 msgid "" "A log server is a system that has been configured to accept logging " "information from other hosts. Before configuring a log server, check the " @@ -29835,7 +29967,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:20687 +#: book.translate.xml:20712 msgid "" "If there is a firewall between the logging server and any logging clients, " "ensure that the firewall ruleset allows <acronym>UDP</acronym> port 514 for " @@ -29843,7 +29975,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:20694 +#: book.translate.xml:20719 msgid "" "The logging server and all client machines must have forward and reverse " "entries in the local <acronym>DNS</acronym>. If the network does not have a " @@ -29853,7 +29985,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20704 +#: book.translate.xml:20729 msgid "" "On the log server, edit <filename>/etc/syslog.conf</filename> to specify the " "name of the client to receive log entries from, the logging facility to be " @@ -29863,12 +29995,12 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:20714 +#: book.translate.xml:20739 msgid "Sample Log Server Configuration" msgstr "日誌伺服器設定範例" #. (itstool) path: example/programlisting -#: book.translate.xml:20716 +#: book.translate.xml:20741 #, no-wrap msgid "" "+logclient.example.com\n" @@ -29876,7 +30008,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20720 +#: book.translate.xml:20745 msgid "" "When adding multiple log clients, add a similar two-line entry for each " "client. More information about the available facilities may be found in " @@ -29885,12 +30017,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20724 +#: book.translate.xml:20749 msgid "Next, configure <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:20727 +#: book.translate.xml:20752 #, no-wrap msgid "" "syslogd_enable=\"YES\"\n" @@ -29898,7 +30030,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20730 +#: book.translate.xml:20755 msgid "" "The first entry starts <application>syslogd</application> at system boot. " "The second entry allows log entries from the specified client. The <option>-" @@ -29908,7 +30040,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20738 +#: book.translate.xml:20763 msgid "" "Multiple <option>-a</option> options may be specified to allow logging from " "multiple clients. <acronym>IP</acronym> addresses and whole netblocks may " @@ -29918,25 +30050,25 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20744 +#: book.translate.xml:20769 msgid "Finally, create the log file:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:20746 +#: book.translate.xml:20771 #, no-wrap msgid "<prompt>#</prompt> <userinput>touch /var/log/logclient.log</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20748 +#: book.translate.xml:20773 msgid "" "At this point, <application>syslogd</application> should be restarted and " "verified:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:20751 +#: book.translate.xml:20776 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service syslogd restart</userinput>\n" @@ -29944,7 +30076,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20754 +#: book.translate.xml:20779 msgid "" "If a <acronym>PID</acronym> is returned, the server restarted successfully, " "and client configuration can begin. If the server did not restart, consult " @@ -29952,26 +30084,26 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:20761 +#: book.translate.xml:20786 msgid "Log Client Configuration" msgstr "日誌客戶端設定" #. (itstool) path: sect3/para -#: book.translate.xml:20763 +#: book.translate.xml:20788 msgid "" "A logging client sends log entries to a logging server on the network. The " "client also keeps a local copy of its own logs." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20767 +#: book.translate.xml:20792 msgid "" "Once a logging server has been configured, edit <filename>/etc/rc.conf</" "filename> on the logging client:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:20771 +#: book.translate.xml:20796 #, no-wrap msgid "" "syslogd_enable=\"YES\"\n" @@ -29979,7 +30111,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20774 +#: book.translate.xml:20799 msgid "" "The first entry enables <application>syslogd</application> on boot up. The " "second entry prevents logs from being accepted by this client from other " @@ -29987,7 +30119,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20780 +#: book.translate.xml:20805 msgid "" "Next, define the logging server in the client's <filename>/etc/syslog.conf</" "filename>. In this example, all logged facilities are sent to a remote " @@ -29996,26 +30128,26 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:20786 +#: book.translate.xml:20811 #, no-wrap msgid "*.*\t\t@logserv.example.com" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20788 +#: book.translate.xml:20813 msgid "" "After saving the edit, restart <application>syslogd</application> for the " "changes to take effect:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:20792 book.translate.xml:20836 +#: book.translate.xml:20817 book.translate.xml:20861 #, no-wrap msgid "<prompt>#</prompt> <userinput>service syslogd restart</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20794 +#: book.translate.xml:20819 msgid "" "To test that log messages are being sent across the network, use " "<citerefentry><refentrytitle>logger</refentrytitle><manvolnum>1</manvolnum></" @@ -30024,13 +30156,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:20798 +#: book.translate.xml:20823 #, no-wrap msgid "<prompt>#</prompt> <userinput>logger \"<replaceable>Test message from logclient</replaceable>\"</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20800 +#: book.translate.xml:20825 msgid "" "This message should now exist both in <filename>/var/log/messages</filename> " "on the client and <filename>/var/log/logclient.log</filename> on the log " @@ -30038,12 +30170,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:20807 +#: book.translate.xml:20832 msgid "Debugging Log Servers" msgstr "日誌伺服器除錯" #. (itstool) path: sect3/para -#: book.translate.xml:20809 +#: book.translate.xml:20834 msgid "" "If no messages are being received on the log server, the cause is most " "likely a network connectivity issue, a hostname resolution issue, or a typo " @@ -30057,7 +30189,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20823 +#: book.translate.xml:20848 msgid "" "If the <command>ping</command> succeeds on both hosts but log messages are " "still not being received, temporarily increase logging verbosity to narrow " @@ -30069,20 +30201,20 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:20834 +#: book.translate.xml:20859 #, no-wrap msgid "syslogd_flags=\"-d -a logclient.example.com -v -v\"" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20838 +#: book.translate.xml:20863 msgid "" "Debugging data similar to the following will flash on the console " "immediately after the restart:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:20841 +#: book.translate.xml:20866 #, no-wrap msgid "" "logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart\n" @@ -30096,7 +30228,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20850 +#: book.translate.xml:20875 msgid "" "In this example, the log messages are being rejected due to a typo which " "results in a hostname mismatch. The client's hostname should be " @@ -30105,7 +30237,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:20856 +#: book.translate.xml:20881 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service syslogd restart</userinput>\n" @@ -30124,7 +30256,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20870 +#: book.translate.xml:20895 msgid "" "At this point, the messages are being properly received and placed in the " "correct file." @@ -30132,12 +30264,12 @@ msgstr "" #. (itstool) path: sect3/title #. (itstool) path: sect2/title -#: book.translate.xml:20875 book.translate.xml:52644 +#: book.translate.xml:20900 book.translate.xml:52698 msgid "Security Considerations" msgstr "安全注意事項" #. (itstool) path: sect3/para -#: book.translate.xml:20877 +#: book.translate.xml:20902 msgid "" "As with any network service, security requirements should be considered " "before implementing a logging server. Log files may contain sensitive data " @@ -30149,7 +30281,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20887 +#: book.translate.xml:20912 msgid "" "Local security is also an issue. Log files are not encrypted during use or " "after log rotation. Local users may access log files to gain additional " @@ -30163,44 +30295,44 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:20905 +#: book.translate.xml:20930 msgid "<filename>/etc</filename> Layout" msgstr "<filename>/etc</filename> 配置" #. (itstool) path: sect2/para -#: book.translate.xml:20908 +#: book.translate.xml:20933 msgid "" "There are a number of directories in which configuration information is " "kept. These include:" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:20918 +#: book.translate.xml:20943 msgid "<filename>/etc</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:20919 +#: book.translate.xml:20944 msgid "Generic system-specific configuration information." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:20924 +#: book.translate.xml:20949 msgid "<filename>/etc/defaults</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:20925 +#: book.translate.xml:20950 msgid "Default versions of system configuration files." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:20930 +#: book.translate.xml:20955 msgid "<filename>/etc/mail</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:20931 +#: book.translate.xml:20956 msgid "" "Extra <citerefentry><refentrytitle>sendmail</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> configuration and other <acronym>MTA</acronym> " @@ -30208,22 +30340,22 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:20936 +#: book.translate.xml:20961 msgid "<filename>/etc/ppp</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:20937 +#: book.translate.xml:20962 msgid "Configuration for both user- and kernel-ppp programs." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:20942 book.translate.xml:55420 +#: book.translate.xml:20967 book.translate.xml:55474 msgid "<filename>/etc/namedb</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:20943 +#: book.translate.xml:20968 msgid "" "Default location for <citerefentry><refentrytitle>named</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> data. Normally " @@ -30231,36 +30363,36 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:20949 +#: book.translate.xml:20974 msgid "<filename>/usr/local/etc</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:20950 +#: book.translate.xml:20975 msgid "" "Configuration files for installed applications. May contain per-application " "subdirectories." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:20955 +#: book.translate.xml:20980 msgid "<filename>/usr/local/etc/rc.d</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:20956 +#: book.translate.xml:20981 msgid "" "<citerefentry><refentrytitle>rc</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> scripts for installed applications." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:20961 +#: book.translate.xml:20986 msgid "<filename>/var/db</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:20962 +#: book.translate.xml:20987 msgid "" "Automatically generated system-specific database files, such as the package " "database and the <citerefentry><refentrytitle>locate</" @@ -30268,34 +30400,34 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:20972 +#: book.translate.xml:20997 msgid "Hostnames" msgstr "主機名稱" #. (itstool) path: sect2/indexterm -#: book.translate.xml:20974 +#: book.translate.xml:20999 msgid "<primary>hostname</primary>" msgstr "" #. (itstool) path: sect2/indexterm #. (itstool) path: sect1/indexterm -#: book.translate.xml:20975 book.translate.xml:49297 book.translate.xml:50399 -#: book.translate.xml:51285 book.translate.xml:55130 +#: book.translate.xml:21000 book.translate.xml:49351 book.translate.xml:50453 +#: book.translate.xml:51339 book.translate.xml:55184 msgid "<primary>DNS</primary>" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:20978 +#: book.translate.xml:21003 msgid "<filename>/etc/resolv.conf</filename>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:20980 +#: book.translate.xml:21005 msgid "<primary><filename>resolv.conf</filename></primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20984 +#: book.translate.xml:21009 msgid "" "How a FreeBSD system accesses the Internet Domain Name System (<acronym>DNS</" "acronym>) is controlled by <citerefentry><refentrytitle>resolv.conf</" @@ -30303,51 +30435,51 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:20988 +#: book.translate.xml:21013 msgid "The most common entries to <filename>/etc/resolv.conf</filename> are:" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:20998 +#: book.translate.xml:21023 msgid "<literal>nameserver</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:20999 +#: book.translate.xml:21024 msgid "" "The <acronym>IP</acronym> address of a name server the resolver should " "query. The servers are queried in the order listed with a maximum of three." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:21006 +#: book.translate.xml:21031 msgid "<literal>search</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:21007 +#: book.translate.xml:21032 msgid "" "Search list for hostname lookup. This is normally determined by the domain " "of the local hostname." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:21013 +#: book.translate.xml:21038 msgid "<literal>domain</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:21014 +#: book.translate.xml:21039 msgid "The local domain name." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21020 +#: book.translate.xml:21045 msgid "A typical <filename>/etc/resolv.conf</filename> looks like this:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:21023 +#: book.translate.xml:21048 #, no-wrap msgid "" "search example.com\n" @@ -30356,14 +30488,14 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:21028 +#: book.translate.xml:21053 msgid "" "Only one of the <literal>search</literal> and <literal>domain</literal> " "options should be used." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21032 +#: book.translate.xml:21057 msgid "" "When using <acronym>DHCP</acronym>, <citerefentry><refentrytitle>dhclient</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> usually rewrites " @@ -30372,17 +30504,17 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:21039 +#: book.translate.xml:21064 msgid "<filename>/etc/hosts</filename>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:21041 +#: book.translate.xml:21066 msgid "<primary>hosts</primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21043 +#: book.translate.xml:21068 msgid "" "<filename>/etc/hosts</filename> is a simple text database which works in " "conjunction with <acronym>DNS</acronym> and <acronym>NIS</acronym> to " @@ -30396,7 +30528,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:21056 +#: book.translate.xml:21081 #, no-wrap msgid "" "# $FreeBSD$\n" @@ -30434,36 +30566,36 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21089 +#: book.translate.xml:21114 msgid "The format of <filename>/etc/hosts</filename> is as follows:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:21092 +#: book.translate.xml:21117 #, no-wrap msgid "[Internet address] [official hostname] [alias1] [alias2] ..." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21094 +#: book.translate.xml:21119 msgid "For example:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:21096 +#: book.translate.xml:21121 #, no-wrap msgid "10.0.0.1 myRealHostname.example.com myRealHostname foobar1 foobar2" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21098 +#: book.translate.xml:21123 msgid "" "Consult <citerefentry><refentrytitle>hosts</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> for more information." msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:21104 +#: book.translate.xml:21129 msgid "" "Tuning with <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>" @@ -30473,17 +30605,17 @@ msgstr "" #. (itstool) path: sect1/indexterm #. (itstool) path: sect2/indexterm -#: book.translate.xml:21106 book.translate.xml:21151 +#: book.translate.xml:21131 book.translate.xml:21176 msgid "<primary>sysctl</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:21107 +#: book.translate.xml:21132 msgid "<primary>tuning</primary> <secondary>with sysctl</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:21112 +#: book.translate.xml:21137 msgid "" "<citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> is used to make changes to a running FreeBSD system. This " @@ -30495,7 +30627,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:21119 +#: book.translate.xml:21144 msgid "" "At its core, <citerefentry><refentrytitle>sysctl</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> serves two functions: " @@ -30503,23 +30635,23 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:21122 +#: book.translate.xml:21147 msgid "To view all readable variables:" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:21124 +#: book.translate.xml:21149 #, no-wrap msgid "<prompt>%</prompt> <userinput>sysctl -a</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:21126 +#: book.translate.xml:21151 msgid "To read a particular variable, specify its name:" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:21128 +#: book.translate.xml:21153 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>sysctl kern.maxproc</userinput>\n" @@ -30527,14 +30659,14 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:21131 +#: book.translate.xml:21156 msgid "" "To set a particular variable, use the <replaceable>variable</" "replaceable>=<replaceable>value</replaceable> syntax:" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:21135 +#: book.translate.xml:21160 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>sysctl kern.maxfiles=5000</userinput>\n" @@ -30542,7 +30674,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:21138 +#: book.translate.xml:21163 msgid "" "Settings of sysctl variables are usually either strings, numbers, or " "booleans, where a boolean is <literal>1</literal> for yes or <literal>0</" @@ -30550,7 +30682,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:21142 +#: book.translate.xml:21167 msgid "" "To automatically set some variables each time the machine boots, add them to " "<filename>/etc/sysctl.conf</filename>. For more information, refer to " @@ -30559,17 +30691,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:21148 +#: book.translate.xml:21173 msgid "<filename>sysctl.conf</filename>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:21150 +#: book.translate.xml:21175 msgid "<primary>sysctl.conf</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:21153 +#: book.translate.xml:21178 msgid "" "The configuration file for <citerefentry><refentrytitle>sysctl</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, <filename>/etc/sysctl." @@ -30580,7 +30712,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:21160 +#: book.translate.xml:21185 msgid "" "For example, to turn off logging of fatal signal exits and prevent users " "from seeing processes started by other users, the following tunables can be " @@ -30588,7 +30720,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:21165 +#: book.translate.xml:21190 #, no-wrap msgid "" "# Do not log fatal signal exits (e.g., sig 11)\n" @@ -30600,7 +30732,7 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:21175 +#: book.translate.xml:21200 msgid "" "<citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> Read-only" @@ -30609,7 +30741,7 @@ msgstr "" "manvolnum></citerefentry>" #. (itstool) path: sect2/para -#: book.translate.xml:21188 +#: book.translate.xml:21213 msgid "" "In some cases it may be desirable to modify read-only " "<citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></" @@ -30617,7 +30749,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:21192 +#: book.translate.xml:21217 msgid "" "For instance, on some laptop models the " "<citerefentry><refentrytitle>cardbus</refentrytitle><manvolnum>4</" @@ -30626,7 +30758,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:21196 +#: book.translate.xml:21221 #, no-wrap msgid "" "cbb0: Could not map register memory\n" @@ -30634,7 +30766,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:21199 +#: book.translate.xml:21224 msgid "" "The fix requires the modification of a read-only " "<citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></" @@ -30645,12 +30777,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:21208 +#: book.translate.xml:21233 msgid "Tuning Disks" msgstr "調校磁碟" #. (itstool) path: sect1/para -#: book.translate.xml:21210 +#: book.translate.xml:21235 msgid "" "The following section will discuss various tuning mechanisms and options " "which may be applied to disk devices. In many cases, disks with mechanical " @@ -30666,22 +30798,22 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:21224 +#: book.translate.xml:21249 msgid "Sysctl Variables" msgstr "Sysctl 變數" #. (itstool) path: sect3/title -#: book.translate.xml:21227 +#: book.translate.xml:21252 msgid "<varname>vfs.vmiodirenable</varname>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:21229 +#: book.translate.xml:21254 msgid "<primary><varname>vfs.vmiodirenable</varname></primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21233 +#: book.translate.xml:21258 msgid "" "The <varname>vfs.vmiodirenable</varname> " "<citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></" @@ -30705,17 +30837,17 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:21259 +#: book.translate.xml:21284 msgid "<varname>vfs.write_behind</varname>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:21261 +#: book.translate.xml:21286 msgid "<primary><varname>vfs.write_behind</varname></primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21265 +#: book.translate.xml:21290 msgid "" "The <varname>vfs.write_behind</varname> <citerefentry><refentrytitle>sysctl</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> variable defaults to " @@ -30727,17 +30859,17 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:21277 +#: book.translate.xml:21302 msgid "<varname>vfs.hirunningspace</varname>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:21279 +#: book.translate.xml:21304 msgid "<primary><varname>vfs.hirunningspace</varname></primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21283 +#: book.translate.xml:21308 msgid "" "The <varname>vfs.hirunningspace</varname> " "<citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></" @@ -30751,7 +30883,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21294 +#: book.translate.xml:21319 msgid "" "There are various other buffer cache and <acronym>VM</acronym> page cache " "related <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</" @@ -30761,17 +30893,17 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:21302 +#: book.translate.xml:21327 msgid "<varname>vm.swap_idle_enabled</varname>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:21304 +#: book.translate.xml:21329 msgid "<primary><varname>vm.swap_idle_enabled</varname></primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21308 +#: book.translate.xml:21333 msgid "" "The <varname>vm.swap_idle_enabled</varname> " "<citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></" @@ -30791,17 +30923,17 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:21329 +#: book.translate.xml:21354 msgid "<varname>hw.ata.wc</varname>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:21331 +#: book.translate.xml:21356 msgid "<primary><varname>hw.ata.wc</varname></primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21335 +#: book.translate.xml:21360 msgid "" "Turning off <acronym>IDE</acronym> write caching reduces write bandwidth to " "<acronym>IDE</acronym> disks, but may sometimes be necessary due to data " @@ -30819,24 +30951,24 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21353 +#: book.translate.xml:21378 msgid "" "For more information, refer to <citerefentry><refentrytitle>ata</" "refentrytitle><manvolnum>4</manvolnum></citerefentry>." msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:21357 +#: book.translate.xml:21382 msgid "<literal>SCSI_DELAY</literal> (<varname>kern.cam.scsi_delay</varname>)" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:21360 +#: book.translate.xml:21385 msgid "<primary><varname>kern.cam.scsi_delay</varname></primary>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:21364 +#: book.translate.xml:21389 msgid "" "<primary>kernel options</primary> <secondary><literal>SCSI DELAY</literal></" "secondary>" @@ -30845,7 +30977,7 @@ msgstr "" "secondary>" #. (itstool) path: sect3/para -#: book.translate.xml:21369 +#: book.translate.xml:21394 msgid "" "The <literal>SCSI_DELAY</literal> kernel configuration option may be used to " "reduce system boot times. The defaults are fairly high and can be " @@ -30858,24 +30990,24 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:21385 +#: book.translate.xml:21410 msgid "Soft Updates" msgstr "軟更新" #. (itstool) path: sect2/indexterm -#: book.translate.xml:21387 +#: book.translate.xml:21412 msgid "<primary>Soft Updates</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:21388 +#: book.translate.xml:21413 msgid "" "<primary><citerefentry><refentrytitle>tunefs</refentrytitle><manvolnum>8</" "manvolnum></citerefentry></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:21390 +#: book.translate.xml:21415 msgid "" "To fine-tune a file system, use <citerefentry><refentrytitle>tunefs</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>. This program has many " @@ -30883,7 +31015,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:21394 +#: book.translate.xml:21419 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>tunefs -n enable /filesystem</userinput>\n" @@ -30891,7 +31023,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:21397 +#: book.translate.xml:21422 msgid "" "A file system cannot be modified with <citerefentry><refentrytitle>tunefs</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> while it is mounted. A " @@ -30900,7 +31032,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:21401 +#: book.translate.xml:21426 msgid "" "Soft Updates is recommended for <acronym>UFS</acronym> file systems as it " "drastically improves meta-data performance, mainly file creation and " @@ -30915,17 +31047,17 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:21415 +#: book.translate.xml:21440 msgid "More Details About Soft Updates" msgstr "有關軟更新的更多詳細資訊" #. (itstool) path: sect3/indexterm -#: book.translate.xml:21417 +#: book.translate.xml:21442 msgid "<primary>Soft Updates</primary> <secondary>details</secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21422 +#: book.translate.xml:21447 msgid "" "Meta-data updates are updates to non-content data like inodes or " "directories. There are two traditional approaches to writing a file system's " @@ -30933,7 +31065,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21426 +#: book.translate.xml:21451 msgid "" "Historically, the default behavior was to write out meta-data updates " "synchronously. If a directory changed, the system waited until the change " @@ -30956,7 +31088,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21449 +#: book.translate.xml:21474 msgid "" "The second approach is to use asynchronous meta-data updates. This is the " "default for a <acronym>UFS</acronym> file system mounted with <command>mount " @@ -30982,7 +31114,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21476 +#: book.translate.xml:21501 msgid "" "The usual solution for this problem is to implement <emphasis>dirty region " "logging</emphasis>, which is also referred to as <emphasis>journaling</" @@ -31001,7 +31133,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21495 +#: book.translate.xml:21520 msgid "" "Kirk McKusick, the developer of Berkeley <acronym>FFS</acronym>, solved this " "problem with Soft Updates. All pending meta-data updates are kept in memory " @@ -31041,7 +31173,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21533 +#: book.translate.xml:21558 msgid "" "The advantage is that meta-data operations are nearly as fast as " "asynchronous updates and are faster than <emphasis>logging</emphasis>, which " @@ -31061,32 +31193,32 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:21555 +#: book.translate.xml:21580 msgid "Tuning Kernel Limits" msgstr "調校核心限制" #. (itstool) path: sect1/indexterm -#: book.translate.xml:21557 +#: book.translate.xml:21582 msgid "<primary>tuning</primary> <secondary>kernel limits</secondary>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:21563 +#: book.translate.xml:21588 msgid "File/Process Limits" msgstr "檔案/程序限制" #. (itstool) path: sect3/title -#: book.translate.xml:21566 +#: book.translate.xml:21591 msgid "<varname>kern.maxfiles</varname>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:21568 +#: book.translate.xml:21593 msgid "<primary><varname>kern.maxfiles</varname></primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21572 +#: book.translate.xml:21597 msgid "" "The <varname>kern.maxfiles</varname> <citerefentry><refentrytitle>sysctl</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> variable can be raised " @@ -31099,7 +31231,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21580 +#: book.translate.xml:21605 msgid "" "Each open file, socket, or fifo uses one file descriptor. A large-scale " "production server may easily require many thousands of file descriptors, " @@ -31107,7 +31239,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21585 +#: book.translate.xml:21610 msgid "" "In older FreeBSD releases, the default value of <varname>kern.maxfiles</" "varname> is derived from <option>maxusers</option> in the kernel " @@ -31120,7 +31252,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21597 +#: book.translate.xml:21622 msgid "" "The read-only <citerefentry><refentrytitle>sysctl</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> variable <varname>kern." @@ -31139,7 +31271,7 @@ msgid "" msgstr "" #. (itstool) path: footnote/para -#: book.translate.xml:21619 +#: book.translate.xml:21644 msgid "" "The auto-tuning algorithm sets <literal>maxusers</literal> equal to the " "amount of memory in the system, with a minimum of <literal>32</literal>, and " @@ -31147,7 +31279,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21616 +#: book.translate.xml:21641 msgid "" "In older releases, the system will auto-tune <literal>maxusers</literal> if " "it is set to <literal>0</literal>. <_:footnote-1/>. When setting this " @@ -31170,7 +31302,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:21648 +#: book.translate.xml:21673 msgid "" "<literal>maxusers</literal> does <emphasis>not</emphasis> limit the number " "of users which can log into the machine. It instead sets various table sizes " @@ -31179,17 +31311,17 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:21658 +#: book.translate.xml:21683 msgid "<varname>kern.ipc.soacceptqueue</varname>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:21660 +#: book.translate.xml:21685 msgid "<primary><varname>kern.ipc.soacceptqueue</varname></primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21664 +#: book.translate.xml:21689 msgid "" "The <varname>kern.ipc.soacceptqueue</varname> " "<citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></" @@ -31206,12 +31338,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:21681 +#: book.translate.xml:21706 msgid "Network Limits" msgstr "網路限制" #. (itstool) path: sect2/para -#: book.translate.xml:21683 +#: book.translate.xml:21708 msgid "" "The <literal>NMBCLUSTERS</literal> kernel configuration option dictates the " "amount of network Mbufs available to the system. A heavily-trafficked server " @@ -31233,7 +31365,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:21707 +#: book.translate.xml:21732 msgid "" "The <varname>kern.ipc.nmbclusters</varname> loader tunable should be used to " "tune this at boot time. Only older versions of FreeBSD will require the use " @@ -31243,7 +31375,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:21713 +#: book.translate.xml:21738 msgid "" "For busy servers that make extensive use of the " "<citerefentry><refentrytitle>sendfile</refentrytitle><manvolnum>2</" @@ -31262,7 +31394,7 @@ msgid "" msgstr "" #. (itstool) path: important/para -#: book.translate.xml:21727 +#: book.translate.xml:21752 msgid "" "Even though a socket has been marked as non-blocking, calling " "<citerefentry><refentrytitle>sendfile</refentrytitle><manvolnum>2</" @@ -31273,17 +31405,17 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:21735 +#: book.translate.xml:21760 msgid "<varname>net.inet.ip.portrange.*</varname>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:21737 +#: book.translate.xml:21762 msgid "<primary>net.inet.ip.portrange.*</primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21741 +#: book.translate.xml:21766 msgid "" "The <varname>net.inet.ip.portrange.*</varname> " "<citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></" @@ -31310,19 +31442,19 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:21772 +#: book.translate.xml:21797 msgid "<literal>TCP</literal> Bandwidth Delay Product" msgstr "<literal>TCP</literal> 頻寬延遲乘積" #. (itstool) path: sect3/indexterm -#: book.translate.xml:21774 +#: book.translate.xml:21799 msgid "" "<primary><literal>TCP</literal> Bandwidth Delay Product Limiting</primary> " "<secondary><varname>net.inet.tcp.inflight.enable</varname></secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21780 +#: book.translate.xml:21805 msgid "" "<literal>TCP</literal> bandwidth delay product limiting can be enabled by " "setting the <varname>net.inet.tcp.inflight.enable</varname> " @@ -31334,7 +31466,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21789 +#: book.translate.xml:21814 msgid "" "This feature is useful when serving data over modems, Gigabit Ethernet, high " "speed <literal>WAN</literal> links, or any other link with a high bandwidth " @@ -31354,7 +31486,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21809 +#: book.translate.xml:21834 msgid "" "Adjusting <varname>net.inet.tcp.inflight.stab</varname> is <emphasis>not</" "emphasis> recommended. This parameter defaults to <literal>20</literal>, " @@ -31371,17 +31503,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:21828 +#: book.translate.xml:21853 msgid "Virtual Memory" msgstr "虛擬記憶體" #. (itstool) path: sect3/title -#: book.translate.xml:21831 +#: book.translate.xml:21856 msgid "<varname>kern.maxvnodes</varname>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21833 +#: book.translate.xml:21858 msgid "" "A vnode is the internal representation of a file or directory. Increasing " "the number of vnodes available to the operating system reduces disk I/O. " @@ -31392,12 +31524,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21843 +#: book.translate.xml:21868 msgid "To see the current number of vnodes in use:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:21845 +#: book.translate.xml:21870 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>sysctl vfs.numvnodes</userinput>\n" @@ -31405,12 +31537,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21848 +#: book.translate.xml:21873 msgid "To see the maximum vnodes:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:21850 +#: book.translate.xml:21875 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>sysctl kern.maxvnodes</userinput>\n" @@ -31418,7 +31550,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:21853 +#: book.translate.xml:21878 msgid "" "If the current vnode usage is near the maximum, try increasing <varname>kern." "maxvnodes</varname> by a value of <literal>1000</literal>. Keep an eye on " @@ -31430,12 +31562,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:21866 +#: book.translate.xml:21891 msgid "Adding Swap Space" msgstr "增加交換空間" #. (itstool) path: sect1/para -#: book.translate.xml:21868 +#: book.translate.xml:21893 msgid "" "Sometimes a system requires more swap space. This section describes two " "methods to increase swap space: adding swap to an existing partition or new " @@ -31443,19 +31575,19 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:21873 +#: book.translate.xml:21898 msgid "" "For information on how to encrypt swap space, which options exist, and why " "it should be done, refer to <xref linkend=\"swap-encrypting\"/>." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:21877 +#: book.translate.xml:21902 msgid "Swap on a New Hard Drive or Existing Partition" msgstr "使用新硬碟或既有分割區增加交換空間" #. (itstool) path: sect2/para -#: book.translate.xml:21879 +#: book.translate.xml:21904 msgid "" "Adding a new hard drive for swap gives better performance than using a " "partition on an existing drive. Setting up partitions and hard drives is " @@ -31465,20 +31597,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:21884 +#: book.translate.xml:21909 msgid "" "Use <command>swapon</command> to add a swap partition to the system. For " "example:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:21887 +#: book.translate.xml:21912 #, no-wrap msgid "<prompt>#</prompt> <userinput>swapon <replaceable>/dev/ada1s1b</replaceable></userinput>" msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:21890 +#: book.translate.xml:21915 msgid "" "It is possible to use any partition not currently mounted, even if it " "already contains data. Using <command>swapon</command> on a partition that " @@ -31488,20 +31620,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:21898 +#: book.translate.xml:21923 msgid "" "To automatically add this swap partition on boot, add an entry to <filename>/" "etc/fstab</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:21901 +#: book.translate.xml:21926 #, no-wrap msgid "<replaceable>/dev/ada1s1b</replaceable>\tnone\tswap\tsw\t0\t0" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:21903 +#: book.translate.xml:21928 msgid "" "See <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> for an explanation of the entries in <filename>/" @@ -31511,19 +31643,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:21910 +#: book.translate.xml:21935 msgid "Creating a Swap File" msgstr "建立交換檔" #. (itstool) path: sect2/para -#: book.translate.xml:21912 +#: book.translate.xml:21937 msgid "" "These examples create a 64M swap file called <filename>/usr/swap0</filename> " "instead of using a partition." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:21916 +#: book.translate.xml:21941 msgid "" "Using swap files requires that the module needed by " "<citerefentry><refentrytitle>md</refentrytitle><manvolnum>4</manvolnum></" @@ -31533,48 +31665,48 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:21923 +#: book.translate.xml:21948 msgid "" "Creating a Swap File on FreeBSD 10.<replaceable>X</replaceable> and Later" msgstr "建立交換檔於 FreeBSD 10.<replaceable>X</replaceable> 及以後版本" #. (itstool) path: step/para -#: book.translate.xml:21928 +#: book.translate.xml:21953 msgid "Create the swap file:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:21930 book.translate.xml:21968 +#: book.translate.xml:21955 book.translate.xml:21993 #, no-wrap msgid "<prompt>#</prompt> <userinput>dd if=/dev/zero of=<replaceable>/usr/swap0</replaceable> bs=1m count=<replaceable>64</replaceable></userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:21934 +#: book.translate.xml:21959 msgid "Set the proper permissions on the new file:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:21936 book.translate.xml:21975 +#: book.translate.xml:21961 book.translate.xml:22000 #, no-wrap msgid "<prompt>#</prompt> <userinput>chmod 0600 <replaceable>/usr/swap0</replaceable></userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:21940 +#: book.translate.xml:21965 msgid "" "Inform the system about the swap file by adding a line to <filename>/etc/" "fstab</filename>:" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:21943 +#: book.translate.xml:21968 #, no-wrap msgid "md99\tnone\tswap\tsw,file=/usr/swap0,late\t0\t0" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:21945 +#: book.translate.xml:21970 msgid "" "The <citerefentry><refentrytitle>md</refentrytitle><manvolnum>4</manvolnum></" "citerefentry> device <filename>md99</filename> is used, leaving lower device " @@ -31582,7 +31714,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:21951 +#: book.translate.xml:21976 msgid "" "Swap space will be added on system startup. To add swap space immediately, " "use <citerefentry><refentrytitle>swapon</refentrytitle><manvolnum>8</" @@ -31590,40 +31722,40 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:21954 +#: book.translate.xml:21979 #, no-wrap msgid "<prompt>#</prompt> <userinput>swapon -aL</userinput>" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:21960 +#: book.translate.xml:21985 msgid "" "Creating a Swap File on FreeBSD 9.<replaceable>X</replaceable> and Earlier" msgstr "建立交換檔於 FreeBSD 9.<replaceable>X</replaceable> 及先前版本" #. (itstool) path: step/para -#: book.translate.xml:21965 +#: book.translate.xml:21990 msgid "Create the swap file, <filename>/usr/swap0</filename>:" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:21972 +#: book.translate.xml:21997 msgid "Set the proper permissions on <filename>/usr/swap0</filename>:" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:21979 +#: book.translate.xml:22004 msgid "Enable the swap file in <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:21982 +#: book.translate.xml:22007 #, no-wrap msgid "swapfile=\"<replaceable>/usr/swap0</replaceable>\" # Set to name of swap file" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:21986 +#: book.translate.xml:22011 msgid "" "Swap space will be added on system startup. To enable the swap file " "immediately, specify a free memory device. Refer to <xref linkend=\"disks-" @@ -31631,32 +31763,32 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:21991 +#: book.translate.xml:22016 #, no-wrap msgid "<prompt>#</prompt> <userinput>mdconfig -a -t vnode -f <replaceable>/usr/swap0</replaceable> -u <replaceable>0</replaceable> && swapon /dev/md<replaceable>0</replaceable></userinput>" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:22000 +#: book.translate.xml:22025 msgid "Power and Resource Management" msgstr "電源與資源管理" #. (itstool) path: authorgroup/author -#: book.translate.xml:22003 +#: book.translate.xml:22028 msgid "" "<personname> <firstname>Hiten</firstname> <surname>Pandya</surname> </" "personname> <contrib>Written by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:22011 book.translate.xml:22491 +#: book.translate.xml:22036 book.translate.xml:22516 msgid "" "<personname> <firstname>Tom</firstname> <surname>Rhodes</surname> </" "personname>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:22020 +#: book.translate.xml:22045 msgid "" "It is important to utilize hardware resources in an efficient manner. Power " "and resource management allows the operating system to monitor system limits " @@ -31675,7 +31807,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:22039 +#: book.translate.xml:22064 msgid "" "There are four major problems in <acronym>APM</acronym>. First, power " "management is done by the vendor-specific <acronym>BIOS</acronym>, separate " @@ -31697,7 +31829,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:22061 +#: book.translate.xml:22086 msgid "" "The Plug and Play <acronym>BIOS</acronym> (<acronym>PNPBIOS</acronym>) was " "unreliable in many situations. <acronym>PNPBIOS</acronym> is 16-bit " @@ -31710,17 +31842,17 @@ msgid "" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:22071 +#: book.translate.xml:22096 msgid "<primary>ACPI</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:22075 +#: book.translate.xml:22100 msgid "<primary>APM</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:22079 +#: book.translate.xml:22104 msgid "" "The successor to <acronym>APM</acronym> is the Advanced Configuration and " "Power Interface (<acronym>ACPI</acronym>). <acronym>ACPI</acronym> is a " @@ -31732,7 +31864,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:22088 +#: book.translate.xml:22113 msgid "" "This chapter demonstrates how to configure <acronym>ACPI</acronym> on " "FreeBSD. It then offers some tips on how to debug <acronym>ACPI</acronym> " @@ -31741,12 +31873,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:22095 +#: book.translate.xml:22120 msgid "Configuring <acronym>ACPI</acronym>" msgstr "設定 <acronym>ACPI</acronym>" #. (itstool) path: sect2/para -#: book.translate.xml:22097 +#: book.translate.xml:22122 msgid "" "In FreeBSD the <citerefentry><refentrytitle>acpi</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> driver is loaded by " @@ -31760,7 +31892,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:22109 +#: book.translate.xml:22134 msgid "" "<acronym>ACPI</acronym> and <acronym>APM</acronym> cannot coexist and should " "be used separately. The last one to load will terminate if the driver " @@ -31768,7 +31900,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22115 +#: book.translate.xml:22140 msgid "" "<acronym>ACPI</acronym> can be used to put the system into a sleep mode with " "<command>acpiconf</command>, the <option>-s</option> flag, and a number from " @@ -31780,7 +31912,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22125 +#: book.translate.xml:22150 msgid "" "Other options are available using <command>sysctl</command>. Refer to " "<citerefentry><refentrytitle>acpi</refentrytitle><manvolnum>4</manvolnum></" @@ -31789,17 +31921,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:22131 +#: book.translate.xml:22156 msgid "Common Problems" msgstr "常見問題" #. (itstool) path: sect2/indexterm -#: book.translate.xml:22133 +#: book.translate.xml:22158 msgid "<primary><acronym>ACPI</acronym></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22137 +#: book.translate.xml:22162 msgid "" "<acronym>ACPI</acronym> is present in all modern computers that conform to " "the ia32 (x86), ia64 (Itanium), and amd64 (<acronym>AMD</acronym>) " @@ -31813,7 +31945,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22149 +#: book.translate.xml:22174 msgid "" "An <acronym>ACPI</acronym>-compliant system has various components. The " "<acronym>BIOS</acronym> and chipset vendors provide various fixed tables, " @@ -31825,7 +31957,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22159 +#: book.translate.xml:22184 msgid "" "The <acronym>ACPI</acronym> driver must parse the fixed tables, implement an " "interpreter for the bytecode, and modify device drivers and the kernel to " @@ -31841,12 +31973,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:22172 book.translate.xml:22500 book.translate.xml:22555 +#: book.translate.xml:22197 book.translate.xml:22525 book.translate.xml:22580 msgid "<primary>ACPI</primary> <secondary>problems</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22177 +#: book.translate.xml:22202 msgid "" "For <acronym>ACPI</acronym> to work correctly, all the parts have to work " "correctly. Here are some common problems, in order of frequency of " @@ -31856,12 +31988,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:22185 +#: book.translate.xml:22210 msgid "Mouse Issues" msgstr "滑鼠問題" #. (itstool) path: sect3/para -#: book.translate.xml:22187 +#: book.translate.xml:22212 msgid "" "In some cases, resuming from a suspend operation will cause the mouse to " "fail. A known work around is to add <literal>hint.psm.0.flags=\"0x3000\"</" @@ -31869,12 +32001,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:22194 +#: book.translate.xml:22219 msgid "Suspend/Resume" msgstr "待機/喚醒" #. (itstool) path: sect3/para -#: book.translate.xml:22196 +#: book.translate.xml:22221 msgid "" "<acronym>ACPI</acronym> has three suspend to <acronym>RAM</acronym> " "(<acronym>STR</acronym>) states, <literal>S1</literal>-<literal>S3</" @@ -31888,14 +32020,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:22209 +#: book.translate.xml:22234 msgid "" "Use <command>sysctl hw.acpi</command> to check for the suspend-related " "items. These example results are from a Thinkpad:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:22213 +#: book.translate.xml:22238 #, no-wrap msgid "" "hw.acpi.supported_sleep_state: S3 S4 S5\n" @@ -31903,7 +32035,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:22216 +#: book.translate.xml:22241 msgid "" "Use <command>acpiconf -s</command> to test <literal>S3</literal>, " "<literal>S4</literal>, and <literal>S5</literal>. An <option>s4bios</option> " @@ -31912,7 +32044,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:22223 +#: book.translate.xml:22248 msgid "" "When testing suspend/resume, start with <literal>S1</literal>, if supported. " "This state is most likely to work since it does not require much driver " @@ -31923,7 +32055,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:22232 +#: book.translate.xml:22257 msgid "" "A common problem with suspend/resume is that many device drivers do not " "save, restore, or reinitialize their firmware, registers, or device memory " @@ -31931,7 +32063,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:22237 +#: book.translate.xml:22262 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>sysctl debug.bootverbose=1</userinput>\n" @@ -31940,7 +32072,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:22241 +#: book.translate.xml:22266 msgid "" "This test emulates the suspend/resume cycle of all device drivers without " "actually going into <literal>S3</literal> state. In some cases, problems " @@ -31952,7 +32084,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:22251 +#: book.translate.xml:22276 msgid "" "Harder cases require additional hardware, such as a serial port and cable " "for debugging through a serial console, a Firewire port and cable for using " @@ -31961,7 +32093,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:22256 +#: book.translate.xml:22281 msgid "" "To help isolate the problem, unload as many drivers as possible. If it " "works, narrow down which driver is the problem by loading drivers until it " @@ -31976,7 +32108,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:22272 +#: book.translate.xml:22297 msgid "" "Try loading a recent <trademark class=\"registered\">Linux</trademark> " "distribution to see if suspend/resume works on the same hardware. If it " @@ -31993,7 +32125,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:22284 +#: book.translate.xml:22309 msgid "" "Finally, try disabling <acronym>ACPI</acronym> and enabling <acronym>APM</" "acronym> instead. If suspend/resume works with <acronym>APM</acronym>, stick " @@ -32004,12 +32136,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:22295 +#: book.translate.xml:22320 msgid "System Hangs" msgstr "系統無回應" #. (itstool) path: sect3/para -#: book.translate.xml:22297 +#: book.translate.xml:22322 msgid "" "Most system hangs are a result of lost interrupts or an interrupt storm. " "Chipsets may have problems based on boot, how the <acronym>BIOS</acronym> " @@ -32019,12 +32151,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:22304 +#: book.translate.xml:22329 msgid "<primary>interrupt storms</primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:22308 +#: book.translate.xml:22333 msgid "" "Interrupt storms can be distinguished from lost interrupts by checking the " "output of <command>vmstat -i</command> and looking at the line that has " @@ -32036,12 +32168,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:22321 +#: book.translate.xml:22346 msgid "<primary>APIC</primary> <secondary>disabling</secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:22326 +#: book.translate.xml:22351 msgid "" "When dealing with interrupt problems, try disabling <acronym>APIC</acronym> " "support with <literal>hint.apic.0.disabled=\"1\"</literal> in <filename>/" @@ -32049,12 +32181,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:22333 +#: book.translate.xml:22358 msgid "Panics" msgstr "當機" #. (itstool) path: sect3/para -#: book.translate.xml:22335 +#: book.translate.xml:22360 msgid "" "Panics are relatively rare for <acronym>ACPI</acronym> and are the top " "priority to be fixed. The first step is to isolate the steps to reproduce " @@ -32067,7 +32199,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:22346 +#: book.translate.xml:22371 msgid "" "Then, try to isolate the problem by booting with <acronym>ACPI</acronym> " "disabled. If that works, isolate the <acronym>ACPI</acronym> subsystem by " @@ -32077,12 +32209,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:22354 +#: book.translate.xml:22379 msgid "System Powers Up After Suspend or Shutdown" msgstr "系統在待機或關機後仍開機" #. (itstool) path: sect3/para -#: book.translate.xml:22356 +#: book.translate.xml:22381 msgid "" "First, try setting <literal>hw.acpi.disable_on_poweroff=\"0\"</literal> in " "<filename>/boot/loader.conf</filename>. This keeps <acronym>ACPI</acronym> " @@ -32093,27 +32225,27 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:22367 +#: book.translate.xml:22392 msgid "BIOS Contains Buggy Bytecode" msgstr "BIOS 含有有問題的 Bytecode" #. (itstool) path: sect3/indexterm #. (itstool) path: sect2/indexterm -#: book.translate.xml:22369 book.translate.xml:22400 +#: book.translate.xml:22394 book.translate.xml:22425 msgid "" "<primary><acronym>ACPI</acronym></primary> <secondary><acronym>ASL</" "acronym></secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:22374 +#: book.translate.xml:22399 msgid "" "Some <acronym>BIOS</acronym> vendors provide incorrect or buggy bytecode. " "This is usually manifested by kernel console messages like this:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:22378 +#: book.translate.xml:22403 #, no-wrap msgid "" "ACPI-1287: *** Error: Method execution failed [\\\\_SB_.PCI0.LPC0.FIGD._STA] \\\\\n" @@ -32121,7 +32253,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:22381 +#: book.translate.xml:22406 msgid "" "Often, these problems may be resolved by updating the <acronym>BIOS</" "acronym> to the latest revision. Most console messages are harmless, but if " @@ -32130,12 +32262,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:22391 +#: book.translate.xml:22416 msgid "Overriding the Default <acronym>AML</acronym>" msgstr "覆蓋預設的 <acronym>AML</acronym>" #. (itstool) path: sect2/para -#: book.translate.xml:22393 +#: book.translate.xml:22418 msgid "" "The <acronym>BIOS</acronym> bytecode, known as <acronym>ACPI</acronym> " "Machine Language (<acronym>AML</acronym>), is compiled from a source " @@ -32145,7 +32277,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22405 +#: book.translate.xml:22430 msgid "" "The goal of FreeBSD is for everyone to have working <acronym>ACPI</acronym> " "without any user intervention. Workarounds are still being developed for " @@ -32162,7 +32294,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22420 +#: book.translate.xml:22445 msgid "" "To help identify buggy behavior and possibly fix it manually, a copy can be " "made of the system's <acronym>ASL</acronym>. To copy the system's " @@ -32172,13 +32304,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:22428 +#: book.translate.xml:22453 #, no-wrap msgid "<prompt>#</prompt> <userinput>acpidump -td > <replaceable>my.asl</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22430 +#: book.translate.xml:22455 msgid "" "Some <acronym>AML</acronym> versions assume the user is running <trademark " "class=\"registered\">Windows</trademark>. To override this, set <literal>hw." @@ -32189,7 +32321,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22437 +#: book.translate.xml:22462 msgid "" "Other workarounds may require <filename>my.asl</filename> to be customized. " "If this file is edited, compile the new <acronym>ASL</acronym> using the " @@ -32198,13 +32330,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:22443 +#: book.translate.xml:22468 #, no-wrap msgid "<prompt>#</prompt> <userinput>iasl -f <replaceable>my.asl</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22445 +#: book.translate.xml:22470 msgid "" "Including <option>-f</option> forces creation of the <acronym>AML</acronym>, " "even if there are errors during compilation. Some errors, such as missing " @@ -32213,7 +32345,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22451 +#: book.translate.xml:22476 msgid "" "The default output filename for <command>iasl</command> is <filename>DSDT." "aml</filename>. Load this file instead of the <acronym>BIOS</acronym>'s " @@ -32222,7 +32354,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:22457 +#: book.translate.xml:22482 #, no-wrap msgid "" "acpi_dsdt_load=\"YES\"\n" @@ -32230,7 +32362,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22460 +#: book.translate.xml:22485 msgid "" "Be sure to copy <filename>DSDT.aml</filename> to <filename>/boot</filename>, " "then reboot the system. If this fixes the problem, send a " @@ -32242,31 +32374,31 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:22470 +#: book.translate.xml:22495 msgid "Getting and Submitting Debugging Info" msgstr "取得與回報除錯資訊" #. (itstool) path: authorgroup/author -#: book.translate.xml:22473 +#: book.translate.xml:22498 msgid "" "<personname> <firstname>Nate</firstname> <surname>Lawson</surname> </" "personname> <contrib>Written by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:22483 +#: book.translate.xml:22508 msgid "" "<personname> <firstname>Peter</firstname> <surname>Schultz</surname> </" "personname> <contrib>With contributions from </contrib>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:22505 +#: book.translate.xml:22530 msgid "<primary>ACPI</primary> <secondary>debugging</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22510 +#: book.translate.xml:22535 msgid "" "The <acronym>ACPI</acronym> driver has a flexible debugging facility. A set " "of subsystems and the level of verbosity can be specified. The subsystems to " @@ -32284,7 +32416,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22526 +#: book.translate.xml:22551 msgid "" "Debugging output is not enabled by default. To enable it, add " "<literal>options ACPI_DEBUG</literal> to the custom kernel configuration " @@ -32295,13 +32427,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:22534 +#: book.translate.xml:22559 #, no-wrap msgid "<prompt>#</prompt> <userinput>cd /sys/modules/acpi/acpi && make clean && make ACPI_DEBUG=1</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22536 +#: book.translate.xml:22561 msgid "" "Copy the compiled <filename>acpi.ko</filename> to <filename>/boot/kernel</" "filename> and add the desired level and layer to <filename>/boot/loader." @@ -32311,7 +32443,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:22543 +#: book.translate.xml:22568 #, no-wrap msgid "" "debug.acpi.layer=\"ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS\"\n" @@ -32319,7 +32451,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22546 +#: book.translate.xml:22571 msgid "" "If the required information is triggered by a specific event, such as a " "suspend and then resume, do not modify <filename>/boot/loader.conf</" @@ -32330,7 +32462,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22560 +#: book.translate.xml:22585 msgid "" "Once the debugging information is gathered, it can be sent to <link xlink:" "href=\"http://lists.FreeBSD.org/mailman/listinfo/freebsd-acpi\">freebsd-" @@ -32340,7 +32472,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:22566 +#: book.translate.xml:22591 msgid "" "Before submitting debugging information to this mailing list, ensure the " "latest <acronym>BIOS</acronym> version is installed and, if available, the " @@ -32348,12 +32480,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22572 +#: book.translate.xml:22597 msgid "When submitting a problem report, include the following information:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:22577 +#: book.translate.xml:22602 msgid "" "Description of the buggy behavior, including system type, model, and " "anything that causes the bug to appear. Note as accurately as possible when " @@ -32361,14 +32493,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:22584 +#: book.translate.xml:22609 msgid "" "The output of <command>dmesg</command> after running <command>boot -v</" "command>, including any error messages generated by the bug." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:22590 +#: book.translate.xml:22615 msgid "" "The <command>dmesg</command> output from <command>boot -v</command> with " "<acronym>ACPI</acronym> disabled, if disabling <acronym>ACPI</acronym> helps " @@ -32376,14 +32508,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:22597 +#: book.translate.xml:22622 msgid "" "Output from <command>sysctl hw.acpi</command>. This lists which features the " "system offers." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:22602 +#: book.translate.xml:22627 msgid "" "The <acronym>URL</acronym> to a pasted version of the system's <acronym>ASL</" "acronym>. Do <emphasis>not</emphasis> send the <acronym>ASL</acronym> " @@ -32392,13 +32524,13 @@ msgid "" msgstr "" #. (itstool) path: listitem/screen -#: book.translate.xml:22609 +#: book.translate.xml:22634 #, no-wrap msgid "<prompt>#</prompt> <userinput>acpidump -dt > <replaceable>name</replaceable>-<replaceable>system</replaceable>.asl</userinput>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:22611 +#: book.translate.xml:22636 msgid "" "Substitute the login name for <replaceable>name</replaceable> and " "manufacturer/model for <replaceable>system</replaceable>. For example, use " @@ -32406,7 +32538,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22618 +#: book.translate.xml:22643 msgid "" "Most FreeBSD developers watch the <link xlink:href=\"http://lists.FreeBSD." "org/mailman/listinfo/freebsd-current\">FreeBSD-CURRENT mailing list</link>, " @@ -32424,14 +32556,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22632 +#: book.translate.xml:22657 msgid "" "More information about <acronym>ACPI</acronym> may be found in the following " "locations:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:22637 +#: book.translate.xml:22662 msgid "" "The FreeBSD <acronym>ACPI</acronym> Mailing List Archives (<uri xlink:href=" "\"http://lists.freebsd.org/pipermail/freebsd-acpi/\">http://lists.freebsd." @@ -32439,14 +32571,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:22642 +#: book.translate.xml:22667 msgid "" "The <acronym>ACPI</acronym> 2.0 Specification (<uri xlink:href=\"http://acpi." "info/spec.htm\">http://acpi.info/spec.htm</uri>)" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:22646 +#: book.translate.xml:22671 msgid "" "<citerefentry><refentrytitle>acpi</refentrytitle><manvolnum>4</manvolnum></" "citerefentry>, <citerefentry><refentrytitle>acpi_thermal</" @@ -32459,22 +32591,22 @@ msgid "" msgstr "" #. (itstool) path: chapter/title -#: book.translate.xml:22663 +#: book.translate.xml:22688 msgid "The FreeBSD Booting Process" msgstr "FreeBSD 開機程序" #. (itstool) path: sect1/indexterm -#: book.translate.xml:22668 +#: book.translate.xml:22693 msgid "<primary>booting</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:22669 +#: book.translate.xml:22694 msgid "<primary>bootstrap</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:22671 +#: book.translate.xml:22696 msgid "" "The process of starting a computer and loading the operating system is " "referred to as <quote>the bootstrap process</quote>, or <quote>booting</" @@ -32490,7 +32622,7 @@ msgstr "" "作業系統的功能。" #. (itstool) path: sect1/para -#: book.translate.xml:22680 +#: book.translate.xml:22705 msgid "" "This chapter details the configuration options that can be set. It " "demonstrates how to customize the FreeBSD boot process, including everything " @@ -32505,53 +32637,53 @@ msgstr "" "citerefentry>。這些事會發生在開機訊息的文字顏色會從亮白變成灰色之間。" #. (itstool) path: sect1/para -#: book.translate.xml:22687 +#: book.translate.xml:22712 msgid "After reading this chapter, you will recognize:" msgstr "在閱讀本章之後,您會了解:" #. (itstool) path: listitem/para -#: book.translate.xml:22691 +#: book.translate.xml:22716 msgid "The components of the FreeBSD bootstrap system and how they interact." msgstr "FreeBSD 開機系統的元件以及它們如何互動。" #. (itstool) path: listitem/para -#: book.translate.xml:22696 +#: book.translate.xml:22721 msgid "" "The options that can be passed to the components in the FreeBSD bootstrap in " "order to control the boot process." msgstr "FreeBSD 開機程式中各元件可使用的選項,用來控制開機程序。" #. (itstool) path: listitem/para -#: book.translate.xml:22701 +#: book.translate.xml:22726 msgid "How to configure a customized boot splash screen." msgstr "如何設定自訂的開機啟動畫面 (Splash screen)。" #. (itstool) path: listitem/para -#: book.translate.xml:22705 +#: book.translate.xml:22730 msgid "The basics of setting device hints." msgstr "設定 Device Hints 的基礎。" #. (itstool) path: listitem/para -#: book.translate.xml:22709 +#: book.translate.xml:22734 msgid "" "How to boot into single- and multi-user mode and how to properly shut down a " "FreeBSD system." msgstr "如何開機進入單人及多人模式以及如何正確關閉 FreeBSD 系統。" #. (itstool) path: note/para -#: book.translate.xml:22715 +#: book.translate.xml:22740 msgid "" "This chapter only describes the boot process for FreeBSD running on x86 and " "amd64 systems." msgstr "本章僅說明 FreeBSD 在 x86 及 amd64 系統上執行的開機流程。" #. (itstool) path: sect1/title -#: book.translate.xml:22721 +#: book.translate.xml:22746 msgid "FreeBSD Boot Process" msgstr "FreeBSD 開機程序" #. (itstool) path: sect1/para -#: book.translate.xml:22723 +#: book.translate.xml:22748 msgid "" "Turning on a computer and starting the operating system poses an interesting " "dilemma. By definition, the computer does not know how to do anything until " @@ -32562,7 +32694,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:22731 +#: book.translate.xml:22756 msgid "" "This problem parallels one in the book <citetitle>The Adventures of Baron " "Munchausen</citetitle>. A character had fallen part way down a manhole, and " @@ -32573,19 +32705,19 @@ msgid "" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:22739 +#: book.translate.xml:22764 msgid "<primary><acronym>BIOS</acronym></primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:22741 +#: book.translate.xml:22766 msgid "" "<primary>Basic Input/Output System</primary><see><acronym>BIOS</acronym></" "see>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:22744 +#: book.translate.xml:22769 msgid "" "On x86 hardware, the Basic Input/Output System (<acronym>BIOS</acronym>) is " "responsible for loading the operating system. The <acronym>BIOS</acronym> " @@ -32598,7 +32730,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:22756 +#: book.translate.xml:22781 msgid "" "FreeBSD provides for booting from both the older <acronym>MBR</acronym> " "standard, and the newer GUID Partition Table (<acronym>GPT</acronym>). " @@ -32613,23 +32745,23 @@ msgstr "" #. (itstool) path: sect1/indexterm #. (itstool) path: sect2/indexterm -#: book.translate.xml:22767 book.translate.xml:22823 +#: book.translate.xml:22792 book.translate.xml:22848 msgid "<primary>Master Boot Record (<acronym>MBR</acronym>)</primary>" msgstr "" #. (itstool) path: sect1/indexterm #. (itstool) path: sect2/indexterm -#: book.translate.xml:22770 book.translate.xml:22821 +#: book.translate.xml:22795 book.translate.xml:22846 msgid "<primary>Boot Manager</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:22772 +#: book.translate.xml:22797 msgid "<primary>Boot Loader</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:22774 +#: book.translate.xml:22799 msgid "" "The code within the <acronym>MBR</acronym> is typically referred to as a " "<emphasis>boot manager</emphasis>, especially when it interacts with the " @@ -32642,7 +32774,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:22784 +#: book.translate.xml:22809 msgid "" "If only one operating system is installed, the <acronym>MBR</acronym> " "searches for the first bootable (active) slice on the disk, and then runs " @@ -32653,7 +32785,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:22792 +#: book.translate.xml:22817 msgid "" "The remainder of the FreeBSD bootstrap system is divided into three stages. " "The first stage knows just enough to get the computer into a specific state " @@ -32666,20 +32798,20 @@ msgid "" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:22803 +#: book.translate.xml:22828 msgid "<primary>kernel</primary>" msgstr "" #. (itstool) path: sect1/indexterm #. (itstool) path: sect2/indexterm -#: book.translate.xml:22804 book.translate.xml:23130 +#: book.translate.xml:22829 book.translate.xml:23155 msgid "" "<primary><citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</" "manvolnum></citerefentry></primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:22806 +#: book.translate.xml:22831 msgid "" "The kernel is then started and begins to probe for devices and initialize " "them for use. Once the kernel boot process is finished, the kernel passes " @@ -32692,19 +32824,19 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:22815 +#: book.translate.xml:22840 msgid "" "This section describes these stages in more detail and demonstrates how to " "interact with the FreeBSD boot process." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:22819 +#: book.translate.xml:22844 msgid "The Boot Manager" msgstr "開機管理程式" #. (itstool) path: sect2/para -#: book.translate.xml:22826 +#: book.translate.xml:22851 msgid "" "The boot manager code in the <acronym>MBR</acronym> is sometimes referred to " "as <emphasis>stage zero</emphasis> of the boot process. By default, FreeBSD " @@ -32712,7 +32844,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22831 +#: book.translate.xml:22856 msgid "" "The <acronym>MBR</acronym> installed by the FreeBSD installer is based on " "<filename>/boot/boot0</filename>. The size and capability of " @@ -32724,12 +32856,12 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:22841 +#: book.translate.xml:22866 msgid "<filename>boot0</filename> Screenshot" msgstr "<filename>boot0</filename> 螢幕截圖" #. (itstool) path: example/screen -#: book.translate.xml:22843 +#: book.translate.xml:22868 #, no-wrap msgid "" "F1 Win\n" @@ -32739,7 +32871,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22849 +#: book.translate.xml:22874 msgid "" "Other operating systems will overwrite an existing <acronym>MBR</acronym> if " "they are installed after FreeBSD. If this happens, or to replace the " @@ -32748,13 +32880,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:22855 +#: book.translate.xml:22880 #, no-wrap msgid "<prompt>#</prompt> <userinput>fdisk -B -b /boot/boot0 <replaceable>device</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22857 +#: book.translate.xml:22882 msgid "" "where <replaceable>device</replaceable> is the boot disk, such as " "<filename>ad0</filename> for the first <acronym>IDE</acronym> disk, " @@ -32766,12 +32898,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:22868 +#: book.translate.xml:22893 msgid "Stage One and Stage Two" msgstr "階段一與階段二" #. (itstool) path: sect2/para -#: book.translate.xml:22870 +#: book.translate.xml:22895 msgid "" "Conceptually, the first and second stages are part of the same program on " "the same area of the disk. Because of space constraints, they have been " @@ -32781,7 +32913,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22877 +#: book.translate.xml:22902 msgid "" "These two stages are located outside file systems, in the first track of the " "boot slice, starting with the first sector. This is where " @@ -32790,7 +32922,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22883 +#: book.translate.xml:22908 msgid "" "The first stage, <filename>boot1</filename>, is very simple, since it can " "only be 512 bytes in size. It knows just enough about the FreeBSD " @@ -32799,7 +32931,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22889 +#: book.translate.xml:22914 msgid "" "Stage two, <filename>boot2</filename>, is slightly more sophisticated, and " "understands the FreeBSD file system enough to find files. It can provide a " @@ -32810,13 +32942,13 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:22899 +#: book.translate.xml:22924 msgid "<filename>boot2</filename> Screenshot" msgstr "<filename>boot2</filename> 螢幕截圖" #. (itstool) path: example/screen #. (itstool) path: step/screen -#: book.translate.xml:22901 book.translate.xml:48476 +#: book.translate.xml:22926 book.translate.xml:48530 #, no-wrap msgid "" ">> FreeBSD/i386 BOOT\n" @@ -32825,7 +32957,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22906 +#: book.translate.xml:22931 msgid "" "To replace the installed <filename>boot1</filename> and <filename>boot2</" "filename>, use <command>bsdlabel</command>, where <replaceable>diskslice</" @@ -32834,13 +32966,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:22912 +#: book.translate.xml:22937 #, no-wrap msgid "<prompt>#</prompt> <userinput>bsdlabel -B <replaceable>diskslice</replaceable></userinput>" msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:22915 +#: book.translate.xml:22940 msgid "" "If just the disk name is used, such as <filename>ad0</filename>, " "<command>bsdlabel</command> will create the disk in <quote>dangerously " @@ -32850,17 +32982,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:22926 +#: book.translate.xml:22951 msgid "Stage Three" msgstr "階段三" #. (itstool) path: sect2/indexterm -#: book.translate.xml:22928 +#: book.translate.xml:22953 msgid "<primary>boot-loader</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22930 +#: book.translate.xml:22955 msgid "" "The <application>loader</application> is the final stage of the three-stage " "bootstrap process. It is located on the file system, usually as <filename>/" @@ -32868,7 +33000,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22935 +#: book.translate.xml:22960 msgid "" "The <application>loader</application> is intended as an interactive method " "for configuration, using a built-in command set, backed up by a more " @@ -32876,7 +33008,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22940 +#: book.translate.xml:22965 msgid "" "During initialization, <application>loader</application> will probe for a " "console and for disks, and figure out which disk it is booting from. It will " @@ -32885,17 +33017,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:22946 +#: book.translate.xml:22971 msgid "<primary>loader</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:22947 +#: book.translate.xml:22972 msgid "<primary>loader configuration</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22949 +#: book.translate.xml:22974 msgid "" "The <application>loader</application> will then read <filename>/boot/loader." "rc</filename>, which by default reads in <filename>/boot/defaults/loader." @@ -32906,7 +33038,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:22958 +#: book.translate.xml:22983 msgid "" "Finally, by default, <application>loader</application> issues a 10 second " "wait for key presses, and boots the kernel if it is not interrupted. If " @@ -32920,31 +33052,31 @@ msgid "" msgstr "" #. (itstool) path: table/title -#: book.translate.xml:22969 +#: book.translate.xml:22994 msgid "Loader Built-In Commands" msgstr "載入程式內建指令" #. (itstool) path: row/entry -#: book.translate.xml:22981 +#: book.translate.xml:23006 msgid "autoboot <replaceable>seconds</replaceable>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:22983 +#: book.translate.xml:23008 msgid "" "Proceeds to boot the kernel if not interrupted within the time span given, " "in seconds. It displays a countdown, and the default time span is 10 seconds." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:22990 +#: book.translate.xml:23015 msgid "" "boot <optional><replaceable>-options</replaceable></optional> " "<optional><replaceable>kernelname</replaceable></optional>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:22993 +#: book.translate.xml:23018 msgid "" "Immediately proceeds to boot the kernel, with any specified options or " "kernel name. Providing a kernel name on the command-line is only applicable " @@ -32955,12 +33087,12 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23005 +#: book.translate.xml:23030 msgid "boot-conf" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23006 +#: book.translate.xml:23031 msgid "" "Goes through the same automatic configuration of modules based on specified " "variables, most commonly <envar>kernel</envar>. This only makes sense if " @@ -32968,12 +33100,12 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23014 +#: book.translate.xml:23039 msgid "help <optional><replaceable>topic</replaceable></optional>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23016 +#: book.translate.xml:23041 msgid "" "Shows help messages read from <filename>/boot/loader.help</filename>. If the " "topic given is <literal>index</literal>, the list of available topics is " @@ -32981,26 +33113,26 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23023 +#: book.translate.xml:23048 msgid "include <replaceable>filename</replaceable> …" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23025 +#: book.translate.xml:23050 msgid "" "Reads the specified file and interprets it line by line. An error " "immediately stops the <command>include</command>." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23031 +#: book.translate.xml:23056 msgid "" "load <optional>-t <replaceable>type</replaceable></optional> " "<replaceable>filename</replaceable>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23034 +#: book.translate.xml:23059 msgid "" "Loads the kernel, kernel module, or file of the type given, with the " "specified filename. Any arguments after <replaceable>filename</replaceable> " @@ -33010,14 +33142,14 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23045 +#: book.translate.xml:23070 msgid "" "ls <optional>-l</optional> <optional><replaceable>path</replaceable></" "optional>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23047 +#: book.translate.xml:23072 msgid "" "Displays a listing of files in the given path, or the root directory, if the " "path is not specified. If <option>-l</option> is specified, file sizes will " @@ -33025,102 +33157,102 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23054 +#: book.translate.xml:23079 msgid "lsdev <optional>-v</optional>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23055 +#: book.translate.xml:23080 msgid "" "Lists all of the devices from which it may be possible to load modules. If " "<option>-v</option> is specified, more details are printed." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23061 +#: book.translate.xml:23086 msgid "lsmod <optional>-v</optional>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23062 +#: book.translate.xml:23087 msgid "" "Displays loaded modules. If <option>-v</option> is specified, more details " "are shown." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23067 +#: book.translate.xml:23092 msgid "more <replaceable>filename</replaceable>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23068 +#: book.translate.xml:23093 msgid "" "Displays the files specified, with a pause at each <varname>LINES</varname> " "displayed." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23073 +#: book.translate.xml:23098 msgid "reboot" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23074 +#: book.translate.xml:23099 msgid "Immediately reboots the system." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23078 +#: book.translate.xml:23103 msgid "" "set <replaceable>variable</replaceable>, set <replaceable>variable</" "replaceable>=<replaceable>value</replaceable>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23080 +#: book.translate.xml:23105 msgid "Sets the specified environment variables." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23084 +#: book.translate.xml:23109 msgid "unload" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23085 +#: book.translate.xml:23110 msgid "Removes all loaded modules." msgstr "" #. (itstool) path: para/indexterm #. (itstool) path: sect3/indexterm #. (itstool) path: sect2/indexterm -#: book.translate.xml:23093 book.translate.xml:23203 book.translate.xml:45306 +#: book.translate.xml:23118 book.translate.xml:23228 book.translate.xml:45360 msgid "<primary>single-user mode</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23091 +#: book.translate.xml:23116 msgid "" "Here are some practical examples of loader usage. To boot the usual kernel " "in single-user mode <_:indexterm-1/>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:23096 +#: book.translate.xml:23121 #, no-wrap msgid "<userinput>boot -s</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23098 +#: book.translate.xml:23123 msgid "" "To unload the usual kernel and modules and then load the previous or " "another, specified kernel:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:23101 +#: book.translate.xml:23126 #, no-wrap msgid "" "<userinput>unload</userinput>\n" @@ -33128,7 +33260,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23104 +#: book.translate.xml:23129 msgid "" "Use <filename>kernel.GENERIC</filename> to refer to the default kernel that " "comes with an installation, or <filename>kernel.old</filename>, to refer to " @@ -33137,12 +33269,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23110 +#: book.translate.xml:23135 msgid "Use the following to load the usual modules with another kernel:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:23113 +#: book.translate.xml:23138 #, no-wrap msgid "" "<userinput>unload</userinput>\n" @@ -33151,28 +33283,28 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23117 +#: book.translate.xml:23142 msgid "To load an automated kernel configuration script:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:23119 +#: book.translate.xml:23144 #, no-wrap msgid "<userinput>load -t userconfig_script <replaceable>/boot/kernel.conf</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:23121 +#: book.translate.xml:23146 msgid "<primary>kernel</primary> <secondary>boot interaction</secondary>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:23128 +#: book.translate.xml:23153 msgid "Last Stage" msgstr "最終階段" #. (itstool) path: sect2/para -#: book.translate.xml:23134 +#: book.translate.xml:23159 msgid "" "Once the kernel is loaded by either <application>loader</application> or by " "<application>boot2</application>, which bypasses <application>loader</" @@ -33184,49 +33316,49 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:23142 +#: book.translate.xml:23167 msgid "<primary>kernel</primary> <secondary>bootflags</secondary>" msgstr "" #. (itstool) path: table/title -#: book.translate.xml:23148 +#: book.translate.xml:23173 msgid "Kernel Interaction During Boot" msgstr "開機時核心互動參數" #. (itstool) path: row/entry -#: book.translate.xml:23161 +#: book.translate.xml:23186 msgid "" "During kernel initialization, ask for the device to mount as the root file " "system." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23166 +#: book.translate.xml:23191 msgid "<option>-C</option>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23167 +#: book.translate.xml:23192 msgid "Boot the root file system from a <acronym>CDROM</acronym>." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23172 +#: book.translate.xml:23197 msgid "<option>-s</option>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23173 +#: book.translate.xml:23198 msgid "Boot into single-user mode." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:23178 +#: book.translate.xml:23203 msgid "Be more verbose during kernel startup." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23184 +#: book.translate.xml:23209 msgid "" "Once the kernel has finished booting, it passes control to the user process " "<citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</manvolnum></" @@ -33236,7 +33368,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23191 +#: book.translate.xml:23216 msgid "" "The boot sequence makes sure that the file systems available on the system " "are consistent. If a <acronym>UFS</acronym> file system is not, and " @@ -33247,12 +33379,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:23201 +#: book.translate.xml:23226 msgid "Single-User Mode" msgstr "單使用者模式" #. (itstool) path: sect3/para -#: book.translate.xml:23206 +#: book.translate.xml:23231 msgid "" "A user can specify this mode by booting with <option>-s</option> or by " "setting the <envar>boot_single</envar> variable in <application>loader</" @@ -33261,13 +33393,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:23213 +#: book.translate.xml:23238 #, no-wrap msgid "Enter full pathname of shell or RETURN for /bin/sh:" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:23215 +#: book.translate.xml:23240 msgid "" "If the user presses <keycap>Enter</keycap>, the system will enter the " "default Bourne shell. To specify a different shell, input the full path to " @@ -33275,7 +33407,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:23219 +#: book.translate.xml:23244 msgid "" "Single-user mode is usually used to repair a system that will not boot due " "to an inconsistent file system or an error in a boot configuration file. It " @@ -33286,7 +33418,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:23228 +#: book.translate.xml:23253 msgid "" "While single-user mode is useful for repairing a system, it poses a security " "risk unless the system is in a physically secure location. By default, any " @@ -33295,7 +33427,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:23234 +#: book.translate.xml:23259 msgid "" "If the system <literal>console</literal> is changed to <literal>insecure</" "literal> in <filename>/etc/ttys</filename>, the system will first prompt for " @@ -33306,12 +33438,12 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:23244 +#: book.translate.xml:23269 msgid "Configuring an Insecure Console in <filename>/etc/ttys</filename>" msgstr "在 <filename>/etc/ttys</filename> 設定不安全的 Console" #. (itstool) path: example/programlisting -#: book.translate.xml:23247 +#: book.translate.xml:23272 #, no-wrap msgid "" "# name getty type status comments\n" @@ -33322,7 +33454,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:23254 +#: book.translate.xml:23279 msgid "" "An <literal>insecure</literal> console means that physical security to the " "console is considered to be insecure, so only someone who knows the " @@ -33331,17 +33463,17 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:23261 +#: book.translate.xml:23286 msgid "Multi-User Mode" msgstr "多使用者模式" #. (itstool) path: sect3/indexterm -#: book.translate.xml:23263 +#: book.translate.xml:23288 msgid "<primary>multi-user mode</primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:23265 +#: book.translate.xml:23290 msgid "" "If <application>init</application> finds the file systems to be in order, or " "once the user has finished their commands in single-user mode and has typed " @@ -33350,12 +33482,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:23272 +#: book.translate.xml:23297 msgid "<primary>rc files</primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:23274 +#: book.translate.xml:23299 msgid "" "The resource configuration system reads in configuration defaults from " "<filename>/etc/defaults/rc.conf</filename> and system-specific details from " @@ -33366,7 +33498,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:23283 +#: book.translate.xml:23308 msgid "" "To learn more about the resource configuration system, refer to " "<citerefentry><refentrytitle>rc</refentrytitle><manvolnum>8</manvolnum></" @@ -33375,19 +33507,19 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:23298 +#: book.translate.xml:23323 msgid "Configuring Boot Time Splash Screens" msgstr "設定開機啟動畫面" #. (itstool) path: authorgroup/author -#: book.translate.xml:23301 book.translate.xml:57910 +#: book.translate.xml:23326 book.translate.xml:57964 msgid "" "<personname> <firstname>Joseph J.</firstname> <surname>Barbish</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23311 +#: book.translate.xml:23336 msgid "" "Typically when a FreeBSD system boots, it displays its progress as a series " "of messages at the console. A boot splash screen creates an alternate boot " @@ -33399,7 +33531,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23321 +#: book.translate.xml:23346 msgid "" "There are two basic environments available in FreeBSD. The first is the " "default legacy virtual console command line environment. After the system " @@ -33410,7 +33542,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23329 +#: book.translate.xml:23354 msgid "" "Once the system has booted, the splash screen defaults to being a screen " "saver. After a time period of non-use, the splash screen will display and " @@ -33425,7 +33557,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23340 +#: book.translate.xml:23365 msgid "" "Sample splash screen files can be downloaded from the gallery at <link xlink:" "href=\"http://artwork.freebsdgr.org/node/3/\">http://artwork.freebsdgr.org</" @@ -33435,7 +33567,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23346 +#: book.translate.xml:23371 msgid "" "The splash screen function supports 256-colors in the bitmap (<filename>." "bmp</filename>), ZSoft <acronym>PCX</acronym> (<filename>.pcx</filename>), " @@ -33451,7 +33583,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:23361 +#: book.translate.xml:23386 #, no-wrap msgid "" "splash_bmp_load=\"YES\"\n" @@ -33460,12 +33592,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23365 +#: book.translate.xml:23390 msgid "To use a <acronym>PCX</acronym> file instead of a bitmap file:" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:23368 +#: book.translate.xml:23393 #, no-wrap msgid "" "splash_pcx_load=\"YES\"\n" @@ -33474,14 +33606,14 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23372 +#: book.translate.xml:23397 msgid "" "To instead use ASCII art in the <link xlink:href=\"https://en.wikipedia.org/" "wiki/TheDraw\">https://en.wikipedia.org/wiki/TheDraw</link> format:" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:23375 +#: book.translate.xml:23400 #, no-wrap msgid "" "splash_txt=\"YES\"\n" @@ -33490,7 +33622,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23379 +#: book.translate.xml:23404 msgid "" "To use larger images that fill the whole display screen, up to the maximum " "resolution of 1024 by 768 pixels, the <acronym>VESA</acronym> module must " @@ -33502,23 +33634,23 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:23389 +#: book.translate.xml:23414 #, no-wrap msgid "vesa_load=\"YES\"" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23391 +#: book.translate.xml:23416 msgid "Other interesting <filename>loader.conf</filename> options include:" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:23395 +#: book.translate.xml:23420 msgid "<literal>beastie_disable=\"YES\"</literal>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:23398 +#: book.translate.xml:23423 msgid "" "This will stop the boot options menu from being displayed, but the timed " "wait count down prompt will still be present. Even with the display of the " @@ -33527,12 +33659,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:23407 +#: book.translate.xml:23432 msgid "<literal>loader_logo=\"beastie\"</literal>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:23410 +#: book.translate.xml:23435 msgid "" "This will replace the default words <quote>FreeBSD</quote>, which are " "displayed to the right of the boot options menu, with the colored beastie " @@ -33540,7 +33672,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23418 +#: book.translate.xml:23443 msgid "" "For more information, refer to <citerefentry><refentrytitle>splash</" "refentrytitle><manvolnum>4</manvolnum></citerefentry>, " @@ -33550,17 +33682,17 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:23424 +#: book.translate.xml:23449 msgid "Device Hints" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:23437 +#: book.translate.xml:23462 msgid "<primary>device.hints</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23441 +#: book.translate.xml:23466 msgid "" "During initial system startup, the boot <citerefentry><refentrytitle>loader</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> reads <citerefentry " @@ -33572,7 +33704,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23447 +#: book.translate.xml:23472 msgid "" "Device hints may also be specified at the Stage 3 boot loader prompt, as " "demonstrated in <xref linkend=\"boot-loader\"/>. Variables can be added " @@ -33583,7 +33715,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23456 +#: book.translate.xml:23481 msgid "" "Once the system is booted, <citerefentry><refentrytitle>kenv</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> can be used to dump " @@ -33591,7 +33723,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23459 +#: book.translate.xml:23484 msgid "" "The syntax for <filename>/boot/device.hints</filename> is one variable per " "line, using the hash <quote>#</quote> as comment markers. Lines are " @@ -33599,24 +33731,24 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:23464 +#: book.translate.xml:23489 #, no-wrap msgid "<userinput>hint.driver.unit.keyword=\"<replaceable>value</replaceable>\"</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23466 +#: book.translate.xml:23491 msgid "The syntax for the Stage 3 boot loader is:" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:23468 +#: book.translate.xml:23493 #, no-wrap msgid "<userinput>set hint.driver.unit.keyword=<replaceable>value</replaceable></userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23470 +#: book.translate.xml:23495 msgid "" "where <literal>driver</literal> is the device driver name, <literal>unit</" "literal> is the device driver unit number, and <literal>keyword</literal> is " @@ -33624,50 +33756,50 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:23477 +#: book.translate.xml:23502 msgid "" "<literal>at</literal>: specifies the bus which the device is attached to." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:23482 +#: book.translate.xml:23507 msgid "" "<literal>port</literal>: specifies the start address of the <acronym>I/O</" "acronym> to be used." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:23487 +#: book.translate.xml:23512 msgid "" "<literal>irq</literal>: specifies the interrupt request number to be used." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:23492 +#: book.translate.xml:23517 msgid "<literal>drq</literal>: specifies the DMA channel number." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:23497 +#: book.translate.xml:23522 msgid "" "<literal>maddr</literal>: specifies the physical memory address occupied by " "the device." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:23502 +#: book.translate.xml:23527 msgid "<literal>flags</literal>: sets various flag bits for the device." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:23507 +#: book.translate.xml:23532 msgid "" "<literal>disabled</literal>: if set to <literal>1</literal> the device is " "disabled." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23512 +#: book.translate.xml:23537 msgid "" "Since device drivers may accept or require more hints not listed here, " "viewing a driver's manual page is recommended. For more information, refer " @@ -33681,19 +33813,19 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:23519 +#: book.translate.xml:23544 msgid "Shutdown Sequence" msgstr "關機程序" #. (itstool) path: sect1/indexterm -#: book.translate.xml:23521 +#: book.translate.xml:23546 msgid "" "<primary><citerefentry><refentrytitle>shutdown</refentrytitle><manvolnum>8</" "manvolnum></citerefentry></primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23525 +#: book.translate.xml:23550 msgid "" "Upon controlled shutdown using <citerefentry><refentrytitle>shutdown</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, " @@ -33705,7 +33837,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23532 +#: book.translate.xml:23557 msgid "" "To power down a FreeBSD machine on architectures and systems that support " "power management, use <command>shutdown -p now</command> to turn the power " @@ -33722,13 +33854,13 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23544 +#: book.translate.xml:23569 msgid "" "Modify group membership by referring to <xref linkend=\"users-synopsis\"/>." msgstr "" #. (itstool) path: note/para -#: book.translate.xml:23548 +#: book.translate.xml:23573 msgid "" "Power management requires <citerefentry><refentrytitle>acpi</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> to be loaded as a " @@ -33737,24 +33869,24 @@ msgstr "" #. (itstool) path: info/title #. (itstool) path: sect3/title -#: book.translate.xml:23563 book.translate.xml:56478 +#: book.translate.xml:23588 book.translate.xml:56532 msgid "Security" msgstr "安全性" #. (itstool) path: authorgroup/author -#: book.translate.xml:23566 +#: book.translate.xml:23591 msgid "" "<personname> <firstname>Tom</firstname> <surname>Rhodes</surname> </" "personname> <contrib>Rewritten by </contrib>" msgstr "" #. (itstool) path: chapter/indexterm -#: book.translate.xml:23576 +#: book.translate.xml:23601 msgid "<primary>security</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23581 +#: book.translate.xml:23606 msgid "" "Security, whether physical or virtual, is a topic so broad that an entire " "industry has evolved around it. Hundreds of standard practices have been " @@ -33765,7 +33897,7 @@ msgstr "" "來搛寫如何確保系統與網路的安全性。身為 FreeBSD 必須了解如何避免攻擊與入侵。" #. (itstool) path: sect1/para -#: book.translate.xml:23587 +#: book.translate.xml:23612 msgid "" "In this chapter, several fundamentals and techniques will be discussed. The " "FreeBSD system comes with multiple layers of security, and many more third " @@ -33775,22 +33907,22 @@ msgstr "" "方工具可以用來增加安全性。" #. (itstool) path: listitem/para -#: book.translate.xml:23596 +#: book.translate.xml:23621 msgid "Basic FreeBSD system security concepts." msgstr "基礎 FreeBSD 系統安全概念。" #. (itstool) path: listitem/para -#: book.translate.xml:23600 +#: book.translate.xml:23625 msgid "The various crypt mechanisms available in FreeBSD." msgstr "FreeBSD 中的幾種加密 (Crypt) 機制。" #. (itstool) path: listitem/para -#: book.translate.xml:23604 +#: book.translate.xml:23629 msgid "How to set up one-time password authentication." msgstr "如何設定一次性密碼認證。" #. (itstool) path: listitem/para -#: book.translate.xml:23608 +#: book.translate.xml:23633 msgid "" "How to configure <application>TCP Wrapper</application> for use with " "<citerefentry><refentrytitle>inetd</refentrytitle><manvolnum>8</manvolnum></" @@ -33800,29 +33932,29 @@ msgstr "" "manvolnum></citerefentry> 中的 <application>TCP Wrapper</application>。" #. (itstool) path: listitem/para -#: book.translate.xml:23613 +#: book.translate.xml:23638 msgid "How to set up <application>Kerberos</application> on FreeBSD." msgstr "如何在 FreeBSD 設定 <application>Kerberos</application>。" #. (itstool) path: listitem/para -#: book.translate.xml:23618 +#: book.translate.xml:23643 msgid "" "How to configure <acronym>IPsec</acronym> and create a <acronym>VPN</" "acronym>." msgstr "如何設定 <acronym>IPsec</acronym> 並且建立 <acronym>VPN</acronym>。" #. (itstool) path: listitem/para -#: book.translate.xml:23623 +#: book.translate.xml:23648 msgid "How to configure and use <application>OpenSSH</application> on FreeBSD." msgstr "如何在 FreeBSD 設定並使用 <application>OpenSSH</application>" #. (itstool) path: listitem/para -#: book.translate.xml:23628 +#: book.translate.xml:23653 msgid "How to use file system <acronym>ACL</acronym>s." msgstr "如何使用檔案系統 <acronym>ACL</acronym>。" #. (itstool) path: listitem/para -#: book.translate.xml:23632 +#: book.translate.xml:23657 msgid "" "How to use <application>pkg</application> to audit third party software " "packages installed from the Ports Collection." @@ -33831,29 +33963,29 @@ msgstr "" "套件。" #. (itstool) path: listitem/para -#: book.translate.xml:23638 +#: book.translate.xml:23663 msgid "How to utilize FreeBSD security advisories." msgstr "如何利用 FreeBSD 安全報告。" #. (itstool) path: listitem/para -#: book.translate.xml:23642 +#: book.translate.xml:23667 msgid "What Process Accounting is and how to enable it on FreeBSD." msgstr "什麼是程序追蹤 (Process Accounting) 以及如何在 FreeBSD 開啟。" #. (itstool) path: listitem/para -#: book.translate.xml:23647 +#: book.translate.xml:23672 msgid "" "How to control user resources using login classes or the resource limits " "database." msgstr "如何使用登入類別或資源限制資料庫控制使用者資源。" #. (itstool) path: listitem/para -#: book.translate.xml:23656 book.translate.xml:58026 +#: book.translate.xml:23681 book.translate.xml:58080 msgid "Understand basic FreeBSD and Internet concepts." msgstr "了解 FreeBSD 基礎及網路概念。" #. (itstool) path: sect1/para -#: book.translate.xml:23660 +#: book.translate.xml:23685 msgid "" "Additional security topics are covered elsewhere in this Handbook. For " "example, Mandatory Access Control is discussed in <xref linkend=\"mac\"/> " @@ -33864,7 +33996,7 @@ msgstr "" "linkend=\"firewalls\"/> 討論。" #. (itstool) path: sect1/para -#: book.translate.xml:23669 +#: book.translate.xml:23694 msgid "" "Security is everyone's responsibility. A weak entry point in any system " "could allow intruders to gain access to critical information and cause havoc " @@ -33874,7 +34006,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23677 +#: book.translate.xml:23702 msgid "" "The <acronym>CIA</acronym> triad is a bedrock concept of computer security " "as customers and users expect their data to be protected. For example, a " @@ -33885,7 +34017,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23685 +#: book.translate.xml:23710 msgid "" "To provide <acronym>CIA</acronym>, security professionals apply a defense in " "depth strategy. The idea of defense in depth is to add several layers of " @@ -33898,7 +34030,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23696 +#: book.translate.xml:23721 msgid "" "What is a threat as it pertains to computer security? Threats are not " "limited to remote attackers who attempt to access a system without " @@ -33908,7 +34040,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23703 +#: book.translate.xml:23728 msgid "" "Systems and networks can be accessed without permission, sometimes by " "accident, or by remote attackers, and in some cases, via corporate espionage " @@ -33919,7 +34051,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23711 +#: book.translate.xml:23736 msgid "" "When applying security to systems, it is recommended to start by securing " "the basic accounts and system configuration, and then to secure the network " @@ -33933,7 +34065,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:23723 +#: book.translate.xml:23748 msgid "" "The rest of this introduction describes how some of these basic security " "configurations are performed on a FreeBSD system. The rest of this chapter " @@ -33942,12 +34074,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:23730 +#: book.translate.xml:23755 msgid "Preventing Logins" msgstr "防止登入" #. (itstool) path: sect2/para -#: book.translate.xml:23732 +#: book.translate.xml:23757 msgid "" "In securing a system, a good starting point is an audit of accounts. Ensure " "that <systemitem class=\"username\">root</systemitem> has a strong password " @@ -33956,7 +34088,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23737 +#: book.translate.xml:23762 msgid "" "To deny login access to accounts, two methods exist. The first is to lock " "the account. This example locks the <systemitem class=\"username\">toor</" @@ -33964,13 +34096,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:23741 +#: book.translate.xml:23766 #, no-wrap msgid "<prompt>#</prompt> <userinput>pw lock <replaceable>toor</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23743 +#: book.translate.xml:23768 msgid "" "The second method is to prevent login access by changing the shell to " "<filename>/sbin/nologin</filename>. Only the superuser can change the shell " @@ -33978,25 +34110,25 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:23747 +#: book.translate.xml:23772 #, no-wrap msgid "<prompt>#</prompt> <userinput>chsh -s /usr/sbin/nologin <replaceable>toor</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23749 +#: book.translate.xml:23774 msgid "" "The <filename>/usr/sbin/nologin</filename> shell prevents the system from " "assigning a shell to the user when they attempt to login." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:23755 +#: book.translate.xml:23780 msgid "Permitted Account Escalation" msgstr "帳號升級授權" #. (itstool) path: sect2/para -#: book.translate.xml:23757 +#: book.translate.xml:23782 msgid "" "In some cases, system administration needs to be shared with other users. " "FreeBSD has two methods to handle this. The first one, which is not " @@ -34012,7 +34144,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23771 +#: book.translate.xml:23796 msgid "" "The second, and recommended, method to permit privilege escalation is to " "install the <package>security/sudo</package> package or port. This software " @@ -34021,7 +34153,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23778 +#: book.translate.xml:23803 msgid "" "After installation, use <command>visudo</command> to edit <filename>/usr/" "local/etc/sudoers</filename>. This example creates a new <systemitem class=" @@ -34031,7 +34163,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:23785 +#: book.translate.xml:23810 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>pw groupadd webadmin -M trhodes -g 6000</userinput>\n" @@ -34040,12 +34172,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:23791 +#: book.translate.xml:23816 msgid "Password Hashes" msgstr "密碼編碼方式" #. (itstool) path: sect2/para -#: book.translate.xml:23793 +#: book.translate.xml:23818 msgid "" "Passwords are a necessary evil of technology. When they must be used, they " "should be complex and a powerful hash mechanism should be used to encrypt " @@ -34058,7 +34190,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:23805 +#: book.translate.xml:23830 msgid "" "Blowfish is not part of <acronym>AES</acronym> and is not considered " "compliant with any Federal Information Processing Standards (<acronym>FIPS</" @@ -34066,7 +34198,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23811 +#: book.translate.xml:23836 msgid "" "To determine which hash algorithm is used to encrypt a user's password, the " "superuser can view the hash for the user in the FreeBSD password database. " @@ -34082,7 +34214,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:23827 +#: book.translate.xml:23852 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>grep dru /etc/master.passwd</userinput>\n" @@ -34090,7 +34222,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23830 +#: book.translate.xml:23855 msgid "" "The hash mechanism is set in the user's login class. For this example, the " "user is in the <literal>default</literal> login class and the hash algorithm " @@ -34098,25 +34230,25 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:23835 +#: book.translate.xml:23860 #, no-wrap msgid " :passwd_format=sha512:\\" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23837 +#: book.translate.xml:23862 msgid "" "To change the algorithm to Blowfish, modify that line to look like this:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:23840 +#: book.translate.xml:23865 #, no-wrap msgid " :passwd_format=blf:\\" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23842 +#: book.translate.xml:23867 msgid "" "Then run <command>cap_mkdb /etc/login.conf</command> as described in <xref " "linkend=\"users-limiting\"/>. Note that this change will not affect any " @@ -34126,7 +34258,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23849 +#: book.translate.xml:23874 msgid "" "For remote logins, two-factor authentication should be used. An example of " "two-factor authentication is <quote>something you have</quote>, such as a " @@ -34140,12 +34272,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:23863 +#: book.translate.xml:23888 msgid "Password Policy Enforcement" msgstr "強制密碼政策" #. (itstool) path: sect2/para -#: book.translate.xml:23865 +#: book.translate.xml:23890 msgid "" "Enforcing a strong password policy for local accounts is a fundamental " "aspect of system security. In FreeBSD, password length, password strength, " @@ -34154,7 +34286,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23871 +#: book.translate.xml:23896 msgid "" "This section demonstrates how to configure the minimum and maximum password " "length and the enforcement of mixed characters using the " @@ -34163,7 +34295,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23877 +#: book.translate.xml:23902 msgid "" "To configure this module, become the superuser and uncomment the line " "containing <literal>pam_passwdqc.so</literal> in <filename>/etc/pam.d/" @@ -34171,13 +34303,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:23883 +#: book.translate.xml:23908 #, no-wrap msgid "password requisite pam_passwdqc.so <replaceable>min=disabled,disabled,disabled,12,10 similar=deny retry=3</replaceable> enforce=users" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23885 +#: book.translate.xml:23910 msgid "" "This example sets several requirements for new passwords. The <literal>min</" "literal> setting controls the minimum password length. It has five values " @@ -34196,7 +34328,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23902 +#: book.translate.xml:23927 msgid "" "The <literal>similar</literal> setting denies passwords that are similar to " "the user's previous password. The <literal>retry</literal> setting provides " @@ -34204,14 +34336,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23907 +#: book.translate.xml:23932 msgid "" "Once this file is saved, a user changing their password will see a message " "similar to the following:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:23910 +#: book.translate.xml:23935 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>passwd</userinput>\n" @@ -34231,7 +34363,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23925 +#: book.translate.xml:23950 msgid "" "If a password that does not match the policy is entered, it will be rejected " "with a warning and the user will have an opportunity to try again, up to the " @@ -34239,7 +34371,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23930 +#: book.translate.xml:23955 msgid "" "Most password policies require passwords to expire after so many days. To " "set a password age time in FreeBSD, set <option>passwordtime</option> for " @@ -34248,13 +34380,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:23937 +#: book.translate.xml:23962 #, no-wrap msgid "# :passwordtime=90d:\\" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23939 +#: book.translate.xml:23964 msgid "" "So, to set an expiry of 90 days for this login class, remove the comment " "symbol (<literal>#</literal>), save the edit, and run <command>cap_mkdb /etc/" @@ -34262,20 +34394,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23944 +#: book.translate.xml:23969 msgid "" "To set the expiration on individual users, pass an expiration date or the " "number of days to expiry and a username to <command>pw</command>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:23948 +#: book.translate.xml:23973 #, no-wrap msgid "<prompt>#</prompt> <userinput>pw usermod -p <replaceable>30-apr-2015</replaceable> -n <replaceable>trhodes</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23950 +#: book.translate.xml:23975 msgid "" "As seen here, an expiration date is set in the form of day, month, and year. " "For more information, see <citerefentry><refentrytitle>pw</" @@ -34283,12 +34415,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:23956 +#: book.translate.xml:23981 msgid "Detecting Rootkits" msgstr "偵測 Rootkits" #. (itstool) path: sect2/para -#: book.translate.xml:23958 +#: book.translate.xml:23983 msgid "" "A <firstterm>rootkit</firstterm> is any unauthorized software that attempts " "to gain <systemitem class=\"username\">root</systemitem> access to a system. " @@ -34301,7 +34433,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23968 +#: book.translate.xml:23993 msgid "" "A rootkit does do one thing usefulfor administrators: once detected, it is a " "sign that a compromise happened at some point. But, these types of " @@ -34310,7 +34442,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23974 +#: book.translate.xml:23999 msgid "" "After installation of this package or port, the system may be checked using " "the following command. It will produce a lot of information and will require " @@ -34318,13 +34450,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:23979 +#: book.translate.xml:24004 #, no-wrap msgid "<prompt>#</prompt> <userinput>rkhunter -c</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23981 +#: book.translate.xml:24006 msgid "" "After the process completes, a status message will be printed to the screen. " "This message will include the amount of files checked, suspect files, " @@ -34336,7 +34468,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:23991 +#: book.translate.xml:24016 msgid "" "Every administrator should know what is running on the systems they are " "responsible for. Third-party tools like <application>rkhunter</application> " @@ -34348,12 +34480,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:24003 +#: book.translate.xml:24028 msgid "Binary Verification" msgstr "Binary 檢驗" #. (itstool) path: sect2/para -#: book.translate.xml:24005 +#: book.translate.xml:24030 msgid "" "Verification of system files and binaries is important because it provides " "the system administration and security teams information about system " @@ -34362,7 +34494,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24011 +#: book.translate.xml:24036 msgid "" "FreeBSD provides native support for a basic <acronym>IDS</acronym> system. " "While the nightly security emails will notify an administrator of changes, " @@ -34375,7 +34507,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24022 +#: book.translate.xml:24047 msgid "" "The built-in <command>mtree</command> utility can be used to generate a " "specification of the contents of a directory. A seed, or a numeric constant, " @@ -34391,7 +34523,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:24035 +#: book.translate.xml:24060 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mtree -s <replaceable>3483151339707503</replaceable> -c -K cksum,sha256digest -p <replaceable>/bin</replaceable> > <replaceable>/root/.bin_chksum_mtree</replaceable></userinput>\n" @@ -34399,21 +34531,21 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24038 +#: book.translate.xml:24063 msgid "" "The <replaceable>3483151339707503</replaceable> represents the seed. This " "value should be remembered, but not shared." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24042 +#: book.translate.xml:24067 msgid "" "Viewing <filename>/root/.bin_cksum_mtree</filename> should yield output " "similar to the following:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:24045 +#: book.translate.xml:24070 #, no-wrap msgid "" "# user: root\n" @@ -34439,7 +34571,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24066 +#: book.translate.xml:24091 msgid "" "The machine's hostname, the date and time the specification was created, and " "the name of the user who created the specification are included in this " @@ -34448,7 +34580,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24072 +#: book.translate.xml:24097 msgid "" "To verify that the binary signatures have not changed, compare the current " "contents of the directory to the previously generated specification, and " @@ -34457,7 +34589,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:24078 +#: book.translate.xml:24103 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mtree -s <replaceable>3483151339707503</replaceable> -p <replaceable>/bin</replaceable> < <replaceable>/root/.bin_chksum_mtree</replaceable> >> <replaceable>/root/.bin_chksum_output</replaceable></userinput>\n" @@ -34465,7 +34597,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24081 +#: book.translate.xml:24106 msgid "" "This should produce the same checksum for <filename>/bin</filename> that was " "produced when the specification was created. If no changes have occurred to " @@ -34476,7 +34608,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:24090 +#: book.translate.xml:24115 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>touch /bin/cat</userinput>\n" @@ -34487,7 +34619,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24096 +#: book.translate.xml:24121 msgid "" "It is recommended to create specifications for the directories which contain " "binaries and configuration files, as well as any directories containing " @@ -34498,7 +34630,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24106 +#: book.translate.xml:24131 msgid "" "More advanced <acronym>IDS</acronym> systems exist, such as " "<package>security/aide</package>. In most cases, <command>mtree</command> " @@ -34510,12 +34642,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:24116 +#: book.translate.xml:24141 msgid "System Tuning for Security" msgstr "系統安全性調校" #. (itstool) path: sect2/para -#: book.translate.xml:24118 +#: book.translate.xml:24143 msgid "" "In FreeBSD, many system features can be tuned using <command>sysctl</" "command>. A few of the security features which can be tuned to prevent " @@ -34526,7 +34658,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:24128 +#: book.translate.xml:24153 msgid "" "Any time a setting is changed with <command>sysctl</command>, the chance to " "cause undesired harm is increased, affecting the availability of the system. " @@ -34535,7 +34667,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24136 +#: book.translate.xml:24161 msgid "" "By default, the FreeBSD kernel boots with a security level of <literal>-1</" "literal>. This is called <quote>insecure mode</quote> because immutable file " @@ -34553,14 +34685,14 @@ msgid "" msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:24152 +#: book.translate.xml:24177 msgid "" "Increasing the <varname>securelevel</varname> can break <application>Xorg</" "application> and cause other issues. Be prepared to do some debugging." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24157 +#: book.translate.xml:24182 msgid "" "The <varname>net.inet.tcp.blackhole</varname> and <varname>net.inet.udp." "blackhole</varname> settings can be used to drop incoming <acronym>SYN</" @@ -34576,7 +34708,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24171 +#: book.translate.xml:24196 msgid "" "The <varname>net.inet.icmp.drop_redirect</varname> and <varname>net.inet.ip." "redirect</varname> settings help prevent against <firstterm>redirect " @@ -34588,7 +34720,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24182 +#: book.translate.xml:24207 msgid "" "Source routing is a method for detecting and accessing non-routable " "addresses on the internal network. This should be disabled as non-routable " @@ -34598,7 +34730,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24190 +#: book.translate.xml:24215 msgid "" "When a machine on the network needs to send messages to all hosts on a " "subnet, an <acronym>ICMP</acronym> echo request message is sent to the " @@ -34608,7 +34740,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24198 +#: book.translate.xml:24223 msgid "" "Some additional settings are documented in " "<citerefentry><refentrytitle>security</refentrytitle><manvolnum>7</" @@ -34616,22 +34748,22 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:24204 +#: book.translate.xml:24229 msgid "One-time Passwords" msgstr "一次性密碼" #. (itstool) path: sect1/indexterm -#: book.translate.xml:24206 +#: book.translate.xml:24231 msgid "<primary>one-time passwords</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:24207 +#: book.translate.xml:24232 msgid "<primary>security</primary> <secondary>one-time passwords</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:24212 +#: book.translate.xml:24237 msgid "" "By default, FreeBSD includes support for One-time Passwords In Everything " "(<acronym>OPIE</acronym>). <acronym>OPIE</acronym> is designed to prevent " @@ -34644,7 +34776,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:24223 +#: book.translate.xml:24248 msgid "" "<acronym>OPIE</acronym> uses three different types of passwords. The first " "is the usual <trademark class=\"registered\">UNIX</trademark> or Kerberos " @@ -34656,7 +34788,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:24231 +#: book.translate.xml:24256 msgid "" "There are two other pieces of data that are important to <acronym>OPIE</" "acronym>. One is the <quote>seed</quote> or <quote>key</quote>, consisting " @@ -34676,7 +34808,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:24250 +#: book.translate.xml:24275 msgid "" "There are a few programs involved in this process. A one-time password, or a " "consecutive list of one-time passwords, is generated by passing an iteration " @@ -34693,7 +34825,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:24260 +#: book.translate.xml:24285 msgid "" "This section describes four different sorts of operations. The first is how " "to set up one-time-passwords for the first time over a secure connection. " @@ -34704,19 +34836,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:24269 +#: book.translate.xml:24294 msgid "Initializing <acronym>OPIE</acronym>" msgstr "初始化 <acronym>OPIE</acronym>" #. (itstool) path: sect2/para -#: book.translate.xml:24271 +#: book.translate.xml:24296 msgid "" "To initialize <acronym>OPIE</acronym> for the first time, run this command " "from a secure location:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:24274 +#: book.translate.xml:24299 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>opiepasswd -c</userinput>\n" @@ -34733,7 +34865,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24286 +#: book.translate.xml:24311 msgid "" "The <option>-c</option> sets console mode which assumes that the command is " "being run from a secure location, such as a computer under the user's " @@ -34742,7 +34874,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24292 +#: book.translate.xml:24317 msgid "" "When prompted, enter the secret password which will be used to generate the " "one-time login keys. This password should be difficult to guess and should " @@ -34752,7 +34884,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24299 +#: book.translate.xml:24324 msgid "" "The <literal>ID</literal> line lists the login name (<literal>unfurl</" "literal>), default iteration count (<literal>499</literal>), and default " @@ -34764,12 +34896,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:24311 +#: book.translate.xml:24336 msgid "Insecure Connection Initialization" msgstr "不安全連線初始化" #. (itstool) path: sect2/para -#: book.translate.xml:24313 +#: book.translate.xml:24338 msgid "" "To initialize or change the secret password on an insecure system, a secure " "connection is needed to some place where <command>opiekey</command> can be " @@ -34781,7 +34913,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:24322 +#: book.translate.xml:24347 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>opiepasswd</userinput>\n" @@ -34800,7 +34932,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24336 +#: book.translate.xml:24361 msgid "" "To accept the default seed, press <keycap>Return</keycap>. Before entering " "an access password, move over to the secure connection and give it the same " @@ -34808,7 +34940,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:24340 book.translate.xml:24388 +#: book.translate.xml:24365 book.translate.xml:24413 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>opiekey 498 to4268</userinput>\n" @@ -34819,26 +34951,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24346 +#: book.translate.xml:24371 msgid "" "Switch back over to the insecure connection, and copy the generated one-time " "password over to the relevant program." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:24352 +#: book.translate.xml:24377 msgid "Generating a Single One-time Password" msgstr "產生單組一次性密碼" #. (itstool) path: sect2/para -#: book.translate.xml:24354 +#: book.translate.xml:24379 msgid "" "After initializing <acronym>OPIE</acronym> and logging in, a prompt like " "this will be displayed:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:24357 +#: book.translate.xml:24382 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>telnet example.com</userinput>\n" @@ -34854,7 +34986,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24368 +#: book.translate.xml:24393 msgid "" "The <acronym>OPIE</acronym> prompts provides a useful feature. If " "<keycap>Return</keycap> is pressed at the password prompt, the prompt will " @@ -34863,22 +34995,22 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:24374 +#: book.translate.xml:24399 msgid "<primary>MS-DOS</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:24375 +#: book.translate.xml:24400 msgid "<primary>Windows</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:24376 +#: book.translate.xml:24401 msgid "<primary>MacOS</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24378 +#: book.translate.xml:24403 msgid "" "At this point, generate the one-time password to answer this login prompt. " "This must be done on a trusted system where it is safe to run " @@ -34891,22 +35023,22 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24386 +#: book.translate.xml:24411 msgid "On the trusted system:" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24394 +#: book.translate.xml:24419 msgid "Once the one-time password is generated, continue to log in." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:24399 +#: book.translate.xml:24424 msgid "Generating Multiple One-time Passwords" msgstr "產生多組一次性密碼" #. (itstool) path: sect2/para -#: book.translate.xml:24401 +#: book.translate.xml:24426 msgid "" "Sometimes there is no access to a trusted machine or secure connection. In " "this case, it is possible to use <citerefentry><refentrytitle>opiekey</" @@ -34915,7 +35047,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:24406 +#: book.translate.xml:24431 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>opiekey -n 5 30 zz99999</userinput>\n" @@ -34930,7 +35062,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24416 +#: book.translate.xml:24441 msgid "" "The <option>-n 5</option> requests five keys in sequence, and <option>30</" "option> specifies what the last iteration number should be. Note that these " @@ -34941,13 +35073,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:24427 +#: book.translate.xml:24452 msgid "" "Restricting Use of <trademark class=\"registered\">UNIX</trademark> Passwords" msgstr "限制使用 <trademark class=\"registered\">UNIX</trademark> 密碼" #. (itstool) path: sect2/para -#: book.translate.xml:24429 +#: book.translate.xml:24454 msgid "" "<acronym>OPIE</acronym> can restrict the use of <trademark class=\"registered" "\">UNIX</trademark> passwords based on the IP address of a login session. " @@ -34958,18 +35090,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24436 +#: book.translate.xml:24461 msgid "Here is a sample <filename>opieaccess</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:24438 +#: book.translate.xml:24463 #, no-wrap msgid "permit 192.168.0.0 255.255.0.0" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24440 +#: book.translate.xml:24465 msgid "" "This line allows users whose IP source address (which is vulnerable to " "spoofing) matches the specified value and mask, to use <trademark class=" @@ -34977,20 +35109,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24444 +#: book.translate.xml:24469 msgid "" "If no rules in <filename>opieaccess</filename> are matched, the default is " "to deny non-<acronym>OPIE</acronym> logins." msgstr "" #. (itstool) path: info/title -#: book.translate.xml:24452 +#: book.translate.xml:24477 msgid "TCP Wrapper" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:24455 book.translate.xml:25300 book.translate.xml:29253 -#: book.translate.xml:41340 book.translate.xml:46038 +#: book.translate.xml:24480 book.translate.xml:25325 book.translate.xml:29307 +#: book.translate.xml:41394 book.translate.xml:46092 msgid "" "<personname><firstname>Tom</firstname><surname>Rhodes</surname></" "personname><contrib>Written by </contrib>" @@ -34998,12 +35130,12 @@ msgstr "" #. (itstool) path: sect1/indexterm #. (itstool) path: sect2/indexterm -#: book.translate.xml:24460 book.translate.xml:53940 +#: book.translate.xml:24485 book.translate.xml:53994 msgid "<primary>TCP Wrapper</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:24462 +#: book.translate.xml:24487 msgid "" "<application>TCP Wrapper</application> is a host-based access control system " "which extends the abilities of <xref linkend=\"network-inetd\"/>. It can be " @@ -35015,7 +35147,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:24470 +#: book.translate.xml:24495 msgid "" "<application>TCP Wrapper</application> should not be considered a " "replacement for a properly configured firewall. Instead, <application>TCP " @@ -35025,19 +35157,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:24478 +#: book.translate.xml:24503 msgid "Initial Configuration" msgstr "初始設定" #. (itstool) path: sect2/para -#: book.translate.xml:24480 +#: book.translate.xml:24505 msgid "" "To enable <application>TCP Wrapper</application> in FreeBSD, add the " "following lines to <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:24484 +#: book.translate.xml:24509 #, no-wrap msgid "" "inetd_enable=\"YES\"\n" @@ -35045,12 +35177,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24487 +#: book.translate.xml:24512 msgid "Then, properly configure <filename>/etc/hosts.allow</filename>." msgstr "" #. (itstool) path: note/para -#: book.translate.xml:24491 +#: book.translate.xml:24516 msgid "" "Unlike other implementations of <application>TCP Wrapper</application>, the " "use of <filename>hosts.deny</filename> is deprecated in FreeBSD. All " @@ -35059,7 +35191,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24498 +#: book.translate.xml:24523 msgid "" "In the simplest configuration, daemon connection policies are set to either " "permit or block, depending on the options in <filename>/etc/hosts.allow</" @@ -35068,7 +35200,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24504 +#: book.translate.xml:24529 msgid "" "Basic configuration usually takes the form of <literal>daemon : address : " "action</literal>, where <literal>daemon</literal> is the daemon which " @@ -35082,7 +35214,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24517 +#: book.translate.xml:24542 msgid "" "For example, to allow <acronym>POP</acronym>3 connections via the " "<package>mail/qpopper</package> daemon, the following lines should be " @@ -35090,7 +35222,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:24522 +#: book.translate.xml:24547 #, no-wrap msgid "" "# This line is required for POP3 connections:\n" @@ -35098,23 +35230,23 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24525 +#: book.translate.xml:24550 msgid "Whenever this file is edited, restart <application>inetd</application>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:24528 book.translate.xml:34163 +#: book.translate.xml:24553 book.translate.xml:34217 #, no-wrap msgid "<prompt>#</prompt> <userinput>service inetd restart</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:24532 book.translate.xml:49295 +#: book.translate.xml:24557 book.translate.xml:49349 msgid "Advanced Configuration" msgstr "進階設定" #. (itstool) path: sect2/para -#: book.translate.xml:24534 +#: book.translate.xml:24559 msgid "" "<application>TCP Wrapper</application> provides advanced options to allow " "more control over the way connections are handled. In some cases, it may be " @@ -35127,7 +35259,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24544 +#: book.translate.xml:24569 msgid "" "Suppose that a situation occurs where a connection should be denied yet a " "reason should be sent to the host who attempted to establish that " @@ -35137,7 +35269,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:24552 +#: book.translate.xml:24577 #, no-wrap msgid "" "# The rest of the daemons are protected.\n" @@ -35147,7 +35279,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24557 +#: book.translate.xml:24582 msgid "" "In this example, the message <quote>You are not allowed to use " "<replaceable>daemon name</replaceable> from <replaceable>hostname</" @@ -35159,14 +35291,14 @@ msgid "" msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:24568 +#: book.translate.xml:24593 msgid "" "It may be possible to launch a denial of service attack on the server if an " "attacker floods these daemons with connection requests." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24573 +#: book.translate.xml:24598 msgid "" "Another possibility is to use <option>spawn</option>. Like <option>twist</" "option>, <option>spawn</option> implicitly denies the connection and may be " @@ -35177,7 +35309,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:24581 +#: book.translate.xml:24606 #, no-wrap msgid "" "# We do not allow connections from example.com:\n" @@ -35188,7 +35320,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24587 +#: book.translate.xml:24612 msgid "" "This will deny all connection attempts from <systemitem class=\"fqdomainname" "\">*.example.com</systemitem> and log the hostname, <acronym>IP</acronym> " @@ -35200,7 +35332,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24595 +#: book.translate.xml:24620 msgid "" "To match every instance of a daemon, domain, or <acronym>IP</acronym> " "address, use <literal>ALL</literal>. Another wildcard is <literal>PARANOID</" @@ -35212,7 +35344,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:24605 +#: book.translate.xml:24630 #, no-wrap msgid "" "# Block possibly spoofed requests to sendmail:\n" @@ -35220,7 +35352,7 @@ msgid "" msgstr "" #. (itstool) path: caution/para -#: book.translate.xml:24609 +#: book.translate.xml:24634 msgid "" "Using the <literal>PARANOID</literal> wildcard will result in denied " "connections if the client or server has a broken <acronym>DNS</acronym> " @@ -35228,7 +35360,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24614 +#: book.translate.xml:24639 msgid "" "To learn more about wildcards and their associated functionality, refer to " "<citerefentry><refentrytitle>hosts_access</refentrytitle><manvolnum>5</" @@ -35236,33 +35368,33 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:24618 +#: book.translate.xml:24643 msgid "" "When adding new configuration lines, make sure that any unneeded entries for " "that daemon are commented out in <filename>hosts.allow</filename>." msgstr "" #. (itstool) path: info/title -#: book.translate.xml:24627 +#: book.translate.xml:24652 msgid "<application>Kerberos</application>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:24630 +#: book.translate.xml:24655 msgid "" "<personname> <firstname>Tillman</firstname> <surname>Hodgson</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:24640 +#: book.translate.xml:24665 msgid "" "<personname> <firstname>Mark</firstname> <surname>Murray</surname> </" "personname> <contrib>Based on a contribution by </contrib>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:24650 +#: book.translate.xml:24675 msgid "" "<application>Kerberos</application> is a network authentication protocol " "which was originally created by the Massachusetts Institute of Technology " @@ -35277,7 +35409,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:24664 +#: book.translate.xml:24689 msgid "" "The only function of <application>Kerberos</application> is to provide the " "secure authentication of users and servers on the network. It does not " @@ -35287,7 +35419,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:24671 +#: book.translate.xml:24696 msgid "" "The current version of the protocol is version 5, described in <acronym>RFC</" "acronym> 4120. Several free implementations of this protocol are available, " @@ -35306,7 +35438,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:24690 +#: book.translate.xml:24715 msgid "" "In <application>Kerberos</application> users and services are identified as " "<quote>principals</quote> which are contained within an administrative " @@ -35316,35 +35448,35 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:24698 +#: book.translate.xml:24723 msgid "" "This section provides a guide on how to set up <application>Kerberos</" "application> using the Heimdal distribution included in FreeBSD." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:24702 +#: book.translate.xml:24727 msgid "" "For purposes of demonstrating a <application>Kerberos</application> " "installation, the name spaces will be as follows:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:24708 +#: book.translate.xml:24733 msgid "" "The <acronym>DNS</acronym> domain (zone) will be <systemitem class=" "\"fqdomainname\">example.org</systemitem>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:24713 +#: book.translate.xml:24738 msgid "" "The <application>Kerberos</application> realm will be <literal>EXAMPLE.ORG</" "literal>." msgstr "" #. (itstool) path: note/para -#: book.translate.xml:24719 +#: book.translate.xml:24744 msgid "" "Use real domain names when setting up <application>Kerberos</application>, " "even if it will run internally. This avoids <acronym>DNS</acronym> problems " @@ -35353,18 +35485,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:24727 +#: book.translate.xml:24752 msgid "Setting up a Heimdal <acronym>KDC</acronym>" msgstr "設定 Heimdal <acronym>KDC</acronym>" #. (itstool) path: sect2/indexterm -#: book.translate.xml:24729 +#: book.translate.xml:24754 msgid "" "<primary>Kerberos5</primary> <secondary>Key Distribution Center</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24734 +#: book.translate.xml:24759 msgid "" "The Key Distribution Center (<acronym>KDC</acronym>) is the centralized " "authentication service that <application>Kerberos</application> provides, " @@ -35377,7 +35509,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24746 +#: book.translate.xml:24771 msgid "" "While running a <acronym>KDC</acronym> requires few computing resources, a " "dedicated machine acting only as a <acronym>KDC</acronym> is recommended for " @@ -35385,14 +35517,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24751 +#: book.translate.xml:24776 msgid "" "To begin setting up a <acronym>KDC</acronym>, add these lines to <filename>/" "etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:24754 +#: book.translate.xml:24779 #, no-wrap msgid "" "kdc_enable=\"YES\"\n" @@ -35400,12 +35532,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24757 +#: book.translate.xml:24782 msgid "Next, edit <filename>/etc/krb5.conf</filename> as follows:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:24760 +#: book.translate.xml:24785 #, no-wrap msgid "" "[libdefaults]\n" @@ -35420,7 +35552,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24770 +#: book.translate.xml:24795 msgid "" "In this example, the <acronym>KDC</acronym> will use the fully-qualified " "hostname <systemitem class=\"fqdomainname\">kerberos.example.org</" @@ -35429,7 +35561,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24775 +#: book.translate.xml:24800 msgid "" "<application>Kerberos</application> can also use the <acronym>DNS</acronym> " "to locate KDCs, instead of a <literal>[realms]</literal> section in " @@ -35438,7 +35570,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:24782 +#: book.translate.xml:24807 #, no-wrap msgid "" "[libdefaults]\n" @@ -35448,14 +35580,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24787 +#: book.translate.xml:24812 msgid "" "With the following lines being included in the <systemitem class=" "\"fqdomainname\">example.org</systemitem> zone file:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:24791 +#: book.translate.xml:24816 #, no-wrap msgid "" "_kerberos._udp IN SRV 01 00 88 <replaceable>kerberos.example.org</replaceable>.\n" @@ -35466,7 +35598,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:24798 +#: book.translate.xml:24823 msgid "" "In order for clients to be able to find the <application>Kerberos</" "application> services, they <emphasis>must</emphasis> have either a fully " @@ -35476,7 +35608,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24807 +#: book.translate.xml:24832 msgid "" "Next, create the <application>Kerberos</application> database which contains " "the keys of all principals (users and hosts) encrypted with a master " @@ -35487,7 +35619,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:24816 +#: book.translate.xml:24841 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>kstash</userinput>\n" @@ -35496,7 +35628,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24820 +#: book.translate.xml:24845 msgid "" "Once the master key has been created, the database should be initialized. " "The <application>Kerberos</application> administrative tool " @@ -35511,7 +35643,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:24831 +#: book.translate.xml:24856 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>kadmin -l</userinput>\n" @@ -35520,7 +35652,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24835 +#: book.translate.xml:24860 msgid "" "Lastly, while still in <command>kadmin</command>, create the first principal " "using <command>add</command>. Stick to the default options for the principal " @@ -35529,7 +35661,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:24842 +#: book.translate.xml:24867 #, no-wrap msgid "" "kadmin> <userinput>add <replaceable>tillman</replaceable></userinput>\n" @@ -35541,7 +35673,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24849 +#: book.translate.xml:24874 msgid "" "Next, start the <acronym>KDC</acronym> services by running <command>service " "kdc start</command> and <command>service kadmind start</command>. While " @@ -35551,7 +35683,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:24857 +#: book.translate.xml:24882 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>kinit <replaceable>tillman</replaceable></userinput>\n" @@ -35559,14 +35691,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24860 +#: book.translate.xml:24885 msgid "" "Confirm that a ticket was successfully obtained using <command>klist</" "command>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:24863 +#: book.translate.xml:24888 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>klist</userinput>\n" @@ -35578,28 +35710,28 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24870 +#: book.translate.xml:24895 msgid "The temporary ticket can be destroyed when the test is finished:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:24873 +#: book.translate.xml:24898 #, no-wrap msgid "<prompt>%</prompt> <userinput>kdestroy</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:24877 +#: book.translate.xml:24902 msgid "Configuring a Server to Use <application>Kerberos</application>" msgstr "設定伺服器使用 <application>Kerberos</application>" #. (itstool) path: sect2/indexterm -#: book.translate.xml:24880 +#: book.translate.xml:24905 msgid "<primary>Kerberos5</primary> <secondary>enabling services</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24885 +#: book.translate.xml:24910 msgid "" "The first step in configuring a server to use <application>Kerberos</" "application> authentication is to ensure that it has the correct " @@ -35609,7 +35741,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24892 +#: book.translate.xml:24917 msgid "" "Next, create <filename>/etc/krb5.keytab</filename> on the server. This is " "the main part of <quote>Kerberizing</quote> a service — it corresponds to " @@ -35632,7 +35764,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24915 +#: book.translate.xml:24940 msgid "" "Of course, <command>kadmin</command> is a kerberized service; a " "<application>Kerberos</application> ticket is needed to authenticate to the " @@ -35652,7 +35784,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24932 +#: book.translate.xml:24957 msgid "" "After installing <filename>/etc/krb5.conf</filename>, use <command>add --" "random-key</command> in <command>kadmin</command>. This adds the server's " @@ -35662,7 +35794,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:24940 +#: book.translate.xml:24965 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>kadmin</userinput>\n" @@ -35677,7 +35809,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24950 +#: book.translate.xml:24975 msgid "" "Note that <command>ext_keytab</command> stores the extracted key in " "<filename>/etc/krb5.keytab</filename> by default. This is good when being " @@ -35687,7 +35819,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:24958 +#: book.translate.xml:24983 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>kadmin</userinput>\n" @@ -35696,7 +35828,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24962 +#: book.translate.xml:24987 msgid "" "The keytab can then be securely copied to the server using " "<citerefentry><refentrytitle>scp</refentrytitle><manvolnum>1</manvolnum></" @@ -35705,7 +35837,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24967 +#: book.translate.xml:24992 msgid "" "At this point, the server can read encrypted messages from the <acronym>KDC</" "acronym> using its shared key, stored in <filename>krb5.keytab</filename>. " @@ -35718,13 +35850,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:24978 +#: book.translate.xml:25003 #, no-wrap msgid "GSSAPIAuthentication yes" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24980 +#: book.translate.xml:25005 msgid "" "After making this change, <citerefentry><refentrytitle>sshd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> must be restared for " @@ -35733,17 +35865,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:24986 +#: book.translate.xml:25011 msgid "Configuring a Client to Use <application>Kerberos</application>" msgstr "設定客戶端使用 <application>Kerberos</application>" #. (itstool) path: sect2/indexterm -#: book.translate.xml:24989 +#: book.translate.xml:25014 msgid "<primary>Kerberos5</primary> <secondary>configure clients</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24994 +#: book.translate.xml:25019 msgid "" "As it was for the server, the client requires configuration in <filename>/" "etc/krb5.conf</filename>. Copy the file in place (securely) or re-enter it " @@ -35751,7 +35883,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:24998 +#: book.translate.xml:25023 msgid "" "Test the client by using <command>kinit</command>, <command>klist</command>, " "and <command>kdestroy</command> from the client to obtain, show, and then " @@ -35767,7 +35899,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25012 +#: book.translate.xml:25037 msgid "" "When testing a Kerberized application, try using a packet sniffer such as " "<command>tcpdump</command> to confirm that no sensitive information is sent " @@ -35775,7 +35907,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25016 +#: book.translate.xml:25041 msgid "" "Various <application>Kerberos</application> client applications are " "available. With the advent of a bridge so that applications using " @@ -35786,17 +35918,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:25024 +#: book.translate.xml:25049 msgid "<primary><filename>.k5login</filename></primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:25028 +#: book.translate.xml:25053 msgid "<primary><filename>.k5users</filename></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25032 +#: book.translate.xml:25057 msgid "" "Users within a realm typically have their <application>Kerberos</" "application> principal mapped to a local user account. Occasionally, one " @@ -35809,7 +35941,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25041 +#: book.translate.xml:25066 msgid "" "The <filename>.k5login</filename> and <filename>.k5users</filename> files, " "placed in a user's home directory, can be used to solve this problem. For " @@ -35820,7 +35952,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:25049 +#: book.translate.xml:25074 #, no-wrap msgid "" "tillman@example.org\n" @@ -35828,7 +35960,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25052 +#: book.translate.xml:25077 msgid "" "Refer to <citerefentry><refentrytitle>ksu</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> for more information about <filename>.k5users</" @@ -35836,12 +35968,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:25057 +#: book.translate.xml:25082 msgid "<acronym>MIT</acronym> Differences" msgstr "與 <acronym>MIT</acronym> 的差異" #. (itstool) path: sect2/para -#: book.translate.xml:25059 +#: book.translate.xml:25084 msgid "" "The major difference between the <acronym>MIT</acronym> and Heimdal " "implementations is that <command>kadmin</command> has a different, but " @@ -35852,7 +35984,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25067 +#: book.translate.xml:25092 msgid "" "Client applications may also use slightly different command line options to " "accomplish the same tasks. Following the instructions at <link xlink:href=" @@ -35864,14 +35996,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25077 +#: book.translate.xml:25102 msgid "" "When using MIT Kerberos as a <acronym>KDC</acronym> on FreeBSD, the " "following edits should also be made to <filename>rc.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:25081 +#: book.translate.xml:25106 #, no-wrap msgid "" "kerberos5_server=\"/usr/local/sbin/krb5kdc\"\n" @@ -35882,19 +36014,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:25089 +#: book.translate.xml:25114 msgid "<application>Kerberos</application> Tips, Tricks, and Troubleshooting" msgstr "<application>Kerberos</application> 提示、技巧與疑難排解" #. (itstool) path: sect2/para -#: book.translate.xml:25092 +#: book.translate.xml:25117 msgid "" "When configuring and troubleshooting <application>Kerberos</application>, " "keep the following points in mind:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25098 +#: book.translate.xml:25123 msgid "" "When using either Heimdal or <acronym>MIT</acronym> <application>Kerberos</" "application> from ports, ensure that the <envar>PATH</envar> lists the " @@ -35902,7 +36034,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25105 +#: book.translate.xml:25130 msgid "" "If all the computers in the realm do not have synchronized time settings, " "authentication may fail. <xref linkend=\"network-ntp\"/> describes how to " @@ -35910,7 +36042,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25112 +#: book.translate.xml:25137 msgid "" "If the hostname is changed, the <systemitem class=\"username\">host/</" "systemitem> principal must be changed and the keytab updated. This also " @@ -35920,7 +36052,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25119 +#: book.translate.xml:25144 msgid "" "All hosts in the realm must be both forward and reverse resolvable in " "<acronym>DNS</acronym> or, at a minimum, exist in <filename>/etc/hosts</" @@ -35931,7 +36063,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25130 +#: book.translate.xml:25155 msgid "" "Some operating systems that act as clients to the <acronym>KDC</acronym> do " "not set the permissions for <command>ksu</command> to be setuid <systemitem " @@ -35941,7 +36073,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25139 +#: book.translate.xml:25164 msgid "" "With <acronym>MIT</acronym> <application>Kerberos</application>, to allow a " "principal to have a ticket life longer than the default lifetime of ten " @@ -35954,7 +36086,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25153 +#: book.translate.xml:25178 msgid "" "When running a packet sniffer on the <acronym>KDC</acronym> to aid in " "troubleshooting while running <command>kinit</command> from a workstation, " @@ -35976,7 +36108,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25180 +#: book.translate.xml:25205 msgid "" "Host principals can have a longer ticket lifetime. If the user principal has " "a lifetime of a week but the host being connected to has a lifetime of nine " @@ -35985,7 +36117,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25188 +#: book.translate.xml:25213 msgid "" "When setting up <filename>krb5.dict</filename> to prevent specific bad " "passwords from being used as described in " @@ -35997,19 +36129,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:25202 +#: book.translate.xml:25227 msgid "Mitigating <application>Kerberos</application> Limitations" msgstr "減輕 <application>Kerberos</application> 的限制" #. (itstool) path: sect2/indexterm -#: book.translate.xml:25205 +#: book.translate.xml:25230 msgid "" "<primary>Kerberos5</primary> <secondary>limitations and shortcomings</" "secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25210 +#: book.translate.xml:25235 msgid "" "Since <application>Kerberos</application> is an all or nothing approach, " "every service enabled on the network must either be modified to work with " @@ -36021,7 +36153,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25220 +#: book.translate.xml:25245 msgid "" "The <acronym>KDC</acronym> is a single point of failure. By design, the " "<acronym>KDC</acronym> must be as secure as its master password database. " @@ -36032,7 +36164,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25229 +#: book.translate.xml:25254 msgid "" "A compromised master key is not quite as bad as one might fear. The master " "key is only used to encrypt the <application>Kerberos</application> database " @@ -36042,7 +36174,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25236 +#: book.translate.xml:25261 msgid "" "If the <acronym>KDC</acronym> is unavailable, network services are unusable " "as authentication cannot be performed. This can be alleviated with a single " @@ -36052,7 +36184,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25243 +#: book.translate.xml:25268 msgid "" "<application>Kerberos</application> allows users, hosts and services to " "authenticate between themselves. It does not have a mechanism to " @@ -36063,31 +36195,31 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:25254 +#: book.translate.xml:25279 msgid "Resources and Further Information" msgstr "相關資源與延伸資訊" #. (itstool) path: sect2/indexterm -#: book.translate.xml:25256 +#: book.translate.xml:25281 msgid "<primary>Kerberos5</primary> <secondary>external resources</secondary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25263 +#: book.translate.xml:25288 msgid "" "<link xlink:href=\"http://www.faqs.org/faqs/Kerberos-faq/general/preamble." "html\"> The <application>Kerberos</application> FAQ</link>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25269 +#: book.translate.xml:25294 msgid "" "<link xlink:href=\"http://web.mit.edu/Kerberos/www/dialogue.html\">Designing " "an Authentication System: a Dialog in Four Scenes</link>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25275 +#: book.translate.xml:25300 msgid "" "<link xlink:href=\"http://www.ietf.org/rfc/rfc4120.txt?number=4120\">RFC " "4120, The <application>Kerberos</application> Network Authentication Service " @@ -36095,31 +36227,31 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25281 +#: book.translate.xml:25306 msgid "" "<link xlink:href=\"http://web.mit.edu/Kerberos/www/\"><acronym>MIT</acronym> " "<application>Kerberos</application> home page</link>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25287 +#: book.translate.xml:25312 msgid "" "<link xlink:href=\"http://www.pdc.kth.se/heimdal/\">Heimdal " "<application>Kerberos</application> home page</link>" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:25297 +#: book.translate.xml:25322 msgid "OpenSSL" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:25305 +#: book.translate.xml:25330 msgid "<primary>security</primary> <secondary>OpenSSL</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:25310 +#: book.translate.xml:25335 msgid "" "<application>OpenSSL</application> is an open source implementation of the " "<acronym>SSL</acronym> and <acronym>TLS</acronym> protocols. It provides an " @@ -36128,7 +36260,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:25317 +#: book.translate.xml:25342 msgid "" "The version of <application>OpenSSL</application> included in FreeBSD " "supports the Secure Sockets Layer v2/v3 (SSLv2/SSLv3) and Transport Layer " @@ -36137,7 +36269,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:25323 +#: book.translate.xml:25348 msgid "" "<application>OpenSSL</application> is often used to encrypt authentication " "of mail clients and to secure web based transactions such as credit card " @@ -36147,7 +36279,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:25331 +#: book.translate.xml:25356 msgid "" "FreeBSD provides two versions of <application>OpenSSL</application>: one in " "the base system and one in the Ports Collection. Users can choose which " @@ -36155,7 +36287,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25338 +#: book.translate.xml:25363 msgid "" "WITH_OPENSSL_PORT: when set, the port will use <application>OpenSSL</" "application> from the <package>security/openssl</package> port, even if the " @@ -36163,14 +36295,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25345 +#: book.translate.xml:25370 msgid "" "WITH_OPENSSL_BASE: when set, the port will compile against " "<application>OpenSSL</application> provided by the base system." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:25351 +#: book.translate.xml:25376 msgid "" "Another common use of <application>OpenSSL</application> is to provide " "certificates for use with software applications. Certificates can be used to " @@ -36185,7 +36317,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:25364 +#: book.translate.xml:25389 msgid "" "This section demonstrates how to create and use certificates on a FreeBSD " "system. Refer to <xref linkend=\"ldap-config\"/> for an example of how to " @@ -36193,7 +36325,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:25369 +#: book.translate.xml:25394 msgid "" "For more information about <acronym>SSL</acronym>, read the free <link xlink:" "href=\"https://www.feistyduck.com/books/openssl-cookbook/\">OpenSSL " @@ -36201,18 +36333,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:25374 +#: book.translate.xml:25399 msgid "Generating Certificates" msgstr "產生憑証" #. (itstool) path: sect2/indexterm -#: book.translate.xml:25376 +#: book.translate.xml:25401 msgid "" "<primary>OpenSSL</primary> <secondary>certificate generation</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25381 +#: book.translate.xml:25406 msgid "" "To generate a certificate that will be signed by an external <acronym>CA</" "acronym>, issue the following command and input the information requested at " @@ -36225,7 +36357,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:25391 +#: book.translate.xml:25416 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>openssl req -new -nodes -out req.pem -keyout cert.key -sha256 -newkey rsa:2048</userinput>\n" @@ -36256,7 +36388,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25417 +#: book.translate.xml:25442 msgid "" "Other options, such as the expire time and alternate encryption algorithms, " "are available when creating a certificate. A complete list of options is " @@ -36265,7 +36397,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25422 +#: book.translate.xml:25447 msgid "" "This command will create two files in the current directory. The certificate " "request, <filename>req.pem</filename>, can be sent to a <acronym>CA</" @@ -36277,7 +36409,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25433 +#: book.translate.xml:25458 msgid "" "Alternately, if a signature from a <acronym>CA</acronym> is not required, a " "self-signed certificate can be created. First, generate the <acronym>RSA</" @@ -36285,7 +36417,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:25437 +#: book.translate.xml:25462 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>openssl genrsa -rand -genkey -out cert.key 2048</userinput>\n" @@ -36297,14 +36429,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25444 +#: book.translate.xml:25469 msgid "" "Use this key to create a self-signed certificate. Follow the usual prompts " "for creating a certificate:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:25447 +#: book.translate.xml:25472 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>openssl req -new -x509 -days 365 -key cert.key -out cert.crt -sha256</userinput>\n" @@ -36325,7 +36457,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25463 +#: book.translate.xml:25488 msgid "" "This will create two new files in the current directory: a private key file " "<filename>cert.key</filename>, and the certificate itself, <filename>cert." @@ -36336,12 +36468,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:25474 +#: book.translate.xml:25499 msgid "Using Certificates" msgstr "使用憑證" #. (itstool) path: sect2/para -#: book.translate.xml:25476 +#: book.translate.xml:25501 msgid "" "One use for a certificate is to encrypt connections to the " "<application>Sendmail</application> mail server in order to prevent the use " @@ -36349,7 +36481,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:25481 +#: book.translate.xml:25506 msgid "" "Some mail clients will display an error if the user has not installed a " "local copy of the certificate. Refer to the documentation included with the " @@ -36357,7 +36489,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25487 +#: book.translate.xml:25512 msgid "" "In FreeBSD 10.0-RELEASE and above, it is possible to create a self-signed " "certificate for <application>Sendmail</application> automatically. To enable " @@ -36365,7 +36497,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:25493 +#: book.translate.xml:25518 #, no-wrap msgid "" "sendmail_enable=\"YES\"\n" @@ -36374,7 +36506,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25497 +#: book.translate.xml:25522 msgid "" "This will automatically create a self-signed certificate, <filename>/etc/" "mail/certs/host.cert</filename>, a signing key, <filename>/etc/mail/certs/" @@ -36385,13 +36517,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:25506 +#: book.translate.xml:25531 #, no-wrap msgid "<prompt>#</prompt> <userinput>service sendmail restart</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25508 +#: book.translate.xml:25533 msgid "" "If all went well, there will be no error messages in <filename>/var/log/" "maillog</filename>. For a simple test, connect to the mail server's " @@ -36399,7 +36531,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:25513 +#: book.translate.xml:25538 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>telnet <replaceable>example.com</replaceable> 25</userinput>\n" @@ -36425,19 +36557,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25534 +#: book.translate.xml:25559 msgid "" "If the <literal>STARTTLS</literal> line appears in the output, everything is " "working correctly." msgstr "" #. (itstool) path: info/title -#: book.translate.xml:25541 +#: book.translate.xml:25566 msgid "<acronym>VPN</acronym> over <acronym>IPsec</acronym>" msgstr "" #. (itstool) path: affiliation/address -#: book.translate.xml:25551 +#: book.translate.xml:25576 #, no-wrap msgid "" "\n" @@ -36446,7 +36578,7 @@ msgid "" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:25545 +#: book.translate.xml:25570 msgid "" "<personname> <firstname>Nik</firstname> <surname>Clayton</surname> </" "personname> <affiliation> <_:address-1/> </affiliation> <contrib>Written by " @@ -36454,7 +36586,7 @@ msgid "" msgstr "" #. (itstool) path: affiliation/address -#: book.translate.xml:25566 +#: book.translate.xml:25591 #, no-wrap msgid "" "\n" @@ -36463,7 +36595,7 @@ msgid "" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:25560 +#: book.translate.xml:25585 msgid "" "<personname> <firstname>Hiten M.</firstname> <surname>Pandya</surname> </" "personname> <affiliation> <_:address-1/> </affiliation> <contrib>Written by " @@ -36471,12 +36603,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:25575 +#: book.translate.xml:25600 msgid "<primary><acronym>IPsec</acronym></primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:25579 +#: book.translate.xml:25604 msgid "" "Internet Protocol Security (<acronym>IPsec</acronym>) is a set of protocols " "which sit on top of the Internet Protocol (<acronym>IP</acronym>) layer. It " @@ -36489,22 +36621,22 @@ msgid "" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:25589 +#: book.translate.xml:25614 msgid "<primary><acronym>IPsec</acronym></primary> <secondary>ESP</secondary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:25594 +#: book.translate.xml:25619 msgid "<primary><acronym>IPsec</acronym></primary> <secondary>AH</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:25599 +#: book.translate.xml:25624 msgid "<acronym>IPsec</acronym> is comprised of the following sub-protocols:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25604 +#: book.translate.xml:25629 msgid "" "<emphasis>Encapsulated Security Payload (<acronym>ESP</acronym>)</emphasis>: " "this protocol protects the <acronym>IP</acronym> packet data from third " @@ -36513,7 +36645,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25613 +#: book.translate.xml:25638 msgid "" "<emphasis>Authentication Header (<acronym>AH</acronym>)</emphasis>: this " "protocol protects the <acronym>IP</acronym> packet header from third party " @@ -36524,7 +36656,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25625 +#: book.translate.xml:25650 msgid "" "<emphasis>IP Payload Compression Protocol (<acronym>IPComp</acronym></" "emphasis>): this protocol tries to increase communication performance by " @@ -36533,24 +36665,24 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:25633 +#: book.translate.xml:25658 msgid "" "These protocols can either be used together or separately, depending on the " "environment." msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:25636 +#: book.translate.xml:25661 msgid "<primary><acronym>VPN</acronym></primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:25640 +#: book.translate.xml:25665 msgid "<primary>virtual private network</primary> <see>VPN</see>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:25645 +#: book.translate.xml:25670 msgid "" "<acronym>IPsec</acronym> supports two modes of operation. The first mode, " "<firstterm>Transport Mode</firstterm>, protects communications between two " @@ -36562,7 +36694,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:25654 +#: book.translate.xml:25679 msgid "" "To add <acronym>IPsec</acronym> support to the kernel, add the following " "options to the custom kernel configuration file and rebuild the kernel using " @@ -36570,12 +36702,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:25658 +#: book.translate.xml:25683 msgid "<primary>kernel options</primary> <secondary>IPSEC</secondary>" msgstr "<primary>核心選項</primary> <secondary>IPSEC</secondary>" #. (itstool) path: sect1/screen -#: book.translate.xml:25663 +#: book.translate.xml:25688 #, no-wrap msgid "" "options IPSEC #IP security\n" @@ -36583,25 +36715,25 @@ msgid "" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:25666 +#: book.translate.xml:25691 msgid "<primary>kernel options</primary> <secondary>IPSEC_DEBUG</secondary>" msgstr "<primary>核心選項</primary> <secondary>IPSEC_DEBUG</secondary>" #. (itstool) path: sect1/para -#: book.translate.xml:25671 +#: book.translate.xml:25696 msgid "" "If <acronym>IPsec</acronym> debugging support is desired, the following " "kernel option should also be added:" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:25674 +#: book.translate.xml:25699 #, no-wrap msgid "options IPSEC_DEBUG #debug for IP security" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:25676 +#: book.translate.xml:25701 msgid "" "This rest of this chapter demonstrates the process of setting up an " "<acronym>IPsec</acronym> <acronym>VPN</acronym> between a home network and a " @@ -36609,14 +36741,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25683 +#: book.translate.xml:25708 msgid "" "Both sites are connected to the Internet through a gateway that is running " "FreeBSD." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25688 +#: book.translate.xml:25713 msgid "" "The gateway on each network has at least one external <acronym>IP</acronym> " "address. In this example, the corporate <acronym>LAN</acronym>'s external " @@ -36627,7 +36759,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:25697 +#: book.translate.xml:25722 msgid "" "The internal addresses of the two networks can be either public or private " "<acronym>IP</acronym> addresses. However, the address space must not " @@ -36640,12 +36772,12 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:25710 +#: book.translate.xml:25735 msgid "Configuring a <acronym>VPN</acronym> on FreeBSD" msgstr "在 FreeBSD 上設定 <acronym>VPN</acronym>" #. (itstool) path: affiliation/address -#: book.translate.xml:25719 +#: book.translate.xml:25744 #, no-wrap msgid "" "\n" @@ -36654,7 +36786,7 @@ msgid "" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:25713 +#: book.translate.xml:25738 msgid "" "<personname> <firstname>Tom</firstname> <surname>Rhodes</surname> </" "personname> <affiliation> <_:address-1/> </affiliation> <contrib>Written by " @@ -36662,7 +36794,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25728 +#: book.translate.xml:25753 msgid "" "To begin, <package>security/ipsec-tools</package> must be installed from the " "Ports Collection. This software provides a number of applications which " @@ -36670,7 +36802,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25732 +#: book.translate.xml:25757 msgid "" "The next requirement is to create two <citerefentry><refentrytitle>gif</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> pseudo-devices which " @@ -36682,7 +36814,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:25740 +#: book.translate.xml:25765 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig gif0 create</userinput>\n" @@ -36691,14 +36823,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25744 +#: book.translate.xml:25769 msgid "" "Verify the setup on each gateway, using <command>ifconfig</command>. Here is " "the output from Gateway 1:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:25748 +#: book.translate.xml:25773 #, no-wrap msgid "" "gif0: flags=8051 mtu 1280\n" @@ -36708,12 +36840,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25753 +#: book.translate.xml:25778 msgid "Here is the output from Gateway 2:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:25755 +#: book.translate.xml:25780 #, no-wrap msgid "" "gif0: flags=8051 mtu 1280\n" @@ -36723,7 +36855,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25760 +#: book.translate.xml:25785 msgid "" "Once complete, both internal <acronym>IP</acronym> addresses should be " "reachable using <citerefentry><refentrytitle>ping</" @@ -36731,7 +36863,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:25763 +#: book.translate.xml:25788 #, no-wrap msgid "" "priv-net# ping 10.0.0.5\n" @@ -36757,7 +36889,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25784 +#: book.translate.xml:25809 msgid "" "As expected, both sides have the ability to send and receive <acronym>ICMP</" "acronym> packets from the privately configured addresses. Next, both " @@ -36766,7 +36898,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:25791 +#: book.translate.xml:25816 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>corp-net# route add <replaceable>10.0.0.0 10.0.0.5 255.255.255.0</replaceable></userinput>\n" @@ -36776,7 +36908,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25796 +#: book.translate.xml:25821 msgid "" "At this point, internal machines should be reachable from each gateway as " "well as from machines behind the gateways. Again, use " @@ -36785,7 +36917,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:25800 +#: book.translate.xml:25825 #, no-wrap msgid "" "corp-net# ping 10.0.0.8\n" @@ -36812,7 +36944,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25822 +#: book.translate.xml:25847 msgid "" "Setting up the tunnels is the easy part. Configuring a secure link is a more " "in depth process. The following configuration uses pre-shared (<acronym>PSK</" @@ -36822,7 +36954,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:25830 +#: book.translate.xml:25855 #, no-wrap msgid "" "path pre_shared_key \"/usr/local/etc/racoon/psk.txt\"; #location of pre-shared key file\n" @@ -36885,14 +37017,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25888 +#: book.translate.xml:25913 msgid "" "For descriptions of each available option, refer to the manual page for " "<filename>racoon.conf</filename>." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25891 +#: book.translate.xml:25916 msgid "" "The Security Policy Database (<acronym>SPD</acronym>) needs to be configured " "so that FreeBSD and <application>racoon</application> are able to encrypt " @@ -36900,7 +37032,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25896 +#: book.translate.xml:25921 msgid "" "This can be achieved with a shell script, similar to the following, on the " "corporate gateway. This file will be used during system initialization and " @@ -36908,7 +37040,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:25901 +#: book.translate.xml:25926 #, no-wrap msgid "" "flush;\n" @@ -36919,25 +37051,25 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25907 +#: book.translate.xml:25932 msgid "" "Once in place, <application>racoon</application> may be started on both " "gateways using the following command:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:25910 +#: book.translate.xml:25935 #, no-wrap msgid "<prompt>#</prompt> <userinput>/usr/local/sbin/racoon -F -f /usr/local/etc/racoon/racoon.conf -l /var/log/racoon.log</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25912 +#: book.translate.xml:25937 msgid "The output should be similar to the following:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:25914 +#: book.translate.xml:25939 #, no-wrap msgid "" "corp-net# /usr/local/sbin/racoon -F -f /usr/local/etc/racoon/racoon.conf\n" @@ -36955,7 +37087,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25927 +#: book.translate.xml:25952 msgid "" "To ensure the tunnel is working properly, switch to another console and use " "<citerefentry><refentrytitle>tcpdump</refentrytitle><manvolnum>1</" @@ -36965,20 +37097,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:25933 +#: book.translate.xml:25958 #, no-wrap msgid "<prompt>#</prompt> <userinput>tcpdump -i em0 host <replaceable>172.16.5.4 and dst 192.168.1.12</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25935 +#: book.translate.xml:25960 msgid "" "Data similar to the following should appear on the console. If not, there is " "an issue and debugging the returned data will be required." msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:25939 +#: book.translate.xml:25964 #, no-wrap msgid "" "01:47:32.021683 IP corporatenetwork.com > 192.168.1.12.privatenetwork.com: ESP(spi=0x02acbf9f,seq=0xa)\n" @@ -36987,7 +37119,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25943 +#: book.translate.xml:25968 msgid "" "At this point, both networks should be available and seem to be part of the " "same network. Most likely both networks are protected by a firewall. To " @@ -36998,7 +37130,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:25950 +#: book.translate.xml:25975 #, no-wrap msgid "" "ipfw add 00201 allow log esp from any to any\n" @@ -37008,14 +37140,14 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:25956 +#: book.translate.xml:25981 msgid "" "The rule numbers may need to be altered depending on the current host " "configuration." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25960 +#: book.translate.xml:25985 msgid "" "For users of <citerefentry><refentrytitle>pf</refentrytitle><manvolnum>4</" "manvolnum></citerefentry> or <citerefentry><refentrytitle>ipf</" @@ -37024,7 +37156,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:25963 +#: book.translate.xml:25988 #, no-wrap msgid "" "pass in quick proto esp from any to any\n" @@ -37040,7 +37172,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:25974 +#: book.translate.xml:25999 msgid "" "Finally, to allow the machine to start support for the <acronym>VPN</" "acronym> during system initialization, add the following lines to <filename>/" @@ -37048,7 +37180,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:25978 +#: book.translate.xml:26003 #, no-wrap msgid "" "ipsec_enable=\"YES\"\n" @@ -37058,29 +37190,29 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:25987 +#: book.translate.xml:26012 msgid "OpenSSH" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:25990 +#: book.translate.xml:26015 msgid "" "<personname><firstname>Chern</firstname><surname>Lee</surname></" "personname><contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:25996 +#: book.translate.xml:26021 msgid "<primary>OpenSSH</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:25997 +#: book.translate.xml:26022 msgid "<primary>security</primary> <secondary>OpenSSH</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:26002 +#: book.translate.xml:26027 msgid "" "<application>OpenSSH</application> is a set of network connectivity tools " "used to provide secure access to remote machines. Additionally, <acronym>TCP/" @@ -37091,7 +37223,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:26011 +#: book.translate.xml:26036 msgid "" "<application>OpenSSH</application> is maintained by the OpenBSD project and " "is installed by default in FreeBSD. It is compatible with both <acronym>SSH</" @@ -37099,7 +37231,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:26016 +#: book.translate.xml:26041 msgid "" "When data is sent over the network in an unencrypted form, network sniffers " "anywhere in between the client and server can steal user/password " @@ -37111,7 +37243,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:26024 +#: book.translate.xml:26049 msgid "" "This section provides an overview of the built-in client utilities to " "securely access other systems and securely transfer files from a FreeBSD " @@ -37121,17 +37253,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:26032 +#: book.translate.xml:26057 msgid "Using the SSH Client Utilities" msgstr "使用 SSH 客戶端工具" #. (itstool) path: sect2/indexterm -#: book.translate.xml:26034 +#: book.translate.xml:26059 msgid "<primary>OpenSSH</primary> <secondary>client</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26039 +#: book.translate.xml:26064 msgid "" "To log into a <acronym>SSH</acronym> server, use <command>ssh</command> and " "specify a username that exists on that server and the <acronym>IP</acronym> " @@ -37141,7 +37273,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:26046 +#: book.translate.xml:26071 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ssh <replaceable>user@example.com</replaceable></userinput>\n" @@ -37153,7 +37285,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26053 +#: book.translate.xml:26078 msgid "" "<acronym>SSH</acronym> utilizes a key fingerprint system to verify the " "authenticity of the server when the client connects. When the user accepts " @@ -37167,7 +37299,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26065 +#: book.translate.xml:26090 msgid "" "By default, recent versions of <application>OpenSSH</application> only " "accept <acronym>SSH</acronym>v2 connections. By default, the client will use " @@ -37179,19 +37311,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:26074 +#: book.translate.xml:26099 msgid "<primary>OpenSSH</primary> <secondary>secure copy</secondary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:26078 +#: book.translate.xml:26103 msgid "" "<primary><citerefentry><refentrytitle>scp</refentrytitle><manvolnum>1</" "manvolnum></citerefentry></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26082 +#: book.translate.xml:26107 msgid "" "Use <citerefentry><refentrytitle>scp</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> to securely copy a file to or from a remote " @@ -37201,7 +37333,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:26088 +#: book.translate.xml:26113 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>scp <replaceable>user@example.com:/COPYRIGHT COPYRIGHT</replaceable></userinput>\n" @@ -37212,14 +37344,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26094 +#: book.translate.xml:26119 msgid "" "Since the fingerprint was already verified for this host, the server's key " "is automatically checked before prompting for the user's password." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26098 +#: book.translate.xml:26123 msgid "" "The arguments passed to <command>scp</command> are similar to <command>cp</" "command>. The file or files to copy is the first argument and the " @@ -37231,7 +37363,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26108 +#: book.translate.xml:26133 msgid "" "To open an interactive session for copying files, use <command>sftp</" "command>. Refer to <citerefentry><refentrytitle>sftp</" @@ -37240,50 +37372,69 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:26114 +#: book.translate.xml:26139 msgid "Key-based Authentication" msgstr "以金鑰為基礎的認證" #. (itstool) path: sect3/para -#: book.translate.xml:26116 +#: book.translate.xml:26141 msgid "" "Instead of using passwords, a client can be configured to connect to the " -"remote machine using keys. To generate <acronym>DSA</acronym> or " -"<acronym>RSA</acronym> authentication keys, use <command>ssh-keygen</" -"command>. To generate a public and private key pair, specify the type of key " -"and follow the prompts. It is recommended to protect the keys with a " -"memorable, but hard to guess passphrase." +"remote machine using keys. To generate <acronym>RSA</acronym> authentication " +"keys, use <command>ssh-keygen</command>. To generate a public and private " +"key pair, specify the type of key and follow the prompts. It is recommended " +"to protect the keys with a memorable, but hard to guess passphrase." msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:26125 +#: book.translate.xml:26150 #, no-wrap msgid "" -"<prompt>%</prompt> <userinput>ssh-keygen -t <replaceable>dsa</replaceable></userinput>\n" -"Generating public/private dsa key pair.\n" -"Enter file in which to save the key (/home/user/.ssh/id_dsa):\n" -"Created directory '/home/user/.ssh'.\n" -"Enter passphrase (empty for no passphrase): <replaceable>type some passphrase here which can contain spaces</replaceable>\n" -"Enter same passphrase again: <replaceable>type some passphrase here which can contain spaces</replaceable>\n" -"Your identification has been saved in /home/user/.ssh/id_dsa.\n" -"Your public key has been saved in /home/user/.ssh/id_dsa.pub.\n" +"<prompt>%</prompt> <userinput>ssh-keygen -t rsa</userinput>\n" +"Generating public/private rsa key pair.\n" +"Enter file in which to save the key (/home/user/.ssh/id_rsa):\n" +"Enter passphrase (empty for no passphrase): <co xml:id=\"co-ssh-keygen-passphrase1\"/>\n" +"Enter same passphrase again: <co xml:id=\"co-ssh-keygen-passphrase2\"/>\n" +"Your identification has been saved in /home/user/.ssh/id_rsa.\n" +"Your public key has been saved in /home/user/.ssh/id_rsa.pub.\n" "The key fingerprint is:\n" -"bb:48:db:f2:93:57:80:b6:aa:bc:f5:d5:ba:8f:79:17 user@host.example.com" +"SHA256:54Xm9Uvtv6H4NOo6yjP/YCfODryvUU7yWHzMqeXwhq8 user@host.example.com\n" +"The key's randomart image is:\n" +"+---[RSA 2048]----+\n" +"| |\n" +"| |\n" +"| |\n" +"| . o.. |\n" +"| .S*+*o |\n" +"| . O=Oo . . |\n" +"| = Oo= oo..|\n" +"| .oB.* +.oo.|\n" +"| =OE**.o..=|\n" +"+----[SHA256]-----+" +msgstr "" + +#. (itstool) path: callout/para +#: book.translate.xml:26174 +msgid "Type a passphrase here. It can contain spaces and symbols." +msgstr "" + +#. (itstool) path: callout/para +#: book.translate.xml:26179 +msgid "Retype the passphrase to verify it." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:26136 +#: book.translate.xml:26184 msgid "" -"Depending upon the specified protocol, the private key is stored in " -"<filename>~/.ssh/id_dsa</filename> (or <filename>~/.ssh/id_rsa</filename>), " -"and the public key is stored in <filename>~/.ssh/id_dsa.pub</filename> (or " -"<filename>~/.ssh/id_rsa.pub</filename>). The <emphasis>public</emphasis> key " -"must be first copied to <filename>~/.ssh/authorized_keys</filename> on the " -"remote machine in order for key-based authentication to work." +"The private key is stored in <filename>~/.ssh/id_rsa</filename> and the " +"public key is stored in <filename>~/.ssh/id_rsa.pub</filename>. The " +"<emphasis>public</emphasis> key must be copied to <filename>~/.ssh/" +"authorized_keys</filename> on the remote machine for key-based " +"authentication to work." msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:26147 +#: book.translate.xml:26195 msgid "" "Many users believe that keys are secure by design and will use a key without " "a passphrase. This is <emphasis>dangerous</emphasis> behavior. An " @@ -37292,62 +37443,65 @@ msgid "" "<literal>ENCRYPTED</literal>, the key owner is using a passphrase. In " "addition, to better secure end users, <literal>from</literal> may be placed " "in the public key file. For example, adding <literal>from=\"192.168.10.5\"</" -"literal> in the front of <literal>ssh-rsa</literal> or <literal>rsa-dsa</" -"literal> prefix will only allow that specific user to login from that " -"<acronym>IP</acronym> address." +"literal> in front of the <literal>ssh-rsa</literal> prefix will only allow " +"that specific user to log in from that <acronym>IP</acronym> address." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:26163 +#: book.translate.xml:26211 msgid "" -"The various options and files can be different according to the " -"<application>OpenSSH</application> version. To avoid problems, consult " -"<citerefentry><refentrytitle>ssh-keygen</refentrytitle><manvolnum>1</" -"manvolnum></citerefentry>." +"The options and files vary with different versions of <application>OpenSSH</" +"application>. To avoid problems, consult <citerefentry><refentrytitle>ssh-" +"keygen</refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:26167 +#: book.translate.xml:26215 msgid "" -"If a passphrase is used, the user will be prompted for the passphrase each " -"time a connection is made to the server. To load <acronym>SSH</acronym> keys " -"into memory, without needing to type the passphrase each time, use " +"If a passphrase is used, the user is prompted for the passphrase each time a " +"connection is made to the server. To load <acronym>SSH</acronym> keys into " +"memory and remove the need to type the passphrase each time, use " "<citerefentry><refentrytitle>ssh-agent</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>ssh-add</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:26173 +#: book.translate.xml:26221 msgid "" "Authentication is handled by <command>ssh-agent</command>, using the private " -"key(s) that are loaded into it. Then, <command>ssh-agent</command> should be " -"used to launch another application such as a shell or a window manager." +"keys that are loaded into it. <command>ssh-agent</command> can be used to " +"launch another application like a shell or a window manager." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:26179 +#: book.translate.xml:26227 msgid "" "To use <command>ssh-agent</command> in a shell, start it with a shell as an " -"argument. Next, add the identity by running <command>ssh-add</command> and " -"providing it the passphrase for the private key. Once these steps have been " -"completed, the user will be able to <command>ssh</command> to any host that " -"has the corresponding public key installed. For example:" +"argument. Add the identity by running <command>ssh-add</command> and " +"entering the passphrase for the private key. The user will then be able to " +"<command>ssh</command> to any host that has the corresponding public key " +"installed. For example:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:26187 +#: book.translate.xml:26235 #, no-wrap msgid "" "<prompt>%</prompt> ssh-agent <replaceable>csh</replaceable>\n" "<prompt>%</prompt> ssh-add\n" -"Enter passphrase for key '/usr/home/user/.ssh/id_dsa': <replaceable>type passphrase here</replaceable>\n" -"Identity added: /usr/home/user/.ssh/id_dsa (/usr/home/user/.ssh/id_dsa)\n" +"Enter passphrase for key '/usr/home/user/.ssh/id_rsa': <co xml:id=\"co-ssh-agent-passphrase\"/>\n" +"Identity added: /usr/home/user/.ssh/id_rsa (/usr/home/user/.ssh/id_rsa)\n" "<prompt>%</prompt>" msgstr "" +#. (itstool) path: callout/para +#: book.translate.xml:26243 +msgid "Enter the passphrase for the key." +msgstr "" + #. (itstool) path: sect3/para -#: book.translate.xml:26193 +#: book.translate.xml:26247 msgid "" "To use <command>ssh-agent</command> in <application>Xorg</application>, add " "an entry for it in <filename>~/.xinitrc</filename>. This provides the " @@ -37357,13 +37511,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:26200 +#: book.translate.xml:26254 #, no-wrap msgid "exec ssh-agent <replaceable>startxfce4</replaceable>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:26202 +#: book.translate.xml:26256 msgid "" "This launches <command>ssh-agent</command>, which in turn launches " "<application>XFCE</application>, every time <application>Xorg</application> " @@ -37373,31 +37527,31 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:26211 +#: book.translate.xml:26265 msgid "<acronym>SSH</acronym> Tunneling" msgstr "<acronym>SSH</acronym> 通道" #. (itstool) path: sect3/indexterm -#: book.translate.xml:26213 +#: book.translate.xml:26267 msgid "<primary>OpenSSH</primary> <secondary>tunneling</secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:26218 +#: book.translate.xml:26272 msgid "" "<application>OpenSSH</application> has the ability to create a tunnel to " "encapsulate another protocol in an encrypted session." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:26222 +#: book.translate.xml:26276 msgid "" "The following command tells <command>ssh</command> to create a tunnel for " "<application>telnet</application>:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:26226 +#: book.translate.xml:26280 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>ssh -2 -N -f -L <replaceable>5023:localhost:23 user@foo.example.com</replaceable></userinput>\n" @@ -37405,63 +37559,63 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:26229 +#: book.translate.xml:26283 msgid "This example uses the following options:" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:26233 +#: book.translate.xml:26287 msgid "<option>-2</option>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:26236 +#: book.translate.xml:26290 msgid "" "Forces <command>ssh</command> to use version 2 to connect to the server." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:26242 +#: book.translate.xml:26296 msgid "<option>-N</option>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:26245 +#: book.translate.xml:26299 msgid "" "Indicates no command, or tunnel only. If omitted, <command>ssh</command> " "initiates a normal session." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:26255 +#: book.translate.xml:26309 msgid "Forces <command>ssh</command> to run in the background." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:26261 +#: book.translate.xml:26315 msgid "<option>-L</option>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:26264 +#: book.translate.xml:26318 msgid "" "Indicates a local tunnel in <replaceable>localport:remotehost:remoteport</" "replaceable> format." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:26271 +#: book.translate.xml:26325 msgid "<option>user@foo.example.com</option>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:26274 +#: book.translate.xml:26328 msgid "" "The login name to use on the specified remote <acronym>SSH</acronym> server." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:26280 +#: book.translate.xml:26334 msgid "" "An <acronym>SSH</acronym> tunnel works by creating a listen socket on " "<systemitem>localhost</systemitem> on the specified <literal>localport</" @@ -37476,7 +37630,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:26292 +#: book.translate.xml:26346 msgid "" "This method can be used to wrap any number of insecure <acronym>TCP</" "acronym> protocols such as <acronym>SMTP</acronym>, <acronym>POP3</acronym>, " @@ -37484,12 +37638,12 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:26299 +#: book.translate.xml:26353 msgid "Create a Secure Tunnel for <acronym>SMTP</acronym>" msgstr "建立供 <acronym>SMTP</acronym> 使用的安全通道" #. (itstool) path: example/screen -#: book.translate.xml:26302 +#: book.translate.xml:26356 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>ssh -2 -N -f -L <replaceable>5025:localhost:25 user@mailserver.example.com</replaceable></userinput>\n" @@ -37502,7 +37656,7 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:26310 +#: book.translate.xml:26364 msgid "" "This can be used in conjunction with <command>ssh-keygen</command> and " "additional user accounts to create a more seamless <acronym>SSH</acronym> " @@ -37511,12 +37665,12 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:26319 +#: book.translate.xml:26373 msgid "Secure Access of a <acronym>POP3</acronym> Server" msgstr "安全存取 <acronym>POP3</acronym> 伺服器" #. (itstool) path: example/para -#: book.translate.xml:26322 +#: book.translate.xml:26376 msgid "" "In this example, there is an <acronym>SSH</acronym> server that accepts " "connections from the outside. On the same network resides a mail server " @@ -37526,7 +37680,7 @@ msgid "" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:26330 +#: book.translate.xml:26384 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>ssh -2 -N -f -L <replaceable>2110:mail.example.com:110 user@ssh-server.example.com</replaceable></userinput>\n" @@ -37534,7 +37688,7 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:26333 +#: book.translate.xml:26387 msgid "" "Once the tunnel is up and running, point the email client to send " "<acronym>POP3</acronym> requests to <systemitem>localhost</systemitem> on " @@ -37543,12 +37697,12 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:26341 +#: book.translate.xml:26395 msgid "Bypassing a Firewall" msgstr "跳過防火牆" #. (itstool) path: example/para -#: book.translate.xml:26343 +#: book.translate.xml:26397 msgid "" "Some firewalls filter both incoming and outgoing connections. For example, a " "firewall might limit access from remote machines to ports 22 and 80 to only " @@ -37557,7 +37711,7 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:26351 +#: book.translate.xml:26405 msgid "" "The solution is to create an <acronym>SSH</acronym> connection to a machine " "outside of the network's firewall and use it to tunnel to the desired " @@ -37565,7 +37719,7 @@ msgid "" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:26355 +#: book.translate.xml:26409 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>ssh -2 -N -f -L <replaceable>8888:music.example.com:8000 user@unfirewalled-system.example.org</replaceable></userinput>\n" @@ -37573,7 +37727,7 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:26358 +#: book.translate.xml:26412 msgid "" "In this example, a streaming Ogg Vorbis client can now be pointed to " "<systemitem>localhost</systemitem> port 8888, which will be forwarded over " @@ -37582,17 +37736,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:26368 +#: book.translate.xml:26422 msgid "Enabling the SSH Server" msgstr "開啟 SSH 伺服器" #. (itstool) path: sect2/indexterm -#: book.translate.xml:26370 +#: book.translate.xml:26424 msgid "<primary>OpenSSH</primary> <secondary>enabling</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26375 +#: book.translate.xml:26429 msgid "" "In addition to providing built-in <acronym>SSH</acronym> client utilities, a " "FreeBSD system can be configured as an <acronym>SSH</acronym> server, " @@ -37600,7 +37754,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26380 +#: book.translate.xml:26434 msgid "" "To see if <application>sshd</application> is operating, use the " "<citerefentry><refentrytitle>service</refentrytitle><manvolnum>8</" @@ -37608,26 +37762,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:26383 +#: book.translate.xml:26437 #, no-wrap msgid "<prompt>#</prompt> <userinput>service sshd status</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26385 +#: book.translate.xml:26439 msgid "" "If the service is not running, add the following line to <filename>/etc/rc." "conf</filename>." msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:26388 +#: book.translate.xml:26442 #, no-wrap msgid "sshd_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26390 +#: book.translate.xml:26444 msgid "" "This will start <application>sshd</application>, the daemon program for " "<application>OpenSSH</application>, the next time the system boots. To start " @@ -37635,13 +37789,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:26394 +#: book.translate.xml:26448 #, no-wrap msgid "<prompt>#</prompt> <userinput>service sshd start</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26396 +#: book.translate.xml:26450 msgid "" "The first time <application>sshd</application> starts on a FreeBSD system, " "the system's host keys will be automatically created and the fingerprint " @@ -37650,7 +37804,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26402 +#: book.translate.xml:26456 msgid "" "Refer to <citerefentry><refentrytitle>sshd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> for the list of available options when starting " @@ -37659,19 +37813,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26407 +#: book.translate.xml:26461 msgid "" "At this point, the <application>sshd</application> should be available to " "all users with a username and password on the system." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:26413 +#: book.translate.xml:26467 msgid "SSH Server Security" msgstr "SSH 伺服器安全性" #. (itstool) path: sect2/para -#: book.translate.xml:26415 +#: book.translate.xml:26469 msgid "" "While <application>sshd</application> is the most widely used remote " "administration facility for FreeBSD, brute force and drive by attacks are " @@ -37681,7 +37835,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26422 +#: book.translate.xml:26476 msgid "" "It is a good idea to limit which users can log into the <acronym>SSH</" "acronym> server and from where using the <literal>AllowUsers</literal> " @@ -37692,50 +37846,50 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:26430 +#: book.translate.xml:26484 #, no-wrap msgid "AllowUsers root@192.168.1.32" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26432 +#: book.translate.xml:26486 msgid "" "To allow <systemitem class=\"username\">admin</systemitem> to log in from " "anywhere, list that user without specifying an <acronym>IP</acronym> address:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:26436 +#: book.translate.xml:26490 #, no-wrap msgid "AllowUsers admin" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26438 +#: book.translate.xml:26492 msgid "Multiple users should be listed on the same line, like so:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:26441 +#: book.translate.xml:26495 #, no-wrap msgid "AllowUsers root@192.168.1.32 admin" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26443 +#: book.translate.xml:26497 msgid "" "After making changes to <filename>/etc/ssh/sshd_config</filename>, tell " "<application>sshd</application> to reload its configuration file by running:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:26448 +#: book.translate.xml:26502 #, no-wrap msgid "<prompt>#</prompt> <userinput>service sshd reload</userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:26451 +#: book.translate.xml:26505 msgid "" "When this keyword is used, it is important to list each user that needs to " "log into this machine. Any user that is not specified in that line will be " @@ -37749,7 +37903,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26463 +#: book.translate.xml:26517 msgid "" "In addition, users may be forced to use two factor authentication via the " "use of a public and private key. When required, the user may generate a key " @@ -37762,13 +37916,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:26472 +#: book.translate.xml:26526 #, no-wrap msgid "AuthenticationMethods publickey" msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:26475 +#: book.translate.xml:26529 msgid "" "Do not confuse <filename>/etc/ssh/sshd_config</filename> with <filename>/etc/" "ssh/ssh_config</filename> (note the extra <literal>d</literal> in the first " @@ -37779,25 +37933,25 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:26487 +#: book.translate.xml:26541 msgid "Access Control Lists" msgstr "存取控制清單" #. (itstool) path: authorgroup/author -#: book.translate.xml:26490 book.translate.xml:26635 book.translate.xml:26711 -#: book.translate.xml:27031 book.translate.xml:27096 book.translate.xml:27453 +#: book.translate.xml:26544 book.translate.xml:26689 book.translate.xml:26765 +#: book.translate.xml:27085 book.translate.xml:27150 book.translate.xml:27507 msgid "" "<personname><firstname>Tom</firstname><surname>Rhodes</surname></" "personname><contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:26495 +#: book.translate.xml:26549 msgid "<primary>ACL</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:26499 +#: book.translate.xml:26553 msgid "" "Access Control Lists (<acronym>ACL</acronym>s) extend the standard " "<trademark class=\"registered\">UNIX</trademark> permission model in a " @@ -37807,7 +37961,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:26504 +#: book.translate.xml:26558 msgid "" "The FreeBSD <filename>GENERIC</filename> kernel provides <acronym>ACL</" "acronym> support for <acronym>UFS</acronym> file systems. Users who prefer " @@ -37816,13 +37970,13 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:26510 +#: book.translate.xml:26564 #, no-wrap msgid "options UFS_ACL" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:26512 +#: book.translate.xml:26566 msgid "" "If this option is not compiled in, a warning message will be displayed when " "attempting to mount a file system with <acronym>ACL</acronym> support. " @@ -37831,19 +37985,19 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:26518 +#: book.translate.xml:26572 msgid "" "This chapter describes how to enable <acronym>ACL</acronym> support and " "provides some usage examples." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:26523 +#: book.translate.xml:26577 msgid "Enabling <acronym>ACL</acronym> Support" msgstr "開啟 <acronym>ACL</acronym> 支援" #. (itstool) path: sect2/para -#: book.translate.xml:26525 +#: book.translate.xml:26579 msgid "" "<acronym>ACL</acronym>s are enabled by the mount-time administrative flag, " "<option>acls</option>, which may be added to <filename>/etc/fstab</" @@ -37855,7 +38009,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:26535 +#: book.translate.xml:26589 msgid "" "The superblock flag cannot be changed by a remount using <option>mount -u</" "option> as it requires a complete <command>umount</command> and fresh " @@ -37866,7 +38020,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:26546 +#: book.translate.xml:26600 msgid "" "Setting the superblock flag causes the file system to always be mounted with " "<acronym>ACL</acronym>s enabled, even if there is not an <filename>fstab</" @@ -37875,7 +38029,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:26556 +#: book.translate.xml:26610 msgid "" "It is desirable to discourage accidental mounting without <acronym>ACL</" "acronym>s enabled because nasty things can happen if <acronym>ACL</acronym>s " @@ -37889,14 +38043,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26570 +#: book.translate.xml:26624 msgid "" "File systems with <acronym>ACL</acronym>s enabled will show a plus (<literal>" "+</literal>) sign in their permission settings:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:26574 +#: book.translate.xml:26628 #, no-wrap msgid "" "drwx------ 2 robert robert 512 Dec 27 11:54 private\n" @@ -37907,7 +38061,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26580 +#: book.translate.xml:26634 msgid "" "In this example, <filename>directory1</filename>, <filename>directory2</" "filename>, and <filename>directory3</filename> are all taking advantage of " @@ -37915,12 +38069,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:26588 +#: book.translate.xml:26642 msgid "Using <acronym>ACL</acronym>s" msgstr "使用 <acronym>ACL</acronym>" #. (itstool) path: sect2/para -#: book.translate.xml:26590 +#: book.translate.xml:26644 msgid "" "File system <acronym>ACL</acronym>s can be viewed using <command>getfacl</" "command>. For instance, to view the <acronym>ACL</acronym> settings on " @@ -37928,7 +38082,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:26595 +#: book.translate.xml:26649 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>getfacl test</userinput>\n" @@ -37941,7 +38095,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26603 +#: book.translate.xml:26657 msgid "" "To change the <acronym>ACL</acronym> settings on this file, use " "<command>setfacl</command>. To remove all of the currently defined " @@ -37951,26 +38105,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:26610 +#: book.translate.xml:26664 #, no-wrap msgid "<prompt>%</prompt> <userinput>setfacl -k test</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26612 +#: book.translate.xml:26666 msgid "" "To modify the default <acronym>ACL</acronym> entries, use <option>-m</" "option>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:26615 +#: book.translate.xml:26669 #, no-wrap msgid "<prompt>%</prompt> <userinput>setfacl -m u:trhodes:rwx,group:web:r--,o::--- test</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26617 +#: book.translate.xml:26671 msgid "" "In this example, there were no pre-defined entries, as they were removed by " "the previous command. This command restores the default options and assigns " @@ -37979,7 +38133,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26624 +#: book.translate.xml:26678 msgid "" "Refer to <citerefentry><refentrytitle>getfacl</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>setfacl</" @@ -37988,17 +38142,17 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:26632 +#: book.translate.xml:26686 msgid "Monitoring Third Party Security Issues" msgstr "監視第三方安全性問題" #. (itstool) path: sect1/indexterm -#: book.translate.xml:26640 +#: book.translate.xml:26694 msgid "<primary>pkg</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:26644 +#: book.translate.xml:26698 msgid "" "In recent years, the security world has made many improvements to how " "vulnerability assessment is handled. The threat of system intrusion " @@ -38007,7 +38161,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:26650 +#: book.translate.xml:26704 msgid "" "Vulnerability assessment is a key factor in security. While FreeBSD releases " "advisories for the base system, doing so for every third party utility is " @@ -38018,7 +38172,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:26659 +#: book.translate.xml:26713 msgid "" "<application>pkg</application> polls a database for security issues. The " "database is updated and maintained by the FreeBSD Security Team and ports " @@ -38026,7 +38180,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:26663 +#: book.translate.xml:26717 msgid "" "Please refer to <link xlink:href=\"@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/" "books/handbook/pkgng-intro.html\">instructions</link> for installing " @@ -38034,7 +38188,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:26667 +#: book.translate.xml:26721 msgid "" "Installation provides <citerefentry><refentrytitle>periodic</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> configuration files " @@ -38048,7 +38202,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:26677 +#: book.translate.xml:26731 msgid "" "After installation, and to audit third party utilities as part of the Ports " "Collection at any time, an administrator may choose to update the database " @@ -38056,14 +38210,14 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:26684 +#: book.translate.xml:26738 msgid "" "<application>pkg</application> displays messages any published " "vulnerabilities in installed packages:" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:26687 +#: book.translate.xml:26741 #, no-wrap msgid "" "Affected package: cups-base-1.1.22.0_1\n" @@ -38076,7 +38230,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:26695 +#: book.translate.xml:26749 msgid "" "By pointing a web browser to the displayed <acronym>URL</acronym>, an " "administrator may obtain more information about the vulnerability. This will " @@ -38085,24 +38239,24 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:26701 +#: book.translate.xml:26755 msgid "" "<application>pkg</application> is a powerful utility and is extremely useful " "when coupled with <package>ports-mgmt/portmaster</package>." msgstr "" #. (itstool) path: info/title -#: book.translate.xml:26708 +#: book.translate.xml:26762 msgid "FreeBSD Security Advisories" msgstr "FreeBSD 安全報告" #. (itstool) path: sect1/indexterm -#: book.translate.xml:26716 +#: book.translate.xml:26770 msgid "<primary>FreeBSD Security Advisories</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:26720 +#: book.translate.xml:26774 msgid "" "Like many producers of quality operating systems, the FreeBSD Project has a " "security team which is responsible for determining the End-of-Life " @@ -38114,7 +38268,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:26730 +#: book.translate.xml:26784 msgid "" "One task of the security team is to respond to reported security " "vulnerabilities in the FreeBSD operating system. Once a vulnerability is " @@ -38131,22 +38285,22 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:26741 +#: book.translate.xml:26795 msgid "This section describes the format of a FreeBSD security advisory." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:26745 +#: book.translate.xml:26799 msgid "Format of a Security Advisory" msgstr "安全報告的格式" #. (itstool) path: sect2/para -#: book.translate.xml:26747 +#: book.translate.xml:26801 msgid "Here is an example of a FreeBSD security advisory:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:26749 +#: book.translate.xml:26803 #, no-wrap msgid "" "=============================================================================\n" @@ -38293,12 +38447,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:26891 +#: book.translate.xml:26945 msgid "Every security advisory uses the following format:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:26895 +#: book.translate.xml:26949 msgid "" "Each security advisory is signed by the <acronym>PGP</acronym> key of the " "Security Officer. The public key for the Security Officer can be verified at " @@ -38306,7 +38460,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:26902 +#: book.translate.xml:26956 msgid "" "The name of the security advisory always begins with <literal>FreeBSD-SA-</" "literal> (for FreeBSD Security Advisory), followed by the year in two digit " @@ -38318,12 +38472,12 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:26914 +#: book.translate.xml:26968 msgid "The <literal>Topic</literal> field summarizes the vulnerability." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:26919 +#: book.translate.xml:26973 msgid "" "The <literal>Category</literal> refers to the affected part of the system " "which may be one of <literal>core</literal>, <literal>contrib</literal>, or " @@ -38336,7 +38490,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:26934 +#: book.translate.xml:26988 msgid "" "The <literal>Module</literal> field refers to the component location. In " "this example, the <literal>bind</literal> module is affected; therefore, " @@ -38345,7 +38499,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:26942 +#: book.translate.xml:26996 msgid "" "The <literal>Announced</literal> field reflects the date the security " "advisory was published. This means that the security team has verified that " @@ -38354,21 +38508,21 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:26950 +#: book.translate.xml:27004 msgid "" "The <literal>Credits</literal> field gives credit to the individual or " "organization who noticed the vulnerability and reported it." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:26956 +#: book.translate.xml:27010 msgid "" "The <literal>Affects</literal> field explains which releases of FreeBSD are " "affected by this vulnerability." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:26962 +#: book.translate.xml:27016 msgid "" "The <literal>Corrected</literal> field indicates the date, time, time " "offset, and releases that were corrected. The section in parentheses shows " @@ -38381,7 +38535,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:26976 +#: book.translate.xml:27030 msgid "" "The <literal>CVE Name</literal> field lists the advisory number, if one " "exists, in the public <link xlink:href=\"http://cve.mitre.org\">cve.mitre." @@ -38389,14 +38543,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:26982 +#: book.translate.xml:27036 msgid "" "The <literal>Background</literal> field provides a description of the " "affected module." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:26987 +#: book.translate.xml:27041 msgid "" "The <literal>Problem Description</literal> field explains the vulnerability. " "This can include information about the flawed code and how the utility could " @@ -38404,21 +38558,21 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:26994 +#: book.translate.xml:27048 msgid "" "The <literal>Impact</literal> field describes what type of impact the " "problem could have on a system." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:26999 +#: book.translate.xml:27053 msgid "" "The <literal>Workaround</literal> field indicates if a workaround is " "available to system administrators who cannot immediately patch the system ." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:27005 +#: book.translate.xml:27059 msgid "" "The <literal>Solution</literal> field provides the instructions for patching " "the affected system. This is a step by step tested and verified method for " @@ -38426,31 +38580,31 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:27012 +#: book.translate.xml:27066 msgid "" "The <literal>Correction Details</literal> field displays each affected " "Subversion branch with the revision number that contains the corrected code." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:27018 +#: book.translate.xml:27072 msgid "" "The <literal>References</literal> field offers sources of additional " "information regarding the vulnerability." msgstr "" #. (itstool) path: info/title -#: book.translate.xml:27028 +#: book.translate.xml:27082 msgid "Process Accounting" msgstr "程序追蹤" #. (itstool) path: sect1/indexterm -#: book.translate.xml:27036 +#: book.translate.xml:27090 msgid "<primary>Process Accounting</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27040 +#: book.translate.xml:27094 msgid "" "Process accounting is a security method in which an administrator may keep " "track of system resources used and their allocation among users, provide for " @@ -38458,7 +38612,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27045 +#: book.translate.xml:27099 msgid "" "Process accounting has both positive and negative points. One of the " "positives is that an intrusion may be narrowed down to the point of entry. A " @@ -38468,26 +38622,26 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:27053 +#: book.translate.xml:27107 msgid "" "If more fine-grained accounting is needed, refer to <xref linkend=\"audit\"/" ">." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:27058 +#: book.translate.xml:27112 msgid "Enabling and Utilizing Process Accounting" msgstr "開啟並使用程序追蹤" #. (itstool) path: sect2/para -#: book.translate.xml:27060 +#: book.translate.xml:27114 msgid "" "Before using process accounting, it must be enabled using the following " "commands:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:27063 +#: book.translate.xml:27117 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>touch /var/account/acct</userinput>\n" @@ -38497,7 +38651,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:27068 +#: book.translate.xml:27122 msgid "" "Once enabled, accounting will begin to track information such as " "<acronym>CPU</acronym> statistics and executed commands. All accounting logs " @@ -38511,7 +38665,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:27079 +#: book.translate.xml:27133 msgid "" "To display the commands issued by users, use <command>lastcomm</command>. " "For example, this command prints out all usage of <command>ls</command> by " @@ -38520,13 +38674,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:27084 +#: book.translate.xml:27138 #, no-wrap msgid "<prompt>#</prompt> <userinput>lastcomm ls trhodes ttyp1</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:27086 +#: book.translate.xml:27140 msgid "" "Many other useful options exist and are explained in " "<citerefentry><refentrytitle>lastcomm</refentrytitle><manvolnum>1</" @@ -38537,17 +38691,17 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:27093 +#: book.translate.xml:27147 msgid "Resource Limits" msgstr "限制資源" #. (itstool) path: sect1/indexterm -#: book.translate.xml:27101 +#: book.translate.xml:27155 msgid "<primary>Resource limits</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27105 +#: book.translate.xml:27159 msgid "" "FreeBSD provides several methods for an administrator to limit the amount of " "system resources an individual may use. Disk quotas limit the amount of disk " @@ -38555,22 +38709,22 @@ msgid "" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:27110 +#: book.translate.xml:27164 msgid "<primary>quotas</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:27113 +#: book.translate.xml:27167 msgid "<primary>limiting users</primary> <secondary>quotas</secondary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:27117 book.translate.xml:33943 +#: book.translate.xml:27171 book.translate.xml:33997 msgid "<primary>disk quotas</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27121 +#: book.translate.xml:27175 msgid "" "Limits to other resources, such as <acronym>CPU</acronym> and memory, can be " "set using either a flat file or a command to configure a resource limits " @@ -38583,7 +38737,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27133 +#: book.translate.xml:27187 msgid "" "Beginning with FreeBSD 9.0-RELEASE, <command>rctl</command> can be used to " "provide a more fine-grained method for controlling resource limits. This " @@ -38592,34 +38746,34 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27139 +#: book.translate.xml:27193 msgid "" "This section demonstrates both methods for controlling resources, beginning " "with the traditional method." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:27143 +#: book.translate.xml:27197 msgid "Configuring Login Classes" msgstr "設定登入類別" #. (itstool) path: sect2/indexterm -#: book.translate.xml:27145 +#: book.translate.xml:27199 msgid "<primary>limiting users</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:27148 +#: book.translate.xml:27202 msgid "<primary>accounts</primary> <secondary>limiting</secondary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:27152 +#: book.translate.xml:27206 msgid "<primary><filename>/etc/login.conf</filename></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:27156 +#: book.translate.xml:27210 msgid "" "In the traditional method, login classes and the resource limits to apply to " "a login class are defined in <filename>/etc/login.conf</filename>. Each user " @@ -38633,7 +38787,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:27170 +#: book.translate.xml:27224 msgid "" "Whenever <filename>/etc/login.conf</filename> is edited, the <filename>/etc/" "login.conf.db</filename> must be updated by executing the following command:" @@ -38642,14 +38796,14 @@ msgstr "" #. (itstool) path: note/screen #. (itstool) path: sect2/screen #. (itstool) path: sect3/screen -#: book.translate.xml:27174 book.translate.xml:30695 book.translate.xml:43115 -#: book.translate.xml:54400 +#: book.translate.xml:27228 book.translate.xml:30749 book.translate.xml:43169 +#: book.translate.xml:54454 #, no-wrap msgid "<prompt>#</prompt> <userinput>cap_mkdb /etc/login.conf</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:27177 +#: book.translate.xml:27231 msgid "" "Resource limits differ from the default login capabilities in two ways. " "First, for every limit, there is a <firstterm>soft</firstterm> and " @@ -38660,7 +38814,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:27186 +#: book.translate.xml:27240 msgid "" "<xref linkend=\"resource-limits\"/> lists the most commonly used resource " "limits. All of the available resource limits and capabilities are described " @@ -38669,67 +38823,67 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:27191 +#: book.translate.xml:27245 msgid "<primary>limiting users</primary> <secondary>coredumpsize</secondary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:27195 +#: book.translate.xml:27249 msgid "<primary>limiting users</primary> <secondary>cputime</secondary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:27199 +#: book.translate.xml:27253 msgid "<primary>limiting users</primary> <secondary>filesize</secondary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:27203 +#: book.translate.xml:27257 msgid "<primary>limiting users</primary> <secondary>maxproc</secondary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:27207 +#: book.translate.xml:27261 msgid "<primary>limiting users</primary> <secondary>memorylocked</secondary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:27211 +#: book.translate.xml:27265 msgid "<primary>limiting users</primary> <secondary>memoryuse</secondary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:27215 +#: book.translate.xml:27269 msgid "<primary>limiting users</primary> <secondary>openfiles</secondary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:27219 +#: book.translate.xml:27273 msgid "<primary>limiting users</primary> <secondary>sbsize</secondary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:27223 +#: book.translate.xml:27277 msgid "<primary>limiting users</primary> <secondary>stacksize</secondary>" msgstr "" #. (itstool) path: table/title -#: book.translate.xml:27229 +#: book.translate.xml:27283 msgid "Login Class Resource Limits" msgstr "登入類別限制資源類型" #. (itstool) path: row/entry -#: book.translate.xml:27234 +#: book.translate.xml:27288 msgid "Resource Limit" msgstr "限制資源" #. (itstool) path: row/entry -#: book.translate.xml:27241 +#: book.translate.xml:27295 msgid "coredumpsize" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:27242 +#: book.translate.xml:27296 msgid "" "The limit on the size of a core file generated by a program is subordinate " "to other limits on disk usage, such as <literal>filesize</literal> or disk " @@ -38740,12 +38894,12 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:27254 +#: book.translate.xml:27308 msgid "cputime" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:27255 +#: book.translate.xml:27309 msgid "" "The maximum amount of <acronym>CPU</acronym> time a user's process may " "consume. Offending processes will be killed by the kernel. This is a limit " @@ -38755,12 +38909,12 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:27266 +#: book.translate.xml:27320 msgid "filesize" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:27267 +#: book.translate.xml:27321 msgid "" "The maximum size of a file the user may own. Unlike disk quotas (<xref " "linkend=\"quotas\"/>), this limit is enforced on individual files, not the " @@ -38768,12 +38922,12 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:27274 +#: book.translate.xml:27328 msgid "maxproc" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:27275 +#: book.translate.xml:27329 msgid "" "The maximum number of foreground and background processes a user can run. " "This limit may not be larger than the system limit specified by " @@ -38783,12 +38937,12 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:27285 +#: book.translate.xml:27339 msgid "memorylocked" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:27286 +#: book.translate.xml:27340 msgid "" "The maximum amount of memory a process may request to be locked into main " "memory using <citerefentry><refentrytitle>mlock</refentrytitle><manvolnum>2</" @@ -38799,12 +38953,12 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:27295 +#: book.translate.xml:27349 msgid "memoryuse" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:27296 +#: book.translate.xml:27350 msgid "" "The maximum amount of memory a process may consume at any given time. It " "includes both core memory and swap usage. This is not a catch-all limit for " @@ -38812,12 +38966,12 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:27304 +#: book.translate.xml:27358 msgid "openfiles" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:27305 +#: book.translate.xml:27359 msgid "" "The maximum number of files a process may have open. In FreeBSD, files are " "used to represent sockets and <acronym>IPC</acronym> channels, so be careful " @@ -38826,24 +38980,24 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:27314 +#: book.translate.xml:27368 msgid "sbsize" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:27315 +#: book.translate.xml:27369 msgid "" "The limit on the amount of network memory a user may consume. This can be " "generally used to limit network communications." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:27321 +#: book.translate.xml:27375 msgid "stacksize" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:27322 +#: book.translate.xml:27376 msgid "" "The maximum size of a process stack. This alone is not sufficient to limit " "the amount of memory a program may use, so it should be used in conjunction " @@ -38851,19 +39005,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:27331 +#: book.translate.xml:27385 msgid "There are a few other things to remember when setting resource limits:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:27336 +#: book.translate.xml:27390 msgid "" "Processes started at system startup by <filename>/etc/rc</filename> are " "assigned to the <literal>daemon</literal> login class." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:27342 +#: book.translate.xml:27396 msgid "" "Although the default <filename>/etc/login.conf</filename> is a good source " "of reasonable values for most limits, they may not be appropriate for every " @@ -38872,14 +39026,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:27351 +#: book.translate.xml:27405 msgid "" "<application>Xorg</application> takes a lot of resources and encourages " "users to run more programs simultaneously." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:27357 +#: book.translate.xml:27411 msgid "" "Many limits apply to individual processes, not the user as a whole. For " "example, setting <varname>openfiles</varname> to <literal>50</literal> means " @@ -38890,7 +39044,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:27368 +#: book.translate.xml:27422 msgid "" "For further information on resource limits and login classes and " "capabilities in general, refer to <citerefentry><refentrytitle>cap_mkdb</" @@ -38901,12 +39055,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:27375 +#: book.translate.xml:27429 msgid "Enabling and Configuring Resource Limits" msgstr "開啟並設定資源限制" #. (itstool) path: sect2/para -#: book.translate.xml:27377 +#: book.translate.xml:27431 msgid "" "As of FreeBSD 10.2, <command>rctl</command> support is built into the " "kernel. Previous supported releases will need to be recompiled using the " @@ -38916,7 +39070,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:27383 +#: book.translate.xml:27437 #, no-wrap msgid "" "options RACCT\n" @@ -38924,27 +39078,27 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:27386 +#: book.translate.xml:27440 msgid "" "Once the system has rebooted into the new kernel, <command>rctl</command> " "may be used to set rules for the system." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:27390 +#: book.translate.xml:27444 msgid "" "Rule syntax is controlled through the use of a subject, subject-id, " "resource, and action, as seen in this example rule:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:27394 +#: book.translate.xml:27448 #, no-wrap msgid "user:trhodes:maxproc:deny=10/user" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:27396 +#: book.translate.xml:27450 msgid "" "In this rule, the subject is <literal>user</literal>, the subject-id is " "<literal>trhodes</literal>, the resource, <literal>maxproc</literal>, is the " @@ -38958,7 +39112,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:27407 +#: book.translate.xml:27461 msgid "" "Some care must be taken when adding rules. Since this user is constrained to " "<literal>10</literal> processes, this example will prevent the user from " @@ -38968,7 +39122,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:27414 +#: book.translate.xml:27468 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>man test</userinput>\n" @@ -38977,20 +39131,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:27418 +#: book.translate.xml:27472 msgid "" "As another example, a jail can be prevented from exceeding a memory limit. " "This rule could be written as:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:27421 +#: book.translate.xml:27475 #, no-wrap msgid "<prompt>#</prompt> <userinput>rctl -a jail:httpd:memoryuse:deny=2G/jail</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:27423 +#: book.translate.xml:27477 msgid "" "Rules will persist across reboots if they have been added to <filename>/etc/" "rctl.conf</filename>. The format is a rule, without the preceding command. " @@ -38998,7 +39152,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:27428 +#: book.translate.xml:27482 #, no-wrap msgid "" "# Block jail from using more than 2G memory:\n" @@ -39006,19 +39160,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:27431 +#: book.translate.xml:27485 msgid "" "To remove a rule, use <command>rctl</command> to remove it from the list:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:27434 +#: book.translate.xml:27488 #, no-wrap msgid "<prompt>#</prompt> <userinput>rctl -r user:trhodes:maxproc:deny=10/user</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:27436 +#: book.translate.xml:27490 msgid "" "A method for removing all rules is documented in " "<citerefentry><refentrytitle>rctl</refentrytitle><manvolnum>8</manvolnum></" @@ -39027,13 +39181,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:27440 +#: book.translate.xml:27494 #, no-wrap msgid "<prompt>#</prompt> <userinput>rctl -r user:trhodes</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:27442 +#: book.translate.xml:27496 msgid "" "Many other resources exist which can be used to exert additional control " "over various <literal>subjects</literal>. See " @@ -39042,17 +39196,17 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:27450 +#: book.translate.xml:27504 msgid "Shared Administration with Sudo" msgstr "使用 Sudo 分享管理權限" #. (itstool) path: sect1/indexterm -#: book.translate.xml:27458 +#: book.translate.xml:27512 msgid "<primary>Security</primary> <secondary>Sudo</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27463 +#: book.translate.xml:27517 msgid "" "System administrators often need the ability to grant enhanced permissions " "to users so they may perform privileged tasks. The idea that team members " @@ -39065,7 +39219,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27474 +#: book.translate.xml:27528 msgid "" "Up to this point, the security chapter has covered permitting access to " "authorized users and attempting to prevent unauthorized access. Another " @@ -39081,7 +39235,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27486 +#: book.translate.xml:27540 msgid "" "<application>Sudo</application> allows administrators to configure more " "rigid access to system commands and provide for some advanced logging " @@ -39093,13 +39247,13 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:27493 +#: book.translate.xml:27547 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install sudo</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27495 +#: book.translate.xml:27549 msgid "" "After the installation is complete, the installed <command>visudo</command> " "will open the configuration file with a text editor. Using <command>visudo</" @@ -39108,7 +39262,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27501 +#: book.translate.xml:27555 msgid "" "The configuration file is made up of several small sections which allow for " "extensive configuration. In the following example, web application " @@ -39119,26 +39273,26 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:27510 +#: book.translate.xml:27564 #, no-wrap msgid "user1 ALL=(ALL) /usr/sbin/service webservice *" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27512 +#: book.translate.xml:27566 msgid "" "The user may now start <replaceable>webservice</replaceable> using this " "command:" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:27515 +#: book.translate.xml:27569 #, no-wrap msgid "<prompt>%</prompt> <userinput>sudo /usr/sbin/service <replaceable>webservice</replaceable> start</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27517 +#: book.translate.xml:27571 msgid "" "While this configuration allows a single user access to the " "<application>webservice</application> service; however, in most " @@ -39149,39 +39303,39 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:27525 +#: book.translate.xml:27579 #, no-wrap msgid "<prompt>#</prompt> <userinput>pw groupadd -g 6001 -n webteam</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27527 +#: book.translate.xml:27581 msgid "" "Using the same <citerefentry><refentrytitle>pw</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> command, the user is added to the webteam group:" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:27530 +#: book.translate.xml:27584 #, no-wrap msgid "<prompt>#</prompt> <userinput>pw groupmod -m user1 -n webteam</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27532 +#: book.translate.xml:27586 msgid "" "Finally, this line in <filename>/usr/local/etc/sudoers</filename> allows any " "member of the webteam group to manage <replaceable>webservice</replaceable>:" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:27537 +#: book.translate.xml:27591 #, no-wrap msgid "%webteam ALL=(ALL) /usr/sbin/service webservice *" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27539 +#: book.translate.xml:27593 msgid "" "Unlike <citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, <application>Sudo</application> only requires the " @@ -39190,7 +39344,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27544 +#: book.translate.xml:27598 msgid "" "Users permitted to run applications with <application>Sudo</application> " "only enter their own passwords. This is more secure and gives better control " @@ -39201,7 +39355,7 @@ msgid "" msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:27553 +#: book.translate.xml:27607 msgid "" "Most organizations are moving or have moved toward a two factor " "authentication model. In these cases, the user may not have a password to " @@ -39212,18 +39366,18 @@ msgid "" msgstr "" #. (itstool) path: tip/programlisting -#: book.translate.xml:27562 +#: book.translate.xml:27616 #, no-wrap msgid "%webteam ALL=(ALL) NOPASSWD: /usr/sbin/service webservice *" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:27566 +#: book.translate.xml:27620 msgid "Logging Output" msgstr "記錄輸出" #. (itstool) path: sect2/para -#: book.translate.xml:27568 +#: book.translate.xml:27622 msgid "" "An advantage to implementing <application>Sudo</application> is the ability " "to enable session logging. Using the built in log mechanisms and the " @@ -39236,13 +39390,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:27580 +#: book.translate.xml:27634 #, no-wrap msgid "Defaults iolog_dir=/var/log/sudo-io/%{user}" msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:27583 +#: book.translate.xml:27637 msgid "" "This directory will be created automatically after the logging is " "configured. It is best to let the system create directory with default " @@ -39253,7 +39407,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:27592 +#: book.translate.xml:27646 msgid "" "Once this directive has been added to the <filename>sudoers</filename> file, " "any user configuration can be updated with the request to log access. In the " @@ -39262,13 +39416,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:27598 +#: book.translate.xml:27652 #, no-wrap msgid "%webteam ALL=(ALL) NOPASSWD: LOG_INPUT: LOG_OUTPUT: /usr/sbin/service webservice *" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:27600 +#: book.translate.xml:27654 msgid "" "From this point on, all <replaceable>webteam</replaceable> members altering " "the status of the <replaceable>webservice</replaceable> application will be " @@ -39276,13 +39430,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:27606 +#: book.translate.xml:27660 #, no-wrap msgid "<prompt>#</prompt> <userinput>sudoreplay -l</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:27608 +#: book.translate.xml:27662 msgid "" "In the output, to replay a specific session, search for the <literal>TSID=</" "literal> entry, and pass that to <application>sudoreplay</application> with " @@ -39290,13 +39444,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:27613 +#: book.translate.xml:27667 #, no-wrap msgid "<prompt>#</prompt> <userinput>sudoreplay user1/00/00/02</userinput>" msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:27616 +#: book.translate.xml:27670 msgid "" "While sessions are logged, any administrator is able to remove sessions and " "leave only a question of why they had done so. It is worthwhile to add a " @@ -39306,31 +39460,31 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:27624 +#: book.translate.xml:27678 msgid "" "The <command>sudoreplay</command> is extremely extendable. Consult the " "documentation for more information." msgstr "" #. (itstool) path: info/title -#: book.translate.xml:27638 +#: book.translate.xml:27692 msgid "Jails" msgstr "Jail" #. (itstool) path: authorgroup/author -#: book.translate.xml:27641 +#: book.translate.xml:27695 msgid "" "<personname><firstname>Matteo</firstname><surname>Riondato</surname></" "personname><contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: chapter/indexterm -#: book.translate.xml:27646 +#: book.translate.xml:27700 msgid "<primary>jails</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27651 +#: book.translate.xml:27705 msgid "" "Since system administration is a difficult task, many tools have been " "developed to make life easier for the administrator. These tools often " @@ -39346,7 +39500,7 @@ msgstr "" "用並持續強化它的功能、效率、穩定性以及安全性。" #. (itstool) path: sect1/para -#: book.translate.xml:27660 +#: book.translate.xml:27714 msgid "" "Jails build upon the <citerefentry><refentrytitle>chroot</" "refentrytitle><manvolnum>2</manvolnum></citerefentry> concept, which is used " @@ -39369,7 +39523,7 @@ msgstr "" "經被找到,讓這個方法不再是確保服務安全的理想方案。" #. (itstool) path: sect1/para -#: book.translate.xml:27673 +#: book.translate.xml:27727 msgid "" "Jails improve on the concept of the traditional chroot environment in " "several ways. In a traditional chroot environment, processes are only " @@ -39388,12 +39542,12 @@ msgstr "" "方式,Jail 可算是一種作業系統層級的虛擬化。" #. (itstool) path: sect1/para -#: book.translate.xml:27685 +#: book.translate.xml:27739 msgid "A jail is characterized by four elements:" msgstr "Jail 的四個要素:" #. (itstool) path: listitem/para -#: book.translate.xml:27689 +#: book.translate.xml:27743 msgid "" "A directory subtree: the starting point from which a jail is entered. Once " "inside the jail, a process is not permitted to escape outside of this " @@ -39403,12 +39557,12 @@ msgstr "" "錄之外。" #. (itstool) path: listitem/para -#: book.translate.xml:27695 +#: book.translate.xml:27749 msgid "A hostname: which will be used by the jail." msgstr "一個主機名稱:將會由 Jail 所使用。" #. (itstool) path: listitem/para -#: book.translate.xml:27699 +#: book.translate.xml:27753 msgid "" "An <acronym>IP</acronym> address: which is assigned to the jail. The " "<acronym>IP</acronym> address of a jail is often an alias address for an " @@ -39418,7 +39572,7 @@ msgstr "" "acronym> 位址通常是現有網路介面的別名位址。" #. (itstool) path: listitem/para -#: book.translate.xml:27706 +#: book.translate.xml:27760 msgid "" "A command: the path name of an executable to run inside the jail. The path " "is relative to the root directory of the jail environment." @@ -39427,7 +39581,7 @@ msgstr "" "路徑。" #. (itstool) path: sect1/para -#: book.translate.xml:27712 +#: book.translate.xml:27766 msgid "" "Jails have their own set of users and their own <systemitem class=\"username" "\">root</systemitem> account which are limited to the jail environment. The " @@ -39440,7 +39594,7 @@ msgstr "" "systemitem> 帳號不允許對指定 Jail 環境之外的系統執行操作。" #. (itstool) path: sect1/para -#: book.translate.xml:27717 +#: book.translate.xml:27771 msgid "" "This chapter provides an overview of the terminology and commands for " "managing FreeBSD jails. Jails are a powerful tool for both system " @@ -39450,23 +39604,23 @@ msgstr "" "來二者來說皆是強大的工具。" #. (itstool) path: listitem/para -#: book.translate.xml:27725 +#: book.translate.xml:27779 msgid "What a jail is and what purpose it may serve in FreeBSD installations." msgstr "Jail 是什麼及它在 FreeBSD 中提供的目的。" #. (itstool) path: listitem/para -#: book.translate.xml:27730 +#: book.translate.xml:27784 msgid "How to build, start, and stop a jail." msgstr "如何建立、啟動及停止 Jail。" #. (itstool) path: listitem/para -#: book.translate.xml:27734 +#: book.translate.xml:27788 msgid "" "The basics of jail administration, both from inside and outside the jail." msgstr "Jail 管理基礎,不論從內部或外部。" #. (itstool) path: important/para -#: book.translate.xml:27740 +#: book.translate.xml:27794 msgid "" "Jails are a powerful tool, but they are not a security panacea. While it is " "not possible for a jailed process to break out on its own, there are several " @@ -39479,7 +39633,7 @@ msgstr "" "使用者串通來取得主機環境的更高權限。" #. (itstool) path: important/para -#: book.translate.xml:27747 +#: book.translate.xml:27801 msgid "" "Most of these attacks can be mitigated by ensuring that the jail root is not " "accessible to unprivileged users in the host environment. As a general rule, " @@ -39490,12 +39644,12 @@ msgstr "" "上,不受信任的使用者有 Jail 的存取權限並不會讓其可存取主機環境。" #. (itstool) path: sect1/title -#: book.translate.xml:27756 +#: book.translate.xml:27810 msgid "Terms Related to Jails" msgstr "Jail 相關術語" #. (itstool) path: sect1/para -#: book.translate.xml:27758 +#: book.translate.xml:27812 msgid "" "To facilitate better understanding of parts of the FreeBSD system related to " "jails, their internals and the way they interact with the rest of FreeBSD, " @@ -39505,7 +39659,7 @@ msgstr "" "互作用關係, 以下列出本章將使用的術語:" #. (itstool) path: varlistentry/term -#: book.translate.xml:27765 +#: book.translate.xml:27819 msgid "" "<citerefentry><refentrytitle>chroot</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> (command)" @@ -39514,7 +39668,7 @@ msgstr "" "citerefentry> (指令)" #. (itstool) path: listitem/para -#: book.translate.xml:27767 +#: book.translate.xml:27821 msgid "" "Utility, which uses <citerefentry><refentrytitle>chroot</" "refentrytitle><manvolnum>2</manvolnum></citerefentry> FreeBSD system call to " @@ -39525,7 +39679,7 @@ msgstr "" "(System call) 來更改程予及其衍伸程序的根目錄。" #. (itstool) path: varlistentry/term -#: book.translate.xml:27774 +#: book.translate.xml:27828 msgid "" "<citerefentry><refentrytitle>chroot</refentrytitle><manvolnum>2</manvolnum></" "citerefentry> (environment)" @@ -39534,7 +39688,7 @@ msgstr "" "citerefentry> (環境)" #. (itstool) path: listitem/para -#: book.translate.xml:27776 +#: book.translate.xml:27830 msgid "" "The environment of processes running in a <quote>chroot</quote>. This " "includes resources such as the part of the file system which is visible, " @@ -39545,7 +39699,7 @@ msgstr "" "統、可用的使用者及群組 ID、網路介面及其他 IPC 機制等。" #. (itstool) path: varlistentry/term -#: book.translate.xml:27785 +#: book.translate.xml:27839 msgid "" "<citerefentry><refentrytitle>jail</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> (command)" @@ -39554,19 +39708,19 @@ msgstr "" "citerefentry> (指令)" #. (itstool) path: listitem/para -#: book.translate.xml:27787 +#: book.translate.xml:27841 msgid "" "The system administration utility which allows launching of processes within " "a jail environment." msgstr "允許在 Jail 環境下執行程序的系統管理工具。" #. (itstool) path: varlistentry/term -#: book.translate.xml:27793 +#: book.translate.xml:27847 msgid "host (system, process, user, etc.)" msgstr "主機 (系統、程序、使用者等)" #. (itstool) path: listitem/para -#: book.translate.xml:27795 +#: book.translate.xml:27849 msgid "" "The controlling system of a jail environment. The host system has access to " "all the hardware resources available, and can control processes both outside " @@ -39579,24 +39733,24 @@ msgstr "" "像在 Jail 環境那樣受到限制。" #. (itstool) path: varlistentry/term -#: book.translate.xml:27807 +#: book.translate.xml:27861 msgid "hosted (system, process, user, etc.)" msgstr "託管 (主機、程序、使用者等)" #. (itstool) path: listitem/para -#: book.translate.xml:27809 +#: book.translate.xml:27863 msgid "" "A process, user or other entity, whose access to resources is restricted by " "a FreeBSD jail." msgstr "存取資源受到 FreeBSD Jail 限制的託管程序、使用者或其他實體。" #. (itstool) path: sect1/title -#: book.translate.xml:27817 +#: book.translate.xml:27871 msgid "Creating and Controlling Jails" msgstr "建立和控制 Jail" #. (itstool) path: sect1/para -#: book.translate.xml:27819 +#: book.translate.xml:27873 msgid "" "Some administrators divide jails into the following two types: " "<quote>complete</quote> jails, which resemble a real FreeBSD system, and " @@ -39614,7 +39768,7 @@ msgstr "" "先編譯的 Binary (如安裝媒體上提供的 Binary) 或從原始碼編譯。" #. (itstool) path: sect1/para -#: book.translate.xml:27829 +#: book.translate.xml:27883 msgid "" "To install the userland from installation media, first create the root " "directory for the jail. This can be done by setting the <varname>DESTDIR</" @@ -39624,12 +39778,12 @@ msgstr "" "定 <varname>DESTDIR</varname> 來到適當的位置來完成。" #. (itstool) path: sect1/para -#: book.translate.xml:27834 +#: book.translate.xml:27888 msgid "Start a shell and define <varname>DESTDIR</varname>:" msgstr "啟動 Shell 並定義 <varname>DESTDIR</varname>:" #. (itstool) path: sect1/screen -#: book.translate.xml:27836 +#: book.translate.xml:27890 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>sh</userinput>\n" @@ -39637,7 +39791,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27839 +#: book.translate.xml:27893 msgid "" "Mount the install media as covered in <citerefentry><refentrytitle>mdconfig</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> when using the install " @@ -39647,13 +39801,13 @@ msgstr "" "refentrytitle><manvolnum>8</manvolnum></citerefentry> 中的說明掛載安裝媒體:" #. (itstool) path: sect1/screen -#: book.translate.xml:27842 +#: book.translate.xml:27896 #, no-wrap msgid "<prompt>#</prompt> <userinput>mount -t cd9660 /dev/`mdconfig -f cdimage.iso` /mnt</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27844 +#: book.translate.xml:27898 msgid "" "Extract the binaries from the tarballs on the install media into the " "declared destination. Minimally, only the base set needs to be extracted, " @@ -39663,29 +39817,29 @@ msgstr "" "的部份,若需要也可完整安裝。" #. (itstool) path: sect1/para -#: book.translate.xml:27849 +#: book.translate.xml:27903 msgid "To install just the base system:" msgstr "只安裝基礎系統 (Base system):" #. (itstool) path: sect1/screen -#: book.translate.xml:27851 +#: book.translate.xml:27905 #, no-wrap msgid "<prompt>#</prompt> <userinput>tar -xf /mnt/usr/freebsd-dist/base.txz -C $DESTDIR</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27853 +#: book.translate.xml:27907 msgid "To install everything except the kernel:" msgstr "安裝全部不含核心:" #. (itstool) path: sect1/screen -#: book.translate.xml:27855 +#: book.translate.xml:27909 #, no-wrap msgid "<prompt>#</prompt> <userinput>for <replaceable>sets</replaceable> in BASE PORTS; do tar -xf /mnt/FREEBSD_INSTALL/USR/FREEBSD_DIST/$<replaceable>sets</replaceable>.TXZ -C $DESTDIR ; done</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27857 +#: book.translate.xml:27911 msgid "" "The <citerefentry><refentrytitle>jail</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> manual page explains the procedure for building a " @@ -39695,7 +39849,7 @@ msgstr "" "manvolnum></citerefentry> 操作手冊說明的程序建置 Jail:" #. (itstool) path: sect1/screen -#: book.translate.xml:27860 +#: book.translate.xml:27914 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>setenv D <replaceable>/here/is/the/jail</replaceable></userinput>\n" @@ -39708,7 +39862,7 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:27870 +#: book.translate.xml:27924 msgid "" "Selecting a location for a jail is the best starting point. This is where " "the jail will physically reside within the file system of the jail's host. A " @@ -39727,7 +39881,7 @@ msgstr "" "案。" #. (itstool) path: callout/para -#: book.translate.xml:27883 +#: book.translate.xml:27937 msgid "" "If you have already rebuilt your userland using <command>make world</" "command> or <command>make buildworld</command>, you can skip this step and " @@ -39738,7 +39892,7 @@ msgstr "" "到新的 Jail。" #. (itstool) path: callout/para -#: book.translate.xml:27890 +#: book.translate.xml:27944 msgid "" "This command will populate the directory subtree chosen as jail's physical " "location on the file system with the necessary binaries, libraries, manual " @@ -39748,12 +39902,12 @@ msgstr "" "庫、操作手冊與相關檔案。" #. (itstool) path: para/buildtarget -#: book.translate.xml:27897 +#: book.translate.xml:27951 msgid "distribution" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:27897 +#: book.translate.xml:27951 msgid "" "The <_:buildtarget-1/> target for <application>make</application> installs " "every needed configuration file. In simple words, it installs every " @@ -39767,7 +39921,7 @@ msgstr "" "filename>。" #. (itstool) path: callout/para -#: book.translate.xml:27908 +#: book.translate.xml:27962 msgid "" "Mounting the <citerefentry><refentrytitle>devfs</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> file system inside a jail is not required. On the " @@ -39792,7 +39946,7 @@ msgstr "" "refentrytitle><manvolnum>5</manvolnum></citerefentry> 操作手冊中有詳細說明。" #. (itstool) path: sect1/para -#: book.translate.xml:27920 +#: book.translate.xml:27974 msgid "" "Once a jail is installed, it can be started by using the " "<citerefentry><refentrytitle>jail</refentrytitle><manvolnum>8</manvolnum></" @@ -39819,7 +39973,7 @@ msgstr "" "決定。" #. (itstool) path: sect1/para -#: book.translate.xml:27933 +#: book.translate.xml:27987 msgid "" "Jails are often started at boot time and the FreeBSD <filename>rc</filename> " "mechanism provides an easy way to do this." @@ -39828,7 +39982,7 @@ msgstr "" "簡單的達成這件事。" #. (itstool) path: step/para -#: book.translate.xml:27939 +#: book.translate.xml:27993 msgid "" "A list of the jails which are enabled to start at boot time should be added " "to the <citerefentry><refentrytitle>rc.conf</refentrytitle><manvolnum>5</" @@ -39838,7 +39992,7 @@ msgstr "" "refentrytitle><manvolnum>5</manvolnum></citerefentry> 檔案中:" #. (itstool) path: step/programlisting -#: book.translate.xml:27942 +#: book.translate.xml:27996 #, no-wrap msgid "" "jail_enable=\"YES\" # Set to NO to disable starting of any jails\n" @@ -39846,14 +40000,14 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:27946 +#: book.translate.xml:28000 msgid "" "Jail names in <varname>jail_list</varname> should contain alphanumeric " "characters only." msgstr "在 <varname>jail_list</varname> 中的 Jail 名稱只允許使用英數字元。" #. (itstool) path: step/para -#: book.translate.xml:27952 +#: book.translate.xml:28006 msgid "" "For each jail listed in <varname>jail_list</varname>, a group of " "<citerefentry><refentrytitle>rc.conf</refentrytitle><manvolnum>5</" @@ -39865,7 +40019,7 @@ msgstr "" "manvolnum></citerefentry> 設定來描述指定的 Jail:" #. (itstool) path: step/programlisting -#: book.translate.xml:27956 +#: book.translate.xml:28010 #, no-wrap msgid "" "jail_<replaceable>www</replaceable>_rootdir=\"/usr/jail/www\" # jail's root directory\n" @@ -39875,7 +40029,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:27961 +#: book.translate.xml:28015 msgid "" "The default startup of jails configured in <citerefentry><refentrytitle>rc." "conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, will run the " @@ -39892,7 +40046,7 @@ msgstr "" "修改預設啟動的指令。" #. (itstool) path: note/para -#: book.translate.xml:27970 +#: book.translate.xml:28024 msgid "" "For a full list of available options, please see the " "<citerefentry><refentrytitle>rc.conf</refentrytitle><manvolnum>5</" @@ -39902,7 +40056,7 @@ msgstr "" "refentrytitle><manvolnum>5</manvolnum></citerefentry> 操作手冊。" #. (itstool) path: sect1/para -#: book.translate.xml:27976 +#: book.translate.xml:28030 msgid "" "<citerefentry><refentrytitle>service</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> can be used to start or stop a jail by hand, if an " @@ -39913,7 +40067,7 @@ msgstr "" "manvolnum></citerefentry> 來啟動或停止 Jail:" #. (itstool) path: sect1/screen -#: book.translate.xml:27980 +#: book.translate.xml:28034 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service jail start <replaceable>www</replaceable></userinput>\n" @@ -39921,7 +40075,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27983 +#: book.translate.xml:28037 msgid "" "Jails can be shut down with <citerefentry><refentrytitle>jexec</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>. Use " @@ -39938,7 +40092,7 @@ msgstr "" "citerefentry> 在該 Jail 中執行關機 Script。" #. (itstool) path: sect1/screen -#: book.translate.xml:27987 +#: book.translate.xml:28041 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>jls</userinput>\n" @@ -39948,7 +40102,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:27992 +#: book.translate.xml:28046 msgid "" "More information about this can be found in the " "<citerefentry><refentrytitle>jail</refentrytitle><manvolnum>8</manvolnum></" @@ -39958,12 +40112,12 @@ msgstr "" "refentrytitle><manvolnum>8</manvolnum></citerefentry> 操作手冊取得。" #. (itstool) path: sect1/title -#: book.translate.xml:27997 +#: book.translate.xml:28051 msgid "Fine Tuning and Administration" msgstr "調校與管理" #. (itstool) path: sect1/para -#: book.translate.xml:27999 +#: book.translate.xml:28053 msgid "" "There are several options which can be set for any jail, and various ways of " "combining a host FreeBSD system with jails, to produce higher level " @@ -39973,14 +40127,14 @@ msgstr "" "的方法來提供更高層級的應用程式使用。 本節將介紹:" #. (itstool) path: listitem/para -#: book.translate.xml:28006 +#: book.translate.xml:28060 msgid "" "Some of the options available for tuning the behavior and security " "restrictions implemented by a jail installation." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28012 +#: book.translate.xml:28066 msgid "" "Some of the high-level applications for jail management, which are available " "through the FreeBSD Ports Collection, and can be used to implement overall " @@ -39988,12 +40142,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:28020 +#: book.translate.xml:28074 msgid "System Tools for Jail Tuning in FreeBSD" msgstr "在 FreeBSD 中調校 Jail 的系統工具" #. (itstool) path: sect2/para -#: book.translate.xml:28022 +#: book.translate.xml:28076 msgid "" "Fine tuning of a jail's configuration is mostly done by setting " "<citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></" @@ -40008,42 +40162,42 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28034 +#: book.translate.xml:28088 msgid "<varname>security.jail.set_hostname_allowed: 1</varname>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28039 +#: book.translate.xml:28093 msgid "<varname>security.jail.socket_unixiproute_only: 1</varname>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28044 +#: book.translate.xml:28098 msgid "<varname>security.jail.sysvipc_allowed: 0</varname>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28049 +#: book.translate.xml:28103 msgid "<varname>security.jail.enforce_statfs: 2</varname>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28054 +#: book.translate.xml:28108 msgid "<varname>security.jail.allow_raw_sockets: 0</varname>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28059 +#: book.translate.xml:28113 msgid "<varname>security.jail.chflags_allowed: 0</varname>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28064 +#: book.translate.xml:28118 msgid "<varname>security.jail.jailed: 0</varname>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:28068 +#: book.translate.xml:28122 msgid "" "These variables can be used by the system administrator of the " "<emphasis>host system</emphasis> to add or remove some of the limitations " @@ -40061,7 +40215,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:28080 +#: book.translate.xml:28134 msgid "" "The base system of FreeBSD contains a basic set of tools for viewing " "information about the active jails, and attaching to a jail to run " @@ -40073,14 +40227,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28088 +#: book.translate.xml:28142 msgid "" "Print a list of active jails and their corresponding jail identifier " "(<acronym>JID</acronym>), <acronym>IP</acronym> address, hostname and path." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28094 +#: book.translate.xml:28148 msgid "" "Attach to a running jail, from its host system, and run a command inside the " "jail or perform administrative tasks inside the jail itself. This is " @@ -40092,18 +40246,18 @@ msgid "" msgstr "" #. (itstool) path: listitem/screen -#: book.translate.xml:28102 +#: book.translate.xml:28156 #, no-wrap msgid "<prompt>#</prompt> <userinput>jexec <replaceable>1</replaceable> tcsh</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:28108 +#: book.translate.xml:28162 msgid "High-Level Administrative Tools in the FreeBSD Ports Collection" msgstr "在 FreeBSD Port 套件集中的高層級管理工具" #. (itstool) path: sect2/para -#: book.translate.xml:28111 +#: book.translate.xml:28165 msgid "" "Among the many third-party utilities for jail administration, one of the " "most complete and useful is <package>sysutils/ezjail</package>. It is a set " @@ -40115,12 +40269,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:28121 +#: book.translate.xml:28175 msgid "Keeping Jails Patched and up to Date" msgstr "持續 Jail 的修補與更新" #. (itstool) path: sect2/para -#: book.translate.xml:28123 +#: book.translate.xml:28177 msgid "" "Jails should be kept up to date from the host operating system as attempting " "to patch userland from within the jail may likely fail as the default " @@ -40134,7 +40288,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:28132 +#: book.translate.xml:28186 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>freebsd-update -b <replaceable>/here/is/the/jail</replaceable> fetch</userinput>\n" @@ -40142,33 +40296,33 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:28139 +#: book.translate.xml:28193 msgid "Updating Multiple Jails" msgstr "更新多個 Jail" #. (itstool) path: authorgroup/author -#: book.translate.xml:28142 book.translate.xml:34437 book.translate.xml:34772 +#: book.translate.xml:28196 book.translate.xml:34491 book.translate.xml:34826 msgid "" "<personname> <firstname>Daniel</firstname> <surname>Gerzo</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:28151 +#: book.translate.xml:28205 msgid "" "<personname> <firstname>Simon</firstname> <surname>L. B. Nielsen</surname> </" "personname> <contrib>Based upon an idea presented by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:28160 +#: book.translate.xml:28214 msgid "" "<personname> <firstname>Ken</firstname> <surname>Tom</surname> </personname> " "<contrib>And an article written by </contrib>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:28170 +#: book.translate.xml:28224 msgid "" "The management of multiple jails can become problematic because every jail " "has to be rebuilt from scratch whenever it is upgraded. This can be time " @@ -40176,7 +40330,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:28175 +#: book.translate.xml:28229 msgid "" "This section demonstrates one method to resolve this issue by safely sharing " "as much as is possible between jails using read-only " @@ -40188,7 +40342,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:28185 +#: book.translate.xml:28239 msgid "" "Simpler solutions exist, such as <application>ezjail</application>, which " "provides an easier method of administering FreeBSD jails but is less " @@ -40197,46 +40351,46 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:28192 +#: book.translate.xml:28246 msgid "The goals of the setup described in this section are:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28196 +#: book.translate.xml:28250 msgid "" "Create a simple and easy to understand jail structure that does not require " "running a full installworld on each and every jail." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28202 +#: book.translate.xml:28256 msgid "Make it easy to add new jails or remove existing ones." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28207 +#: book.translate.xml:28261 msgid "Make it easy to update or upgrade existing jails." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28211 +#: book.translate.xml:28265 msgid "Make it possible to run a customized FreeBSD branch." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28215 +#: book.translate.xml:28269 msgid "" "Be paranoid about security, reducing as much as possible the possibility of " "compromise." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28220 +#: book.translate.xml:28274 msgid "Save space and inodes, as much as possible." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:28224 +#: book.translate.xml:28278 msgid "" "This design relies on a single, read-only master template which is mounted " "into each jail and one read-write device per jail. A device can be a " @@ -40245,68 +40399,68 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:28230 +#: book.translate.xml:28284 msgid "The file system layout is as follows:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28234 +#: book.translate.xml:28288 msgid "The jails are based under the <filename>/home</filename> partition." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28239 +#: book.translate.xml:28293 msgid "" "Each jail will be mounted under the <filename>/home/j</filename> directory." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28244 +#: book.translate.xml:28298 msgid "" "The template for each jail and the read-only partition for all of the jails " "is <filename>/home/j/mroot</filename>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28250 +#: book.translate.xml:28304 msgid "" "A blank directory will be created for each jail under the <filename>/home/j</" "filename> directory." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28255 +#: book.translate.xml:28309 msgid "" "Each jail will have a <filename>/s</filename> directory that will be linked " "to the read-write portion of the system." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28261 +#: book.translate.xml:28315 msgid "" "Each jail will have its own read-write system that is based upon <filename>/" "home/j/skel</filename>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:28266 +#: book.translate.xml:28320 msgid "" "The read-write portion of each jail will be created in <filename>/home/js</" "filename>." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:28274 +#: book.translate.xml:28328 msgid "Creating the Template" msgstr "建立範本" #. (itstool) path: sect2/para -#: book.translate.xml:28276 +#: book.translate.xml:28330 msgid "This section describes the steps needed to create the master template." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:28279 +#: book.translate.xml:28333 msgid "" "It is recommended to first update the host FreeBSD system to the latest -" "RELEASE branch using the instructions in <xref linkend=\"makeworld\"/>. " @@ -40316,7 +40470,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28287 +#: book.translate.xml:28341 msgid "" "First, create a directory structure for the read-only file system which will " "contain the FreeBSD binaries for the jails. Then, change directory to the " @@ -40325,7 +40479,7 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28293 +#: book.translate.xml:28347 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mkdir /home/j /home/j/mroot</userinput>\n" @@ -40334,14 +40488,14 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28299 +#: book.translate.xml:28353 msgid "" "Next, prepare a FreeBSD Ports Collection for the jails as well as a FreeBSD " "source tree, which is required for <application>mergemaster</application>:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28303 +#: book.translate.xml:28357 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /home/j/mroot</userinput>\n" @@ -40351,12 +40505,12 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28310 +#: book.translate.xml:28364 msgid "Create a skeleton for the read-write portion of the system:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28313 +#: book.translate.xml:28367 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mkdir /home/j/skel /home/j/skel/home /home/j/skel/usr-X11R6 /home/j/skel/distfiles</userinput>\n" @@ -40368,7 +40522,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28322 +#: book.translate.xml:28376 msgid "" "Use <application>mergemaster</application> to install missing configuration " "files. Then, remove the extra directories that <application>mergemaster</" @@ -40376,7 +40530,7 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28327 +#: book.translate.xml:28381 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mergemaster -t /home/j/skel/var/tmp/temproot -D /home/j/skel -i</userinput>\n" @@ -40385,7 +40539,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28333 +#: book.translate.xml:28387 msgid "" "Now, symlink the read-write file system to the read-only file system. Ensure " "that the symlinks are created in the correct <filename>s/</filename> " @@ -40394,7 +40548,7 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28339 +#: book.translate.xml:28393 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /home/j/mroot</userinput>\n" @@ -40410,20 +40564,20 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28352 +#: book.translate.xml:28406 msgid "" "As a last step, create a generic <filename>/home/j/skel/etc/make.conf</" "filename> containing this line:" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:28356 +#: book.translate.xml:28410 #, no-wrap msgid "WRKDIRPREFIX?= /s/portbuild" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28358 +#: book.translate.xml:28412 msgid "" "This makes it possible to compile FreeBSD ports inside each jail. Remember " "that the ports directory is part of the read-only system. The custom path " @@ -40432,12 +40586,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:28368 +#: book.translate.xml:28422 msgid "Creating Jails" msgstr "建立 Jail" #. (itstool) path: sect2/para -#: book.translate.xml:28370 +#: book.translate.xml:28424 msgid "" "The jail template can now be used to setup and configure the jails in " "<filename>/etc/rc.conf</filename>. This example demonstrates the creation of " @@ -40446,7 +40600,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28377 +#: book.translate.xml:28431 msgid "" "Add the following lines to <filename>/etc/fstab</filename>, so that the read-" "only template for the jails and the read-write space will be available in " @@ -40454,7 +40608,7 @@ msgid "" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:28382 +#: book.translate.xml:28436 #, no-wrap msgid "" "/home/j/mroot /home/j/ns nullfs ro 0 0\n" @@ -40466,7 +40620,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28389 +#: book.translate.xml:28443 msgid "" "To prevent <application>fsck</application> from checking " "<application>nullfs</application> mounts during boot and <application>dump</" @@ -40475,12 +40629,12 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28398 +#: book.translate.xml:28452 msgid "Configure the jails in <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:28401 +#: book.translate.xml:28455 #, no-wrap msgid "" "jail_enable=\"YES\"\n" @@ -40501,7 +40655,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28417 +#: book.translate.xml:28471 msgid "" "The <varname>jail_<replaceable>name</replaceable>_rootdir</varname> variable " "is set to <filename>/usr/home</filename> instead of <filename>/home</" @@ -40513,26 +40667,26 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28431 +#: book.translate.xml:28485 msgid "" "Create the required mount points for the read-only file system of each jail:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28434 +#: book.translate.xml:28488 #, no-wrap msgid "<prompt>#</prompt> <userinput>mkdir /home/j/ns /home/j/mail /home/j/www</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28438 +#: book.translate.xml:28492 msgid "" "Install the read-write template into each jail using <package>sysutils/" "cpdup</package>:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28445 +#: book.translate.xml:28499 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mkdir /home/js</userinput>\n" @@ -40542,14 +40696,14 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28452 +#: book.translate.xml:28506 msgid "" "In this phase, the jails are built and prepared to run. First, mount the " "required file systems for each jail, and then start them:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28456 book.translate.xml:28565 +#: book.translate.xml:28510 book.translate.xml:28619 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mount -a</userinput>\n" @@ -40557,14 +40711,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:28461 +#: book.translate.xml:28515 msgid "" "The jails should be running now. To check if they have started correctly, " "use <command>jls</command>. Its output should be similar to the following:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:28465 +#: book.translate.xml:28519 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>jls</userinput>\n" @@ -40575,7 +40729,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:28471 +#: book.translate.xml:28525 msgid "" "At this point, it should be possible to log onto each jail, add new users, " "or configure daemons. The <literal>JID</literal> column indicates the jail " @@ -40585,18 +40739,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:28478 +#: book.translate.xml:28532 #, no-wrap msgid "<prompt>#</prompt> <userinput>jexec 3 tcsh</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:28482 +#: book.translate.xml:28536 msgid "Upgrading" msgstr "升級" #. (itstool) path: sect2/para -#: book.translate.xml:28484 +#: book.translate.xml:28538 msgid "" "The design of this setup provides an easy way to upgrade existing jails " "while minimizing their downtime. Also, it provides a way to roll back to the " @@ -40604,14 +40758,14 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28491 +#: book.translate.xml:28545 msgid "" "The first step is to upgrade the host system. Then, create a new temporary " "read-only template in <filename>/home/j/mroot2</filename>." msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28495 +#: book.translate.xml:28549 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mkdir /home/j/mroot2</userinput>\n" @@ -40623,20 +40777,20 @@ msgid "" msgstr "" #. (itstool) path: para/buildtarget -#: book.translate.xml:28502 book.translate.xml:28713 book.translate.xml:45254 -#: book.translate.xml:45258 book.translate.xml:45404 book.translate.xml:45440 +#: book.translate.xml:28556 book.translate.xml:28767 book.translate.xml:45308 +#: book.translate.xml:45312 book.translate.xml:45458 book.translate.xml:45494 msgid "installworld" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28502 +#: book.translate.xml:28556 msgid "" "The <_:buildtarget-1/> creates a few unnecessary directories, which should " "be removed:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28506 +#: book.translate.xml:28560 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>chflags -R 0 var</userinput>\n" @@ -40644,12 +40798,12 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28511 +#: book.translate.xml:28565 msgid "Recreate the read-write symlinks for the master file system:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28514 +#: book.translate.xml:28568 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ln -s s/etc etc</userinput>\n" @@ -40662,25 +40816,25 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28524 +#: book.translate.xml:28578 msgid "Next, stop the jails:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28526 +#: book.translate.xml:28580 #, no-wrap msgid "<prompt>#</prompt> <userinput>service jail stop</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28530 +#: book.translate.xml:28584 msgid "" "Unmount the original file systems as the read-write systems are attached to " "the read-only system (<filename>/s</filename>):" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28537 +#: book.translate.xml:28591 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>umount /home/j/ns/s</userinput>\n" @@ -40692,7 +40846,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28546 +#: book.translate.xml:28600 msgid "" "Move the old read-only file system and replace it with the new one. This " "will serve as a backup and archive of the old read-only file system should " @@ -40702,7 +40856,7 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28554 +#: book.translate.xml:28608 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /home/j</userinput>\n" @@ -40712,14 +40866,14 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28561 +#: book.translate.xml:28615 msgid "" "At this point the new read-only template is ready, so the only remaining " "task is to remount the file systems and start the jails:" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:28570 +#: book.translate.xml:28624 msgid "" "Use <command>jls</command> to check if the jails started correctly. Run " "<command>mergemaster</command> in each jail to update the configuration " @@ -40727,12 +40881,12 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:28578 +#: book.translate.xml:28632 msgid "Managing Jails with <application>ezjail</application>" msgstr "使用 <application>ezjail</application> 管理 Jail" #. (itstool) path: sect1/para -#: book.translate.xml:28591 +#: book.translate.xml:28645 msgid "" "Creating and managing multiple jails can quickly become tedious and error-" "prone. Dirk Engling's <application>ezjail</application> automates and " @@ -40746,7 +40900,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:28602 +#: book.translate.xml:28656 msgid "" "Additional benefits and features are described in detail on the " "<application>ezjail</application> web site, <link xlink:href=\"https://" @@ -40754,12 +40908,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:28606 +#: book.translate.xml:28660 msgid "Installing <application>ezjail</application>" msgstr "安裝 <application>ezjail</application>" #. (itstool) path: sect2/para -#: book.translate.xml:28608 +#: book.translate.xml:28662 msgid "" "Installing <application>ezjail</application> consists of adding a loopback " "interface for use in jails, installing the port or package, and enabling the " @@ -40767,7 +40921,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28614 +#: book.translate.xml:28668 msgid "" "To keep jail loopback traffic off the host's loopback network interface " "<literal>lo0</literal>, a second loopback interface is created by adding an " @@ -40776,13 +40930,13 @@ msgstr "" #. (itstool) path: step/programlisting #. (itstool) path: example/programlisting -#: book.translate.xml:28619 book.translate.xml:29108 +#: book.translate.xml:28673 book.translate.xml:29162 #, no-wrap msgid "cloned_interfaces=\"lo1\"" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28621 +#: book.translate.xml:28675 msgid "" "The second loopback interface <literal>lo1</literal> will be created when " "the system starts. It can also be created manually without a restart:" @@ -40790,7 +40944,7 @@ msgstr "" #. (itstool) path: step/screen #. (itstool) path: example/screen -#: book.translate.xml:28625 book.translate.xml:29112 +#: book.translate.xml:28679 book.translate.xml:29166 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service netif cloneup</userinput>\n" @@ -40798,14 +40952,14 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28628 +#: book.translate.xml:28682 msgid "" "Jails can be allowed to use aliases of this secondary loopback interface " "without interfering with the host." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28632 +#: book.translate.xml:28686 msgid "" "Inside a jail, access to the loopback address <systemitem class=\"ipaddress" "\">127.0.0.1</systemitem> is redirected to the first <acronym>IP</acronym> " @@ -40816,7 +40970,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28641 +#: book.translate.xml:28695 msgid "" "Give each jail a unique loopback address in the <systemitem class=\"ipaddress" "\">127.0.0.0</systemitem><systemitem class=\"netmask\">/8</systemitem> " @@ -40824,12 +40978,12 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28646 +#: book.translate.xml:28700 msgid "Install <package role=\"port\">sysutils/ezjail</package>:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28649 +#: book.translate.xml:28703 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/sysutils/ezjail</userinput>\n" @@ -40837,33 +40991,33 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28654 +#: book.translate.xml:28708 msgid "" "Enable <application>ezjail</application> by adding this line to <filename>/" "etc/rc.conf</filename>:" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:28657 +#: book.translate.xml:28711 #, no-wrap msgid "ezjail_enable=\"YES\"" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28661 +#: book.translate.xml:28715 msgid "" "The service will automatically start on system boot. It can be started " "immediately for the current session:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28665 +#: book.translate.xml:28719 #, no-wrap msgid "<prompt>#</prompt> <userinput>service ezjail start</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:28673 +#: book.translate.xml:28727 msgid "" "With <application>ezjail</application> installed, the basejail directory " "structure can be created and populated. This step is only needed once on the " @@ -40871,7 +41025,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:28678 +#: book.translate.xml:28732 msgid "" "In both of these examples, <option>-p</option> causes the ports tree to be " "retrieved with <citerefentry><refentrytitle>portsnap</" @@ -40884,12 +41038,12 @@ msgid "" msgstr "" #. (itstool) path: step/title -#: book.translate.xml:28690 +#: book.translate.xml:28744 msgid "To Populate the Jail with FreeBSD-RELEASE" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28692 +#: book.translate.xml:28746 msgid "" "For a basejail based on the FreeBSD RELEASE matching that of the host " "computer, use <command>install</command>. For example, on a host computer " @@ -40898,30 +41052,30 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28699 +#: book.translate.xml:28753 #, no-wrap msgid "<prompt>#</prompt> <userinput>ezjail-admin install -p</userinput>" msgstr "" #. (itstool) path: step/title -#: book.translate.xml:28703 +#: book.translate.xml:28757 msgid "To Populate the Jail with <command>installworld</command>" msgstr "" #. (itstool) path: para/buildtarget -#: book.translate.xml:28707 book.translate.xml:45402 +#: book.translate.xml:28761 book.translate.xml:45456 msgid "buildworld" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28706 +#: book.translate.xml:28760 msgid "" "The basejail can be installed from binaries created by <_:buildtarget-1/> on " "the host with <command>ezjail-admin update</command>." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28711 +#: book.translate.xml:28765 msgid "" "In this example, FreeBSD 10-STABLE has been built from source. The jail " "directories are created. Then <_:buildtarget-1/> is executed, installing the " @@ -40929,13 +41083,13 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28718 +#: book.translate.xml:28772 #, no-wrap msgid "<prompt>#</prompt> <userinput>ezjail-admin update -i -p</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28720 +#: book.translate.xml:28774 msgid "" "The host's <filename>/usr/src</filename> is used by default. A different " "source directory on the host can be specified with <option>-s</option> and a " @@ -40944,7 +41098,7 @@ msgid "" msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:28731 +#: book.translate.xml:28785 msgid "" "The basejail's ports tree is shared by other jails. However, downloaded " "distfiles are stored in the jail that downloaded them. By default, these " @@ -40954,7 +41108,7 @@ msgid "" msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:28740 +#: book.translate.xml:28794 msgid "" "The <acronym>FTP</acronym> protocol is used by default to download packages " "for the installation of the basejail. Firewall or proxy configurations can " @@ -40966,23 +41120,23 @@ msgid "" msgstr "" #. (itstool) path: tip/programlisting -#: book.translate.xml:28749 +#: book.translate.xml:28803 #, no-wrap msgid "ezjail_ftphost=http://<replaceable>ftp.FreeBSD.org</replaceable>" msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:28751 +#: book.translate.xml:28805 msgid "See <xref linkend=\"mirrors-ftp\"/> for a list of sites." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:28757 +#: book.translate.xml:28811 msgid "Creating and Starting a New Jail" msgstr "建立並啟動新的 Jail" #. (itstool) path: sect2/para -#: book.translate.xml:28759 +#: book.translate.xml:28813 msgid "" "New jails are created with <command>ezjail-admin create</command>. In these " "examples, the <literal>lo1</literal> loopback interface is used as described " @@ -40990,12 +41144,12 @@ msgid "" msgstr "" #. (itstool) path: procedure/title -#: book.translate.xml:28765 +#: book.translate.xml:28819 msgid "Create and Start a New Jail" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28768 +#: book.translate.xml:28822 msgid "" "Create the jail, specifying a name and the loopback and network interfaces " "to use, along with their <acronym>IP</acronym> addresses. In this example, " @@ -41003,13 +41157,13 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28773 +#: book.translate.xml:28827 #, no-wrap msgid "<prompt>#</prompt> <userinput>ezjail-admin create <replaceable>dnsjail</replaceable> '<replaceable>lo1|127.0.1.1</replaceable>,<replaceable>em0</replaceable>|<replaceable>192.168.1.50</replaceable>'</userinput>" msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:28776 +#: book.translate.xml:28830 msgid "" "Most network services run in jails without problems. A few network services, " "most notably <citerefentry><refentrytitle>ping</refentrytitle><manvolnum>8</" @@ -41019,7 +41173,7 @@ msgid "" msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:28783 +#: book.translate.xml:28837 msgid "" "Occasionally, a jail genuinely needs raw sockets. For example, network " "monitoring applications often use <citerefentry><refentrytitle>ping</" @@ -41032,61 +41186,61 @@ msgid "" msgstr "" #. (itstool) path: tip/programlisting -#: book.translate.xml:28794 +#: book.translate.xml:28848 #, no-wrap msgid "export jail_<replaceable>jailname</replaceable>_parameters=\"allow.raw_sockets=1\"" msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:28796 +#: book.translate.xml:28850 msgid "" "Do not enable raw network sockets unless services in the jail actually " "require them." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28802 +#: book.translate.xml:28856 msgid "Start the jail:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28804 +#: book.translate.xml:28858 #, no-wrap msgid "<prompt>#</prompt> <userinput>ezjail-admin start <replaceable>dnsjail</replaceable></userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28808 +#: book.translate.xml:28862 msgid "Use a console on the jail:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28810 +#: book.translate.xml:28864 #, no-wrap msgid "<prompt>#</prompt> <userinput>ezjail-admin console <replaceable>dnsjail</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:28814 +#: book.translate.xml:28868 msgid "" "The jail is operating and additional configuration can be completed. Typical " "settings added at this point include:" msgstr "" #. (itstool) path: step/title -#: book.translate.xml:28820 +#: book.translate.xml:28874 msgid "Set the <systemitem class=\"username\">root</systemitem> Password" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28824 +#: book.translate.xml:28878 msgid "" "Connect to the jail and set the <systemitem class=\"username\">root</" "systemitem> user's password:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:28828 +#: book.translate.xml:28882 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ezjail-admin console <replaceable>dnsjail</replaceable></userinput>\n" @@ -41097,12 +41251,12 @@ msgid "" msgstr "" #. (itstool) path: step/title -#: book.translate.xml:28836 +#: book.translate.xml:28890 msgid "Time Zone Configuration" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28838 +#: book.translate.xml:28892 msgid "" "The jail's time zone can be set with <citerefentry><refentrytitle>tzsetup</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>. To avoid spurious " @@ -41114,36 +41268,36 @@ msgid "" msgstr "" #. (itstool) path: step/title -#: book.translate.xml:28847 +#: book.translate.xml:28901 msgid "<acronym>DNS</acronym> Servers" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28849 +#: book.translate.xml:28903 msgid "" "Enter domain name server lines in <filename>/etc/resolv.conf</filename> so " "<acronym>DNS</acronym> works in the jail." msgstr "" #. (itstool) path: step/title -#: book.translate.xml:28855 +#: book.translate.xml:28909 msgid "Edit <filename>/etc/hosts</filename>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28857 +#: book.translate.xml:28911 msgid "" "Change the address and add the jail name to the <literal>localhost</literal> " "entries in <filename>/etc/hosts</filename>." msgstr "" #. (itstool) path: step/title -#: book.translate.xml:28863 +#: book.translate.xml:28917 msgid "Configure <filename>/etc/rc.conf</filename>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:28865 +#: book.translate.xml:28919 msgid "" "Enter configuration settings in <filename>/etc/rc.conf</filename>. This is " "much like configuring a full computer. The host name and <acronym>IP</" @@ -41152,14 +41306,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:28874 +#: book.translate.xml:28928 msgid "" "With the jail configured, the applications for which the jail was created " "can be installed." msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:28878 +#: book.translate.xml:28932 msgid "" "Some ports must be built with special options to be used in a jail. For " "example, both of the network monitoring plugin packages <package role=\"port" @@ -41169,17 +41323,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:28889 +#: book.translate.xml:28943 msgid "Updating Jails" msgstr "更新 Jail" #. (itstool) path: sect3/title -#: book.translate.xml:28892 +#: book.translate.xml:28946 msgid "Updating the Operating System" msgstr "更新作業系統" #. (itstool) path: sect3/para -#: book.translate.xml:28894 +#: book.translate.xml:28948 msgid "" "Because the basejail's copy of the userland is shared by the other jails, " "updating the basejail automatically updates all of the other jails. Either " @@ -41187,33 +41341,33 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:28899 +#: book.translate.xml:28953 msgid "" "To build the world from source on the host, then install it in the basejail, " "use:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:28902 +#: book.translate.xml:28956 #, no-wrap msgid "<prompt>#</prompt> <userinput>ezjail-admin update -b</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:28904 +#: book.translate.xml:28958 msgid "" "If the world has already been compiled on the host, install it in the " "basejail with:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:28907 +#: book.translate.xml:28961 #, no-wrap msgid "<prompt>#</prompt> <userinput>ezjail-admin update -i</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:28909 +#: book.translate.xml:28963 msgid "" "Binary updates use <citerefentry><refentrytitle>freebsd-update</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>. These updates have " @@ -41224,20 +41378,20 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:28915 +#: book.translate.xml:28969 msgid "" "Update the basejail to the latest patched release of the version of FreeBSD " "on the host. For example, updating from RELEASE-p1 to RELEASE-p2." msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:28919 +#: book.translate.xml:28973 #, no-wrap msgid "<prompt>#</prompt> <userinput>ezjail-admin update -u</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:28921 +#: book.translate.xml:28975 msgid "" "To upgrade the basejail to a new version, first upgrade the host system as " "described in <xref linkend=\"freebsdupdate-upgrade\"/>. Once the host has " @@ -41251,7 +41405,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:28929 +#: book.translate.xml:28983 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>file /usr/jails/basejail/bin/sh</userinput>\n" @@ -41259,20 +41413,20 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:28932 +#: book.translate.xml:28986 msgid "" "Now use this information to perform the upgrade from <literal>9.3-RELEASE</" "literal> to the current version of the host system:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:28936 +#: book.translate.xml:28990 #, no-wrap msgid "<prompt>#</prompt> <userinput>ezjail-admin update -U -s <replaceable>9.3-RELEASE</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:28938 +#: book.translate.xml:28992 msgid "" "After updating the basejail, <citerefentry><refentrytitle>mergemaster</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> must be run to update " @@ -41280,7 +41434,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:28941 +#: book.translate.xml:28995 msgid "" "How to use <citerefentry><refentrytitle>mergemaster</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> depends on the purpose " @@ -41291,7 +41445,7 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:28947 +#: book.translate.xml:29001 msgid "" "<citerefentry><refentrytitle>mergemaster</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> on Untrusted Jail" @@ -41300,7 +41454,7 @@ msgstr "" "refentrytitle><manvolnum>8</manvolnum></citerefentry>" #. (itstool) path: example/para -#: book.translate.xml:28949 +#: book.translate.xml:29003 msgid "" "Delete the link from the jail's <filename>/usr/src</filename> into the " "basejail and create a new <filename>/usr/src</filename> in the jail as a " @@ -41309,7 +41463,7 @@ msgid "" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:28956 +#: book.translate.xml:29010 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>rm /usr/jails/<replaceable>jailname</replaceable>/usr/src</userinput>\n" @@ -41318,25 +41472,25 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:28960 +#: book.translate.xml:29014 msgid "Get a console in the jail:" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:28962 +#: book.translate.xml:29016 #, no-wrap msgid "<prompt>#</prompt> <userinput>ezjail-admin console <replaceable>jailname</replaceable></userinput>" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:28964 +#: book.translate.xml:29018 msgid "" "Inside the jail, run <command>mergemaster</command>. Then exit the jail " "console:" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:28967 +#: book.translate.xml:29021 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/src</userinput>\n" @@ -41345,18 +41499,18 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:28971 +#: book.translate.xml:29025 msgid "Finally, unmount the jail's <filename>/usr/src</filename>:" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:28974 +#: book.translate.xml:29028 #, no-wrap msgid "<prompt>#</prompt> <userinput>umount /usr/jails/<replaceable>jailname</replaceable>/usr/src</userinput>" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:28979 +#: book.translate.xml:29033 msgid "" "<citerefentry><refentrytitle>mergemaster</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> on Trusted Jail" @@ -41365,7 +41519,7 @@ msgstr "" "refentrytitle><manvolnum>8</manvolnum></citerefentry>" #. (itstool) path: example/para -#: book.translate.xml:28981 +#: book.translate.xml:29035 msgid "" "If the users and services in a jail are trusted, " "<citerefentry><refentrytitle>mergemaster</refentrytitle><manvolnum>8</" @@ -41373,25 +41527,25 @@ msgid "" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:28984 +#: book.translate.xml:29038 #, no-wrap msgid "<prompt>#</prompt> <userinput>mergemaster -U -D /usr/jails/<replaceable>jailname</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:28989 +#: book.translate.xml:29043 msgid "Updating Ports" msgstr "更新 Port" #. (itstool) path: sect3/para -#: book.translate.xml:28991 +#: book.translate.xml:29045 msgid "" "The ports tree in the basejail is shared by the other jails. Updating that " "copy of the ports tree gives the other jails the updated version also." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:28995 +#: book.translate.xml:29049 msgid "" "The basejail ports tree is updated with " "<citerefentry><refentrytitle>portsnap</refentrytitle><manvolnum>8</" @@ -41399,23 +41553,23 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:28998 +#: book.translate.xml:29052 #, no-wrap msgid "<prompt>#</prompt> <userinput>ezjail-admin update -P</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:29003 +#: book.translate.xml:29057 msgid "Controlling Jails" msgstr "控制 Jail" #. (itstool) path: sect3/title -#: book.translate.xml:29006 +#: book.translate.xml:29060 msgid "Stopping and Starting Jails" msgstr "停止與啟動 Jail" #. (itstool) path: sect3/para -#: book.translate.xml:29008 +#: book.translate.xml:29062 msgid "" "<application>ezjail</application> automatically starts jails when the " "computer is started. Jails can be manually stopped and restarted with " @@ -41423,7 +41577,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:29013 +#: book.translate.xml:29067 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ezjail-admin stop <replaceable>sambajail</replaceable></userinput>\n" @@ -41431,43 +41585,43 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:29016 +#: book.translate.xml:29070 msgid "" "By default, jails are started automatically when the host computer starts. " "Autostarting can be disabled with <command>config</command>:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:29020 +#: book.translate.xml:29074 #, no-wrap msgid "<prompt>#</prompt> <userinput>ezjail-admin config -r norun <replaceable>seldomjail</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:29022 +#: book.translate.xml:29076 msgid "" "This takes effect the next time the host computer is started. A jail that is " "already running will not be stopped." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:29026 +#: book.translate.xml:29080 msgid "Enabling autostart is very similar:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:29028 +#: book.translate.xml:29082 #, no-wrap msgid "<prompt>#</prompt> <userinput>ezjail-admin config -r run <replaceable>oftenjail</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:29032 +#: book.translate.xml:29086 msgid "Archiving and Restoring Jails" msgstr "封存與還原 Jail" #. (itstool) path: sect3/para -#: book.translate.xml:29034 +#: book.translate.xml:29088 msgid "" "Use <command>archive</command> to create a <filename>.tar.gz</filename> " "archive of a jail. The file name is composed from the name of the jail and " @@ -41478,7 +41632,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:29043 +#: book.translate.xml:29097 msgid "" "The archive file can be copied elsewhere as a backup, or an existing jail " "can be restored from it with <command>restore</command>. A new jail can be " @@ -41486,12 +41640,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:29049 +#: book.translate.xml:29103 msgid "Stop and archive a jail named <literal>wwwserver</literal>:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:29052 +#: book.translate.xml:29106 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ezjail-admin stop <replaceable>wwwserver</replaceable></userinput>\n" @@ -41502,7 +41656,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:29058 +#: book.translate.xml:29112 msgid "" "Create a new jail named <literal>wwwserver-clone</literal> from the archive " "created in the previous step. Use the <filename>em1</filename> interface and " @@ -41511,18 +41665,18 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:29064 +#: book.translate.xml:29118 #, no-wrap msgid "<prompt>#</prompt> <userinput>ezjail-admin create -a /usr/jails/ezjail_archives/wwwserver-201407271153.13.tar.gz <replaceable>wwwserver-clone</replaceable> 'lo1|127.0.3.1,em1|192.168.1.51'</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:29069 +#: book.translate.xml:29123 msgid "Full Example: <application>BIND</application> in a Jail" msgstr "完整範例:在 Jail 中安裝 <application>BIND</application>" #. (itstool) path: sect2/para -#: book.translate.xml:29072 +#: book.translate.xml:29126 msgid "" "Putting the <application>BIND</application> <acronym>DNS</acronym> server in " "a jail improves security by isolating it. This example creates a simple " @@ -41530,68 +41684,68 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29079 +#: book.translate.xml:29133 msgid "The jail will be called <literal>dns1</literal>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29084 +#: book.translate.xml:29138 msgid "" "The jail will use <acronym>IP</acronym> address <literal>192.168.1.240</" "literal> on the host's <literal>re0</literal> interface." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29090 +#: book.translate.xml:29144 msgid "" "The upstream <acronym>ISP</acronym>'s DNS servers are at <literal>10.0.0.62</" "literal> and <literal>10.0.0.61</literal>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29096 +#: book.translate.xml:29150 msgid "" "The basejail has already been created and a ports tree installed as shown in " "<xref linkend=\"jails-ezjail-initialsetup\"/>." msgstr "" #. (itstool) path: example/title -#: book.translate.xml:29103 +#: book.translate.xml:29157 msgid "Running BIND in a Jail" msgstr "在 Jail 中執行 BIND" #. (itstool) path: example/para -#: book.translate.xml:29105 +#: book.translate.xml:29159 msgid "" "Create a cloned loopback interface by adding a line to <filename>/etc/rc." "conf</filename>:" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:29110 +#: book.translate.xml:29164 msgid "Immediately create the new loopback interface:" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:29115 +#: book.translate.xml:29169 msgid "Create the jail:" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:29117 +#: book.translate.xml:29171 #, no-wrap msgid "<prompt>#</prompt> <userinput>ezjail-admin create dns1 'lo1|127.0.2.1,re0|192.168.1.240'</userinput>" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:29119 +#: book.translate.xml:29173 msgid "" "Start the jail, connect to a console running on it, and perform some basic " "configuration:" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:29122 +#: book.translate.xml:29176 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ezjail-admin start dns1</userinput>\n" @@ -41606,14 +41760,14 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:29132 +#: book.translate.xml:29186 msgid "" "Temporarily set the upstream <acronym>DNS</acronym> servers in <filename>/" "etc/resolv.conf</filename> so ports can be downloaded:" msgstr "" #. (itstool) path: example/programlisting -#: book.translate.xml:29136 +#: book.translate.xml:29190 #, no-wrap msgid "" "nameserver 10.0.0.62\n" @@ -41621,27 +41775,27 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:29139 +#: book.translate.xml:29193 msgid "" "Still using the jail console, install <package role=\"port\">dns/bind99</" "package>." msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:29142 +#: book.translate.xml:29196 #, no-wrap msgid "<prompt>#</prompt> <userinput>make -C /usr/ports/dns/bind99 install clean</userinput>" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:29144 +#: book.translate.xml:29198 msgid "" "Configure the name server by editing <filename>/usr/local/etc/namedb/named." "conf</filename>." msgstr "" #. (itstool) path: example/para -#: book.translate.xml:29147 +#: book.translate.xml:29201 msgid "" "Create an Access Control List (<acronym>ACL</acronym>) of addresses and " "networks that are permitted to send <acronym>DNS</acronym> queries to this " @@ -41650,7 +41804,7 @@ msgid "" msgstr "" #. (itstool) path: example/programlisting -#: book.translate.xml:29153 +#: book.translate.xml:29207 #, no-wrap msgid "" "...\n" @@ -41667,7 +41821,7 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:29165 +#: book.translate.xml:29219 msgid "" "Use the jail <acronym>IP</acronym> address in the <literal>listen-on</" "literal> setting to accept <acronym>DNS</acronym> queries from other " @@ -41675,13 +41829,13 @@ msgid "" msgstr "" #. (itstool) path: example/programlisting -#: book.translate.xml:29170 +#: book.translate.xml:29224 #, no-wrap msgid "\tlisten-on\t{ 192.168.1.240; };" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:29172 +#: book.translate.xml:29226 msgid "" "A simple caching-only <acronym>DNS</acronym> name server is created by " "changing the <literal>forwarders</literal> section. The original file " @@ -41689,7 +41843,7 @@ msgid "" msgstr "" #. (itstool) path: example/programlisting -#: book.translate.xml:29176 +#: book.translate.xml:29230 #, no-wrap msgid "" "/*\n" @@ -41700,7 +41854,7 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:29182 +#: book.translate.xml:29236 msgid "" "Uncomment the section by removing the <literal>/*</literal> and <literal>*/</" "literal> lines. Enter the <acronym>IP</acronym> addresses of the upstream " @@ -41710,7 +41864,7 @@ msgid "" msgstr "" #. (itstool) path: example/programlisting -#: book.translate.xml:29190 +#: book.translate.xml:29244 #, no-wrap msgid "" "\tforwarders {\n" @@ -41724,24 +41878,24 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:29199 +#: book.translate.xml:29253 msgid "Enable the service in <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: example/programlisting #. (itstool) path: sect3/programlisting -#: book.translate.xml:29202 book.translate.xml:55467 +#: book.translate.xml:29256 book.translate.xml:55521 #, no-wrap msgid "named_enable=\"YES\"" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:29204 +#: book.translate.xml:29258 msgid "Start and test the name server:" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:29206 +#: book.translate.xml:29260 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service named start</userinput>\n" @@ -41751,31 +41905,31 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:29211 +#: book.translate.xml:29265 msgid "A response that includes" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:29213 +#: book.translate.xml:29267 #, no-wrap msgid ";; Got answer;" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:29215 +#: book.translate.xml:29269 msgid "" "shows that the new <acronym>DNS</acronym> server is working. A long delay " "followed by a response including" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:29219 +#: book.translate.xml:29273 #, no-wrap msgid ";; connection timed out; no servers could be reached" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:29221 +#: book.translate.xml:29275 msgid "" "shows a problem. Check the configuration settings and make sure any local " "firewalls allow the new <acronym>DNS</acronym> access to the upstream " @@ -41783,7 +41937,7 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:29226 +#: book.translate.xml:29280 msgid "" "The new <acronym>DNS</acronym> server can use itself for local name " "resolution, just like other local computers. Set the address of the " @@ -41792,13 +41946,13 @@ msgid "" msgstr "" #. (itstool) path: example/programlisting -#: book.translate.xml:29232 +#: book.translate.xml:29286 #, no-wrap msgid "nameserver 192.168.1.240" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:29234 +#: book.translate.xml:29288 msgid "" "A local <acronym>DHCP</acronym> server can be configured to provide this " "address for a local <acronym>DNS</acronym> server, providing automatic " @@ -41807,22 +41961,22 @@ msgstr "" #. (itstool) path: info/title #. (itstool) path: glossentry/glossterm -#: book.translate.xml:29250 book.translate.xml:65535 +#: book.translate.xml:29304 book.translate.xml:65535 msgid "Mandatory Access Control" msgstr "強制存取控制 (MAC)" #. (itstool) path: sect1/indexterm -#: book.translate.xml:29261 +#: book.translate.xml:29315 msgid "<primary>MAC</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:29262 +#: book.translate.xml:29316 msgid "<primary>Mandatory Access Control</primary> <see>MAC</see>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:29267 +#: book.translate.xml:29321 msgid "" "FreeBSD supports security extensions based on the <trademark class=" "\"registered\">POSIX</trademark>.1e draft. These security mechanisms include " @@ -41839,7 +41993,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:29282 +#: book.translate.xml:29336 msgid "" "This chapter focuses on the <acronym>MAC</acronym> framework and the set of " "pluggable security policy modules FreeBSD provides for enabling various " @@ -41847,54 +42001,54 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29290 +#: book.translate.xml:29344 msgid "The terminology associated with the <acronym>MAC</acronym> framework." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29295 +#: book.translate.xml:29349 msgid "" "The capabilities of <acronym>MAC</acronym> security policy modules as well " "as the difference between a labeled and non-labeled policy." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29301 +#: book.translate.xml:29355 msgid "" "The considerations to take into account before configuring a system to use " "the <acronym>MAC</acronym> framework." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29306 +#: book.translate.xml:29360 msgid "" "Which <acronym>MAC</acronym> security policy modules are included in FreeBSD " "and how to configure them." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29311 +#: book.translate.xml:29365 msgid "" "How to implement a more secure environment using the <acronym>MAC</acronym> " "framework." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29316 +#: book.translate.xml:29370 msgid "" "How to test the <acronym>MAC</acronym> configuration to ensure the framework " "has been properly implemented." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29330 book.translate.xml:31083 book.translate.xml:46108 +#: book.translate.xml:29384 book.translate.xml:31137 book.translate.xml:46162 msgid "" "Have some familiarity with security and how it pertains to FreeBSD (<xref " "linkend=\"security\"/>)." msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:29336 +#: book.translate.xml:29390 msgid "" "Improper <acronym>MAC</acronym> configuration may cause loss of system " "access, aggravation of users, or inability to access the features provided " @@ -41906,7 +42060,7 @@ msgid "" msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:29346 +#: book.translate.xml:29400 msgid "" "The examples contained within this chapter are for demonstration purposes " "and the example settings should <emphasis>not</emphasis> be implemented on a " @@ -41915,7 +42069,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:29353 +#: book.translate.xml:29407 msgid "" "While this chapter covers a broad range of security issues relating to the " "<acronym>MAC</acronym> framework, the development of new <acronym>MAC</" @@ -41931,19 +42085,19 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:29366 book.translate.xml:31108 +#: book.translate.xml:29420 book.translate.xml:31162 msgid "Key Terms" msgstr "關鍵詞" #. (itstool) path: sect1/para -#: book.translate.xml:29368 +#: book.translate.xml:29422 msgid "" "The following key terms are used when referring to the <acronym>MAC</" "acronym> framework:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29373 +#: book.translate.xml:29427 msgid "" "<emphasis>compartment</emphasis>: a set of programs and data to be " "partitioned or separated, where users are given explicit access to specific " @@ -41953,7 +42107,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29383 +#: book.translate.xml:29437 msgid "" "<emphasis>integrity</emphasis>: the level of trust which can be placed on " "data. As the integrity of the data is elevated, so does the ability to trust " @@ -41961,7 +42115,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29389 +#: book.translate.xml:29443 msgid "" "<emphasis>level</emphasis>: the increased or decreased setting of a security " "attribute. As the level increases, its security is considered to elevate as " @@ -41969,7 +42123,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29395 +#: book.translate.xml:29449 msgid "" "<emphasis>label</emphasis>: a security attribute which can be applied to " "files, directories, or other items in the system. It could be considered a " @@ -41982,7 +42136,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29409 +#: book.translate.xml:29463 msgid "" "<emphasis>multilabel</emphasis>: this property is a file system option which " "can be set in single-user mode using <citerefentry><refentrytitle>tunefs</" @@ -41995,7 +42149,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29419 +#: book.translate.xml:29473 msgid "" "<emphasis>single label</emphasis>: a policy where the entire file system " "uses one label to enforce access control over the flow of data. Whenever " @@ -42004,7 +42158,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29427 +#: book.translate.xml:29481 msgid "" "<emphasis>object</emphasis>: an entity through which information flows under " "the direction of a <emphasis>subject</emphasis>. This includes directories, " @@ -42014,7 +42168,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29437 +#: book.translate.xml:29491 msgid "" "<emphasis>subject</emphasis>: any active entity that causes information to " "flow between <emphasis>objects</emphasis> such as a user, user process, or " @@ -42023,7 +42177,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29445 +#: book.translate.xml:29499 msgid "" "<emphasis>policy</emphasis>: a collection of rules which defines how " "objectives are to be achieved. A policy usually documents how certain items " @@ -42033,7 +42187,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29454 +#: book.translate.xml:29508 msgid "" "<emphasis>high-watermark</emphasis>: this type of policy permits the raising " "of security levels for the purpose of accessing higher level information. In " @@ -42043,7 +42197,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29463 +#: book.translate.xml:29517 msgid "" "<emphasis>low-watermark</emphasis>: this type of policy permits lowering " "security levels for the purpose of accessing information which is less " @@ -42054,7 +42208,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29472 +#: book.translate.xml:29526 msgid "" "<emphasis>sensitivity</emphasis>: usually used when discussing Multilevel " "Security (<acronym>MLS</acronym>). A sensitivity level describes how " @@ -42063,12 +42217,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:29483 +#: book.translate.xml:29537 msgid "Understanding MAC Labels" msgstr "了解 MAC 標籤" #. (itstool) path: sect1/para -#: book.translate.xml:29485 +#: book.translate.xml:29539 msgid "" "A <acronym>MAC</acronym> label is a security attribute which may be applied " "to subjects and objects throughout the system. When setting a label, the " @@ -42079,7 +42233,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:29493 +#: book.translate.xml:29547 msgid "" "The security label on an object is used as a part of a security access " "control decision by a policy. With some policies, the label contains all of " @@ -42088,7 +42242,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:29499 +#: book.translate.xml:29553 msgid "" "There are two types of label policies: single label and multi label. By " "default, the system will use single label. The administrator should be aware " @@ -42097,7 +42251,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:29505 +#: book.translate.xml:29559 msgid "" "A single label security policy only permits one label to be used for every " "subject or object. Since a single label policy enforces one set of access " @@ -42108,7 +42262,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:29513 +#: book.translate.xml:29567 msgid "" "A single label policy is somewhat similar to <acronym>DAC</acronym> as " "<systemitem class=\"username\">root</systemitem> configures the policies so " @@ -42120,7 +42274,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:29522 +#: book.translate.xml:29576 msgid "" "When appropriate, a multi label policy can be set on a <acronym>UFS</" "acronym> file system by passing <option>multilabel</option> to " @@ -42135,7 +42289,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:29534 +#: book.translate.xml:29588 msgid "" "Using a multi label policy on a partition and establishing a multi label " "security model can increase administrative overhead as everything in that " @@ -42144,7 +42298,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:29539 +#: book.translate.xml:29593 msgid "" "The following command will set <option>multilabel</option> on the specified " "<acronym>UFS</acronym> file system. This may only be done in single-user " @@ -42152,13 +42306,13 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:29544 +#: book.translate.xml:29598 #, no-wrap msgid "<prompt>#</prompt> <userinput>tunefs -l enable /</userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:29547 +#: book.translate.xml:29601 msgid "" "Some users have experienced problems with setting the <option>multilabel</" "option> flag on the root partition. If this is the case, please review <xref " @@ -42166,7 +42320,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:29552 +#: book.translate.xml:29606 msgid "" "Since the multi label policy is set on a per-file system basis, a multi " "label policy may not be needed if the file system layout is well designed. " @@ -42179,12 +42333,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:29564 +#: book.translate.xml:29618 msgid "Label Configuration" msgstr "標籤設定" #. (itstool) path: sect2/para -#: book.translate.xml:29566 +#: book.translate.xml:29620 msgid "" "Virtually all aspects of label policy module configuration will be performed " "using the base system utilities. These commands provide a simple interface " @@ -42193,7 +42347,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29572 +#: book.translate.xml:29626 msgid "" "All configuration may be done using <command>setfmac</command>, which is " "used to set <acronym>MAC</acronym> labels on system objects, and " @@ -42203,13 +42357,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:29580 +#: book.translate.xml:29634 #, no-wrap msgid "<prompt>#</prompt> <userinput>setfmac biba/high test</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29582 +#: book.translate.xml:29636 msgid "" "If the configuration is successful, the prompt will be returned without " "error. A common error is <errorname>Permission denied</errorname> which " @@ -42226,7 +42380,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29598 +#: book.translate.xml:29652 msgid "" "The system administrator may use <command>setpmac</command> to override the " "policy module's settings by assigning a different label to the invoked " @@ -42234,7 +42388,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:29603 +#: book.translate.xml:29657 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>setfmac biba/high test</userinput>\n" @@ -42245,7 +42399,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29609 +#: book.translate.xml:29663 msgid "" "For currently running processes, such as <application>sendmail</" "application>, <command>getpmac</command> is usually used instead. This " @@ -42256,12 +42410,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:29620 +#: book.translate.xml:29674 msgid "Predefined Labels" msgstr "預先定義的標籤" #. (itstool) path: sect2/para -#: book.translate.xml:29622 +#: book.translate.xml:29676 msgid "" "A few FreeBSD policy modules which support the labeling feature offer three " "predefined labels: <literal>low</literal>, <literal>equal</literal>, and " @@ -42269,7 +42423,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29629 +#: book.translate.xml:29683 msgid "" "<literal>low</literal> is considered the lowest label setting an object or " "subject may have. Setting this on objects or subjects blocks their access to " @@ -42277,7 +42431,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29636 +#: book.translate.xml:29690 msgid "" "<literal>equal</literal> sets the subject or object to be disabled or " "unaffected and should only be placed on objects considered to be exempt from " @@ -42285,14 +42439,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29642 +#: book.translate.xml:29696 msgid "" "<literal>high</literal> grants an object or subject the highest setting " "available in the Biba and <acronym>MLS</acronym> policy modules." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29648 +#: book.translate.xml:29702 msgid "" "Such policy modules include <citerefentry><refentrytitle>mac_biba</" "refentrytitle><manvolnum>4</manvolnum></citerefentry>, " @@ -42305,12 +42459,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:29656 +#: book.translate.xml:29710 msgid "Numeric Labels" msgstr "數值標籤" #. (itstool) path: sect2/para -#: book.translate.xml:29658 +#: book.translate.xml:29712 msgid "" "The Biba and <acronym>MLS</acronym> policy modules support a numeric label " "which may be set to indicate the precise level of hierarchical control. This " @@ -42320,20 +42474,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:29665 +#: book.translate.xml:29719 #, no-wrap msgid "biba/10:2+3+6(5:2+3-20:2+3+4+5+6)" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29667 +#: book.translate.xml:29721 msgid "" "may be interpreted as <quote>Biba Policy Label/Grade 10:Compartments 2, 3 " "and 6: (grade 5 ...</quote>)" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29670 +#: book.translate.xml:29724 msgid "" "In this example, the first grade would be considered the effective grade " "with effective compartments, the second grade is the low grade, and the last " @@ -42342,7 +42496,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29676 +#: book.translate.xml:29730 msgid "" "System objects only have a current grade and compartment. System subjects " "reflect the range of available rights in the system, and network interfaces, " @@ -42350,7 +42504,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29681 +#: book.translate.xml:29735 msgid "" "The grade and compartments in a subject and object pair are used to " "construct a relationship known as <firstterm>dominance</firstterm>, in which " @@ -42365,12 +42519,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:29696 +#: book.translate.xml:29750 msgid "User Labels" msgstr "使用者標籤" #. (itstool) path: sect2/para -#: book.translate.xml:29698 +#: book.translate.xml:29752 msgid "" "Users are required to have labels so that their files and processes properly " "interact with the security policy defined on the system. This is configured " @@ -42379,7 +42533,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29705 +#: book.translate.xml:29759 msgid "" "To set the user class default label which will be enforced by <acronym>MAC</" "acronym>, add a <option>label</option> entry. An example <option>label</" @@ -42390,7 +42544,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:29714 +#: book.translate.xml:29768 #, no-wrap msgid "" "default:\\\n" @@ -42419,7 +42573,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29738 +#: book.translate.xml:29792 msgid "" "While users can not modify the default value, they may change their label " "after they login, subject to the constraints of the policy. The example " @@ -42432,14 +42586,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29749 +#: book.translate.xml:29803 msgid "" "After any change to <filename>login.conf</filename>, the login class " "capability database must be rebuilt using <command>cap_mkdb</command>." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29753 +#: book.translate.xml:29807 msgid "" "Many sites have a large number of users requiring several different user " "classes. In depth planning is required as this can become difficult to " @@ -42447,12 +42601,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:29759 +#: book.translate.xml:29813 msgid "Network Interface Labels" msgstr "網路介面標籤" #. (itstool) path: sect2/para -#: book.translate.xml:29761 +#: book.translate.xml:29815 msgid "" "Labels may be set on network interfaces to help control the flow of data " "across the network. Policies using network interface labels function in the " @@ -42462,20 +42616,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29768 +#: book.translate.xml:29822 msgid "" "When setting the <acronym>MAC</acronym> label on network interfaces, " "<option>maclabel</option> may be passed to <command>ifconfig</command>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:29772 +#: book.translate.xml:29826 #, no-wrap msgid "<prompt>#</prompt> <userinput>ifconfig bge0 maclabel biba/equal</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29774 +#: book.translate.xml:29828 msgid "" "This example will set the <acronym>MAC</acronym> label of <literal>biba/" "equal</literal> on the <literal>bge0</literal> interface. When using a " @@ -42484,7 +42638,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29781 +#: book.translate.xml:29835 msgid "" "Each policy module which supports labeling has a tunable which may be used " "to disable the <acronym>MAC</acronym> label on network interfaces. Setting " @@ -42495,12 +42649,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:29792 +#: book.translate.xml:29846 msgid "Planning the Security Configuration" msgstr "規劃安全架構" #. (itstool) path: sect1/para -#: book.translate.xml:29794 +#: book.translate.xml:29848 msgid "" "Before implementing any <acronym>MAC</acronym> policies, a planning phase is " "recommended. During the planning stages, an administrator should consider " @@ -42508,26 +42662,26 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29801 +#: book.translate.xml:29855 msgid "" "How to classify information and resources available on the target systems." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29806 +#: book.translate.xml:29860 msgid "" "Which information or resources to restrict access to along with the type of " "restrictions that should be applied." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29812 +#: book.translate.xml:29866 msgid "" "Which <acronym>MAC</acronym> modules will be required to achieve this goal." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:29817 +#: book.translate.xml:29871 msgid "" "A trial run of the trusted system and its configuration should occur " "<emphasis>before</emphasis> a <acronym>MAC</acronym> implementation is used " @@ -42537,7 +42691,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:29824 +#: book.translate.xml:29878 msgid "" "Consider how the <acronym>MAC</acronym> framework augments the security of " "the system as a whole. The various security policy modules provided by the " @@ -42551,7 +42705,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:29837 +#: book.translate.xml:29891 msgid "" "The overhead is minimal when compared to the lasting effect of a framework " "which provides the ability to pick and choose which policies are required " @@ -42564,7 +42718,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:29847 +#: book.translate.xml:29901 msgid "" "A system utilizing <acronym>MAC</acronym> guarantees that a user will not be " "permitted to change security attributes at will. All user utilities, " @@ -42575,7 +42729,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:29855 +#: book.translate.xml:29909 msgid "" "It is the duty of the system administrator to carefully select the correct " "security policy modules. For an environment that needs to limit access " @@ -42592,7 +42746,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:29864 +#: book.translate.xml:29918 msgid "" "Policy decisions could be made based on network configuration. If only " "certain users should be permitted access to " @@ -42610,7 +42764,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:29878 +#: book.translate.xml:29932 msgid "" "Each security policy module has a unique way of dealing with the overall " "security of a system. Module selection should be based on a well thought out " @@ -42621,7 +42775,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:29886 +#: book.translate.xml:29940 msgid "" "The rest of this chapter covers the available modules, describes their use " "and configuration, and in some cases, provides insight on applicable " @@ -42629,7 +42783,7 @@ msgid "" msgstr "" #. (itstool) path: caution/para -#: book.translate.xml:29891 +#: book.translate.xml:29945 msgid "" "Implementing <acronym>MAC</acronym> is much like implementing a firewall " "since care must be taken to prevent being completely locked out of the " @@ -42639,12 +42793,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:29901 +#: book.translate.xml:29955 msgid "Available MAC Policies" msgstr "可用的 MAC 管理政策" #. (itstool) path: sect1/para -#: book.translate.xml:29903 +#: book.translate.xml:29957 msgid "" "The default FreeBSD kernel includes <literal>options MAC</literal>. This " "means that every module included with the <acronym>MAC</acronym> framework " @@ -42656,7 +42810,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:29913 +#: book.translate.xml:29967 msgid "" "FreeBSD includes a group of policies that will cover most security " "requirements. Each policy is summarized below. The last three policies " @@ -42664,32 +42818,32 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:29919 +#: book.translate.xml:29973 msgid "The MAC See Other UIDs Policy" msgstr "MAC See Other UIDs 政策" #. (itstool) path: sect2/indexterm -#: book.translate.xml:29921 +#: book.translate.xml:29975 msgid "<primary>MAC See Other UIDs Policy</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29924 +#: book.translate.xml:29978 msgid "Module name: <filename>mac_seeotheruids.ko</filename>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29927 +#: book.translate.xml:29981 msgid "Kernel configuration line: <literal>options MAC_SEEOTHERUIDS</literal>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29930 +#: book.translate.xml:29984 msgid "Boot option: <literal>mac_seeotheruids_load=\"YES\"</literal>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29933 +#: book.translate.xml:29987 msgid "" "The <citerefentry><refentrytitle>mac_seeotheruids</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> module extends the " @@ -42700,14 +42854,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29940 +#: book.translate.xml:29994 msgid "" "After loading the module, the following <command>sysctl</command> tunables " "may be used to control its features:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29946 +#: book.translate.xml:30000 msgid "" "<varname>security.mac.seeotheruids.enabled</varname> enables the module and " "implements the default settings which deny users the ability to view " @@ -42715,7 +42869,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29953 +#: book.translate.xml:30007 msgid "" "<varname>security.mac.seeotheruids.specificgid_enabled</varname> allows " "specified groups to be exempt from this policy. To exempt specific groups, " @@ -42725,7 +42879,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:29964 +#: book.translate.xml:30018 msgid "" "<varname>security.mac.seeotheruids.primarygroup_enabled</varname> is used to " "exempt specific primary groups from this policy. When using this tunable, " @@ -42734,33 +42888,33 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:29975 +#: book.translate.xml:30029 msgid "The MAC BSD Extended Policy" msgstr "MAC BSD Extended 政策" #. (itstool) path: sect2/indexterm -#: book.translate.xml:29977 +#: book.translate.xml:30031 msgid "" "<primary>MAC</primary> <secondary>File System Firewall Policy</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29981 +#: book.translate.xml:30035 msgid "Module name: <filename>mac_bsdextended.ko</filename>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29984 +#: book.translate.xml:30038 msgid "Kernel configuration line: <literal>options MAC_BSDEXTENDED</literal>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29987 +#: book.translate.xml:30041 msgid "Boot option: <literal>mac_bsdextended_load=\"YES\"</literal>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:29990 +#: book.translate.xml:30044 msgid "" "The <citerefentry><refentrytitle>mac_bsdextended</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> module enforces a file " @@ -42777,7 +42931,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30003 +#: book.translate.xml:30057 msgid "" "The rule list may be entered using <citerefentry><refentrytitle>ugidfw</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> which has a syntax " @@ -42788,7 +42942,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30008 +#: book.translate.xml:30062 msgid "" "After the <citerefentry><refentrytitle>mac_bsdextended</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> module has been " @@ -42797,7 +42951,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:30012 +#: book.translate.xml:30066 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ugidfw list</userinput>\n" @@ -42805,7 +42959,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30015 +#: book.translate.xml:30069 msgid "" "By default, no rules are defined and everything is completely accessible. To " "create a rule which blocks all access by users but leaves <systemitem class=" @@ -42813,13 +42967,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:30019 +#: book.translate.xml:30073 #, no-wrap msgid "<prompt>#</prompt> <userinput>ugidfw add subject not uid root new object not uid root mode n</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30021 +#: book.translate.xml:30075 msgid "" "While this rule is simple to implement, it is a very bad idea as it blocks " "all users from issuing any commands. A more realistic example blocks " @@ -42829,7 +42983,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:30027 +#: book.translate.xml:30081 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ugidfw set 2 subject uid <replaceable>user1</replaceable> object uid <replaceable>user2</replaceable> mode n</userinput>\n" @@ -42837,7 +42991,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30030 +#: book.translate.xml:30084 msgid "" "Instead of <systemitem class=\"username\">user1</systemitem>, <option>not " "uid <replaceable>user2</replaceable></option> could be used in order to " @@ -42846,39 +43000,39 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:30037 +#: book.translate.xml:30091 msgid "" "Extreme caution should be taken when working with this module as incorrect " "use could block access to certain parts of the file system." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:30044 +#: book.translate.xml:30098 msgid "The MAC Interface Silencing Policy" msgstr "MAC Interface Silencing 政策" #. (itstool) path: sect2/indexterm -#: book.translate.xml:30046 +#: book.translate.xml:30100 msgid "<primary>MAC Interface Silencing Policy</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30049 +#: book.translate.xml:30103 msgid "Module name: <filename>mac_ifoff.ko</filename>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30051 +#: book.translate.xml:30105 msgid "Kernel configuration line: <literal>options MAC_IFOFF</literal>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30054 +#: book.translate.xml:30108 msgid "Boot option: <literal>mac_ifoff_load=\"YES\"</literal>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30057 +#: book.translate.xml:30111 msgid "" "The <citerefentry><refentrytitle>mac_ifoff</refentrytitle><manvolnum>4</" "manvolnum></citerefentry> module is used to disable network interfaces on " @@ -42888,14 +43042,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30063 +#: book.translate.xml:30117 msgid "" "Most of this module's control is performed through these <command>sysctl</" "command> tunables:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30068 +#: book.translate.xml:30122 msgid "" "<varname>security.mac.ifoff.lo_enabled</varname> enables or disables all " "traffic on the loopback, <citerefentry><refentrytitle>lo</" @@ -42903,7 +43057,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30074 +#: book.translate.xml:30128 msgid "" "<varname>security.mac.ifoff.bpfrecv_enabled</varname> enables or disables " "all traffic on the Berkeley Packet Filter interface, " @@ -42912,14 +43066,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30080 +#: book.translate.xml:30134 msgid "" "<varname>security.mac.ifoff.other_enabled</varname> enables or disables " "traffic on all other interfaces." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30086 +#: book.translate.xml:30140 msgid "" "One of the most common uses of <citerefentry><refentrytitle>mac_ifoff</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> is network monitoring " @@ -42930,32 +43084,32 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:30096 +#: book.translate.xml:30150 msgid "The MAC Port Access Control List Policy" msgstr "MAC Port Access Control 政策" #. (itstool) path: sect2/indexterm -#: book.translate.xml:30098 +#: book.translate.xml:30152 msgid "<primary>MAC Port Access Control List Policy</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30101 +#: book.translate.xml:30155 msgid "Module name: <filename>mac_portacl.ko</filename>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30103 +#: book.translate.xml:30157 msgid "Kernel configuration line: <literal>MAC_PORTACL</literal>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30106 +#: book.translate.xml:30160 msgid "Boot option: <literal>mac_portacl_load=\"YES\"</literal>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30109 +#: book.translate.xml:30163 msgid "" "The <citerefentry><refentrytitle>mac_portacl</refentrytitle><manvolnum>4</" "manvolnum></citerefentry> module is used to limit binding to local " @@ -42965,21 +43119,21 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30114 +#: book.translate.xml:30168 msgid "" "Once loaded, this module enables the <acronym>MAC</acronym> policy on all " "sockets. The following tunables are available:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30120 +#: book.translate.xml:30174 msgid "" "<varname>security.mac.portacl.enabled</varname> enables or disables the " "policy completely." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30125 +#: book.translate.xml:30179 msgid "" "<varname>security.mac.portacl.port_high</varname> sets the highest port " "number that <citerefentry><refentrytitle>mac_portacl</" @@ -42987,7 +43141,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30131 +#: book.translate.xml:30185 msgid "" "<varname>security.mac.portacl.suser_exempt</varname>, when set to a non-zero " "value, exempts the <systemitem class=\"username\">root</systemitem> user " @@ -42995,7 +43149,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30137 +#: book.translate.xml:30191 msgid "" "<varname>security.mac.portacl.rules</varname> specifies the policy as a text " "string of the form <literal>rule[,rule,...]</literal>, with as many rules as " @@ -43009,7 +43163,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30153 +#: book.translate.xml:30207 msgid "" "By default, ports below 1024 can only be used by privileged processes which " "run as <systemitem class=\"username\">root</systemitem>. For " @@ -43019,7 +43173,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:30159 +#: book.translate.xml:30213 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>sysctl security.mac.portacl.port_high=1023</userinput>\n" @@ -43028,7 +43182,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30163 +#: book.translate.xml:30217 msgid "" "To prevent the <systemitem class=\"username\">root</systemitem> user from " "being affected by this policy, set <varname>security.mac.portacl." @@ -43036,13 +43190,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:30168 +#: book.translate.xml:30222 #, no-wrap msgid "<prompt>#</prompt> <userinput>sysctl security.mac.portacl.suser_exempt=1</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30170 +#: book.translate.xml:30224 msgid "" "To allow the <systemitem class=\"username\">www</systemitem> user with " "<acronym>UID</acronym> 80 to bind to port 80 without ever needing " @@ -43050,51 +43204,51 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:30174 +#: book.translate.xml:30228 #, no-wrap msgid "<prompt>#</prompt> <userinput>sysctl security.mac.portacl.rules=uid:80:tcp:80</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30176 +#: book.translate.xml:30230 msgid "" "This next example permits the user with the <acronym>UID</acronym> of 1001 " "to bind to <acronym>TCP</acronym> ports 110 (POP3) and 995 (POP3s):" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:30181 +#: book.translate.xml:30235 #, no-wrap msgid "<prompt>#</prompt> <userinput>sysctl security.mac.portacl.rules=uid:1001:tcp:110,uid:1001:tcp:995</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:30185 +#: book.translate.xml:30239 msgid "The MAC Partition Policy" msgstr "MAC Partition 政策" #. (itstool) path: sect2/indexterm -#: book.translate.xml:30187 +#: book.translate.xml:30241 msgid "<primary>MAC Process Partition Policy</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30190 +#: book.translate.xml:30244 msgid "Module name: <filename>mac_partition.ko</filename>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30192 +#: book.translate.xml:30246 msgid "Kernel configuration line: <literal>options MAC_PARTITION</literal>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30195 +#: book.translate.xml:30249 msgid "Boot option: <literal>mac_partition_load=\"YES\"</literal>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30198 +#: book.translate.xml:30252 msgid "" "The <citerefentry><refentrytitle>mac_partition</refentrytitle><manvolnum>4</" "manvolnum></citerefentry> policy drops processes into specific " @@ -43106,14 +43260,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30207 +#: book.translate.xml:30261 msgid "" "<varname>security.mac.partition.enabled</varname> enables the enforcement of " "<acronym>MAC</acronym> process partitions." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30213 +#: book.translate.xml:30267 msgid "" "When this policy is enabled, users will only be permitted to see their " "processes, and any others within their partition, but will not be permitted " @@ -43124,7 +43278,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30221 +#: book.translate.xml:30275 msgid "" "This example adds <command>top</command> to the label set on users in the " "<literal>insecure</literal> class. All processes spawned by users in the " @@ -43133,37 +43287,37 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:30227 +#: book.translate.xml:30281 #, no-wrap msgid "<prompt>#</prompt> <userinput>setpmac partition/13 top</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30229 +#: book.translate.xml:30283 msgid "This command displays the partition label and the process list:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:30232 +#: book.translate.xml:30286 #, no-wrap msgid "<prompt>#</prompt> <userinput>ps Zax</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30234 +#: book.translate.xml:30288 msgid "" "This command displays another user's process partition label and that user's " "currently running processes:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:30237 +#: book.translate.xml:30291 #, no-wrap msgid "<prompt>#</prompt> <userinput>ps -ZU trhodes</userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:30240 +#: book.translate.xml:30294 msgid "" "Users can see processes in <systemitem class=\"username\">root</" "systemitem>'s label unless the " @@ -43172,32 +43326,32 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:30246 +#: book.translate.xml:30300 msgid "The MAC Multi-Level Security Module" msgstr "MAC Multi-Level Security 模組" #. (itstool) path: sect2/indexterm -#: book.translate.xml:30248 +#: book.translate.xml:30302 msgid "<primary>MAC Multi-Level Security Policy</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30251 +#: book.translate.xml:30305 msgid "Module name: <filename>mac_mls.ko</filename>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30253 +#: book.translate.xml:30307 msgid "Kernel configuration line: <literal>options MAC_MLS</literal>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30256 +#: book.translate.xml:30310 msgid "Boot option: <literal>mac_mls_load=\"YES\"</literal>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30258 +#: book.translate.xml:30312 msgid "" "The <citerefentry><refentrytitle>mac_mls</refentrytitle><manvolnum>4</" "manvolnum></citerefentry> policy controls access between subjects and " @@ -43205,7 +43359,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30262 +#: book.translate.xml:30316 msgid "" "In <acronym>MLS</acronym> environments, a <quote>clearance</quote> level is " "set in the label of each subject or object, along with compartments. Since " @@ -43217,7 +43371,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30274 +#: book.translate.xml:30328 msgid "" "Anything labeled with <literal>mls/low</literal> will have a low clearance " "level and not be permitted to access information of a higher level. This " @@ -43226,14 +43380,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30282 +#: book.translate.xml:30336 msgid "" "<literal>mls/equal</literal> should be placed on objects which should be " "exempt from the policy." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30287 +#: book.translate.xml:30341 msgid "" "<literal>mls/high</literal> is the highest level of clearance possible. " "Objects assigned this label will hold dominance over all other objects in " @@ -43242,18 +43396,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30295 +#: book.translate.xml:30349 msgid "<acronym>MLS</acronym> provides:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30299 +#: book.translate.xml:30353 msgid "" "A hierarchical security level with a set of non-hierarchical categories." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30304 +#: book.translate.xml:30358 msgid "" "Fixed rules of <literal>no read up, no write down</literal>. This means that " "a subject can have read access to objects on its own level or below, but not " @@ -43262,12 +43416,12 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30312 +#: book.translate.xml:30366 msgid "Secrecy, or the prevention of inappropriate disclosure of data." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30317 +#: book.translate.xml:30371 msgid "" "A basis for the design of systems that concurrently handle data at multiple " "sensitivity levels without leaking information between secret and " @@ -43275,19 +43429,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30323 +#: book.translate.xml:30377 msgid "The following <command>sysctl</command> tunables are available:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30328 +#: book.translate.xml:30382 msgid "" "<varname>security.mac.mls.enabled</varname> is used to enable or disable the " "<acronym>MLS</acronym> policy." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30334 +#: book.translate.xml:30388 msgid "" "<varname>security.mac.mls.ptys_equal</varname> labels all " "<citerefentry><refentrytitle>pty</refentrytitle><manvolnum>4</manvolnum></" @@ -43295,21 +43449,21 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30340 +#: book.translate.xml:30394 msgid "" "<varname>security.mac.mls.revocation_enabled</varname> revokes access to " "objects after their label changes to a label of a lower grade." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30346 +#: book.translate.xml:30400 msgid "" "<varname>security.mac.mls.max_compartments</varname> sets the maximum number " "of compartment levels allowed on a system." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30352 +#: book.translate.xml:30406 msgid "" "To manipulate <acronym>MLS</acronym> labels, use " "<citerefentry><refentrytitle>setfmac</refentrytitle><manvolnum>8</" @@ -43317,26 +43471,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:30355 +#: book.translate.xml:30409 #, no-wrap msgid "<prompt>#</prompt> <userinput>setfmac mls/5 test</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30357 +#: book.translate.xml:30411 msgid "" "To get the <acronym>MLS</acronym> label for the file <filename>test</" "filename>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:30360 +#: book.translate.xml:30414 #, no-wrap msgid "<prompt>#</prompt> <userinput>getfmac test</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30362 +#: book.translate.xml:30416 msgid "" "Another approach is to create a master policy file in <filename>/etc/</" "filename> which specifies the <acronym>MLS</acronym> policy information and " @@ -43344,7 +43498,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30367 +#: book.translate.xml:30421 msgid "" "When using the <acronym>MLS</acronym> policy module, an administrator plans " "to control the flow of sensitive information. The default <literal>block " @@ -43354,7 +43508,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30374 +#: book.translate.xml:30428 msgid "" "Beyond the three basic label options, an administrator may group users and " "groups as required to block the information flow between them. It might be " @@ -43367,7 +43521,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30385 +#: book.translate.xml:30439 msgid "" "Some example situations for the <acronym>MLS</acronym> policy module include " "an e-commerce web server, a file server holding critical company " @@ -43375,32 +43529,32 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:30392 +#: book.translate.xml:30446 msgid "The MAC Biba Module" msgstr "MAC Biba 模組" #. (itstool) path: sect2/indexterm -#: book.translate.xml:30394 +#: book.translate.xml:30448 msgid "<primary>MAC Biba Integrity Policy</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30397 +#: book.translate.xml:30451 msgid "Module name: <filename>mac_biba.ko</filename>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30399 +#: book.translate.xml:30453 msgid "Kernel configuration line: <literal>options MAC_BIBA</literal>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30402 +#: book.translate.xml:30456 msgid "Boot option: <literal>mac_biba_load=\"YES\"</literal>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30404 +#: book.translate.xml:30458 msgid "" "The <citerefentry><refentrytitle>mac_biba</refentrytitle><manvolnum>4</" "manvolnum></citerefentry> module loads the <acronym>MAC</acronym> Biba " @@ -43412,7 +43566,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30412 +#: book.translate.xml:30466 msgid "" "In Biba environments, an <quote>integrity</quote> label is set on each " "subject or object. These labels are made up of hierarchical grades and non-" @@ -43420,14 +43574,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30417 +#: book.translate.xml:30471 msgid "" "Supported labels are <literal>biba/low</literal>, <literal>biba/equal</" "literal>, and <literal>biba/high</literal>, where:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30423 +#: book.translate.xml:30477 msgid "" "<literal>biba/low</literal> is considered the lowest integrity an object or " "subject may have. Setting this on objects or subjects blocks their write " @@ -43436,14 +43590,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30431 +#: book.translate.xml:30485 msgid "" "<literal>biba/equal</literal> should only be placed on objects considered to " "be exempt from the policy." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30436 +#: book.translate.xml:30490 msgid "" "<literal>biba/high</literal> permits writing to objects set at a lower " "label, but does not permit reading that object. It is recommended that this " @@ -43451,19 +43605,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30444 +#: book.translate.xml:30498 msgid "Biba provides:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30448 +#: book.translate.xml:30502 msgid "" "Hierarchical integrity levels with a set of non-hierarchical integrity " "categories." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30453 +#: book.translate.xml:30507 msgid "" "Fixed rules are <literal>no write up, no read down</literal>, the opposite " "of <acronym>MLS</acronym>. A subject can have write access to objects on its " @@ -43472,29 +43626,29 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30462 +#: book.translate.xml:30516 msgid "Integrity by preventing inappropriate modification of data." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30467 +#: book.translate.xml:30521 msgid "Integrity levels instead of <acronym>MLS</acronym> sensitivity levels." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30472 +#: book.translate.xml:30526 msgid "The following tunables can be used to manipulate the Biba policy:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30477 +#: book.translate.xml:30531 msgid "" "<varname>security.mac.biba.enabled</varname> is used to enable or disable " "enforcement of the Biba policy on the target machine." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30483 +#: book.translate.xml:30537 msgid "" "<varname>security.mac.biba.ptys_equal</varname> is used to disable the Biba " "policy on <citerefentry><refentrytitle>pty</refentrytitle><manvolnum>4</" @@ -43502,7 +43656,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30489 +#: book.translate.xml:30543 msgid "" "<varname>security.mac.biba.revocation_enabled</varname> forces the " "revocation of access to objects if the label is changed to dominate the " @@ -43510,14 +43664,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30495 +#: book.translate.xml:30549 msgid "" "To access the Biba policy setting on system objects, use <command>setfmac</" "command> and <command>getfmac</command>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:30499 +#: book.translate.xml:30553 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>setfmac biba/low test</userinput>\n" @@ -43526,7 +43680,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30503 +#: book.translate.xml:30557 msgid "" "Integrity, which is different from sensitivity, is used to guarantee that " "information is not manipulated by untrusted parties. This includes " @@ -43540,7 +43694,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30513 +#: book.translate.xml:30567 msgid "" "During the initial planning phase, an administrator must be prepared to " "partition users into grades, levels, and areas. The system will default to a " @@ -43554,7 +43708,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30526 +#: book.translate.xml:30580 msgid "" "A lower integrity subject is unable to write to a higher integrity subject " "and a higher integrity subject cannot list or read a lower integrity object. " @@ -43566,32 +43720,32 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:30538 +#: book.translate.xml:30592 msgid "The MAC Low-watermark Module" msgstr "MAC Low-watermark 模組" #. (itstool) path: sect2/indexterm -#: book.translate.xml:30540 +#: book.translate.xml:30594 msgid "<primary>MAC LOMAC</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30543 +#: book.translate.xml:30597 msgid "Module name: <filename>mac_lomac.ko</filename>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30545 +#: book.translate.xml:30599 msgid "Kernel configuration line: <literal>options MAC_LOMAC</literal>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30548 +#: book.translate.xml:30602 msgid "Boot option: <literal>mac_lomac_load=\"YES\"</literal>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30551 +#: book.translate.xml:30605 msgid "" "Unlike the <acronym>MAC</acronym> Biba policy, the " "<citerefentry><refentrytitle>mac_lomac</refentrytitle><manvolnum>4</" @@ -43600,7 +43754,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30556 +#: book.translate.xml:30610 msgid "" "The Low-watermark integrity policy works almost identically to Biba, with " "the exception of using floating labels to support subject demotion via an " @@ -43611,7 +43765,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30565 +#: book.translate.xml:30619 msgid "" "This policy relies on the ubiquitous labeling of all system objects with " "integrity labels, permitting subjects to read from low integrity objects and " @@ -43622,7 +43776,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30573 +#: book.translate.xml:30627 msgid "" "Like the Biba and <acronym>MLS</acronym> policies, <command>setfmac</" "command> and <command>setpmac</command> are used to place labels on system " @@ -43630,7 +43784,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:30577 +#: book.translate.xml:30631 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>setfmac /usr/home/trhodes lomac/high[low]</userinput>\n" @@ -43638,19 +43792,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30580 +#: book.translate.xml:30634 msgid "" "The auxiliary grade <literal>low</literal> is a feature provided only by the " "<acronym>MAC</acronym> <acronym>LOMAC</acronym> policy." msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:30587 +#: book.translate.xml:30641 msgid "User Lock Down" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:30589 +#: book.translate.xml:30643 msgid "" "This example considers a relatively small storage system with fewer than " "fifty users. Users will have login capabilities and are permitted to store " @@ -43658,7 +43812,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:30594 +#: book.translate.xml:30648 msgid "" "For this scenario, the <citerefentry><refentrytitle>mac_bsdextended</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> and " @@ -43668,19 +43822,19 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:30598 +#: book.translate.xml:30652 msgid "" "Begin by adding the following line to <filename>/boot/loader.conf</filename>:" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:30601 +#: book.translate.xml:30655 #, no-wrap msgid "mac_seeotheruids_load=\"YES\"" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:30603 +#: book.translate.xml:30657 msgid "" "The <citerefentry><refentrytitle>mac_bsdextended</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> security policy module " @@ -43688,13 +43842,13 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:30607 +#: book.translate.xml:30661 #, no-wrap msgid "ugidfw_enable=\"YES\"" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:30609 +#: book.translate.xml:30663 msgid "" "Default rules stored in <filename>/etc/rc.bsdextended</filename> will be " "loaded at system initialization. However, the default entries may need " @@ -43704,7 +43858,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:30617 +#: book.translate.xml:30671 msgid "" "Add the required users to this machine and reboot. For testing purposes, try " "logging in as a different user across two consoles. Run <command>ps aux</" @@ -43714,7 +43868,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:30623 +#: book.translate.xml:30677 msgid "" "Do not try to test with the <systemitem class=\"username\">root</systemitem> " "user unless the specific <command>sysctl</command>s have been modified to " @@ -43722,7 +43876,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:30628 +#: book.translate.xml:30682 msgid "" "When a new user is added, their " "<citerefentry><refentrytitle>mac_bsdextended</refentrytitle><manvolnum>4</" @@ -43734,17 +43888,17 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:30636 +#: book.translate.xml:30690 msgid "Nagios in a MAC Jail" msgstr "在 MAC Jail 中使用 Nagios" #. (itstool) path: sect1/indexterm -#: book.translate.xml:30638 +#: book.translate.xml:30692 msgid "<primary>Nagios in a MAC Jail</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:30642 +#: book.translate.xml:30696 msgid "" "This section demonstrates the steps that are needed to implement the " "<application>Nagios</application> network monitoring system in a " @@ -43755,7 +43909,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:30649 +#: book.translate.xml:30703 msgid "" "This example requires <option>multilabel</option> to be set on each file " "system. It also assumes that <package>net-mgmt/nagios-plugins</package>, " @@ -43765,19 +43919,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:30658 +#: book.translate.xml:30712 msgid "Create an Insecure User Class" msgstr "建立不安全的使用者類別" #. (itstool) path: sect2/para -#: book.translate.xml:30660 +#: book.translate.xml:30714 msgid "" "Begin the procedure by adding the following user class to <filename>/etc/" "login.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:30663 +#: book.translate.xml:30717 #, no-wrap msgid "" "insecure:\\\n" @@ -43806,41 +43960,41 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30687 +#: book.translate.xml:30741 msgid "Then, add the following line to the default user class section:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:30690 +#: book.translate.xml:30744 #, no-wrap msgid ":label=biba/high:" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30692 +#: book.translate.xml:30746 msgid "Save the edits and issue the following command to rebuild the database:" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:30699 +#: book.translate.xml:30753 msgid "Configure Users" msgstr "設定使用者" #. (itstool) path: sect2/para -#: book.translate.xml:30701 +#: book.translate.xml:30755 msgid "" "Set the <systemitem class=\"username\">root</systemitem> user to the default " "class using:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:30704 +#: book.translate.xml:30758 #, no-wrap msgid "<prompt>#</prompt> <userinput>pw usermod root -L default</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30706 +#: book.translate.xml:30760 msgid "" "All user accounts that are not <systemitem class=\"username\">root</" "systemitem> will now require a login class. The login class is required, " @@ -43849,7 +44003,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:30711 +#: book.translate.xml:30765 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>for x in `awk -F: '($3 >= 1001) && ($3 != 65534) { print $1 }' \\</userinput>\n" @@ -43857,7 +44011,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30714 +#: book.translate.xml:30768 msgid "" "Next, drop the <systemitem class=\"username\">nagios</systemitem> and " "<systemitem class=\"username\">www</systemitem> accounts into the insecure " @@ -43865,7 +44019,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:30717 +#: book.translate.xml:30771 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>pw usermod nagios -L insecure</userinput>\n" @@ -43873,19 +44027,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:30722 +#: book.translate.xml:30776 msgid "Create the Contexts File" msgstr "建立關聯檔 (Context File)" #. (itstool) path: sect2/para -#: book.translate.xml:30724 +#: book.translate.xml:30778 msgid "" "A contexts file should now be created as <filename>/etc/policy.contexts</" "filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:30727 +#: book.translate.xml:30781 #, no-wrap msgid "" "# This is the default BIBA policy for this system.\n" @@ -43916,7 +44070,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30753 +#: book.translate.xml:30807 msgid "" "This policy enforces security by setting restrictions on the flow of " "information. In this specific configuration, users, including <systemitem " @@ -43927,27 +44081,27 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30761 +#: book.translate.xml:30815 msgid "" "This file will be read after running <command>setfsmac</command> on every " "file system. This example sets the policy on the root file system:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:30765 +#: book.translate.xml:30819 #, no-wrap msgid "<prompt>#</prompt> <userinput>setfsmac -ef /etc/policy.contexts /</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30767 +#: book.translate.xml:30821 msgid "" "Next, add these edits to the main section of <filename>/etc/mac.conf</" "filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:30770 +#: book.translate.xml:30824 #, no-wrap msgid "" "default_labels file ?biba\n" @@ -43957,19 +44111,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:30777 +#: book.translate.xml:30831 msgid "Loader Configuration" msgstr "載入程式設定" #. (itstool) path: sect2/para -#: book.translate.xml:30779 +#: book.translate.xml:30833 msgid "" "To finish the configuration, add the following lines to <filename>/boot/" "loader.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:30782 +#: book.translate.xml:30836 #, no-wrap msgid "" "mac_biba_load=\"YES\"\n" @@ -43978,7 +44132,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30786 +#: book.translate.xml:30840 msgid "" "And the following line to the network card configuration stored in " "<filename>/etc/rc.conf</filename>. If the primary network configuration is " @@ -43987,23 +44141,23 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:30792 +#: book.translate.xml:30846 #, no-wrap msgid "maclabel biba/equal" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:30796 +#: book.translate.xml:30850 msgid "Testing the Configuration" msgstr "測試設定" #. (itstool) path: sect2/indexterm -#: book.translate.xml:30798 +#: book.translate.xml:30852 msgid "<primary>MAC Configuration Testing</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30802 +#: book.translate.xml:30856 msgid "" "First, ensure that the web server and <application>Nagios</application> will " "not be started on system initialization and reboot. Ensure that <systemitem " @@ -44015,14 +44169,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30812 +#: book.translate.xml:30866 msgid "" "If all seems well, <application>Nagios</application>, <application>Apache</" "application>, and <application>Sendmail</application> can now be started:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:30816 +#: book.translate.xml:30870 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /etc/mail && make stop && \\\n" @@ -44031,7 +44185,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:30820 +#: book.translate.xml:30874 msgid "" "Double check to ensure that everything is working properly. If not, check " "the log files for error messages. If needed, use " @@ -44042,7 +44196,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:30827 +#: book.translate.xml:30881 msgid "" "The <systemitem class=\"username\">root</systemitem> user can still change " "the security enforcement and edit its configuration files. The following " @@ -44051,13 +44205,13 @@ msgid "" msgstr "" #. (itstool) path: note/screen -#: book.translate.xml:30833 +#: book.translate.xml:30887 #, no-wrap msgid "<prompt>#</prompt> <userinput>setpmac biba/10 csh</userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:30835 +#: book.translate.xml:30889 msgid "" "To block this from happening, force the user into a range using " "<citerefentry><refentrytitle>login.conf</refentrytitle><manvolnum>5</" @@ -44069,59 +44223,59 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:30846 +#: book.translate.xml:30900 msgid "Troubleshooting the MAC Framework" msgstr "MAC 架構疑難排解" #. (itstool) path: sect1/indexterm -#: book.translate.xml:30848 +#: book.translate.xml:30902 msgid "<primary>MAC Troubleshooting</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:30852 +#: book.translate.xml:30906 msgid "" "This section discusses common configuration errors and how to resolve them." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:30857 +#: book.translate.xml:30911 msgid "" "The <option>multilabel</option> flag does not stay enabled on the root " "(<filename>/</filename>) partition:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30862 +#: book.translate.xml:30916 msgid "The following steps may resolve this transient error:" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:30867 +#: book.translate.xml:30921 msgid "" "Edit <filename>/etc/fstab</filename> and set the root partition to " "<option>ro</option> for read-only." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:30873 +#: book.translate.xml:30927 msgid "Reboot into single user mode." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:30877 +#: book.translate.xml:30931 msgid "" "Run <command>tunefs</command> <option>-l enable</option> on <filename>/</" "filename>." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:30882 +#: book.translate.xml:30936 msgid "Reboot the system." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:30886 +#: book.translate.xml:30940 msgid "" "Run <command>mount</command> <option>-urw</option> <filename>/</filename> " "and change the <option>ro</option> back to <option>rw</option> in <filename>/" @@ -44129,21 +44283,21 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:30894 +#: book.translate.xml:30948 msgid "" "Double-check the output from <command>mount</command> to ensure that " "<option>multilabel</option> has been properly set on the root file system." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:30904 +#: book.translate.xml:30958 msgid "" "After establishing a secure environment with <acronym>MAC</acronym>, " "<application>Xorg</application> no longer starts:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30908 +#: book.translate.xml:30962 msgid "" "This could be caused by the <acronym>MAC</acronym> <literal>partition</" "literal> policy or by a mislabeling in one of the <acronym>MAC</acronym> " @@ -44151,7 +44305,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:30915 +#: book.translate.xml:30969 msgid "" "Check the error message. If the user is in the <literal>insecure</literal> " "class, the <literal>partition</literal> policy may be the culprit. Try " @@ -44161,14 +44315,14 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:30925 +#: book.translate.xml:30979 msgid "" "Double-check that the label policies are set correctly for the user, " "<application>Xorg</application>, and the <filename>/dev</filename> entries." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:30932 +#: book.translate.xml:30986 msgid "" "If neither of these resolve the problem, send the error message and a " "description of the environment to the <link xlink:href=\"http://lists." @@ -44177,14 +44331,14 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:30941 +#: book.translate.xml:30995 msgid "" "The <errorname>_secure_path: unable to stat .login_conf</errorname> error " "appears:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30944 +#: book.translate.xml:30998 msgid "" "This error can appear when a user attempts to switch from the <systemitem " "class=\"username\">root</systemitem> user to another user in the system. " @@ -44202,21 +44356,21 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:30961 +#: book.translate.xml:31015 msgid "" "The system no longer recognizes <systemitem class=\"username\">root</" "systemitem>:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30963 +#: book.translate.xml:31017 msgid "" "When this occurs, <command>whoami</command> returns <literal>0</literal> and " "<command>su</command> returns <errorname>who are you?</errorname>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30967 +#: book.translate.xml:31021 msgid "" "This can happen if a labeling policy has been disabled by " "<citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></" @@ -44228,7 +44382,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:30976 +#: book.translate.xml:31030 msgid "" "This may also happen if a policy restricts access to <filename>master." "passwd</filename>. This is usually caused by an administrator altering the " @@ -44241,29 +44395,29 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:31006 +#: book.translate.xml:31060 msgid "Security Event Auditing" msgstr "安全事件稽查" #. (itstool) path: authorgroup/author -#: book.translate.xml:31017 +#: book.translate.xml:31071 msgid "" "<personname> <firstname>Robert</firstname> <surname>Watson</surname> </" "personname>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:31029 +#: book.translate.xml:31083 msgid "<primary>AUDIT</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:31030 +#: book.translate.xml:31084 msgid "<primary>Security Event Auditing</primary> <see>MAC</see>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31035 +#: book.translate.xml:31089 msgid "" "The FreeBSD operating system includes support for security event auditing. " "Event auditing supports reliable, fine-grained, and configurable logging of " @@ -44278,7 +44432,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31047 +#: book.translate.xml:31101 msgid "" "This chapter focuses on the installation and configuration of event " "auditing. It explains audit policies and provides an example audit " @@ -44286,30 +44440,30 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:31055 +#: book.translate.xml:31109 msgid "What event auditing is and how it works." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:31059 +#: book.translate.xml:31113 msgid "How to configure event auditing on FreeBSD for users and processes." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:31064 +#: book.translate.xml:31118 msgid "" "How to review the audit trail using the audit reduction and review tools." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:31078 +#: book.translate.xml:31132 msgid "" "Be familiar with the basics of kernel configuration/compilation (<xref " "linkend=\"kernelconfig\"/>)." msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:31089 +#: book.translate.xml:31143 msgid "" "The audit facility has some known limitations. Not all security-relevant " "system events are auditable and some login mechanisms, such as " @@ -44318,7 +44472,7 @@ msgid "" msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:31095 +#: book.translate.xml:31149 msgid "" "The security event auditing facility is able to generate very detailed logs " "of system activity. On a busy system, trail file data can be very large when " @@ -44331,12 +44485,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31110 +#: book.translate.xml:31164 msgid "The following terms are related to security event auditing:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:31115 +#: book.translate.xml:31169 msgid "" "<emphasis>event</emphasis>: an auditable event is any event that can be " "logged using the audit subsystem. Examples of security-relevant events " @@ -44348,7 +44502,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:31128 +#: book.translate.xml:31182 msgid "" "<emphasis>class</emphasis>: a named set of related events which are used in " "selection expressions. Commonly used classes of events include <quote>file " @@ -44357,7 +44511,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:31136 +#: book.translate.xml:31190 msgid "" "<emphasis>record</emphasis>: an audit log entry describing a security event. " "Records contain a record event type, information on the subject (user) " @@ -44366,7 +44520,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:31145 +#: book.translate.xml:31199 msgid "" "<emphasis>trail</emphasis>: a log file consisting of a series of audit " "records describing security events. Trails are in roughly chronological " @@ -44375,14 +44529,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:31153 +#: book.translate.xml:31207 msgid "" "<emphasis>selection expression</emphasis>: a string containing a list of " "prefixes and audit event class names used to match events." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:31159 +#: book.translate.xml:31213 msgid "" "<emphasis>preselection</emphasis>: the process by which the system " "identifies which events are of interest to the administrator. The " @@ -44392,7 +44546,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:31169 +#: book.translate.xml:31223 msgid "" "<emphasis>reduction</emphasis>: the process by which records from existing " "audit trails are selected for preservation, printing, or analysis. Likewise, " @@ -44404,12 +44558,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:31183 +#: book.translate.xml:31237 msgid "Audit Configuration" msgstr "稽查設定" #. (itstool) path: sect1/para -#: book.translate.xml:31185 +#: book.translate.xml:31239 msgid "" "User space support for event auditing is installed as part of the base " "FreeBSD operating system. Kernel support is available in the " @@ -44420,42 +44574,42 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:31192 +#: book.translate.xml:31246 #, no-wrap msgid "auditd_enable=\"YES\"" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31194 +#: book.translate.xml:31248 msgid "Then, start the audit daemon:" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:31196 +#: book.translate.xml:31250 #, no-wrap msgid "<prompt>#</prompt> <userinput>service auditd start</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31198 +#: book.translate.xml:31252 msgid "" "Users who prefer to compile a custom kernel must include the following line " "in their custom kernel configuration file:" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:31201 +#: book.translate.xml:31255 #, no-wrap msgid "options\tAUDIT" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:31204 +#: book.translate.xml:31258 msgid "Event Selection Expressions" msgstr "事件選擇表示法" #. (itstool) path: sect2/para -#: book.translate.xml:31206 +#: book.translate.xml:31260 msgid "" "Selection expressions are used in a number of places in the audit " "configuration to determine which events should be audited. Expressions " @@ -44465,104 +44619,104 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:31213 +#: book.translate.xml:31267 msgid "" "<xref linkend=\"event-selection\"/> summarizes the default audit event " "classes:" msgstr "" #. (itstool) path: table/title -#: book.translate.xml:31217 +#: book.translate.xml:31271 msgid "Default Audit Event Classes" msgstr "預設稽查事件類別" #. (itstool) path: row/entry -#: book.translate.xml:31222 +#: book.translate.xml:31276 msgid "Class Name" msgstr "類別名稱" #. (itstool) path: row/entry -#: book.translate.xml:31224 book.translate.xml:31388 +#: book.translate.xml:31278 book.translate.xml:31442 msgid "Action" msgstr "動作" #. (itstool) path: row/entry -#: book.translate.xml:31230 book.translate.xml:31231 +#: book.translate.xml:31284 book.translate.xml:31285 msgid "all" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31232 +#: book.translate.xml:31286 msgid "Match all event classes." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31236 +#: book.translate.xml:31290 msgid "aa" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31237 +#: book.translate.xml:31291 msgid "authentication and authorization" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31242 +#: book.translate.xml:31296 msgid "ad" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31243 +#: book.translate.xml:31297 msgid "administrative" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31244 +#: book.translate.xml:31298 msgid "Administrative actions performed on the system as a whole." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31249 +#: book.translate.xml:31303 msgid "ap" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31250 +#: book.translate.xml:31304 msgid "application" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31251 +#: book.translate.xml:31305 msgid "Application defined action." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31255 +#: book.translate.xml:31309 msgid "cl" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31256 +#: book.translate.xml:31310 msgid "file close" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31257 +#: book.translate.xml:31311 msgid "Audit calls to the <function>close</function> system call." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31262 +#: book.translate.xml:31316 msgid "ex" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31263 +#: book.translate.xml:31317 msgid "exec" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31264 +#: book.translate.xml:31318 msgid "" "Audit program execution. Auditing of command line arguments and " "environmental variables is controlled via " @@ -44572,17 +44726,17 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31273 +#: book.translate.xml:31327 msgid "fa" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31274 +#: book.translate.xml:31328 msgid "file attribute access" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31275 +#: book.translate.xml:31329 msgid "" "Audit the access of object attributes such as " "<citerefentry><refentrytitle>stat</refentrytitle><manvolnum>1</manvolnum></" @@ -44591,47 +44745,47 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31280 +#: book.translate.xml:31334 msgid "fc" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31281 +#: book.translate.xml:31335 msgid "file create" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31282 +#: book.translate.xml:31336 msgid "Audit events where a file is created as a result." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31287 +#: book.translate.xml:31341 msgid "fd" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31288 +#: book.translate.xml:31342 msgid "file delete" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31289 +#: book.translate.xml:31343 msgid "Audit events where file deletion occurs." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31293 +#: book.translate.xml:31347 msgid "fm" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31294 +#: book.translate.xml:31348 msgid "file attribute modify" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31295 +#: book.translate.xml:31349 msgid "" "Audit events where file attribute modification occurs, such as by " "<citerefentry><refentrytitle>chown</refentrytitle><manvolnum>8</manvolnum></" @@ -44642,79 +44796,79 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31301 +#: book.translate.xml:31355 msgid "fr" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31302 +#: book.translate.xml:31356 msgid "file read" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31303 +#: book.translate.xml:31357 msgid "Audit events in which data is read or files are opened for reading." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31308 +#: book.translate.xml:31362 msgid "fw" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31309 +#: book.translate.xml:31363 msgid "file write" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31310 +#: book.translate.xml:31364 msgid "Audit events in which data is written or files are written or modified." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31315 +#: book.translate.xml:31369 msgid "io" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31316 +#: book.translate.xml:31370 msgid "ioctl" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31317 +#: book.translate.xml:31371 msgid "Audit use of the <function>ioctl</function> system call." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31322 +#: book.translate.xml:31376 msgid "ip" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31323 +#: book.translate.xml:31377 msgid "ipc" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31324 +#: book.translate.xml:31378 msgid "" "Audit various forms of Inter-Process Communication, including POSIX pipes " "and System V <acronym>IPC</acronym> operations." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31330 +#: book.translate.xml:31384 msgid "lo" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31331 +#: book.translate.xml:31385 msgid "login_logout" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31332 +#: book.translate.xml:31386 msgid "" "Audit <citerefentry><refentrytitle>login</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>logout</" @@ -44722,47 +44876,47 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31337 +#: book.translate.xml:31391 msgid "na" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31338 +#: book.translate.xml:31392 msgid "non attributable" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31339 +#: book.translate.xml:31393 msgid "Audit non-attributable events." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31343 +#: book.translate.xml:31397 msgid "no" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31344 +#: book.translate.xml:31398 msgid "invalid class" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31345 +#: book.translate.xml:31399 msgid "Match no audit events." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31349 +#: book.translate.xml:31403 msgid "nt" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31350 +#: book.translate.xml:31404 msgid "network" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31351 +#: book.translate.xml:31405 msgid "" "Audit events related to network actions such as " "<citerefentry><refentrytitle>connect</refentrytitle><manvolnum>2</" @@ -44771,32 +44925,32 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31356 +#: book.translate.xml:31410 msgid "ot" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31357 +#: book.translate.xml:31411 msgid "other" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31358 +#: book.translate.xml:31412 msgid "Audit miscellaneous events." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31362 +#: book.translate.xml:31416 msgid "pc" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31363 +#: book.translate.xml:31417 msgid "process" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31364 +#: book.translate.xml:31418 msgid "" "Audit process operations such as <citerefentry><refentrytitle>exec</" "refentrytitle><manvolnum>3</manvolnum></citerefentry> and " @@ -44805,7 +44959,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:31371 +#: book.translate.xml:31425 msgid "" "These audit event classes may be customized by modifying the " "<filename>audit_class</filename> and <filename>audit_event</filename> " @@ -44813,7 +44967,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:31375 +#: book.translate.xml:31429 msgid "" "Each audit event class may be combined with a prefix indicating whether " "successful/failed operations are matched, and whether the entry is adding or " @@ -44822,91 +44976,91 @@ msgid "" msgstr "" #. (itstool) path: table/title -#: book.translate.xml:31382 +#: book.translate.xml:31436 msgid "Prefixes for Audit Event Classes" msgstr "稽查事件類別字首" #. (itstool) path: row/entry -#: book.translate.xml:31387 +#: book.translate.xml:31441 msgid "Prefix" msgstr "字首" #. (itstool) path: row/entry -#: book.translate.xml:31395 +#: book.translate.xml:31449 msgid "Audit successful events in this class." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31400 +#: book.translate.xml:31454 msgid "Audit failed events in this class." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31404 +#: book.translate.xml:31458 msgid "^" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31405 +#: book.translate.xml:31459 msgid "Audit neither successful nor failed events in this class." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31410 +#: book.translate.xml:31464 msgid "^+" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31411 +#: book.translate.xml:31465 msgid "Do not audit successful events in this class." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31416 +#: book.translate.xml:31470 msgid "^-" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:31417 +#: book.translate.xml:31471 msgid "Do not audit failed events in this class." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:31423 +#: book.translate.xml:31477 msgid "" "If no prefix is present, both successful and failed instances of the event " "will be audited." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:31426 +#: book.translate.xml:31480 msgid "" "The following example selection string selects both successful and failed " "login/logout events, but only successful execution events:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:31430 +#: book.translate.xml:31484 #, no-wrap msgid "lo,+ex" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:31436 +#: book.translate.xml:31490 msgid "" "The following configuration files for security event auditing are found in " "<filename>/etc/security</filename>:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:31442 +#: book.translate.xml:31496 msgid "" "<filename>audit_class</filename>: contains the definitions of the audit " "classes." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:31447 +#: book.translate.xml:31501 msgid "" "<filename>audit_control</filename>: controls aspects of the audit subsystem, " "such as default audit classes, minimum disk space to leave on the audit log " @@ -44914,21 +45068,21 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:31454 +#: book.translate.xml:31508 msgid "" "<filename>audit_event</filename>: textual names and descriptions of system " "audit events and a list of which classes each event is in." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:31460 +#: book.translate.xml:31514 msgid "" "<filename>audit_user</filename>: user-specific audit requirements to be " "combined with the global defaults at login." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:31466 +#: book.translate.xml:31520 msgid "" "<filename>audit_warn</filename>: a customizable shell script used by " "<citerefentry><refentrytitle>auditd</refentrytitle><manvolnum>8</manvolnum></" @@ -44938,14 +45092,14 @@ msgid "" msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:31475 +#: book.translate.xml:31529 msgid "" "Audit configuration files should be edited and maintained carefully, as " "errors in configuration may result in improper logging of events." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:31480 +#: book.translate.xml:31534 msgid "" "In most cases, administrators will only need to modify " "<filename>audit_control</filename> and <filename>audit_user</filename>. The " @@ -44954,19 +45108,19 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:31487 +#: book.translate.xml:31541 msgid "The <filename>audit_control</filename> File" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:31489 +#: book.translate.xml:31543 msgid "" "A number of defaults for the audit subsystem are specified in " "<filename>audit_control</filename>:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:31492 +#: book.translate.xml:31546 #, no-wrap msgid "" "dir:/var/audit\n" @@ -44980,7 +45134,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:31501 +#: book.translate.xml:31555 msgid "" "The <option>dir</option> entry is used to set one or more directories where " "audit logs will be stored. If more than one directory entry appears, they " @@ -44991,7 +45145,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:31509 +#: book.translate.xml:31563 msgid "" "If the <option>dist</option> field is set to <literal>on</literal> or " "<literal>yes</literal>, hard links will be created to all trail files in " @@ -44999,7 +45153,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:31514 +#: book.translate.xml:31568 msgid "" "The <option>flags</option> field sets the system-wide default preselection " "mask for attributable events. In the example above, successful and failed " @@ -45008,14 +45162,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:31520 +#: book.translate.xml:31574 msgid "" "The <option>minfree</option> entry defines the minimum percentage of free " "space for the file system where the audit trail is stored." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:31524 +#: book.translate.xml:31578 msgid "" "The <option>naflags</option> entry specifies audit classes to be audited for " "non-attributed events, such as the login/logout process and authentication " @@ -45023,7 +45177,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:31529 +#: book.translate.xml:31583 msgid "" "The <option>policy</option> entry specifies a comma-separated list of policy " "flags controlling various aspects of audit behavior. The <literal>cnt</" @@ -45035,7 +45189,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:31538 +#: book.translate.xml:31592 msgid "" "The <option>filesz</option> entry specifies the maximum size for an audit " "trail before automatically terminating and rotating the trail file. A value " @@ -45045,19 +45199,19 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:31545 +#: book.translate.xml:31599 msgid "" "The <option>expire-after</option> field specifies when audit log files will " "expire and be removed." msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:31550 +#: book.translate.xml:31604 msgid "The <filename>audit_user</filename> File" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:31552 +#: book.translate.xml:31606 msgid "" "The administrator can specify further audit requirements for specific users " "in <filename>audit_user</filename>. Each line configures auditing for a user " @@ -45068,7 +45222,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:31560 +#: book.translate.xml:31614 msgid "" "The following example entries audit login/logout events and successful " "command execution for <systemitem class=\"username\">root</systemitem> and " @@ -45081,7 +45235,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:31567 +#: book.translate.xml:31621 #, no-wrap msgid "" "root:lo,+ex:no\n" @@ -45089,12 +45243,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:31574 +#: book.translate.xml:31628 msgid "Working with Audit Trails" msgstr "查看稽查線索" #. (itstool) path: sect1/para -#: book.translate.xml:31576 +#: book.translate.xml:31630 msgid "" "Since audit trails are stored in the <acronym>BSM</acronym> binary format, " "several built-in tools are available to modify or convert these trails to " @@ -45106,25 +45260,25 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31586 +#: book.translate.xml:31640 msgid "" "For example, to dump the entire contents of a specified audit log in plain " "text:" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:31589 +#: book.translate.xml:31643 #, no-wrap msgid "<prompt>#</prompt> <userinput>praudit /var/audit/<replaceable>AUDITFILE</replaceable></userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31591 +#: book.translate.xml:31645 msgid "Where <replaceable>AUDITFILE</replaceable> is the audit log to dump." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31594 +#: book.translate.xml:31648 msgid "" "Audit trails consist of a series of audit records made up of tokens, which " "<command>praudit</command> prints sequentially, one per line. Each token is " @@ -45134,7 +45288,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:31602 +#: book.translate.xml:31656 #, no-wrap msgid "" "header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec\n" @@ -45147,7 +45301,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31610 +#: book.translate.xml:31664 msgid "" "This audit represents a successful <literal>execve</literal> call, in which " "the command <literal>finger doug</literal> has been run. The <literal>exec " @@ -45166,14 +45320,14 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31629 +#: book.translate.xml:31683 msgid "" "<acronym>XML</acronym> output format is also supported and can be selected " "by including <option>-x</option>." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31632 +#: book.translate.xml:31686 msgid "" "Since audit logs may be very large, a subset of records can be selected " "using <command>auditreduce</command>. This example selects all audit records " @@ -45182,13 +45336,13 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:31638 +#: book.translate.xml:31692 #, no-wrap msgid "<prompt>#</prompt> <userinput>auditreduce -u <replaceable>trhodes</replaceable> /var/audit/<replaceable>AUDITFILE</replaceable> | praudit</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31640 +#: book.translate.xml:31694 msgid "" "Members of the <systemitem class=\"groupname\">audit</systemitem> group have " "permission to read audit trails in <filename>/var/audit</filename>. By " @@ -45202,12 +45356,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:31650 +#: book.translate.xml:31704 msgid "Live Monitoring Using Audit Pipes" msgstr "使用 Audit Pipes 即時監視" #. (itstool) path: sect2/para -#: book.translate.xml:31652 +#: book.translate.xml:31706 msgid "" "Audit pipes are cloning pseudo-devices which allow applications to tap the " "live audit record stream. This is primarily of interest to authors of " @@ -45219,13 +45373,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:31661 +#: book.translate.xml:31715 #, no-wrap msgid "<prompt>#</prompt> <userinput>praudit /dev/auditpipe</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:31663 +#: book.translate.xml:31717 msgid "" "By default, audit pipe device nodes are accessible only to the <systemitem " "class=\"username\">root</systemitem> user. To make them accessible to the " @@ -45234,13 +45388,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:31669 +#: book.translate.xml:31723 #, no-wrap msgid "add path 'auditpipe*' mode 0440 group audit" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:31671 +#: book.translate.xml:31725 msgid "" "See <citerefentry><refentrytitle>devfs.rules</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> for more information on configuring the devfs file " @@ -45248,7 +45402,7 @@ msgid "" msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:31675 +#: book.translate.xml:31729 msgid "" "It is easy to produce audit event feedback cycles, in which the viewing of " "each audit event results in the generation of more audit events. For " @@ -45261,12 +45415,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:31690 +#: book.translate.xml:31744 msgid "Rotating and Compressing Audit Trail Files" msgstr "循環與壓縮 Audit Trail 檔" #. (itstool) path: sect2/para -#: book.translate.xml:31692 +#: book.translate.xml:31746 msgid "" "Audit trails are written to by the kernel and managed by the audit daemon, " "<citerefentry><refentrytitle>auditd</refentrytitle><manvolnum>8</manvolnum></" @@ -45281,13 +45435,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:31704 +#: book.translate.xml:31758 #, no-wrap msgid "<prompt>#</prompt> <userinput>audit -n</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:31706 +#: book.translate.xml:31760 msgid "" "If <citerefentry><refentrytitle>auditd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> is not currently running, this command will fail " @@ -45295,26 +45449,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:31709 +#: book.translate.xml:31763 msgid "" "Adding the following line to <filename>/etc/crontab</filename> will schedule " "this rotation every twelve hours:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:31713 +#: book.translate.xml:31767 #, no-wrap msgid "0 */12 * * * root /usr/sbin/audit -n" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:31715 +#: book.translate.xml:31769 msgid "" "The change will take effect once <filename>/etc/crontab</filename> is saved." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:31718 +#: book.translate.xml:31772 msgid "" "Automatic rotation of the audit trail file based on file size is possible " "using <option>filesz</option> in <filename>audit_control</filename> as " @@ -45322,7 +45476,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:31722 +#: book.translate.xml:31776 msgid "" "As audit trail files can become very large, it is often desirable to " "compress or otherwise archive trails once they have been closed by the audit " @@ -45334,7 +45488,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:31732 +#: book.translate.xml:31786 #, no-wrap msgid "" "#\n" @@ -45346,7 +45500,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:31739 +#: book.translate.xml:31793 msgid "" "Other archiving activities might include copying trail files to a " "centralized server, deleting old trail files, or reducing the audit trail to " @@ -45356,12 +45510,12 @@ msgid "" msgstr "" #. (itstool) path: chapter/title -#: book.translate.xml:31758 +#: book.translate.xml:31812 msgid "Storage" msgstr "儲存設備" #. (itstool) path: sect1/para -#: book.translate.xml:31763 +#: book.translate.xml:31817 msgid "" "This chapter covers the use of disks and storage media in FreeBSD. This " "includes <acronym>SCSI</acronym> and <acronym>IDE</acronym> disks, " @@ -45373,22 +45527,22 @@ msgstr "" "acronym> 媒體、記憶體磁碟及 <acronym>USB</acronym> 儲存裝置。" #. (itstool) path: listitem/para -#: book.translate.xml:31773 +#: book.translate.xml:31827 msgid "How to add additional hard disks to a FreeBSD system." msgstr "如何在 FreeBSD 系統加入額外的硬碟。" #. (itstool) path: listitem/para -#: book.translate.xml:31778 +#: book.translate.xml:31832 msgid "How to grow the size of a disk's partition on FreeBSD." msgstr "如何在 FreeBSD 擴增磁碟分割區的大小。" #. (itstool) path: listitem/para -#: book.translate.xml:31783 +#: book.translate.xml:31837 msgid "How to configure FreeBSD to use <acronym>USB</acronym> storage devices." msgstr "如何設定 FreeBSD 使用 <acronym>USB</acronym> 儲存裝置。" #. (itstool) path: listitem/para -#: book.translate.xml:31788 +#: book.translate.xml:31842 msgid "" "How to use <acronym>CD</acronym> and <acronym>DVD</acronym> media on a " "FreeBSD system." @@ -45397,37 +45551,37 @@ msgstr "" "體。" #. (itstool) path: listitem/para -#: book.translate.xml:31793 +#: book.translate.xml:31847 msgid "How to use the backup programs available under FreeBSD." msgstr "如何使用在 FreeBSD 下可用的備份程式。" #. (itstool) path: listitem/para -#: book.translate.xml:31798 +#: book.translate.xml:31852 msgid "How to set up memory disks." msgstr "如何設定記憶體磁碟。" #. (itstool) path: listitem/para -#: book.translate.xml:31802 +#: book.translate.xml:31856 msgid "What file system snapshots are and how to use them efficiently." msgstr "什麼是檔案系統快照 (Snapshot) 以及如何有效使用。" #. (itstool) path: listitem/para -#: book.translate.xml:31807 +#: book.translate.xml:31861 msgid "How to use quotas to limit disk space usage." msgstr "如何使用配額 (Quota) 來限制磁碟空間使用量。" #. (itstool) path: listitem/para -#: book.translate.xml:31811 +#: book.translate.xml:31865 msgid "How to encrypt disks and swap to secure them against attackers." msgstr "如何加密磁碟及交換空間來防範攻擊者。" #. (itstool) path: listitem/para -#: book.translate.xml:31816 +#: book.translate.xml:31870 msgid "How to configure a highly available storage network." msgstr "如何設定高可用性 (Highly available) 的儲存網路。" #. (itstool) path: listitem/para -#: book.translate.xml:31825 +#: book.translate.xml:31879 msgid "" "Know how to <link linkend=\"kernelconfig\">configure and install a new " "FreeBSD kernel</link>." @@ -45435,24 +45589,24 @@ msgstr "" "了解如何 <link linkend=\"kernelconfig\">設定並安裝新的 FreeBSD 核心</link>。" #. (itstool) path: info/title -#: book.translate.xml:31833 +#: book.translate.xml:31887 msgid "Adding Disks" msgstr "加入磁碟" #. (itstool) path: authorgroup/author -#: book.translate.xml:31836 +#: book.translate.xml:31890 msgid "" "<personname> <firstname>David</firstname> <surname>O'Brien</surname> </" "personname> <contrib>Originally contributed by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:31846 +#: book.translate.xml:31900 msgid "<primary>disks</primary> <secondary>adding</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31851 +#: book.translate.xml:31905 msgid "" "This section describes how to add a new <acronym>SATA</acronym> disk to a " "machine that currently only has a single drive. First, turn off the computer " @@ -45465,7 +45619,7 @@ msgstr "" "重新啟動系統並登入 <systemitem class=\"username\">root</systemitem>。" #. (itstool) path: sect1/para -#: book.translate.xml:31859 +#: book.translate.xml:31913 msgid "" "Inspect <filename>/var/run/dmesg.boot</filename> to ensure the new disk was " "found. In this example, the newly added <acronym>SATA</acronym> drive will " @@ -45476,12 +45630,12 @@ msgstr "" "碟。" #. (itstool) path: sect1/indexterm -#: book.translate.xml:31865 book.translate.xml:31961 +#: book.translate.xml:31919 book.translate.xml:32015 msgid "<primary><command>gpart</command></primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31869 +#: book.translate.xml:31923 msgid "" "For this example, a single large partition will be created on the new disk. " "The <link xlink:href=\"http://en.wikipedia.org/wiki/GUID_Partition_Table\"> " @@ -45493,7 +45647,7 @@ msgstr "" "分割表格式而非較舊與通用性較差的 <acronym>MBR</acronym> 結構。" #. (itstool) path: note/para -#: book.translate.xml:31876 +#: book.translate.xml:31930 msgid "" "If the disk to be added is not blank, old partition information can be " "removed with <command>gpart delete</command>. See " @@ -45505,7 +45659,7 @@ msgstr "" "refentrytitle><manvolnum>8</manvolnum></citerefentry> 取得詳細資訊。" #. (itstool) path: sect1/para -#: book.translate.xml:31882 +#: book.translate.xml:31936 msgid "" "The partition scheme is created, and then a single partition is added. To " "improve performance on newer disks with larger hardware block sizes, the " @@ -45515,7 +45669,7 @@ msgstr "" "塊大小 (Block size),此分割區會對齊 1 MB 的邊界:" #. (itstool) path: sect1/screen -#: book.translate.xml:31887 +#: book.translate.xml:31941 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>gpart create -s GPT ada1</userinput>\n" @@ -45523,7 +45677,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31890 +#: book.translate.xml:31944 msgid "" "Depending on use, several smaller partitions may be desired. See " "<citerefentry><refentrytitle>gpart</refentrytitle><manvolnum>8</manvolnum></" @@ -45534,14 +45688,14 @@ msgstr "" "citerefentry> 來取得建立較小分割區的選項。" #. (itstool) path: sect1/para -#: book.translate.xml:31894 +#: book.translate.xml:31948 msgid "" "The disk partition information can be viewed with <command>gpart show</" "command>:" msgstr "磁碟分割區資訊可以使用 <command>gpart show</command> 檢視:" #. (itstool) path: sect1/screen -#: book.translate.xml:31897 +#: book.translate.xml:31951 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>gpart show ada1</userinput>\n" @@ -45552,18 +45706,18 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31903 +#: book.translate.xml:31957 msgid "A file system is created in the new partition on the new disk:" msgstr "在新磁碟的新分割區上建立檔案系統:" #. (itstool) path: sect1/screen -#: book.translate.xml:31905 +#: book.translate.xml:31959 #, no-wrap msgid "<prompt>#</prompt> <userinput>newfs -U /dev/ada1p1</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31907 +#: book.translate.xml:31961 msgid "" "An empty directory is created as a <emphasis>mountpoint</emphasis>, a " "location for mounting the new disk in the original disk's file system:" @@ -45572,13 +45726,13 @@ msgstr "" "磁碟的檔案系統上可用來掛載新磁碟的位置:" #. (itstool) path: sect1/screen -#: book.translate.xml:31911 +#: book.translate.xml:31965 #, no-wrap msgid "<prompt>#</prompt> <userinput>mkdir /newdisk</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31913 +#: book.translate.xml:31967 msgid "" "Finally, an entry is added to <filename>/etc/fstab</filename> so the new " "disk will be mounted automatically at startup:" @@ -45587,41 +45741,41 @@ msgstr "" "的磁碟:" #. (itstool) path: sect1/programlisting -#: book.translate.xml:31917 +#: book.translate.xml:31971 #, no-wrap msgid "/dev/ada1p1\t/newdisk\tufs\trw\t2\t2" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31919 +#: book.translate.xml:31973 msgid "The new disk can be mounted manually, without restarting the system:" msgstr "新的磁碟也可手動掛載,無須重新啟動系統:" #. (itstool) path: sect1/screen -#: book.translate.xml:31922 +#: book.translate.xml:31976 #, no-wrap msgid "<prompt>#</prompt> <userinput>mount /newdisk</userinput>" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:31927 +#: book.translate.xml:31981 msgid "Resizing and Growing Disks" msgstr "重設大小與擴增磁碟" #. (itstool) path: authorgroup/author -#: book.translate.xml:31930 +#: book.translate.xml:31984 msgid "" "<personname> <firstname>Allan</firstname> <surname>Jude</surname> </" "personname> <contrib>Originally contributed by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:31940 +#: book.translate.xml:31994 msgid "<primary>disks</primary> <secondary>resizing</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31945 +#: book.translate.xml:31999 msgid "" "A disk's capacity can increase without any changes to the data already " "present. This happens commonly with virtual machines, when the virtual disk " @@ -45636,7 +45790,7 @@ msgstr "" "emphasis> 磁碟內容來使用增加的容量。" #. (itstool) path: sect1/para -#: book.translate.xml:31954 +#: book.translate.xml:32008 msgid "" "Determine the device name of the disk to be resized by inspecting <filename>/" "var/run/dmesg.boot</filename>. In this example, there is only one " @@ -45648,12 +45802,12 @@ msgstr "" "以 <filename>ada0</filename> 表示。" #. (itstool) path: sect1/para -#: book.translate.xml:31965 +#: book.translate.xml:32019 msgid "List the partitions on the disk to see the current configuration:" msgstr "列出在磁碟上的分割區來查看目前的設定:" #. (itstool) path: sect1/screen -#: book.translate.xml:31968 +#: book.translate.xml:32022 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>gpart show <replaceable>ada0</replaceable></userinput>\n" @@ -45665,7 +45819,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:31976 +#: book.translate.xml:32030 msgid "" "If the disk was formatted with the <link xlink:href=\"http://en.wikipedia." "org/wiki/GUID_Partition_Table\"> <acronym>GPT</acronym></link> partitioning " @@ -45679,7 +45833,7 @@ msgstr "" "分割區已不存在於磁碟結尾。 使用 <command>gpart</command> 來修正備份分割區:" #. (itstool) path: note/screen -#: book.translate.xml:31984 +#: book.translate.xml:32038 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>gpart recover <replaceable>ada0</replaceable></userinput>\n" @@ -45687,7 +45841,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31988 +#: book.translate.xml:32042 msgid "" "Now the additional space on the disk is available for use by a new " "partition, or an existing partition can be expanded:" @@ -45696,7 +45850,7 @@ msgstr "" "區:" #. (itstool) path: sect1/screen -#: book.translate.xml:31992 +#: book.translate.xml:32046 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>gpart show <replaceable>ada0</replaceable></userinput>\n" @@ -45708,7 +45862,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:31999 +#: book.translate.xml:32053 msgid "" "Partitions can only be resized into contiguous free space. Here, the last " "partition on the disk is the swap partition, but the second partition is the " @@ -45718,10 +45872,10 @@ msgid "" msgstr "" "分割區只能重設大小到連續的未使用空間。在這個例子磁碟上最後的分割區為交換 " "(Swap) 分割區,而第二個分割區才是需要重設大小的分割區。交換分割區中只會有暫存" -"的資料,所以可以安全的解除掛載、刪除,然後在重設其他分割區大小之後再重建。" +"的資料,所以可以安全的卸載、刪除,然後在重設其他分割區大小之後再重建。" #. (itstool) path: sect1/screen -#: book.translate.xml:32006 +#: book.translate.xml:32060 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>swapoff <replaceable>/dev/ada0p3</replaceable></userinput>\n" @@ -45735,7 +45889,7 @@ msgid "" msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:32016 +#: book.translate.xml:32070 msgid "" "There is risk of data loss when modifying the partition table of a mounted " "file system. It is best to perform the following steps on an unmounted file " @@ -45749,13 +45903,13 @@ msgstr "" "在掛載的檔案系統上修改分割區表:" #. (itstool) path: warning/screen -#: book.translate.xml:32024 +#: book.translate.xml:32078 #, no-wrap msgid "<prompt>#</prompt> <userinput>sysctl kern.geom.debugflags=16</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:32027 +#: book.translate.xml:32081 msgid "" "Resize the partition, leaving room to recreate a swap partition of the " "desired size. This only modifies the size of the partition. The file system " @@ -45765,7 +45919,7 @@ msgstr "" "分割區中的檔案系統會在另一個步驟擴增。" #. (itstool) path: sect1/screen -#: book.translate.xml:32032 +#: book.translate.xml:32086 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>gpart resize -i <replaceable>2</replaceable> -a 4k -s <replaceable>47G</replaceable> <replaceable>ada0</replaceable></userinput>\n" @@ -45778,12 +45932,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:32040 +#: book.translate.xml:32094 msgid "Recreate the swap partition:" msgstr "重新建立交換分割區:" #. (itstool) path: sect1/screen -#: book.translate.xml:32042 +#: book.translate.xml:32096 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>gpart add -t freebsd-swap -a 4k <replaceable>ada0</replaceable></userinput>\n" @@ -45797,24 +45951,24 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:32051 +#: book.translate.xml:32105 msgid "" "Grow the <acronym>UFS</acronym> file system to use the new capacity of the " "resized partition:" msgstr "擴增 <acronym>UFS</acronym> 檔案系統來使用重設分割區大小之後的新容量:" #. (itstool) path: note/para -#: book.translate.xml:32055 +#: book.translate.xml:32109 msgid "" "Growing a live <acronym>UFS</acronym> file system is only possible in " "FreeBSD 10.0-RELEASE and later. For earlier versions, the file system must " "not be mounted." msgstr "" "只能在 FreeBSD 10.0-RELEASE 或之後的版本擴增運作中的 <acronym>UFS</acronym> " -"檔案系統,較先前的版本必須將檔案系統解除掛載。" +"檔案系統,較先前的版本必須將檔案系統卸載。" #. (itstool) path: sect1/screen -#: book.translate.xml:32060 +#: book.translate.xml:32114 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>growfs <replaceable>/dev/ada0p2</replaceable></userinput>\n" @@ -45827,24 +45981,24 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:32068 +#: book.translate.xml:32122 msgid "" "Both the partition and the file system on it have now been resized to use " "the newly-available disk space." msgstr "現在分割區與檔案系統已透過重設大小來使用新增加的磁碟空間。" #. (itstool) path: info/title -#: book.translate.xml:32074 +#: book.translate.xml:32128 msgid "<acronym>USB</acronym> Storage Devices" msgstr "<acronym>USB</acronym> 儲存裝置" #. (itstool) path: sect1/indexterm -#: book.translate.xml:32087 +#: book.translate.xml:32141 msgid "<primary>USB</primary> <secondary>disks</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:32092 +#: book.translate.xml:32146 msgid "" "Many external storage solutions, such as hard drives, <acronym>USB</acronym> " "thumbdrives, and <acronym>CD</acronym> and <acronym>DVD</acronym> burners, " @@ -45857,7 +46011,7 @@ msgstr "" "<acronym>USB</acronym> 1.x, 2.0 及 3.0 裝置的支援。" #. (itstool) path: note/para -#: book.translate.xml:32099 +#: book.translate.xml:32153 msgid "" "<acronym>USB</acronym> 3.0 support is not compatible with some hardware, " "including Haswell (Lynx point) chipsets. If FreeBSD boots with a " @@ -45869,7 +46023,7 @@ msgstr "" "在系統 <acronym>BIOS</acronym> 關閉 xHCI/USB3。" #. (itstool) path: sect1/para -#: book.translate.xml:32106 +#: book.translate.xml:32160 msgid "" "Support for <acronym>USB</acronym> storage devices is built into the " "<filename>GENERIC</filename> kernel. For a custom kernel, be sure that the " @@ -45879,7 +46033,7 @@ msgstr "" "filename> 核心,若為自訂的核心,請確定在核心設定檔中有下列幾行設定:" #. (itstool) path: sect1/programlisting -#: book.translate.xml:32111 +#: book.translate.xml:32165 #, no-wrap msgid "" "device scbus\t# SCSI bus (required for ATA/SCSI)\n" @@ -45895,7 +46049,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:32122 +#: book.translate.xml:32176 msgid "" "FreeBSD uses the <citerefentry><refentrytitle>umass</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> driver which uses the " @@ -45914,7 +46068,7 @@ msgstr "" "emphasis>在自訂核心設定檔中引用 <option>device atapicam</option>。" #. (itstool) path: sect1/para -#: book.translate.xml:32132 +#: book.translate.xml:32186 msgid "" "The rest of this section demonstrates how to verify that a <acronym>USB</" "acronym> storage device is recognized by FreeBSD and how to configure the " @@ -45924,12 +46078,12 @@ msgstr "" "以及如何設定該裝置。" #. (itstool) path: sect2/title -#: book.translate.xml:32137 +#: book.translate.xml:32191 msgid "Device Configuration" msgstr "裝置設定" #. (itstool) path: sect2/para -#: book.translate.xml:32139 +#: book.translate.xml:32193 msgid "" "To test the <acronym>USB</acronym> configuration, plug in the <acronym>USB</" "acronym> device. Use <command>dmesg</command> to confirm that the drive " @@ -45940,7 +46094,7 @@ msgstr "" "如下:" #. (itstool) path: sect2/screen -#: book.translate.xml:32145 +#: book.translate.xml:32199 #, no-wrap msgid "" "umass0: <STECH Simple Drive, class 0/0, rev 2.00/1.04, addr 3> on usbus0\n" @@ -45955,7 +46109,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32155 +#: book.translate.xml:32209 msgid "" "The brand, device node (<filename>da0</filename>), speed, and size will " "differ according to the device." @@ -45963,7 +46117,7 @@ msgstr "" "不同的裝置會有不同的廠牌、裝置節點 (<filename>da0</filename>)、速度與大小。" #. (itstool) path: sect2/para -#: book.translate.xml:32158 +#: book.translate.xml:32212 msgid "" "Since the <acronym>USB</acronym> device is seen as a <acronym>SCSI</acronym> " "one, <command>camcontrol</command> can be used to list the <acronym>USB</" @@ -45974,7 +46128,7 @@ msgstr "" "存裝置:" #. (itstool) path: sect2/screen -#: book.translate.xml:32163 +#: book.translate.xml:32217 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>camcontrol devlist</userinput>\n" @@ -45982,7 +46136,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32166 +#: book.translate.xml:32220 msgid "" "Alternately, <command>usbconfig</command> can be used to list the device. " "Refer to <citerefentry vendor=\"current\"><refentrytitle>usbconfig</" @@ -45994,7 +46148,7 @@ msgstr "" "manvolnum></citerefentry> 來取得更多有關此指令的資訊。" #. (itstool) path: sect2/screen -#: book.translate.xml:32170 +#: book.translate.xml:32224 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>usbconfig</userinput>\n" @@ -46002,7 +46156,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32173 +#: book.translate.xml:32227 msgid "" "If the device has not been formatted, refer to <xref linkend=\"disks-adding" "\"/> for instructions on how to format and create partitions on the " @@ -46016,7 +46170,7 @@ msgstr "" "\"mount-unmount\"/> 中的說明掛載磁碟。" #. (itstool) path: warning/para -#: book.translate.xml:32180 +#: book.translate.xml:32234 msgid "" "Allowing untrusted users to mount arbitrary media, by enabling <varname>vfs." "usermount</varname> as described below, should not be considered safe from a " @@ -46028,7 +46182,7 @@ msgstr "" "裝置。" #. (itstool) path: sect2/para -#: book.translate.xml:32187 +#: book.translate.xml:32241 msgid "" "To make the device mountable as a normal user, one solution is to make all " "users of the device a member of the <systemitem class=\"groupname" @@ -46046,7 +46200,7 @@ msgstr "" "systemitem> 能夠讀取與寫入裝置:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:32194 +#: book.translate.xml:32248 #, no-wrap msgid "" "[localrules=5]\n" @@ -46054,7 +46208,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:32198 +#: book.translate.xml:32252 msgid "" "If internal <acronym>SCSI</acronym> disks are also installed in the system, " "change the second line as follows:" @@ -46062,13 +46216,13 @@ msgstr "" "若系統也同時安裝了內建 <acronym>SCSI</acronym> 磁碟,請更改第二行如下:" #. (itstool) path: note/programlisting -#: book.translate.xml:32202 +#: book.translate.xml:32256 #, no-wrap msgid "add path 'da[<replaceable>3</replaceable>-9]*' mode 0660 group operator" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:32204 +#: book.translate.xml:32258 msgid "" "This will exclude the first three <acronym>SCSI</acronym> disks " "(<filename>da0</filename> to <filename>da2</filename>)from belonging to the " @@ -46086,18 +46240,18 @@ msgstr "" "資訊。" #. (itstool) path: sect2/para -#: book.translate.xml:32212 +#: book.translate.xml:32266 msgid "Next, enable the ruleset in <filename>/etc/rc.conf</filename>:" msgstr "接著,在 <filename>/etc/rc.conf</filename> 開啟規則:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:32215 +#: book.translate.xml:32269 #, no-wrap msgid "devfs_system_ruleset=\"localrules\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32217 +#: book.translate.xml:32271 msgid "" "Then, instruct the system to allow regular users to mount file systems by " "adding the following line to <filename>/etc/sysctl.conf</filename>:" @@ -46106,13 +46260,13 @@ msgstr "" "者掛載檔案系統:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:32221 +#: book.translate.xml:32275 #, no-wrap msgid "vfs.usermount=1" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32223 +#: book.translate.xml:32277 msgid "" "Since this only takes effect after the next reboot, use <command>sysctl</" "command> to set this variable now:" @@ -46121,7 +46275,7 @@ msgstr "" "變數:" #. (itstool) path: sect2/screen -#: book.translate.xml:32226 +#: book.translate.xml:32280 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>sysctl vfs.usermount=1</userinput>\n" @@ -46129,7 +46283,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32229 +#: book.translate.xml:32283 msgid "" "The final step is to create a directory where the file system is to be " "mounted. This directory needs to be owned by the user that is to mount the " @@ -46147,7 +46301,7 @@ msgstr "" "組:" #. (itstool) path: sect2/screen -#: book.translate.xml:32239 +#: book.translate.xml:32293 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mkdir /mnt/<replaceable>username</replaceable></userinput>\n" @@ -46155,7 +46309,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32242 +#: book.translate.xml:32296 msgid "" "Suppose a <acronym>USB</acronym> thumbdrive is plugged in, and a device " "<filename>/dev/da0s1</filename> appears. If the device is formatted with a " @@ -46166,33 +46320,33 @@ msgstr "" "使用以下指令掛載該檔案系統:" #. (itstool) path: sect2/screen -#: book.translate.xml:32247 +#: book.translate.xml:32301 #, no-wrap msgid "<prompt>%</prompt> <userinput>mount -t msdosfs -o -m=644,-M=755 /dev/da0s1 /mnt/<replaceable>username</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32249 +#: book.translate.xml:32303 msgid "" "Before the device can be unplugged, it <emphasis>must</emphasis> be " "unmounted first:" -msgstr "在裝置可以被拔除前,<emphasis>必須</emphasis>先解除掛載:" +msgstr "在裝置可以被拔除前,<emphasis>必須</emphasis>先卸載:" #. (itstool) path: sect2/screen -#: book.translate.xml:32252 +#: book.translate.xml:32306 #, no-wrap msgid "<prompt>%</prompt> <userinput>umount /mnt/<replaceable>username</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32254 +#: book.translate.xml:32308 msgid "" "After device removal, the system message buffer will show messages similar " "to the following:" msgstr "裝置移除之後,系統訊息緩衝區會顯示如下的訊息:" #. (itstool) path: sect2/screen -#: book.translate.xml:32257 +#: book.translate.xml:32311 #, no-wrap msgid "" "umass0: at uhub3, port 2, addr 3 (disconnected)\n" @@ -46202,12 +46356,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:32264 +#: book.translate.xml:32318 msgid "Automounting Removable Media" msgstr "自動掛載可移除的媒體" #. (itstool) path: note/para -#: book.translate.xml:32267 +#: book.translate.xml:32321 msgid "" "<citerefentry><refentrytitle>autofs</refentrytitle><manvolnum>5</manvolnum></" "citerefentry> supports automatic mounting of removable media starting with " @@ -46218,7 +46372,7 @@ msgstr "" "體。" #. (itstool) path: sect2/para -#: book.translate.xml:32271 +#: book.translate.xml:32325 msgid "" "<acronym>USB</acronym> devices can be automatically mounted by uncommenting " "this line in <filename>/etc/auto_master</filename>:" @@ -46227,18 +46381,18 @@ msgstr "" "<acronym>USB</acronym> 裝置:" #. (itstool) path: sect2/screen -#: book.translate.xml:32275 +#: book.translate.xml:32329 #, no-wrap msgid "/media\t\t-media\t\t-nosuid" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32277 +#: book.translate.xml:32331 msgid "Then add these lines to <filename>/etc/devd.conf</filename>:" msgstr "然後加入這些行到 <filename>/etc/devd.conf</filename>:" #. (itstool) path: sect2/screen -#: book.translate.xml:32280 +#: book.translate.xml:32334 #, no-wrap msgid "" "notify 100 {\n" @@ -46249,7 +46403,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32286 +#: book.translate.xml:32340 msgid "" "Reload the configuration if <citerefentry><refentrytitle>autofs</" "refentrytitle><manvolnum>5</manvolnum></citerefentry> and " @@ -46262,7 +46416,7 @@ msgstr "" "載入設定:" #. (itstool) path: sect2/screen -#: book.translate.xml:32289 +#: book.translate.xml:32343 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service automount reload</userinput>\n" @@ -46270,7 +46424,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32292 +#: book.translate.xml:32346 msgid "" "<citerefentry><refentrytitle>autofs</refentrytitle><manvolnum>5</manvolnum></" "citerefentry> can be set to start at boot by adding this line to <filename>/" @@ -46281,13 +46435,13 @@ msgstr "" "filename>:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:32295 book.translate.xml:53174 +#: book.translate.xml:32349 book.translate.xml:53228 #, no-wrap msgid "autofs_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32297 +#: book.translate.xml:32351 msgid "" "<citerefentry><refentrytitle>autofs</refentrytitle><manvolnum>5</manvolnum></" "citerefentry> requires <citerefentry><refentrytitle>devd</" @@ -46299,12 +46453,12 @@ msgstr "" "refentrytitle><manvolnum>8</manvolnum></citerefentry>,預設已經開啟。" #. (itstool) path: sect2/para -#: book.translate.xml:32300 +#: book.translate.xml:32354 msgid "Start the services immediately with:" msgstr "立即啟動服務:" #. (itstool) path: sect2/screen -#: book.translate.xml:32302 +#: book.translate.xml:32356 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service automount start</userinput>\n" @@ -46314,7 +46468,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32307 +#: book.translate.xml:32361 msgid "" "Each file system that can be automatically mounted appears as a directory in " "<filename>/media/</filename>. The directory is named after the file system " @@ -46324,23 +46478,23 @@ msgstr "" "檔案系統的標籤來命名目錄,若標籤遺失,則會以裝置節點命名。" #. (itstool) path: sect2/para -#: book.translate.xml:32312 +#: book.translate.xml:32366 msgid "" "The file system is transparently mounted on the first access, and unmounted " "after a period of inactivity. Automounted drives can also be unmounted " "manually:" msgstr "" -"檔案系統會在第一次存取時自動掛載,並在一段時間未使用後自動解除掛載。自動掛載" -"的磁碟也可手動解除掛載:" +"檔案系統會在第一次存取時自動掛載,並在一段時間未使用後自動卸載。自動掛載的磁" +"碟也可手動卸載:" #. (itstool) path: sect2/screen -#: book.translate.xml:32316 +#: book.translate.xml:32370 #, no-wrap msgid "<prompt>#</prompt> <userinput>automount -fu</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32318 +#: book.translate.xml:32372 msgid "" "This mechanism is typically used for memory cards and <acronym>USB</acronym> " "memory sticks. It can be used with any block device, including optical " @@ -46350,25 +46504,25 @@ msgstr "" "裝置,包含光碟機或 <acronym>iSCSI</acronym> <acronym>LUN</acronym>。" #. (itstool) path: info/title -#: book.translate.xml:32327 +#: book.translate.xml:32381 msgid "Creating and Using <acronym>CD</acronym> Media" msgstr "建立與使用 <acronym>CD</acronym> 媒體" #. (itstool) path: authorgroup/author -#: book.translate.xml:32330 book.translate.xml:45929 +#: book.translate.xml:32384 book.translate.xml:45983 msgid "" "<personname> <firstname>Mike</firstname> <surname>Meyer</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:32340 +#: book.translate.xml:32394 msgid "" "<primary><acronym>CD-ROM</acronym>s</primary> <secondary>creating</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:32345 +#: book.translate.xml:32399 msgid "" "Compact Disc (<acronym>CD</acronym>) media provide a number of features that " "differentiate them from conventional disks. They are designed so that they " @@ -46380,25 +46534,25 @@ msgid "" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:32354 +#: book.translate.xml:32408 msgid "<primary><acronym>ISO</acronym> 9660</primary>" msgstr "" #. (itstool) path: sect1/indexterm #. (itstool) path: sect2/indexterm -#: book.translate.xml:32356 book.translate.xml:32546 +#: book.translate.xml:32410 book.translate.xml:32600 msgid "<primary>file systems</primary> <secondary>ISO 9660</secondary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:32361 +#: book.translate.xml:32415 msgid "" "<primary><acronym>CD</acronym> burner</primary> <secondary><acronym>ATAPI</" "acronym></secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:32366 +#: book.translate.xml:32420 msgid "" "The FreeBSD Ports Collection provides several utilities for burning and " "duplicating audio and data <acronym>CD</acronym>s. This chapter demonstrates " @@ -46408,19 +46562,19 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:32376 +#: book.translate.xml:32430 msgid "Supported Devices" msgstr "支援的裝置" #. (itstool) path: sect2/indexterm -#: book.translate.xml:32389 +#: book.translate.xml:32443 msgid "" "<primary><acronym>CD</acronym> burner</primary> <secondary>ATAPI/CAM driver</" "secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32394 +#: book.translate.xml:32448 msgid "" "The <filename>GENERIC</filename> kernel provides support for <acronym>SCSI</" "acronym>, <acronym>USB</acronym>, and <acronym>ATAPI</acronym> <acronym>CD</" @@ -46430,13 +46584,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32401 +#: book.translate.xml:32455 msgid "" "For a <acronym>SCSI</acronym> burner, make sure these options are present:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:32404 +#: book.translate.xml:32458 #, no-wrap msgid "" "device scbus\t# SCSI bus (required for ATA/SCSI)\n" @@ -46446,13 +46600,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32409 +#: book.translate.xml:32463 msgid "" "For a <acronym>USB</acronym> burner, make sure these options are present:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:32412 +#: book.translate.xml:32466 #, no-wrap msgid "" "device scbus\t# SCSI bus (required for ATA/SCSI)\n" @@ -46468,13 +46622,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32423 +#: book.translate.xml:32477 msgid "" "For an <acronym>ATAPI</acronym> burner, make sure these options are present:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:32426 +#: book.translate.xml:32480 #, no-wrap msgid "" "device ata\t# Legacy ATA/SATA controllers\n" @@ -46484,40 +46638,40 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:32432 +#: book.translate.xml:32486 msgid "" "On FreeBSD versions prior to 10.x, this line is also needed in the kernel " "configuration file if the burner is an <acronym>ATAPI</acronym> device:" msgstr "" #. (itstool) path: note/programlisting -#: book.translate.xml:32436 +#: book.translate.xml:32490 #, no-wrap msgid "device atapicam" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:32438 +#: book.translate.xml:32492 msgid "" "Alternately, this driver can be loaded at boot time by adding the following " "line to <filename>/boot/loader.conf</filename>:" msgstr "" #. (itstool) path: note/programlisting -#: book.translate.xml:32442 +#: book.translate.xml:32496 #, no-wrap msgid "atapicam_load=\"YES\"" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:32444 +#: book.translate.xml:32498 msgid "" "This will require a reboot of the system as this driver can only be loaded " "at boot time." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32448 +#: book.translate.xml:32502 msgid "" "To verify that FreeBSD recognizes the device, run <command>dmesg</command> " "and look for an entry for the device. On systems prior to 10.x, the device " @@ -46526,7 +46680,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:32454 +#: book.translate.xml:32508 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>dmesg | grep cd</userinput>\n" @@ -46538,12 +46692,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:32463 +#: book.translate.xml:32517 msgid "Burning a <acronym>CD</acronym>" msgstr "燒錄 <acronym>CD</acronym>" #. (itstool) path: sect2/para -#: book.translate.xml:32465 +#: book.translate.xml:32519 msgid "" "In FreeBSD, <command>cdrecord</command> can be used to burn <acronym>CD</" "acronym>s. This command is installed with the <package>sysutils/cdrtools</" @@ -46551,7 +46705,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32469 +#: book.translate.xml:32523 msgid "" "While <command>cdrecord</command> has many options, basic usage is simple. " "Specify the name of the <acronym>ISO</acronym> file to burn and, if the " @@ -46559,26 +46713,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:32475 +#: book.translate.xml:32529 #, no-wrap msgid "<prompt>#</prompt> <userinput>cdrecord <replaceable>dev=device</replaceable> <replaceable>imagefile.iso</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32477 +#: book.translate.xml:32531 msgid "" "To determine the device name of the burner, use <option>-scanbus</option> " "which might produce results like this:" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:32481 +#: book.translate.xml:32535 msgid "" "<primary><acronym>CD-ROM</acronym>s</primary> <secondary>burning</secondary>" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:32485 +#: book.translate.xml:32539 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cdrecord -scanbus</userinput>\n" @@ -46605,7 +46759,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32507 +#: book.translate.xml:32561 msgid "" "Locate the entry for the <acronym>CD</acronym> burner and use the three " "numbers separated by commas as the value for <option>dev</option>. In this " @@ -46617,14 +46771,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32516 +#: book.translate.xml:32570 msgid "" "Alternately, run the following command to get the device address of the " "burner:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:32519 +#: book.translate.xml:32573 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>camcontrol devlist</userinput>\n" @@ -46632,7 +46786,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32522 +#: book.translate.xml:32576 msgid "" "Use the numeric values for <literal>scbus</literal>, <literal>target</" "literal>, and <literal>lun</literal>. For this example, <literal>1,0,0</" @@ -46640,12 +46794,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:32529 +#: book.translate.xml:32583 msgid "Writing Data to an <acronym>ISO</acronym> File System" msgstr "寫入資料到一個 <acronym>ISO</acronym> 檔案系統" #. (itstool) path: sect2/para -#: book.translate.xml:32532 +#: book.translate.xml:32586 msgid "" "In order to produce a data <acronym>CD</acronym>, the data files that are " "going to make up the tracks on the <acronym>CD</acronym> must be prepared " @@ -46659,13 +46813,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:32544 +#: book.translate.xml:32598 #, no-wrap msgid "<prompt>#</prompt> <userinput>mkisofs -o <replaceable>imagefile.iso</replaceable> <replaceable>/path/to/tree</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32551 +#: book.translate.xml:32605 msgid "" "This command maps the file names in the specified path to names that fit the " "limitations of the standard <acronym>ISO</acronym> 9660 file system, and " @@ -46674,12 +46828,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:32557 +#: book.translate.xml:32611 msgid "<primary>file systems</primary> <secondary>Joliet</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32562 +#: book.translate.xml:32616 msgid "" "A number of options are available to overcome the restrictions imposed by " "the standard. In particular, <option>-R</option> enables the Rock Ridge " @@ -46689,7 +46843,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32568 +#: book.translate.xml:32622 msgid "" "For <acronym>CD</acronym>s that are going to be used only on FreeBSD " "systems, <option>-U</option> can be used to disable all filename " @@ -46699,14 +46853,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:32575 +#: book.translate.xml:32629 msgid "" "<primary><acronym>CD-ROM</acronym>s</primary> <secondary>creating bootable</" "secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32580 +#: book.translate.xml:32634 msgid "" "The last option of general use is <option>-b</option>. This is used to " "specify the location of a boot image for use in producing an <quote>El " @@ -46723,20 +46877,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:32598 +#: book.translate.xml:32652 #, no-wrap msgid "<prompt>#</prompt> <userinput>mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32600 +#: book.translate.xml:32654 msgid "" "The resulting <acronym>ISO</acronym> image can be mounted as a memory disk " "with:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:32603 +#: book.translate.xml:32657 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mdconfig -a -t vnode -f /tmp/bootable.iso -u 0</userinput>\n" @@ -46744,14 +46898,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32606 +#: book.translate.xml:32660 msgid "" "One can then verify that <filename>/mnt</filename> and <filename>/tmp/" "myboot</filename> are identical." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32609 +#: book.translate.xml:32663 msgid "" "There are many other options available for <command>mkisofs</command> to " "fine-tune its behavior. Refer to <citerefentry vendor=\"ports" @@ -46760,7 +46914,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:32614 +#: book.translate.xml:32668 msgid "" "It is possible to copy a data <acronym>CD</acronym> to an image file that is " "functionally equivalent to the image file created with <command>mkisofs</" @@ -46770,25 +46924,25 @@ msgid "" msgstr "" #. (itstool) path: note/screen -#: book.translate.xml:32621 +#: book.translate.xml:32675 #, no-wrap msgid "<prompt>#</prompt> <userinput>dd if=/dev/<replaceable>cd0</replaceable> of=<replaceable>file.iso</replaceable> bs=2048</userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:32623 +#: book.translate.xml:32677 msgid "" "The resulting image file can be burned to <acronym>CD</acronym> as described " "in <xref linkend=\"cdrecord\"/>." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:32629 +#: book.translate.xml:32683 msgid "Using Data <acronym>CD</acronym>s" msgstr "使用資料 <acronym>CD</acronym>" #. (itstool) path: sect2/para -#: book.translate.xml:32631 +#: book.translate.xml:32685 msgid "" "Once an <acronym>ISO</acronym> has been burned to a <acronym>CD</acronym>, " "it can be mounted by specifying the file system type, the name of the device " @@ -46796,13 +46950,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:32636 +#: book.translate.xml:32690 #, no-wrap msgid "<prompt>#</prompt> <userinput>mount -t cd9660 <replaceable>/dev/cd0</replaceable> <replaceable>/mnt</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32638 +#: book.translate.xml:32692 msgid "" "Since <command>mount</command> assumes that a file system is of type " "<literal>ufs</literal>, a <errorname>Incorrect super block</errorname> error " @@ -46811,7 +46965,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32644 +#: book.translate.xml:32698 msgid "" "While any data <acronym>CD</acronym> can be mounted this way, disks with " "certain <acronym>ISO</acronym> 9660 extensions might behave oddly. For " @@ -46823,7 +46977,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:32653 +#: book.translate.xml:32707 msgid "" "In order to do this character conversion with the help of <option>-C</" "option>, the kernel requires the <filename>cd9660_iconv.ko</filename> module " @@ -46832,20 +46986,20 @@ msgid "" msgstr "" #. (itstool) path: note/programlisting -#: book.translate.xml:32659 +#: book.translate.xml:32713 #, no-wrap msgid "cd9660_iconv_load=\"YES\"" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:32661 +#: book.translate.xml:32715 msgid "" "and then rebooting the machine, or by directly loading the module with " "<command>kldload</command>." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32665 +#: book.translate.xml:32719 msgid "" "Occasionally, <errorname>Device not configured</errorname> will be displayed " "when trying to mount a data <acronym>CD</acronym>. This usually means that " @@ -46855,7 +47009,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32674 +#: book.translate.xml:32728 msgid "" "Sometimes, a <acronym>SCSI</acronym> <acronym>CD</acronym> drive may be " "missed because it did not have enough time to answer the bus reset. To " @@ -46866,13 +47020,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:32682 +#: book.translate.xml:32736 #, no-wrap msgid "options SCSI_DELAY=15000" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32684 +#: book.translate.xml:32738 msgid "" "This tells the <acronym>SCSI</acronym> bus to pause 15 seconds during boot, " "to give the <acronym>CD</acronym> drive every possible chance to answer the " @@ -46880,7 +47034,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:32689 +#: book.translate.xml:32743 msgid "" "It is possible to burn a file directly to <acronym>CD</acronym>, without " "creating an <acronym>ISO</acronym> 9660 file system. This is known as " @@ -46889,7 +47043,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:32695 +#: book.translate.xml:32749 msgid "" "This type of disk can not be mounted as a normal data <acronym>CD</acronym>. " "In order to retrieve the data burned to such a <acronym>CD</acronym>, the " @@ -46899,25 +47053,25 @@ msgid "" msgstr "" #. (itstool) path: note/screen -#: book.translate.xml:32703 +#: book.translate.xml:32757 #, no-wrap msgid "<prompt>#</prompt> <userinput>tar xzvf /dev/<replaceable>cd1</replaceable></userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:32705 +#: book.translate.xml:32759 msgid "" "In order to mount a data <acronym>CD</acronym>, the data must be written " "using <command>mkisofs</command>." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:32712 +#: book.translate.xml:32766 msgid "Duplicating Audio <acronym>CD</acronym>s" msgstr "複製音樂 <acronym>CD</acronym>" #. (itstool) path: sect2/para -#: book.translate.xml:32714 +#: book.translate.xml:32768 msgid "" "To duplicate an audio <acronym>CD</acronym>, extract the audio data from the " "<acronym>CD</acronym> to a series of files, then write these files to a " @@ -46925,7 +47079,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32719 +#: book.translate.xml:32773 msgid "" "<xref linkend=\"using-cdrecord\"/> describes how to duplicate and burn an " "audio <acronym>CD</acronym>. If the FreeBSD version is less than 10.0 and " @@ -46934,12 +47088,12 @@ msgid "" msgstr "" #. (itstool) path: procedure/title -#: book.translate.xml:32726 +#: book.translate.xml:32780 msgid "Duplicating an Audio <acronym>CD</acronym>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:32729 +#: book.translate.xml:32783 msgid "" "The <package>sysutils/cdrtools</package> package or port installs " "<command>cdda2wav</command>. This command can be used to extract all of the " @@ -46948,13 +47102,13 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:32735 +#: book.translate.xml:32789 #, no-wrap msgid "<prompt>%</prompt> <userinput>cdda2wav -vall -B -Owav</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:32737 +#: book.translate.xml:32791 msgid "" "A device name does not need to be specified if there is only one " "<acronym>CD</acronym> device on the system. Refer to the <command>cdda2wav</" @@ -46963,44 +47117,44 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:32745 +#: book.translate.xml:32799 msgid "" "Use <command>cdrecord</command> to write the <filename>.wav</filename> files:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:32748 +#: book.translate.xml:32802 #, no-wrap msgid "<prompt>%</prompt> <userinput>cdrecord -v dev=<replaceable>2,0</replaceable> -dao -useinfo *.wav</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:32750 +#: book.translate.xml:32804 msgid "" "Make sure that <replaceable>2,0</replaceable> is set appropriately, as " "described in <xref linkend=\"cdrecord\"/>." msgstr "" #. (itstool) path: info/title -#: book.translate.xml:32759 +#: book.translate.xml:32813 msgid "Creating and Using <acronym>DVD</acronym> Media" msgstr "建立與使用 <acronym>DVD</acronym> 媒體" #. (itstool) path: authorgroup/author -#: book.translate.xml:32771 +#: book.translate.xml:32825 msgid "" "<personname> <firstname>Andy</firstname> <surname>Polyakov</surname> </" "personname> <contrib>With inputs from </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:32781 +#: book.translate.xml:32835 msgid "" "<primary><acronym>DVD</acronym></primary> <secondary>burning</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:32786 +#: book.translate.xml:32840 msgid "" "Compared to the <acronym>CD</acronym>, the <acronym>DVD</acronym> is the " "next generation of optical media storage technology. The <acronym>DVD</" @@ -47009,14 +47163,14 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:32792 +#: book.translate.xml:32846 msgid "" "Five physical recordable formats can be defined for a recordable " "<acronym>DVD</acronym>:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:32797 +#: book.translate.xml:32851 msgid "" "DVD-R: This was the first <acronym>DVD</acronym> recordable format " "available. The DVD-R standard is defined by the <link xlink:href=\"http://" @@ -47025,14 +47179,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:32804 +#: book.translate.xml:32858 msgid "" "<acronym>DVD-RW</acronym>: This is the rewritable version of the DVD-R " "standard. A <acronym>DVD-RW</acronym> can be rewritten about 1000 times." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:32811 +#: book.translate.xml:32865 msgid "" "<acronym>DVD-RAM</acronym>: This is a rewritable format which can be seen as " "a removable hard drive. However, this media is not compatible with most " @@ -47043,7 +47197,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:32821 +#: book.translate.xml:32875 msgid "" "<acronym>DVD+RW</acronym>: This is a rewritable format defined by the <link " "xlink:href=\"http://www.dvdrw.com/\"><acronym>DVD+RW</acronym> Alliance</" @@ -47051,14 +47205,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:32828 +#: book.translate.xml:32882 msgid "" "DVD+R: This format is the write once variation of the <acronym>DVD+RW</" "acronym> format." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:32833 +#: book.translate.xml:32887 msgid "" "A single layer recordable <acronym>DVD</acronym> can hold up to " "4,700,000,000 bytes which is actually 4.38 GB or 4485 MB as 1 kilobyte is " @@ -47066,7 +47220,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:32838 +#: book.translate.xml:32892 msgid "" "A distinction must be made between the physical media and the application. " "For example, a DVD-Video is a specific file layout that can be written on " @@ -47077,12 +47231,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:32848 book.translate.xml:57045 +#: book.translate.xml:32902 book.translate.xml:57099 msgid "Configuration" msgstr "設定" #. (itstool) path: sect2/para -#: book.translate.xml:32850 +#: book.translate.xml:32904 msgid "" "To perform <acronym>DVD</acronym> recording, use <citerefentry vendor=\"ports" "\"><refentrytitle>growisofs</refentrytitle><manvolnum>1</manvolnum></" @@ -47091,7 +47245,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32855 +#: book.translate.xml:32909 msgid "" "These tools use the <acronym>SCSI</acronym> subsystem to access the devices, " "therefore <link linkend=\"atapicam\">ATAPI/CAM support</link> must be loaded " @@ -47102,20 +47256,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32862 +#: book.translate.xml:32916 msgid "" "DMA access must also be enabled for <acronym>ATAPI</acronym> devices, by " "adding the following line to <filename>/boot/loader.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:32866 book.translate.xml:33178 +#: book.translate.xml:32920 book.translate.xml:33232 #, no-wrap msgid "hw.ata.atapi_dma=\"1\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32868 +#: book.translate.xml:32922 msgid "" "Before attempting to use <application>dvd+rw-tools</application>, consult " "the <link xlink:href=\"http://fy.chalmers.se/~appro/linux/DVD+RW/hcn.html" @@ -47123,7 +47277,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:32873 +#: book.translate.xml:32927 msgid "" "For a graphical user interface, consider using <package>sysutils/k3b</" "package> which provides a user friendly interface to <citerefentry vendor=" @@ -47132,12 +47286,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:32881 +#: book.translate.xml:32935 msgid "Burning Data <acronym>DVD</acronym>s" msgstr "燒錄資料 <acronym>DVD</acronym>" #. (itstool) path: sect2/para -#: book.translate.xml:32883 +#: book.translate.xml:32937 msgid "" "Since <citerefentry vendor=\"ports\"><refentrytitle>growisofs</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> is a front-end to " @@ -47149,20 +47303,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32889 +#: book.translate.xml:32943 msgid "" "To burn to a DVD+R or a DVD-R the data in <filename>/path/to/data</" "filename>, use the following command:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:32893 +#: book.translate.xml:32947 #, no-wrap msgid "<prompt>#</prompt> <userinput>growisofs -dvd-compat -Z <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/data</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32895 +#: book.translate.xml:32949 msgid "" "In this example, <option>-J -R</option> is passed to <citerefentry vendor=" "\"ports\"><refentrytitle>mkisofs</refentrytitle><manvolnum>8</manvolnum></" @@ -47172,7 +47326,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32900 +#: book.translate.xml:32954 msgid "" "For the initial session recording, <option>-Z</option> is used for both " "single and multiple sessions. Replace <replaceable>/dev/cd0</replaceable>, " @@ -47183,20 +47337,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32909 +#: book.translate.xml:32963 msgid "" "To burn a pre-mastered image, such as <replaceable>imagefile.iso</" "replaceable>, use:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:32912 +#: book.translate.xml:32966 #, no-wrap msgid "<prompt>#</prompt> <userinput>growisofs -dvd-compat -Z <replaceable>/dev/cd0</replaceable>=<replaceable>imagefile.iso</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32914 +#: book.translate.xml:32968 msgid "" "The write speed should be detected and automatically set according to the " "media and the drive being used. To force the write speed, use <option>-" @@ -47206,7 +47360,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:32920 +#: book.translate.xml:32974 msgid "" "In order to support working files larger than 4.38GB, an UDF/ISO-9660 hybrid " "file system must be created by passing <option>-udf -iso-level 3</option> to " @@ -47222,29 +47376,29 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:32931 +#: book.translate.xml:32985 msgid "To create this type of ISO file:" msgstr "" #. (itstool) path: note/screen -#: book.translate.xml:32933 +#: book.translate.xml:32987 #, no-wrap msgid "<prompt>%</prompt> <userinput>mkisofs -R -J -udf -iso-level 3 -o <replaceable>imagefile.iso</replaceable> <replaceable>/path/to/data</replaceable></userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:32935 +#: book.translate.xml:32989 msgid "To burn files directly to a disk:" msgstr "" #. (itstool) path: note/screen -#: book.translate.xml:32937 +#: book.translate.xml:32991 #, no-wrap msgid "<prompt>#</prompt> <userinput>growisofs -dvd-compat -udf -iso-level 3 -Z <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/data</replaceable></userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:32939 +#: book.translate.xml:32993 msgid "" "When an ISO image already contains large files, no additional options are " "required for <citerefentry vendor=\"ports\"><refentrytitle>growisofs</" @@ -47253,7 +47407,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:32943 +#: book.translate.xml:32997 msgid "" "Be sure to use an up-to-date version of <package>sysutils/cdrtools</" "package>, which contains <citerefentry vendor=\"ports" @@ -47265,18 +47419,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:32953 +#: book.translate.xml:33007 msgid "Burning a <acronym>DVD</acronym>-Video" msgstr "燒錄 <acronym>DVD</acronym>-Video" #. (itstool) path: sect2/indexterm -#: book.translate.xml:32955 +#: book.translate.xml:33009 msgid "" "<primary><acronym>DVD</acronym></primary> <secondary>DVD-Video</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32960 +#: book.translate.xml:33014 msgid "" "A DVD-Video is a specific file layout based on the ISO 9660 and micro-UDF (M-" "UDF) specifications. Since DVD-Video presents a specific data structure " @@ -47285,7 +47439,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32966 +#: book.translate.xml:33020 msgid "" "If an image of the DVD-Video file system already exists, it can be burned in " "the same way as any other image. If <command>dvdauthor</command> was used to " @@ -47294,13 +47448,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:32973 +#: book.translate.xml:33027 #, no-wrap msgid "<prompt>#</prompt> <userinput>growisofs -Z <replaceable>/dev/cd0</replaceable> -dvd-video <replaceable>/path/to/video</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32975 +#: book.translate.xml:33029 msgid "" "<option>-dvd-video</option> is passed to <citerefentry vendor=\"ports" "\"><refentrytitle>mkisofs</refentrytitle><manvolnum>8</manvolnum></" @@ -47311,19 +47465,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:32982 +#: book.translate.xml:33036 msgid "Using a <acronym>DVD+RW</acronym>" msgstr "使用 <acronym>DVD+RW</acronym>" #. (itstool) path: sect2/indexterm -#: book.translate.xml:32984 +#: book.translate.xml:33038 msgid "" "<primary><acronym>DVD</acronym></primary> <secondary><acronym>DVD+RW</" "acronym></secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32989 +#: book.translate.xml:33043 msgid "" "Unlike CD-RW, a virgin <acronym>DVD+RW</acronym> needs to be formatted " "before first use. It is <emphasis>recommended</emphasis> to let " @@ -47334,13 +47488,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:32996 book.translate.xml:33102 +#: book.translate.xml:33050 book.translate.xml:33156 #, no-wrap msgid "<prompt>#</prompt> <userinput>dvd+rw-format <replaceable>/dev/cd0</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:32998 +#: book.translate.xml:33052 msgid "" "Only perform this operation once and keep in mind that only virgin " "<acronym>DVD+RW</acronym> medias need to be formatted. Once formatted, the " @@ -47348,7 +47502,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33003 +#: book.translate.xml:33057 msgid "" "To burn a totally new file system and not just append some data onto a " "<acronym>DVD+RW</acronym>, the media does not need to be blanked first. " @@ -47356,13 +47510,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:33008 +#: book.translate.xml:33062 #, no-wrap msgid "<prompt>#</prompt> <userinput>growisofs -Z <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/newdata</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33010 +#: book.translate.xml:33064 msgid "" "The <acronym>DVD+RW</acronym> format supports appending data to a previous " "recording. This operation consists of merging a new session to the existing " @@ -47373,20 +47527,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33017 +#: book.translate.xml:33071 msgid "" "For example, to append data to a <acronym>DVD+RW</acronym>, use the " "following:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:33020 book.translate.xml:33124 +#: book.translate.xml:33074 book.translate.xml:33178 #, no-wrap msgid "<prompt>#</prompt> <userinput>growisofs -M <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/nextdata</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33022 +#: book.translate.xml:33076 msgid "" "The same <citerefentry vendor=\"ports\"><refentrytitle>mkisofs</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> options used to burn " @@ -47394,7 +47548,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:33026 +#: book.translate.xml:33080 msgid "" "Use <option>-dvd-compat</option> for better media compatibility with " "<acronym>DVD-ROM</acronym> drives. When using <acronym>DVD+RW</acronym>, " @@ -47402,30 +47556,30 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33032 +#: book.translate.xml:33086 msgid "To blank the media, use:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:33034 +#: book.translate.xml:33088 #, no-wrap msgid "<prompt>#</prompt> <userinput>growisofs -Z <replaceable>/dev/cd0</replaceable>=<replaceable>/dev/zero</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:33038 +#: book.translate.xml:33092 msgid "Using a <acronym>DVD-RW</acronym>" msgstr "使用 <acronym>DVD-RW</acronym>" #. (itstool) path: sect2/indexterm -#: book.translate.xml:33040 +#: book.translate.xml:33094 msgid "" "<primary><acronym>DVD</acronym></primary> <secondary><acronym>DVD-RW</" "acronym></secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33045 +#: book.translate.xml:33099 msgid "" "A <acronym>DVD-RW</acronym> accepts two disc formats: incremental sequential " "and restricted overwrite. By default, <acronym>DVD-RW</acronym> discs are in " @@ -47433,7 +47587,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33050 +#: book.translate.xml:33104 msgid "" "A virgin <acronym>DVD-RW</acronym> can be directly written without being " "formatted. However, a non-virgin <acronym>DVD-RW</acronym> in sequential " @@ -47441,18 +47595,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33055 +#: book.translate.xml:33109 msgid "To blank a <acronym>DVD-RW</acronym> in sequential mode:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:33058 book.translate.xml:33106 +#: book.translate.xml:33112 book.translate.xml:33160 #, no-wrap msgid "<prompt>#</prompt> <userinput>dvd+rw-format -blank=full <replaceable>/dev/cd0</replaceable></userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:33061 +#: book.translate.xml:33115 msgid "" "A full blanking using <option>-blank=full</option> will take about one hour " "on a 1x media. A fast blanking can be performed using <option>-blank</" @@ -47462,13 +47616,13 @@ msgid "" msgstr "" #. (itstool) path: note/screen -#: book.translate.xml:33068 +#: book.translate.xml:33122 #, no-wrap msgid "<prompt>#</prompt> <userinput>growisofs -use-the-force-luke=dao -Z <replaceable>/dev/cd0</replaceable>=<replaceable>imagefile.iso</replaceable></userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:33070 +#: book.translate.xml:33124 msgid "" "Since <citerefentry vendor=\"ports\"><refentrytitle>growisofs</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> automatically attempts " @@ -47477,7 +47631,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:33075 +#: book.translate.xml:33129 msgid "" "One should instead use restricted overwrite mode with any <acronym>DVD-RW</" "acronym> as this format is more flexible than the default of incremental " @@ -47485,20 +47639,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33080 +#: book.translate.xml:33134 msgid "" "To write data on a sequential <acronym>DVD-RW</acronym>, use the same " "instructions as for the other <acronym>DVD</acronym> formats:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:33084 +#: book.translate.xml:33138 #, no-wrap msgid "<prompt>#</prompt> <userinput>growisofs -Z <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/data</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33086 +#: book.translate.xml:33140 msgid "" "To append some data to a previous recording, use <option>-M</option> with " "<citerefentry vendor=\"ports\"><refentrytitle>growisofs</" @@ -47509,7 +47663,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33092 +#: book.translate.xml:33146 msgid "" "A <acronym>DVD-RW</acronym> in restricted overwrite format does not need to " "be blanked before a new initial session. Instead, overwrite the disc with " @@ -47519,24 +47673,24 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33099 +#: book.translate.xml:33153 msgid "" "To put a <acronym>DVD-RW</acronym> in restricted overwrite format, the " "following command must be used:" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33104 +#: book.translate.xml:33158 msgid "To change back to sequential format, use:" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:33110 +#: book.translate.xml:33164 msgid "Multi-Session" msgstr "多階段燒錄 (Multi-Session)" #. (itstool) path: sect2/para -#: book.translate.xml:33112 +#: book.translate.xml:33166 msgid "" "Few <acronym>DVD-ROM</acronym> drives support multi-session DVDs and most of " "the time only read the first session. DVD+R, DVD-R and <acronym>DVD-RW</" @@ -47546,7 +47700,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33120 +#: book.translate.xml:33174 msgid "" "Using the following command after an initial non-closed session on a DVD+R, " "DVD-R, or <acronym>DVD-RW</acronym> in sequential format, will add a new " @@ -47554,7 +47708,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33126 +#: book.translate.xml:33180 msgid "" "Using this command with a <acronym>DVD+RW</acronym> or a <acronym>DVD-RW</" "acronym> in restricted overwrite mode will append data while merging the new " @@ -47563,7 +47717,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:33134 +#: book.translate.xml:33188 msgid "" "Since some space on the media is used between each session to mark the end " "and start of sessions, one should add sessions with a large amount of data " @@ -47572,12 +47726,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:33144 book.translate.xml:65535 +#: book.translate.xml:33198 book.translate.xml:65535 msgid "For More Information" msgstr "取得更多資訊" #. (itstool) path: sect2/para -#: book.translate.xml:33146 +#: book.translate.xml:33200 msgid "" "To obtain more information about a <acronym>DVD</acronym>, use <command>dvd" "+rw-mediainfo <replaceable>/dev/cd0</replaceable></command> while the disc " @@ -47585,7 +47739,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33151 +#: book.translate.xml:33205 msgid "" "More information about <application>dvd+rw-tools</application> can be found " "in <citerefentry vendor=\"ports\"><refentrytitle>growisofs</" @@ -47596,7 +47750,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:33158 +#: book.translate.xml:33212 msgid "" "When creating a problem report related to the use of <application>dvd+rw-" "tools</application>, always include the output of <command>dvd+rw-mediainfo</" @@ -47604,19 +47758,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:33165 +#: book.translate.xml:33219 msgid "Using a <acronym>DVD-RAM</acronym>" msgstr "使用 <acronym>DVD-RAM</acronym>" #. (itstool) path: sect2/indexterm -#: book.translate.xml:33167 +#: book.translate.xml:33221 msgid "" "<primary><acronym>DVD</acronym></primary> <secondary><acronym>DVD-RAM</" "acronym></secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33172 +#: book.translate.xml:33226 msgid "" "<acronym>DVD-RAM</acronym> writers can use either a <acronym>SCSI</acronym> " "or <acronym>ATAPI</acronym> interface. For <acronym>ATAPI</acronym> devices, " @@ -47625,7 +47779,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33180 +#: book.translate.xml:33234 msgid "" "A <acronym>DVD-RAM</acronym> can be seen as a removable hard drive. Like any " "other hard drive, the <acronym>DVD-RAM</acronym> must be formatted before it " @@ -47634,7 +47788,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:33186 +#: book.translate.xml:33240 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>dd if=/dev/zero of=<replaceable>/dev/acd0</replaceable> bs=2k count=1</userinput>\n" @@ -47643,49 +47797,49 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33190 +#: book.translate.xml:33244 msgid "" "The <acronym>DVD</acronym> device, <filename>acd0</filename>, must be " "changed according to the configuration." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33194 +#: book.translate.xml:33248 msgid "" "Once the <acronym>DVD-RAM</acronym> has been formatted, it can be mounted as " "a normal hard drive:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:33197 +#: book.translate.xml:33251 #, no-wrap msgid "<prompt>#</prompt> <userinput>mount <replaceable>/dev/acd0</replaceable> <replaceable>/mnt</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33199 +#: book.translate.xml:33253 msgid "" "Once mounted, the <acronym>DVD-RAM</acronym> will be both readable and " "writeable." msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:33205 +#: book.translate.xml:33259 msgid "Creating and Using Floppy Disks" msgstr "建立與使用軟碟" #. (itstool) path: sect1/para -#: book.translate.xml:33229 +#: book.translate.xml:33283 msgid "This section explains how to format a 3.5 inch floppy disk in FreeBSD." msgstr "" #. (itstool) path: procedure/title -#: book.translate.xml:33233 +#: book.translate.xml:33287 msgid "Steps to Format a Floppy" msgstr "" #. (itstool) path: procedure/para -#: book.translate.xml:33235 +#: book.translate.xml:33289 msgid "" "A floppy disk needs to be low-level formatted before it can be used. This is " "usually done by the vendor, but formatting is a good way to check media " @@ -47696,20 +47850,20 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:33244 +#: book.translate.xml:33298 msgid "" "To format the floppy, insert a new 3.5 inch floppy disk into the first " "floppy drive and issue:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:33247 +#: book.translate.xml:33301 #, no-wrap msgid "<prompt>#</prompt> <userinput>/usr/sbin/fdformat -f 1440 /dev/fd0</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:33251 +#: book.translate.xml:33305 msgid "" "After low-level formatting the disk, create a disk label as it is needed by " "the system to determine the size of the disk and its geometry. The supported " @@ -47717,20 +47871,20 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:33256 +#: book.translate.xml:33310 msgid "" "To write the disk label, use <citerefentry><refentrytitle>bsdlabel</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:33258 +#: book.translate.xml:33312 #, no-wrap msgid "<prompt>#</prompt> <userinput>/sbin/bsdlabel -B -w /dev/fd0 fd1440</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:33262 +#: book.translate.xml:33316 msgid "" "The floppy is now ready to be high-level formatted with a file system. The " "floppy's file system can be either UFS or FAT, where FAT is generally a " @@ -47738,18 +47892,18 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:33267 +#: book.translate.xml:33321 msgid "To format the floppy with FAT, issue:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:33269 +#: book.translate.xml:33323 #, no-wrap msgid "<prompt>#</prompt> <userinput>/sbin/newfs_msdos /dev/fd0</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:33273 +#: book.translate.xml:33327 msgid "" "The disk is now ready for use. To use the floppy, mount it with " "<citerefentry><refentrytitle>mount_msdosfs</refentrytitle><manvolnum>8</" @@ -47758,12 +47912,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:33280 +#: book.translate.xml:33334 msgid "Backup Basics" msgstr "備份基礎概念" #. (itstool) path: sect1/para -#: book.translate.xml:33294 +#: book.translate.xml:33348 msgid "" "Implementing a backup plan is essential in order to have the ability to " "recover from disk failure, accidental file deletion, random file corruption, " @@ -47771,7 +47925,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:33299 +#: book.translate.xml:33353 msgid "" "The backup type and schedule will vary, depending upon the importance of the " "data, the granularity needed for file restores, and the amount of acceptable " @@ -47779,7 +47933,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:33306 +#: book.translate.xml:33360 msgid "" "Archives of the whole system, backed up onto permanent, off-site media. This " "provides protection against all of the problems listed above, but is slow " @@ -47787,28 +47941,28 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:33313 +#: book.translate.xml:33367 msgid "" "File system snapshots, which are useful for restoring deleted files or " "previous versions of files." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:33318 +#: book.translate.xml:33372 msgid "" -"Copies of whole file systems or disks which are sychronized with another " +"Copies of whole file systems or disks which are synchronized with another " "system on the network using a scheduled <package>net/rsync</package>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:33324 +#: book.translate.xml:33378 msgid "" "Hardware or software <acronym>RAID</acronym>, which minimizes or avoids " "downtime when a disk fails." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:33329 +#: book.translate.xml:33383 msgid "" "Typically, a mix of backup techniques is used. For example, one could create " "a schedule to automate a weekly, full system backup that is stored off-site " @@ -47818,35 +47972,35 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:33336 +#: book.translate.xml:33390 msgid "" "This section describes some of the utilities which can be used to create and " "manage backups on a FreeBSD system." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:33340 +#: book.translate.xml:33394 msgid "File System Backups" msgstr "檔案系統備份" #. (itstool) path: sect2/indexterm -#: book.translate.xml:33342 +#: book.translate.xml:33396 msgid "" "<primary>backup software</primary> <secondary>dump / restore</secondary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:33346 +#: book.translate.xml:33400 msgid "<primary><command>dump</command></primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:33349 +#: book.translate.xml:33403 msgid "<primary><command>restore</command></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33353 +#: book.translate.xml:33407 msgid "" "The traditional <trademark class=\"registered\">UNIX</trademark> programs " "for backing up a file system are <citerefentry><refentrytitle>dump</" @@ -47863,7 +48017,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:33366 +#: book.translate.xml:33420 msgid "" "If <command>dump</command> is used on the root directory, it will not back " "up <filename>/home</filename>, <filename>/usr</filename> or many other " @@ -47872,7 +48026,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33373 +#: book.translate.xml:33427 msgid "" "When used to restore data, <command>restore</command> stores temporary files " "in <filename>/tmp/</filename> by default. When using a recovery disk with a " @@ -47881,7 +48035,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33380 +#: book.translate.xml:33434 msgid "" "When using <command>dump</command>, be aware that some quirks remain from " "its early days in Version 6 of AT&T <trademark class=\"registered" @@ -47891,12 +48045,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:33387 +#: book.translate.xml:33441 msgid "<primary><filename>.rhosts</filename></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33390 +#: book.translate.xml:33444 msgid "" "It is possible to backup a file system across the network to a another " "system or to a tape drive attached to another computer. While the " @@ -47907,7 +48061,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33396 +#: book.translate.xml:33450 msgid "" "Instead, one can use <command>dump</command> and <command>restore</command> " "in a more secure fashion over an <acronym>SSH</acronym> connection. This " @@ -47917,12 +48071,12 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:33404 +#: book.translate.xml:33458 msgid "Using <command>dump</command> over <application>ssh</application>" msgstr "在 <application>ssh</application> 使用 <command>dump</command>" #. (itstool) path: example/screen -#: book.translate.xml:33407 +#: book.translate.xml:33461 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>/sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \\\n" @@ -47930,14 +48084,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33411 +#: book.translate.xml:33465 msgid "" "This example sets <envar>RSH</envar> in order to write the backup to a tape " "drive on a remote system over a <acronym>SSH</acronym> connection:" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:33416 +#: book.translate.xml:33470 msgid "" "Using <command>dump</command> over <application>ssh</application> with " "<envar>RSH</envar> Set" @@ -47946,32 +48100,32 @@ msgstr "" "<envar>RSH</envar> 設定" #. (itstool) path: example/screen -#: book.translate.xml:33420 +#: book.translate.xml:33474 #, no-wrap msgid "<prompt>#</prompt> <userinput>env RSH=/usr/bin/ssh /sbin/dump -0uan -f targetuser@targetmachine.example.com:/dev/sa0 /usr</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:33425 +#: book.translate.xml:33479 msgid "Directory Backups" msgstr "目錄備份" #. (itstool) path: sect2/indexterm -#: book.translate.xml:33427 +#: book.translate.xml:33481 msgid "" "<primary>backup software</primary> <secondary><command>tar</command></" "secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33432 +#: book.translate.xml:33486 msgid "" "Several built-in utilities are available for backing up and restoring " "specified files and directories as needed." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33436 +#: book.translate.xml:33490 msgid "" "A good choice for making a backup of all of the files in a directory is " "<citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></" @@ -47982,12 +48136,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:33442 +#: book.translate.xml:33496 msgid "<primary><command>tar</command></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33444 +#: book.translate.xml:33498 msgid "" "This example creates a compressed backup of the current directory and saves " "it to <filename>/tmp/mybackup.tgz</filename>. When creating a backup file, " @@ -47996,18 +48150,18 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:33451 +#: book.translate.xml:33505 msgid "Backing Up the Current Directory with <command>tar</command>" msgstr "使用 <command>tar</command> 備份目前目錄" #. (itstool) path: example/screen -#: book.translate.xml:33454 +#: book.translate.xml:33508 #, no-wrap msgid "<prompt>#</prompt> <userinput>tar czvf <replaceable>/tmp/mybackup.tgz</replaceable> . </userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33457 +#: book.translate.xml:33511 msgid "" "To restore the entire backup, <command>cd</command> into the directory to " "restore into and specify the name of the backup. Note that this will " @@ -48017,18 +48171,18 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:33465 +#: book.translate.xml:33519 msgid "Restoring Up the Current Directory with <command>tar</command>" msgstr "使用 <command>tar</command> 還原目前目錄" #. (itstool) path: example/screen -#: book.translate.xml:33468 +#: book.translate.xml:33522 #, no-wrap msgid "<prompt>#</prompt> <userinput>tar xzvf <replaceable>/tmp/mybackup.tgz</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33471 +#: book.translate.xml:33525 msgid "" "There are dozens of available switches which are described in " "<citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></" @@ -48038,14 +48192,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:33477 +#: book.translate.xml:33531 msgid "" "<primary>backup software</primary> <secondary><command>cpio</command></" "secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33482 +#: book.translate.xml:33536 msgid "" "To create a backup using a specified list of files and directories, " "<citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></" @@ -48055,7 +48209,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33488 +#: book.translate.xml:33542 msgid "" "For example, a list of files can be created using <command>ls</command> or " "<command>find</command>. This example creates a recursive listing of the " @@ -48064,7 +48218,7 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:33496 +#: book.translate.xml:33550 msgid "" "Using <command>ls</command> and <command>cpio</command> to Make a Recursive " "Backup of the Current Directory" @@ -48073,36 +48227,36 @@ msgstr "" "份" #. (itstool) path: example/screen -#: book.translate.xml:33499 +#: book.translate.xml:33553 #, no-wrap msgid "<prompt>#</prompt> <userinput>ls -R | cpio -ovF <replaceable>/tmp/mybackup.cpio</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:33502 +#: book.translate.xml:33556 msgid "" "<primary>backup software</primary> <secondary><command>pax</command></" "secondary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:33506 +#: book.translate.xml:33560 msgid "<primary><command>pax</command></primary>" msgstr "" #. (itstool) path: sect2/indexterm #. (itstool) path: para/indexterm -#: book.translate.xml:33507 book.translate.xml:43026 +#: book.translate.xml:33561 book.translate.xml:43080 msgid "<primary>POSIX</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:33508 +#: book.translate.xml:33562 msgid "<primary>IEEE</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33510 +#: book.translate.xml:33564 msgid "" "A backup utility which tries to bridge the features provided by " "<command>tar</command> and <command>cpio</command> is " @@ -48115,34 +48269,34 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33519 +#: book.translate.xml:33573 msgid "" "The <command>pax</command> equivalent to the previous examples would be:" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:33523 +#: book.translate.xml:33577 msgid "Backing Up the Current Directory with <command>pax</command>" msgstr "使用 <command>pax</command> 備份目前目錄" #. (itstool) path: example/screen -#: book.translate.xml:33526 +#: book.translate.xml:33580 #, no-wrap msgid "<prompt>#</prompt> <userinput>pax -wf <replaceable>/tmp/mybackup.pax</replaceable> .</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:33531 +#: book.translate.xml:33585 msgid "Using Data Tapes for Backups" msgstr "使用資料磁帶備份" #. (itstool) path: sect2/indexterm -#: book.translate.xml:33533 +#: book.translate.xml:33587 msgid "<primary>tape media</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33535 +#: book.translate.xml:33589 msgid "" "While tape technology has continued to evolve, modern backup systems tend to " "combine off-site backups with local removable media. FreeBSD supports any " @@ -48152,7 +48306,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33543 +#: book.translate.xml:33597 msgid "" "For <acronym>SCSI</acronym> tape devices, FreeBSD uses the " "<citerefentry><refentrytitle>sa</refentrytitle><manvolnum>4</manvolnum></" @@ -48165,7 +48319,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33554 +#: book.translate.xml:33608 msgid "" "In FreeBSD, <command>mt</command> is used to control operations of the tape " "drive, such as seeking through files on a tape or writing tape control marks " @@ -48174,13 +48328,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:33560 +#: book.translate.xml:33614 #, no-wrap msgid "<prompt>#</prompt> <userinput>mt -f /dev/nsa0 fsf 3</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33562 +#: book.translate.xml:33616 msgid "" "This utility supports many operations. Refer to " "<citerefentry><refentrytitle>mt</refentrytitle><manvolnum>1</manvolnum></" @@ -48188,33 +48342,33 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33565 +#: book.translate.xml:33619 msgid "" "To write a single file to tape using <command>tar</command>, specify the " "name of the tape device and the file to backup:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:33569 +#: book.translate.xml:33623 #, no-wrap msgid "<prompt>#</prompt> <userinput>tar cvf /dev/sa0 <replaceable>file</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33571 +#: book.translate.xml:33625 msgid "" "To recover files from a <command>tar</command> archive on tape into the " "current directory:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:33574 +#: book.translate.xml:33628 #, no-wrap msgid "<prompt>#</prompt> <userinput>tar xvf /dev/sa0</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33576 +#: book.translate.xml:33630 msgid "" "To backup a <acronym>UFS</acronym> file system, use <command>dump</command>. " "This examples backs up <filename>/usr</filename> without rewinding the tape " @@ -48222,36 +48376,36 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:33581 +#: book.translate.xml:33635 #, no-wrap msgid "<prompt>#</prompt> <userinput>dump -0aL -b64 -f /dev/nsa0 /usr</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33583 +#: book.translate.xml:33637 msgid "" "To interactively restore files from a <command>dump</command> file on tape " "into the current directory:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:33587 +#: book.translate.xml:33641 #, no-wrap msgid "<prompt>#</prompt> <userinput>restore -i -f /dev/nsa0</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:33591 +#: book.translate.xml:33645 msgid "Third-Party Backup Utilities" msgstr "第三方備份工具" #. (itstool) path: sect2/indexterm -#: book.translate.xml:33593 +#: book.translate.xml:33647 msgid "<primary>backup software</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33597 +#: book.translate.xml:33651 msgid "" "The FreeBSD Ports Collection provides many third-party utilities which can " "be used to schedule the creation of backups, simplify tape backup, and make " @@ -48261,7 +48415,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33604 +#: book.translate.xml:33658 msgid "" "Popular utilities include <application>Amanda</application>, " "<application>Bacula</application>, <application>rsync</application>, and " @@ -48269,49 +48423,49 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:33612 +#: book.translate.xml:33666 msgid "Emergency Recovery" msgstr "緊急還原" #. (itstool) path: sect2/para -#: book.translate.xml:33614 +#: book.translate.xml:33668 msgid "" "In addition to regular backups, it is recommended to perform the following " "steps as part of an emergency preparedness plan." msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:33618 +#: book.translate.xml:33672 msgid "<primary><command>bsdlabel</command></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33621 +#: book.translate.xml:33675 msgid "Create a print copy of the output of the following commands:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:33626 +#: book.translate.xml:33680 msgid "<command>gpart show</command>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:33630 +#: book.translate.xml:33684 msgid "<command>more /etc/fstab</command>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:33634 +#: book.translate.xml:33688 msgid "<command>dmesg</command>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:33638 +#: book.translate.xml:33692 msgid "<primary>livefs <acronym>CD</acronym></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33641 +#: book.translate.xml:33695 msgid "" "Store this printout and a copy of the installation media in a secure " "location. Should an emergency restore be needed, boot into the installation " @@ -48321,7 +48475,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:33650 +#: book.translate.xml:33704 msgid "" "The installation media for FreeBSD/i386 9.3-RELEASE does not include a " "rescue shell. For this version, instead download and burn a Livefs " @@ -48332,7 +48486,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33657 +#: book.translate.xml:33711 msgid "" "Next, test the rescue shell and the backups. Make notes of the procedure. " "Store these notes with the media, the printouts, and the backups. These " @@ -48341,7 +48495,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33663 +#: book.translate.xml:33717 msgid "" "For an added measure of security, store the latest backup at a remote " "location which is physically separated from the computers and disk drives by " @@ -48349,19 +48503,19 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:33671 +#: book.translate.xml:33725 msgid "Memory Disks" msgstr "記憶體磁碟" #. (itstool) path: authorgroup/author -#: book.translate.xml:33674 +#: book.translate.xml:33728 msgid "" "<personname> <firstname>Marc</firstname> <surname>Fonvieille</surname> </" "personname> <contrib>Reorganized and enhanced by </contrib>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:33684 +#: book.translate.xml:33738 msgid "" "In addition to physical disks, FreeBSD also supports the creation and use of " "memory disks. One possible use for a memory disk is to access the contents " @@ -48371,7 +48525,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:33691 +#: book.translate.xml:33745 msgid "" "In FreeBSD, the <citerefentry><refentrytitle>md</refentrytitle><manvolnum>4</" "manvolnum></citerefentry> driver is used to provide support for memory " @@ -48380,23 +48534,23 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:33696 +#: book.translate.xml:33750 #, no-wrap msgid "device md" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:33699 +#: book.translate.xml:33753 msgid "Attaching and Detaching Existing Images" msgstr "連接與解除連接既有的映象檔" #. (itstool) path: sect2/indexterm -#: book.translate.xml:33701 +#: book.translate.xml:33755 msgid "<primary>disks</primary> <secondary>memory</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33706 +#: book.translate.xml:33760 msgid "" "To mount an existing file system image, use <command>mdconfig</command> to " "specify the name of the <acronym>ISO</acronym> file and a free unit number. " @@ -48408,7 +48562,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:33716 +#: book.translate.xml:33770 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mdconfig -f <replaceable>diskimage.iso</replaceable> -u <replaceable>0</replaceable></userinput>\n" @@ -48416,7 +48570,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33719 +#: book.translate.xml:33773 msgid "" "If a unit number is not specified with <option>-u</option>, " "<command>mdconfig</command> will automatically allocate an unused memory " @@ -48427,12 +48581,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:33726 +#: book.translate.xml:33780 msgid "<primary>disks</primary> <secondary>detaching a memory disk</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33731 +#: book.translate.xml:33785 msgid "" "When a memory disk is no longer in use, its resources should be released " "back to the system. First, unmount the file system, then use " @@ -48441,7 +48595,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:33737 +#: book.translate.xml:33791 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>umount /mnt</userinput>\n" @@ -48449,24 +48603,24 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33740 +#: book.translate.xml:33794 msgid "" "To determine if any memory disks are still attached to the system, type " "<command>mdconfig -l</command>." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:33745 +#: book.translate.xml:33799 msgid "Creating a File- or Memory-Backed Memory Disk" msgstr "建立以檔案或記憶體為基底的磁碟" #. (itstool) path: sect2/indexterm -#: book.translate.xml:33747 +#: book.translate.xml:33801 msgid "<primary>disks</primary> <secondary>memory file system</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33751 +#: book.translate.xml:33805 msgid "" "FreeBSD also supports memory disks where the storage to use is allocated " "from either a hard disk or an area of memory. The first method is commonly " @@ -48476,7 +48630,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33758 +#: book.translate.xml:33812 msgid "" "To create a new memory-backed file system, specify a type of <literal>swap</" "literal> and the size of the memory disk to create. Then, format the memory " @@ -48486,7 +48640,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:33766 +#: book.translate.xml:33820 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mdconfig -a -t swap -s <replaceable>5</replaceable>m -u <replaceable>1</replaceable></userinput>\n" @@ -48503,7 +48657,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33778 +#: book.translate.xml:33832 msgid "" "To create a new file-backed memory disk, first allocate an area of disk to " "use. This example creates an empty 5K file named <filename>newimage</" @@ -48511,7 +48665,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:33782 +#: book.translate.xml:33836 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>dd if=/dev/zero of=<replaceable>newimage</replaceable> bs=1k count=<replaceable>5</replaceable>k</userinput>\n" @@ -48520,7 +48674,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33786 +#: book.translate.xml:33840 msgid "" "Next, attach that file to a memory disk, label the memory disk and format it " "with the <acronym>UFS</acronym> file system, mount the memory disk, and " @@ -48528,7 +48682,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:33791 +#: book.translate.xml:33845 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mdconfig -f <replaceable>newimage</replaceable> -u <replaceable>0</replaceable></userinput>\n" @@ -48545,7 +48699,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33803 +#: book.translate.xml:33857 msgid "" "It takes several commands to create a file- or memory-backed file system " "using <command>mdconfig</command>. FreeBSD also comes with <command>mdmfs</" @@ -48557,26 +48711,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:33814 +#: book.translate.xml:33868 #, no-wrap msgid "<prompt>#</prompt> <userinput>mdmfs -F <replaceable>newimage</replaceable> -s <replaceable>5</replaceable>m md<replaceable>0</replaceable> <replaceable>/mnt</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33816 +#: book.translate.xml:33870 msgid "" "To instead create a new memory-based memory disk with <command>mdmfs</" "command>, use this one command:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:33819 +#: book.translate.xml:33873 #, no-wrap msgid "<prompt>#</prompt> <userinput>mdmfs -s <replaceable>5</replaceable>m md<replaceable>1</replaceable> <replaceable>/mnt</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33821 +#: book.translate.xml:33875 msgid "" "If the unit number is not specified, <command>mdmfs</command> will " "automatically select an unused memory device. For more details about " @@ -48585,24 +48739,24 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:33830 +#: book.translate.xml:33884 msgid "File System Snapshots" msgstr "檔案系統快照" #. (itstool) path: sect1/indexterm -#: book.translate.xml:33843 +#: book.translate.xml:33897 msgid "<primary>file systems</primary> <secondary>snapshots</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:33848 +#: book.translate.xml:33902 msgid "" "FreeBSD offers a feature in conjunction with <link linkend=\"soft-updates" "\">Soft Updates</link>: file system snapshots." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:33852 +#: book.translate.xml:33906 msgid "" "UFS snapshots allow a user to create images of specified file systems, and " "treat them as a file. Snapshot files must be created in the file system that " @@ -48617,7 +48771,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:33864 +#: book.translate.xml:33918 msgid "" "The un-alterable <option>snapshot</option> file flag is set by " "<citerefentry><refentrytitle>mksnap_ffs</refentrytitle><manvolnum>8</" @@ -48628,7 +48782,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:33869 +#: book.translate.xml:33923 msgid "" "Snapshots are created using <citerefentry><refentrytitle>mount</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>. To place a snapshot " @@ -48637,26 +48791,26 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:33874 +#: book.translate.xml:33928 #, no-wrap msgid "<prompt>#</prompt> <userinput>mount -u -o snapshot /var/snapshot/snap /var</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:33876 +#: book.translate.xml:33930 msgid "" "Alternatively, use <citerefentry><refentrytitle>mksnap_ffs</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> to create the snapshot:" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:33879 +#: book.translate.xml:33933 #, no-wrap msgid "<prompt>#</prompt> <userinput>mksnap_ffs /var /var/snapshot/snap</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:33881 +#: book.translate.xml:33935 msgid "" "One can find snapshot files on a file system, such as <filename>/var</" "filename>, using <citerefentry><refentrytitle>find</" @@ -48664,25 +48818,25 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:33885 +#: book.translate.xml:33939 #, no-wrap msgid "<prompt>#</prompt> <userinput>find /var -flags snapshot</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:33887 +#: book.translate.xml:33941 msgid "Once a snapshot has been created, it has several uses:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:33892 +#: book.translate.xml:33946 msgid "" "Some administrators will use a snapshot file for backup purposes, because " "the snapshot can be transferred to <acronym>CD</acronym>s or tape." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:33898 +#: book.translate.xml:33952 msgid "" "The file system integrity checker, <citerefentry><refentrytitle>fsck</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, may be run on the " @@ -48691,7 +48845,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:33905 +#: book.translate.xml:33959 msgid "" "Running <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> on the snapshot will produce a dump file that is " @@ -48702,7 +48856,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:33913 +#: book.translate.xml:33967 msgid "" "The snapshot can be mounted as a frozen image of the file system. To " "<citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></" @@ -48710,7 +48864,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/screen -#: book.translate.xml:33917 +#: book.translate.xml:33971 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mdconfig -a -t vnode -o readonly -f /var/snapshot/snap -u 4</userinput>\n" @@ -48718,7 +48872,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:33922 +#: book.translate.xml:33976 msgid "" "The frozen <filename>/var</filename> is now available through <filename>/" "mnt</filename>. Everything will initially be in the same state it was during " @@ -48727,7 +48881,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:33928 +#: book.translate.xml:33982 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>umount /mnt</userinput>\n" @@ -48735,7 +48889,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:33931 +#: book.translate.xml:33985 msgid "" "For more information about <option>softupdates</option> and file system " "snapshots, including technical papers, visit Marshall Kirk McKusick's " @@ -48744,17 +48898,17 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:33937 +#: book.translate.xml:33991 msgid "Disk Quotas" msgstr "磁碟配額" #. (itstool) path: sect1/indexterm -#: book.translate.xml:33939 +#: book.translate.xml:33993 msgid "<primary>accounting</primary> <secondary>disk space</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:33945 +#: book.translate.xml:33999 msgid "" "Disk quotas can be used to limit the amount of disk space or the number of " "files a user or members of a group may allocate on a per-file system basis. " @@ -48765,7 +48919,7 @@ msgstr "" "案數量。這個可避免一個使用者或群組成員耗盡所有磁碟的可用空間。" #. (itstool) path: sect1/para -#: book.translate.xml:33950 +#: book.translate.xml:34004 msgid "" "This section describes how to configure disk quotas for the <acronym>UFS</" "acronym> file system. To configure quotas on the <acronym>ZFS</acronym> file " @@ -48776,17 +48930,17 @@ msgstr "" "quota\"/>" #. (itstool) path: sect2/title -#: book.translate.xml:33955 +#: book.translate.xml:34009 msgid "Enabling Disk Quotas" msgstr "開啟磁碟配額" #. (itstool) path: sect2/para -#: book.translate.xml:33957 +#: book.translate.xml:34011 msgid "To determine if the FreeBSD kernel provides support for disk quotas:" msgstr "查看 FreeBSD 核心是否支援磁碟配額:" #. (itstool) path: sect2/screen -#: book.translate.xml:33960 +#: book.translate.xml:34014 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>sysctl kern.features.ufs_quota</userinput>\n" @@ -48794,7 +48948,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33963 +#: book.translate.xml:34017 msgid "" "In this example, the <literal>1</literal> indicates quota support. If the " "value is instead <literal>0</literal>, add the following line to a custom " @@ -48806,29 +48960,29 @@ msgstr "" "\"kernelconfig\"/> 的指示重新編譯核心:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:33968 +#: book.translate.xml:34022 #, no-wrap msgid "options QUOTA" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33970 +#: book.translate.xml:34024 msgid "Next, enable disk quotas in <filename>/etc/rc.conf</filename>:" msgstr "接著,在 <filename>/etc/rc.conf</filename> 開啟磁碟配額:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:33973 +#: book.translate.xml:34027 #, no-wrap msgid "quota_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:33975 book.translate.xml:34109 +#: book.translate.xml:34029 book.translate.xml:34163 msgid "<primary>disk quotas</primary> <secondary>checking</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33979 +#: book.translate.xml:34033 msgid "" "Normally on bootup, the quota integrity of each file system is checked by " "<citerefentry><refentrytitle>quotacheck</refentrytitle><manvolnum>8</" @@ -48845,13 +48999,13 @@ msgstr "" "到 <filename>/etc/rc.conf</filename>:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:33987 +#: book.translate.xml:34041 #, no-wrap msgid "check_quotas=\"NO\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33989 +#: book.translate.xml:34043 msgid "" "Finally, edit <filename>/etc/fstab</filename> to enable disk quotas on a per-" "file system basis. To enable per-user quotas on a file system, add " @@ -48863,13 +49017,13 @@ msgstr "" "到 <filename>/etc/fstab</filename> 要開啟配額的檔案系統的項目中。例如:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:33995 +#: book.translate.xml:34049 #, no-wrap msgid "/dev/da1s2g /home ufs rw,userquota 1 2" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:33997 +#: book.translate.xml:34051 msgid "" "To enable group quotas, use <option>groupquota</option> instead. To enable " "both user and group quotas, separate the options with a comma:" @@ -48878,13 +49032,13 @@ msgstr "" "額,可使用逗號隔開選項:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:34001 +#: book.translate.xml:34055 #, no-wrap msgid "/dev/da1s2g /home ufs rw,userquota,groupquota 1 2" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34003 +#: book.translate.xml:34057 msgid "" "By default, quota files are stored in the root directory of the file system " "as <filename>quota.user</filename> and <filename>quota.group</filename>. " @@ -48898,7 +49052,7 @@ msgstr "" "議指定其他位置來儲存配額檔案。" #. (itstool) path: sect2/para -#: book.translate.xml:34009 +#: book.translate.xml:34063 msgid "" "Once the configuration is complete, reboot the system and <filename>/etc/rc</" "filename> will automatically run the appropriate commands to create the " @@ -48910,7 +49064,7 @@ msgstr "" "檔。" #. (itstool) path: sect2/para -#: book.translate.xml:34015 +#: book.translate.xml:34069 msgid "" "In the normal course of operations, there should be no need to manually run " "<citerefentry><refentrytitle>quotacheck</refentrytitle><manvolnum>8</" @@ -48928,42 +49082,42 @@ msgstr "" "指令的操作手冊來熟悉這些指令的操作。" #. (itstool) path: sect2/title -#: book.translate.xml:34022 +#: book.translate.xml:34076 msgid "Setting Quota Limits" msgstr "設定配額限制" #. (itstool) path: sect2/indexterm -#: book.translate.xml:34024 +#: book.translate.xml:34078 msgid "<primary>disk quotas</primary> <secondary>limits</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34029 +#: book.translate.xml:34083 msgid "To verify that quotas are enabled, run:" msgstr "要確認配額已經開啟,可執行:" #. (itstool) path: sect2/screen -#: book.translate.xml:34032 +#: book.translate.xml:34086 #, no-wrap msgid "<prompt>#</prompt> <userinput>quota -v</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34034 +#: book.translate.xml:34088 msgid "" "There should be a one line summary of disk usage and current quota limits " "for each file system that quotas are enabled on." msgstr "每個有開啟配額的檔案系統應該會有一行磁碟用量及目前配額限制的摘要。" #. (itstool) path: sect2/para -#: book.translate.xml:34038 +#: book.translate.xml:34092 msgid "" "The system is now ready to be assigned quota limits with <command>edquota</" "command>." msgstr "現在系統已準備好可以使用 <command>edquota</command> 分配配額限制。" #. (itstool) path: sect2/para -#: book.translate.xml:34041 +#: book.translate.xml:34095 msgid "" "Several options are available to enforce limits on the amount of disk space " "a user or group may allocate, and how many files they may create. " @@ -48976,12 +49130,12 @@ msgstr "" "可進一步細分為兩個類型:硬性 (Hard) 及軟性 (Soft) 限制。" #. (itstool) path: sect2/indexterm -#: book.translate.xml:34048 +#: book.translate.xml:34102 msgid "<primary>hard limit</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34049 +#: book.translate.xml:34103 msgid "" "A hard limit may not be exceeded. Once a user reaches a hard limit, no " "further allocations can be made on that file system by that user. For " @@ -48995,12 +49149,12 @@ msgstr "" "的空間將會失敗。" #. (itstool) path: sect2/indexterm -#: book.translate.xml:34057 +#: book.translate.xml:34111 msgid "<primary>soft limit</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34058 +#: book.translate.xml:34112 msgid "" "Soft limits can be exceeded for a limited amount of time, known as the grace " "period, which is one week by default. If a user stays over their limit " @@ -49013,7 +49167,7 @@ msgstr "" "空間。當使用者使用的空間回到低於軟性限制內,寬限期就會被重置。" #. (itstool) path: sect2/para -#: book.translate.xml:34065 +#: book.translate.xml:34119 msgid "" "In the following example, the quota for the <systemitem class=\"username" "\">test</systemitem> account is being edited. When <command>edquota</" @@ -49026,7 +49180,7 @@ msgstr "" "的編輯器來編輯配額限制。預設的編輯器為 <application>vi</application>。" #. (itstool) path: sect2/screen -#: book.translate.xml:34071 +#: book.translate.xml:34125 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>edquota -u test</userinput>\n" @@ -49038,7 +49192,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34078 +#: book.translate.xml:34132 msgid "" "There are normally two lines for each file system that has quotas enabled. " "One line represents the block limits and the other represents the inode " @@ -49053,18 +49207,18 @@ msgstr "" "性限制到 <literal>600</literal>,可更改行內的值如下:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:34087 +#: book.translate.xml:34141 #, no-wrap msgid "/usr: kbytes in use: 65, limits (soft = 500, hard = 600)" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34089 +#: book.translate.xml:34143 msgid "The new quota limits take affect upon exiting the editor." msgstr "新的配額限制將在離開編輯器後生效。" #. (itstool) path: sect2/para -#: book.translate.xml:34092 +#: book.translate.xml:34146 msgid "" "Sometimes it is desirable to set quota limits on a range of users. This can " "be done by first assigning the desired quota limit to a user. Then, use " @@ -49079,13 +49233,13 @@ msgstr "" "<literal>10,000</literal> 到 <literal>19,999</literal> 的使用者:" #. (itstool) path: sect2/screen -#: book.translate.xml:34101 +#: book.translate.xml:34155 #, no-wrap msgid "<prompt>#</prompt> <userinput>edquota -p test 10000-19999</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34103 +#: book.translate.xml:34157 msgid "" "For more information, refer to <citerefentry><refentrytitle>edquota</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>." @@ -49094,12 +49248,12 @@ msgstr "" "refentrytitle><manvolnum>8</manvolnum></citerefentry>。" #. (itstool) path: sect2/title -#: book.translate.xml:34107 +#: book.translate.xml:34161 msgid "Checking Quota Limits and Disk Usage" msgstr "檢查配額限制與磁碟使用狀況" #. (itstool) path: sect2/para -#: book.translate.xml:34114 +#: book.translate.xml:34168 msgid "" "To check individual user or group quotas and disk usage, use " "<citerefentry><refentrytitle>quota</refentrytitle><manvolnum>1</manvolnum></" @@ -49117,7 +49271,7 @@ msgstr "" "refentrytitle><manvolnum>8</manvolnum></citerefentry>。" #. (itstool) path: sect2/para -#: book.translate.xml:34121 +#: book.translate.xml:34175 msgid "" "Normally, file systems that the user is not using any disk space on will not " "show in the output of <command>quota</command>, even if the user has a quota " @@ -49131,7 +49285,7 @@ msgstr "" "查詢某個使用者在兩個檔案系統上的配額限制的範例輸出。" #. (itstool) path: sect2/programlisting -#: book.translate.xml:34129 +#: book.translate.xml:34183 #, no-wrap msgid "" "Disk quotas for user test (uid 1002):\n" @@ -49141,12 +49295,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:34134 +#: book.translate.xml:34188 msgid "<primary>grace period</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34136 +#: book.translate.xml:34190 msgid "" "In this example, the user is currently 15 kbytes over the soft limit of 50 " "kbytes on <filename>/usr</filename> and has 5 days of grace period left. The " @@ -49158,18 +49312,18 @@ msgstr "" "超出配額限制。" #. (itstool) path: sect2/title -#: book.translate.xml:34144 +#: book.translate.xml:34198 msgid "Quotas over NFS" msgstr "NFS 上的配額" #. (itstool) path: sect2/indexterm #. (itstool) path: sect1/indexterm -#: book.translate.xml:34146 book.translate.xml:52689 +#: book.translate.xml:34200 book.translate.xml:52743 msgid "<primary>NFS</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34148 +#: book.translate.xml:34202 msgid "" "Quotas are enforced by the quota subsystem on the <acronym>NFS</acronym> " "server. The <citerefentry><refentrytitle>rpc.rquotad</" @@ -49184,7 +49338,7 @@ msgstr "" "訊。" #. (itstool) path: sect2/para -#: book.translate.xml:34154 +#: book.translate.xml:34208 msgid "" "On the <acronym>NFS</acronym> server, enable <command>rpc.rquotad</command> " "by removing the <literal>#</literal> from this line in <filename>/etc/inetd." @@ -49194,23 +49348,23 @@ msgstr "" "<command>rpc.rquotad</command> 行前的 <literal>#</literal> 移除來開啟:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:34159 +#: book.translate.xml:34213 #, no-wrap msgid "rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34161 +#: book.translate.xml:34215 msgid "Then, restart <command>inetd</command>:" msgstr "然後重新啟動 <command>inetd</command>:" #. (itstool) path: info/title -#: book.translate.xml:34169 +#: book.translate.xml:34223 msgid "Encrypting Disk Partitions" msgstr "磁碟分割區加密" #. (itstool) path: affiliation/address -#: book.translate.xml:34179 +#: book.translate.xml:34233 #, no-wrap msgid "" "\n" @@ -49219,7 +49373,7 @@ msgid "" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:34172 +#: book.translate.xml:34226 msgid "" "<personname> <firstname>Lucky</firstname> <surname>Green</surname> </" "personname> <contrib>Contributed by </contrib> <affiliation> <_:address-1/> " @@ -49227,12 +49381,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:34187 +#: book.translate.xml:34241 msgid "<primary>disks</primary> <secondary>encrypting</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:34192 +#: book.translate.xml:34246 msgid "" "FreeBSD offers excellent online protections against unauthorized data " "access. File permissions and <link linkend=\"mac\">Mandatory Access Control</" @@ -49244,7 +49398,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:34201 +#: book.translate.xml:34255 msgid "" "Regardless of how an attacker may have come into possession of a hard drive " "or powered-down computer, the <acronym>GEOM</acronym>-based cryptographic " @@ -49257,7 +49411,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:34212 +#: book.translate.xml:34266 msgid "" "This chapter demonstrates how to create an encrypted file system on FreeBSD. " "It first demonstrates the process using <command>gbde</command> and then " @@ -49265,12 +49419,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:34218 +#: book.translate.xml:34272 msgid "Disk Encryption with <application>gbde</application>" msgstr "使用 <application>gbde</application> 做磁碟加密" #. (itstool) path: sect2/para -#: book.translate.xml:34221 +#: book.translate.xml:34275 msgid "" "The objective of the <citerefentry><refentrytitle>gbde</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> facility is to provide " @@ -49284,7 +49438,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34232 +#: book.translate.xml:34286 msgid "" "This facility provides several barriers to protect the data stored in each " "disk sector. It encrypts the contents of a disk sector using 128-bit " @@ -49297,31 +49451,31 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34241 +#: book.translate.xml:34295 msgid "" "FreeBSD provides a kernel module for <application>gbde</application> which " "can be loaded with this command:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:34245 +#: book.translate.xml:34299 #, no-wrap msgid "<prompt>#</prompt> <userinput>kldload geom_bde</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34247 +#: book.translate.xml:34301 msgid "" "If using a custom kernel configuration file, ensure it contains this line:" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34250 +#: book.translate.xml:34304 msgid "<literal>options GEOM_BDE</literal>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34252 +#: book.translate.xml:34306 msgid "" "The following example demonstrates adding a new hard drive to a system that " "will hold a single encrypted partition that will be mounted as <filename>/" @@ -49329,17 +49483,17 @@ msgid "" msgstr "" #. (itstool) path: procedure/title -#: book.translate.xml:34257 +#: book.translate.xml:34311 msgid "Encrypting a Partition with <application>gbde</application>" msgstr "" #. (itstool) path: step/title -#: book.translate.xml:34261 +#: book.translate.xml:34315 msgid "Add the New Hard Drive" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:34263 +#: book.translate.xml:34317 msgid "" "Install the new drive to the system as explained in <xref linkend=\"disks-" "adding\"/>. For the purposes of this example, a new hard drive partition has " @@ -49349,7 +49503,7 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:34270 +#: book.translate.xml:34324 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ls /dev/ad*</userinput>\n" @@ -49359,18 +49513,18 @@ msgid "" msgstr "" #. (itstool) path: step/title -#: book.translate.xml:34277 +#: book.translate.xml:34331 msgid "Create a Directory to Hold <command>gbde</command> Lock Files" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:34280 +#: book.translate.xml:34334 #, no-wrap msgid "<prompt>#</prompt> <userinput>mkdir /etc/gbde</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:34282 +#: book.translate.xml:34336 msgid "" "The <application>gbde</application> lock file contains information that " "<application>gbde</application> requires to access encrypted partitions. " @@ -49381,12 +49535,12 @@ msgid "" msgstr "" #. (itstool) path: step/title -#: book.translate.xml:34293 +#: book.translate.xml:34347 msgid "Initialize the <command>gbde</command> Partition" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:34296 +#: book.translate.xml:34350 msgid "" "A <application>gbde</application> partition must be initialized before it " "can be used. This initialization needs to be performed only once. This " @@ -49396,7 +49550,7 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:34304 +#: book.translate.xml:34358 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c.lock</userinput># $FreeBSD$\n" @@ -49411,7 +49565,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:34314 +#: book.translate.xml:34368 msgid "" "Once the edit is saved, the user will be asked twice to type the passphrase " "used to secure the data. The passphrase must be the same both times. The " @@ -49423,7 +49577,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:34322 +#: book.translate.xml:34376 msgid "" "This initialization creates a lock file for the <application>gbde</" "application> partition. In this example, it is stored as <filename>/etc/gbde/" @@ -49433,7 +49587,7 @@ msgid "" msgstr "" #. (itstool) path: caution/para -#: book.translate.xml:34331 +#: book.translate.xml:34385 msgid "" "Lock files <emphasis>must</emphasis> be backed up together with the contents " "of any encrypted partitions. Without the lock file, the legitimate owner " @@ -49441,18 +49595,18 @@ msgid "" msgstr "" #. (itstool) path: step/title -#: book.translate.xml:34340 +#: book.translate.xml:34394 msgid "Attach the Encrypted Partition to the Kernel" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:34343 +#: book.translate.xml:34397 #, no-wrap msgid "<prompt>#</prompt> <userinput>gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:34345 +#: book.translate.xml:34399 msgid "" "This command will prompt to input the passphrase that was selected during " "the initialization of the encrypted partition. The new encrypted device will " @@ -49461,7 +49615,7 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:34351 +#: book.translate.xml:34405 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ls /dev/ad*</userinput>\n" @@ -49471,12 +49625,12 @@ msgid "" msgstr "" #. (itstool) path: step/title -#: book.translate.xml:34358 +#: book.translate.xml:34412 msgid "Create a File System on the Encrypted Device" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:34361 +#: book.translate.xml:34415 msgid "" "Once the encrypted device has been attached to the kernel, a file system can " "be created on the device. This example creates a <acronym>UFS</acronym> file " @@ -49485,23 +49639,23 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:34369 +#: book.translate.xml:34423 #, no-wrap msgid "<prompt>#</prompt> <userinput>newfs -U /dev/ad4s1c.bde</userinput>" msgstr "" #. (itstool) path: step/title -#: book.translate.xml:34373 +#: book.translate.xml:34427 msgid "Mount the Encrypted Partition" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:34375 +#: book.translate.xml:34429 msgid "Create a mount point and mount the encrypted file system:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:34378 +#: book.translate.xml:34432 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mkdir /private</userinput>\n" @@ -49509,17 +49663,17 @@ msgid "" msgstr "" #. (itstool) path: step/title -#: book.translate.xml:34383 +#: book.translate.xml:34437 msgid "Verify That the Encrypted File System is Available" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:34386 +#: book.translate.xml:34440 msgid "The encrypted file system should now be visible and available for use:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:34389 +#: book.translate.xml:34443 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>df -H</userinput>\n" @@ -49533,7 +49687,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34400 +#: book.translate.xml:34454 msgid "" "After each boot, any encrypted file systems must be manually re-attached to " "the kernel, checked for errors, and mounted, before the file systems can be " @@ -49542,7 +49696,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:34406 +#: book.translate.xml:34460 #, no-wrap msgid "" "gbde_autoattach_all=\"YES\"\n" @@ -49551,7 +49705,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34410 +#: book.translate.xml:34464 msgid "" "This requires that the passphrase be entered at the console at boot time. " "After typing the correct passphrase, the encrypted partition will be mounted " @@ -49561,7 +49715,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:34420 +#: book.translate.xml:34474 msgid "" "<application>sysinstall</application> is incompatible with " "<application>gbde</application>-encrypted devices. All <filename>*.bde</" @@ -49572,18 +49726,18 @@ msgid "" msgstr "" #. (itstool) path: note/screen -#: book.translate.xml:34428 +#: book.translate.xml:34482 #, no-wrap msgid "<prompt>#</prompt> <userinput>gbde detach /dev/<replaceable>ad4s1c</replaceable></userinput>" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:34434 +#: book.translate.xml:34488 msgid "Disk Encryption with <command>geli</command>" msgstr "使用 <command>geli</command> 做磁碟加密" #. (itstool) path: sect2/para -#: book.translate.xml:34447 +#: book.translate.xml:34501 msgid "" "An alternative cryptographic <acronym>GEOM</acronym> class is available " "using <command>geli</command>. This control utility adds some features and " @@ -49592,7 +49746,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34455 +#: book.translate.xml:34509 msgid "" "Utilizes the <citerefentry><refentrytitle>crypto</" "refentrytitle><manvolnum>9</manvolnum></citerefentry> framework and " @@ -49600,31 +49754,31 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34461 +#: book.translate.xml:34515 msgid "" "Supports multiple cryptographic algorithms such as <acronym>AES</acronym>, " "Blowfish, and <acronym>3DES</acronym>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34467 +#: book.translate.xml:34521 msgid "" "Allows the root partition to be encrypted. The passphrase used to access the " "encrypted root partition will be requested during system boot." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34473 +#: book.translate.xml:34527 msgid "Allows the use of two independent keys." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34477 +#: book.translate.xml:34531 msgid "It is fast as it performs simple sector-to-sector encryption." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34482 +#: book.translate.xml:34536 msgid "" "Allows backup and restore of master keys. If a user destroys their keys, it " "is still possible to get access to the data by restoring keys from the " @@ -49632,14 +49786,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34488 +#: book.translate.xml:34542 msgid "" "Allows a disk to attach with a random, one-time key which is useful for swap " "partitions and temporary file systems." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34494 +#: book.translate.xml:34548 msgid "" "More features and usage examples can be found in " "<citerefentry><refentrytitle>geli</refentrytitle><manvolnum>8</manvolnum></" @@ -49647,7 +49801,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34497 +#: book.translate.xml:34551 msgid "" "The following example describes how to generate a key file which will be " "used as part of the master key for the encrypted provider mounted under " @@ -49659,17 +49813,17 @@ msgid "" msgstr "" #. (itstool) path: procedure/title -#: book.translate.xml:34508 +#: book.translate.xml:34562 msgid "Encrypting a Partition with <command>geli</command>" msgstr "" #. (itstool) path: step/title -#: book.translate.xml:34512 +#: book.translate.xml:34566 msgid "Load <command>geli</command> Support" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:34514 +#: book.translate.xml:34568 msgid "" "Support for <command>geli</command> is available as a loadable kernel " "module. To configure the system to automatically load the module at boot " @@ -49677,31 +49831,31 @@ msgid "" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:34520 +#: book.translate.xml:34574 #, no-wrap msgid "geom_eli_load=\"YES\"" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:34522 +#: book.translate.xml:34576 msgid "To load the kernel module now:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:34524 +#: book.translate.xml:34578 #, no-wrap msgid "<prompt>#</prompt> <userinput>kldload geom_eli</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:34526 +#: book.translate.xml:34580 msgid "" "For a custom kernel, ensure the kernel configuration file contains these " "lines:" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:34529 +#: book.translate.xml:34583 #, no-wrap msgid "" "options GEOM_ELI\n" @@ -49709,12 +49863,12 @@ msgid "" msgstr "" #. (itstool) path: step/title -#: book.translate.xml:34534 +#: book.translate.xml:34588 msgid "Generate the Master Key" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:34536 +#: book.translate.xml:34590 msgid "" "The following commands generate a master key (<filename>/root/da2.key</" "filename>) that is protected with a passphrase. The data source for the key " @@ -49724,7 +49878,7 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:34543 +#: book.translate.xml:34597 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>dd if=/dev/random of=/root/da2.key bs=64 count=1</userinput>\n" @@ -49734,39 +49888,39 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:34548 +#: book.translate.xml:34602 msgid "" "It is not mandatory to use both a passphrase and a key file as either method " "of securing the master key can be used in isolation." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:34552 +#: book.translate.xml:34606 msgid "" "If the key file is given as <quote>-</quote>, standard input will be used. " "For example, this command generates three key files:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:34556 +#: book.translate.xml:34610 #, no-wrap msgid "<prompt>#</prompt> <userinput>cat keyfile1 keyfile2 keyfile3 | geli init -K - /dev/da2</userinput>" msgstr "" #. (itstool) path: step/title -#: book.translate.xml:34560 +#: book.translate.xml:34614 msgid "Attach the Provider with the Generated Key" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:34562 +#: book.translate.xml:34616 msgid "" "To attach the provider, specify the key file, the name of the disk, and the " "passphrase:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:34565 +#: book.translate.xml:34619 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>geli attach -k /root/da2.key /dev/da2</userinput>\n" @@ -49774,12 +49928,12 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:34568 +#: book.translate.xml:34622 msgid "This creates a new device with an <filename>.eli</filename> extension:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:34571 +#: book.translate.xml:34625 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ls /dev/da2*</userinput>\n" @@ -49787,19 +49941,19 @@ msgid "" msgstr "" #. (itstool) path: step/title -#: book.translate.xml:34576 +#: book.translate.xml:34630 msgid "Create the New File System" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:34578 +#: book.translate.xml:34632 msgid "" "Next, format the device with the <acronym>UFS</acronym> file system and " "mount it on an existing mount point:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:34582 +#: book.translate.xml:34636 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>dd if=/dev/random of=/dev/da2.eli bs=1m</userinput>\n" @@ -49808,12 +49962,12 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:34586 +#: book.translate.xml:34640 msgid "The encrypted file system should now be available for use:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:34589 +#: book.translate.xml:34643 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>df -H</userinput>\n" @@ -49827,7 +49981,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34600 +#: book.translate.xml:34654 msgid "" "Once the work on the encrypted partition is done, and the <filename>/" "private</filename> partition is no longer needed, it is prudent to put the " @@ -49836,7 +49990,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:34606 +#: book.translate.xml:34660 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>umount /private</userinput>\n" @@ -49844,7 +49998,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34609 +#: book.translate.xml:34663 msgid "" "A <filename>rc.d</filename> script is provided to simplify the mounting of " "<command>geli</command>-encrypted devices at boot time. For this example, " @@ -49852,7 +50006,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:34614 +#: book.translate.xml:34668 #, no-wrap msgid "" "geli_devices=\"<replaceable>da2</replaceable>\"\n" @@ -49860,7 +50014,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34617 +#: book.translate.xml:34671 msgid "" "This configures <filename>/dev/da2</filename> as a <command>geli</command> " "provider with a master key of <filename>/root/da2.key</filename>. The system " @@ -49876,24 +50030,24 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:34635 +#: book.translate.xml:34689 msgid "Encrypting Swap" msgstr "交換空間加密" #. (itstool) path: authorgroup/author -#: book.translate.xml:34638 +#: book.translate.xml:34692 msgid "" "<personname> <firstname>Christian</firstname> <surname>Brueffer</surname> </" "personname> <contrib>Written by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:34648 +#: book.translate.xml:34702 msgid "<primary>swap</primary> <secondary>encrypting</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:34653 +#: book.translate.xml:34707 msgid "" "Like the encryption of disk partitions, encryption of swap space is used to " "protect sensitive information. Consider an application that deals with " @@ -49905,7 +50059,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:34662 +#: book.translate.xml:34716 msgid "" "This section demonstrates how to configure an encrypted swap partition using " "<citerefentry><refentrytitle>gbde</refentrytitle><manvolnum>8</manvolnum></" @@ -49915,12 +50069,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:34668 +#: book.translate.xml:34722 msgid "Configuring Encrypted Swap" msgstr "設定已加密的交換空間" #. (itstool) path: sect2/para -#: book.translate.xml:34670 +#: book.translate.xml:34724 msgid "" "Swap partitions are not encrypted by default and should be cleared of any " "sensitive data before continuing. To overwrite the current swap partition " @@ -49928,13 +50082,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:34675 +#: book.translate.xml:34729 #, no-wrap msgid "<prompt>#</prompt> <userinput>dd if=/dev/random of=/dev/<replaceable>ada0s1b</replaceable> bs=1m</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34677 +#: book.translate.xml:34731 msgid "" "To encrypt the swap partition using <citerefentry><refentrytitle>gbde</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, add the <literal>." @@ -49942,7 +50096,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:34681 +#: book.translate.xml:34735 #, no-wrap msgid "" "# Device\t\tMountpoint\tFStype\tOptions\t\tDump\tPass#\n" @@ -49950,7 +50104,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34684 +#: book.translate.xml:34738 msgid "" "To instead encrypt the swap partition using " "<citerefentry><refentrytitle>geli</refentrytitle><manvolnum>8</manvolnum></" @@ -49958,7 +50112,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:34688 +#: book.translate.xml:34742 #, no-wrap msgid "" "# Device\t\tMountpoint\tFStype\tOptions\t\tDump\tPass#\n" @@ -49966,7 +50120,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34691 +#: book.translate.xml:34745 msgid "" "By default, <citerefentry><refentrytitle>geli</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> uses the <acronym>AES</acronym> algorithm with a " @@ -49976,12 +50130,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:34700 +#: book.translate.xml:34754 msgid "aalgo" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34702 +#: book.translate.xml:34756 msgid "" "Data integrity verification algorithm used to ensure that the encrypted data " "has not been tampered with. See <citerefentry><refentrytitle>geli</" @@ -49990,12 +50144,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:34709 +#: book.translate.xml:34763 msgid "ealgo" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34711 +#: book.translate.xml:34765 msgid "" "Encryption algorithm used to protect the data. See " "<citerefentry><refentrytitle>geli</refentrytitle><manvolnum>8</manvolnum></" @@ -50003,12 +50157,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:34717 +#: book.translate.xml:34771 msgid "keylen" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34719 +#: book.translate.xml:34773 msgid "" "The length of the key used for the encryption algorithm. See " "<citerefentry><refentrytitle>geli</refentrytitle><manvolnum>8</manvolnum></" @@ -50017,12 +50171,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:34726 +#: book.translate.xml:34780 msgid "sectorsize" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34728 +#: book.translate.xml:34782 msgid "" "The size of the blocks data is broken into before it is encrypted. Larger " "sector sizes increase performance at the cost of higher storage overhead. " @@ -50030,14 +50184,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34736 +#: book.translate.xml:34790 msgid "" "This example configures an encryped swap partition using the Blowfish " "algorithm with a key length of 128 bits and a sectorsize of 4 kilobytes:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:34740 +#: book.translate.xml:34794 #, no-wrap msgid "" "# Device\t\tMountpoint\tFStype\tOptions\t\t\t\tDump\tPass#\n" @@ -50045,26 +50199,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:34746 +#: book.translate.xml:34800 msgid "Encrypted Swap Verification" msgstr "加密的交換空間檢驗" #. (itstool) path: sect2/para -#: book.translate.xml:34748 +#: book.translate.xml:34802 msgid "" "Once the system has rebooted, proper operation of the encrypted swap can be " "verified using <command>swapinfo</command>." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34752 +#: book.translate.xml:34806 msgid "" "If <citerefentry><refentrytitle>gbde</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> is being used:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:34754 +#: book.translate.xml:34808 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>swapinfo</userinput>\n" @@ -50073,14 +50227,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34758 +#: book.translate.xml:34812 msgid "" "If <citerefentry><refentrytitle>geli</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> is being used:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:34760 +#: book.translate.xml:34814 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>swapinfo</userinput>\n" @@ -50089,45 +50243,45 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:34768 +#: book.translate.xml:34822 msgid "Highly Available Storage (<acronym>HAST</acronym>)" msgstr "高可用存儲空間 (<acronym>HAST</acronym>)" #. (itstool) path: authorgroup/author -#: book.translate.xml:34782 +#: book.translate.xml:34836 msgid "" "<personname> <firstname>Freddie</firstname> <surname>Cash</surname> </" "personname> <contrib>With inputs from </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:34790 +#: book.translate.xml:34844 msgid "" "<personname> <firstname>Pawel Jakub</firstname> <surname>Dawidek</surname> </" "personname>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:34797 +#: book.translate.xml:34851 msgid "" "<personname> <firstname>Michael W.</firstname> <surname>Lucas</surname> </" "personname>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:34804 +#: book.translate.xml:34858 msgid "" "<personname> <firstname>Viktor</firstname> <surname>Petersson</surname> </" "personname>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:34813 +#: book.translate.xml:34867 msgid "<primary>HAST</primary> <secondary>high availability</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:34818 +#: book.translate.xml:34872 msgid "" "High availability is one of the main requirements in serious business " "applications and highly-available storage is a key component in such " @@ -50143,60 +50297,60 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:34832 +#: book.translate.xml:34886 msgid "The following are the main features of <acronym>HAST</acronym>:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34837 +#: book.translate.xml:34891 msgid "Can be used to mask <acronym>I/O</acronym> errors on local hard drives." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34842 +#: book.translate.xml:34896 msgid "" "File system agnostic as it works with any file system supported by FreeBSD." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34847 +#: book.translate.xml:34901 msgid "" "Efficient and quick resynchronization as only the blocks that were modified " "during the downtime of a node are synchronized." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34860 +#: book.translate.xml:34914 msgid "" "Can be used in an already deployed environment to add additional redundancy." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34865 +#: book.translate.xml:34919 msgid "" "Together with <acronym>CARP</acronym>, <application>Heartbeat</application>, " "or other tools, it can be used to build a robust and durable storage system." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:34871 +#: book.translate.xml:34925 msgid "After reading this section, you will know:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34875 +#: book.translate.xml:34929 msgid "" "What <acronym>HAST</acronym> is, how it works, and which features it " "provides." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34880 +#: book.translate.xml:34934 msgid "How to set up and use <acronym>HAST</acronym> on FreeBSD." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34885 +#: book.translate.xml:34939 msgid "" "How to integrate <acronym>CARP</acronym> and " "<citerefentry><refentrytitle>devd</refentrytitle><manvolnum>8</manvolnum></" @@ -50204,26 +50358,26 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:34890 +#: book.translate.xml:34944 msgid "Before reading this section, you should:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34898 +#: book.translate.xml:34952 msgid "" "Know how to configure network interfaces and other core FreeBSD subsystems " "(<xref linkend=\"config-tuning\"/>)." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34903 +#: book.translate.xml:34957 msgid "" "Have a good understanding of FreeBSD networking (<xref linkend=\"network-" "communication\"/>)." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:34908 +#: book.translate.xml:34962 msgid "" "The <acronym>HAST</acronym> project was sponsored by The FreeBSD Foundation " "with support from <link xlink:href=\"http://www.omc.net/\">http://www.omc." @@ -50232,12 +50386,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:34913 +#: book.translate.xml:34967 msgid "HAST Operation" msgstr "HAST 運作模式" #. (itstool) path: sect2/para -#: book.translate.xml:34915 +#: book.translate.xml:34969 msgid "" "<acronym>HAST</acronym> provides synchronous block-level replication between " "two physical machines: the <emphasis>primary</emphasis>, also known as the " @@ -50247,7 +50401,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34923 +#: book.translate.xml:34977 msgid "" "Since <acronym>HAST</acronym> works in a primary-secondary configuration, it " "allows only one of the cluster nodes to be active at any given time. The " @@ -50258,14 +50412,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34931 +#: book.translate.xml:34985 msgid "" "The physical components of the <acronym>HAST</acronym> system are the local " "disk on primary node, and the disk on the remote, secondary node." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34935 +#: book.translate.xml:34989 msgid "" "<acronym>HAST</acronym> operates synchronously on a block level, making it " "transparent to file systems and applications. <acronym>HAST</acronym> " @@ -50275,7 +50429,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34943 +#: book.translate.xml:34997 msgid "" "Each write, delete, or flush operation is sent to both the local disk and to " "the remote disk over <acronym>TCP/IP</acronym>. Each read operation is " @@ -50285,7 +50439,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34950 +#: book.translate.xml:35004 msgid "" "<acronym>HAST</acronym> tries to provide fast failure recovery. For this " "reason, it is important to reduce synchronization time after a node's " @@ -50295,7 +50449,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:34958 +#: book.translate.xml:35012 msgid "" "There are many ways to handle synchronization. <acronym>HAST</acronym> " "implements several replication modes to handle different synchronization " @@ -50303,7 +50457,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34964 +#: book.translate.xml:35018 msgid "" "<emphasis>memsync</emphasis>: This mode reports a write operation as " "completed when the local write operation is finished and when the remote " @@ -50314,7 +50468,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34975 +#: book.translate.xml:35029 msgid "" "<emphasis>fullsync</emphasis>: This mode reports a write operation as " "completed when both the local write and the remote write complete. This is " @@ -50322,7 +50476,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:34982 +#: book.translate.xml:35036 msgid "" "<emphasis>async</emphasis>: This mode reports a write operation as completed " "when the local write completes. This is the fastest and the most dangerous " @@ -50331,17 +50485,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:34993 +#: book.translate.xml:35047 msgid "HAST Configuration" msgstr "HAST 設定" #. (itstool) path: sect2/para -#: book.translate.xml:34995 +#: book.translate.xml:35049 msgid "The <acronym>HAST</acronym> framework consists of several components:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:35000 +#: book.translate.xml:35054 msgid "" "The <citerefentry><refentrytitle>hastd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> daemon which provides data synchronization. When " @@ -50350,14 +50504,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:35006 +#: book.translate.xml:35060 msgid "" "The userland management utility, <citerefentry><refentrytitle>hastctl</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:35011 +#: book.translate.xml:35065 msgid "" "The <citerefentry><refentrytitle>hast.conf</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> configuration file. This file must exist before " @@ -50365,7 +50519,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35017 +#: book.translate.xml:35071 msgid "" "Users who prefer to statically build <literal>GEOM_GATE</literal> support " "into the kernel should add this line to the custom kernel configuration " @@ -50374,13 +50528,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:35022 +#: book.translate.xml:35076 #, no-wrap msgid "options\tGEOM_GATE" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35024 +#: book.translate.xml:35078 msgid "" "The following example describes how to configure two nodes in master-slave/" "primary-secondary operation using <acronym>HAST</acronym> to replicate the " @@ -50395,7 +50549,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35038 +#: book.translate.xml:35092 msgid "" "Configuration of <acronym>HAST</acronym> is done using <filename>/etc/hast." "conf</filename>. This file should be identical on both nodes. The simplest " @@ -50403,7 +50557,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:35043 +#: book.translate.xml:35097 #, no-wrap msgid "" "resource <replaceable>test</replaceable> {\n" @@ -50419,14 +50573,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35054 +#: book.translate.xml:35108 msgid "" "For more advanced configuration, refer to <citerefentry><refentrytitle>hast." "conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>." msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:35058 +#: book.translate.xml:35112 msgid "" "It is also possible to use host names in the <literal>remote</literal> " "statements if the hosts are resolvable and defined either in <filename>/etc/" @@ -50434,7 +50588,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35065 +#: book.translate.xml:35119 msgid "" "Once the configuration exists on both nodes, the <acronym>HAST</acronym> " "pool can be created. Run these commands on both nodes to place the initial " @@ -50444,7 +50598,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35070 +#: book.translate.xml:35124 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>hastctl create <replaceable>test</replaceable></userinput>\n" @@ -50452,7 +50606,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:35074 +#: book.translate.xml:35128 msgid "" "It is <emphasis>not</emphasis> possible to use <acronym>GEOM</acronym> " "providers with an existing file system or to convert an existing storage to " @@ -50462,7 +50616,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35083 +#: book.translate.xml:35137 msgid "" "A HAST node's <literal>primary</literal> or <literal>secondary</literal> " "role is selected by an administrator, or software like " @@ -50473,35 +50627,35 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35090 +#: book.translate.xml:35144 #, no-wrap msgid "<prompt>#</prompt> <userinput>hastctl role primary <replaceable>test</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35092 +#: book.translate.xml:35146 msgid "Run this command on the secondary node, <literal>hastb</literal>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35095 +#: book.translate.xml:35149 #, no-wrap msgid "<prompt>#</prompt> <userinput>hastctl role secondary <replaceable>test</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35097 +#: book.translate.xml:35151 msgid "Verify the result by running <command>hastctl</command> on each node:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35100 +#: book.translate.xml:35154 #, no-wrap msgid "<prompt>#</prompt> <userinput>hastctl status <replaceable>test</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35102 +#: book.translate.xml:35156 msgid "" "Check the <literal>status</literal> line in the output. If it says " "<literal>degraded</literal>, something is wrong with the configuration file. " @@ -50512,7 +50666,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35111 +#: book.translate.xml:35165 msgid "" "The next step is to create a file system on the <acronym>GEOM</acronym> " "provider and mount it. This must be done on the <literal>primary</literal> " @@ -50522,7 +50676,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35118 +#: book.translate.xml:35172 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>newfs -U /dev/hast/<replaceable>test</replaceable></userinput>\n" @@ -50531,7 +50685,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35122 +#: book.translate.xml:35176 msgid "" "Once the <acronym>HAST</acronym> framework is configured properly, the final " "step is to make sure that <acronym>HAST</acronym> is started automatically " @@ -50539,18 +50693,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:35128 +#: book.translate.xml:35182 #, no-wrap msgid "hastd_enable=\"YES\"" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:35131 +#: book.translate.xml:35185 msgid "Failover Configuration" msgstr "容錯移轉設定" #. (itstool) path: sect3/para -#: book.translate.xml:35133 +#: book.translate.xml:35187 msgid "" "The goal of this example is to build a robust storage system which is " "resistant to the failure of any given node. If the primary node fails, the " @@ -50559,7 +50713,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:35140 +#: book.translate.xml:35194 msgid "" "To accomplish this task, the Common Address Redundancy Protocol " "(<acronym>CARP</acronym>) is used to provide for automatic failover at the " @@ -50574,7 +50728,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:35153 +#: book.translate.xml:35207 msgid "" "The <acronym>HAST</acronym> pool created in the previous section is now " "ready to be exported to the other hosts on the network. This can be " @@ -50585,7 +50739,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:35163 +#: book.translate.xml:35217 msgid "" "In the event of <acronym>CARP</acronym> interfaces going up or down, the " "FreeBSD operating system generates a <citerefentry><refentrytitle>devd</" @@ -50598,14 +50752,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:35172 +#: book.translate.xml:35226 msgid "" "To catch state changes on the <acronym>CARP</acronym> interfaces, add this " "configuration to <filename>/etc/devd.conf</filename> on each node:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:35176 +#: book.translate.xml:35230 #, no-wrap msgid "" "notify 30 {\n" @@ -50624,14 +50778,14 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:35191 +#: book.translate.xml:35245 msgid "" "If the systems are running FreeBSD 10 or higher, replace <filename>carp0</" "filename> with the name of the <acronym>CARP</acronym>-configured interface." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:35196 +#: book.translate.xml:35250 msgid "" "Restart <citerefentry><refentrytitle>devd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> on both nodes to put the new configuration into " @@ -50639,13 +50793,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:35199 +#: book.translate.xml:35253 #, no-wrap msgid "<prompt>#</prompt> <userinput>service devd restart</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:35201 +#: book.translate.xml:35255 msgid "" "When the specified interface state changes by going up or down , the system " "generates a notification, allowing the <citerefentry><refentrytitle>devd</" @@ -50657,12 +50811,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:35209 +#: book.translate.xml:35263 msgid "Here is an example of an automated failover script:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:35212 +#: book.translate.xml:35266 #, no-wrap msgid "" "#!/bin/sh\n" @@ -50751,43 +50905,43 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:35296 +#: book.translate.xml:35350 msgid "" "In a nutshell, the script takes these actions when a node becomes master:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:35301 +#: book.translate.xml:35355 msgid "Promotes the <acronym>HAST</acronym> pool to primary on the other node." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:35306 +#: book.translate.xml:35360 msgid "Checks the file system under the <acronym>HAST</acronym> pool." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:35311 +#: book.translate.xml:35365 msgid "Mounts the pool." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:35315 +#: book.translate.xml:35369 msgid "When a node becomes secondary:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:35319 +#: book.translate.xml:35373 msgid "Unmounts the <acronym>HAST</acronym> pool." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:35323 +#: book.translate.xml:35377 msgid "Degrades the <acronym>HAST</acronym> pool to secondary." msgstr "" #. (itstool) path: caution/para -#: book.translate.xml:35329 +#: book.translate.xml:35383 msgid "" "This is just an example script which serves as a proof of concept. It does " "not handle all the possible scenarios and can be extended or altered in any " @@ -50795,7 +50949,7 @@ msgid "" msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:35336 +#: book.translate.xml:35390 msgid "" "For this example, a standard <acronym>UFS</acronym> file system was used. To " "reduce the time needed for recovery, a journal-enabled <acronym>UFS</" @@ -50803,7 +50957,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:35343 +#: book.translate.xml:35397 msgid "" "More detailed information with additional examples can be found at <link " "xlink:href=\"http://wiki.FreeBSD.org/HAST\">http://wiki.FreeBSD.org/HAST</" @@ -50811,7 +50965,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35351 +#: book.translate.xml:35405 msgid "" "<acronym>HAST</acronym> should generally work without issues. However, as " "with any other software product, there may be times when it does not work as " @@ -50821,7 +50975,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35358 +#: book.translate.xml:35412 msgid "" "When troubleshooting <acronym>HAST</acronym>, the debugging level of " "<citerefentry><refentrytitle>hastd</refentrytitle><manvolnum>8</manvolnum></" @@ -50832,12 +50986,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:35367 +#: book.translate.xml:35421 msgid "Recovering from the Split-brain Condition" msgstr "自 Split-brain 情況復原" #. (itstool) path: sect3/para -#: book.translate.xml:35369 +#: book.translate.xml:35423 msgid "" "<firstterm>Split-brain</firstterm> occurs when the nodes of the cluster are " "unable to communicate with each other, and both are configured as primary. " @@ -50847,7 +51001,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:35376 +#: book.translate.xml:35430 msgid "" "The administrator must either decide which node has more important changes, " "or perform the merge manually. Then, let <acronym>HAST</acronym> perform " @@ -50856,7 +51010,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:35383 +#: book.translate.xml:35437 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>hastctl role init <replaceable>test</replaceable></userinput>\n" @@ -50865,26 +51019,26 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:35400 +#: book.translate.xml:35454 msgid "GEOM: Modular Disk Transformation Framework" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:35416 book.translate.xml:35500 book.translate.xml:35641 -#: book.translate.xml:36274 book.translate.xml:36422 book.translate.xml:36787 -#: book.translate.xml:36991 +#: book.translate.xml:35470 book.translate.xml:35554 book.translate.xml:35695 +#: book.translate.xml:36328 book.translate.xml:36476 book.translate.xml:36841 +#: book.translate.xml:37045 msgid "<primary><acronym>GEOM</acronym></primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:35419 +#: book.translate.xml:35473 msgid "" "<primary><acronym>GEOM</acronym> Disk Framework</primary> " "<see><acronym>GEOM</acronym></see>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:35424 +#: book.translate.xml:35478 msgid "" "In FreeBSD, the <acronym>GEOM</acronym> framework permits access and control " "to classes, such as Master Boot Records and <acronym>BSD</acronym> labels, " @@ -50895,7 +51049,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:35432 +#: book.translate.xml:35486 msgid "" "This chapter covers the use of disks under the <acronym>GEOM</acronym> " "framework in FreeBSD. This includes the major <acronym>RAID</acronym> " @@ -50906,63 +51060,63 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:35444 +#: book.translate.xml:35498 msgid "" "What type of <acronym>RAID</acronym> support is available through " "<acronym>GEOM</acronym>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:35449 +#: book.translate.xml:35503 msgid "" "How to use the base utilities to configure, maintain, and manipulate the " "various <acronym>RAID</acronym> levels." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:35455 +#: book.translate.xml:35509 msgid "" "How to mirror, stripe, encrypt, and remotely connect disk devices through " "<acronym>GEOM</acronym>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:35460 +#: book.translate.xml:35514 msgid "" "How to troubleshoot disks attached to the <acronym>GEOM</acronym> framework." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:35469 +#: book.translate.xml:35523 msgid "Understand how FreeBSD treats disk devices (<xref linkend=\"disks\"/>)." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:35473 +#: book.translate.xml:35527 msgid "" "Know how to configure and install a new kernel (<xref linkend=\"kernelconfig" "\"/>)." msgstr "了解如何設定並安裝新的核心 (<xref linkend=\"kernelconfig\"/>)。" #. (itstool) path: info/title -#: book.translate.xml:35480 +#: book.translate.xml:35534 msgid "RAID0 - Striping" msgstr "RAID0 - 串連 (Striping)" #. (itstool) path: authorgroup/author -#: book.translate.xml:35491 book.translate.xml:36265 book.translate.xml:62215 +#: book.translate.xml:35545 book.translate.xml:36319 book.translate.xml:62269 msgid "" "<personname> <firstname>Murray</firstname> <surname>Stokely</surname> </" "personname>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:35503 +#: book.translate.xml:35557 msgid "<primary>Striping</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:35507 +#: book.translate.xml:35561 msgid "" "Striping combines several disk drives into a single volume. Striping can be " "performed through the use of hardware <acronym>RAID</acronym> controllers. " @@ -50970,9 +51124,13 @@ msgid "" "disk striping, also known as <acronym>RAID0</acronym>, without the need for " "a <acronym>RAID</acronym> disk controller." msgstr "" +"串連會合併數個磁碟成單一個磁碟區 (Volume)。串連可以透過使用硬體 " +"<acronym>RAID</acronym> 控制器來達到。<acronym>GEOM</acronym> 磁碟子系統提供" +"了軟體支援的磁碟串連,也就是所謂的 <acronym>RAID0</acronym>,而不需要 " +"<acronym>RAID</acronym> 磁碟控制器。" #. (itstool) path: sect1/para -#: book.translate.xml:35515 +#: book.translate.xml:35569 msgid "" "In <acronym>RAID0</acronym>, data is split into blocks that are written " "across all the drives in the array. As seen in the following illustration, " @@ -50981,19 +51139,24 @@ msgid "" "disks in the array, offering superior <acronym>I/O</acronym> performance. " "This performance can be enhanced further by using multiple disk controllers." msgstr "" +"在 <acronym>RAID0</acronym> 中,資料會被切割成數個資料區塊 (Block) 寫入到磁碟" +"陣列中的每一個磁碟機。如下圖所示,取代以往等候系統寫入 256k 到一個磁碟的時" +"間, <acronym>RAID0</acronym> 可以同時寫入 64k 到磁碟陣列中四個磁碟的每個磁" +"碟,這可提供優異的 <acronym>I/O</acronym> 效能,若使用多個磁碟控制器可增加更" +"多的效能。" #. (itstool) path: imageobject/imagedata #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:35526 +#: book.translate.xml:35580 msgctxt "_" msgid "external ref='geom/striping' md5='__failed__'" msgstr "" #. (itstool) path: sect1/mediaobject -#: book.translate.xml:35524 +#: book.translate.xml:35578 msgid "" "<imageobject> <imagedata fileref=\"geom/striping\" align=\"center\"/> </" "imageobject> <textobject> <phrase>Disk Striping Illustration</phrase> </" @@ -51001,24 +51164,29 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:35534 +#: book.translate.xml:35588 msgid "" "Each disk in a <acronym>RAID0</acronym> stripe must be of the same size, " "since <acronym>I/O</acronym> requests are interleaved to read or write to " "multiple disks in parallel." msgstr "" +"在 <acronym>RAID0</acronym> 串連中的每個磁碟必須要相同大小,因為 <acronym>I/" +"O</acronym> 的請求是平行交錯讀取或寫入到多個磁碟的。" #. (itstool) path: note/para -#: book.translate.xml:35540 +#: book.translate.xml:35594 msgid "" "<acronym>RAID0</acronym> does <emphasis>not</emphasis> provide any " "redundancy. This means that if one disk in the array fails, all of the data " "on the disks is lost. If the data is important, implement a backup strategy " "that regularly saves backups to a remote system or device." msgstr "" +"<acronym>RAID0</acronym> 並<emphasis>不</emphasis>提供任何備援 (Redundancy) " +"功能。這意謂著若磁碟陣列中的其中一個磁碟故障,所有在該磁碟上的資料便會遺失。" +"若資料很重要,請規畫備份策略,定期儲存備份到遠端系統或裝置。" #. (itstool) path: sect1/para -#: book.translate.xml:35547 +#: book.translate.xml:35601 msgid "" "The process for creating a software, <acronym>GEOM</acronym>-based " "<acronym>RAID0</acronym> on a FreeBSD system using commodity disks is as " @@ -51029,23 +51197,23 @@ msgid "" msgstr "" #. (itstool) path: procedure/title -#: book.translate.xml:35554 +#: book.translate.xml:35608 msgid "Creating a Stripe of Unformatted <acronym>ATA</acronym> Disks" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:35558 +#: book.translate.xml:35612 msgid "Load the <filename>geom_stripe.ko</filename> module:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:35561 +#: book.translate.xml:35615 #, no-wrap msgid "<prompt>#</prompt> <userinput>kldload geom_stripe</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:35565 +#: book.translate.xml:35619 msgid "" "Ensure that a suitable mount point exists. If this volume will become a root " "partition, then temporarily use another mount point such as <filename>/mnt</" @@ -51053,7 +51221,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:35572 +#: book.translate.xml:35626 msgid "" "Determine the device names for the disks which will be striped, and create " "the new stripe device. For example, to stripe two unused and unpartitioned " @@ -51062,7 +51230,7 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:35579 +#: book.translate.xml:35633 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>gstripe label -v st0 /dev/ad2 /dev/ad3</userinput>\n" @@ -51072,20 +51240,20 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:35586 +#: book.translate.xml:35640 msgid "" "Write a standard label, also known as a partition table, on the new volume " "and install the default bootstrap code:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:35590 +#: book.translate.xml:35644 #, no-wrap msgid "<prompt>#</prompt> <userinput>bsdlabel -wB /dev/stripe/st0</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:35594 +#: book.translate.xml:35648 msgid "" "This process should create two other devices in <filename>/dev/stripe</" "filename> in addition to <filename>st0</filename>. Those include " @@ -51095,13 +51263,13 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:35602 +#: book.translate.xml:35656 #, no-wrap msgid "<prompt>#</prompt> <userinput>newfs -U /dev/stripe/st0a</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:35604 +#: book.translate.xml:35658 msgid "" "Many numbers will glide across the screen, and after a few seconds, the " "process will be complete. The volume has been created and is ready to be " @@ -51109,18 +51277,18 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:35610 +#: book.translate.xml:35664 msgid "To manually mount the created disk stripe:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:35612 +#: book.translate.xml:35666 #, no-wrap msgid "<prompt>#</prompt> <userinput>mount /dev/stripe/st0a /mnt</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:35616 +#: book.translate.xml:35670 msgid "" "To mount this striped file system automatically during the boot process, " "place the volume information in <filename>/etc/fstab</filename>. In this " @@ -51129,7 +51297,7 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:35622 +#: book.translate.xml:35676 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mkdir /stripe</userinput>\n" @@ -51138,7 +51306,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:35628 +#: book.translate.xml:35682 msgid "" "The <filename>geom_stripe.ko</filename> module must also be automatically " "loaded during system initialization, by adding a line to <filename>/boot/" @@ -51146,28 +51314,28 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:35633 +#: book.translate.xml:35687 #, no-wrap msgid "<prompt>#</prompt> <userinput>echo 'geom_stripe_load=\"YES\"' >> /boot/loader.conf</userinput>" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:35639 +#: book.translate.xml:35693 msgid "RAID1 - Mirroring" msgstr "RAID1 - 鏡像 (Mirroring)" #. (itstool) path: sect1/indexterm -#: book.translate.xml:35644 +#: book.translate.xml:35698 msgid "<primary>Disk Mirroring</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:35647 +#: book.translate.xml:35701 msgid "<primary>RAID1</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:35651 +#: book.translate.xml:35705 msgid "" "<acronym>RAID1</acronym>, or <emphasis>mirroring</emphasis>, is the " "technique of writing the same data to more than one disk drive. Mirrors are " @@ -51177,9 +51345,14 @@ msgid "" "still functioning. The computer keeps running, and the administrator has " "time to replace the failed drive without user interruption." msgstr "" +"<acronym>RAID1</acronym> 或<emphasis>鏡像</emphasis>是一項寫入相同資料到超過" +"一個磁碟機的技術。鏡像通常用來保護資料因磁碟機故障導致的損失,每個在鏡像中的" +"磁碟機會擁有完全相同的資料,當各別磁碟機故障時,鏡像會繼續運作,由還可運作的" +"磁碟機提供資料。電腦會繼續執行,等到管理者有時間更換故障的硬碟,而不會被使用" +"者中斷運作。" #. (itstool) path: sect1/para -#: book.translate.xml:35661 +#: book.translate.xml:35715 msgid "" "Two common situations are illustrated in these examples. The first creates a " "mirror out of two new drives and uses it as a replacement for an existing " @@ -51190,7 +51363,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:35669 +#: book.translate.xml:35723 msgid "" "Traditionally, the two drives in a mirror are identical in model and " "capacity, but <citerefentry><refentrytitle>gmirror</" @@ -51202,14 +51375,14 @@ msgid "" msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:35678 +#: book.translate.xml:35732 msgid "" "The mirroring procedures shown here are non-destructive, but as with any " "major disk operation, make a full backup first." msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:35684 +#: book.translate.xml:35738 msgid "" "While <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> is used in these procedures to copy file systems, " @@ -51220,12 +51393,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:35691 +#: book.translate.xml:35745 msgid "Metadata Issues" msgstr "Metadata 問題" #. (itstool) path: sect2/para -#: book.translate.xml:35693 +#: book.translate.xml:35747 msgid "" "Many disk systems store metadata at the end of each disk. Old metadata " "should be erased before reusing the disk for a mirror. Most problems are " @@ -51234,7 +51407,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35699 +#: book.translate.xml:35753 msgid "" "<acronym>GPT</acronym> metadata can be erased with " "<citerefentry><refentrytitle>gpart</refentrytitle><manvolnum>8</manvolnum></" @@ -51243,13 +51416,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35704 +#: book.translate.xml:35758 #, no-wrap msgid "<prompt>#</prompt> <userinput>gpart destroy -F ada8</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35706 +#: book.translate.xml:35760 msgid "" "A disk can be removed from an active mirror and the metadata erased in one " "step using <citerefentry><refentrytitle>gmirror</refentrytitle><manvolnum>8</" @@ -51258,26 +51431,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35711 +#: book.translate.xml:35765 #, no-wrap msgid "<prompt>#</prompt> <userinput>gmirror remove gm4 ada8</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35713 +#: book.translate.xml:35767 msgid "" "If the mirror is not running, but old mirror metadata is still on the disk, " "use <command>gmirror clear</command> to remove it:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35717 +#: book.translate.xml:35771 #, no-wrap msgid "<prompt>#</prompt> <userinput>gmirror clear ada8</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35719 +#: book.translate.xml:35773 msgid "" "<citerefentry><refentrytitle>gmirror</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> stores one block of metadata at the end of the " @@ -51290,12 +51463,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:35729 +#: book.translate.xml:35783 msgid "Creating a Mirror with Two New Disks" msgstr "使用兩個新磁碟建立鏡像" #. (itstool) path: sect2/para -#: book.translate.xml:35731 +#: book.translate.xml:35785 msgid "" "In this example, FreeBSD has already been installed on a single disk, " "<filename>ada0</filename>. Two new disks, <filename>ada1</filename> and " @@ -51304,7 +51477,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35738 +#: book.translate.xml:35792 msgid "" "The <filename>geom_mirror.ko</filename> kernel module must either be built " "into the kernel or loaded at boot- or run-time. Manually load the kernel " @@ -51312,24 +51485,24 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35742 book.translate.xml:35869 +#: book.translate.xml:35796 book.translate.xml:35923 #, no-wrap msgid "<prompt>#</prompt> <userinput>gmirror load</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35744 +#: book.translate.xml:35798 msgid "Create the mirror with the two new drives:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35746 +#: book.translate.xml:35800 #, no-wrap msgid "<prompt>#</prompt> <userinput>gmirror label -v gm0 /dev/ada1 /dev/ada2</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35748 +#: book.translate.xml:35802 msgid "" "<filename>gm0</filename> is a user-chosen device name assigned to the new " "mirror. After the mirror has been started, this device name appears in " @@ -51337,7 +51510,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35753 +#: book.translate.xml:35807 msgid "" "<acronym>MBR</acronym> and <application>bsdlabel</application> partition " "tables can now be created on the mirror with " @@ -51349,7 +51522,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35762 +#: book.translate.xml:35816 msgid "" "Partitions on the mirror do not have to be the same size as those on the " "existing disk, but they must be large enough to hold all the data already " @@ -51357,7 +51530,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35767 +#: book.translate.xml:35821 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>gpart create -s MBR mirror/gm0</userinput>\n" @@ -51370,7 +51543,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35775 +#: book.translate.xml:35829 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>gpart create -s BSD mirror/gm0s1</userinput>\n" @@ -51391,14 +51564,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35791 book.translate.xml:36013 +#: book.translate.xml:35845 book.translate.xml:36067 msgid "" "Make the mirror bootable by installing bootcode in the <acronym>MBR</" "acronym> and bsdlabel and setting the active slice:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35795 book.translate.xml:36017 +#: book.translate.xml:35849 book.translate.xml:36071 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>gpart bootcode -b /boot/mbr mirror/gm0</userinput>\n" @@ -51407,12 +51580,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35799 +#: book.translate.xml:35853 msgid "Format the file systems on the new mirror, enabling soft-updates." msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35802 +#: book.translate.xml:35856 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>newfs -U /dev/mirror/gm0s1a</userinput>\n" @@ -51422,7 +51595,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35807 +#: book.translate.xml:35861 msgid "" "File systems from the original <filename>ada0</filename> disk can now be " "copied onto the mirror with <citerefentry><refentrytitle>dump</" @@ -51432,7 +51605,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35811 +#: book.translate.xml:35865 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mount /dev/mirror/gm0s1a /mnt</userinput>\n" @@ -51446,14 +51619,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35820 +#: book.translate.xml:35874 msgid "" "Edit <filename>/mnt/etc/fstab</filename> to point to the new mirror file " "systems:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:35823 +#: book.translate.xml:35877 #, no-wrap msgid "" "# Device\t\tMountpoint\tFStype\tOptions\tDump\tPass#\n" @@ -51465,7 +51638,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35830 +#: book.translate.xml:35884 msgid "" "If the <filename>geom_mirror.ko</filename> kernel module has not been built " "into the kernel, <filename>/mnt/boot/loader.conf</filename> is edited to " @@ -51473,13 +51646,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:35835 book.translate.xml:36044 book.translate.xml:36164 +#: book.translate.xml:35889 book.translate.xml:36098 book.translate.xml:36218 #, no-wrap msgid "geom_mirror_load=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35837 +#: book.translate.xml:35891 msgid "" "Reboot the system to test the new mirror and verify that all data has been " "copied. The <acronym>BIOS</acronym> will see the mirror as two individual " @@ -51488,7 +51661,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35843 +#: book.translate.xml:35897 msgid "" "See <xref linkend=\"gmirror-troubleshooting\"/> if there are problems " "booting. Powering down and disconnecting the original <filename>ada0</" @@ -51496,17 +51669,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35848 +#: book.translate.xml:35902 msgid "In use, the mirror will behave just like the original single drive." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:35853 +#: book.translate.xml:35907 msgid "Creating a Mirror with an Existing Drive" msgstr "使用既有磁碟建立鏡像" #. (itstool) path: sect2/para -#: book.translate.xml:35855 +#: book.translate.xml:35909 msgid "" "In this example, FreeBSD has already been installed on a single disk, " "<filename>ada0</filename>. A new disk, <filename>ada1</filename>, has been " @@ -51519,18 +51692,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35866 +#: book.translate.xml:35920 msgid "Load the <filename>geom_mirror.ko</filename> kernel module:" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35871 +#: book.translate.xml:35925 msgid "" "Check the media size of the original disk with <command>diskinfo</command>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35874 +#: book.translate.xml:35928 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>diskinfo -v ada0 | head -n3</userinput>\n" @@ -51540,7 +51713,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35879 +#: book.translate.xml:35933 msgid "" "Create a mirror on the new disk. To make certain that the mirror capacity is " "not any larger than the original <filename>ada0</filename> drive, " @@ -51557,7 +51730,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35892 +#: book.translate.xml:35946 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>geom zero load</userinput>\n" @@ -51567,7 +51740,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35897 +#: book.translate.xml:35951 msgid "" "Since <filename>gzero.nop</filename> does not store any data, the mirror " "does not see it as connected. The mirror is told to <quote>forget</quote> " @@ -51577,7 +51750,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35904 +#: book.translate.xml:35958 msgid "" "After creating <filename>gm0</filename>, view the partition table on " "<filename>ada0</filename>. This output is from a 1 TB drive. If there is " @@ -51586,7 +51759,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35910 +#: book.translate.xml:35964 msgid "" "However, if the output shows that all of the space on the disk is allocated, " "as in the following listing, there is no space available for the 512-byte " @@ -51594,7 +51767,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35915 +#: book.translate.xml:35969 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>gpart show ada0</userinput>\n" @@ -51603,7 +51776,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35919 +#: book.translate.xml:35973 msgid "" "In this case, the partition table must be edited to reduce the capacity by " "one sector on <filename>mirror/gm0</filename>. The procedure will be " @@ -51611,14 +51784,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35923 +#: book.translate.xml:35977 msgid "" "In either case, partition tables on the primary disk should be first copied " "using <command>gpart backup</command> and <command>gpart restore</command>." msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35927 +#: book.translate.xml:35981 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>gpart backup ada0 > table.ada0</userinput>\n" @@ -51626,14 +51799,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35930 +#: book.translate.xml:35984 msgid "" "These commands create two files, <filename>table.ada0</filename> and " "<filename>table.ada0s1</filename>. This example is from a 1 TB drive:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35935 +#: book.translate.xml:35989 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cat table.ada0</userinput>\n" @@ -51642,7 +51815,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35939 +#: book.translate.xml:35993 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cat table.ada0s1</userinput>\n" @@ -51656,7 +51829,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35948 +#: book.translate.xml:36002 msgid "" "If no free space is shown at the end of the disk, the size of both the slice " "and the last partition must be reduced by one sector. Edit the two files, " @@ -51665,7 +51838,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35954 +#: book.translate.xml:36008 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cat table.ada0</userinput>\n" @@ -51674,7 +51847,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35958 +#: book.translate.xml:36012 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cat table.ada0s1</userinput>\n" @@ -51688,19 +51861,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35967 +#: book.translate.xml:36021 msgid "" "If at least one sector was unallocated at the end of the disk, these two " "files can be used without modification." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35970 +#: book.translate.xml:36024 msgid "Now restore the partition table into <filename>mirror/gm0</filename>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35973 +#: book.translate.xml:36027 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>gpart restore mirror/gm0 < table.ada0</userinput>\n" @@ -51708,7 +51881,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:35976 +#: book.translate.xml:36030 msgid "" "Check the partition table with <command>gpart show</command>. This example " "has <filename>gm0s1a</filename> for <filename>/</filename>, " @@ -51719,7 +51892,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:35985 +#: book.translate.xml:36039 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>gpart show mirror/gm0</userinput>\n" @@ -51739,21 +51912,21 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36000 +#: book.translate.xml:36054 msgid "" "Both the slice and the last partition must have at least one free block at " "the end of the disk." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36003 +#: book.translate.xml:36057 msgid "" "Create file systems on these new partitions. The number of partitions will " "vary to match the original disk, <filename>ada0</filename>." msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36007 +#: book.translate.xml:36061 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>newfs -U /dev/mirror/gm0s1a</userinput>\n" @@ -51764,7 +51937,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36021 +#: book.translate.xml:36075 msgid "" "Adjust <filename>/etc/fstab</filename> to use the new partitions on the " "mirror. Back up this file first by copying it to <filename>/etc/fstab.orig</" @@ -51772,20 +51945,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36025 +#: book.translate.xml:36079 #, no-wrap msgid "<prompt>#</prompt> <userinput>cp /etc/fstab /etc/fstab.orig</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36027 +#: book.translate.xml:36081 msgid "" "Edit <filename>/etc/fstab</filename>, replacing <filename>/dev/ada0</" "filename> with <filename>mirror/gm0</filename>." msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:36031 +#: book.translate.xml:36085 #, no-wrap msgid "" "# Device\t\tMountpoint\tFStype\tOptions\tDump\tPass#\n" @@ -51798,7 +51971,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36039 +#: book.translate.xml:36093 msgid "" "If the <filename>geom_mirror.ko</filename> kernel module has not been built " "into the kernel, edit <filename>/boot/loader.conf</filename> to load it at " @@ -51806,7 +51979,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36046 +#: book.translate.xml:36100 msgid "" "File systems from the original disk can now be copied onto the mirror with " "<citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></" @@ -51817,7 +51990,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36051 +#: book.translate.xml:36105 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mount /dev/mirror/gm0s1a /mnt</userinput>\n" @@ -51833,7 +52006,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36062 +#: book.translate.xml:36116 msgid "" "Restart the system, booting from <filename>ada1</filename>. If everything is " "working, the system will boot from <filename>mirror/gm0</filename>, which " @@ -51842,21 +52015,21 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36069 +#: book.translate.xml:36123 msgid "" "At this point, the mirror still consists of only the single <filename>ada1</" "filename> disk." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36072 +#: book.translate.xml:36126 msgid "" "After booting from <filename>mirror/gm0</filename> successfully, the final " "step is inserting <filename>ada0</filename> into the mirror." msgstr "" #. (itstool) path: important/para -#: book.translate.xml:36077 +#: book.translate.xml:36131 msgid "" "When <filename>ada0</filename> is inserted into the mirror, its former " "contents will be overwritten by data from the mirror. Make certain that " @@ -51871,7 +52044,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36090 +#: book.translate.xml:36144 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>gmirror insert gm0 ada0</userinput>\n" @@ -51879,14 +52052,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36093 +#: book.translate.xml:36147 msgid "" "Synchronization between the two disks will start immediately. Use " "<command>gmirror status</command> to view the progress." msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36097 +#: book.translate.xml:36151 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>gmirror status</userinput>\n" @@ -51896,12 +52069,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36102 +#: book.translate.xml:36156 msgid "After a while, synchronization will finish." msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36104 +#: book.translate.xml:36158 #, no-wrap msgid "" "GEOM_MIRROR: Device gm0: rebuilding provider ada0 finished.\n" @@ -51912,7 +52085,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36110 +#: book.translate.xml:36164 msgid "" "<filename>mirror/gm0</filename> now consists of the two disks " "<filename>ada0</filename> and <filename>ada1</filename>, and the contents " @@ -51921,7 +52094,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36121 +#: book.translate.xml:36175 msgid "" "If the system no longer boots, <acronym>BIOS</acronym> settings may have to " "be changed to boot from one of the new mirrored drives. Either mirror drive " @@ -51929,14 +52102,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36126 +#: book.translate.xml:36180 msgid "" "If the boot stops with this message, something is wrong with the mirror " "device:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36129 +#: book.translate.xml:36183 #, no-wrap msgid "" "Mounting from ufs:/dev/mirror/gm0s1a failed with error 19.\n" @@ -51963,7 +52136,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36151 +#: book.translate.xml:36205 msgid "" "Forgetting to load the <filename>geom_mirror.ko</filename> module in " "<filename>/boot/loader.conf</filename> can cause this problem. To fix it, " @@ -51972,7 +52145,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36158 +#: book.translate.xml:36212 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>gmirror load</userinput>\n" @@ -51980,19 +52153,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36161 +#: book.translate.xml:36215 msgid "" "Edit <filename>/mnt/boot/loader.conf</filename>, adding a line to load the " "mirror module:" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36166 +#: book.translate.xml:36220 msgid "Save the file and reboot." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36168 +#: book.translate.xml:36222 msgid "" "Other problems that cause <errorname>error 19</errorname> require more " "effort to fix. Although the system should boot from <filename>ada0</" @@ -52005,7 +52178,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36179 +#: book.translate.xml:36233 #, no-wrap msgid "" "Enter full pathname of shell or RETURN for /bin/sh:\n" @@ -52014,12 +52187,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:36185 +#: book.translate.xml:36239 msgid "Recovering from Disk Failure" msgstr "自磁碟故障復原" #. (itstool) path: sect2/para -#: book.translate.xml:36187 +#: book.translate.xml:36241 msgid "" "The benefit of disk mirroring is that an individual disk can fail without " "causing the mirror to lose any data. In the above example, if " @@ -52028,7 +52201,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36193 +#: book.translate.xml:36247 msgid "" "To replace the failed drive, shut down the system and physically replace the " "failed drive with a new drive of equal or greater capacity. Manufacturers " @@ -52039,7 +52212,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36202 +#: book.translate.xml:36256 msgid "" "After the computer is powered back up, the mirror will be running in a " "<quote>degraded</quote> mode with only one drive. The mirror is told to " @@ -52047,13 +52220,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36207 +#: book.translate.xml:36261 #, no-wrap msgid "<prompt>#</prompt> <userinput>gmirror forget gm0</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36209 +#: book.translate.xml:36263 msgid "" "Any old metadata should be cleared from the replacement disk using the " "instructions in <xref linkend=\"geom-mirror-metadata\"/>. Then the " @@ -52062,13 +52235,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36215 +#: book.translate.xml:36269 #, no-wrap msgid "<prompt>#</prompt> <userinput>gmirror insert gm0 /dev/ada4</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36217 +#: book.translate.xml:36271 msgid "" "Resynchronization begins when the new drive is inserted into the mirror. " "This process of copying mirror data to a new drive can take a while. " @@ -52077,7 +52250,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36223 +#: book.translate.xml:36277 msgid "" "Progress can be monitored with <command>gmirror status</command>, which " "shows drives that are being synchronized and the percentage of completion. " @@ -52087,38 +52260,38 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:36236 +#: book.translate.xml:36290 msgid "<acronym>RAID</acronym>3 - Byte-level Striping with Dedicated Parity" msgstr "<acronym>RAID</acronym>3 - 位元級串連與獨立奇偶校驗" #. (itstool) path: authorgroup/author -#: book.translate.xml:36240 +#: book.translate.xml:36294 msgid "" "<personname> <firstname>Mark</firstname> <surname>Gladman</surname> </" "personname> <contrib>Written by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:36248 +#: book.translate.xml:36302 msgid "" "<personname> <firstname>Daniel</firstname> <surname>Gerzo</surname> </" "personname>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:36257 +#: book.translate.xml:36311 msgid "" "<personname> <firstname>Tom</firstname> <surname>Rhodes</surname> </" "personname> <contrib>Based on documentation by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:36277 +#: book.translate.xml:36331 msgid "<primary>RAID3</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:36281 +#: book.translate.xml:36335 msgid "" "<acronym>RAID</acronym>3 is a method used to combine several disk drives " "into a single volume with a dedicated parity disk. In a <acronym>RAID</" @@ -52134,7 +52307,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:36296 +#: book.translate.xml:36350 msgid "" "At least 3 physical hard drives are required to build a <acronym>RAID</" "acronym>3 array. Each disk must be of the same size, since <acronym>I/O</" @@ -52144,26 +52317,26 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:36303 +#: book.translate.xml:36357 msgid "" "This section demonstrates how to create a software <acronym>RAID</acronym>3 " "on a FreeBSD system." msgstr "" #. (itstool) path: note/para -#: book.translate.xml:36307 +#: book.translate.xml:36361 msgid "" "While it is theoretically possible to boot from a <acronym>RAID</acronym>3 " "array on FreeBSD, that configuration is uncommon and is not advised." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:36313 +#: book.translate.xml:36367 msgid "Creating a Dedicated <acronym>RAID</acronym>3 Array" msgstr "建立 Dedicated <acronym>RAID</acronym>3 陣列" #. (itstool) path: sect2/para -#: book.translate.xml:36316 +#: book.translate.xml:36370 msgid "" "In FreeBSD, support for <acronym>RAID</acronym>3 is implemented by the " "<citerefentry><refentrytitle>graid3</refentrytitle><manvolnum>8</manvolnum></" @@ -52172,44 +52345,44 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:36323 +#: book.translate.xml:36377 msgid "" "First, load the <filename>geom_raid3.ko</filename> kernel module by issuing " "one of the following commands:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:36327 +#: book.translate.xml:36381 #, no-wrap msgid "<prompt>#</prompt> <userinput>graid3 load</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:36329 +#: book.translate.xml:36383 msgid "or:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:36331 +#: book.translate.xml:36385 #, no-wrap msgid "<prompt>#</prompt> <userinput>kldload geom_raid3</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:36335 +#: book.translate.xml:36389 msgid "" "Ensure that a suitable mount point exists. This command creates a new " "directory to use as the mount point:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:36339 +#: book.translate.xml:36393 #, no-wrap msgid "<prompt>#</prompt> <userinput>mkdir <replaceable>/multimedia</replaceable></userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:36343 +#: book.translate.xml:36397 msgid "" "Determine the device names for the disks which will be added to the array, " "and create the new <acronym>RAID</acronym>3 device. The final device listed " @@ -52220,7 +52393,7 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:36354 +#: book.translate.xml:36408 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>graid3 label -v gr0 /dev/ada1 /dev/ada2 /dev/ada3</userinput>\n" @@ -52231,14 +52404,14 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:36362 +#: book.translate.xml:36416 msgid "" "Partition the newly created <filename>gr0</filename> device and put a " "<acronym>UFS</acronym> file system on it:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:36366 +#: book.translate.xml:36420 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>gpart create -s GPT /dev/raid3/gr0</userinput>\n" @@ -52247,7 +52420,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:36370 +#: book.translate.xml:36424 msgid "" "Many numbers will glide across the screen, and after a bit of time, the " "process will be complete. The volume has been created and is ready to be " @@ -52255,25 +52428,25 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:36374 +#: book.translate.xml:36428 #, no-wrap msgid "<prompt>#</prompt> <userinput>mount /dev/raid3/gr0p1 /multimedia/</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:36376 +#: book.translate.xml:36430 msgid "The <acronym>RAID</acronym>3 array is now ready to use." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36381 +#: book.translate.xml:36435 msgid "" "Additional configuration is needed to retain this setup across system " "reboots." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:36386 +#: book.translate.xml:36440 msgid "" "The <filename>geom_raid3.ko</filename> module must be loaded before the " "array can be mounted. To automatically load the kernel module during system " @@ -52282,13 +52455,13 @@ msgid "" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:36392 +#: book.translate.xml:36446 #, no-wrap msgid "geom_raid3_load=\"YES\"" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:36396 +#: book.translate.xml:36450 msgid "" "The following volume information must be added to <filename>/etc/fstab</" "filename> in order to automatically mount the array's file system during the " @@ -52296,32 +52469,32 @@ msgid "" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:36401 +#: book.translate.xml:36455 #, no-wrap msgid "/dev/raid3/gr0p1\t/multimedia\tufs\trw\t2\t2" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:36409 +#: book.translate.xml:36463 msgid "Software <acronym>RAID</acronym> Devices" msgstr "軟體 <acronym>RAID</acronym> 裝置" #. (itstool) path: authorgroup/author -#: book.translate.xml:36412 +#: book.translate.xml:36466 msgid "" "<personname> <firstname>Warren</firstname> <surname>Block</surname> </" "personname> <contrib>Originally contributed by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:36425 +#: book.translate.xml:36479 msgid "" "<primary>Software RAID Devices</primary> <secondary>Hardware-assisted RAID</" "secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:36430 +#: book.translate.xml:36484 msgid "" "Some motherboards and expansion cards add some simple hardware, usually just " "a <acronym>ROM</acronym>, that allows the computer to boot from a " @@ -52334,7 +52507,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:36441 +#: book.translate.xml:36495 msgid "" "Several levels of <acronym>RAID</acronym> are supported, depending on the " "hardware in use. See <citerefentry><refentrytitle>graid</" @@ -52342,7 +52515,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:36445 +#: book.translate.xml:36499 msgid "" "<citerefentry><refentrytitle>graid</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> requires the <filename>geom_raid.ko</filename> kernel module, " @@ -52352,12 +52525,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:36452 +#: book.translate.xml:36506 msgid "Creating an Array" msgstr "建立陣列" #. (itstool) path: sect2/para -#: book.translate.xml:36454 +#: book.translate.xml:36508 msgid "" "Software <acronym>RAID</acronym> devices often have a menu that can be " "entered by pressing special keys when the computer is booting. The menu can " @@ -52367,7 +52540,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36460 +#: book.translate.xml:36514 msgid "" "<command>graid label</command> is used to create a new array. The " "motherboard used for this example has an Intel software <acronym>RAID</" @@ -52378,14 +52551,14 @@ msgid "" msgstr "" #. (itstool) path: caution/para -#: book.translate.xml:36470 +#: book.translate.xml:36524 msgid "" "Some space on the drives will be overwritten when they are made into a new " "array. Back up existing data first!" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36475 +#: book.translate.xml:36529 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>graid label Intel gm0 RAID1 ada0 ada1</userinput>\n" @@ -52401,13 +52574,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36486 +#: book.translate.xml:36540 msgid "A status check shows the new mirror is ready for use:" msgstr "" #. (itstool) path: sect2/screen #. (itstool) path: step/screen -#: book.translate.xml:36489 book.translate.xml:36695 +#: book.translate.xml:36543 book.translate.xml:36749 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>graid status</userinput>\n" @@ -52417,7 +52590,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36494 +#: book.translate.xml:36548 msgid "" "The array device appears in <filename>/dev/raid/</filename>. The first array " "is called <filename>r0</filename>. Additional arrays, if present, will be " @@ -52425,7 +52598,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36500 +#: book.translate.xml:36554 msgid "" "The <acronym>BIOS</acronym> menu on some of these devices can create arrays " "with special characters in their names. To avoid problems with those special " @@ -52436,18 +52609,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36507 +#: book.translate.xml:36561 #, no-wrap msgid "<prompt>#</prompt> <userinput>sysctl kern.geom.raid.name_format=1</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:36511 +#: book.translate.xml:36565 msgid "Multiple Volumes" msgstr "多磁碟區" #. (itstool) path: sect2/para -#: book.translate.xml:36513 +#: book.translate.xml:36567 msgid "" "Some software <acronym>RAID</acronym> devices support more than one " "<emphasis>volume</emphasis> on an array. Volumes work like partitions, " @@ -52459,7 +52632,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36523 +#: book.translate.xml:36577 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>graid label -S 40G Intel gm0 RAID1 ada0 ada1</userinput>\n" @@ -52467,7 +52640,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36526 +#: book.translate.xml:36580 msgid "" "Volumes appear as additional <filename>r<replaceable>X</replaceable></" "filename> entries in <filename>/dev/raid/</filename>. An array with two " @@ -52475,7 +52648,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36532 +#: book.translate.xml:36586 msgid "" "See <citerefentry><refentrytitle>graid</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> for the number of volumes supported by different " @@ -52483,12 +52656,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:36537 +#: book.translate.xml:36591 msgid "Converting a Single Drive to a Mirror" msgstr "轉換單一磁碟為鏡像" #. (itstool) path: sect2/para -#: book.translate.xml:36539 +#: book.translate.xml:36593 msgid "" "Under certain specific conditions, it is possible to convert an existing " "single drive to a <citerefentry><refentrytitle>graid</" @@ -52498,7 +52671,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:36547 +#: book.translate.xml:36601 msgid "" "The drive must be partitioned with the <acronym>MBR</acronym> partitioning " "scheme. <acronym>GPT</acronym> or other partitioning schemes with metadata " @@ -52508,7 +52681,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:36555 +#: book.translate.xml:36609 msgid "" "There must be enough unpartitioned and unused space at the end of the drive " "to hold the <citerefentry><refentrytitle>graid</refentrytitle><manvolnum>8</" @@ -52517,20 +52690,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36563 +#: book.translate.xml:36617 msgid "" "If the drive meets these requirements, start by making a full backup. Then " "create a single-drive mirror with that drive:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36567 +#: book.translate.xml:36621 #, no-wrap msgid "<prompt>#</prompt> <userinput>graid label Intel gm0 RAID1 ada0 NONE</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36569 +#: book.translate.xml:36623 msgid "" "<citerefentry><refentrytitle>graid</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> metadata was written to the end of the drive in the unused " @@ -52538,13 +52711,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36573 +#: book.translate.xml:36627 #, no-wrap msgid "<prompt>#</prompt> <userinput>graid insert raid/r0 ada1</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36575 +#: book.translate.xml:36629 msgid "" "Data from the original drive will immediately begin to be copied to the " "second drive. The mirror will operate in degraded status until the copy is " @@ -52552,12 +52725,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:36581 +#: book.translate.xml:36635 msgid "Inserting New Drives into the Array" msgstr "插入新磁碟到陣列" #. (itstool) path: sect2/para -#: book.translate.xml:36583 +#: book.translate.xml:36637 msgid "" "Drives can be inserted into an array as replacements for drives that have " "failed or are missing. If there are no failed or missing drives, the new " @@ -52567,7 +52740,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36590 +#: book.translate.xml:36644 msgid "" "In the example mirror array, data immediately begins to be copied to the " "newly-inserted drive. Any existing information on the new drive will be " @@ -52575,7 +52748,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36594 +#: book.translate.xml:36648 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>graid insert raid/r0 ada1</userinput>\n" @@ -52586,19 +52759,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:36602 +#: book.translate.xml:36656 msgid "Removing Drives from the Array" msgstr "從陣列移除磁碟" #. (itstool) path: sect2/para -#: book.translate.xml:36604 +#: book.translate.xml:36658 msgid "" "Individual drives can be permanently removed from a from an array and their " "metadata erased:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36607 +#: book.translate.xml:36661 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>graid remove raid/r0 ada1</userinput>\n" @@ -52608,30 +52781,30 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:36614 +#: book.translate.xml:36668 msgid "Stopping the Array" msgstr "停止陣列" #. (itstool) path: sect2/para -#: book.translate.xml:36616 +#: book.translate.xml:36670 msgid "" "An array can be stopped without removing metadata from the drives. The array " "will be restarted when the system is booted." msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36620 +#: book.translate.xml:36674 #, no-wrap msgid "<prompt>#</prompt> <userinput>graid stop raid/r0</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:36624 +#: book.translate.xml:36678 msgid "Checking Array Status" msgstr "檢查陣列狀態" #. (itstool) path: sect2/para -#: book.translate.xml:36626 +#: book.translate.xml:36680 msgid "" "Array status can be checked at any time. After a drive was added to the " "mirror in the example above, data is being copied from the original drive to " @@ -52639,7 +52812,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36630 +#: book.translate.xml:36684 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>graid status</userinput>\n" @@ -52649,7 +52822,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36635 +#: book.translate.xml:36689 msgid "" "Some types of arrays, like <literal>RAID0</literal> or <literal>CONCAT</" "literal>, may not be shown in the status report if disks have failed. To see " @@ -52657,7 +52830,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36640 +#: book.translate.xml:36694 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>graid status -ga</userinput>\n" @@ -52666,12 +52839,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:36646 +#: book.translate.xml:36700 msgid "Deleting Arrays" msgstr "刪除陣列" #. (itstool) path: sect2/para -#: book.translate.xml:36648 +#: book.translate.xml:36702 msgid "" "Arrays are destroyed by deleting all of the volumes from them. When the last " "volume present is deleted, the array is stopped and metadata is removed from " @@ -52680,18 +52853,18 @@ msgstr "" #. (itstool) path: sect2/screen #. (itstool) path: step/screen -#: book.translate.xml:36652 book.translate.xml:36702 +#: book.translate.xml:36706 book.translate.xml:36756 #, no-wrap msgid "<prompt>#</prompt> <userinput>graid delete raid/r0</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:36656 +#: book.translate.xml:36710 msgid "Deleting Unexpected Arrays" msgstr "刪除預期之外的陣列" #. (itstool) path: sect2/para -#: book.translate.xml:36658 +#: book.translate.xml:36712 msgid "" "Drives may unexpectedly contain <citerefentry><refentrytitle>graid</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> metadata, either from " @@ -52702,14 +52875,14 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:36666 +#: book.translate.xml:36720 msgid "" "Boot the system. At the boot menu, select <literal>2</literal> for the " "loader prompt. Enter:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:36669 +#: book.translate.xml:36723 #, no-wrap msgid "" "OK <userinput>set kern.geom.raid.enable=0</userinput>\n" @@ -52717,19 +52890,19 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:36672 +#: book.translate.xml:36726 msgid "" "The system will boot with <citerefentry><refentrytitle>graid</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> disabled." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:36677 +#: book.translate.xml:36731 msgid "Back up all data on the affected drive." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:36681 +#: book.translate.xml:36735 msgid "" "As a workaround, <citerefentry><refentrytitle>graid</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> array detection can be " @@ -52737,18 +52910,18 @@ msgid "" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:36684 +#: book.translate.xml:36738 #, no-wrap msgid "kern.geom.raid.enable=0" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:36686 +#: book.translate.xml:36740 msgid "to <filename>/boot/loader.conf</filename>." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:36688 +#: book.translate.xml:36742 msgid "" "To permanently remove the <citerefentry><refentrytitle>graid</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> metadata from the " @@ -52758,19 +52931,19 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:36700 +#: book.translate.xml:36754 msgid "Delete the volume by name:" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:36704 +#: book.translate.xml:36758 msgid "" "If there is more than one volume shown, repeat the process for each volume. " "After the last array has been deleted, the volume will be destroyed." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:36708 +#: book.translate.xml:36762 msgid "" "Reboot and verify data, restoring from backup if necessary. After the " "metadata has been removed, the <literal>kern.geom.raid.enable=0</literal> " @@ -52778,12 +52951,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:36719 +#: book.translate.xml:36773 msgid "<acronym>GEOM</acronym> Gate Network" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:36721 +#: book.translate.xml:36775 msgid "" "<acronym>GEOM</acronym> provides a simple mechanism for providing remote " "access to devices such as disks, <acronym>CD</acronym>s, and file systems " @@ -52796,7 +52969,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:36731 +#: book.translate.xml:36785 msgid "" "Similar to <acronym>NFS</acronym>, which is discussed in <xref linkend=" "\"network-nfs\"/>, <application>ggated</application> is configured using an " @@ -52808,26 +52981,26 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:36741 +#: book.translate.xml:36795 #, no-wrap msgid "192.168.1.5 RW /dev/da0s4d" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:36743 +#: book.translate.xml:36797 msgid "" "Before exporting the device, ensure it is not currently mounted. Then, start " "<application>ggated</application>:" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:36746 +#: book.translate.xml:36800 #, no-wrap msgid "<prompt>#</prompt> <userinput>ggated</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:36748 +#: book.translate.xml:36802 msgid "" "Several options are available for specifying an alternate listening port or " "changing the default location of the exports file. Refer to " @@ -52836,7 +53009,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:36752 +#: book.translate.xml:36806 msgid "" "To access the exported device on the client machine, first use " "<command>ggatec</command> to specify the <acronym>IP</acronym> address of " @@ -52849,7 +53022,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:36763 +#: book.translate.xml:36817 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ggatec create -o rw 192.168.1.1 /dev/da0s4d</userinput>\n" @@ -52858,7 +53031,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:36767 +#: book.translate.xml:36821 msgid "" "The device on the server may now be accessed through <filename>/mnt</" "filename> on the client. For more details about <command>ggatec</command> " @@ -52867,7 +53040,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:36773 +#: book.translate.xml:36827 msgid "" "The mount will fail if the device is currently mounted on either the server " "or any other client on the network. If simultaneous access is needed to " @@ -52875,24 +53048,24 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:36779 +#: book.translate.xml:36833 msgid "" "When the device is no longer needed, unmount it with <command>umount</" "command> so that the resource is available to other clients." msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:36785 +#: book.translate.xml:36839 msgid "Labeling Disk Devices" msgstr "磁碟裝置標籤" #. (itstool) path: sect1/indexterm -#: book.translate.xml:36790 +#: book.translate.xml:36844 msgid "<primary>Disk Labels</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:36794 +#: book.translate.xml:36848 msgid "" "During system initialization, the FreeBSD kernel creates device nodes as " "devices are found. This method of probing for devices raises some issues. " @@ -52905,7 +53078,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:36806 +#: book.translate.xml:36860 msgid "" "One solution is to chain <acronym>SCSI</acronym> devices in order so a new " "device added to the <acronym>SCSI</acronym> card will be issued unused " @@ -52919,7 +53092,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:36818 +#: book.translate.xml:36872 msgid "" "A better solution is to use <command>glabel</command> to label the disk " "devices and use the labels in <filename>/etc/fstab</filename>. Because " @@ -52930,7 +53103,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:36828 +#: book.translate.xml:36882 msgid "" "<command>glabel</command> can create both transient and permanent labels. " "Only permanent labels are consistent across reboots. Refer to " @@ -52939,12 +53112,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:36835 +#: book.translate.xml:36889 msgid "Label Types and Examples" msgstr "標籤類型與範例" #. (itstool) path: sect2/para -#: book.translate.xml:36837 +#: book.translate.xml:36891 msgid "" "Permanent labels can be a generic or a file system label. Permanent file " "system labels can be created with <citerefentry><refentrytitle>tunefs</" @@ -52959,7 +53132,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36848 +#: book.translate.xml:36902 msgid "" "Temporary labels are destroyed at the next reboot. These labels are created " "in <filename>/dev/label</filename> and are suited to experimentation. A " @@ -52967,51 +53140,51 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36856 +#: book.translate.xml:36910 msgid "" "To create a permanent label for a <acronym>UFS</acronym>2 file system " "without destroying any data, issue the following command:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36860 +#: book.translate.xml:36914 #, no-wrap msgid "<prompt>#</prompt> <userinput>tunefs -L <replaceable>home</replaceable> <replaceable>/dev/da3</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36862 +#: book.translate.xml:36916 msgid "" "A label should now exist in <filename>/dev/ufs</filename> which may be added " "to <filename>/etc/fstab</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:36865 +#: book.translate.xml:36919 #, no-wrap msgid "/dev/ufs/home\t\t/home ufs rw 2 2" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:36868 +#: book.translate.xml:36922 msgid "" "The file system must not be mounted while attempting to run <command>tunefs</" "command>." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36872 +#: book.translate.xml:36926 msgid "Now the file system may be mounted:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36874 +#: book.translate.xml:36928 #, no-wrap msgid "<prompt>#</prompt> <userinput>mount /home</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36876 +#: book.translate.xml:36930 msgid "" "From this point on, so long as the <filename>geom_label.ko</filename> kernel " "module is loaded at boot with <filename>/boot/loader.conf</filename> or the " @@ -53020,7 +53193,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36883 +#: book.translate.xml:36937 msgid "" "File systems may also be created with a default label by using the <option>-" "L</option> flag with <command>newfs</command>. Refer to " @@ -53029,28 +53202,28 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36888 +#: book.translate.xml:36942 msgid "The following command can be used to destroy the label:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36891 +#: book.translate.xml:36945 #, no-wrap msgid "<prompt>#</prompt> <userinput>glabel destroy home</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36893 +#: book.translate.xml:36947 msgid "The following example shows how to label the partitions of a boot disk." msgstr "" #. (itstool) path: example/title -#: book.translate.xml:36897 +#: book.translate.xml:36951 msgid "Labeling Partitions on the Boot Disk" msgstr "在開機磁碟標記分割區標籤" #. (itstool) path: example/para -#: book.translate.xml:36899 +#: book.translate.xml:36953 msgid "" "By permanently labeling the partitions on the boot disk, the system should " "be able to continue to boot normally, even if the disk is moved to another " @@ -53063,7 +53236,7 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:36913 +#: book.translate.xml:36967 msgid "" "Reboot the system, and at the <citerefentry><refentrytitle>loader</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> prompt, press " @@ -53072,7 +53245,7 @@ msgid "" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:36917 +#: book.translate.xml:36971 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>glabel label rootfs /dev/ad0s1a</userinput>\n" @@ -53089,7 +53262,7 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:36929 +#: book.translate.xml:36983 msgid "" "The system will continue with multi-user boot. After the boot completes, " "edit <filename>/etc/fstab</filename> and replace the conventional device " @@ -53098,7 +53271,7 @@ msgid "" msgstr "" #. (itstool) path: example/programlisting -#: book.translate.xml:36935 +#: book.translate.xml:36989 #, no-wrap msgid "" "# Device Mountpoint FStype Options Dump Pass#\n" @@ -53110,14 +53283,14 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:36942 +#: book.translate.xml:36996 msgid "" "The system can now be rebooted. If everything went well, it will come up " "normally and <command>mount</command> will show:" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:36946 +#: book.translate.xml:37000 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mount</userinput>\n" @@ -53129,7 +53302,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36954 +#: book.translate.xml:37008 msgid "" "The <citerefentry><refentrytitle>glabel</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> class supports a label type for <acronym>UFS</" @@ -53142,7 +53315,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:36965 +#: book.translate.xml:37019 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>glabel status</userinput>\n" @@ -53152,7 +53325,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36970 +#: book.translate.xml:37024 msgid "" "In the above example, <filename>ad4s1d</filename> represents <filename>/var</" "filename>, while <filename>ad4s1f</filename> represents <filename>/usr</" @@ -53162,7 +53335,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:36978 +#: book.translate.xml:37032 #, no-wrap msgid "" "/dev/ufsid/486b6fc38d330916 /var ufs rw 2 2\n" @@ -53170,7 +53343,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:36981 +#: book.translate.xml:37035 msgid "" "Any partitions with <literal>ufsid</literal> labels can be mounted in this " "way, eliminating the need to manually create permanent labels, while still " @@ -53178,17 +53351,17 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:36989 +#: book.translate.xml:37043 msgid "UFS Journaling Through <acronym>GEOM</acronym>" msgstr "UFS Journaling 透過 <acronym>GEOM</acronym>" #. (itstool) path: sect1/indexterm -#: book.translate.xml:36994 +#: book.translate.xml:37048 msgid "<primary>Journaling</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:36998 +#: book.translate.xml:37052 msgid "" "Support for journals on <acronym>UFS</acronym> file systems is available on " "FreeBSD. The implementation is provided through the <acronym>GEOM</acronym> " @@ -53199,7 +53372,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:37007 +#: book.translate.xml:37061 msgid "" "Journaling stores a log of file system transactions, such as changes that " "make up a complete disk write operation, before meta-data and file writes " @@ -53208,7 +53381,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:37013 +#: book.translate.xml:37067 msgid "" "This method provides another mechanism to protect against data loss and " "inconsistencies of the file system. Unlike Soft Updates, which tracks and " @@ -53220,7 +53393,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:37022 +#: book.translate.xml:37076 msgid "" "The <filename>GENERIC</filename> kernel provides support for " "<command>gjournal</command>. To automatically load the " @@ -53229,26 +53402,26 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:37028 +#: book.translate.xml:37082 #, no-wrap msgid "geom_journal_load=\"YES\"" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:37030 +#: book.translate.xml:37084 msgid "" "If a custom kernel is used, ensure the following line is in the kernel " "configuration file:" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:37033 +#: book.translate.xml:37087 #, no-wrap msgid "options\tGEOM_JOURNAL" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:37035 +#: book.translate.xml:37089 msgid "" "Once the module is loaded, a journal can be created on a new file system " "using the following steps. In this example, <filename>da4</filename> is a " @@ -53256,7 +53429,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:37040 +#: book.translate.xml:37094 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>gjournal load</userinput>\n" @@ -53264,21 +53437,21 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:37043 +#: book.translate.xml:37097 msgid "" "This will load the module and create a <filename>/dev/da4.journal</filename> " "device node on <filename>/dev/da4</filename>." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:37047 +#: book.translate.xml:37101 msgid "" "A <acronym>UFS</acronym> file system may now be created on the journaled " "device, then mounted on an existing mount point:" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:37051 +#: book.translate.xml:37105 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>newfs -O 2 -J /dev/<replaceable>da4</replaceable>.journal</userinput>\n" @@ -53286,7 +53459,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:37055 +#: book.translate.xml:37109 msgid "" "In the case of several slices, a journal will be created for each individual " "slice. For instance, if <filename>ad4s1</filename> and <filename>ad4s2</" @@ -53295,7 +53468,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:37063 +#: book.translate.xml:37117 msgid "" "Journaling may also be enabled on current file systems by using " "<command>tunefs</command>. However, <emphasis>always</emphasis> make a " @@ -53309,7 +53482,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:37073 +#: book.translate.xml:37127 msgid "" "It is possible to journal the boot disk of a FreeBSD system. Refer to the " "article <link xlink:href=\"@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/articles/" @@ -53318,54 +53491,59 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:37089 +#: book.translate.xml:37143 msgid "The Z File System (<acronym>ZFS</acronym>)" msgstr "Z 檔案系統 (<acronym>ZFS</acronym>)" #. (itstool) path: authorgroup/author -#: book.translate.xml:37099 +#: book.translate.xml:37153 msgid "" "<personname> <firstname>Allan</firstname> <surname>Jude</surname> </" "personname> <contrib>Written by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:37106 +#: book.translate.xml:37160 msgid "" "<personname> <firstname>Benedict</firstname> <surname>Reuschling</surname> </" "personname> <contrib>Written by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:37113 +#: book.translate.xml:37167 msgid "" "<personname> <firstname>Warren</firstname> <surname>Block</surname> </" "personname> <contrib>Written by </contrib>" msgstr "" #. (itstool) path: chapter/para -#: book.translate.xml:37123 +#: book.translate.xml:37177 msgid "" "The <emphasis>Z File System</emphasis>, or <acronym>ZFS</acronym>, is an " "advanced file system designed to overcome many of the major problems found " "in previous designs." msgstr "" +"<emphasis>Z 檔案系統</emphasis> 或 <acronym>ZFS</acronym> 是設計來克服許多在" +"以往設計中發現的主要問題的一個先進的檔案系統。" #. (itstool) path: chapter/para -#: book.translate.xml:37128 +#: book.translate.xml:37182 msgid "" "Originally developed at <trademark>Sun</trademark>, ongoing open source " "<acronym>ZFS</acronym> development has moved to the <link xlink:href=" "\"http://open-zfs.org\">OpenZFS Project</link>." msgstr "" +"最初由 <trademark>Sun</trademark> 所開發,後來的開放源始碼 <acronym>ZFS</" +"acronym> 開發已移到 <link xlink:href=\"http://open-zfs.org\">OpenZFS 計劃</" +"link>。" #. (itstool) path: chapter/para -#: book.translate.xml:37131 +#: book.translate.xml:37185 msgid "<acronym>ZFS</acronym> has three major design goals:" -msgstr "" +msgstr "<acronym>ZFS</acronym> 的設計目標主要有三個:" #. (itstool) path: listitem/para -#: book.translate.xml:37135 +#: book.translate.xml:37189 msgid "" "Data integrity: All data includes a <link linkend=\"zfs-term-checksum" "\">checksum</link> of the data. When data is written, the checksum is " @@ -53374,17 +53552,24 @@ msgid "" "has been detected. <acronym>ZFS</acronym> will attempt to automatically " "correct errors when data redundancy is available." msgstr "" +"資料完整性:所有資料都會有一個資料的校驗碼 (<link linkend=\"zfs-term-checksum" +"\">checksum</link>),資被寫入時會計算校驗碼然後一併寫入,往後讀取資料時又會再" +"計算一次校驗碼,若校驗碼與當初寫入時不相符,便可偵測到資料錯誤,此時若有可用" +"的資料備援 (Data redundancy),<acronym>ZFS</acronym> 會嘗試自動修正錯誤。" #. (itstool) path: listitem/para -#: book.translate.xml:37146 +#: book.translate.xml:37200 msgid "" "Pooled storage: physical storage devices are added to a pool, and storage " "space is allocated from that shared pool. Space is available to all file " "systems, and can be increased by adding new storage devices to the pool." msgstr "" +"儲存池:實體的儲存裝置都會被加入到一個儲存池 (Pool),然後會使用這個共用的儲存" +"池來配置儲存空間,空間可給所有的檔案系統使用,而空間可透過加入新的儲存裝置到" +"儲存池來增加。" #. (itstool) path: listitem/para -#: book.translate.xml:37153 +#: book.translate.xml:37207 msgid "" "Performance: multiple caching mechanisms provide increased performance. " "<link linkend=\"zfs-term-arc\">ARC</link> is an advanced memory-based read " @@ -53392,21 +53577,25 @@ msgid "" "linkend=\"zfs-term-l2arc\">L2ARC</link>, and disk-based synchronous write " "cache is available with <link linkend=\"zfs-term-zil\">ZIL</link>." msgstr "" +"效能:提供多個快取機制來增加效能。先進、以記憶體為基礎的讀取快取可使用 <link " +"linkend=\"zfs-term-arc\">ARC</link>。第二層以磁碟為基礎的讀取快取可使用 " +"<link linkend=\"zfs-term-l2arc\">L2ARC</link>,以磁碟為基礎的同步寫入快取則可" +"使用 <link linkend=\"zfs-term-zil\">ZIL</link>。" #. (itstool) path: chapter/para -#: book.translate.xml:37163 +#: book.translate.xml:37217 msgid "" "A complete list of features and terminology is shown in <xref linkend=\"zfs-" "term\"/>." -msgstr "" +msgstr "完整的功能清單與術語在 <xref linkend=\"zfs-term\"/> 中有詳述。" #. (itstool) path: sect1/title -#: book.translate.xml:37167 +#: book.translate.xml:37221 msgid "What Makes <acronym>ZFS</acronym> Different" msgstr "什麼使 <acronym>ZFS</acronym> 與眾不同" #. (itstool) path: sect1/para -#: book.translate.xml:37169 +#: book.translate.xml:37223 msgid "" "<acronym>ZFS</acronym> is significantly different from any previous file " "system because it is more than just a file system. Combining the " @@ -53433,39 +53622,56 @@ msgid "" "different file systems and datasets rather than a single monolithic file " "system." msgstr "" +"<acronym>ZFS</acronym> 與任何以往的檔案系統有顯著的不同,它並不只是一個檔案系" +"統,結合了傳統磁碟區管理程式 (Volume Manager) 及檔案系統兩個獨立的角色,造就" +"了 <acronym>ZFS</acronym> 獨特的優點,讓檔案系統現在可以察覺磁碟底層結構的變" +"動。傳統在一個磁碟上只能建立一個檔案系統,若有兩個磁碟則會需要建立兩個分開的" +"檔案系統,這個問題在傳統硬體 <acronym>RAID</acronym> 上可以透過呈現一個單一的" +"邏輯磁碟給作業系統來解決,這個磁碟的空間實際上由數個實體磁碟所組成,而作業系" +"統便可在這個邏輯磁碟上放置檔案系統,即使在像 <acronym>GEOM</acronym> 提供的軟" +"體 <acronym>RAID</acronym> 解決方案也是一樣,把 <acronym>RAID</acronym> " +"transform 當做是一個單一的裝置,把 <acronym>UFS</acronym> 檔案系統放在上面。" +"<acronym>ZFS</acronym> 結合了 Volume Manager 與檔案系統來解決這個問題並讓建立" +"的許多檔案系統可以共用一個儲存池 (Pool)。<acronym>ZFS</acronym> 最大的優點是" +"可以察覺實體磁碟配置的變動,當有額外的磁碟加入到儲存池時可以自動擴增即有的檔" +"案系統,所有的檔案系統便可使用這個新的空間。<acronym>ZFS</acronym> 也有數個不" +"同的屬性可以套用到各別檔案系統上,比起單一檔案系統,對建立數個不同檔案系統與" +"資料集 (Dataset) 時有許多的好處。" #. (itstool) path: sect1/title -#: book.translate.xml:37200 +#: book.translate.xml:37254 msgid "Quick Start Guide" msgstr "快速入門指南" #. (itstool) path: sect1/para -#: book.translate.xml:37202 +#: book.translate.xml:37256 msgid "" "There is a startup mechanism that allows FreeBSD to mount <acronym>ZFS</" "acronym> pools during system initialization. To enable it, add this line to " "<filename>/etc/rc.conf</filename>:" msgstr "" +"這裡有一個啟動機制,可讓 FreeBSD 在系統初始化時掛載 <acronym>ZFS</acronym> 儲" +"存池。要開啟這個功能,可加入此行到 <filename>/etc/rc.conf</filename>:" #. (itstool) path: sect1/programlisting -#: book.translate.xml:37207 +#: book.translate.xml:37261 #, no-wrap msgid "zfs_enable=\"YES\"" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:37209 +#: book.translate.xml:37263 msgid "Then start the service:" -msgstr "" +msgstr "然後啟動服務:" #. (itstool) path: sect1/screen -#: book.translate.xml:37211 +#: book.translate.xml:37265 #, no-wrap msgid "<prompt>#</prompt> <userinput>service zfs start</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:37213 +#: book.translate.xml:37267 msgid "" "The examples in this section assume three <acronym>SCSI</acronym> disks with " "the device names <filename><replaceable>da0</replaceable></filename>, " @@ -53474,30 +53680,36 @@ msgid "" "acronym> hardware should instead use <filename><replaceable>ada</" "replaceable></filename> device names." msgstr "" +"這本節的例子會假設有三個 <acronym>SCSI</acronym> 磁碟,名稱分別為 " +"<filename><replaceable>da0</replaceable></filename>, " +"<filename><replaceable>da1</replaceable></filename> 及 " +"<filename><replaceable>da2</replaceable></filename>。<acronym>SATA</acronym> " +"硬體的使用者裝置名稱改為 <filename><replaceable>ada</replaceable></" +"filename> 。" #. (itstool) path: sect2/title -#: book.translate.xml:37223 +#: book.translate.xml:37277 msgid "Single Disk Pool" msgstr "單磁碟儲存池" #. (itstool) path: sect2/para -#: book.translate.xml:37225 +#: book.translate.xml:37279 msgid "To create a simple, non-redundant pool using a single disk device:" -msgstr "" +msgstr "要使用一個磁碟裝置建立一個簡單、無備援的儲存池可:" #. (itstool) path: sect2/screen -#: book.translate.xml:37228 +#: book.translate.xml:37282 #, no-wrap msgid "<prompt>#</prompt> <userinput>zpool create <replaceable>example</replaceable> <replaceable>/dev/da0</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37230 +#: book.translate.xml:37284 msgid "To view the new pool, review the output of <command>df</command>:" -msgstr "" +msgstr "要檢視這個新的儲存池,可查看 <command>df</command> 的輸出結果:" #. (itstool) path: sect2/screen -#: book.translate.xml:37233 +#: book.translate.xml:37287 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>df</userinput>\n" @@ -53509,15 +53721,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37240 +#: book.translate.xml:37294 msgid "" "This output shows that the <literal>example</literal> pool has been created " "and mounted. It is now accessible as a file system. Files can be created on " "it and users can browse it:" msgstr "" +"這個輸出結果說明 <literal>example</literal> 儲存池已建立且被掛載,現在已經可" +"以作為檔案系統存取,可以在上面建立檔案且使用者可以瀏覽:" #. (itstool) path: sect2/screen -#: book.translate.xml:37245 +#: book.translate.xml:37299 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /example</userinput>\n" @@ -53531,14 +53745,16 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37254 +#: book.translate.xml:37308 msgid "" "However, this pool is not taking advantage of any <acronym>ZFS</acronym> " "features. To create a dataset on this pool with compression enabled:" msgstr "" +"但是,這個儲存池並未運用到任何 <acronym>ZFS</acronym> 功能,若要在這個儲存池" +"上建立一個有開啟壓縮的資料集:" #. (itstool) path: sect2/screen -#: book.translate.xml:37258 +#: book.translate.xml:37312 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs create example/compressed</userinput>\n" @@ -53546,33 +53762,38 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37261 +#: book.translate.xml:37315 msgid "" "The <literal>example/compressed</literal> dataset is now a <acronym>ZFS</" "acronym> compressed file system. Try copying some large files to <filename>/" "example/compressed</filename>." msgstr "" +"<literal>example/compressed</literal> 資料集現在是一個 <acronym>ZFS</" +"acronym> 壓縮的檔案系統,可以試著複製較大的檔案到 <filename>/example/" +"compressed</filename>。" #. (itstool) path: sect2/para -#: book.translate.xml:37266 +#: book.translate.xml:37320 msgid "Compression can be disabled with:" -msgstr "" +msgstr "壓縮也可以使用以下指令關閉:" #. (itstool) path: sect2/screen -#: book.translate.xml:37268 +#: book.translate.xml:37322 #, no-wrap msgid "<prompt>#</prompt> <userinput>zfs set compression=off example/compressed</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37270 +#: book.translate.xml:37324 msgid "" "To unmount a file system, use <command>zfs umount</command> and then verify " "with <command>df</command>:" msgstr "" +"要卸載檔案系統,使用 <command>zfs umount</command> 然後再使用 <command>df</" +"command> 確認:" #. (itstool) path: sect2/screen -#: book.translate.xml:37274 +#: book.translate.xml:37328 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs umount example/compressed</userinput>\n" @@ -53585,14 +53806,16 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37282 +#: book.translate.xml:37336 msgid "" "To re-mount the file system to make it accessible again, use <command>zfs " "mount</command> and verify with <command>df</command>:" msgstr "" +"要重新掛載檔案系統以便再次使用,使用 use <command>zfs mount</command> 然後以 " +"<command>df</command> 檢查:" #. (itstool) path: sect2/screen -#: book.translate.xml:37286 +#: book.translate.xml:37340 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs mount example/compressed</userinput>\n" @@ -53606,14 +53829,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37295 +#: book.translate.xml:37349 msgid "" "The pool and file system may also be observed by viewing the output from " "<command>mount</command>:" -msgstr "" +msgstr "儲存池與檔案系統也可以從 <command>mount</command> 的結果查詢到:" #. (itstool) path: sect2/screen -#: book.translate.xml:37298 +#: book.translate.xml:37352 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mount</userinput>\n" @@ -53625,7 +53848,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37305 +#: book.translate.xml:37359 msgid "" "After creation, <acronym>ZFS</acronym> datasets can be used like any file " "systems. However, many other features are available which can be set on a " @@ -53633,9 +53856,13 @@ msgid "" "<literal>data</literal> is created. Important files will be stored here, so " "it is configured to keep two copies of each data block:" msgstr "" +"在建立之後,<acronym>ZFS</acronym> 的資料集可如同其他檔案系統一般使用,且有許" +"多額外功能可在每個資料集上設定。例如,建立一個新的檔案系統 <literal>data</" +"literal>,此處預計存放重要的資料,所以會設定每個資料區 (Data block) 要保留兩" +"份備份:" #. (itstool) path: sect2/screen -#: book.translate.xml:37313 +#: book.translate.xml:37367 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs create example/data</userinput>\n" @@ -53643,14 +53870,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37316 +#: book.translate.xml:37370 msgid "" "It is now possible to see the data and space utilization by issuing " "<command>df</command>:" -msgstr "" +msgstr "現在,可以使用 <command>df</command> 指令來查看資料與空間的使用率:" #. (itstool) path: sect2/screen -#: book.translate.xml:37319 +#: book.translate.xml:37373 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>df</userinput>\n" @@ -53664,7 +53891,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37328 +#: book.translate.xml:37382 msgid "" "Notice that each file system on the pool has the same amount of available " "space. This is the reason for using <command>df</command> in these examples, " @@ -53673,16 +53900,20 @@ msgid "" "volumes and partitions, and allows multiple file systems to occupy the same " "pool." msgstr "" +"注意,從這個可以發現每個在儲存池上的檔案系統都擁有相同的可用空間,這是為什麼" +"要在這些範例使用 <command>df</command> 的原因,為了要顯示檔案系統只會用它們所" +"需要使用到的空間,且均取自同一個儲存池。<acronym>ZFS</acronym> 淘汰了磁碟區 " +"(Volume) 與分割區 (Partition) 的概念,且允許多個檔案系統共用相同的儲存池。" #. (itstool) path: sect2/para -#: book.translate.xml:37336 +#: book.translate.xml:37390 msgid "" "To destroy the file systems and then destroy the pool as it is no longer " "needed:" -msgstr "" +msgstr "不需要使用時可摧毀檔案系統後再摧毀儲存池:" #. (itstool) path: sect2/screen -#: book.translate.xml:37339 +#: book.translate.xml:37393 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs destroy example/compressed</userinput>\n" @@ -53691,34 +53922,40 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:37345 +#: book.translate.xml:37399 msgid "RAID-Z" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37347 +#: book.translate.xml:37401 msgid "" "Disks fail. One method of avoiding data loss from disk failure is to " "implement <acronym>RAID</acronym>. <acronym>ZFS</acronym> supports this " "feature in its pool design. <acronym>RAID-Z</acronym> pools require three or " "more disks but provide more usable space than mirrored pools." msgstr "" +"磁碟損壞時,要避免資料因磁碟故障造成遺失便是使用 <acronym>RAID</acronym>。" +"<acronym>ZFS</acronym> 在它的儲存池設計中支援了這項功能。<acronym>RAID-Z</" +"acronym> 儲存池需要使用三個或更多的磁碟,但可以提供比鏡像 (Mirror) 儲存池更" +"多的可用空間。" #. (itstool) path: sect2/para -#: book.translate.xml:37354 +#: book.translate.xml:37408 msgid "" "This example creates a <acronym>RAID-Z</acronym> pool, specifying the disks " "to add to the pool:" msgstr "" +"這個例子會建立一個 <acronym>RAID-Z</acronym> 儲存池,並指定要加入這個儲存池的" +"磁碟:" #. (itstool) path: sect2/screen -#: book.translate.xml:37357 +#: book.translate.xml:37411 #, no-wrap msgid "<prompt>#</prompt> <userinput>zpool create storage raidz da0 da1 da2</userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:37360 +#: book.translate.xml:37414 msgid "" "<trademark>Sun</trademark> recommends that the number of devices used in a " "<acronym>RAID</acronym>-Z configuration be between three and nine. For " @@ -53729,28 +53966,36 @@ msgid "" "<citerefentry><refentrytitle>zpool</refentrytitle><manvolnum>8</manvolnum></" "citerefentry> for more details." msgstr "" +"<trademark>Sun</trademark> 建議用在 <acronym>RAID</acronym>-Z 設定的裝置數在" +"三到九個之間。若需要由 10 個或更多磁碟組成單一儲存池環境,請考慮是否分成較小" +"的 <acronym>RAID-Z</acronym> 群組。若只有兩個可用的磁碟且需要做備援 " +"(Redundancy),請考慮使用 <acronym>ZFS</acronym> 鏡像 (Mirror)。請參考 " +"<citerefentry><refentrytitle>zpool</refentrytitle><manvolnum>8</manvolnum></" +"citerefentry> 取得更多詳細資訊。" #. (itstool) path: sect2/para -#: book.translate.xml:37370 +#: book.translate.xml:37424 msgid "" "The previous example created the <literal>storage</literal> zpool. This " "example makes a new file system called <literal>home</literal> in that pool:" msgstr "" +"先前的例子已經建立了 <literal>storage</literal> zpool,現在這個例子會在該儲存" +"池中建立一個新的檔案系統,名稱為 <literal>home</literal>:" #. (itstool) path: sect2/screen -#: book.translate.xml:37375 +#: book.translate.xml:37429 #, no-wrap msgid "<prompt>#</prompt> <userinput>zfs create storage/home</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37377 +#: book.translate.xml:37431 msgid "" "Compression and keeping extra copies of directories and files can be enabled:" -msgstr "" +msgstr "可以設定開啟壓縮及保留目錄及檔案額外備份的功能:" #. (itstool) path: sect2/screen -#: book.translate.xml:37380 +#: book.translate.xml:37434 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs set copies=2 storage/home</userinput>\n" @@ -53758,14 +54003,16 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37383 +#: book.translate.xml:37437 msgid "" "To make this the new home directory for users, copy the user data to this " "directory and create the appropriate symbolic links:" msgstr "" +"要讓這個空間做為使用者的新家目錄位置,複製使用者資料到這個目錄並建立適合的符" +"號連結 (Symbolic link):" #. (itstool) path: sect2/screen -#: book.translate.xml:37387 +#: book.translate.xml:37441 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cp -rp /home/* /storage/home</userinput>\n" @@ -53775,95 +54022,108 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37392 +#: book.translate.xml:37446 msgid "" "Users data is now stored on the freshly-created <filename>/storage/home</" "filename>. Test by adding a new user and logging in as that user." msgstr "" +"現在使用者的資料會儲存在新建立的 <filename>/storage/home</filename>,可以加入" +"新使用者並登入該使用者來測試。" #. (itstool) path: sect2/para -#: book.translate.xml:37396 +#: book.translate.xml:37450 msgid "Try creating a file system snapshot which can be rolled back later:" -msgstr "" +msgstr "試著建立檔案系統快照 (Snapshot),稍後可用來還原 (Rollback):" #. (itstool) path: sect2/screen -#: book.translate.xml:37399 +#: book.translate.xml:37453 #, no-wrap msgid "<prompt>#</prompt> <userinput>zfs snapshot storage/home@08-30-08</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37401 +#: book.translate.xml:37455 msgid "" "Snapshots can only be made of a full file system, not a single directory or " "file." -msgstr "" +msgstr "只可以對整個檔案系統做快照,無法針對各別目錄或檔案。" #. (itstool) path: sect2/para -#: book.translate.xml:37404 +#: book.translate.xml:37458 msgid "" "The <literal>@</literal> character is a delimiter between the file system " "name or the volume name. If an important directory has been accidentally " "deleted, the file system can be backed up, then rolled back to an earlier " "snapshot when the directory still existed:" msgstr "" +"<literal>@</literal> 是用來區隔檔案系統 (File system) 名稱或磁碟區 (Volume) " +"名稱的字元,若有重要的目錄意外被刪除,檔案系統可以備份然後還原到先前目錄還存" +"在時的快照 (Snapshot):" #. (itstool) path: sect2/screen -#: book.translate.xml:37410 +#: book.translate.xml:37464 #, no-wrap msgid "<prompt>#</prompt> <userinput>zfs rollback storage/home@08-30-08</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37412 +#: book.translate.xml:37466 msgid "" "To list all available snapshots, run <command>ls</command> in the file " "system's <filename>.zfs/snapshot</filename> directory. For example, to see " "the previously taken snapshot:" msgstr "" +"要列出所有可用的快照,可在檔案系統的 <filename>.zfs/snapshot</filename> 目錄" +"執行 <command>ls</command>,舉例來說,要查看先前已做的快照:" #. (itstool) path: sect2/screen -#: book.translate.xml:37417 +#: book.translate.xml:37471 #, no-wrap msgid "<prompt>#</prompt> <userinput>ls /storage/home/.zfs/snapshot</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37419 +#: book.translate.xml:37473 msgid "" "It is possible to write a script to perform regular snapshots on user data. " "However, over time, snapshots can consume a great deal of disk space. The " "previous snapshot can be removed using the command:" msgstr "" +"也可以寫一個 Script 來對使用者資料做例行性的快照,但隨著時間快照可能消耗大量" +"的磁碟空間。先前的快照可以使用指令移除:" #. (itstool) path: sect2/screen -#: book.translate.xml:37424 +#: book.translate.xml:37478 #, no-wrap msgid "<prompt>#</prompt> <userinput>zfs destroy storage/home@08-30-08</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37426 +#: book.translate.xml:37480 msgid "" "After testing, <filename>/storage/home</filename> can be made the real " "<filename>/home</filename> using this command:" msgstr "" +"在測試之後,便可讓 <filename>/storage/home</filename> 成為真正的 <filename>/" +"home</filename> 使用此指令:" #. (itstool) path: sect2/screen -#: book.translate.xml:37430 +#: book.translate.xml:37484 #, no-wrap msgid "<prompt>#</prompt> <userinput>zfs set mountpoint=/home storage/home</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37432 +#: book.translate.xml:37486 msgid "" "Run <command>df</command> and <command>mount</command> to confirm that the " "system now treats the file system as the real <filename>/home</filename>:" msgstr "" +"執行 <command>df</command> 興 <command>mount</command> 來確認系統現在是否以把" +"檔案系統做為真正的 <filename>/home</filename>:" #. (itstool) path: sect2/screen -#: book.translate.xml:37436 +#: book.translate.xml:37490 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mount</userinput>\n" @@ -53882,7 +54142,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37450 +#: book.translate.xml:37504 msgid "" "This completes the <acronym>RAID-Z</acronym> configuration. Daily status " "updates about the file systems created can be generated as part of the " @@ -53890,54 +54150,64 @@ msgid "" "manvolnum></citerefentry> runs. Add this line to <filename>/etc/periodic." "conf</filename>:" msgstr "" +"這個動作完成 <acronym>RAID-Z</acronym> 最後的設定,有關已建立的檔案系統每日狀" +"態更新可以做為 <citerefentry><refentrytitle>periodic</" +"refentrytitle><manvolnum>8</manvolnum></citerefentry> 的一部份在每晚執行。加" +"入此行到 <filename>/etc/periodic.conf</filename>:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:37456 +#: book.translate.xml:37510 #, no-wrap msgid "daily_status_zfs_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:37460 +#: book.translate.xml:37514 msgid "Recovering <acronym>RAID-Z</acronym>" msgstr "復原 <acronym>RAID-Z</acronym>" #. (itstool) path: sect2/para -#: book.translate.xml:37462 +#: book.translate.xml:37516 msgid "" "Every software <acronym>RAID</acronym> has a method of monitoring its " "<literal>state</literal>. The status of <acronym>RAID-Z</acronym> devices " "may be viewed with this command:" msgstr "" +"每個軟體 <acronym>RAID</acronym> 都有監控其狀態 (<literal>state</literal>) 的" +"方式,<acronym>RAID-Z</acronym> 裝置的狀態可以使用這個指令來查看:" #. (itstool) path: sect2/screen -#: book.translate.xml:37467 +#: book.translate.xml:37521 #, no-wrap msgid "<prompt>#</prompt> <userinput>zpool status -x</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37469 +#: book.translate.xml:37523 msgid "" "If all pools are <link linkend=\"zfs-term-online\">Online</link> and " "everything is normal, the message shows:" msgstr "" +"如果所有儲存池為上線 (<link linkend=\"zfs-term-online\">Online</link>) 且正" +"常,則訊息會顯示:" #. (itstool) path: sect2/screen -#: book.translate.xml:37473 +#: book.translate.xml:37527 #, no-wrap msgid "all pools are healthy" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37475 +#: book.translate.xml:37529 msgid "" "If there is an issue, perhaps a disk is in the <link linkend=\"zfs-term-" "offline\">Offline</link> state, the pool state will look similar to:" msgstr "" +"如果有發生問題,可能磁碟會呈現離線 (<link linkend=\"zfs-term-offline" +"\">Offline</link>) 的狀態,此時儲存池的狀態會是:" #. (itstool) path: sect2/screen -#: book.translate.xml:37479 +#: book.translate.xml:37533 #, no-wrap msgid "" " pool: storage\n" @@ -53961,40 +54231,44 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37498 +#: book.translate.xml:37552 msgid "" "This indicates that the device was previously taken offline by the " "administrator with this command:" -msgstr "" +msgstr "這代表著裝置在之前被管理者使用此指令拿下線:" #. (itstool) path: sect2/screen -#: book.translate.xml:37501 +#: book.translate.xml:37555 #, no-wrap msgid "<prompt>#</prompt> <userinput>zpool offline storage da1</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37503 +#: book.translate.xml:37557 msgid "" "Now the system can be powered down to replace <filename>da1</filename>. When " "the system is back online, the failed disk can replaced in the pool:" msgstr "" +"現在系統可以關機然後更換 <filename>da1</filename>,當系統恢復上線,則可以替換" +"掉儲存池中故障的磁碟:" #. (itstool) path: sect2/screen -#: book.translate.xml:37507 +#: book.translate.xml:37561 #, no-wrap msgid "<prompt>#</prompt> <userinput>zpool replace storage da1</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37509 +#: book.translate.xml:37563 msgid "" "From here, the status may be checked again, this time without <option>-x</" "option> so that all pools are shown:" msgstr "" +"到這裡,可以再檢查狀態一次,這時不使用 <option>-x</option> 參數來顯示所有的儲" +"存池:" #. (itstool) path: sect2/screen -#: book.translate.xml:37513 +#: book.translate.xml:37567 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool status storage</userinput>\n" @@ -54014,24 +54288,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37528 +#: book.translate.xml:37582 msgid "In this example, everything is normal." -msgstr "" +msgstr "在這個例子中,所有的磁碟均正常運作。" #. (itstool) path: sect2/title -#: book.translate.xml:37532 +#: book.translate.xml:37586 msgid "Data Verification" msgstr "資料檢驗" #. (itstool) path: sect2/para -#: book.translate.xml:37534 +#: book.translate.xml:37588 msgid "" "<acronym>ZFS</acronym> uses checksums to verify the integrity of stored " "data. These are enabled automatically upon creation of file systems." msgstr "" +"<acronym>ZFS</acronym> 使用校驗碼 (Checksum) 來檢驗資料的完整性 (Integrity)," +"在建立檔案系統時便會自動開啟。" #. (itstool) path: warning/para -#: book.translate.xml:37539 +#: book.translate.xml:37593 msgid "" "Checksums can be disabled, but it is <emphasis>not</emphasis> recommended! " "Checksums take very little storage space and provide data integrity. Many " @@ -54039,22 +54315,27 @@ msgid "" "disabled. There is no noticeable performance gain from disabling these " "checksums." msgstr "" +"校驗碼 (Checksum) 可以關閉,但並<emphasis>不</emphasis>建議!校驗碼只會使用非" +"常少的儲存空間來確保資料的完整性。校驗碼若關閉會使許多 <acronym>ZFS</" +"acronym> 功能無法正常運作,關閉校驗碼功能並不會明顯的改善效能。" #. (itstool) path: sect2/para -#: book.translate.xml:37547 +#: book.translate.xml:37601 msgid "" "Checksum verification is known as <emphasis>scrubbing</emphasis>. Verify the " "data integrity of the <literal>storage</literal> pool with this command:" msgstr "" +"檢驗校驗碼這個動作即所謂的<emphasis>清潔 (Scrub)</emphasis>,可以使用以下指令" +"來檢驗 <literal>storage</literal> 儲存池的資料完整性:" #. (itstool) path: sect2/screen -#: book.translate.xml:37551 +#: book.translate.xml:37605 #, no-wrap msgid "<prompt>#</prompt> <userinput>zpool scrub storage</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37553 +#: book.translate.xml:37607 msgid "" "The duration of a scrub depends on the amount of data stored. Larger amounts " "of data will take proportionally longer to verify. Scrubs are very " @@ -54062,9 +54343,12 @@ msgid "" "time. After the scrub completes, the status can be viewed with " "<command>status</command>:" msgstr "" +"清潔所需要的時間依儲存的資料量而定,較大的資料量相對會需要花費較長的時間來檢" +"驗。清潔對 <acronym>I/O</acronym> 的操作非常密集,且一次只能進行一個清潔動" +"作。在清潔完成之後,可以使用 <command>status</command> 來查看狀態:" #. (itstool) path: sect2/screen -#: book.translate.xml:37560 +#: book.translate.xml:37614 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool status storage</userinput>\n" @@ -54084,29 +54368,35 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37575 +#: book.translate.xml:37629 msgid "" "The completion date of the last scrub operation is displayed to help track " "when another scrub is required. Routine scrubs help protect data from silent " "corruption and ensure the integrity of the pool." msgstr "" +"查詢結果會顯示上次完成清潔的時間來協助追蹤是否要再做清潔。定期清潔可以協助保" +"護資料不會默默損壞且確保儲存池的完整性。" #. (itstool) path: sect2/para -#: book.translate.xml:37580 +#: book.translate.xml:37634 msgid "" "Refer to <citerefentry><refentrytitle>zfs</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>zpool</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> for other " "<acronym>ZFS</acronym> options." msgstr "" +"請參考 <citerefentry><refentrytitle>zfs</refentrytitle><manvolnum>8</" +"manvolnum></citerefentry> 及 <citerefentry><refentrytitle>zpool</" +"refentrytitle><manvolnum>8</manvolnum></citerefentry> 來取得其他 " +"<acronym>ZFS</acronym> 選項。" #. (itstool) path: sect1/title -#: book.translate.xml:37586 +#: book.translate.xml:37640 msgid "<command>zpool</command> Administration" msgstr "<command>zpool</command> 管理" #. (itstool) path: sect1/para -#: book.translate.xml:37588 +#: book.translate.xml:37642 msgid "" "<acronym>ZFS</acronym> administration is divided between two main utilities. " "The <command>zpool</command> utility controls the operation of the pool and " @@ -54116,14 +54406,19 @@ msgid "" "filesystem\">file systems</link> and <link linkend=\"zfs-term-volume" "\">volumes</link>." msgstr "" +"<acronym>ZFS</acronym> 管理分成兩個主要的工具。<command>zpool</command> 工具" +"用來控制儲存池的運作並可處理磁碟的新增、移除、更換與管理。<link linkend=" +"\"zfs-zfs\"><command>zfs</command></link> 工具用來建立、摧毀與管理檔案系統 " +"(<link linkend=\"zfs-term-filesystem\">File system</link>) 與磁碟區 (<link " +"linkend=\"zfs-term-volume\">Volume</link>) 的資料集。" #. (itstool) path: sect2/title -#: book.translate.xml:37598 +#: book.translate.xml:37652 msgid "Creating and Destroying Storage Pools" msgstr "建立與摧毀儲存池" #. (itstool) path: sect2/para -#: book.translate.xml:37600 +#: book.translate.xml:37654 msgid "" "Creating a <acronym>ZFS</acronym> storage pool (<emphasis>zpool</emphasis>) " "involves making a number of decisions that are relatively permanent because " @@ -54138,14 +54433,22 @@ msgid "" "expand a pool, the layout of the pool cannot be changed after pool creation. " "Instead, the data must be backed up and the pool destroyed and recreated." msgstr "" +"建立 <acronym>ZFS</acronym> 儲存池 (<emphasis>zpool</emphasis>) 要做幾個涉及" +"長遠規劃的決定,因為建立儲存池之後便無法再更改儲存池的結構。最重要的決定是要" +"使用那一種型態的 vdev 來將實體磁碟設為同一群組。請參考 <link linkend=\"zfs-" +"term-vdev\">vdev 型態</link> 的清單來取得有關可用選項的詳細資訊。大部份的 " +"vdev 型態不允許在建立儲存池之後再加入額外的磁碟,鏡像 (Mirror) 是其中一個例" +"外,可以允許加入額外的磁碟到 vdev,另一個則是串連 (Stripe),可以加入額外的磁" +"碟到 vdev 來升級為鏡像。雖然可以加入額外的 vdev 來擴充儲存池,但儲存池的配置" +"在建立之後便無法更改,若要要更改,則必須備份資料,把儲存池摧毀後再重新建立。" #. (itstool) path: sect2/para -#: book.translate.xml:37617 +#: book.translate.xml:37671 msgid "Create a simple mirror pool:" -msgstr "" +msgstr "建立一個簡單的鏡像儲存池:" #. (itstool) path: sect2/screen -#: book.translate.xml:37619 +#: book.translate.xml:37673 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool create <replaceable>mypool</replaceable> mirror <replaceable>/dev/ada1</replaceable> <replaceable>/dev/ada2</replaceable></userinput>\n" @@ -54165,15 +54468,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37634 +#: book.translate.xml:37688 msgid "" "Multiple vdevs can be created at once. Specify multiple groups of disks " "separated by the vdev type keyword, <literal>mirror</literal> in this " "example:" msgstr "" +"可以一次建立數個 vdev,磁碟群組間使用 vdev type 關鍵字來區隔,在這個例子使用 " +"<literal>mirror</literal>:" #. (itstool) path: sect2/screen -#: book.translate.xml:37638 +#: book.translate.xml:37692 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool create <replaceable>mypool</replaceable> mirror <replaceable>/dev/ada1</replaceable> <replaceable>/dev/ada2</replaceable> mirror <replaceable>/dev/ada3</replaceable> <replaceable>/dev/ada4</replaceable></userinput>\n" @@ -54195,7 +54500,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37655 +#: book.translate.xml:37709 msgid "" "Pools can also be constructed using partitions rather than whole disks. " "Putting <acronym>ZFS</acronym> in a separate partition allows the same disk " @@ -54209,16 +54514,25 @@ msgid "" "slightly smaller capacity, the smaller partition will still fit, and the " "replacement disk can still be used." msgstr "" +"儲存池也可使用分割區 (Partition) 來建立,不使用整個磁碟。把 <acronym>ZFS</" +"acronym> 放到不同的分割區可讓同一個磁碟有其他的分割區可做其他用途,尤其是有 " +"Bootcode 與檔案系統要用來開機的分割區,這讓磁碟可以用來開機也同樣可以做為儲存" +"池的一部份。在 FreeBSD 用分割區來替代整個磁碟並不會對效能有影響。使用分割區也" +"讓管理者可以對磁碟容量做 <emphasis>少算的預備</emphasis>,使用比完整容量少的" +"容量,未來若要替換的磁碟號稱與原磁碟相同,但實際上卻比較小時,也可符合這個較" +"小的分割區容量,以使用替換的磁碟。" #. (itstool) path: sect2/para -#: book.translate.xml:37670 +#: book.translate.xml:37724 msgid "" "Create a <link linkend=\"zfs-term-vdev-raidz\">RAID-Z2</link> pool using " "partitions:" msgstr "" +"使用分割區建立一個 <link linkend=\"zfs-term-vdev-raidz\">RAID-Z2</link> 儲存" +"池:" #. (itstool) path: sect2/screen -#: book.translate.xml:37674 +#: book.translate.xml:37728 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool create <replaceable>mypool</replaceable> raidz2 <replaceable>/dev/ada0p3</replaceable> <replaceable>/dev/ada1p3</replaceable> <replaceable>/dev/ada2p3</replaceable> <replaceable>/dev/ada3p3</replaceable> <replaceable>/dev/ada4p3</replaceable> <replaceable>/dev/ada5p3</replaceable></userinput>\n" @@ -54242,7 +54556,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37693 +#: book.translate.xml:37747 msgid "" "A pool that is no longer needed can be destroyed so that the disks can be " "reused. Destroying a pool involves first unmounting all of the datasets in " @@ -54251,23 +54565,31 @@ msgid "" "with <option>-f</option>, but this can cause undefined behavior in " "applications which had open files on those datasets." msgstr "" +"不再使用的儲存池可以摧毀,來讓磁碟可以再次使用。摧毀一個儲存池要先卸載所有該" +"儲存池的資料集。若資料集在使用中,卸載的操作會失敗且不會被摧毀儲存池。儲存池" +"的摧毀可以使用 <option>-f</option> 來強制執行,但這可能造成那些有開啟這些資料" +"集中的檔案的應用程式無法辨識的行為。" #. (itstool) path: sect2/title -#: book.translate.xml:37704 +#: book.translate.xml:37758 msgid "Adding and Removing Devices" msgstr "加入與移除裝置" #. (itstool) path: sect2/para -#: book.translate.xml:37706 +#: book.translate.xml:37760 msgid "" "There are two cases for adding disks to a zpool: attaching a disk to an " "existing vdev with <command>zpool attach</command>, or adding vdevs to the " "pool with <command>zpool add</command>. Only some <link linkend=\"zfs-term-" "vdev\">vdev types</link> allow disks to be added to the vdev after creation." msgstr "" +"加入磁碟到儲存池 (zpool) 會有兩種情形:使用 <command>zpool attach</command> " +"加入一個磁碟到既有的 vdev,或使用 <command>zpool add</command> 加入 vdev 到儲" +"存池。只有部份 <link linkend=\"zfs-term-vdev\">vdev 型態</link> 允許在 vdev " +"建立之後加入磁碟。" #. (itstool) path: sect2/para -#: book.translate.xml:37713 +#: book.translate.xml:37767 msgid "" "A pool created with a single disk lacks redundancy. Corruption can be " "detected but not repaired, because there is no other copy of the data. The " @@ -54282,16 +54604,27 @@ msgid "" "first disk on to the second, <command>gpart backup</command> and " "<command>gpart restore</command> can be used to make this process easier." msgstr "" +"由單一磁碟所建立的儲存池缺乏備援 (Redundancy) 功能,可以偵測到資料的損壞但無" +"法修復,因為資料沒有其他備份可用。備份數 (<link linkend=\"zfs-term-copies" +"\">Copies</link>) 屬性可以讓您從較小的故障中復原,如磁碟壞軌 (Bad sector),但" +"無法提供與鏡像或 <acronym>RAID-Z</acronym> 同樣層級的保護。由單一磁碟所建立的" +"儲存池可以使用 <command>zpool attach</command> 來加入額外的磁碟到 vdev,來建" +"立鏡像。<command>zpool attach</command> 也可用來加入額外的磁碟到鏡像群組,來" +"增加備援與讀取效率。若使用的磁碟已有分割區,可以複製該磁碟的分割區配置到另一" +"個,使用 <command>gpart backup</command> 與 <command>gpart restore</command> " +"可讓這件事變的很簡單。" #. (itstool) path: sect2/para -#: book.translate.xml:37731 +#: book.translate.xml:37785 msgid "" "Upgrade the single disk (stripe) vdev <replaceable>ada0p3</replaceable> to a " "mirror by attaching <replaceable>ada1p3</replaceable>:" msgstr "" +"加入 <replaceable>ada1p3</replaceable> 來升級單一磁碟串連 (stripe) vdev " +"<replaceable>ada0p3</replaceable> 採用鏡像型態 (mirror):" #. (itstool) path: sect2/screen -#: book.translate.xml:37735 +#: book.translate.xml:37789 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool status</userinput>\n" @@ -54351,7 +54684,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37790 +#: book.translate.xml:37844 msgid "" "When adding disks to the existing vdev is not an option, as for " "<acronym>RAID-Z</acronym>, an alternative method is to add another vdev to " @@ -54364,9 +54697,16 @@ msgid "" "disk will result in the loss of a fraction of every block that has been " "written to the pool." msgstr "" +"若不想選擇加入磁碟到既有的 vdev ,對 <acronym>RAID-Z</acronym> 來說,可選擇另" +"一種方式,便是加入另一個 vdev 到儲存池。額外的 vdev 可以提供更高的效能,分散" +"寫入資料到 vdev 之間,每個 vdev 會負責自己的備援。也可以混合使用不同的 vdev " +"型態,但並不建議,例如混合使用 <literal>mirror</literal> 與 <literal>RAID-Z</" +"literal>,加入一個無備援的 vdev 到一個含有 mirror 或 <acronym>RAID-Z</" +"acronym> vdev 的儲存池會讓資料損壞的風險擴大整個儲存池,由於會分散寫入資料," +"若在無備援的磁碟上發生故障的結果便是遺失大半寫到儲存池的資料區塊。" #. (itstool) path: sect2/para -#: book.translate.xml:37803 +#: book.translate.xml:37857 msgid "" "Data is striped across each of the vdevs. For example, with two mirror " "vdevs, this is effectively a <acronym>RAID</acronym> 10 that stripes writes " @@ -54375,23 +54715,29 @@ msgid "" "different amounts of free space, as a disproportionate amount of the data is " "written to the less full vdev." msgstr "" +"在每個 vdev 間的資料是串連的,例如,有兩個 mirror vdev,便跟 <acronym>RAID</" +"acronym> 10 一樣在兩個 mirror 間分散寫入資料,且會做空間的分配,因此 vdev 會" +"在同時達到全滿 100% 的用量。若 vdev 間的可用空間量不同則會影響到效能,因為資" +"料量會不成比例的寫入到使用量較少的 vdev。" #. (itstool) path: sect2/para -#: book.translate.xml:37812 +#: book.translate.xml:37866 msgid "" "When attaching additional devices to a boot pool, remember to update the " "bootcode." -msgstr "" +msgstr "當連接額外的裝置到一個可以開機的儲存池,要記得更新 Bootcode。" #. (itstool) path: sect2/para -#: book.translate.xml:37815 +#: book.translate.xml:37869 msgid "" "Attach a second mirror group (<filename>ada2p3</filename> and " "<filename>ada3p3</filename>) to the existing mirror:" msgstr "" +"連接第二個 mirror 群組 (<filename>ada2p3</filename> 及 <filename>ada3p3</" +"filename>) 到既有的 mirror:" #. (itstool) path: sect2/screen -#: book.translate.xml:37819 +#: book.translate.xml:37873 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool status</userinput>\n" @@ -54431,21 +54777,24 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:37854 +#: book.translate.xml:37908 msgid "" "Currently, vdevs cannot be removed from a pool, and disks can only be " "removed from a mirror if there is enough remaining redundancy. If only one " "disk in a mirror group remains, it ceases to be a mirror and reverts to " "being a stripe, risking the entire pool if that remaining disk fails." msgstr "" +"現在已無法從儲存池上移除 vdev,且磁碟只能夠在有足夠備援空間的情況下從 mirror " +"移除,若在 mirror 群組中只剩下一個磁碟,便會取消 mirror 然後還原為 stripe,若" +"剩下的那個磁碟故障,便會影響到整個儲存池。" #. (itstool) path: sect2/para -#: book.translate.xml:37860 +#: book.translate.xml:37914 msgid "Remove a disk from a three-way mirror group:" -msgstr "" +msgstr "從一個三方 mirror 群組移除一個磁碟:" #. (itstool) path: sect2/screen -#: book.translate.xml:37862 +#: book.translate.xml:37916 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool status</userinput>\n" @@ -54479,12 +54828,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:37893 +#: book.translate.xml:37947 msgid "Checking the Status of a Pool" msgstr "檢查儲存池狀態" #. (itstool) path: sect2/para -#: book.translate.xml:37895 +#: book.translate.xml:37949 msgid "" "Pool status is important. If a drive goes offline or a read, write, or " "checksum error is detected, the corresponding error count increases. The " @@ -54493,9 +54842,14 @@ msgid "" "be taken and details about the last <link linkend=\"zfs-zpool-scrub" "\"><command>scrub</command></link> are also shown." msgstr "" +"儲存池的狀態很重要,若有磁碟機離線或偵測到讀取、寫入或校驗碼 (Checksum) 錯" +"誤,對應的錯誤計數便會增加。<command>status</command> 會顯示儲存池中每一個磁" +"碟機的設定與狀態及整個儲存池的狀態。需要處置的方式與有關最近清潔 (<link " +"linkend=\"zfs-zpool-scrub\"><command>Scrub</command></link>) 的詳細資訊也會一" +"併顯示。" #. (itstool) path: sect2/screen -#: book.translate.xml:37903 +#: book.translate.xml:37957 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool status</userinput>\n" @@ -54518,12 +54872,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:37923 +#: book.translate.xml:37977 msgid "Clearing Errors" msgstr "清除錯誤" #. (itstool) path: sect2/para -#: book.translate.xml:37925 +#: book.translate.xml:37979 msgid "" "When an error is detected, the read, write, or checksum counts are " "incremented. The error message can be cleared and the counts reset with " @@ -54532,14 +54886,18 @@ msgid "" "administrator when the pool encounters an error. Further errors may not be " "reported if the old errors are not cleared." msgstr "" +"當偵測到錯誤發生,讀取、寫入或校驗碼 (Checksum) 的計數便會增加。使用 " +"<command>zpool clear <replaceable>mypool</replaceable></command> 可以清除錯誤" +"訊息及重置計數。清空錯誤狀態對當儲存池發生錯誤要使用自動化 Script 通知的管理" +"者來說會很重要,因在舊的錯誤尚未清除前,可能便不會回報後續的錯誤。" #. (itstool) path: sect2/title -#: book.translate.xml:37936 +#: book.translate.xml:37990 msgid "Replacing a Functioning Device" -msgstr "替換運作中的裝置" +msgstr "更換運作中的裝置" #. (itstool) path: sect2/para -#: book.translate.xml:37938 +#: book.translate.xml:37992 msgid "" "There are a number of situations where it may be desirable to replace one " "disk with a different disk. When replacing a working disk, the process keeps " @@ -54551,14 +54909,20 @@ msgid "" "may be possible to grow the zpool, using the new space. See <link linkend=" "\"zfs-zpool-online\">Growing a Pool</link>." msgstr "" +"可能有一些情況會需要更換磁碟為另一個磁碟,當要更換運作中的磁碟,此程序會維持" +"舊有的磁碟在更換的過程為上線的狀態,儲存池不會進入降級 (<link linkend=\"zfs-" +"term-degraded\">Degraded</link>) 的狀態,來減少資料遺失的風險。" +"<command>zpool replace</command> 會複製所有舊磁碟的資料到新磁碟,操作完成之後" +"舊磁碟便會與 vdev 中斷連線。若新磁碟容量較舊磁碟大,也可以會增加儲存池來使用" +"新的空間,請參考 <link linkend=\"zfs-zpool-online\">擴增儲存池</link>。" #. (itstool) path: sect2/para -#: book.translate.xml:37950 +#: book.translate.xml:38004 msgid "Replace a functioning device in the pool:" -msgstr "" +msgstr "更換儲存池中正在運作的狀置:" #. (itstool) path: sect2/screen -#: book.translate.xml:37952 +#: book.translate.xml:38006 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool status</userinput>\n" @@ -54621,12 +54985,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:38012 +#: book.translate.xml:38066 msgid "Dealing with Failed Devices" msgstr "處理故障裝置" #. (itstool) path: sect2/para -#: book.translate.xml:38014 +#: book.translate.xml:38068 msgid "" "When a disk in a pool fails, the vdev to which the disk belongs enters the " "<link linkend=\"zfs-term-degraded\">degraded</link> state. All of the data " @@ -54639,9 +55003,17 @@ msgid "" "device. After completion, the vdev returns to <link linkend=\"zfs-term-online" "\">online</link> status." msgstr "" +"當儲存池中的磁碟故障,該故障硬碟所屬的 vdev 便會進入降級 (<link linkend=" +"\"zfs-term-degraded\">Degraded</link>) 狀態,所有的資料仍可使用,但效能可能會" +"降低,因為遺失的資料必須從可用的備援資料計算才能取得。要將 vdev 恢復完整運作" +"的狀態必須更換故障的實體裝置。然後 <acronym>ZFS</acronym> 便會開始修復 " +"(<link linkend=\"zfs-term-resilver\">Resilver</link>,古代鏡子的修復稱 " +"Resilver) 作業,會從可用的備援資料計算出故障磁碟中的資料並寫入到替換的裝置" +"上。完成後 vdev 便會重新返回上線 (<link linkend=\"zfs-term-online\">Online</" +"link>) 的狀態。" #. (itstool) path: sect2/para -#: book.translate.xml:38028 +#: book.translate.xml:38082 msgid "" "If the vdev does not have any redundancy, or if multiple devices have failed " "and there is not enough redundancy to compensate, the pool enters the <link " @@ -54649,23 +55021,28 @@ msgid "" "devices cannot be reconnected to the pool, the pool becomes inoperative and " "data must be restored from backups." msgstr "" +"若 vdev 沒有任何備援資料或有多個裝置故障,沒有足夠的備援資料可以補償,儲存池" +"便會進入故障 (<link linkend=\"zfs-term-faulted\">Faulted</link>) 的狀態。" #. (itstool) path: sect2/para -#: book.translate.xml:38036 +#: book.translate.xml:38090 msgid "" "When replacing a failed disk, the name of the failed disk is replaced with " "the <acronym>GUID</acronym> of the device. A new device name parameter for " "<command>zpool replace</command> is not required if the replacement device " "has the same device name." msgstr "" +"更換故障的磁碟時,故障磁碟的名稱會更換為裝置的 <acronym>GUID</acronym>,若替" +"換裝置要使用相同的裝置名稱,則在 <command>zpool replace</command> 不須加上新" +"裝置名稱參數。" #. (itstool) path: sect2/para -#: book.translate.xml:38042 +#: book.translate.xml:38096 msgid "Replace a failed disk using <command>zpool replace</command>:" -msgstr "" +msgstr "使用 <command>zpool replace</command> 更換故障的磁碟:" #. (itstool) path: sect2/screen -#: book.translate.xml:38045 +#: book.translate.xml:38099 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool status</userinput>\n" @@ -54722,12 +55099,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:38099 +#: book.translate.xml:38153 msgid "Scrubbing a Pool" msgstr "清潔儲存池" #. (itstool) path: sect2/para -#: book.translate.xml:38101 +#: book.translate.xml:38155 msgid "" "It is recommended that pools be <link linkend=\"zfs-term-scrub\">scrubbed</" "link> regularly, ideally at least once every month. The <command>scrub</" @@ -54737,9 +55114,15 @@ msgid "" "scrub_delay</varname></link> to adjust the relative priority of the " "<command>scrub</command> to prevent it interfering with other workloads." msgstr "" +"建議儲存池要定期清潔 (<link linkend=\"zfs-term-scrub\">Scrub</link>),最好是" +"每一個月清潔一次。 <command>scrub</command> 作業對磁碟操作非常的密集,在執行" +"時會降低磁碟的效能。在排程 <command>scrub</command> 時避免在使用高峰的時期," +"或使用 <link linkend=\"zfs-advanced-tuning-scrub_delay\"><varname>vfs.zfs." +"scrub_delay</varname></link> 來調整 <command>scrub</command> 的相對優先權來避" +"免影響其他的工作。" #. (itstool) path: sect2/screen -#: book.translate.xml:38111 +#: book.translate.xml:38165 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool scrub <replaceable>mypool</replaceable></userinput>\n" @@ -54765,19 +55148,21 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:38132 +#: book.translate.xml:38186 msgid "" "In the event that a scrub operation needs to be cancelled, issue " "<command>zpool scrub -s <replaceable>mypool</replaceable></command>." msgstr "" +"若發生需要取消清潔作業的事,可以下 <command>zpool scrub -s " +"<replaceable>mypool</replaceable></command>。" #. (itstool) path: sect2/title -#: book.translate.xml:38138 +#: book.translate.xml:38192 msgid "Self-Healing" msgstr "自我修復" #. (itstool) path: sect2/para -#: book.translate.xml:38140 +#: book.translate.xml:38194 msgid "" "The checksums stored with data blocks enable the file system to " "<emphasis>self-heal</emphasis>. This feature will automatically repair data " @@ -54797,17 +55182,28 @@ msgid "" "had the bad checksum. This happens without any interaction from a system " "administrator during normal pool operation." msgstr "" +"校驗碼 (Checksum) 會隨資料區塊一併儲存,這使得檔案系統可以做到<emphasis>自我" +"修復</emphasis>。這個功能可以在校驗碼與儲存池中的另一個裝置不同時自動修復資" +"料。舉例來說,有兩個磁碟做鏡像 (Mirror),其中一個磁碟機開始失常並無法正常儲存" +"資料,甚至是資料放在長期封存的儲存裝置上,已經很久沒有被存取。傳統的檔案系統" +"需要執行演算法來檢查並修復資料如 <citerefentry><refentrytitle>fsck</" +"refentrytitle><manvolnum>8</manvolnum></citerefentry>,這些指令耗費時間,且在" +"嚴重時需要管理者手動決定要做那一種修復操作。當 <acronym>ZFS</acronym> 偵測到" +"資料區塊的校驗碼不對時,它除了把資料交給需要的應用程式外,也會修正在磁碟上錯" +"誤的資料。這件事不需要與系統管理者作任何互動便會在一般的儲存池操作時完成。" #. (itstool) path: sect2/para -#: book.translate.xml:38160 +#: book.translate.xml:38214 msgid "" "The next example demonstrates this self-healing behavior. A mirrored pool of " "disks <filename>/dev/ada0</filename> and <filename>/dev/ada1</filename> is " "created." msgstr "" +"接下來的例子會示範自我修復會如何運作。建立一個使用磁碟 <filename>/dev/ada0</" +"filename> 及 <filename>/dev/ada1</filename> 做鏡像的儲存池。" #. (itstool) path: sect2/screen -#: book.translate.xml:38164 +#: book.translate.xml:38218 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool create <replaceable>healer</replaceable> mirror <replaceable>/dev/ada0</replaceable> <replaceable>/dev/ada1</replaceable></userinput>\n" @@ -54830,15 +55226,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:38182 +#: book.translate.xml:38236 msgid "" "Some important data that to be protected from data errors using the self-" "healing feature is copied to the pool. A checksum of the pool is created for " "later comparison." msgstr "" +"將部份需要使用自我修復功能來保護的重要資料複製到該儲存池,建立一個儲存池的校" +"驗碼供稍後做比較時使用。" #. (itstool) path: sect2/screen -#: book.translate.xml:38186 +#: book.translate.xml:38240 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cp /some/important/data /healer</userinput>\n" @@ -54851,16 +55249,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:38194 +#: book.translate.xml:38248 msgid "" "Data corruption is simulated by writing random data to the beginning of one " "of the disks in the mirror. To prevent <acronym>ZFS</acronym> from healing " "the data as soon as it is detected, the pool is exported before the " "corruption and imported again afterwards." msgstr "" +"寫入隨機的資料到鏡像的第一個磁碟來模擬資料損毀的情況。要避免 <acronym>ZFS</" +"acronym> 偵測到錯誤時馬上做修復,接著要將儲存池匯出,待模擬資料損毀之後再匯" +"入。" #. (itstool) path: warning/para -#: book.translate.xml:38201 +#: book.translate.xml:38255 msgid "" "This is a dangerous operation that can destroy vital data. It is shown here " "for demonstrational purposes only and should not be attempted during normal " @@ -54870,9 +55271,13 @@ msgid "" "certain that proper backups of the pool are created before running the " "command!" msgstr "" +"這是一個危險的操作,會破壞重要的資料。在這裡使用僅為了示範用,不應在儲存池正" +"常運作時嘗試使用,也不應將這個故意損壞資料的例子用在任何其他的檔案系統上,不" +"要使用任何不屬於該儲存池的其他磁碟裝置名稱。請確定在執行指令前已對儲存池做正" +"確的備份。" #. (itstool) path: sect2/screen -#: book.translate.xml:38212 +#: book.translate.xml:38266 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool export <replaceable>healer</replaceable></userinput>\n" @@ -54884,7 +55289,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:38219 +#: book.translate.xml:38273 msgid "" "The pool status shows that one device has experienced an error. Note that " "applications reading data from the pool did not receive any incorrect data. " @@ -54892,9 +55297,13 @@ msgid "" "device with the correct checksums. The device with the wrong checksum can be " "found easily as the <literal>CKSUM</literal> column contains a nonzero value." msgstr "" +"儲存池的狀態顯示有一個裝置發生了錯誤。注意,應用程式從儲存池讀取的資料中並沒" +"有任何的錯誤資料,<acronym>ZFS</acronym> 會自 <filename>ada0</filename> 裝置" +"提供有正確校驗碼的資料。結果裡面 <literal>CKSUM</literal> 欄位含有非零值便是" +"有錯誤校驗碼的裝置。" #. (itstool) path: sect2/screen -#: book.translate.xml:38227 +#: book.translate.xml:38281 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool status <replaceable>healer</replaceable></userinput>\n" @@ -54918,15 +55327,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:38246 +#: book.translate.xml:38300 msgid "" "The error was detected and handled by using the redundancy present in the " "unaffected <filename>ada0</filename> mirror disk. A checksum comparison with " "the original one will reveal whether the pool is consistent again." msgstr "" +"錯誤已經被偵測到並且由未被影響的 <filename>ada0</filename> 鏡像磁碟上的備援提" +"供資料。可與原來的校驗碼做比較來看儲存池是否已修復為一致。" #. (itstool) path: sect2/screen -#: book.translate.xml:38251 +#: book.translate.xml:38305 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>sha1 /healer >> checksum.txt</userinput>\n" @@ -54936,7 +55347,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:38256 +#: book.translate.xml:38310 msgid "" "The two checksums that were generated before and after the intentional " "tampering with the pool data still match. This shows how <acronym>ZFS</" @@ -54951,9 +55362,17 @@ msgid "" "during the time there was a problem. A scrub operation is now required to " "overwrite the corrupted data on <filename>ada1</filename>." msgstr "" +"儲存池在故意竄改資料前與後的兩個校驗碼仍相符顯示了 <acronym>ZFS</acronym> 在" +"校驗碼不同時偵測與自動修正錯誤的能力。注意,這只在當儲存池中有足夠的備援時才" +"可做到,由單一裝置組成的儲存池並沒有自我修復的能力。這也是為什麼在 " +"<acronym>ZFS</acronym> 中校驗碼如此重要,任何原因都不該關閉。不需要 " +"<citerefentry><refentrytitle>fsck</refentrytitle><manvolnum>8</manvolnum></" +"citerefentry> 或類似的檔案系統一致性檢查程式便能夠偵測與修正問題,且儲存儲存" +"池在發生問題時仍可正常運作。接著需要做清潔作業來覆蓋在 <filename>ada1</" +"filename> 上的錯誤資料。" #. (itstool) path: sect2/screen -#: book.translate.xml:38271 +#: book.translate.xml:38325 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool scrub <replaceable>healer</replaceable></userinput>\n" @@ -54980,7 +55399,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:38293 +#: book.translate.xml:38347 msgid "" "The scrub operation reads data from <filename>ada0</filename> and rewrites " "any data with an incorrect checksum on <filename>ada1</filename>. This is " @@ -54988,9 +55407,13 @@ msgid "" "status</command>. After the operation is complete, the pool status changes " "to:" msgstr "" +"清潔作業會從 <filename>ada0</filename> 讀取資料並重新寫入任何在 " +"<filename>ada1</filename> 上有錯誤校驗碼的資料。這個操作可以由 " +"<command>zpool status</command> 的輸出中呈現修復中 <literal>(repairing)</" +"literal> 的項目來辨識。這個作業完成後,儲存池的狀態會更改為:" #. (itstool) path: sect2/screen -#: book.translate.xml:38300 +#: book.translate.xml:38354 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool status <replaceable>healer</replaceable></userinput>\n" @@ -55014,16 +55437,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:38319 +#: book.translate.xml:38373 msgid "" "After the scrub operation completes and all the data has been synchronized " "from <filename>ada0</filename> to <filename>ada1</filename>, the error " "messages can be <link linkend=\"zfs-zpool-clear\">cleared</link> from the " "pool status by running <command>zpool clear</command>." msgstr "" +"清潔操作完成後,便同步完 <filename>ada0</filename> 到 <filename>ada1</" +"filename> 間的所有資料。執行 <command>zpool clear</command> 可以清除 (<link " +"linkend=\"zfs-zpool-clear\">Clear</link>) 儲存池狀態的錯誤訊息。" #. (itstool) path: sect2/screen -#: book.translate.xml:38325 +#: book.translate.xml:38379 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool clear <replaceable>healer</replaceable></userinput>\n" @@ -55043,19 +55469,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:38340 +#: book.translate.xml:38394 msgid "" "The pool is now back to a fully working state and all the errors have been " "cleared." -msgstr "" +msgstr "儲存池現在恢復完整運作的狀態且清除所有的錯誤了。" #. (itstool) path: sect2/title -#: book.translate.xml:38345 +#: book.translate.xml:38399 msgid "Growing a Pool" msgstr "擴增儲存池" #. (itstool) path: sect2/para -#: book.translate.xml:38347 +#: book.translate.xml:38401 msgid "" "The usable size of a redundant pool is limited by the capacity of the " "smallest device in each vdev. The smallest device can be replaced with a " @@ -55068,22 +55494,31 @@ msgid "" "both of the devices now have 2 TB capacity, the mirror's available space can " "be grown to 2 TB." msgstr "" +"可用的備援儲存池大小會受到每個 vdev 中容量最小的裝置限制。最小的裝置可以替換" +"成較大的裝置,在更換 (<link linkend=\"zfs-zpool-replace\">Replace</link>) 或" +"修復 (<link linkend=\"zfs-term-resilver\">Resilver</link>) 作業後,儲存池可以" +"成長到該新裝置的可用容量。例如,要做一個 1 TB 磁碟機與一個 2 TB 磁碟機的鏡" +"像,可用的空間會是 1 TB,當 1 TB 磁碟機備更換成另一個 2 TB 的磁碟機時,修復程" +"序會複製既有的資料到新的磁碟機,由於現在兩個裝置都有 2 TB 的容量,所以鏡像的" +"可用空間便會成長到 2 TB。" #. (itstool) path: sect2/para -#: book.translate.xml:38361 +#: book.translate.xml:38415 msgid "" "Expansion is triggered by using <command>zpool online -e</command> on each " "device. After expansion of all devices, the additional space becomes " "available to the pool." msgstr "" +"可以在每個裝置用 <command>zpool online -e</command> 來觸發擴充的動作,在擴充" +"完所有裝置後,儲存池便可使用額外的空間。" #. (itstool) path: sect2/title -#: book.translate.xml:38368 +#: book.translate.xml:38422 msgid "Importing and Exporting Pools" msgstr "匯入與匯出儲存池" #. (itstool) path: sect2/para -#: book.translate.xml:38370 +#: book.translate.xml:38424 msgid "" "Pools are <emphasis>exported</emphasis> before moving them to another " "system. All datasets are unmounted, and each device is marked as exported " @@ -55097,20 +55532,29 @@ msgid "" "unmounted, potentially resulting in unexpected behavior by the applications " "which had open files on those datasets." msgstr "" +"儲存池在移動到其他系統之前需要做匯出 (<emphasis>Export</emphasis>),會卸載所" +"有的資料集,然後標記每個裝置為已匯出,為了避免被其他磁碟子系統存取,因此仍會" +"鎖定這些裝置。這個動作讓儲存池可以在支援 <acronym>ZFS</acronym> 的其他機器、" +"其他作業系統做匯入 (<emphasis>Import</emphasis>),甚至是不同的硬體架構 (有一" +"些注意事項,請參考 <citerefentry><refentrytitle>zpool</" +"refentrytitle><manvolnum>8</manvolnum></citerefentry>)。當資料集有被開啟的檔" +"案,可使用 <command> zpool export -f</command> 來強制匯出儲存池,使用這個指令" +"需要小心,資料集是被強制卸載的,因此有可能造成在該資料集開啟檔案的應用程式發" +"生無法預期的結果。" #. (itstool) path: sect2/para -#: book.translate.xml:38384 +#: book.translate.xml:38438 msgid "Export a pool that is not in use:" -msgstr "" +msgstr "匯出未使用的儲存池:" #. (itstool) path: sect2/screen -#: book.translate.xml:38386 +#: book.translate.xml:38440 #, no-wrap msgid "<prompt>#</prompt> <userinput>zpool export mypool</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:38388 +#: book.translate.xml:38442 msgid "" "Importing a pool automatically mounts the datasets. This may not be the " "desired behavior, and can be prevented with <command>zpool import -N</" @@ -55122,14 +55566,20 @@ msgid "" "<command>zpool import -a</command> imports all pools that do not appear to " "be in use by another system." msgstr "" +"匯入儲存池會自動掛載資料集,若不想自動掛載,可以使用 <command>zpool import -" +"N</command>。<command>zpool import -o</command> 可以設定在匯入時暫時使用的屬" +"性。<command>zpool import altroot=</command> 允許匯入時指定基礎掛載點 (Base " +"mount point) 來替換檔案系統根目錄。若儲存池先前用在不同的系統且不正常匯出,可" +"能會需要使用 <command>zpool import -f</command> 來強制匯入。<command>zpool " +"import -a</command> 會匯入所有沒有被其他系統使用的儲存池。" #. (itstool) path: sect2/para -#: book.translate.xml:38401 +#: book.translate.xml:38455 msgid "List all available pools for import:" -msgstr "" +msgstr "列出所有可以匯入的儲存池:" #. (itstool) path: sect2/screen -#: book.translate.xml:38403 +#: book.translate.xml:38457 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool import</userinput>\n" @@ -55144,12 +55594,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:38413 +#: book.translate.xml:38467 msgid "Import the pool with an alternative root directory:" -msgstr "" +msgstr "使用替代的根目錄匯入儲存池:" #. (itstool) path: sect2/screen -#: book.translate.xml:38415 +#: book.translate.xml:38469 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool import -o altroot=<replaceable>/mnt</replaceable> <replaceable>mypool</replaceable></userinput>\n" @@ -55160,12 +55610,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:38423 +#: book.translate.xml:38477 msgid "Upgrading a Storage Pool" msgstr "升級儲存儲存池" #. (itstool) path: sect2/para -#: book.translate.xml:38425 +#: book.translate.xml:38479 msgid "" "After upgrading FreeBSD, or if a pool has been imported from a system using " "an older version of <acronym>ZFS</acronym>, the pool can be manually " @@ -55174,14 +55624,18 @@ msgid "" "system before upgrading. Upgrading is a one-way process. Older pools can be " "upgraded, but pools with newer features cannot be downgraded." msgstr "" +"在升級 FreeBSD 之後或儲存池是由其他使用舊版 <acronym>ZFS</acronym> 所匯入,儲" +"存池可以手動升級到最新版本的 <acronym>ZFS</acronym> 來支援新的功能。在升級前" +"請評估儲存池是否還要在舊的系統做匯入,由於升級是一個單向的程序,舊的儲存池可" +"以升級,但有新功能的儲存池無法降級。" #. (itstool) path: sect2/para -#: book.translate.xml:38434 +#: book.translate.xml:38488 msgid "Upgrade a v28 pool to support <literal>Feature Flags</literal>:" -msgstr "" +msgstr "升級一個 v28 的儲存以支援功能旗標 (<literal>Feature Flags</literal>):" #. (itstool) path: sect2/screen -#: book.translate.xml:38437 +#: book.translate.xml:38491 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool status</userinput>\n" @@ -55228,21 +55682,24 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:38479 +#: book.translate.xml:38533 msgid "" "The newer features of <acronym>ZFS</acronym> will not be available until " "<command>zpool upgrade</command> has completed. <command>zpool upgrade -v</" "command> can be used to see what new features will be provided by upgrading, " "as well as which features are already supported." msgstr "" +"<acronym>ZFS</acronym> 的新功能在 <command>zpool upgrade</command> 尚未完成之" +"前無法使用。可以用 <command>zpool upgrade -v</command> 來查看升級後有那些新功" +"能,也同時會列出已經支援那些功能。" #. (itstool) path: sect2/para -#: book.translate.xml:38485 +#: book.translate.xml:38539 msgid "Upgrade a pool to support additional feature flags:" -msgstr "" +msgstr "升級儲存池支援額外的功能旗標 (Feature flags):" #. (itstool) path: sect2/screen -#: book.translate.xml:38487 +#: book.translate.xml:38541 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool status</userinput>\n" @@ -55296,21 +55753,25 @@ msgid "" msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:38537 +#: book.translate.xml:38591 msgid "" "The boot code on systems that boot from a pool must be updated to support " "the new pool version. Use <command>gpart bootcode</command> on the partition " "that contains the boot code. See <citerefentry><refentrytitle>gpart</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> for more information." msgstr "" +"使用儲存池來開機的系統上的 Boot code 必須更新以支援新的儲存池版本,在含有 " +"Boot code 的分割區使用 <command>gpart bootcode</command> 來更新。請參考 " +"<citerefentry><refentrytitle>gpart</refentrytitle><manvolnum>8</manvolnum></" +"citerefentry> 取得更多資訊。" #. (itstool) path: sect2/title -#: book.translate.xml:38546 +#: book.translate.xml:38600 msgid "Displaying Recorded Pool History" msgstr "顯示已記錄的儲存池歷史日誌" #. (itstool) path: sect2/para -#: book.translate.xml:38548 +#: book.translate.xml:38602 msgid "" "Commands that modify the pool are recorded. Recorded actions include the " "creation of datasets, changing properties, or replacement of a disk. This " @@ -55319,9 +55780,13 @@ msgid "" "is part of the pool itself. The command to review this history is aptly " "named <command>zpool history</command>:" msgstr "" +"修改儲存池的指令會被記錄下來,會記錄的動作包含資料集的建立,屬性更改或更換磁" +"碟。這個歷史記錄用來查看儲存池是如何建立、由誰執行、什麼動作及何時。歷史記錄" +"並非儲存在日誌檔 (Log file),而是儲存在儲存池。查看這個歷史記錄的指令名稱為 " +"<command>zpool history</command>:" #. (itstool) path: sect2/screen -#: book.translate.xml:38557 +#: book.translate.xml:38611 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool history</userinput>\n" @@ -55333,7 +55798,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:38564 +#: book.translate.xml:38618 msgid "" "The output shows <command>zpool</command> and <command>zfs</command> " "commands that were executed on the pool along with a timestamp. Only " @@ -55341,18 +55806,25 @@ msgid "" "<command>zfs list</command> are not included. When no pool name is " "specified, the history of all pools is displayed." msgstr "" +"輸出結果顯示曾在該儲存池上執行的 <command>zpool</command> 與 <command>zfs</" +"command> 指令以及時間戳記。只有會修改儲存池或類似的指令會被記錄下來,像是 " +"<command>zfs list</command> 這種指令並不會被記錄。當不指定儲存池名稱時,會列" +"出所有儲存池的歷史記錄。" #. (itstool) path: sect2/para -#: book.translate.xml:38572 +#: book.translate.xml:38626 msgid "" "<command>zpool history</command> can show even more information when the " "options <option>-i</option> or <option>-l</option> are provided. <option>-i</" "option> displays user-initiated events as well as internally logged " "<acronym>ZFS</acronym> events." msgstr "" +"在提供選項 <option>-i</option> 或 <option>-l</option> 時 <command>zpool " +"history</command> 可以顯更多詳細資訊。<option>-i</option> 會顯示使用者觸發的" +"事件外,也會顯示內部記錄的 <acronym>ZFS</acronym> 事件。" #. (itstool) path: sect2/screen -#: book.translate.xml:38578 +#: book.translate.xml:38632 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool history -i</userinput>\n" @@ -55367,15 +55839,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:38588 +#: book.translate.xml:38642 msgid "" "More details can be shown by adding <option>-l</option>. History records are " "shown in a long format, including information like the name of the user who " "issued the command and the hostname on which the change was made." msgstr "" +"更多詳細的資訊可加上 <option>-l</option> 來取得,歷史記錄會以較長的格式顯示," +"包含的資訊有執行指令的使用者名稱、主機名稱以及更改的項目。" #. (itstool) path: sect2/screen -#: book.translate.xml:38593 +#: book.translate.xml:38647 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool history -l</userinput>\n" @@ -55387,7 +55861,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:38600 +#: book.translate.xml:38654 msgid "" "The output shows that the <systemitem class=\"username\">root</systemitem> " "user created the mirrored pool with disks <filename>/dev/ada0</filename> and " @@ -55398,23 +55872,32 @@ msgid "" "other system can clearly be distinguished by the hostname that is recorded " "for each command." msgstr "" +"輸出結果顯示 <systemitem class=\"username\">root</systemitem> 使用者使用 " +"<filename>/dev/ada0</filename> 及 <filename>/dev/ada1</filename> 建立鏡像的儲" +"存池。主機名稱 <systemitem class=\"systemname\">myzfsbox</systemitem> 在建立" +"完儲存池後也同樣會顯示。由於儲存池可以從一個系統匯出再匯入到另一個系統,因此" +"主機名稱也很重要,這樣一來可以清楚的辦識在其他系統上執行的每一個指令的主機名" +"稱。" #. (itstool) path: sect2/para -#: book.translate.xml:38612 +#: book.translate.xml:38666 msgid "" "Both options to <command>zpool history</command> can be combined to give the " "most detailed information possible for any given pool. Pool history provides " "valuable information when tracking down the actions that were performed or " "when more detailed output is needed for debugging." msgstr "" +"兩個 <command>zpool history</command> 選項可以合併使用來取得最完整的儲存池詳" +"細資訊。儲存池歷史記錄在追蹤執行什麼動作或要取得除錯所需的輸出結果提供了非常" +"有用的資訊。" #. (itstool) path: sect2/title -#: book.translate.xml:38620 +#: book.translate.xml:38674 msgid "Performance Monitoring" msgstr "監視效能" #. (itstool) path: sect2/para -#: book.translate.xml:38622 +#: book.translate.xml:38676 msgid "" "A built-in monitoring system can display pool <acronym>I/O</acronym> " "statistics in real time. It shows the amount of free and used space on the " @@ -55423,9 +55906,13 @@ msgid "" "default, all pools in the system are monitored and displayed. A pool name " "can be provided to limit monitoring to just that pool. A basic example:" msgstr "" +"內建的監視系統可以即時顯示儲存池的 <acronym>I/O</acronym> 統計資訊。它會顯示" +"儲存池剩餘的空間與使用的空間,每秒執行了多少讀取與寫入的操作,有多少 " +"<acronym>I/O</acronym> 頻寬被使用。預設會監視所有在系統中的儲存池都並顯示出" +"來,可以提供儲存池名稱來只顯示該儲存池的監視資訊。舉一個簡單的例子:" #. (itstool) path: sect2/screen -#: book.translate.xml:38631 +#: book.translate.xml:38685 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool iostat</userinput>\n" @@ -55436,7 +55923,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:38637 +#: book.translate.xml:38691 msgid "" "To continuously monitor <acronym>I/O</acronym> activity, a number can be " "specified as the last parameter, indicating a interval in seconds to wait " @@ -55446,9 +55933,14 @@ msgid "" "number on the command line after the interval to specify the total number of " "statistics to display." msgstr "" +"要持續監視 <acronym>I/O</acronym> 的活動可以在最後的參數指定一個數字,這個數" +"字代表每次更新資訊所間隔的秒數。在每次經過間隔的時間後會列出新一行的統計資" +"訊,按下 <keycombo action=\"simul\"> <keycap>Ctrl</keycap> <keycap>C</" +"keycap> </keycombo> 可以中止監視。或者在指令列的間隔時間之後再指定一個數字," +"代表總共要顯示的統計資訊筆數。" #. (itstool) path: sect2/para -#: book.translate.xml:38649 +#: book.translate.xml:38703 msgid "" "Even more detailed <acronym>I/O</acronym> statistics can be displayed with " "<option>-v</option>. Each device in the pool is shown with a statistics " @@ -55456,9 +55948,13 @@ msgid "" "performed on each device, and can help determine if any individual device is " "slowing down the pool. This example shows a mirrored pool with two devices:" msgstr "" +"使用 <option>-v</option> 可以顯示更詳細的 <acronym>I/O</acronym> 統計資訊。每" +"個在儲存池中的裝置會以一行統計資訊顯示。這可以幫助了解每一個裝置做了多少讀取" +"與寫入的操作,並可協助確認是否有各別裝置拖慢了整個儲存池的速度。以下範例會顯" +"示有兩個裝置的鏡像儲存池:" #. (itstool) path: sect2/screen -#: book.translate.xml:38657 +#: book.translate.xml:38711 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool iostat -v </userinput>\n" @@ -55473,12 +55969,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:38669 +#: book.translate.xml:38723 msgid "Splitting a Storage Pool" msgstr "分割儲存儲存池" #. (itstool) path: sect2/para -#: book.translate.xml:38671 +#: book.translate.xml:38725 msgid "" "A pool consisting of one or more mirror vdevs can be split into two pools. " "Unless otherwise specified, the last member of each mirror is detached and " @@ -55487,28 +55983,35 @@ msgid "" "operation are displayed without it actually being performed. This helps " "confirm that the operation will do what the user intends." msgstr "" +"由一個或多個鏡像 vdev 所組成的儲存池可以切分開成兩個儲存池。除非有另外指定," +"否則每個鏡像的最後一個成員會被分離來然用來建立一個含有相同資料的新儲存池。在" +"做這個操作的第一次應先使用 <option>-n</option>,會顯示預計會做的操作而不會真" +"的執行,這可以協助確認操作是否與使用者所要的相同。" #. (itstool) path: sect1/title -#: book.translate.xml:38683 +#: book.translate.xml:38737 msgid "<command>zfs</command> Administration" msgstr "<command>zfs</command> 管理" #. (itstool) path: sect1/para -#: book.translate.xml:38685 +#: book.translate.xml:38739 msgid "" "The <command>zfs</command> utility is responsible for creating, destroying, " "and managing all <acronym>ZFS</acronym> datasets that exist within a pool. " "The pool is managed using <link linkend=\"zfs-zpool\"><command>zpool</" "command></link>." msgstr "" +"<command>zfs</command> 工具負責建立、摧毀與管理在一個儲存池中所有的 " +"<acronym>ZFS</acronym> 資料集。儲存池使用 <link linkend=\"zfs-zpool" +"\"><command>zpool</command></link> 來管理。" #. (itstool) path: sect2/title -#: book.translate.xml:38691 +#: book.translate.xml:38745 msgid "Creating and Destroying Datasets" msgstr "建立與摧毀資料集" #. (itstool) path: sect2/para -#: book.translate.xml:38693 +#: book.translate.xml:38747 msgid "" "Unlike traditional disks and volume managers, space in <acronym>ZFS</" "acronym> is <emphasis>not</emphasis> preallocated. With traditional file " @@ -55529,16 +56032,33 @@ msgid "" "<command>zfs list</command> will be slower, and the mounting of hundreds or " "even thousands of datasets can slow the FreeBSD boot process." msgstr "" - -#. (itstool) path: sect2/para -#: book.translate.xml:38717 +"不同於傳統的磁碟與磁碟區管理程式 (Volume manager) ,在 <acronym>ZFS</" +"acronym> 中的空間並<emphasis>不</emphasis>會預先分配。傳統的檔案系統在分割與" +"分配空間完後,若沒有增加新的磁碟便無法再增加額外的檔案系統。在 <acronym>ZFS</" +"acronym>,可以隨時建立新的檔案系統,每個資料集 (<link linkend=\"zfs-term-" +"dataset\"><emphasis>Dataset</emphasis></link>) 都有自己的屬性,包含壓縮 " +"(Compression)、去重複 (Deduplication)、快取 (Caching) 與配額 (Quota) 功能以及" +"其他有用的屬性如唯讀 (Readonly)、區分大小寫 (Case sensitivity)、網路檔案分享 " +"(Network file sharing) 以及掛載點 (Mount point)。資料集可以存在於其他資料集" +"中,且子資料集會繼承其父資料集的屬性。每個資料集都可以作為一個單位來管理、委" +"託 (<link linkend=\"zfs-zfs-allow\">Delegate</link>)、備份 (<link linkend=" +"\"zfs-zfs-send\">Replicate</link>)、快照 (<link linkend=\"zfs-zfs-snapshot" +"\">Snapshot</link>)、監禁 (<link linkend=\"zfs-zfs-jail\">Jail</link>) 與摧" +"毀 (Destroy),替每種不同類型或集合的檔案建立各別的資料集還有許多的好處。唯一" +"的缺點是在當有非常大數量的資料集時,部份指令例如 <command>zfs list</command> " +"會變的較緩慢,且掛載上百個或其至上千個資料集可能會使 FreeBSD 的開機程序變慢。" + +#. (itstool) path: sect2/para +#: book.translate.xml:38771 msgid "" "Create a new dataset and enable <link linkend=\"zfs-term-compression-" "lz4\">LZ4 compression</link> on it:" msgstr "" +"建立一個新資料集並開啟 <link linkend=\"zfs-term-compression-lz4\">LZ4 壓縮</" +"link>:" #. (itstool) path: sect2/screen -#: book.translate.xml:38720 +#: book.translate.xml:38774 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs list</userinput>\n" @@ -55576,20 +56096,22 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:38753 +#: book.translate.xml:38807 msgid "" "Destroying a dataset is much quicker than deleting all of the files that " "reside on the dataset, as it does not involve scanning all of the files and " "updating all of the corresponding metadata." msgstr "" +"摧毀資料集會比刪除所有在資料集上所殘留的檔案來的快,由於摧毀資料集並不會掃描" +"所有檔案並更新所有相關的 Metadata。" #. (itstool) path: sect2/para -#: book.translate.xml:38758 +#: book.translate.xml:38812 msgid "Destroy the previously-created dataset:" -msgstr "" +msgstr "摧毀先前建立的資料集:" #. (itstool) path: sect2/screen -#: book.translate.xml:38760 +#: book.translate.xml:38814 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs list</userinput>\n" @@ -55627,7 +56149,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:38793 +#: book.translate.xml:38847 msgid "" "In modern versions of <acronym>ZFS</acronym>, <command>zfs destroy</command> " "is asynchronous, and the free space might take several minutes to appear in " @@ -55642,14 +56164,23 @@ msgid "" "would be destroyed by this operation, but do not actually destroy anything. " "Space that would be reclaimed by destruction of snapshots is also shown." msgstr "" +"在最近版本的 <acronym>ZFS</acronym>,<command>zfs destroy</command> 是非同步" +"的,且釋放出的空間會許要花費數分鐘才會出現在儲存池上,可使用 <command>zpool " +"get freeing <replaceable>poolname</replaceable></command> 來查看 " +"<literal>freeing</literal> 屬性,這個屬性會指出資料集在背景已經釋放多少資料區" +"塊了。若有子資料集,如快照 (<link linkend=\"zfs-term-snapshot\">Snapshot</" +"link>) 或其他資料集存在的話,則會無法摧毀父資料集。要摧毀一個資料集及其所有子" +"資料集,可使用 <option>-r</option> 來做遞迴摧毀資料集及其所有子資料集,可用 " +"<option>-n</option> <option>-v</option> 來列出會被這個操作所摧毀的資料集及快" +"照,而不會真的摧毀,因摧毀快照所釋放出的空間也會同時顯示。" #. (itstool) path: sect2/title -#: book.translate.xml:38812 +#: book.translate.xml:38866 msgid "Creating and Destroying Volumes" msgstr "建立與摧毀磁碟區" #. (itstool) path: sect2/para -#: book.translate.xml:38814 +#: book.translate.xml:38868 msgid "" "A volume is a special type of dataset. Rather than being mounted as a file " "system, it is exposed as a block device under <filename>/dev/zvol/" @@ -55658,9 +56189,14 @@ msgid "" "the disks of a virtual machine, or to be exported using protocols like " "<acronym>iSCSI</acronym> or <acronym>HAST</acronym>." msgstr "" +"磁碟區 (Volume) 是特殊類型的資料集,不會被掛載成一個檔案系統,而是會被當做儲" +"存區塊裝置出現在 <filename>/dev/zvol/<replaceable>poolname</replaceable>/" +"<replaceable>dataset</replaceable></filename> 下。這讓磁碟區可以用於其他檔案" +"系統,備份虛擬機器的磁碟或是使用 <acronym>iSCSI</acronym> 或 <acronym>HAST</" +"acronym> 通訊協定匯出。" #. (itstool) path: sect2/para -#: book.translate.xml:38823 +#: book.translate.xml:38877 msgid "" "A volume can be formatted with any file system, or used without a file " "system to store raw data. To the user, a volume appears to be a regular " @@ -55669,9 +56205,13 @@ msgid "" "For example, using the compression property on a 250 MB volume allows " "creation of a compressed <acronym>FAT</acronym> file system." msgstr "" +"磁碟區可以被格式化成任何檔案系統,或不使用檔案系統來儲存原始資料。對一般使用" +"者,磁碟區就像是一般的磁碟,可以放置一般的檔案系統在這些 <emphasis>zvols</" +"emphasis>上,並提供一般磁碟或檔案系統一般所沒有的功能。例如,使用壓縮屬性在一" +"個 250 MB 的磁碟區可建立一個壓縮的 <acronym>FAT</acronym> 檔案系統。" #. (itstool) path: sect2/screen -#: book.translate.xml:38832 +#: book.translate.xml:38886 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs create -V 250m -o compression=on tank/fat32</userinput>\n" @@ -55688,20 +56228,22 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:38844 +#: book.translate.xml:38898 msgid "" "Destroying a volume is much the same as destroying a regular file system " "dataset. The operation is nearly instantaneous, but it may take several " "minutes for the free space to be reclaimed in the background." msgstr "" +"摧毀一個磁碟區與摧毀一個一般的檔案系統資料集差不多。操作上幾乎是即時的,但在" +"背景會需要花費數分鐘來讓釋放空間再次可用。" #. (itstool) path: sect2/title -#: book.translate.xml:38851 +#: book.translate.xml:38905 msgid "Renaming a Dataset" msgstr "重新命名資料集" #. (itstool) path: sect2/para -#: book.translate.xml:38853 +#: book.translate.xml:38907 msgid "" "The name of a dataset can be changed with <command>zfs rename</command>. The " "parent of a dataset can also be changed with this command. Renaming a " @@ -55711,14 +56253,18 @@ msgid "" "inherited from the new parent dataset). This behavior can be prevented with " "<option>-u</option>." msgstr "" +"資料集的名稱可以使用 <command>zfs rename</command> 更改。父資料集也同樣可以使" +"用這個指令來更改名稱。重新命名一個資料集到另一個父資料集也會更改自父資料集繼" +"承的屬性值。重新命名資料集後,會被卸載然後重新掛載到新的位置 (依繼承的新父資" +"料集而定),可使用 <option>-u</option> 來避免重新掛載。" #. (itstool) path: sect2/para -#: book.translate.xml:38863 +#: book.translate.xml:38917 msgid "Rename a dataset and move it to be under a different parent dataset:" -msgstr "" +msgstr "重新命名一個資料集並移動該資料集到另一個父資料集:" #. (itstool) path: sect2/screen -#: book.translate.xml:38866 +#: book.translate.xml:38920 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs list</userinput>\n" @@ -55757,16 +56303,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:38900 +#: book.translate.xml:38954 msgid "" "Snapshots can also be renamed like this. Due to the nature of snapshots, " "they cannot be renamed into a different parent dataset. To rename a " "recursive snapshot, specify <option>-r</option>, and all snapshots with the " "same name in child datasets with also be renamed." msgstr "" +"快照也可以像這樣重新命名,由於快照的天性,使其無法被重新命名到另一個父資料" +"集。要遞迴重新命名快照可指定 <option>-r</option>,然後在子資料集中所有同名的" +"快照也會一併被重新命名。" #. (itstool) path: sect2/screen -#: book.translate.xml:38906 +#: book.translate.xml:38960 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs list -t snapshot</userinput>\n" @@ -55779,12 +56328,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:38916 +#: book.translate.xml:38970 msgid "Setting Dataset Properties" msgstr "設定資料集屬性" #. (itstool) path: sect2/para -#: book.translate.xml:38918 +#: book.translate.xml:38972 msgid "" "Each <acronym>ZFS</acronym> dataset has a number of properties that control " "its behavior. Most properties are automatically inherited from the parent " @@ -55795,9 +56344,15 @@ msgid "" "each possible property and valid values. Most properties can be reverted to " "their inherited values using <command>zfs inherit</command>." msgstr "" +"每個 <acronym>ZFS</acronym> 資料集有數個屬性可以用來控制其行為。大部份的屬性" +"會自動繼承自其父資料集,但可以被自己覆蓋。設定資料集上的屬性可使用 " +"<command>zfs set <replaceable>property</replaceable>=<replaceable>value</" +"replaceable> <replaceable>dataset</replaceable></command>。大部份屬性有限制可" +"用的值,<command>zfs get</command> 會顯示每個可以使用的屬性及其可用的值。大部" +"份可以使用 <command>zfs inherit</command> 還原成其繼承的值。" #. (itstool) path: sect2/para -#: book.translate.xml:38930 +#: book.translate.xml:38984 msgid "" "User-defined properties can also be set. They become part of the dataset " "configuration and can be used to provide additional information about the " @@ -55805,9 +56360,12 @@ msgid "" "ones supplied as part of <acronym>ZFS</acronym>, a colon (<literal>:</" "literal>) is used to create a custom namespace for the property." msgstr "" +"也可設定使用者自訂的屬性。這些屬性也會成為資料集設定的一部份,且可以被用來提" +"供資料集或其內容的額外資訊。要別分自訂屬性與 <acronym>ZFS</acronym> 提供的屬" +"性,會使用冒號 (<literal>:</literal>) 建立一個自訂命名空間供自訂屬性使用。" #. (itstool) path: sect2/screen -#: book.translate.xml:38937 +#: book.translate.xml:38991 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs set <replaceable>custom</replaceable>:<replaceable>costcenter</replaceable>=<replaceable>1234</replaceable> <replaceable>tank</replaceable></userinput>\n" @@ -55817,16 +56375,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:38942 +#: book.translate.xml:38996 msgid "" "To remove a custom property, use <command>zfs inherit</command> with " "<option>-r</option>. If the custom property is not defined in any of the " "parent datasets, it will be removed completely (although the changes are " "still recorded in the pool's history)." msgstr "" +"要移除自訂屬性,可用 <command>zfs inherit</command> 加上 <option>-r</" +"option>。若父資料集未定義任何自訂屬性,將會將該屬性完全移除 (更改動作仍會記錄" +"於儲存池的歷史記錄)。" #. (itstool) path: sect2/screen -#: book.translate.xml:38948 +#: book.translate.xml:39002 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs inherit -r <replaceable>custom</replaceable>:<replaceable>costcenter</replaceable> <replaceable>tank</replaceable></userinput>\n" @@ -55838,12 +56399,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:38957 +#: book.translate.xml:39011 msgid "Managing Snapshots" msgstr "管理快照 (Snapshot)" #. (itstool) path: sect2/para -#: book.translate.xml:38959 +#: book.translate.xml:39013 msgid "" "<link linkend=\"zfs-term-snapshot\">Snapshots</link> are one of the most " "powerful features of <acronym>ZFS</acronym>. A snapshot provides a read-" @@ -55864,9 +56425,21 @@ msgid "" "that are related or dependent upon each other. Without snapshots, a backup " "would have copies of the files from different points in time." msgstr "" +"快照 (<link linkend=\"zfs-term-snapshot\">Snapshot</link>) 是 <acronym>ZFS</" +"acronym> 最強大的功能之一。快照提供了資料集唯讀、單一時間點 (Point-in-Time) " +"的複製功能,使用了寫入時複製 (Copy-On-Write, <acronym>COW</acronym>) 的技術," +"可以透過保存在磁碟上的舊版資料快速的建立快照。若沒有快照存在,在資料被覆蓋或" +"刪除時,便回收空間供未來使用。由於只記錄前一個版本與目前資料集的差異,因此快" +"照可節省磁碟空間。快照只允許在整個資料集上使用,無法在各別檔案或目錄。當建立" +"了一個資料集的快照時,便備份了所有內含的資料,這包含了檔案系統屬性、檔案、目" +"錄、權限等等。第一次建立快照時只會使用到更改參照到資料區塊的空間,不會用到額" +"外的空間。使用 <option>-r</option> 可以對使用同名的資料集及其所有子資料集的建" +"立一個遞迴快照,提供一致且即時 (Moment-in-time) 的完整檔案系統快照功能,這對" +"於那些彼此有相關或相依檔案存放在不同資料集的應用程式非常重要。若不使用快照," +"備份所複製的資料其實是不同時間點的,可能會有不一致的問題。" #. (itstool) path: sect2/para -#: book.translate.xml:38983 +#: book.translate.xml:39037 msgid "" "Snapshots in <acronym>ZFS</acronym> provide a variety of features that even " "other file systems with snapshot functionality lack. A typical example of " @@ -55884,28 +56457,40 @@ msgid "" "complete backup of a pool, but can be used as a quick and easy way to store " "a copy of the dataset at a specific point in time." msgstr "" +"<acronym>ZFS</acronym> 中的快照提供了多種功能,即使是在其他缺乏快照功能的檔案" +"系統上。一個使用快照的典型例子是在安裝軟體或執行系統升級這種有風險的動作時," +"能有一個快速的方式可以備份檔案系統目前的狀態,若動作失敗,可以使用快照還原 " +"(Roll back) 到與快照建立時相同的系統狀態,若升級成功,便可刪除快照來釋放空" +"間。若沒有快照功能,升級失敗通常會需要使用備份來恢復 (Restore) 系統,而這個動" +"作非常繁瑣、耗時且可能會需要停機一段時間系統無法使用。使用快照可以快速的還" +"原,即使系統正在執行一般的運作,只而要短暫或甚至不需停機。能夠節省大量在有數 " +"TB 的儲存系統上從備份複製所需資料的時間。快照並非要用來取代儲存池的完整備份," +"但可以用在快速且簡單的保存某個特定時間點的資料集。" #. (itstool) path: sect3/title -#: book.translate.xml:39004 +#: book.translate.xml:39058 msgid "Creating Snapshots" msgstr "建立快照" #. (itstool) path: sect3/para -#: book.translate.xml:39006 +#: book.translate.xml:39060 msgid "" "Snapshots are created with <command>zfs snapshot <replaceable>dataset</" "replaceable>@<replaceable>snapshotname</replaceable></command>. Adding " "<option>-r</option> creates a snapshot recursively, with the same name on " "all child datasets." msgstr "" +"快照可以使用 <command>zfs snapshot <replaceable>dataset</" +"replaceable>@<replaceable>snapshotname</replaceable></command> 來建立。加入 " +"<option>-r</option> 可以遞迴對所有同名的子資料集建立快照。" #. (itstool) path: sect3/para -#: book.translate.xml:39011 +#: book.translate.xml:39065 msgid "Create a recursive snapshot of the entire pool:" -msgstr "" +msgstr "建立一個整個儲存池的遞迴快照:" #. (itstool) path: sect3/screen -#: book.translate.xml:39013 +#: book.translate.xml:39067 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs list -t all</userinput>\n" @@ -55946,16 +56531,19 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:39049 +#: book.translate.xml:39103 msgid "" "Snapshots are not shown by a normal <command>zfs list</command> operation. " "To list snapshots, <option>-t snapshot</option> is appended to <command>zfs " "list</command>. <option>-t all</option> displays both file systems and " "snapshots." msgstr "" +"建立的快照不會顯示在一般的 <command>zfs list</command> 操作結果,要列出快照需" +"在 <command>zfs list</command> 後加上 <option>-t snapshot</option>,使用 " +"<option>-t all</option> 可以同時列出檔案系統的內容及快照。" #. (itstool) path: sect3/para -#: book.translate.xml:39055 +#: book.translate.xml:39109 msgid "" "Snapshots are not mounted directly, so path is shown in the " "<literal>MOUNTPOINT</literal> column. There is no mention of available disk " @@ -55963,9 +56551,12 @@ msgid "" "to after they are created. Compare the snapshot to the original dataset from " "which it was created:" msgstr "" +"快照並不會直接掛載,因此 <literal>MOUNTPOINT</literal> 欄位的路徑如此顯示。" +"在 <literal>AVAIL</literal> 欄位不會有可用的磁碟空間,因為快照建立之後便無法" +"再寫入。比較快照與其原來建立時的資料集:" #. (itstool) path: sect3/screen -#: book.translate.xml:39062 +#: book.translate.xml:39116 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs list -rt all <replaceable>mypool/usr/home</replaceable></userinput>\n" @@ -55975,7 +56566,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:39067 +#: book.translate.xml:39121 msgid "" "Displaying both the dataset and the snapshot together reveals how snapshots " "work in <link linkend=\"zfs-term-cow\">COW</link> fashion. They save only " @@ -55984,9 +56575,13 @@ msgid "" "space when few changes are made. Space usage can be made even more apparent " "by copying a file to the dataset, then making a second snapshot:" msgstr "" +"同時顯示資料集與快照可以了解快照如何使用 <link linkend=\"zfs-term-cow\">COW</" +"link> 技術來運作。快照只會保存有更動 (<emphasis>差異</emphasis>) 的資料,並非" +"整個檔案系統的內容,這個意思是說,快照只會在有做更動時使用一小部份的空間,複" +"製一個檔案到該資料集,可以讓空間使用量變的更明顯,然後再做第二個快照:" #. (itstool) path: sect3/screen -#: book.translate.xml:39077 +#: book.translate.xml:39131 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cp <replaceable>/etc/passwd</replaceable> <replaceable>/var/tmp</replaceable></userinput>\n" @@ -55999,7 +56594,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:39085 +#: book.translate.xml:39139 msgid "" "The second snapshot contains only the changes to the dataset after the copy " "operation. This yields enormous space savings. Notice that the size of the " @@ -56007,14 +56602,18 @@ msgid "" "also changed in the <literal>USED</literal> column to indicate the changes " "between itself and the snapshot taken afterwards." msgstr "" +"第二快照只會包含了資料集做了複製動作後的更動,這樣的機制可以節省大量的空間。" +"注意在複製之後快照 <replaceable>mypool/var/tmp@my_recursive_snapshot</" +"replaceable> 於 <literal>USED</literal> 欄位中的大小也更改了,這說明了這個更" +"動在前次快照與之後快照間的關係。" #. (itstool) path: sect3/title -#: book.translate.xml:39095 +#: book.translate.xml:39149 msgid "Comparing Snapshots" msgstr "比對快照" #. (itstool) path: sect3/para -#: book.translate.xml:39097 +#: book.translate.xml:39151 msgid "" "ZFS provides a built-in command to compare the differences in content " "between two snapshots. This is helpful when many snapshots were taken over " @@ -56024,9 +56623,13 @@ msgid "" "this for the two snapshots that were created in the previous section yields " "this output:" msgstr "" +"ZFS 提供了內建指令可以用來比對兩個快照 (Snapshot) 之間的差異,在使用者想要查" +"看一段時間之間檔案系統所的變更時非常有用。例如 <command>zfs diff</command> 可" +"以讓使用者在最後一次快照中找到意外刪除的檔案。對前面一節所做的兩個快照使用這" +"個指令會產生以下結果:" #. (itstool) path: sect3/screen -#: book.translate.xml:39107 +#: book.translate.xml:39161 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs list -rt all <replaceable>mypool/var/tmp</replaceable></userinput>\n" @@ -56040,48 +56643,51 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:39116 +#: book.translate.xml:39170 msgid "" "The command lists the changes between the specified snapshot (in this case " "<literal><replaceable>mypool/var/tmp@my_recursive_snapshot</replaceable></" "literal>) and the live file system. The first column shows the type of " "change:" msgstr "" +"指令會列出指定快照 (在這個例子中為 <literal><replaceable>mypool/var/" +"tmp@my_recursive_snapshot</replaceable></literal>) 與目前檔案系統間的更改。第" +"一個欄位是更改的類型:" #. (itstool) path: row/entry -#: book.translate.xml:39127 +#: book.translate.xml:39181 msgid "The path or file was added." -msgstr "" +msgstr "加入了該路徑或檔案。" #. (itstool) path: row/entry -#: book.translate.xml:39132 +#: book.translate.xml:39186 msgid "The path or file was deleted." -msgstr "" +msgstr "刪除了該路徑或檔案。" #. (itstool) path: row/entry #. (itstool) path: glossdiv/title -#: book.translate.xml:39136 book.translate.xml:65535 +#: book.translate.xml:39190 book.translate.xml:65535 msgid "M" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:39137 +#: book.translate.xml:39191 msgid "The path or file was modified." -msgstr "" +msgstr "修改了該路徑或檔案。" #. (itstool) path: row/entry #. (itstool) path: glossdiv/title -#: book.translate.xml:39141 book.translate.xml:65535 +#: book.translate.xml:39195 book.translate.xml:65535 msgid "R" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:39142 +#: book.translate.xml:39196 msgid "The path or file was renamed." -msgstr "" +msgstr "重新命名了該路徑或檔案。" #. (itstool) path: sect3/para -#: book.translate.xml:39148 +#: book.translate.xml:39202 msgid "" "Comparing the output with the table, it becomes clear that " "<filename><replaceable>passwd</replaceable></filename> was added after the " @@ -56090,24 +56696,31 @@ msgid "" "the parent directory mounted at <literal><replaceable>/var/tmp</" "replaceable></literal>." msgstr "" +"對照這個表格來看輸出的結果,可以明顯的看到 <filename><replaceable>passwd</" +"replaceable></filename> 是在快照 <literal><replaceable>mypool/var/" +"tmp@my_recursive_snapshot</replaceable></literal> 建立之後才加入的,結果也同" +"樣看的到掛載到 <literal><replaceable>/var/tmp</replaceable></literal> 的父目" +"錄已經做過修改。" #. (itstool) path: sect3/para -#: book.translate.xml:39156 +#: book.translate.xml:39210 msgid "" "Comparing two snapshots is helpful when using the <acronym>ZFS</acronym> " "replication feature to transfer a dataset to a different host for backup " "purposes." msgstr "" +"在使用 <acronym>ZFS</acronym> 備份功能來傳輸一個資料集到另一個主機備份時比對" +"兩個快照也同樣很有用。" #. (itstool) path: sect3/para -#: book.translate.xml:39160 +#: book.translate.xml:39214 msgid "" "Compare two snapshots by providing the full dataset name and snapshot name " "of both datasets:" -msgstr "" +msgstr "比對兩個快照需要提供兩個資料集的完整資料集名稱與快照名稱:" #. (itstool) path: sect3/screen -#: book.translate.xml:39163 +#: book.translate.xml:39217 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cp /var/tmp/passwd /var/tmp/passwd.copy</userinput>\n" @@ -56122,20 +56735,22 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:39173 +#: book.translate.xml:39227 msgid "" "A backup administrator can compare two snapshots received from the sending " "host and determine the actual changes in the dataset. See the <link linkend=" "\"zfs-zfs-send\">Replication</link> section for more information." msgstr "" +"備份管理者可以比對兩個自傳送主機所接收到的兩個快照並查看實際在資料集中的變" +"更。請參考 <link linkend=\"zfs-zfs-send\">備份</link> 一節來取得更多資訊。" #. (itstool) path: sect3/title -#: book.translate.xml:39181 +#: book.translate.xml:39235 msgid "Snapshot Rollback" msgstr "使用快照還原" #. (itstool) path: sect3/para -#: book.translate.xml:39183 +#: book.translate.xml:39237 msgid "" "When at least one snapshot is available, it can be rolled back to at any " "time. Most of the time this is the case when the current state of the " @@ -56157,16 +56772,29 @@ msgid "" "the user can roll back and forth between snapshots without losing data that " "is still valuable." msgstr "" +"只要至少有一個可用的快照便可以隨時還原。大多數在已不需要目前資料集,想要改用" +"較舊版的資料的情況,例如,本地開發的測試發生錯誤、不良的系統更新破壞了系統的" +"整體功能或需要還原意外刪除檔案或目錄 ... 等,都是非常常見的情形。幸運的,要還" +"原到某個快照只需要簡單輸入 <command>zfs rollback <replaceable>snapshotname</" +"replaceable></command>。會依快照所做的變更數量來決定處理的時間,還原的操作會" +"在一段時間後完成。在這段時間中,資料集會一直保持一致的狀態,類似一個符合 " +"ACID 原則的資料庫在做還原。還原可在資料集處於上線及可存取的情況下完成,不需要" +"停機。還原到快照之後,資料集便回到當初執行快照時相同的狀態,所有沒有在快照中" +"的其他資料便會被丟棄,因此往後若還有可能需要部份資料時,建議在還原到前一個快" +"照之前先對目前的資料集做快照,這樣一來,使用者便可以在快照之間來回快換,而不" +"會遺失重要的資料。" #. (itstool) path: sect3/para -#: book.translate.xml:39209 +#: book.translate.xml:39263 msgid "" "In the first example, a snapshot is rolled back because of a careless " "<command>rm</command> operation that removes too much data than was intended." msgstr "" +"在第一個範例中,因為 <command>rm</command> 操作不小心移除了預期外的資料,要還" +"原到快照。" #. (itstool) path: sect3/screen -#: book.translate.xml:39213 +#: book.translate.xml:39267 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs list -rt all <replaceable>mypool/var/tmp</replaceable></userinput>\n" @@ -56184,7 +56812,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:39226 +#: book.translate.xml:39280 msgid "" "At this point, the user realized that too many files were deleted and wants " "them back. <acronym>ZFS</acronym> provides an easy way to get them back " @@ -56192,9 +56820,12 @@ msgid "" "a regular basis. To get the files back and start over from the last " "snapshot, issue the command:" msgstr "" +"在此時,使用者發現到刪除了太多檔案並希望能夠還原。<acronym>ZFS</acronym> 提供" +"了簡單的方可以取回檔案,便是使用還原 (Rollback),但這只在有定期對重要的資料使" +"用快照時可用。要拿回檔案並從最後一次快照重新開始,可執行以下指令:" #. (itstool) path: sect3/screen -#: book.translate.xml:39233 +#: book.translate.xml:39287 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs rollback <replaceable>mypool/var/tmp@diff_snapshot</replaceable></userinput>\n" @@ -56203,16 +56834,18 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:39237 +#: book.translate.xml:39291 msgid "" "The rollback operation restored the dataset to the state of the last " "snapshot. It is also possible to roll back to a snapshot that was taken much " "earlier and has other snapshots that were created after it. When trying to " "do this, <acronym>ZFS</acronym> will issue this warning:" msgstr "" +"還原操作會將資料集還原為最後一次快照的狀態。這也可以還原到更早之前,有其他在" +"其之後建立的快照。要這麼做時,<acronym>ZFS</acronym> 會發出這個警告:" #. (itstool) path: sect3/screen -#: book.translate.xml:39243 +#: book.translate.xml:39297 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs list -rt snapshot <replaceable>mypool/var/tmp</replaceable></userinput>\n" @@ -56228,7 +56861,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:39254 +#: book.translate.xml:39308 msgid "" "This warning means that snapshots exist between the current state of the " "dataset and the snapshot to which the user wants to roll back. To complete " @@ -56240,9 +56873,14 @@ msgid "" "of losing all intermediate snapshots is understood, the command can be " "issued:" msgstr "" +"這個警告是因在該快照與資料集的目前狀態之間有其他快照存在,然而使用者想要還原" +"到該快照。要完成這樣的還原動作,必須刪除在這之間的快照,因為 <acronym>ZFS</" +"acronym> 無法追蹤不同資料集狀態間的變更。在使用者未指定 <option>-r</option> " +"來確認這個動作前,<acronym>ZFS</acronym> 不會刪除受影響的快照。若確定要這麼" +"做,那麼必須要知道會遺失所有在這之間的快照,然後可執行以下指令:" #. (itstool) path: sect3/screen -#: book.translate.xml:39266 +#: book.translate.xml:39320 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs rollback -r <replaceable>mypool/var/tmp@my_recursive_snapshot</replaceable></userinput>\n" @@ -56254,20 +56892,22 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:39273 +#: book.translate.xml:39327 msgid "" "The output from <command>zfs list -t snapshot</command> confirms that the " "intermediate snapshots were removed as a result of <command>zfs rollback -r</" "command>." msgstr "" +"可從 <command>zfs list -t snapshot</command> 的結果來確認 <command>zfs " +"rollback -r</command> 會移除的快照。" #. (itstool) path: sect3/title -#: book.translate.xml:39280 +#: book.translate.xml:39334 msgid "Restoring Individual Files from Snapshots" -msgstr "自快照還原單一檔案" +msgstr "從快照還原個別檔案" #. (itstool) path: sect3/para -#: book.translate.xml:39282 +#: book.translate.xml:39336 msgid "" "Snapshots are mounted in a hidden directory under the parent dataset: " "<filename>.zfs/snapshots/<replaceable>snapshotname</replaceable></filename>. " @@ -56279,9 +56919,16 @@ msgid "" "<literal>visible</literal> allows them to appear in the output of " "<command>ls</command> and other commands that deal with directory contents." msgstr "" +"快照會掛載在父資料集下的隱藏目錄:<filename>.zfs/snapshots/" +"<replaceable>snapshotname</replaceable></filename>。預設不會顯示這些目錄,即" +"使是用 <command>ls -a</command> 指令。雖然該目錄不會顯示,但該目錄實際存在," +"而且可以像一般的目錄一樣存取。一個名稱為 <literal>snapdir</literal> 的屬性可" +"以控制是否在目錄清單中顯示這些隱藏目錄,設定該屬性為可見 (<literal>visible</" +"literal>) 可以讓這些目錄出現在 <command>ls</command> 以及其他處理目錄內容的指" +"令中。" #. (itstool) path: sect3/screen -#: book.translate.xml:39295 +#: book.translate.xml:39349 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs get snapdir <replaceable>mypool/var/tmp</replaceable></userinput>\n" @@ -56295,7 +56942,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:39304 +#: book.translate.xml:39358 msgid "" "Individual files can easily be restored to a previous state by copying them " "from the snapshot back to the parent dataset. The directory structure below " @@ -56305,9 +56952,13 @@ msgid "" "<filename>.zfs</filename> directory by copying it from the snapshot that " "contained the latest version of the file:" msgstr "" +"要還原個別檔案到先前的狀態非常簡單,只要從快照中複製檔案到父資料集。在 " +"<filename>.zfs/snapshot</filename> 目錄結構下有一個與先前所做的快照名稱相同的" +"目錄,可以很容易的找到。在下個範例中,我們會示範從隱藏的 <filename>.zfs</" +"filename> 目錄還原一個檔案,透過從含有該檔案的最新版快照複製:" #. (itstool) path: sect3/screen -#: book.translate.xml:39315 +#: book.translate.xml:39369 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>rm /var/tmp/passwd</userinput>\n" @@ -56321,7 +56972,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:39324 +#: book.translate.xml:39378 msgid "" "When <command>ls .zfs/snapshot</command> was issued, the <literal>snapdir</" "literal> property might have been set to hidden, but it would still be " @@ -56332,9 +56983,14 @@ msgid "" "filename> is simple enough. Trying it the other way around results in this " "error:" msgstr "" +"執行 <command>ls .zfs/snapshot</command> 時,雖然 <literal>snapdir</literal> " +"可能已經設為隱藏,但仍可能可以顯示該目錄中的內容,這取決於管理者是否要顯示這" +"些目錄,可以只顯示特定的資料集,而其他的則不顯示。從這個隱藏的 <filename>." +"zfs/snapshot</filename> 複製檔案或目錄非常簡單,除此之外,嘗試其他的動作則會" +"出現以下錯誤:" #. (itstool) path: sect3/screen -#: book.translate.xml:39334 +#: book.translate.xml:39388 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cp <replaceable>/etc/rc.conf</replaceable> /var/tmp/.zfs/snapshot/<replaceable>after_cp/</replaceable></userinput>\n" @@ -56342,24 +56998,28 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:39337 +#: book.translate.xml:39391 msgid "" "The error reminds the user that snapshots are read-only and cannot be " "changed after creation. Files cannot be copied into or removed from snapshot " "directories because that would change the state of the dataset they " "represent." msgstr "" +"這個錯誤用來提醒使用者快照是唯讀的,在建立之後不能更改。無法複製檔案進去或從" +"該快照目錄中移除,因為這會變更該資料集所代表的狀態。" #. (itstool) path: sect3/para -#: book.translate.xml:39343 +#: book.translate.xml:39397 msgid "" "Snapshots consume space based on how much the parent file system has changed " "since the time of the snapshot. The <literal>written</literal> property of a " "snapshot tracks how much space is being used by the snapshot." msgstr "" +"快照所消耗的空間是依據自快照之後父檔案系統做了多少變更來決定,快照的 " +"<literal>written</literal> 屬性可以用來追蹤有多少空間被快照所使用。" #. (itstool) path: sect3/para -#: book.translate.xml:39348 +#: book.translate.xml:39402 msgid "" "Snapshots are destroyed and the space reclaimed with <command>zfs destroy " "<replaceable>dataset</replaceable>@<replaceable>snapshot</replaceable></" @@ -56369,14 +57029,19 @@ msgid "" "estimate of how much space would be reclaimed without performing the actual " "destroy operation." msgstr "" +"使用 <command>zfs destroy <replaceable>dataset</" +"replaceable>@<replaceable>snapshot</replaceable></command> 可以摧毀快照並回收" +"空間。加上 <option>-r</option> 可以遞迴移除所有在父資料集下使用同名的快照。加" +"入 <option>-n -v</option> 來顯示將要移除的快照清單以及估計回收的空間,而不會" +"實際執行摧毀的操作。" #. (itstool) path: sect2/title -#: book.translate.xml:39361 +#: book.translate.xml:39415 msgid "Managing Clones" msgstr "管理複本 (Clone)" #. (itstool) path: sect2/para -#: book.translate.xml:39363 +#: book.translate.xml:39417 msgid "" "A clone is a copy of a snapshot that is treated more like a regular dataset. " "Unlike a snapshot, a clone is not read only, is mounted, and can have its " @@ -56390,14 +57055,21 @@ msgid "" "within the <acronym>ZFS</acronym> file system hierarchy, not just below the " "original location of the snapshot." msgstr "" +"複本 (Clone) 是快照的複製,但更像是一般的資料集,與快照不同的是,複本是非唯讀" +"的 (可寫),且可掛載,可以有自己的屬性。使用 <command>zfs clone</command> 建立" +"複本之後,便無法再摧毀用來建立複本的快照。複本與快照的父/子關係可以使用 " +"<command>zfs promote</command> 來對換。提升複本之後 ,快照便會成為複本的子資" +"料集,而不是原來的父資料集,這個動作會改變空間計算的方式,但並不會實際改變空" +"間的使用量。複本可以被掛載到 <acronym>ZFS</acronym> 檔案系統階層中的任何一" +"點,並非只能位於原來快照的位置底下。" #. (itstool) path: sect2/para -#: book.translate.xml:39377 +#: book.translate.xml:39431 msgid "To demonstrate the clone feature, this example dataset is used:" -msgstr "" +msgstr "要示範複本功能會用到這個範例資料集:" #. (itstool) path: sect2/screen -#: book.translate.xml:39380 +#: book.translate.xml:39434 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs list -rt all <replaceable>camino/home/joe</replaceable></userinput>\n" @@ -56408,7 +57080,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:39386 +#: book.translate.xml:39440 msgid "" "A typical use for clones is to experiment with a specific dataset while " "keeping the snapshot around to fall back to in case something goes wrong. " @@ -56417,9 +57089,13 @@ msgid "" "promoted to a dataset and the old file system removed. This is not strictly " "necessary, as the clone and dataset can coexist without problems." msgstr "" +"會使用到複本一般是要在可以保留快照以便出錯時可還原的情況下使用指定的資料集做" +"實驗,由於快照並無法做更改,所以會建立一個可以讀/寫的快照複本。當在複本中做完" +"想要執行的動作後,便可以提升複本成資料集,然後移除舊的檔案系統。嚴格來說這並" +"非必要,因為複本與資料集可同時存在,不會有任何問題。" #. (itstool) path: sect2/screen -#: book.translate.xml:39395 +#: book.translate.xml:39449 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs clone <replaceable>camino/home/joe</replaceable>@<replaceable>backup</replaceable> <replaceable>camino/home/joenew</replaceable></userinput>\n" @@ -56436,7 +57112,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:39407 +#: book.translate.xml:39461 msgid "" "After a clone is created it is an exact copy of the state the dataset was in " "when the snapshot was taken. The clone can now be changed independently from " @@ -56447,9 +57123,14 @@ msgid "" "command>, the <literal>origin</literal> of the clone is removed as it is now " "an independent dataset. This example demonstrates it:" msgstr "" +"建立完的複本便有與建立快照時狀態相同的資料集,現在複本可以獨立於原來的資料集" +"來做更改。剩下唯一與資料集之間的關係便是快照,<acronym>ZFS</acronym> 會在屬" +"性 <literal>origin</literal> 記錄這個關係,一旦在快照與複本之間的相依關係因為" +"使用 <command>zfs promote</command> 提升而移除時,複本的 <literal>origin</" +"literal> 也會因為成為一個完全獨立的資料集而移除。以下範例會示範這個動作:" #. (itstool) path: sect2/screen -#: book.translate.xml:39418 +#: book.translate.xml:39472 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs get origin <replaceable>camino/home/joenew</replaceable></userinput>\n" @@ -56462,7 +57143,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:39426 +#: book.translate.xml:39480 msgid "" "After making some changes like copying <filename>loader.conf</filename> to " "the promoted clone, for example, the old directory becomes obsolete in this " @@ -56471,9 +57152,14 @@ msgid "" "and <command>zfs rename</command> on the clone to name it like the old " "dataset (it could also get an entirely different name)." msgstr "" +"做為部份更改之後,例如複製 <filename>loader.conf</filename> 到提升後的複本," +"這個例子中的舊目錄便無須保留,取而代之的是提升後的複本,這個動作可以用兩個連" +"續的指令來完成:在舊資料集上執行 <command>zfs destroy</command> 並在與舊資料" +"相似名稱 (也可能用完全不同的名稱) 的複本上執行 <command>zfs rename</" +"command>。" #. (itstool) path: sect2/screen -#: book.translate.xml:39435 +#: book.translate.xml:39489 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cp <replaceable>/boot/defaults/loader.conf</replaceable> <replaceable>/usr/home/joenew</replaceable></userinput>\n" @@ -56487,7 +57173,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:39444 +#: book.translate.xml:39498 msgid "" "The cloned snapshot is now handled like an ordinary dataset. It contains all " "the data from the original snapshot plus the files that were added to it " @@ -56500,14 +57186,21 @@ msgid "" "would with a real dataset. This saves time and administrative overhead when " "providing these jails." msgstr "" +"快照的複本現在可以如同一般資料集一樣使用,它的內容包含了所有來自原始快照的資" +"料以及後來加入的檔案,例如 <filename>loader.conf</filename>。複本可以在許多不" +"同的情境下使用提供 ZFS 的使用者有用的功能,例如,Jail 可以透過含有已安裝了各" +"種應用程式集的快照來提供,使用者可以複製這些快照然後加入自己想要嘗試的應用程" +"式,一但更改可以滿足需求,便可提升複本為完整的資料集然後提供給終端使用者,讓" +"終端使用者可以如同實際擁有資料集一般的使用,這個以節省提供這些 Jail 的時間與" +"管理成本。" #. (itstool) path: sect2/title -#: book.translate.xml:39459 +#: book.translate.xml:39513 msgid "Replication" -msgstr "備援" +msgstr "備份 (Replication)" #. (itstool) path: sect2/para -#: book.translate.xml:39461 +#: book.translate.xml:39515 msgid "" "Keeping data on a single pool in one location exposes it to risks like theft " "and natural or human disasters. Making regular backups of the entire pool is " @@ -56520,16 +57213,23 @@ msgid "" "The commands used for replicating data are <command>zfs send</command> and " "<command>zfs receive</command>." msgstr "" +"將資料保存在單一地點的單一儲存池上會讓資料暴露在盜竊、自然或人為的風險之下," +"定期備份整個儲存池非常重要,<acronym>ZFS</acronym> 提供了內建的序列化 " +"(Serialization) 功能可以將資料以串流傳送到標準輸出。使用這項技術,不僅可以將" +"資料儲存到另一個已連結到本地系統的儲存池,也可以透過網路將資料傳送到另一個系" +"統,這種備份方式以快照為基礎 (請參考章節 <link linkend=\"zfs-zfs-snapshot" +"\"><acronym>ZFS</acronym> 快照(Snapshot)</link>)。用來備份資料的指令為 " +"<command>zfs send</command> 及 <command>zfs receive</command>。" #. (itstool) path: sect2/para -#: book.translate.xml:39475 +#: book.translate.xml:39529 msgid "" "These examples demonstrate <acronym>ZFS</acronym> replication with these two " "pools:" -msgstr "" +msgstr "以下例子將示範使用兩個儲存池來做 <acronym>ZFS</acronym> 備份:" #. (itstool) path: sect2/screen -#: book.translate.xml:39478 +#: book.translate.xml:39532 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool list</userinput>\n" @@ -56539,7 +57239,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:39483 +#: book.translate.xml:39537 msgid "" "The pool named <replaceable>mypool</replaceable> is the primary pool where " "data is written to and read from on a regular basis. A second pool, " @@ -56552,9 +57252,16 @@ msgid "" "<replaceable>backup</replaceable> pool. Only snapshots can be replicated. " "Changes made since the most recent snapshot will not be included." msgstr "" +"名為 <replaceable>mypool</replaceable> 的儲存池為主要的儲存池,資料會定期寫入" +"與讀取的位置。第二個儲存池 <replaceable>backup</replaceable> 用來待命 " +"(Standby),萬一主要儲存池無法使用時可替換。注意,<acronym>ZFS</acronym> 並不" +"會自動做容錯移轉 (Fail-over),必須要由系統管理者在需要的時候手動完成。快照會" +"用來提供一個與檔系統一致的版本來做備份,<replaceable>mypool</replaceable> 的" +"快照建立之後,便可以複製到 <replaceable>backup</replaceable> 儲存池,只有快照" +"可以做備份,最近一次快照之後所做的變更不會含在內容裡面。" #. (itstool) path: sect2/screen -#: book.translate.xml:39497 +#: book.translate.xml:39551 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs snapshot <replaceable>mypool</replaceable>@<replaceable>backup1</replaceable></userinput>\n" @@ -56564,7 +57271,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:39502 +#: book.translate.xml:39556 msgid "" "Now that a snapshot exists, <command>zfs send</command> can be used to " "create a stream representing the contents of the snapshot. This stream can " @@ -56572,9 +57279,12 @@ msgid "" "standard output, but must be redirected to a file or pipe or an error is " "produced:" msgstr "" +"快照存在以後,便可以使用 <command>zfs send</command> 來建立一個代表快照內容的" +"串流,這個串流可以儲存成檔案或由其他儲存池接收。串流會寫入到標準輸出,但是必" +"須要重新導向到一個檔案或轉接到其他地方,否則會錯誤:" #. (itstool) path: sect2/screen -#: book.translate.xml:39509 +#: book.translate.xml:39563 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs send <replaceable>mypool</replaceable>@<replaceable>backup1</replaceable></userinput>\n" @@ -56583,7 +57293,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:39513 +#: book.translate.xml:39567 msgid "" "To back up a dataset with <command>zfs send</command>, redirect to a file " "located on the mounted backup pool. Ensure that the pool has enough free " @@ -56591,9 +57301,12 @@ msgid "" "the data contained in the snapshot, not just the changes from the previous " "snapshot." msgstr "" +"要使用 <command>zfs send</command> 備份一個資料集,可重新導向到一個位於在已掛" +"載到備份儲存池上的檔案。確定該儲存池有足夠的空間容納要傳送的快照,這裡指的是" +"該快照中內含的所有資料,並非只有上次快照到該快照間的變更。" #. (itstool) path: sect2/screen -#: book.translate.xml:39520 +#: book.translate.xml:39574 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs send <replaceable>mypool</replaceable>@<replaceable>backup1</replaceable> > <replaceable>/backup/backup1</replaceable></userinput>\n" @@ -56604,7 +57317,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:39526 +#: book.translate.xml:39580 msgid "" "The <command>zfs send</command> transferred all the data in the snapshot " "called <replaceable>backup1</replaceable> to the pool named " @@ -56612,9 +57325,13 @@ msgid "" "be done automatically with a <citerefentry><refentrytitle>cron</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> job." msgstr "" +"<command>zfs send</command> 會傳輸在快照 <replaceable>backup1</replaceable> " +"中所有的資料到儲存池 <replaceable>backup</replaceable>。可以使用 " +"<citerefentry><refentrytitle>cron</refentrytitle><manvolnum>8</manvolnum></" +"citerefentry> 排程來自動完成建立與傳送快照的動作。" #. (itstool) path: sect2/para -#: book.translate.xml:39532 +#: book.translate.xml:39586 msgid "" "Instead of storing the backups as archive files, <acronym>ZFS</acronym> can " "receive them as a live file system, allowing the backed up data to be " @@ -56626,9 +57343,15 @@ msgid "" "pool after the transfer is complete. A dataset can only be replicated to an " "empty dataset." msgstr "" +"若不想將備份以封存檔案儲存,<acronym>ZFS</acronym> 可用實際的檔案系統來接收資" +"料,讓備份的資料可以直接被存取。要取得實際包含在串流中的資料可以用 " +"<command>zfs receive</command> 將串流轉換回檔案與目錄。以下例子會以管線符號連" +"接 <command>zfs send</command> 及 <command>zfs receive</command>,將資料從一" +"個儲存池複製到另一個,傳輸完成後可以直接使用接收儲存池上的資料。一個資料集只" +"可以被複製到另一個空的資料集。" #. (itstool) path: sect2/screen -#: book.translate.xml:39544 +#: book.translate.xml:39598 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs snapshot <replaceable>mypool</replaceable>@<replaceable>replica1</replaceable></userinput>\n" @@ -56644,20 +57367,22 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:39556 +#: book.translate.xml:39610 msgid "Incremental Backups" msgstr "漸進式備份" #. (itstool) path: sect3/para -#: book.translate.xml:39558 +#: book.translate.xml:39612 msgid "" "<command>zfs send</command> can also determine the difference between two " "snapshots and send only the differences between the two. This saves disk " "space and transfer time. For example:" msgstr "" +"<command>zfs send</command> 也可以比較兩個快照之間的差異,並且只傳送兩者之間" +"的差異,這麼做可以節省磁碟空間及傳輸時間。例如:" #. (itstool) path: sect3/screen -#: book.translate.xml:39563 +#: book.translate.xml:39617 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs snapshot <replaceable>mypool</replaceable>@<replaceable>replica2</replaceable></userinput>\n" @@ -56672,7 +57397,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:39573 +#: book.translate.xml:39627 msgid "" "A second snapshot called <replaceable>replica2</replaceable> was created. " "This second snapshot contains only the changes that were made to the file " @@ -56682,9 +57407,13 @@ msgid "" "data that has changed. This can only succeed if the initial snapshot already " "exists on the receiving side." msgstr "" +"會建立一個名為 <replaceable>replica2</replaceable> 的第二個快照,這個快照只中" +"只會含有目前與前次快照 <replaceable>replica1</replaceable> 之間檔案系統所做的" +"變更。使用 <command>zfs send -i</command> 並指定要用來產生漸進備份串流的快" +"照,串流中只會含有做過更改的資料。這個動作只在接收端已經有初始快照時才可用。" #. (itstool) path: sect3/screen -#: book.translate.xml:39584 +#: book.translate.xml:39638 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs send -v -i <replaceable>mypool</replaceable>@<replaceable>replica1</replaceable> <replaceable>mypool</replaceable>@<replaceable>replica2</replaceable> | zfs receive <replaceable>/backup/mypool</replaceable></userinput>\n" @@ -56712,7 +57441,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:39607 +#: book.translate.xml:39661 msgid "" "The incremental stream was successfully transferred. Only the data that had " "changed was replicated, rather than the entirety of <replaceable>replica1</" @@ -56721,9 +57450,13 @@ msgid "" "This is useful when having to rely on slow networks or when costs per " "transferred byte must be considered." msgstr "" +"如此一來,便成功傳輸漸進式的串流,只有做過更改的資料會被備份,不會傳送完整的 " +"<replaceable>replica1</replaceable>。由於不會備份完整的儲存池,只傳送差異的部" +"份,所以可以減少傳輸的時間並節省磁碟空間,特別是在網路緩慢或需要考量每位元傳" +"輸成本時非常有用。" #. (itstool) path: sect3/para -#: book.translate.xml:39616 +#: book.translate.xml:39670 msgid "" "A new file system, <replaceable>backup/mypool</replaceable>, is available " "with all of the files and data from the pool <replaceable>mypool</" @@ -56734,14 +57467,20 @@ msgid "" "Sending and receiving can be automated so that regular backups are created " "on the second pool." msgstr "" +"從儲存池 <replaceable>mypool</replaceable> 複製所有檔案與資料的新檔案系統 " +"<replaceable>backup/mypool</replaceable> 便可以使用。若指定 <option>-P</" +"option>,會一併複製資料集的屬性,這包含壓縮 (Compression) 設定,配額 (Quota) " +"及掛載點 (Mount point)。若指定 <option>-R</option>,會複製所有指定資料集的子" +"資料集,及這些子資料集的所有屬性。可將傳送與接收自動化來定期使用第二個儲存池" +"做備份。" #. (itstool) path: sect3/title -#: book.translate.xml:39629 +#: book.translate.xml:39683 msgid "Sending Encrypted Backups over <application>SSH</application>" -msgstr "透過 <application>SSH</application> 傳送已加密的備份" +msgstr "透過 <application>SSH</application> 傳送加密的備份" #. (itstool) path: sect3/para -#: book.translate.xml:39632 +#: book.translate.xml:39686 msgid "" "Sending streams over the network is a good way to keep a remote backup, but " "it does come with a drawback. Data sent over the network link is not " @@ -56755,30 +57494,43 @@ msgid "" "system encrypted in transit and on the remote system, consider using <link " "xlink:href=\"http://wiki.freebsd.org/PEFS\">PEFS</link>." msgstr "" +"透過網路來傳送串流對要遠端備份是相當不錯的方式,但是也有一些缺點,透過網路連" +"結傳送的資料沒有加密,這會讓任何人都可以在未告知傳送使用者的情況下攔截並轉換" +"串流回資料,這是我們所不想見到的情況,特別是在使用網際網路傳送串流到遠端的主" +"機時。<application>SSH</application> 可用來安全的加密要透過網路連線傳送的資" +"料,在 <acronym>ZFS</acronym> 只需要從標準輸出重新導向便可簡單的轉接到 " +"<application>SSH</application>。要在傳送或在遠端系統中維持檔案系統內容在加密" +"的狀態也可考慮使用 <link xlink:href=\"http://wiki.freebsd.org/PEFS\">PEFS</" +"link>。" #. (itstool) path: sect3/para -#: book.translate.xml:39646 +#: book.translate.xml:39700 msgid "" "A few settings and security precautions must be completed first. Only the " "necessary steps required for the <command>zfs send</command> operation are " "shown here. For more information on <application>SSH</application>, see " "<xref linkend=\"openssh\"/>." msgstr "" +"有一些設定以及安全性注意事項必須先完成,只有對 <command>zfs send</command> 操" +"作必要的步驟才會在此說明,要取得更多有關 <application>SSH</application> 的資" +"訊請參考 <xref linkend=\"openssh\"/>。" #. (itstool) path: sect3/para -#: book.translate.xml:39652 +#: book.translate.xml:39706 msgid "This configuration is required:" -msgstr "" +msgstr "必要的環境設定:" #. (itstool) path: listitem/para -#: book.translate.xml:39656 +#: book.translate.xml:39710 msgid "" "Passwordless <application>SSH</application> access between sending and " "receiving host using <application>SSH</application> keys" msgstr "" +"使用 <application>SSH</application> 金鑰設定傳送端與接收端間無密碼的 " +"<application>SSH</application> 存取" #. (itstool) path: listitem/para -#: book.translate.xml:39662 +#: book.translate.xml:39716 msgid "" "Normally, the privileges of the <systemitem class=\"username\">root</" "systemitem> user are needed to send and receive streams. This requires " @@ -56789,27 +57541,35 @@ msgid "" "<systemitem class=\"username\">root</systemitem> user on each system to " "perform the respective send and receive operations." msgstr "" +"正常會需要 <systemitem class=\"username\">root</systemitem> 的權限來傳送與接" +"收串流,這需要可以 <systemitem class=\"username\">root</systemitem> 登入到接" +"收端系統。但是,預設因安全性考慮會關閉以 <systemitem class=\"username" +"\">root</systemitem> 登入。ZFS 委託 (<link linkend=\"zfs-zfs-allow\">ZFS " +"Delegation</link>) 系統可以用來允許一個非 <systemitem class=\"username" +"\">root</systemitem> 使用者在每個系統上執行各自的發送與接收操作。" #. (itstool) path: listitem/para -#: book.translate.xml:39678 +#: book.translate.xml:39732 msgid "On the sending system:" -msgstr "" +msgstr "在傳送端系統上:" #. (itstool) path: listitem/screen -#: book.translate.xml:39680 +#: book.translate.xml:39734 #, no-wrap msgid "<prompt>#</prompt> <command>zfs allow -u someuser send,snapshot <replaceable>mypool</replaceable></command>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:39684 +#: book.translate.xml:39738 msgid "" "To mount the pool, the unprivileged user must own the directory, and regular " "users must be allowed to mount file systems. On the receiving system:" msgstr "" +"要掛載儲存池,無權限的使用者必須擁有該目錄且必須允許一般的使用者掛載檔案系" +"統。在接收端系統上:" #. (itstool) path: listitem/screen -#: book.translate.xml:39688 +#: book.translate.xml:39742 #, no-wrap msgid "" "<prompt>#</prompt> sysctl vfs.usermount=1\n" @@ -56821,15 +57581,17 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:39697 +#: book.translate.xml:39751 msgid "" "The unprivileged user now has the ability to receive and mount datasets, and " "the <replaceable>home</replaceable> dataset can be replicated to the remote " "system:" msgstr "" +"無權限的使用者現在有能力可以接收並掛載資料集,且 <replaceable>home</" +"replaceable> 資料集可以被複製到遠端系統:" #. (itstool) path: sect3/screen -#: book.translate.xml:39701 +#: book.translate.xml:39755 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>zfs snapshot -r <replaceable>mypool/home</replaceable>@<replaceable>monday</replaceable></userinput>\n" @@ -56837,7 +57599,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:39704 +#: book.translate.xml:39758 msgid "" "A recursive snapshot called <replaceable>monday</replaceable> is made of the " "file system dataset <replaceable>home</replaceable> that resides on the pool " @@ -56855,14 +57617,25 @@ msgid "" "the transfer is shown, including elapsed time and the amount of data " "transferred." msgstr "" +"替儲存在儲存池 <replaceable>mypool</replaceable> 上的檔案系統資料集 " +"<replaceable>home</replaceable> 製作一個遞迴快照 <replaceable>monday</" +"replaceable>,然後使用 <command>zfs send -R</command> 來傳送包含該資料集及其" +"所有子資料集、快照、複製與設定的串流。輸出會被導向到 <application>SSH</" +"application> 連線的遠端主機 <replaceable>backuphost</replaceable> 上等候輸入" +"的 <command>zfs receive</command>,在此建議使用完整網域名稱或 IP 位置。接收端" +"的機器會寫入資料到 <replaceable>recvpool</replaceable> 儲存池上的 " +"<replaceable>backup</replaceable> 資料集,在 <command>zfs recv</command> 加" +"上 <option>-d</option> 可覆寫在接收端使用相同名稱的快照,加上 <option>-u</" +"option> 可讓檔案系統在接收端不會被掛載,當使用 <option>-v</option>,會顯示更" +"多有關傳輸的詳細資訊,包含已花費的時間及已傳輸的資料量。" #. (itstool) path: sect2/title -#: book.translate.xml:39729 +#: book.translate.xml:39783 msgid "Dataset, User, and Group Quotas" msgstr "資料集、使用者以及群組配額" #. (itstool) path: sect2/para -#: book.translate.xml:39731 +#: book.translate.xml:39785 msgid "" "<link linkend=\"zfs-term-quota\">Dataset quotas</link> are used to restrict " "the amount of space that can be consumed by a particular dataset. <link " @@ -56873,105 +57646,120 @@ msgid "" "can be used to prevent users or groups from using all of the space in the " "pool or dataset." msgstr "" +"資料集配額 (<link linkend=\"zfs-term-quota\">Dataset quota</link>) 可用來限制" +"特定資料集可以使用的的空間量。參考配額 (<link linkend=\"zfs-term-refquota" +"\">Reference Quota</link>) 的功能也非常相似,差在參考配額只會計算資料集自己使" +"用的空間,不含快照與子資料集。類似的,使用者 (<link linkend=\"zfs-term-" +"userquota\">User</link>) 與群組 (<link linkend=\"zfs-term-groupquota" +"\">Group</link>) 配額可以用來避免使用者或群組用掉儲存池或資料集的所有空間。" #. (itstool) path: sect2/para -#: book.translate.xml:39743 +#: book.translate.xml:39797 msgid "" "To enforce a dataset quota of 10 GB for <filename>storage/home/bob</" "filename>:" -msgstr "" +msgstr "要設定 <filename>storage/home/bob</filename> 的資料集配額為 10 GB:" #. (itstool) path: sect2/screen -#: book.translate.xml:39746 +#: book.translate.xml:39800 #, no-wrap msgid "<prompt>#</prompt> <userinput>zfs set quota=10G storage/home/bob</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:39748 +#: book.translate.xml:39802 msgid "" "To enforce a reference quota of 10 GB for <filename>storage/home/bob</" "filename>:" -msgstr "" +msgstr "要設定 <filename>storage/home/bob</filename> 的參考配額為 10 GB:" #. (itstool) path: sect2/screen -#: book.translate.xml:39751 +#: book.translate.xml:39805 #, no-wrap msgid "<prompt>#</prompt> <userinput>zfs set refquota=10G storage/home/bob</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:39753 +#: book.translate.xml:39807 msgid "To remove a quota of 10 GB for <filename>storage/home/bob</filename>:" -msgstr "" +msgstr "要移除 <filename>storage/home/bob</filename> 的 10 GB 配額:" #. (itstool) path: sect2/screen -#: book.translate.xml:39756 +#: book.translate.xml:39810 #, no-wrap msgid "<prompt>#</prompt> <userinput>zfs set quota=none storage/home/bob</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:39758 +#: book.translate.xml:39812 msgid "" "The general format is <literal>userquota@<replaceable>user</" "replaceable>=<replaceable>size</replaceable></literal>, and the user's name " "must be in one of these formats:" msgstr "" +"設定使用者配額的一般格式為 <literal>userquota@<replaceable>user</" +"replaceable>=<replaceable>size</replaceable></literal> 使用者的名稱必須使用以" +"下格式:" #. (itstool) path: listitem/para -#: book.translate.xml:39764 +#: book.translate.xml:39818 msgid "" "<acronym>POSIX</acronym> compatible name such as <replaceable>joe</" "replaceable>." msgstr "" +"<acronym>POSIX</acronym> 相容的名稱,如 <replaceable>joe</replaceable>。" #. (itstool) path: listitem/para -#: book.translate.xml:39769 +#: book.translate.xml:39823 msgid "" "<acronym>POSIX</acronym> numeric ID such as <replaceable>789</replaceable>." -msgstr "" +msgstr "<acronym>POSIX</acronym> 數字 ID,如 <replaceable>789</replaceable>。" #. (itstool) path: listitem/para -#: book.translate.xml:39774 +#: book.translate.xml:39828 msgid "" "<acronym>SID</acronym> name such as <replaceable>joe.bloggs@example.com</" "replaceable>." msgstr "" +"<acronym>SID</acronym> 名稱,如 <replaceable>joe.bloggs@example.com</" +"replaceable>。" #. (itstool) path: listitem/para -#: book.translate.xml:39780 +#: book.translate.xml:39834 msgid "" "<acronym>SID</acronym> numeric ID such as <replaceable>S-1-123-456-789</" "replaceable>." msgstr "" +"<acronym>SID</acronym> 數字 ID,如 <replaceable>S-1-123-456-789</" +"replaceable>。" #. (itstool) path: sect2/para -#: book.translate.xml:39786 +#: book.translate.xml:39840 msgid "" "For example, to enforce a user quota of 50 GB for the user named " "<replaceable>joe</replaceable>:" msgstr "" +"例如,要設定使用者名為 <replaceable>joe</replaceable> 的使用者配額為 50 GB:" #. (itstool) path: sect2/screen -#: book.translate.xml:39789 +#: book.translate.xml:39843 #, no-wrap msgid "<prompt>#</prompt> <userinput>zfs set userquota@joe=50G</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:39791 +#: book.translate.xml:39845 msgid "To remove any quota:" -msgstr "" +msgstr "要移除所有配額:" #. (itstool) path: sect2/screen -#: book.translate.xml:39793 +#: book.translate.xml:39847 #, no-wrap msgid "<prompt>#</prompt> <userinput>zfs set userquota@joe=none</userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:39796 +#: book.translate.xml:39850 msgid "" "User quota properties are not displayed by <command>zfs get all</command>. " "Non-<systemitem class=\"username\">root</systemitem> users can only see " @@ -56979,43 +57767,52 @@ msgid "" "literal> privilege. Users with this privilege are able to view and set " "everyone's quota." msgstr "" +"使用者配額的屬性不會顯示在 <command>zfs get all</command>。非 <systemitem " +"class=\"username\">root</systemitem> 的使用者只可以看到自己的配額,除非它們有" +"被授予 <literal>userquota</literal> 權限,擁有這個權限的使用者可以檢視與設定" +"任何人的配額。" #. (itstool) path: sect2/para -#: book.translate.xml:39804 +#: book.translate.xml:39858 msgid "" "The general format for setting a group quota is: " "<literal>groupquota@<replaceable>group</replaceable>=<replaceable>size</" "replaceable></literal>." msgstr "" +"要設定群組配額的一般格式為:<literal>groupquota@<replaceable>group</" +"replaceable>=<replaceable>size</replaceable></literal>。" #. (itstool) path: sect2/para -#: book.translate.xml:39807 +#: book.translate.xml:39861 msgid "" "To set the quota for the group <replaceable>firstgroup</replaceable> to " "50 GB, use:" msgstr "" +"要設定群組 <replaceable>firstgroup</replaceable> 的配額為 50 GB 可使用:" #. (itstool) path: sect2/screen -#: book.translate.xml:39811 +#: book.translate.xml:39865 #, no-wrap msgid "<prompt>#</prompt> <userinput>zfs set groupquota@firstgroup=50G</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:39813 +#: book.translate.xml:39867 msgid "" "To remove the quota for the group <replaceable>firstgroup</replaceable>, or " "to make sure that one is not set, instead use:" msgstr "" +"要移除群組 <replaceable>firstgroup</replaceable> 的配額,或確保該群組未設定配" +"額可使用:" #. (itstool) path: sect2/screen -#: book.translate.xml:39817 +#: book.translate.xml:39871 #, no-wrap msgid "<prompt>#</prompt> <userinput>zfs set groupquota@firstgroup=none</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:39819 +#: book.translate.xml:39873 msgid "" "As with the user quota property, non-<systemitem class=\"username\">root</" "systemitem> users can only see the quotas associated with the groups to " @@ -57023,9 +57820,13 @@ msgid "" "or a user with the <literal>groupquota</literal> privilege can view and set " "all quotas for all groups." msgstr "" +"如同使用者配額屬性,非 <systemitem class=\"username\">root</systemitem> 使用" +"者只可以查看自己所屬群組的配額。而 <systemitem class=\"username\">root</" +"systemitem> 或擁有 <literal>groupquota</literal> 權限的使用者,可以檢視並設定" +"所有群組的任何配額。" #. (itstool) path: sect2/para -#: book.translate.xml:39827 +#: book.translate.xml:39881 msgid "" "To display the amount of space used by each user on a file system or " "snapshot along with any quotas, use <command>zfs userspace</command>. For " @@ -57034,28 +57835,35 @@ msgid "" "refer to <citerefentry><refentrytitle>zfs</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>." msgstr "" +"要顯示在檔案系統或快照上每位使用者所使用的空間量及配額可使用 <command>zfs " +"userspace</command>,要取得群組的資訊則可使用 <command>zfs groupspace</" +"command>,要取得有關支援的選項資訊或如何只顯示特定選項的資訊請參考 " +"<citerefentry><refentrytitle>zfs</refentrytitle><manvolnum>1</manvolnum></" +"citerefentry>。" #. (itstool) path: sect2/para -#: book.translate.xml:39834 +#: book.translate.xml:39888 msgid "" "Users with sufficient privileges, and <systemitem class=\"username\">root</" "systemitem>, can list the quota for <filename>storage/home/bob</filename> " "using:" msgstr "" +"有足夠權限的使用者及 <systemitem class=\"username\">root</systemitem> 可以使" +"用以下指令列出 <filename>storage/home/bob</filename> 的配額:" #. (itstool) path: sect2/screen -#: book.translate.xml:39838 +#: book.translate.xml:39892 #, no-wrap msgid "<prompt>#</prompt> <userinput>zfs get quota storage/home/bob</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:39842 +#: book.translate.xml:39896 msgid "Reservations" msgstr "保留空間" #. (itstool) path: sect2/para -#: book.translate.xml:39844 +#: book.translate.xml:39898 msgid "" "<link linkend=\"zfs-term-reservation\">Reservations</link> guarantee a " "minimum amount of space will always be available on a dataset. The reserved " @@ -57063,50 +57871,62 @@ msgid "" "especially useful to ensure that free space is available for an important " "dataset or log files." msgstr "" +"保留空間 (<link linkend=\"zfs-term-reservation\">Reservation</link>) 可以確保" +"資料集最少可用的空間量,其他任何資料集無法使用保留的空間,這個功能在要確保有" +"足夠的可用空間來存放重要的資料集或日誌檔時特別有用。" #. (itstool) path: sect2/para -#: book.translate.xml:39851 +#: book.translate.xml:39905 msgid "" "The general format of the <literal>reservation</literal> property is " "<literal>reservation=<replaceable>size</replaceable></literal>, so to set a " "reservation of 10 GB on <filename>storage/home/bob</filename>, use:" msgstr "" +"<literal>reservation</literal> 屬性的一般格式為 " +"<literal>reservation=<replaceable>size</replaceable></literal>,所以要在 " +"<filename>storage/home/bob</filename> 設定保留 10 GB 的空間可以用:" #. (itstool) path: sect2/screen -#: book.translate.xml:39857 +#: book.translate.xml:39911 #, no-wrap msgid "<prompt>#</prompt> <userinput>zfs set reservation=10G storage/home/bob</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:39859 +#: book.translate.xml:39913 msgid "To clear any reservation:" -msgstr "" +msgstr "要清除任何保留空間:" #. (itstool) path: sect2/screen -#: book.translate.xml:39861 +#: book.translate.xml:39915 #, no-wrap msgid "<prompt>#</prompt> <userinput>zfs set reservation=none storage/home/bob</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:39863 +#: book.translate.xml:39917 msgid "" "The same principle can be applied to the <literal>refreservation</literal> " "property for setting a <link linkend=\"zfs-term-refreservation\">Reference " "Reservation</link>, with the general format " "<literal>refreservation=<replaceable>size</replaceable></literal>." msgstr "" +"同樣的原則可以應用在 <literal>refreservation</literal> 屬性來設定參考保留空" +"間 (<link linkend=\"zfs-term-refreservation\">Reference Reservation</link>)," +"參考保留空間的一般格式為 <literal>refreservation=<replaceable>size</" +"replaceable></literal>。" #. (itstool) path: sect2/para -#: book.translate.xml:39869 +#: book.translate.xml:39923 msgid "" "This command shows any reservations or refreservations that exist on " "<filename>storage/home/bob</filename>:" msgstr "" +"這個指令會顯示任何已設定於 <filename>storage/home/bob</filename> 的 " +"reservation 或 refreservation:" #. (itstool) path: sect2/screen -#: book.translate.xml:39872 +#: book.translate.xml:39926 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs get reservation storage/home/bob</userinput>\n" @@ -57116,12 +57936,12 @@ msgstr "" #. (itstool) path: sect2/title #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-compression -#: book.translate.xml:39877 book.translate.xml:40996 +#: book.translate.xml:39931 book.translate.xml:41050 msgid "Compression" msgstr "壓縮 (Compression)" #. (itstool) path: sect2/para -#: book.translate.xml:39879 +#: book.translate.xml:39933 msgid "" "<acronym>ZFS</acronym> provides transparent compression. Compressing data at " "the block level as it is written not only saves space, but can also increase " @@ -57131,9 +57951,14 @@ msgid "" "alternative to <link linkend=\"zfs-zfs-deduplication\">Deduplication</link> " "because it does not require additional memory." msgstr "" +"<acronym>ZFS</acronym> 提供直接的壓縮功能,在資料區塊層級壓縮資料不僅可以節省" +"空間,也可以增加磁碟的效能。若資料壓縮了 25%,但壓縮的資料會使用了與未壓縮版" +"本相同的速率寫入到磁碟,所以實際的寫入速度會是原來的 125%。壓縮功能也可來替代" +"去重複 (<link linkend=\"zfs-zfs-deduplication\">Deduplication</link>) 功能," +"因為壓縮並不需要使用額外的記憶體。" #. (itstool) path: sect2/para -#: book.translate.xml:39889 +#: book.translate.xml:39943 msgid "" "<acronym>ZFS</acronym> offers several different compression algorithms, each " "with different trade-offs. With the introduction of <acronym>LZ4</acronym> " @@ -57148,16 +57973,25 @@ msgid "" "the <link linkend=\"zfs-term-compression\">Compression</link> entry in the " "terminology section." msgstr "" +"<acronym>ZFS</acronym> 提了多種不同的壓縮演算法,每一種都有不同的優缺點,隨" +"著 <acronym>ZFS</acronym> v5000 引進了 <acronym>LZ4</acronym> 壓縮技術,可對" +"整個儲存池開啟壓縮,而不像其他演算法需要消耗大量的效能來達成,最大的優點是 " +"<acronym>LZ4</acronym> 擁有 <emphasis>提早放棄</emphasis> 的功能,若 " +"<acronym>LZ4</acronym> 無法在資料一開始的部份達成至少 12.5% 的壓縮率,便會以" +"不壓縮的方式來寫入資料區塊來避免 CPU 在那些已經壓縮過或無法壓縮的資料上浪費運" +"算能力。要取得更多有關 <acronym>ZFS</acronym> 中可用的壓縮演算法詳細資訊,可" +"參考術語章節中的壓縮 (<link linkend=\"zfs-term-compression\">Compression</" +"link>) 項目。" #. (itstool) path: sect2/para -#: book.translate.xml:39905 +#: book.translate.xml:39959 msgid "" "The administrator can monitor the effectiveness of compression using a " "number of dataset properties." -msgstr "" +msgstr "管理者可以使用資料集的屬性來監視壓縮的效果。" #. (itstool) path: sect2/screen -#: book.translate.xml:39908 +#: book.translate.xml:39962 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs get used,compressratio,compression,logicalused <replaceable>mypool/compressed_dataset</replaceable></userinput>\n" @@ -57169,16 +58003,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:39915 +#: book.translate.xml:39969 msgid "" "The dataset is currently using 449 GB of space (the used property). Without " "compression, it would have taken 496 GB of space (the " "<literal>logicallyused</literal> property). This results in the 1.11:1 " "compression ratio." msgstr "" +"資料集目前使用了 449 GB 的空間 (在 used 屬性)。在尚未壓縮前,該資料集應該會使" +"用 496 GB 的空間 (於 <literal>logicallyused</literal> 屬性),這個結果顯示目前" +"的壓縮比為 1.11:1。" #. (itstool) path: sect2/para -#: book.translate.xml:39921 +#: book.translate.xml:39975 msgid "" "Compression can have an unexpected side effect when combined with <link " "linkend=\"zfs-term-userquota\">User Quotas</link>. User quotas restrict how " @@ -57192,9 +58029,17 @@ msgid "" "property), but the change in compression caused them to reach their quota " "limit." msgstr "" +"壓縮功能在與使用者配額 (<link linkend=\"zfs-term-userquota\">User Quota</" +"link>) 一併使用時可能會產生無法預期的副作用。使用者配額會限制一個使用者在一個" +"資料集上可以使用多少空間,但衡量的依據是以 <emphasis>壓縮後</emphasis> 所使用" +"的空間,因此,若一個使用者有 10 GB 的配額,寫入了 10 GB 可壓縮的資料,使用者" +"將還會有空間儲存額外的資料。若使用者在之後更新了一個檔案,例如一個資料庫,可" +"能有更多或較少的可壓縮資料,那麼剩餘可用的空間量也會因此而改變,這可能會造成" +"奇怪的現象便是,一個使用者雖然沒有增加實際的資料量 (於 <literal>logicalused</" +"literal> 屬性),但因為更改影響了壓縮率,導致使用者達到配額的上限。" #. (itstool) path: sect2/para -#: book.translate.xml:39936 +#: book.translate.xml:39990 msgid "" "Compression can have a similar unexpected interaction with backups. Quotas " "are often used to limit how much data can be stored to ensure there is " @@ -57202,16 +58047,19 @@ msgid "" "compression, more data may be written than would fit with uncompressed " "backups." msgstr "" +"壓縮功能在與備份功能一起使用時也可能會有類似的問題,通常會使用配額功能來限制" +"能夠儲存的資料量來確保有足夠的備份空間可用。但是由於配額功能並不會考量壓縮狀" +"況,可能會有比未壓縮版本備份更多的資料量會被寫入到資料集。" #. (itstool) path: sect2/title #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-deduplication -#: book.translate.xml:39945 book.translate.xml:41089 +#: book.translate.xml:39999 book.translate.xml:41143 msgid "Deduplication" msgstr "去重複 (Deduplication)" #. (itstool) path: sect2/para -#: book.translate.xml:39947 +#: book.translate.xml:40001 msgid "" "When enabled, <link linkend=\"zfs-term-deduplication\">deduplication</link> " "uses the checksum of each block to detect duplicate blocks. When a new block " @@ -57222,31 +58070,39 @@ msgid "" "an extremely large amount of memory, and most of the space savings can be " "had without the extra cost by enabling compression instead." msgstr "" +"當開啟,去重複 (<link linkend=\"zfs-term-deduplication\">Deduplication</" +"link>) 功能會使用每個資料區塊的校驗碼 (Checksum) 來偵測重複的資料區塊,當新的" +"資料區塊與現有的資料區塊重複,<acronym>ZFS</acronym> 便會寫入連接到現有資料的" +"參考來替代寫入重複的資料區塊,這在資料中有大量重複的檔案或資訊時可以節省大量" +"的空間,要注意的是:去重複功能需要使用大量的記憶體且大部份可節省的空間可改開" +"啟壓縮功能來達成,而壓縮功能不需要使用額外的記憶體。" #. (itstool) path: sect2/para -#: book.translate.xml:39959 +#: book.translate.xml:40013 msgid "" "To activate deduplication, set the <literal>dedup</literal> property on the " "target pool:" -msgstr "" +msgstr "要開啟去重複功能,需在目標儲存池設定 <literal>dedup</literal> 屬性:" #. (itstool) path: sect2/screen -#: book.translate.xml:39962 +#: book.translate.xml:40016 #, no-wrap msgid "<prompt>#</prompt> <userinput>zfs set dedup=on <replaceable>pool</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:39964 +#: book.translate.xml:40018 msgid "" "Only new data being written to the pool will be deduplicated. Data that has " "already been written to the pool will not be deduplicated merely by " "activating this option. A pool with a freshly activated deduplication " "property will look like this example:" msgstr "" +"只有要被寫入到儲存池的新資料才會做去重複的動作,先前已被寫入到儲存池的資料不" +"會因此啟動了這個選項而做去重複。查看已開啟去重複屬性的儲存池會如下:" #. (itstool) path: sect2/screen -#: book.translate.xml:39970 +#: book.translate.xml:40024 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool list</userinput>\n" @@ -57255,16 +58111,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:39974 +#: book.translate.xml:40028 msgid "" "The <literal>DEDUP</literal> column shows the actual rate of deduplication " "for the pool. A value of <literal>1.00x</literal> shows that data has not " "been deduplicated yet. In the next example, the ports tree is copied three " "times into different directories on the deduplicated pool created above." msgstr "" +"<literal>DEDUP</literal> 欄位會顯示儲存池的實際去重複率,數值為 " +"<literal>1.00x</literal> 代表資料尚未被去重複。在下一個例子會在前面所建立的去" +"重複儲存池中複製三份 Port 樹到不同的目錄。中。" #. (itstool) path: sect2/screen -#: book.translate.xml:39981 +#: book.translate.xml:40035 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool list</userinput>\n" @@ -57274,12 +58133,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:39986 +#: book.translate.xml:40040 msgid "Redundant data is detected and deduplicated:" -msgstr "" +msgstr "已經偵測到重複的資料並做去重複:" #. (itstool) path: sect2/screen -#: book.translate.xml:39988 +#: book.translate.xml:40042 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zpool list</userinput>\n" @@ -57288,7 +58147,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:39992 +#: book.translate.xml:40046 msgid "" "The <literal>DEDUP</literal> column shows a factor of <literal>3.00x</" "literal>. Multiple copies of the ports tree data was detected and " @@ -57296,17 +58155,24 @@ msgid "" "savings can be enormous, but comes at the cost of having enough memory to " "keep track of the deduplicated blocks." msgstr "" +"<literal>DEDUP</literal> 欄位顯示有 <literal>3.00x</literal> 的去重複率,這代" +"表已偵測到多份複製的 Port 樹資料並做了去重複的動作,且只會使用第三份資料所佔" +"的空間。去重複能節省空間的潛力可以非常巨大,但會需要消耗大量的記憶體來持續追" +"蹤去重複的資料區塊。" #. (itstool) path: sect2/para -#: book.translate.xml:39999 +#: book.translate.xml:40053 msgid "" "Deduplication is not always beneficial, especially when the data on a pool " "is not redundant. <acronym>ZFS</acronym> can show potential space savings by " "simulating deduplication on an existing pool:" msgstr "" +"去重複並非總是有效益的,特別是當儲存池中的資料本身並沒有重複時。" +"<acronym>ZFS</acronym> 可以透過在現有儲存池上模擬開啟去重複功能來顯示可能節省" +"的空間:" #. (itstool) path: sect2/screen -#: book.translate.xml:40004 +#: book.translate.xml:40058 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zdb -S <replaceable>pool</replaceable></userinput>\n" @@ -57332,7 +58198,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:40025 +#: book.translate.xml:40079 msgid "" "After <command>zdb -S</command> finishes analyzing the pool, it shows the " "space reduction ratio that would be achieved by activating deduplication. In " @@ -57349,14 +58215,23 @@ msgid "" "additional savings will be considerable and there is sufficient memory for " "the <link linkend=\"zfs-term-deduplication\"><acronym>DDT</acronym></link>." msgstr "" +"在 <command>zdb -S</command> 分析完儲存池後會顯示在啟動去重複後可達到的空間減" +"少比例。在本例中,<literal>1.16</literal> 是非常差的空間節省比例,因為這個比" +"例使用壓縮功能便能達成。若在此儲存池上啟動去重複並不能明顯的節省空間使用量," +"那麼就不值得耗費大量的記憶體來開啟去重複功能。透過公式 <emphasis>ratio = " +"dedup * compress / copies</emphasis>,系統管理者可以規劃儲存空間的配置,來判" +"斷要處理的資料是否有足夠的重複資料區塊來平衡所需的記憶體。若資料是可壓縮的," +"那麼空間節少的效果可能會非常好,建議先開啟壓縮功能,且壓縮功能也可以大大提高" +"效能。去重複功能只有在可以節省可觀的空間且有足夠的記憶體做 <link linkend=" +"\"zfs-term-deduplication\"><acronym>DDT</acronym></link> 時才開啟。" #. (itstool) path: sect2/title -#: book.translate.xml:40045 +#: book.translate.xml:40099 msgid "<acronym>ZFS</acronym> and Jails" msgstr "<acronym>ZFS</acronym> 與 Jail" #. (itstool) path: sect2/para -#: book.translate.xml:40047 +#: book.translate.xml:40101 msgid "" "<command>zfs jail</command> and the corresponding <literal>jailed</literal> " "property are used to delegate a <acronym>ZFS</acronym> dataset to a <link " @@ -57367,14 +58242,20 @@ msgid "" "a dataset is jailed, it can no longer be mounted on the host because it may " "have mount points that would compromise the security of the host." msgstr "" +"<command>zfs jail</command> 以及相關的 <literal>jailed</literal> 屬性可以用來" +"將一個 <acronym>ZFS</acronym> 資料集委託給一個 <link linkend=\"jails\">Jail</" +"link> 管理。<command>zfs jail <replaceable>jailid</replaceable></command> 可" +"以將一個資料集連結到一個指定的 Jail,而 <command>zfs unjail</command> 則可解" +"除連結。資料集要可以在 Jail 中控制需設定 <literal>jailed</literal> 屬性,一旦" +"資料集被隔離便無法再掛載到主機,因為有掛載點可能會破壞主機的安全性。" #. (itstool) path: sect1/title -#: book.translate.xml:40063 +#: book.translate.xml:40117 msgid "Delegated Administration" msgstr "委託管理" #. (itstool) path: sect1/para -#: book.translate.xml:40065 +#: book.translate.xml:40119 msgid "" "A comprehensive permission delegation system allows unprivileged users to " "perform <acronym>ZFS</acronym> administration functions. For example, if " @@ -57385,14 +58266,19 @@ msgid "" "users. It is even possible to delegate the ability to delegate permissions. " "Permission delegation is possible for each subcommand and most properties." msgstr "" +"一個全面性的權限委託系統可能無權限的使用者執行 <acronym>ZFS</acronym> 的管理" +"功能。例如,若每個使用者的家目錄均為一個資料集,便可以給予使用者權限建立與摧" +"毀它們家目錄中的快照。可以給予備份使用者使用備份功能的權限。一個使用量統計的 " +"Script 可以允許其在執行時能存取所有使用者的空間利用率資料。甚至可以將委託權限" +"委託給其他人,每個子指令與大多數屬性都可使用權限委託。" #. (itstool) path: sect2/title -#: book.translate.xml:40078 +#: book.translate.xml:40132 msgid "Delegating Dataset Creation" -msgstr "" +msgstr "委託資料集建立" #. (itstool) path: sect2/para -#: book.translate.xml:40080 +#: book.translate.xml:40134 msgid "" "<command>zfs allow <replaceable>someuser</replaceable> create " "<replaceable>mydataset</replaceable></command> gives the specified user " @@ -57405,14 +58291,22 @@ msgid "" "<systemitem class=\"username\">root</systemitem> users must own the " "mountpoint where the file system is to be mounted." msgstr "" +"<command>zfs allow <replaceable>someuser</replaceable> create " +"<replaceable>mydataset</replaceable></command> 可以給予指定的使用者在指定的父" +"資料集下建立子資料集的權限。這裡需要注意:建立新資料集會牽涉到掛載,因此需要" +"設定 FreeBSD 的 <literal>vfs.usermount</literal> " +"<citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></" +"citerefentry> 為 <literal>1</literal> 來允許非 root 的使用者掛載一個檔案系" +"統。這裡還有另一項限制可以避免濫用:非 <systemitem class=\"username\">root</" +"systemitem> 使用者必須擁有掛載點在檔案系統中所在位置的權限才可掛載。" #. (itstool) path: sect2/title -#: book.translate.xml:40095 +#: book.translate.xml:40149 msgid "Delegating Permission Delegation" -msgstr "" +msgstr "委託權限委託" #. (itstool) path: sect2/para -#: book.translate.xml:40097 +#: book.translate.xml:40151 msgid "" "<command>zfs allow <replaceable>someuser</replaceable> allow " "<replaceable>mydataset</replaceable></command> gives the specified user the " @@ -57421,22 +58315,29 @@ msgid "" "permission and the <literal>allow</literal> permission, that user can then " "grant the <literal>snapshot</literal> permission to other users." msgstr "" +"<command>zfs allow <replaceable>someuser</replaceable> allow " +"<replaceable>mydataset</replaceable></command> 可以給予指定的使用者有權限指派" +"它們在目標資料集或其子資料集上擁有的任何權限給其他人。若該使用者擁有 " +"<literal>snapshot</literal> 權限及 <literal>allow</literal> 權限,則該使用者" +"可以授權 <literal>snapshot</literal> 權限給其他使用者。" #. (itstool) path: sect2/title -#: book.translate.xml:40113 +#: book.translate.xml:40167 msgid "Tuning" msgstr "調校" #. (itstool) path: sect2/para -#: book.translate.xml:40115 +#: book.translate.xml:40169 msgid "" "There are a number of tunables that can be adjusted to make <acronym>ZFS</" "acronym> perform best for different workloads." msgstr "" +"這裡有數個可調校的項目可以調整,來讓 <acronym>ZFS</acronym> 在面對各種工作都" +"能以最佳狀況運作。" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-advanced-tuning-arc_max -#: book.translate.xml:40121 +#: book.translate.xml:40175 msgid "" "<emphasis><varname>vfs.zfs.arc_max</varname></emphasis> - Maximum size of " "the <link linkend=\"zfs-term-arc\"><acronym>ARC</acronym></link>. The " @@ -57449,7 +58350,7 @@ msgstr "" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-advanced-tuning-arc_meta_limit -#: book.translate.xml:40132 +#: book.translate.xml:40186 msgid "" "<emphasis><varname>vfs.zfs.arc_meta_limit</varname></emphasis> - Limit the " "portion of the <link linkend=\"zfs-term-arc\"><acronym>ARC</acronym></link> " @@ -57464,7 +58365,7 @@ msgstr "" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-advanced-tuning-arc_min -#: book.translate.xml:40146 +#: book.translate.xml:40200 msgid "" "<emphasis><varname>vfs.zfs.arc_min</varname></emphasis> - Minimum size of " "the <link linkend=\"zfs-term-arc\"><acronym>ARC</acronym></link>. The " @@ -57477,7 +58378,7 @@ msgstr "" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-advanced-tuning-vdev-cache-size -#: book.translate.xml:40157 +#: book.translate.xml:40211 msgid "" "<emphasis><varname>vfs.zfs.vdev.cache.size</varname></emphasis> - A " "preallocated amount of memory reserved as a cache for each device in the " @@ -57488,7 +58389,7 @@ msgstr "" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-advanced-tuning-min-auto-ashift -#: book.translate.xml:40166 +#: book.translate.xml:40220 msgid "" "<emphasis><varname>vfs.zfs.min_auto_ashift</varname></emphasis> - Minimum " "<varname>ashift</varname> (sector size) that will be used automatically at " @@ -57500,7 +58401,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:40176 +#: book.translate.xml:40230 msgid "" "Many drives have 4 KB sectors. Using the default <varname>ashift</varname> " "of <literal>9</literal> with these drives results in write amplification on " @@ -57515,7 +58416,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:40191 +#: book.translate.xml:40245 msgid "" "Forcing 4 KB blocks is also useful on pools where disk upgrades are planned. " "Future disks are likely to use 4 KB sectors, and <varname>ashift</varname> " @@ -57523,7 +58424,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:40196 +#: book.translate.xml:40250 msgid "" "In some specific cases, the smaller 512-byte block size might be preferable. " "When used with 512-byte disks for databases, or as storage for virtual " @@ -57534,7 +58435,7 @@ msgstr "" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-advanced-tuning-prefetch_disable -#: book.translate.xml:40205 +#: book.translate.xml:40259 msgid "" "<emphasis><varname>vfs.zfs.prefetch_disable</varname></emphasis> - Disable " "prefetch. A value of <literal>0</literal> is enabled and <literal>1</" @@ -57550,7 +58451,7 @@ msgstr "" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-advanced-tuning-vdev-trim_on_init -#: book.translate.xml:40220 +#: book.translate.xml:40274 msgid "" "<emphasis><varname>vfs.zfs.vdev.trim_on_init</varname></emphasis> - Control " "whether new devices added to the pool have the <literal>TRIM</literal> " @@ -57564,7 +58465,7 @@ msgstr "" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-advanced-tuning-vdev-max_pending -#: book.translate.xml:40232 +#: book.translate.xml:40286 msgid "" "<emphasis><varname>vfs.zfs.vdev.max_pending</varname></emphasis> - Limit the " "number of pending I/O requests per device. A higher value will keep the " @@ -57576,7 +58477,7 @@ msgstr "" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-advanced-tuning-top_maxinflight -#: book.translate.xml:40241 +#: book.translate.xml:40295 msgid "" "<emphasis><varname>vfs.zfs.top_maxinflight</varname></emphasis> - Maxmimum " "number of outstanding I/Os per top-level <link linkend=\"zfs-term-vdev" @@ -57590,7 +58491,7 @@ msgstr "" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-advanced-tuning-l2arc_write_max -#: book.translate.xml:40253 +#: book.translate.xml:40307 msgid "" "<emphasis><varname>vfs.zfs.l2arc_write_max</varname></emphasis> - Limit the " "amount of data written to the <link linkend=\"zfs-term-l2arc" @@ -57603,7 +58504,7 @@ msgstr "" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-advanced-tuning-l2arc_write_boost -#: book.translate.xml:40262 +#: book.translate.xml:40316 msgid "" "<emphasis><varname>vfs.zfs.l2arc_write_boost</varname></emphasis> - The " "value of this tunable is added to <link linkend=\"zfs-advanced-tuning-" @@ -57619,7 +58520,7 @@ msgstr "" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-advanced-tuning-scrub_delay -#: book.translate.xml:40274 +#: book.translate.xml:40328 msgid "" "<emphasis><varname>vfs.zfs.scrub_delay</varname></emphasis> - Number of " "ticks to delay between each I/O during a <link linkend=\"zfs-term-scrub" @@ -57644,7 +58545,7 @@ msgstr "" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-advanced-tuning-resilver_delay -#: book.translate.xml:40301 +#: book.translate.xml:40355 msgid "" "<emphasis><varname>vfs.zfs.resilver_delay</varname></emphasis> - Number of " "milliseconds of delay inserted between each I/O during a <link linkend=\"zfs-" @@ -57670,7 +58571,7 @@ msgstr "" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-advanced-tuning-scan_idle -#: book.translate.xml:40330 +#: book.translate.xml:40384 msgid "" "<emphasis><varname>vfs.zfs.scan_idle</varname></emphasis> - Number of " "milliseconds since the last operation before the pool is considered idle. " @@ -57683,7 +58584,7 @@ msgstr "" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-advanced-tuning-txg-timeout -#: book.translate.xml:40341 +#: book.translate.xml:40395 msgid "" "<emphasis><varname>vfs.zfs.txg.timeout</varname></emphasis> - Maximum number " "of seconds between <link linkend=\"zfs-term-txg\">transaction group</link>s. " @@ -57698,25 +58599,27 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:40378 +#: book.translate.xml:40432 msgid "<acronym>ZFS</acronym> on i386" msgstr "i386 上的 <acronym>ZFS</acronym>" #. (itstool) path: sect2/para -#: book.translate.xml:40380 +#: book.translate.xml:40434 msgid "" "Some of the features provided by <acronym>ZFS</acronym> are memory " "intensive, and may require tuning for maximum efficiency on systems with " "limited <acronym>RAM</acronym>." msgstr "" +"<acronym>ZFS</acronym> 所提供的部份功能需要使用大量記憶體,且可能需要對有限 " +"<acronym>RAM</acronym> 的系統調校來取得最佳的效率。" #. (itstool) path: sect3/title -#: book.translate.xml:40386 +#: book.translate.xml:40440 msgid "Memory" msgstr "記憶體" #. (itstool) path: sect3/para -#: book.translate.xml:40388 +#: book.translate.xml:40442 msgid "" "As a bare minimum, the total system memory should be at least one gigabyte. " "The amount of recommended <acronym>RAM</acronym> depends upon the size of " @@ -57728,29 +58631,39 @@ msgid "" "memory exhaustion. Further tuning may be required for systems with less than " "the recommended RAM requirements." msgstr "" +"最低需求,總系統記憶體應至少有 1 GB,建議的 <acronym>RAM</acronym> 量需視儲存" +"池的大小以及使用的 <acronym>ZFS</acronym> 功能而定。一般的經驗法則是每 1 TB " +"的儲存空間需要 1 GB 的 RAM,若有開啟去重複的功能,一般的經驗法則是每 1 TB 的" +"要做去重複的儲存空間需要 5 GB 的 RAM。雖然有部份使用者成功使用較少的 " +"<acronym>RAM</acronym> 來運作 <acronym>ZFS</acronym>,但系統在負載較重時有可" +"能會因為記憶用耗而導致當機,對於要使用低於建議 RAM 需求量來運作的系統可能會需" +"要更進一步的調校。" #. (itstool) path: sect3/title -#: book.translate.xml:40403 book.translate.xml:62396 +#: book.translate.xml:40457 book.translate.xml:62450 msgid "Kernel Configuration" msgstr "核心設定" #. (itstool) path: sect3/para -#: book.translate.xml:40405 +#: book.translate.xml:40459 msgid "" "Due to the address space limitations of the <trademark>i386</trademark> " "platform, <acronym>ZFS</acronym> users on the <trademark>i386</trademark> " "architecture must add this option to a custom kernel configuration file, " "rebuild the kernel, and reboot:" msgstr "" +"由於在 <trademark>i386</trademark> 平台上位址空間的限制,在 <trademark>i386</" +"trademark> 架構上的 <acronym>ZFS</acronym> 使用者必須加入這個選項到自訂核心設" +"定檔,重新編譯核心並重新開啟:" #. (itstool) path: sect3/programlisting -#: book.translate.xml:40411 +#: book.translate.xml:40465 #, no-wrap msgid "options KVA_PAGES=512" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:40413 +#: book.translate.xml:40467 msgid "" "This expands the kernel address space, allowing the <varname>vm.kvm_size</" "varname> tunable to be pushed beyond the currently imposed limit of 1 GB, or " @@ -57758,23 +58671,30 @@ msgid "" "value for this option, divide the desired address space in megabytes by " "four. In this example, it is <literal>512</literal> for 2 GB." msgstr "" +"這個選項會增加核心位址空間,允許調整 <varname>vm.kvm_size</varname> 超出目前" +"的 1 GB 限制或在 <acronym>PAE</acronym> 的 2 GB 限制。要找到這個選項最合適的" +"數值,可以將想要的位址空間換算成 MB 然後除以 4,在本例中,以 2 GB 計算後即為 " +"<literal>512</literal>。" #. (itstool) path: sect3/title -#: book.translate.xml:40423 +#: book.translate.xml:40477 msgid "Loader Tunables" msgstr "載入程式可調參數" #. (itstool) path: sect3/para -#: book.translate.xml:40425 +#: book.translate.xml:40479 msgid "" "The <filename>kmem</filename> address space can be increased on all FreeBSD " "architectures. On a test system with 1 GB of physical memory, success was " "achieved with these options added to <filename>/boot/loader.conf</filename>, " "and the system restarted:" msgstr "" +"在所有的 FreeBSD 架構上均可增加 <filename>kmem</filename> 位址空間,經測試在" +"一個 1 GB 實體記憶體的測試系統上,加入以下選項到 <filename>/boot/loader." +"conf</filename>,重新開啟系統,可成功設定。" #. (itstool) path: sect3/programlisting -#: book.translate.xml:40432 +#: book.translate.xml:40486 #, no-wrap msgid "" "vm.kmem_size=\"330M\"\n" @@ -57784,62 +58704,64 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:40437 +#: book.translate.xml:40491 msgid "" "For a more detailed list of recommendations for <acronym>ZFS</acronym>-" "related tuning, see <link xlink:href=\"http://wiki.freebsd.org/ZFSTuningGuide" "\"/>." msgstr "" +"要取得更多詳細的 <acronym>ZFS</acronym> 相關調校的建議清單,請參考 <link " +"xlink:href=\"http://wiki.freebsd.org/ZFSTuningGuide\"/>。" #. (itstool) path: sect1/title -#: book.translate.xml:40444 +#: book.translate.xml:40498 msgid "Additional Resources" msgstr "其他資源" #. (itstool) path: listitem/para -#: book.translate.xml:40448 +#: book.translate.xml:40502 msgid "" "<link xlink:href=\"https://wiki.freebsd.org/ZFS\">FreeBSD Wiki - " "<acronym>ZFS</acronym></link>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:40453 +#: book.translate.xml:40507 msgid "" "<link xlink:href=\"https://wiki.freebsd.org/ZFSTuningGuide\">FreeBSD Wiki - " "<acronym>ZFS</acronym> Tuning</link>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:40458 +#: book.translate.xml:40512 msgid "" "<link xlink:href=\"http://wiki.illumos.org/display/illumos/ZFS\">Illumos " "Wiki - <acronym>ZFS</acronym></link>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:40463 +#: book.translate.xml:40517 msgid "" "<link xlink:href=\"http://docs.oracle.com/cd/E19253-01/819-5461/index.html" "\">Oracle Solaris <acronym>ZFS</acronym> Administration Guide</link>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:40469 +#: book.translate.xml:40523 msgid "" "<link xlink:href=\"http://www.solarisinternals.com/wiki/index.php/" "ZFS_Evil_Tuning_Guide\"><acronym>ZFS</acronym> Evil Tuning Guide</link>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:40474 +#: book.translate.xml:40528 msgid "" "<link xlink:href=\"http://www.solarisinternals.com/wiki/index.php/" "ZFS_Best_Practices_Guide\"><acronym>ZFS</acronym> Best Practices Guide</link>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:40479 +#: book.translate.xml:40533 msgid "" "<link xlink:href=\"https://calomel.org/zfs_raid_speed_capacity.html" "\">Calomel Blog - <acronym>ZFS</acronym> Raidz Performance, Capacity and " @@ -57847,12 +58769,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:40487 +#: book.translate.xml:40541 msgid "<acronym>ZFS</acronym> Features and Terminology" msgstr "<acronym>ZFS</acronym> 特色與術語" #. (itstool) path: sect1/para -#: book.translate.xml:40489 +#: book.translate.xml:40543 msgid "" "<acronym>ZFS</acronym> is a fundamentally different file system because it " "is more than just a file system. <acronym>ZFS</acronym> combines the roles " @@ -57870,24 +58792,37 @@ msgid "" "decreases. This approach avoids the common pitfall with extensive " "partitioning where free space becomes fragmented across the partitions." msgstr "" +"<acronym>ZFS</acronym> 是一個從本質上與眾不同的檔案系統,由於它並非只是一個檔" +"案系統,<acronym>ZFS</acronym> 結合了檔案系統及磁碟區管理程式,讓額外的儲存裝" +"置可以即時的加入到系統並可讓既有的檔案系統立即使用這些在儲存池中空間。透過結" +"合傳統區分為二的兩個角色,<acronym>ZFS</acronym> 能夠克服以往 <acronym>RAID</" +"acronym> 磁碟群組無法擴充的限制。每個在儲存池頂層的裝置稱作 <emphasis>vdev</" +"emphasis>,其可以是一個簡單的磁碟或是一個 <acronym>RAID</acronym> 如鏡像或 " +"<acronym>RAID-Z</acronym> 陣列。<acronym>ZFS</acronym> 的檔案系統 (稱作 " +"<emphasis>資料集 (Dataset)</emphasis>) 每一個資料集均可存取整個存池所共通的可" +"用空間,隨著使用儲存池來配置空間區塊,儲存池能給每個檔案系統使用的可用空間就" +"會減少,這個方法可以避免擴大分割區會使的可用空間分散分割區之間的常見問題。" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-pool -#: book.translate.xml:40513 +#: book.translate.xml:40567 msgid "pool" -msgstr "" +msgstr "儲存池 (Pool)" #. (itstool) path: note/para -#: book.translate.xml:40527 +#: book.translate.xml:40581 msgid "" "FreeBSD 9.0 and 9.1 include support for <acronym>ZFS</acronym> version 28. " "Later versions use <acronym>ZFS</acronym> version 5000 with feature flags. " "The new feature flags system allows greater cross-compatibility with other " "implementations of <acronym>ZFS</acronym>." msgstr "" +"FreeBSD 9.0 與 9.1 支援 <acronym>ZFS</acronym> 版本 28,之後的版本使用 " +"<acronym>ZFS</acronym> 版本 5000 與功能旗標,新的功能旗標 (Feature flags) 系" +"統有更佳的相容性,能夠與其他人實作的 <acronym>ZFS</acronym> 相容。" #. (itstool) path: row/entry -#: book.translate.xml:40515 +#: book.translate.xml:40569 msgid "" "A storage <emphasis>pool</emphasis> is the most basic building block of " "<acronym>ZFS</acronym>. A pool is made up of one or more vdevs, the " @@ -57898,16 +58833,22 @@ msgid "" "are determined by the <acronym>ZFS</acronym> version number on the pool. <_:" "note-1/>" msgstr "" +"<emphasis>儲存池 (Pool)</emphasis> 是建構 <acronym>ZFS</acronym> 最基礎的單" +"位。一個儲存池可由一個或多個 vdev 所組成,是用來儲存資料的底層裝置。儲存池會" +"被拿來建立一個或多個檔案系統 (資料集 Dataset) 或區塊裝置 (磁碟區 Volume),這" +"些資料集與磁碟區會共用儲存池的剩餘可用空間。每一個儲存池可由名稱與 " +"<acronym>GUID</acronym> 來辨識。可用的功能會依儲存池上的 <acronym>ZFS</" +"acronym> 版本而有不同。<_:note-1/>" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-vdev -#: book.translate.xml:40538 +#: book.translate.xml:40592 msgid "vdev Types" -msgstr "" +msgstr "vdev 型態 (vdev Types)" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-term-vdev-disk -#: book.translate.xml:40549 +#: book.translate.xml:40603 msgid "" "<emphasis>Disk</emphasis> - The most basic type of vdev is a standard block " "device. This can be an entire disk (such as <filename><replaceable>/dev/" @@ -57917,20 +58858,30 @@ msgid "" "using a partition rather than the entire disk. This differs from " "recommendations made by the Solaris documentation." msgstr "" +"<emphasis>磁碟 (Disk)</emphasis> - 最基本的 vdev 型態便是一個標準的資料區塊裝" +"置,這可以是一整個磁碟 (例如 <filename><replaceable>/dev/ada0</replaceable></" +"filename> 或 <filename><replaceable>/dev/da0</replaceable></filename>) 或一個" +"分割區 (<filename><replaceable>/dev/ada0p3</replaceable></filename>)。在 " +"FreeBSD 上,使用分割區來替代整個磁碟不會影響效能,這可能與 Solaris 說明文件所" +"建議的有所不同。" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-term-vdev-file -#: book.translate.xml:40564 +#: book.translate.xml:40618 msgid "" "<emphasis>File</emphasis> - In addition to disks, <acronym>ZFS</acronym> " "pools can be backed by regular files, this is especially useful for testing " "and experimentation. Use the full path to the file as the device path in " "<command>zpool create</command>. All vdevs must be at least 128 MB in size." msgstr "" +"<emphasis>檔案 (File)</emphasis> - 除了磁碟外,<acronym>ZFS</acronym> 儲存池" +"可以使用一般檔案為基礎,這在測試與實驗時特別有用。在 <command>zpool create</" +"command> 時使用檔案的完整路徑作為裝置路徑。所有 vdev 必須至少有 128 MB 的大" +"小。" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-term-vdev-mirror -#: book.translate.xml:40574 +#: book.translate.xml:40628 msgid "" "<emphasis>Mirror</emphasis> - When creating a mirror, specify the " "<literal>mirror</literal> keyword followed by the list of member devices for " @@ -57939,17 +58890,23 @@ msgid "" "its smallest member. A mirror vdev can withstand the failure of all but one " "of its members without losing any data." msgstr "" +"<emphasis>鏡像 (Mirror)</emphasis> - 要建立鏡像,需使用 <literal>mirror</" +"literal> 關鍵字,後面接著要做為該鏡像成員裝置的清單。一個鏡像需要由兩個或多個" +"裝置來組成,所有的資料都會被寫入到所有的成員裝置。鏡像 vdev 可以對抗所有成員" +"故障只剩其中一個而不損失任何資料。" #. (itstool) path: note/para -#: book.translate.xml:40585 +#: book.translate.xml:40639 msgid "" "A regular single disk vdev can be upgraded to a mirror vdev at any time with " "<command>zpool <link linkend=\"zfs-zpool-attach\">attach</link></command>." msgstr "" +"正常單一磁碟的 vdev 可以使用 <command>zpool <link linkend=\"zfs-zpool-attach" +"\">attach</link></command> 隨時升級成為鏡像 vdev。" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-term-vdev-raidz -#: book.translate.xml:40593 +#: book.translate.xml:40647 msgid "" "<emphasis><acronym>RAID-Z</acronym></emphasis> - <acronym>ZFS</acronym> " "implements <acronym>RAID-Z</acronym>, a variation on standard " @@ -57963,9 +58920,17 @@ msgid "" "devices in the array and the number of disks which can fail while the pool " "remains operational." msgstr "" +"<emphasis><acronym>RAID-Z</acronym></emphasis> - <acronym>ZFS</acronym> 實作" +"了 <acronym>RAID-Z</acronym>,以標準的 <acronym>RAID-5</acronym> 修改而來,可" +"提供奇偶校驗 (Parity) 更佳的分散性並去除了 <quote><acronym>RAID-5</acronym> " +"write hole</quote> 導致在預期之外的重啟後資料與奇偶校驗資訊不一致的問題。" +"<acronym>ZFS</acronym> 支援三個層級的 <acronym>RAID-Z</acronym>,可提供不同程" +"度的備援來換取減少不同程度的可用空間,類型的名稱以陣列中奇偶校驗裝置的數量與" +"儲存池可以容許磁碟故障的數量來命名,從 <acronym>RAID-Z1</acronym> 到 " +"<acronym>RAID-Z3</acronym> 。" #. (itstool) path: listitem/para -#: book.translate.xml:40611 +#: book.translate.xml:40665 msgid "" "In a <acronym>RAID-Z1</acronym> configuration with four disks, each 1 TB, " "usable storage is 3 TB and the pool will still be able to operate in " @@ -57973,9 +58938,12 @@ msgid "" "before the faulted disk is replaced and resilvered, all data in the pool can " "be lost." msgstr "" +"在 <acronym>RAID-Z1</acronym> 配置 4 個磁碟,每個磁碟 1 TB,可用的儲存空間則" +"為 3 TB,且若其中一個磁碟故障仍可以降級 (Degraded) 的模式運作,若在故障磁碟尚" +"未更換並修復 (Resilver) 之前又有磁碟故障,所有在儲存池中的資料便會遺失。" #. (itstool) path: listitem/para -#: book.translate.xml:40619 +#: book.translate.xml:40673 msgid "" "In a <acronym>RAID-Z3</acronym> configuration with eight disks of 1 TB, the " "volume will provide 5 TB of usable space and still be able to operate with " @@ -57984,9 +58952,13 @@ msgid "" "recommended to divide them into separate vdevs and the pool data will be " "striped across them." msgstr "" +"在 <acronym>RAID-Z3</acronym> 配置 8 個 1 TB 的磁碟,磁碟區將會可以提供 5 TB " +"的可用空間且在 3 個磁碟故障的情況下仍可運作。<trademark>Sun</trademark> 建議" +"單一個 vdev 不要使用超過 9 個磁碟。若配置需要使用更多磁碟,建議分成兩個 " +"vdev,這樣儲存池的資料便會分散到這兩個 vdev。" #. (itstool) path: listitem/para -#: book.translate.xml:40628 +#: book.translate.xml:40682 msgid "" "A configuration of two <acronym>RAID-Z2</acronym> vdevs consisting of 8 " "disks each would create something similar to a <acronym>RAID-60</acronym> " @@ -57996,20 +58968,29 @@ msgid "" "approximately 3 TB, and an array of eight 1 TB disks in <acronym>RAID-Z3</" "acronym> will yield 5 TB of usable space." msgstr "" +"使用兩個 <acronym>RAID-Z2</acronym> 各由 8 個磁碟組成的 vdev 的配置可以建立一" +"個類似 <acronym>RAID-60</acronym> 的陣列。<acronym>RAID-Z</acronym> 群組的儲" +"存空量會接近其中最小的磁碟乘上非奇偶校驗磁碟的數量。4 個 1 TB 磁碟在 " +"<acronym>RAID-Z1</acronym> 會有接近 3 TB 的實際大小,且一個由 8 個 1 TB 磁碟" +"組成的 <acronym>RAID-Z3</acronym> 陣列會有 5 TB 的可用空間。" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-term-vdev-spare -#: book.translate.xml:40643 +#: book.translate.xml:40697 msgid "" "<emphasis>Spare</emphasis> - <acronym>ZFS</acronym> has a special pseudo-" "vdev type for keeping track of available hot spares. Note that installed hot " "spares are not deployed automatically; they must manually be configured to " "replace the failed device using <command>zfs replace</command>." msgstr "" +"<emphasis>備援 (Spare)</emphasis> - <acronym>ZFS</acronym> 有特殊的虛擬 vdev " +"型態可用來持續追蹤可用的熱備援裝置 (Hot spare)。注意,安裝的熱備援裝置並不會" +"自動佈署,熱備援裝置需要手動使用 <command>zfs replace</command> 設定替換故障" +"的裝置。" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-term-vdev-log -#: book.translate.xml:40653 +#: book.translate.xml:40707 msgid "" "<emphasis>Log</emphasis> - <acronym>ZFS</acronym> Log Devices, also known as " "<acronym>ZFS</acronym> Intent Log (<link linkend=\"zfs-term-zil" @@ -58020,19 +59001,29 @@ msgid "" "Log devices can be mirrored, but <acronym>RAID-Z</acronym> is not supported. " "If multiple log devices are used, writes will be load balanced across them." msgstr "" +"<emphasis>日誌 (Log)</emphasis> - <acronym>ZFS</acronym> 記錄裝置,也被稱作 " +"<acronym>ZFS</acronym> 意圖日誌 (ZFS Intent Log, <link linkend=\"zfs-term-zil" +"\"><acronym>ZIL</acronym></link>) 會從正常的儲存池裝置移動意圖日誌到獨立的裝" +"置上,通常是一個 <acronym>SSD</acronym>。有了獨立的日誌裝置,可以明顯的增進有" +"大量同步寫入應用程式的效能,特別是資料庫。日誌裝置可以做成鏡像,但不支援 " +"<acronym>RAID-Z</acronym>,若使用多個日誌裝置,寫入動作會被負載平衡分散到這些" +"裝置。" #. (itstool) path: listitem/para #. (itstool) id: book.translate.xml#zfs-term-vdev-cache -#: book.translate.xml:40668 +#: book.translate.xml:40722 msgid "" "<emphasis>Cache</emphasis> - Adding a cache vdev to a pool will add the " "storage of the cache to the <link linkend=\"zfs-term-l2arc\"><acronym>L2ARC</" "acronym></link>. Cache devices cannot be mirrored. Since a cache device only " "stores additional copies of existing data, there is no risk of data loss." msgstr "" +"<emphasis>快取 (Cache)</emphasis> - 加入快取 vdev 到儲存池可以增加儲存空間的 " +"<link linkend=\"zfs-term-l2arc\"><acronym>L2ARC</acronym></link> 快取。快取裝" +"置無法做鏡像,因快取裝置只會儲存額外的現有資料的複本,並沒有資料遺失的風險。" #. (itstool) path: row/entry -#: book.translate.xml:40540 +#: book.translate.xml:40594 msgid "" "A pool is made up of one or more vdevs, which themselves can be a single " "disk or a group of disks, in the case of a <acronym>RAID</acronym> " @@ -58040,15 +59031,18 @@ msgid "" "across the vdevs to increase performance and maximize usable space. <_:" "itemizedlist-1/>" msgstr "" +"儲存池是由一個或多個 vdev 所組成,vdev 可以是一個磁碟或是 <acronym>RAID</" +"acronym> Transform 的磁碟群組。當使用多個 vdev,<acronym>ZFS</acronym> 可以分" +"散資料到各個 vdev 來增加效能與最大的可用空間。<_:itemizedlist-1/>" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-txg -#: book.translate.xml:40679 +#: book.translate.xml:40733 msgid "Transaction Group (<acronym>TXG</acronym>)" -msgstr "" +msgstr "交易群組 (Transaction Group, <acronym>TXG</acronym>)" #. (itstool) path: listitem/para -#: book.translate.xml:40693 +#: book.translate.xml:40747 msgid "" "<emphasis>Open</emphasis> - When a new transaction group is created, it is " "in the open state, and accepts new writes. There is always a transaction " @@ -58058,18 +59052,26 @@ msgid "" "zfs.txg.timeout</varname></link> has been reached, the transaction group " "advances to the next state." msgstr "" +"<emphasis>開放 (Open)</emphasis> - 新的交易群組建立之後便處於開放的狀態,可以" +"接受新的寫入動作。永遠會有開放狀態的交易群組,即始交易群組可能會因到達上限而" +"拒絕新的寫入動作。一但開放的交易群組到達上限或到達 <link linkend=\"zfs-" +"advanced-tuning-txg-timeout\"><varname>vfs.zfs.txg.timeout</varname></link>," +"交易群組便會繼續進入下一個狀態。" #. (itstool) path: listitem/para -#: book.translate.xml:40705 +#: book.translate.xml:40759 msgid "" "<emphasis>Quiescing</emphasis> - A short state that allows any pending " "operations to finish while not blocking the creation of a new open " "transaction group. Once all of the transactions in the group have completed, " "the transaction group advances to the final state." msgstr "" +"<emphasis>靜置中 (Quiescing)</emphasis> - 一個短暫的狀態,會等候任何未完成的" +"操作完成,不會阻擋新開放的交易群組建立。一旦所有在群組中的交易完成,交易群組" +"便會進入到最終狀態。" #. (itstool) path: listitem/para -#: book.translate.xml:40714 +#: book.translate.xml:40768 msgid "" "<emphasis>Syncing</emphasis> - All of the data in the transaction group is " "written to stable storage. This process will in turn modify other data, such " @@ -58085,9 +59087,18 @@ msgid "" "complete, the transaction group in the quiescing state is advanced to the " "syncing state." msgstr "" +"<emphasis>同步中 (Syncing)</emphasis> - 所有在交易群組中的資料會被寫任到穩定" +"的儲存空間,這個程序會依序修改其他也需同樣寫入到穩定儲存空間的資料,如 " +"Metadata 與空間對應表。同步的程多會牽涉多個循環,首先是同步所有更改的資料區" +"塊,也是最大的部份,接著是 Metadata,這可能會需要多個循環來完成。由於要配置空" +"間供資料區塊使用會產生新的 Metadata,同步中狀態在到達循環完成而不再需要分配任" +"何額外空間的狀態前無法結束。同步中狀態也是完成 <emphasis>synctask</emphasis> " +"的地方,Synctask 是指管理操作,如:建立或摧毀快照與資料集,會修改 uberblock," +"也會在此時完成。同步狀態完成後,其他處於狀態中狀態的交易群組便會進入同步中狀" +"態。" #. (itstool) path: row/entry -#: book.translate.xml:40682 +#: book.translate.xml:40736 msgid "" "Transaction Groups are the way changed blocks are grouped together and " "eventually written to the pool. Transaction groups are the atomic unit that " @@ -58101,15 +59112,22 @@ msgid "" "possible to the syncing state to reduce the latency of administrative " "commands." msgstr "" +"交易群組是一種將更動的資料區塊包裝成一組的方式,最後再一次寫入到儲存池。交易" +"群組是 <acronym>ZFS</acronym> 用來檢驗一致性的基本單位。每個交易群組會被分配" +"一個獨一無二的 64-bit 連續代號。最多一次可以有三個活動中的交易群組,這三個交" +"易群組的每一個都有這三種狀態:<_:itemizedlist-1/> 所有管理功能如快照 (<link " +"linkend=\"zfs-term-snapshot\"><command>Snapshot</command></link>) 會作為交易" +"群組的一部份寫入。當 synctask 建立之後,便會加入到目前開放的交易群組中,然後" +"該群組會盡快的進入同步中狀態來減少管理指令的延遲。" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-arc -#: book.translate.xml:40746 +#: book.translate.xml:40800 msgid "Adaptive Replacement Cache (<acronym>ARC</acronym>)" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:40749 +#: book.translate.xml:40803 msgid "" "<acronym>ZFS</acronym> uses an Adaptive Replacement Cache (<acronym>ARC</" "acronym>), rather than a more traditional Least Recently Used (<acronym>LRU</" @@ -58130,15 +59148,28 @@ msgid "" "tracks the most frequently used objects, and the cache of the most commonly " "accessed blocks remains." msgstr "" +"<acronym>ZFS</acronym> 使用了自適應替換快取 (Adaptive Replacement Cache, " +"<acronym>ARC</acronym>),而不是傳統的最近最少使用 (Least Recently Used, " +"<acronym>LRU</acronym>) 快取,LRU 快取在快取中是一個簡單的項目清單,會依每個" +"物件最近使用的時間來排序,新項會加入到清單的最上方,當快取額滿了便會去除清單" +"最下方的項目來空出空間給較常使用的物件。<acronym>ARC</acronym> 結合了四種快取" +"清單,最近最常使用 (Most Recently Used, <acronym>MRU</acronym>) 及最常使用 " +"(Most Frequently Used, <acronym>MFU</acronym>) 物件加上兩個清單各自的幽靈清" +"單 (Ghost list),這些幽靈清單會追蹤最近被去除的物件來避免又被加回到快取,避免" +"過去只有偶爾被使用的物件加入清單可以增加快取的命中率。同時使用 <acronym>MRU</" +"acronym> 及 <acronym>MFU</acronym> 的另外一個優點是掃描一個完整檔案系統可以去" +"除在 <acronym>MRU</acronym> 或 <acronym>LRU</acronym> 快取中的所有資料,有利" +"於這些才剛存取的內容。使用 <acronym>ZFS</acronym> 也有 <acronym>MFU</" +"acronym> 可只追蹤最常使用的物件並保留最常被存取的資料區塊快取。" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-l2arc -#: book.translate.xml:40777 +#: book.translate.xml:40831 msgid "<acronym>L2ARC</acronym>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:40779 +#: book.translate.xml:40833 msgid "" "<acronym>L2ARC</acronym> is the second level of the <acronym>ZFS</acronym> " "caching system. The primary <acronym>ARC</acronym> is stored in " @@ -58167,15 +59198,37 @@ msgid "" "l2arc_write_boost</varname></link> adds to this limit during the " "<quote>Turbo Warmup Phase</quote> (Write Boost)." msgstr "" +"<acronym>L2ARC</acronym> 是 <acronym>ZFS</acronym> 快取系統的第二層,主要的 " +"<acronym>ARC</acronym> 會儲存在 <acronym>RAM</acronym> 當中,但因為 " +"<acronym>RAM</acronym> 可用的空間量通常有限,因此 <acronym>ZFS</acronym> 也可" +"以使用 <link linkend=\"zfs-term-vdev-cache\">快取 vdev (Cache vdev)</link>。" +"固態磁碟 (Solid State Disk, <acronym>SSD</acronym>) 常被拿來此處作為快取裝" +"置,因為比起傳統旋轉碟片的磁碟,固體磁碟有較快的速度與較低的延遲。" +"<acronym>L2ARC</acronym> 是選用的,但使用可以明顯增進那些已使用 " +"<acronym>SSD</acronym> 快取的檔案讀取速度,無須從一般磁碟讀取。" +"<acronym>L2ARC</acronym> 也同樣可以加速去重複 (<link linkend=\"zfs-term-" +"deduplication\">Deduplication</link>),因為 <acronym>DDT</acronym> 並不適合放" +"在 <acronym>RAM</acronym>,但適合放在 <acronym>L2ARC</acronym>,比起要從磁碟" +"讀取,可以加快不少速度。為了避免 <acronym>SSD</acronym> 因寫入次速過多而過早" +"耗損,加入到快取裝置的資料速率會被限制,直到快取用盡 (去除第一個資料區塊來騰" +"出空間) 之前,寫入到 <acronym>L2ARC</acronym> 的資料速率會限制在寫入限制 " +"(Write limit) 與加速限制 (Boost limit) 的總合,之後則會限制為寫入限制,可以控" +"制這兩個速度限制的 <citerefentry><refentrytitle>sysctl</" +"refentrytitle><manvolnum>8</manvolnum></citerefentry> 數值分別為 <link " +"linkend=\"zfs-advanced-tuning-l2arc_write_max\"><varname>vfs.zfs." +"l2arc_write_max</varname></link> 控制每秒有多少數位元組可寫入到快取,而 " +"<link linkend=\"zfs-advanced-tuning-l2arc_write_boost\"><varname>vfs.zfs." +"l2arc_write_boost</varname></link> 可在 <quote>渦輪預熱階段</quote> (即寫入加" +"速) 時增加寫入限制。" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-zil -#: book.translate.xml:40814 +#: book.translate.xml:40868 msgid "<acronym>ZIL</acronym>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:40816 +#: book.translate.xml:40870 msgid "" "<acronym>ZIL</acronym> accelerates synchronous transactions by using storage " "devices like <acronym>SSD</acronym>s that are faster than those used in the " @@ -58187,15 +59240,22 @@ msgid "" "databases will benefit from a <acronym>ZIL</acronym>. Regular asynchronous " "writes such as copying files will not use the <acronym>ZIL</acronym> at all." msgstr "" +"<acronym>ZIL</acronym> 會使用儲存裝置,例如,比那些用在主要儲存池還快的 " +"<acronym>SSD</acronym> 來加速同步交易 (Synchronous transaction)。當應用程式請" +"求做一個同步的寫入時 (保証資料會安全的儲存到磁碟,而不是先快取稍後再寫入),資" +"料會先寫入到速度較快的 <acronym>ZIL</acronym> 儲存空間,之後再一併寫入到一般" +"的磁碟。這可大量的減少延遲並增進效能。<acronym>ZIL</acronym> 只會有利於使用像" +"資料庫這類的同步工作,一般非同步的寫入像複製檔案,則完全不會用到 " +"<acronym>ZIL</acronym>。" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-cow -#: book.translate.xml:40832 +#: book.translate.xml:40886 msgid "Copy-On-Write" -msgstr "" +msgstr "寫入時複製 (Copy-On-Write)" #. (itstool) path: row/entry -#: book.translate.xml:40834 +#: book.translate.xml:40888 msgid "" "Unlike a traditional file system, when data is overwritten on <acronym>ZFS</" "acronym>, the new data is written to a different block rather than " @@ -58207,15 +59267,22 @@ msgid "" "require a <citerefentry><refentrytitle>fsck</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> after an unexpected shutdown." msgstr "" +"不像傳統的檔案系統,在 <acronym>ZFS</acronym>,當資料要被覆寫時,不會直接覆寫" +"舊資料所在的位置,而是將新資料會寫入到另一個資料區塊,只在資料寫入完成後才會" +"更新 Metadata 指向新的位置。因此,在發生寫入中斷 (在寫入檔案的過程中系統當機" +"或電源中斷) 時,原來檔案的完整內容並不會遺失,只會放棄未寫入完成的新資料,這" +"也意謂著 <acronym>ZFS</acronym> 在發生預期之外的關機後不需要做 " +"<citerefentry><refentrytitle>fsck</refentrytitle><manvolnum>8</manvolnum></" +"citerefentry>。" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-dataset -#: book.translate.xml:40848 +#: book.translate.xml:40902 msgid "Dataset" -msgstr "" +msgstr "資料集 (Dataset)" #. (itstool) path: row/entry -#: book.translate.xml:40850 +#: book.translate.xml:40904 msgid "" "<emphasis>Dataset</emphasis> is the generic term for a <acronym>ZFS</" "acronym> file system, volume, snapshot or clone. Each dataset has a unique " @@ -58230,30 +59297,42 @@ msgid "" "and grandparents. Administration of datasets and their children can be <link " "linkend=\"zfs-zfs-allow\">delegated</link>." msgstr "" +"<emphasis>資料集 (Dataset)</emphasis> 是 <acronym>ZFS</acronym> 檔案系統、磁" +"碟區、快照或複本的通用術語。每個資料集都有獨一無二的名稱使用 " +"<replaceable>poolname/path@snapshot</replaceable> 格式。儲存池的根部技術上來" +"說也算一個資料集,子資料集會採用像目錄一樣的層級來命名,例如 " +"<replaceable>mypool/home</replaceable>,home 資料集是 <replaceable>mypool</" +"replaceable> 的子資料集並且會繼承其屬性。這可以在往後繼續擴展成 " +"<replaceable>mypool/home/user</replaceable>,這個孫資料集會繼承其父及祖父的屬" +"性。在子資料集的屬性可以覆蓋預設繼承自父及祖父的屬性。資料集及其子資料級的管" +"理權限可以委託 (<link linkend=\"zfs-zfs-allow\">Delegate</link>) 給他人。" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-filesystem -#: book.translate.xml:40872 +#: book.translate.xml:40926 msgid "File system" -msgstr "" +msgstr "檔案系統 (File system)" #. (itstool) path: row/entry -#: book.translate.xml:40874 +#: book.translate.xml:40928 msgid "" "A <acronym>ZFS</acronym> dataset is most often used as a file system. Like " "most other file systems, a <acronym>ZFS</acronym> file system is mounted " "somewhere in the systems directory hierarchy and contains files and " "directories of its own with permissions, flags, and other metadata." msgstr "" +"<acronym>ZFS</acronym> 資料集最常被當做檔案系統使用。如同大多數其他的檔案系" +"統,<acronym>ZFS</acronym> 檔案系統會被掛載在系統目錄層級的某一處且內含各自擁" +"有權限、旗標及 Metadata 的檔案與目錄。" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-volume -#: book.translate.xml:40883 +#: book.translate.xml:40937 msgid "Volume" -msgstr "" +msgstr "磁碟區 (Volume)" #. (itstool) path: row/entry -#: book.translate.xml:40885 +#: book.translate.xml:40939 msgid "" "In additional to regular file system datasets, <acronym>ZFS</acronym> can " "also create volumes, which are block devices. Volumes have many of the same " @@ -58262,15 +59341,20 @@ msgid "" "<acronym>ZFS</acronym>, such as <acronym>UFS</acronym> virtualization, or " "exporting <acronym>iSCSI</acronym> extents." msgstr "" +"除了一般的檔案系統資料集之外,<acronym>ZFS</acronym> 也可以建立磁碟區 " +"(Volume),磁碟區是資料區塊裝置。磁碟區有許多與資料集相似的功能,包含複製時寫" +"入、快照、複本以及資料校驗。要在 <acronym>ZFS</acronym> 的頂層執行其他檔案系" +"統格式時使用磁碟區非常有用,例如 <acronym>UFS</acronym> 虛擬化或匯出 " +"<acronym>iSCSI</acronym> 延伸磁區 (Extent)。" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-snapshot -#: book.translate.xml:40897 +#: book.translate.xml:40951 msgid "Snapshot" -msgstr "" +msgstr "快照 (Snapshot)" #. (itstool) path: row/entry -#: book.translate.xml:40899 +#: book.translate.xml:40953 msgid "" "The <link linkend=\"zfs-term-cow\">copy-on-write</link> (<acronym>COW</" "acronym>) design of <acronym>ZFS</acronym> allows for nearly instantaneous, " @@ -58298,15 +59382,32 @@ msgid "" "Snapshots can be taken on volumes, but they can only be cloned or rolled " "back, not mounted independently." msgstr "" +"<acronym>ZFS</acronym> 的寫入時複製 (<link linkend=\"zfs-term-cow\">Copy-On-" +"Write</link>, <acronym>COW</acronym>) 設計可以使用任意的名稱做到幾乎即時、一" +"致的快照。在製做資料集的快照或父資料集遞迴快照 (會包含其所有子資料集) 之後," +"新的資料會寫入到資的資料區塊,但不會回收舊的資料區塊為可用空間,快照中會使用" +"原版本的檔案系統,而快照之後所做的變更則會儲存在目前的檔案系統,因此不會重複" +"使用額外的空間。當新的資料寫入到目前的檔案系統,便會配置新的資料區塊來儲存這" +"些資料。快照表面大小 (Apparent size) 會隨著在目前檔案系統停止使用的資料區塊而" +"成長,但僅限於快照。可以用唯讀的方式掛載這些快照來復原先前版本的檔案,也可以" +"還原 (<link linkend=\"zfs-zfs-snapshot\">Rollback</link>) 目前的檔案系統到指" +"定的快照,來還原任何在快照之後所做的變更。每個在儲存池中的資料區塊都會有一個" +"參考記數器,可以用來持續追蹤有多少快照、複本、資料集或是磁碟區使用這個資料區" +"塊,當刪除檔案與快照參照的計數變會滅少,直到沒有任何東西參考這個資料區塊才會" +"被回收為可用空間。快照也可使用 <link linkend=\"zfs-zfs-snapshot\">hold</" +"link> 來標記,檔標記為 hold 時,任何嘗試要刪除該快照的動作便會回傳 " +"<literal>EBUSY</literal> 的錯誤,每個快照可以標記多個不同唯一名稱的 hold,而 " +"<link linkend=\"zfs-zfs-snapshot\">release</link> 指令則可以移除 hold,這樣才" +"可刪除快照。在磁碟區上快可以製作快照,但只能用來複製或還原,無法獨立掛載。" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-clone -#: book.translate.xml:40938 +#: book.translate.xml:40992 msgid "Clone" -msgstr "" +msgstr "複本 (Clone)" #. (itstool) path: row/entry -#: book.translate.xml:40940 +#: book.translate.xml:40994 msgid "" "Snapshots can also be cloned. A clone is a writable version of a snapshot, " "allowing the file system to be forked as a new dataset. As with a snapshot, " @@ -58321,30 +59422,38 @@ msgid "" "no additional space. Because the amount of space used by the parent and " "child is reversed, existing quotas and reservations might be affected." msgstr "" +"快照也可以做複本,複本是可寫入版本的快照,讓檔案系統可分支成為新的資料集。如" +"同快照,複本一開始不會消耗任何額外空間,隨著新資料寫入到複本會配置新的資料區" +"塊,複本的表面大小 (Apparent size) 才會成長,當在複本檔案系統或磁碟區的資料區" +"塊被覆寫時,在先前資料區塊的參考計數則會減少。建立複本所使用的快照無法被刪" +"除,因為複本會相依該快照,快照為父,複本為子。複本可以被提升 " +"(<emphasis>promoted</emphasis>)、反轉相依關係,來讓複本成為父,之前的父變為" +"子,這個操作不需要額外的空間。由於反轉了父與子使用的空間量,所以可能會影響既" +"有的配額 (Quota) 與保留空間 (Reservation)。" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-checksum -#: book.translate.xml:40960 +#: book.translate.xml:41014 msgid "Checksum" -msgstr "" +msgstr "校驗碼 (Checksum)" #. (itstool) path: listitem/para -#: book.translate.xml:40976 +#: book.translate.xml:41030 msgid "<literal>fletcher2</literal>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:40980 +#: book.translate.xml:41034 msgid "<literal>fletcher4</literal>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:40984 +#: book.translate.xml:41038 msgid "<literal>sha256</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:40962 +#: book.translate.xml:41016 msgid "" "Every block that is allocated is also checksummed. The checksum algorithm " "used is a per-dataset property, see <link linkend=\"zfs-zfs-set" @@ -58360,9 +59469,18 @@ msgid "" "lower chance of collisions at the cost of some performance. Checksums can be " "disabled, but it is not recommended." msgstr "" +"配置每個資料區塊快的同時也會做資料校驗,資料校驗用的演算法是依資料集屬性而有" +"所不同的,請參考 <link linkend=\"zfs-zfs-set\"><command>set</command></" +"link>。每個資料區塊會在讀取的過成便完成校驗,讓 <acronym>ZFS</acronym> 可以偵" +"測到隱藏的損壞,若資料不符合預期的校驗碼,<acronym>ZFS</acronym> 會嘗試從任何" +"可用的備援來還原資料,例如鏡像 (Mirror) 或 <acronym>RAID-Z</acronym>。要檢驗" +"所有資料的校驗碼可以使用清潔 (<link linkend=\"zfs-term-scrub" +"\"><command>Scrub</command></link>),資料校驗的演算法有:<_:itemizedlist-1/> " +"<literal>fletcher</literal> 演算法最快,而 <literal>sha256</literal> 雖較消耗" +"效能,但其有強大的密碼雜湊與較低的衝突率。也可關閉資料校驗,但並不建議。" #. (itstool) path: listitem/para -#: book.translate.xml:41008 +#: book.translate.xml:41062 msgid "" "<emphasis><acronym>LZ4</acronym></emphasis> - Added in <acronym>ZFS</" "acronym> pool version 5000 (feature flags), <acronym>LZ4</acronym> is now " @@ -58374,14 +59492,21 @@ msgid "" "<acronym>LZ4</acronym> can often compress at over 500 MB/s, and decompress " "at over 1.5 GB/s (per single CPU core)." msgstr "" +"<emphasis><acronym>LZ4</acronym></emphasis> - <acronym>ZFS</acronym> 儲存池版" +"本 5000 (功能旗標) 後所增加,<acronym>LZ4</acronym> 現在是建議的壓縮演算法," +"在處理可壓縮的資料時 <acronym>LZ4</acronym> 壓縮比 <acronym>LZJB</acronym> 快" +"將近 50%,在處理不可壓縮的資料時快將近三倍,<acronym>LZ4</acronym> 解壓縮也" +"比 <acronym>LZJB</acronym> 將近 80%。在現代的 <acronym>CPU</acronym> 上," +"<acronym>LZ4</acronym> 經常平均可用 500 MB/s 的速度壓縮,而解壓縮可到達 " +"1.5 GB/s (每個 CPU 核心)。" #. (itstool) path: note/para -#: book.translate.xml:41025 +#: book.translate.xml:41079 msgid "<acronym>LZ4</acronym> compression is only available after FreeBSD 9.2." -msgstr "" +msgstr "<acronym>LZ4</acronym> 壓縮只在 FreeBSD 9.2 之後可使用。" #. (itstool) path: listitem/para -#: book.translate.xml:41031 +#: book.translate.xml:41085 msgid "" "<emphasis><acronym>LZJB</acronym></emphasis> - The default compression " "algorithm. Created by Jeff Bonwick (one of the original creators of " @@ -58390,9 +59515,13 @@ msgid "" "acronym>. In the future, the default compression algorithm will likely " "change to <acronym>LZ4</acronym>." msgstr "" +"<emphasis><acronym>LZJB</acronym></emphasis> - 預設的壓縮演算法。由 Jeff " +"Bonwick 所開發 (<acronym>ZFS</acronym> 的創始人之一)。<acronym>LZJB</acronym>" +"與 <acronym>GZIP</acronym> 相比,可以較低的 <acronym>CPU</acronym> 提供較佳的" +"壓縮功能。在未來預設的壓縮演算法將會更換為 <acronym>LZ4</acronym>。" #. (itstool) path: listitem/para -#: book.translate.xml:41043 +#: book.translate.xml:41097 msgid "" "<emphasis><acronym>GZIP</acronym></emphasis> - A popular stream compression " "algorithm available in <acronym>ZFS</acronym>. One of the main advantages of " @@ -58403,18 +59532,27 @@ msgid "" "of compression. This gives the administrator control over how much " "<acronym>CPU</acronym> time to trade for saved disk space." msgstr "" +"<emphasis><acronym>GZIP</acronym></emphasis> - 在 <acronym>ZFS</acronym> 可用" +"的熱門串流壓縮演算法。使用 <acronym>GZIP</acronym> 主要的優點之一便是可設定壓" +"縮層級。當設定 <literal>compress</literal> 屬性,管理者可以選擇壓縮層級範圍從" +"最低的壓縮層級 <literal>gzip1</literal> 到最高的壓縮層級 <literal>gzip9</" +"literal>。這讓管理者可以控制要使用多少 <acronym>CPU</acronym> 來節省磁碟空" +"間。" #. (itstool) path: listitem/para -#: book.translate.xml:41059 +#: book.translate.xml:41113 msgid "" "<emphasis><acronym>ZLE</acronym></emphasis> - Zero Length Encoding is a " "special compression algorithm that only compresses continuous runs of zeros. " "This compression algorithm is only useful when the dataset contains large " "blocks of zeros." msgstr "" +"<emphasis><acronym>ZLE</acronym></emphasis> - 零長度編號是一個特殊的壓縮演算" +"法,它只會壓縮連續的零。這種壓縮演算法只在資料集中含有大量為零的資料區塊時有" +"用。" #. (itstool) path: row/entry -#: book.translate.xml:40998 +#: book.translate.xml:41052 msgid "" "Each dataset has a compression property, which defaults to off. This " "property can be set to one of a number of compression algorithms. This will " @@ -58422,15 +59560,19 @@ msgid "" "reduction in space used, read and write throughput often increases because " "fewer blocks are read or written. <_:itemizedlist-1/>" msgstr "" +"每個資料集都有壓縮 (Compression) 屬性,預設是關閉的,這個屬性可以設定使用以下" +"幾個壓縮演算法的其中一個來壓縮寫入到資料集的新資料。壓縮除了減少空間使用量" +"外,常也會增加讀取與寫入的吞吐量,因為會減少讀取與寫入的資料區塊。 <_:" +"itemizedlist-1/>" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-copies -#: book.translate.xml:41070 +#: book.translate.xml:41124 msgid "Copies" -msgstr "" +msgstr "備份數 (Copies)" #. (itstool) path: row/entry -#: book.translate.xml:41072 +#: book.translate.xml:41126 msgid "" "When set to a value greater than 1, the <literal>copies</literal> property " "instructs <acronym>ZFS</acronym> to maintain multiple copies of each block " @@ -58442,9 +59584,16 @@ msgid "" "recover from a single bad sector or other forms of minor corruption, but it " "does not protect the pool from the loss of an entire disk." msgstr "" +"當設定大於 1 的數值時,<literal>copies</literal> 屬性會指示 <acronym>ZFS</" +"acronym> 備份每個在檔案系統 (<link linkend=\"zfs-term-filesystem\">File " +"System</link>) 或磁碟區 (<link linkend=\"zfs-term-volume\">Volume</link>) 的" +"資料區塊數份。在重要的資料集上設定這個屬性可以做額外的備援以在資料校驗碼不相" +"符時可做復原。在沒有做備援的儲存池上,備份功能提供只是一種資料的備援方式,備" +"份功能可以復原單一壞軌或其他情況的次要損壞,但無法復原儲存池中整個磁碟損壞所" +"損失的資料。" #. (itstool) path: row/entry -#: book.translate.xml:41091 +#: book.translate.xml:41145 msgid "" "Checksums make it possible to detect duplicate blocks of data as they are " "written. With deduplication, the reference count of an existing, identical " @@ -58471,15 +59620,32 @@ msgid "" "and slower disks. Consider using compression instead, which often provides " "nearly as much space savings without the additional memory requirement." msgstr "" +"校驗碼讓在寫入時可以偵測重複資料區塊,使用去重複,可以增加既有、完全相同的資" +"料區塊參考數來節省儲存空間。要偵測重複的資料區塊需要在記憶體中儲存去重複資料" +"表 (Deduplication table, <acronym>DDT</acronym>),這個資料表中會有唯一的校驗" +"碼清單、這些資料區塊的所在位置以及參考數。當寫入新資料時,便會計算校驗碼然後" +"比對清單中是否有符合的既有資料區塊已在清單。去重複使用了 <acronym>SHA256</" +"acronym> 校驗碼演算法來提供一個安全的加密雜湊,去重複功能是可以調校的,若 " +"<literal>dedup</literal> 設為 <literal>on</literal> 只要符合校驗碼便會認為資" +"料完全相同,若 <literal>dedup</literal> 設為 <literal>verify</literal> 則會一" +"個一個位元檢查兩個資料區塊的資料來確保資料真的完全相同,若資料不同便會註記與" +"雜湊衝突並會分別儲存兩個資料區塊。由於 <acronym>DDT</acronym> 須要儲存每個唯" +"一資料區塊的雜湊,所以會消耗大量的記憶體,一般的經驗法則是每 1 TB 的去重複資" +"料需要使用 5-6 GB 的記憶體。由於要有足夠的 <acronym>RAM</acronym> 來儲存整個 " +"<acronym>DDT</acronym> 在實務上並不實際,導致在每個新資料區塊寫入前需要從磁碟" +"來讀取 <acronym>DDT</acronym> 會對效能有很大的影響,去重複功能可以使用 " +"<acronym>L2ARC</acronym> 儲存 <acronym>DDT</acronym> 以在快速的系統記憶體及較" +"慢的磁碟之間取得一個平衡點。也可以考慮使用壓縮功能來取代此功能,因為壓縮也能" +"節省相近的空間使用量而不需要大量額外的記憶體。" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-scrub -#: book.translate.xml:41129 +#: book.translate.xml:41183 msgid "Scrub" -msgstr "" +msgstr "清潔 (Scrub)" #. (itstool) path: row/entry -#: book.translate.xml:41131 +#: book.translate.xml:41185 msgid "" "Instead of a consistency check like <citerefentry><refentrytitle>fsck</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, <acronym>ZFS</" @@ -58497,15 +59663,26 @@ msgid "" "varname></link> to prevent the scrub from degrading the performance of other " "workloads on the pool." msgstr "" +"<acronym>ZFS</acronym> 有 <command>scrub</command> 來替代 " +"<citerefentry><refentrytitle>fsck</refentrytitle><manvolnum>8</manvolnum></" +"citerefentry> 來做一致性的檢查。<command>scrub</command> 會讀取所有儲存在儲存" +"池中的資料區塊並且根據儲存在 Metadata 中已知良好的校驗碼來檢驗這些資料區塊的" +"校驗碼,定期檢查儲存池中儲存的所有資料可以確保實際使用這些資料前已將所有損壞" +"的資料區塊復原。在不正常的關閉之後並不需要做清潔動作,但建議每三個月至少執行" +"一次。在正常使用讀取時便會檢查每個資料區塊的校驗碼,但清潔動作可以確保那些不" +"常用的資料也會被檢查以避免隱藏的損壞,如此便能增進資料的安全性,特別是對用來" +"保存資料的儲存裝置。<command>scrub</command> 可以使用 <link linkend=\"zfs-" +"advanced-tuning-scrub_delay\"><varname>vfs.zfs.scrub_delay</varname></link> " +"調整相對優先權來避免清潔動作降低儲存池上其他工作的效率。" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-quota -#: book.translate.xml:41151 +#: book.translate.xml:41205 msgid "Dataset Quota" -msgstr "" +msgstr "資料集配額 (Dataset Quota)" #. (itstool) path: entry/para -#: book.translate.xml:41160 +#: book.translate.xml:41214 msgid "" "<acronym>ZFS</acronym> supports different types of quotas: the dataset " "quota, the <link linkend=\"zfs-term-refquota\">reference quota " @@ -58513,24 +59690,32 @@ msgid "" "\">user quota</link>, and the <link linkend=\"zfs-term-groupquota\">group " "quota</link>." msgstr "" +"<acronym>ZFS</acronym> 支援幾種不同類型的配額:資料集配額、參考配額 (<link " +"linkend=\"zfs-term-refquota\">Reference quota, <acronym>refquota</acronym></" +"link>)、使用者配額 (<link linkend=\"zfs-term-userquota\">User quota</link>) " +"以及群組配額 (<link linkend=\"zfs-term-groupquota\">Group quota</link>)。" #. (itstool) path: entry/para -#: book.translate.xml:41168 +#: book.translate.xml:41222 msgid "" "Quotas limit the amount of space that a dataset and all of its descendants, " "including snapshots of the dataset, child datasets, and the snapshots of " "those datasets, can consume." msgstr "" +"配額會限制資料集及後裔包含資料集的快照、子資料集及子資料集的快照能使用的空間" +"量。" #. (itstool) path: note/para -#: book.translate.xml:41174 +#: book.translate.xml:41228 msgid "" "Quotas cannot be set on volumes, as the <literal>volsize</literal> property " "acts as an implicit quota." msgstr "" +"磁碟區上無法設定配額,因為 <literal>volsize</literal> 屬性已經被用來做內定的" +"配額。" #. (itstool) path: row/entry -#: book.translate.xml:41153 +#: book.translate.xml:41207 msgid "" "<acronym>ZFS</acronym> provides very fast and accurate dataset, user, and " "group space accounting in addition to quotas and space reservations. This " @@ -58538,65 +59723,73 @@ msgid "" "allows space to be reserved for critical file systems. <_:para-1/> <_:para-2/" "> <_:note-3/>" msgstr "" +"除了配額及空間保留外,<acronym>ZFS</acronym> 提供非常快速且準確的資料集、使用" +"者及群組空間的計算功能,這可讓管理者調整空間配置的方式且可為重要的檔案系統保" +"留空間。 <_:para-1/> <_:para-2/> <_:note-3/>" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-refquota -#: book.translate.xml:41181 +#: book.translate.xml:41235 msgid "Reference Quota" -msgstr "" +msgstr "參考配額 (Reference Quota)" #. (itstool) path: row/entry -#: book.translate.xml:41184 +#: book.translate.xml:41238 msgid "" "A reference quota limits the amount of space a dataset can consume by " "enforcing a hard limit. However, this hard limit includes only space that " "the dataset references and does not include space used by descendants, such " "as file systems or snapshots." msgstr "" +"參考配額可以設定一個硬性限制 (Hard limit) 來限制資料集能使用的空間量,而這個" +"硬性限制只包含了資料集參考的空間,並不含其後裔所使用的空間,如:檔案系統或快" +"照。" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-userquota -#: book.translate.xml:41192 +#: book.translate.xml:41246 msgid "User Quota" -msgstr "" +msgstr "使用者配額 (User Quota)" #. (itstool) path: row/entry -#: book.translate.xml:41195 +#: book.translate.xml:41249 msgid "" "User quotas are useful to limit the amount of space that can be used by the " "specified user." -msgstr "" +msgstr "使用者配額在用來限制特定使用者能使用的空間量時非常有用。" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-groupquota -#: book.translate.xml:41200 +#: book.translate.xml:41254 msgid "Group Quota" -msgstr "" +msgstr "群組配額 (Group Quota)" #. (itstool) path: row/entry -#: book.translate.xml:41203 +#: book.translate.xml:41257 msgid "" "The group quota limits the amount of space that a specified group can " "consume." -msgstr "" +msgstr "群組配額可以限制特定群組能使用的空間量。" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-reservation -#: book.translate.xml:41208 +#: book.translate.xml:41262 msgid "Dataset Reservation" -msgstr "" +msgstr "資料集保留空間 (Dataset Reservation)" #. (itstool) path: entry/para -#: book.translate.xml:41226 +#: book.translate.xml:41280 msgid "" "Reservations of any sort are useful in many situations, such as planning and " "testing the suitability of disk space allocation in a new system, or " "ensuring that enough space is available on file systems for audio logs or " "system recovery procedures and files." msgstr "" +"不管那一種保留空間在許多情境皆很有用,例如:要規劃與測試磁碟空間配置在新系統" +"上的適應性,或是確保有足夠的空間供稽查日誌或系統還原程序及檔案使用。" #. (itstool) path: row/entry -#: book.translate.xml:41211 +#: book.translate.xml:41265 msgid "" "The <literal>reservation</literal> property makes it possible to guarantee a " "minimum amount of space for a specific dataset and its descendants. If a " @@ -58608,15 +59801,22 @@ msgid "" "\"><literal>refreservation</literal></link> property works in a similar way, " "but it <emphasis>excludes</emphasis> descendants like snapshots. <_:para-1/>" msgstr "" +"<literal>reservation</literal> 屬性可以確保對特定資料集及其後裔最小可用的空間" +"量,若在 <filename>storage/home/bob</filename> 設定 10 GB 的保留空間且其他資" +"料集嘗試使用所有剩餘的空間時,會保留至少 10 GB 的空間供這個資料集使用。若要製" +"作 <filename>storage/home/bob</filename> 的快照,該快照所使用的空間也會被列入" +"保留空間計算。 <link linkend=\"zfs-term-refreservation" +"\"><literal>refreservation</literal></link> 屬性也以類似的方式運作,但是他 " +"<emphasis>不包含</emphasis> 後裔,例如:快照。 <_:para-1/>" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-refreservation -#: book.translate.xml:41236 +#: book.translate.xml:41290 msgid "Reference Reservation" -msgstr "" +msgstr "參考保留空間 (Reference Reservation)" #. (itstool) path: row/entry -#: book.translate.xml:41239 +#: book.translate.xml:41293 msgid "" "The <literal>refreservation</literal> property makes it possible to " "guarantee a minimum amount of space for the use of a specific dataset " @@ -58632,44 +59832,59 @@ msgid "" "the <literal>refreservation</literal> amount and so do not encroach on the " "space set." msgstr "" +"<literal>refreservation</literal> 屬性可以確保對特定資料集 <emphasis>不包含</" +"emphasis> 其後裔最小可用的空間,這代表若在 <filename>storage/home/bob</" +"filename> 設定 10 GB 的保留空間且其他資料集嘗試使用所有剩餘的空間時,會保留至" +"少 10 GB 的空間供這個資料集使用。於正常 <link linkend=\"zfs-term-reservation" +"\">reservation</link> 不同的是,由快照及後裔資料集所使用的空間並不會列入保留" +"空間計算。例如,若要製作一個 <filename>storage/home/bob</filename> 的快照," +"在 <literal>refreservation</literal> 空間之外必須要有足夠的空間才能成功完成這" +"項操作,主資料集的後裔並不會列入 <literal>refreservation</literal> 空間額計" +"算,所以也不會佔用保留空間。" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-resilver -#: book.translate.xml:41261 +#: book.translate.xml:41315 msgid "Resilver" -msgstr "" +msgstr "修復 (Resilver)" #. (itstool) path: row/entry -#: book.translate.xml:41263 +#: book.translate.xml:41317 msgid "" "When a disk fails and is replaced, the new disk must be filled with the data " "that was lost. The process of using the parity information distributed " "across the remaining drives to calculate and write the missing data to the " "new drive is called <emphasis>resilvering</emphasis>." msgstr "" +"當有磁碟故障且被更換後,新的磁碟必須回存先前所遺失的資料,會使用分散在其他磁" +"碟上的奇偶校驗資訊來計算並寫入遺失的資料到新的磁碟機的這個程序稱作 <emphasis>" +"修復 (Resilvering)</emphasis>。" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-online -#: book.translate.xml:41272 +#: book.translate.xml:41326 msgid "Online" -msgstr "" +msgstr "上線 (Online)" #. (itstool) path: row/entry -#: book.translate.xml:41274 +#: book.translate.xml:41328 msgid "" "A pool or vdev in the <literal>Online</literal> state has all of its member " "devices connected and fully operational. Individual devices in the " "<literal>Online</literal> state are functioning normally." msgstr "" +"一個儲存池或 vdev 處於線上 (<literal>Online</literal>) 狀態時代表所有該裝置的" +"成員均已連結且正常運作。個別裝置處於線上 (<literal>Online</literal>) 狀態時代" +"表功能正常。" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-offline -#: book.translate.xml:41282 +#: book.translate.xml:41336 msgid "Offline" -msgstr "" +msgstr "離線 (Offline)" #. (itstool) path: row/entry -#: book.translate.xml:41284 +#: book.translate.xml:41338 msgid "" "Individual devices can be put in an <literal>Offline</literal> state by the " "administrator if there is sufficient redundancy to avoid putting the pool or " @@ -58677,15 +59892,19 @@ msgid "" "administrator may choose to offline a disk in preparation for replacing it, " "or to make it easier to identify." msgstr "" +"若有足夠的備援可避免儲存池或 vdev 進入故障 (<link linkend=\"zfs-term-faulted" +"\">Faulted</link>) 狀態,個別裝置若可由管理者設為離線 (<literal>Offline</" +"literal>) 狀態,管理者可以選擇要設定那一個磁碟為離線來準備更換或是讓其更容易" +"辨識。" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-degraded -#: book.translate.xml:41295 +#: book.translate.xml:41349 msgid "Degraded" -msgstr "" +msgstr "降級 (Degraded)" #. (itstool) path: row/entry -#: book.translate.xml:41297 +#: book.translate.xml:41351 msgid "" "A pool or vdev in the <literal>Degraded</literal> state has one or more " "disks that have been disconnected or have failed. The pool is still usable, " @@ -58695,15 +59914,20 @@ msgid "" "the reconnected or new device has completed the <link linkend=\"zfs-term-" "resilver\">Resilver</link> process." msgstr "" +"一個儲存池或 vdev 處於降級 (<literal>Degraded</literal>) 狀態代表其有一個或多" +"個磁碟已斷線或故障,此時儲存池仍可以使用,但只要再有其他的裝置故障,儲存池會" +"無法復原。重新連線缺少的裝置或更換故障的磁碟,並在新裝置完成修復 (<link " +"linkend=\"zfs-term-resilver\">Resilver</link>) 程序可讓儲存池返回線上 (<link " +"linkend=\"zfs-term-online\">Online</link>) 狀態。" #. (itstool) path: row/entry #. (itstool) id: book.translate.xml#zfs-term-faulted -#: book.translate.xml:41310 +#: book.translate.xml:41364 msgid "Faulted" -msgstr "" +msgstr "故障 (Faulted)" #. (itstool) path: row/entry -#: book.translate.xml:41312 +#: book.translate.xml:41366 msgid "" "A pool or vdev in the <literal>Faulted</literal> state is no longer " "operational. The data on it can no longer be accessed. A pool or vdev enters " @@ -58714,24 +59938,30 @@ msgid "" "for the number of failed disks, then the contents of the pool are lost and " "must be restored from backups." msgstr "" +"一個儲存池或 vdev 處於故障 (<literal>Faulted</literal>) 狀態代表無法運作,會" +"無法存取在該裝置上的資料。當在 vdev 中缺少或故障的裝置數超過備援的層級,儲存" +"池或 vdev 會進入故障 (<literal>Faulted</literal>) 狀態。若缺少的裝置可以重新" +"連結上,儲存池便會返回線上 (<link linkend=\"zfs-term-online\">Online</link>) " +"狀態。若沒有足夠的備援可補償故障的磁碟數量便會遺失儲存池中的內容且只能從備份" +"還原。" #. (itstool) path: info/title -#: book.translate.xml:41337 +#: book.translate.xml:41391 msgid "Other File Systems" msgstr "其他檔案系統" #. (itstool) path: sect1/indexterm -#: book.translate.xml:41348 +#: book.translate.xml:41402 msgid "<primary>File Systems</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:41349 +#: book.translate.xml:41403 msgid "<primary>File Systems Support</primary> <see>File Systems</see>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:41354 +#: book.translate.xml:41408 msgid "" "File systems are an integral part of any operating system. They allow users " "to upload and store files, provide access to data, and make hard drives " @@ -58744,7 +59974,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:41364 +#: book.translate.xml:41418 msgid "" "In addition to its native file systems, FreeBSD supports a multitude of " "other file systems so that data from other operating systems can be accessed " @@ -58755,7 +59985,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:41372 +#: book.translate.xml:41426 msgid "" "There are different levels of FreeBSD support for the various file systems. " "Some require a kernel module to be loaded and others may require a toolset " @@ -58764,56 +59994,56 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:41382 +#: book.translate.xml:41436 msgid "The difference between native and supported file systems." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:41387 +#: book.translate.xml:41441 msgid "Which file systems are supported by FreeBSD." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:41391 +#: book.translate.xml:41445 msgid "" "How to enable, configure, access, and make use of non-native file systems." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:41400 +#: book.translate.xml:41454 msgid "" "Understand <trademark class=\"registered\">UNIX</trademark> and <link " "linkend=\"basics\">FreeBSD basics</link>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:41405 +#: book.translate.xml:41459 msgid "" "Be familiar with the basics of <link linkend=\"kernelconfig\">kernel " "configuration and compilation</link>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:41410 +#: book.translate.xml:41464 msgid "" "Feel comfortable <link linkend=\"ports\">installing software</link> in " "FreeBSD." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:41415 +#: book.translate.xml:41469 msgid "" "Have some familiarity with <link linkend=\"disks\">disks</link>, storage, " "and device names in FreeBSD." msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:41422 +#: book.translate.xml:41476 msgid "<trademark class=\"registered\">Linux</trademark> File Systems" msgstr "<trademark class=\"registered\">Linux</trademark> 檔案系統" #. (itstool) path: sect1/para -#: book.translate.xml:41424 +#: book.translate.xml:41478 msgid "" "FreeBSD provides built-in support for several <trademark class=\"registered" "\">Linux</trademark> file systems. This section demonstrates how to load " @@ -58822,12 +60052,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:41429 +#: book.translate.xml:41483 msgid "<acronym>ext2</acronym>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:41431 +#: book.translate.xml:41485 msgid "" "Kernel support for ext2 file systems has been available since FreeBSD 2.2. " "In FreeBSD 8.x and earlier, the code is licensed under the <acronym>GPL</" @@ -58836,7 +60066,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:41438 +#: book.translate.xml:41492 msgid "" "The <citerefentry><refentrytitle>ext2fs</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> driver allows the FreeBSD kernel to both read and " @@ -58844,7 +60074,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:41442 +#: book.translate.xml:41496 msgid "" "This driver can also be used to access ext3 and ext4 file systems. However, " "ext3 journaling and extended attributes are not supported. Support for ext4 " @@ -58852,18 +60082,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:41448 +#: book.translate.xml:41502 msgid "To access an ext file system, first load the kernel loadable module:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:41451 +#: book.translate.xml:41505 #, no-wrap msgid "<prompt>#</prompt> <userinput>kldload ext2fs</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:41453 +#: book.translate.xml:41507 msgid "" "Then, mount the ext volume by specifying its FreeBSD partition name and an " "existing mount point. This example mounts <filename>/dev/ad1s1</filename> on " @@ -58871,68 +60101,68 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:41458 +#: book.translate.xml:41512 #, no-wrap msgid "<prompt>#</prompt> <userinput>mount -t ext2fs <replaceable>/dev/ad1s1</replaceable> <replaceable>/mnt</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:41462 +#: book.translate.xml:41516 msgid "ReiserFS" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:41464 +#: book.translate.xml:41518 msgid "" "FreeBSD provides read-only support for The Reiser file system, ReiserFS." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:41467 +#: book.translate.xml:41521 msgid "" "To load the <citerefentry><refentrytitle>reiserfs</" "refentrytitle><manvolnum>5</manvolnum></citerefentry> driver:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:41469 +#: book.translate.xml:41523 #, no-wrap msgid "<prompt>#</prompt> <userinput>kldload reiserfs</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:41471 +#: book.translate.xml:41525 msgid "" "Then, to mount a ReiserFS volume located on <filename>/dev/ad1s1</filename>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:41474 +#: book.translate.xml:41528 #, no-wrap msgid "<prompt>#</prompt> <userinput>mount -t reiserfs <replaceable>/dev/ad1s1</replaceable> <replaceable>/mnt</replaceable></userinput>" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:41529 +#: book.translate.xml:41583 msgid "Virtualization" msgstr "虛擬化" #. (itstool) path: authorgroup/author -#: book.translate.xml:41532 book.translate.xml:56591 +#: book.translate.xml:41586 book.translate.xml:56645 msgid "" "<personname> <firstname>Murray</firstname> <surname>Stokely</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:41542 +#: book.translate.xml:41596 msgid "" "<personname> <firstname>Allan</firstname> <surname>Jude</surname> </" "personname> <contrib>bhyve section by </contrib>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:41555 +#: book.translate.xml:41609 msgid "" "Virtualization software allows multiple operating systems to run " "simultaneously on the same computer. Such software systems for <acronym>PC</" @@ -58944,13 +60174,13 @@ msgstr "" "安裝在其中的客端 (Guest) 作業系統。" #. (itstool) path: listitem/para -#: book.translate.xml:41565 +#: book.translate.xml:41619 msgid "" "The difference between a host operating system and a guest operating system." msgstr "主端作業系統及客端作業系統的差別。" #. (itstool) path: listitem/para -#: book.translate.xml:41570 +#: book.translate.xml:41624 msgid "" "How to install FreeBSD on an <trademark class=\"registered\">Intel</" "trademark>-based <trademark class=\"registered\">Apple</trademark> " @@ -58961,7 +60191,7 @@ msgstr "" "trademark> 電腦安裝 FreeBSD 。" #. (itstool) path: listitem/para -#: book.translate.xml:41575 +#: book.translate.xml:41629 msgid "" "How to install FreeBSD on <trademark class=\"registered\">Microsoft</" "trademark> <trademark class=\"registered\">Windows</trademark> with " @@ -58972,45 +60202,45 @@ msgstr "" "application> 安裝 FreeBSD。" #. (itstool) path: listitem/para -#: book.translate.xml:41580 +#: book.translate.xml:41634 msgid "How to install FreeBSD as a guest in <application>bhyve</application>." msgstr "如何以 FreeBSD 作為客端安裝在 <application>bhyve</application>。" #. (itstool) path: listitem/para -#: book.translate.xml:41585 +#: book.translate.xml:41639 msgid "How to tune a FreeBSD system for best performance under virtualization." msgstr "如何調校 FreeBSD 系統來取得虛擬化的最佳效能。" #. (itstool) path: listitem/para -#: book.translate.xml:41595 +#: book.translate.xml:41649 msgid "" "Understand the <link linkend=\"basics\">basics of <trademark class=" "\"registered\">UNIX</trademark> and FreeBSD</link>." msgstr "" -"了解<link linkend=\"basics\"><trademark class=\"registered\">UNIX</" +"了解 <link linkend=\"basics\"><trademark class=\"registered\">UNIX</" "trademark> 與 FreeBSD 的基礎</link>。" #. (itstool) path: listitem/para -#: book.translate.xml:41600 +#: book.translate.xml:41654 msgid "Know how to <link linkend=\"bsdinstall\">install FreeBSD</link>." msgstr "知道如何<link linkend=\"bsdinstall\">安裝 FreeBSD</link>。" #. (itstool) path: listitem/para -#: book.translate.xml:41605 +#: book.translate.xml:41659 msgid "" "Know how to <link linkend=\"advanced-networking\">set up a network " "connection</link>." msgstr "知道如何<link linkend=\"advanced-networking\">設定網路連線</link>。" #. (itstool) path: listitem/para -#: book.translate.xml:41610 +#: book.translate.xml:41664 msgid "" "Know how to <link linkend=\"ports\">install additional third-party software</" "link>." msgstr "知道如何<link linkend=\"ports\">安裝其他第三方軟體</link>。" #. (itstool) path: sect1/title -#: book.translate.xml:41617 +#: book.translate.xml:41671 msgid "" "FreeBSD as a Guest on <application>Parallels</application> for <trademark " "class=\"registered\">Mac OS</trademark> X" @@ -59019,7 +60249,7 @@ msgstr "" "<application>Parallels</application> 安裝 FreeBSD 為客端" #. (itstool) path: sect1/para -#: book.translate.xml:41620 +#: book.translate.xml:41674 msgid "" "<application>Parallels Desktop</application> for <trademark class=" "\"registered\">Mac</trademark> is a commercial software product available " @@ -59042,7 +60272,7 @@ msgstr "" "必先完成虛擬機器的設定後才可安裝想使用的客端作業系統。" #. (itstool) path: sect2/title -#: book.translate.xml:41629 +#: book.translate.xml:41683 msgid "" "Installing FreeBSD on Parallels/<trademark class=\"registered\">Mac OS</" "trademark> X" @@ -59051,7 +60281,7 @@ msgstr "" "FreeBSD" #. (itstool) path: sect2/para -#: book.translate.xml:41631 +#: book.translate.xml:41685 msgid "" "The first step in installing FreeBSD on <application>Parallels</application> " "is to create a new virtual machine for installing FreeBSD. Select " @@ -59067,13 +60297,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41639 +#: book.translate.xml:41693 msgctxt "_" msgid "external ref='virtualization/parallels-freebsd1' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:41643 +#: book.translate.xml:41697 msgid "" "Choose a reasonable amount of disk and memory depending on the plans for " "this virtual FreeBSD instance. 4GB of disk space and 512MB of RAM work well " @@ -59088,7 +60318,7 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41650 +#: book.translate.xml:41704 msgctxt "_" msgid "external ref='virtualization/parallels-freebsd2' md5='__failed__'" msgstr "" @@ -59098,7 +60328,7 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41656 +#: book.translate.xml:41710 msgctxt "_" msgid "external ref='virtualization/parallels-freebsd3' md5='__failed__'" msgstr "" @@ -59108,7 +60338,7 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41662 +#: book.translate.xml:41716 msgctxt "_" msgid "external ref='virtualization/parallels-freebsd4' md5='__failed__'" msgstr "" @@ -59118,13 +60348,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41668 +#: book.translate.xml:41722 msgctxt "_" msgid "external ref='virtualization/parallels-freebsd5' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:41672 +#: book.translate.xml:41726 msgid "Select the type of networking and a network interface:" msgstr "選擇網路類型以及網路介面:" @@ -59133,7 +60363,7 @@ msgstr "選擇網路類型以及網路介面:" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41677 +#: book.translate.xml:41731 msgctxt "_" msgid "external ref='virtualization/parallels-freebsd6' md5='__failed__'" msgstr "" @@ -59143,13 +60373,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41683 +#: book.translate.xml:41737 msgctxt "_" msgid "external ref='virtualization/parallels-freebsd7' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:41687 book.translate.xml:41871 +#: book.translate.xml:41741 book.translate.xml:41925 msgid "Save and finish the configuration:" msgstr "儲存並完成設定:" @@ -59158,7 +60388,7 @@ msgstr "儲存並完成設定:" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41691 +#: book.translate.xml:41745 msgctxt "_" msgid "external ref='virtualization/parallels-freebsd8' md5='__failed__'" msgstr "" @@ -59168,13 +60398,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41697 +#: book.translate.xml:41751 msgctxt "_" msgid "external ref='virtualization/parallels-freebsd9' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:41701 +#: book.translate.xml:41755 msgid "" "After the FreeBSD virtual machine has been created, FreeBSD can be installed " "on it. This is best done with an official FreeBSD <acronym>CD</acronym>/" @@ -59206,13 +60436,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41718 +#: book.translate.xml:41772 msgctxt "_" msgid "external ref='virtualization/parallels-freebsd11' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:41722 +#: book.translate.xml:41776 msgid "" "Once this association with the <acronym>CD-ROM</acronym> source has been " "made, reboot the FreeBSD virtual machine by clicking the reboot icon. " @@ -59229,13 +60459,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41731 +#: book.translate.xml:41785 msgctxt "_" msgid "external ref='virtualization/parallels-freebsd10' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:41735 +#: book.translate.xml:41789 msgid "" "In this case it will find the FreeBSD installation media and begin a normal " "FreeBSD installation. Perform the installation, but do not attempt to " @@ -59249,13 +60479,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41742 +#: book.translate.xml:41796 msgctxt "_" msgid "external ref='virtualization/parallels-freebsd12' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:41746 +#: book.translate.xml:41800 msgid "" "When the installation is finished, reboot into the newly installed FreeBSD " "virtual machine." @@ -59266,18 +60496,18 @@ msgstr "當安裝完成後,重新開機將會進入新安裝的 FreeBSD 虛擬 #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41751 +#: book.translate.xml:41805 msgctxt "_" msgid "external ref='virtualization/parallels-freebsd13' md5='__failed__'" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:41757 +#: book.translate.xml:41811 msgid "Configuring FreeBSD on <application>Parallels</application>" msgstr "在 <application>Parallels</application> 設定 FreeBSD" #. (itstool) path: sect2/para -#: book.translate.xml:41760 +#: book.translate.xml:41814 msgid "" "After FreeBSD has been successfully installed on <trademark class=" "\"registered\">Mac OS</trademark> X with <application>Parallels</" @@ -59289,12 +60519,12 @@ msgstr "" "在虛擬機器上的運作。" #. (itstool) path: step/title -#: book.translate.xml:41767 book.translate.xml:41972 book.translate.xml:42176 +#: book.translate.xml:41821 book.translate.xml:42026 book.translate.xml:42230 msgid "Set Boot Loader Variables" msgstr "設定 Boot Loader 變數" #. (itstool) path: step/para -#: book.translate.xml:41769 +#: book.translate.xml:41823 msgid "" "The most important step is to reduce the <option>kern.hz</option> tunable to " "reduce the CPU utilization of FreeBSD under the <application>Parallels</" @@ -59306,13 +60536,13 @@ msgstr "" "<filename>/boot/loader.conf</filename> 來完成這個動作:" #. (itstool) path: step/programlisting -#: book.translate.xml:41776 book.translate.xml:41981 book.translate.xml:42185 +#: book.translate.xml:41830 book.translate.xml:42035 book.translate.xml:42239 #, no-wrap msgid "kern.hz=100" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:41778 +#: book.translate.xml:41832 msgid "" "Without this setting, an idle FreeBSD <application>Parallels</application> " "guest will use roughly 15% of the CPU of a single processor <trademark class=" @@ -59324,12 +60554,12 @@ msgstr "" "15% 的 CPU。完成此更改後使用率會減至接近 5%。" #. (itstool) path: step/title -#: book.translate.xml:41785 book.translate.xml:41991 book.translate.xml:42194 +#: book.translate.xml:41839 book.translate.xml:42045 book.translate.xml:42248 msgid "Create a New Kernel Configuration File" msgstr "建立新核心設定檔" #. (itstool) path: step/para -#: book.translate.xml:41787 +#: book.translate.xml:41841 msgid "" "All of the SCSI, FireWire, and USB device drivers can be removed from a " "custom kernel configuration file. <application>Parallels</application> " @@ -59350,12 +60580,12 @@ msgstr "" "citerefentry> 外的所有網路裝置可以自核心中移除。" #. (itstool) path: step/title -#: book.translate.xml:41796 book.translate.xml:42002 book.translate.xml:42205 +#: book.translate.xml:41850 book.translate.xml:42056 book.translate.xml:42259 msgid "Configure Networking" msgstr "設定網路" #. (itstool) path: step/para -#: book.translate.xml:41798 +#: book.translate.xml:41852 msgid "" "The most basic networking setup uses DHCP to connect the virtual machine to " "the same local area network as the host <trademark class=\"registered\">Mac</" @@ -59370,7 +60600,7 @@ msgstr "" "中描述。" #. (itstool) path: sect1/title -#: book.translate.xml:41811 +#: book.translate.xml:41865 msgid "" "FreeBSD as a Guest on <application>Virtual PC</application> for <trademark " "class=\"registered\">Windows</trademark>" @@ -59379,7 +60609,7 @@ msgstr "" "<application>Virtual PC</application> 安裝 FreeBSD 為客端" #. (itstool) path: sect1/para -#: book.translate.xml:41814 +#: book.translate.xml:41868 msgid "" "<application>Virtual PC</application> for <trademark class=\"registered" "\">Windows</trademark> is a <trademark class=\"registered\">Microsoft</" @@ -59401,12 +60631,12 @@ msgstr "" "的客端作業系統。" #. (itstool) path: sect2/title -#: book.translate.xml:41823 +#: book.translate.xml:41877 msgid "Installing FreeBSD on <application>Virtual PC</application>" msgstr "在 <application>Virtual PC</application> 安裝 FreeBSD " #. (itstool) path: sect2/para -#: book.translate.xml:41826 +#: book.translate.xml:41880 msgid "" "The first step in installing FreeBSD on <application>Virtual PC</" "application> is to create a new virtual machine for installing FreeBSD. " @@ -59421,7 +60651,7 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41834 +#: book.translate.xml:41888 msgctxt "_" msgid "external ref='virtualization/virtualpc-freebsd1' md5='__failed__'" msgstr "" @@ -59431,13 +60661,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41840 +#: book.translate.xml:41894 msgctxt "_" msgid "external ref='virtualization/virtualpc-freebsd2' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:41844 +#: book.translate.xml:41898 msgid "" "Select <guimenuitem>Other</guimenuitem> as the <guimenuitem>Operating " "system</guimenuitem> when prompted:" @@ -59450,13 +60680,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41850 +#: book.translate.xml:41904 msgctxt "_" msgid "external ref='virtualization/virtualpc-freebsd3' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:41854 +#: book.translate.xml:41908 msgid "" "Then, choose a reasonable amount of disk and memory depending on the plans " "for this virtual FreeBSD instance. 4GB of disk space and 512MB of RAM work " @@ -59471,7 +60701,7 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41861 +#: book.translate.xml:41915 msgctxt "_" msgid "external ref='virtualization/virtualpc-freebsd4' md5='__failed__'" msgstr "" @@ -59481,7 +60711,7 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41867 +#: book.translate.xml:41921 msgctxt "_" msgid "external ref='virtualization/virtualpc-freebsd5' md5='__failed__'" msgstr "" @@ -59491,13 +60721,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41875 +#: book.translate.xml:41929 msgctxt "_" msgid "external ref='virtualization/virtualpc-freebsd6' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:41879 +#: book.translate.xml:41933 msgid "" "Select the FreeBSD virtual machine and click <guimenu>Settings</guimenu>, " "then set the type of networking and a network interface:" @@ -59510,7 +60740,7 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41885 +#: book.translate.xml:41939 msgctxt "_" msgid "external ref='virtualization/virtualpc-freebsd7' md5='__failed__'" msgstr "" @@ -59520,13 +60750,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41891 +#: book.translate.xml:41945 msgctxt "_" msgid "external ref='virtualization/virtualpc-freebsd8' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:41895 +#: book.translate.xml:41949 msgid "" "After the FreeBSD virtual machine has been created, FreeBSD can be installed " "on it. This is best done with an official FreeBSD <acronym>CD</acronym>/" @@ -59558,7 +60788,7 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41913 +#: book.translate.xml:41967 msgctxt "_" msgid "external ref='virtualization/virtualpc-freebsd9' md5='__failed__'" msgstr "" @@ -59568,13 +60798,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41919 +#: book.translate.xml:41973 msgctxt "_" msgid "external ref='virtualization/virtualpc-freebsd10' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:41923 +#: book.translate.xml:41977 msgid "" "Once this association with the <acronym>CD-ROM</acronym> source has been " "made, reboot the FreeBSD virtual machine by clicking <guimenu>Action</" @@ -59592,13 +60822,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41933 +#: book.translate.xml:41987 msgctxt "_" msgid "external ref='virtualization/virtualpc-freebsd11' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:41937 +#: book.translate.xml:41991 msgid "" "In this case it will find the FreeBSD installation media and begin a normal " "FreeBSD installation. Continue with the installation, but do not attempt to " @@ -59612,13 +60842,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41944 +#: book.translate.xml:41998 msgctxt "_" msgid "external ref='virtualization/virtualpc-freebsd12' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:41948 +#: book.translate.xml:42002 msgid "" "When the installation is finished, remember to eject the <acronym>CD</" "acronym>/<acronym>DVD</acronym> or release the <acronym>ISO</acronym> image. " @@ -59632,18 +60862,18 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:41955 +#: book.translate.xml:42009 msgctxt "_" msgid "external ref='virtualization/virtualpc-freebsd13' md5='__failed__'" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:41961 +#: book.translate.xml:42015 msgid "Configuring FreeBSD on <application>Virtual PC</application>" msgstr "在 <application>Virtual PC</application> 設定 FreeBSD" #. (itstool) path: sect2/para -#: book.translate.xml:41964 +#: book.translate.xml:42018 msgid "" "After FreeBSD has been successfully installed on <trademark class=" "\"registered\">Microsoft</trademark> <trademark class=\"registered" @@ -59657,7 +60887,7 @@ msgstr "" "虛擬機器上的運作。" #. (itstool) path: step/para -#: book.translate.xml:41974 +#: book.translate.xml:42028 msgid "" "The most important step is to reduce the <option>kern.hz</option> tunable to " "reduce the CPU utilization of FreeBSD under the <application>Virtual PC</" @@ -59669,7 +60899,7 @@ msgstr "" "幾行到 <filename>/boot/loader.conf</filename> 來完成:" #. (itstool) path: step/para -#: book.translate.xml:41983 +#: book.translate.xml:42037 msgid "" "Without this setting, an idle FreeBSD <application>Virtual PC</application> " "guest OS will use roughly 40% of the CPU of a single processor computer. " @@ -59679,7 +60909,7 @@ msgstr "" "OS 會消耗掉單一處理器的電腦 40% 的 CPU。完成此更改後使用率會減至接近 3%。" #. (itstool) path: step/para -#: book.translate.xml:41993 +#: book.translate.xml:42047 msgid "" "All of the SCSI, FireWire, and USB device drivers can be removed from a " "custom kernel configuration file. <application>Virtual PC</application> " @@ -59700,7 +60930,7 @@ msgstr "" "citerefentry> 外的所有網路裝置可以自核心中移除。" #. (itstool) path: step/para -#: book.translate.xml:42004 +#: book.translate.xml:42058 msgid "" "The most basic networking setup uses DHCP to connect the virtual machine to " "the same local area network as the <trademark class=\"registered" @@ -59716,7 +60946,7 @@ msgstr "" "設定在 <xref linkend=\"advanced-networking\"/> 中描述。" #. (itstool) path: sect1/title -#: book.translate.xml:42017 +#: book.translate.xml:42071 msgid "" "FreeBSD as a Guest on <application>VMware Fusion</application> for " "<trademark class=\"registered\">Mac OS</trademark>" @@ -59725,7 +60955,7 @@ msgstr "" "Fusion</application> 安裝 FreeBSD 為客端" #. (itstool) path: sect1/para -#: book.translate.xml:42020 +#: book.translate.xml:42074 msgid "" "<application>VMware Fusion</application> for <trademark class=\"registered" "\">Mac</trademark> is a commercial software product available for <trademark " @@ -59746,12 +60976,12 @@ msgstr "" "application> 後,使用者必先完成虛擬機器的設定後才可安裝想使用的客端作業系統。" #. (itstool) path: sect2/title -#: book.translate.xml:42029 +#: book.translate.xml:42083 msgid "Installing FreeBSD on <application>VMware Fusion</application>" msgstr "在 <application>VMware Fusion</application> 安裝 FreeBSD" #. (itstool) path: sect2/para -#: book.translate.xml:42032 +#: book.translate.xml:42086 msgid "" "The first step is to start <application>VMware Fusion</application> which " "will load the Virtual Machine Library. Click <guimenuitem>New</guimenuitem> " @@ -59765,13 +60995,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:42039 +#: book.translate.xml:42093 msgctxt "_" msgid "external ref='virtualization/vmware-freebsd01' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42043 +#: book.translate.xml:42097 msgid "" "This will load the New Virtual Machine Assistant. Click " "<guimenuitem>Continue</guimenuitem> to proceed:" @@ -59784,13 +61014,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:42048 +#: book.translate.xml:42102 msgctxt "_" msgid "external ref='virtualization/vmware-freebsd02' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42052 +#: book.translate.xml:42106 msgid "" "Select <guimenuitem>Other</guimenuitem> as the <guimenuitem>Operating " "System</guimenuitem> and either <guimenuitem>FreeBSD</guimenuitem> or " @@ -59807,13 +61037,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:42060 +#: book.translate.xml:42114 msgctxt "_" msgid "external ref='virtualization/vmware-freebsd03' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42064 +#: book.translate.xml:42118 msgid "" "Choose the name of the virtual machine and the directory where it should be " "saved:" @@ -59824,13 +61054,13 @@ msgstr "選擇虛擬機器要使用的名稱以及要儲存目錄位置:" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:42069 +#: book.translate.xml:42123 msgctxt "_" msgid "external ref='virtualization/vmware-freebsd04' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42073 +#: book.translate.xml:42127 msgid "Choose the size of the Virtual Hard Disk for the virtual machine:" msgstr "選擇虛擬機器的 Virtual Hard Disk 大小:" @@ -59839,13 +61069,13 @@ msgstr "選擇虛擬機器的 Virtual Hard Disk 大小:" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:42078 +#: book.translate.xml:42132 msgctxt "_" msgid "external ref='virtualization/vmware-freebsd05' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42082 +#: book.translate.xml:42136 msgid "" "Choose the method to install the virtual machine, either from an " "<acronym>ISO</acronym> image or from a <acronym>CD</acronym>/<acronym>DVD</" @@ -59859,13 +61089,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:42088 +#: book.translate.xml:42142 msgctxt "_" msgid "external ref='virtualization/vmware-freebsd06' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42092 +#: book.translate.xml:42146 msgid "" "Click <guimenuitem>Finish</guimenuitem> and the virtual machine will boot:" msgstr "點選 <guimenuitem>Finish</guimenuitem> 接著虛擬機器會開機:" @@ -59875,13 +61105,13 @@ msgstr "點選 <guimenuitem>Finish</guimenuitem> 接著虛擬機器會開機:" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:42097 +#: book.translate.xml:42151 msgctxt "_" msgid "external ref='virtualization/vmware-freebsd07' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42101 +#: book.translate.xml:42155 msgid "Install FreeBSD as usual:" msgstr "照往常方式安裝 FreeBSD:" @@ -59890,20 +61120,20 @@ msgstr "照往常方式安裝 FreeBSD:" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:42105 +#: book.translate.xml:42159 msgctxt "_" msgid "external ref='virtualization/vmware-freebsd08' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42109 +#: book.translate.xml:42163 msgid "" "Once the install is complete, the settings of the virtual machine can be " "modified, such as memory usage:" msgstr "安裝完成後,可以修改虛擬機器的設定,例如記憶體使用量:" #. (itstool) path: note/para -#: book.translate.xml:42113 +#: book.translate.xml:42167 msgid "" "The System Hardware settings of the virtual machine cannot be modified while " "the virtual machine is running." @@ -59914,13 +61144,13 @@ msgstr "虛擬機器的 System Hardware 設定無法在虛擬機器執行時修� #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:42120 +#: book.translate.xml:42174 msgctxt "_" msgid "external ref='virtualization/vmware-freebsd09' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42124 +#: book.translate.xml:42178 msgid "The number of CPUs the virtual machine will have access to:" msgstr "虛擬機器要使用的 CPU 數量:" @@ -59929,13 +61159,13 @@ msgstr "虛擬機器要使用的 CPU 數量:" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:42129 +#: book.translate.xml:42183 msgctxt "_" msgid "external ref='virtualization/vmware-freebsd10' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42133 +#: book.translate.xml:42187 msgid "" "The status of the <acronym>CD-ROM</acronym> device. Normally the " "<acronym>CD</acronym>/<acronym>DVD</acronym>/<acronym>ISO</acronym> is " @@ -59950,13 +61180,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:42141 +#: book.translate.xml:42195 msgctxt "_" msgid "external ref='virtualization/vmware-freebsd11' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42145 +#: book.translate.xml:42199 msgid "" "The last thing to change is how the virtual machine will connect to the " "network. To allow connections to the virtual machine from other machines " @@ -59977,25 +61207,25 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:42157 +#: book.translate.xml:42211 msgctxt "_" msgid "external ref='virtualization/vmware-freebsd12' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42161 +#: book.translate.xml:42215 msgid "" "After modifying the settings, boot the newly installed FreeBSD virtual " "machine." msgstr "在修改設定之後,開機進入新安裝的 FreeBSD 虛擬機器。" #. (itstool) path: sect2/title -#: book.translate.xml:42166 +#: book.translate.xml:42220 msgid "Configuring FreeBSD on <application>VMware Fusion</application>" msgstr "在 <application>VMware Fusion</application> 設定 FreeBSD" #. (itstool) path: sect2/para -#: book.translate.xml:42169 +#: book.translate.xml:42223 msgid "" "After FreeBSD has been successfully installed on <trademark class=" "\"registered\">Mac OS</trademark> X with <application>VMware Fusion</" @@ -60007,7 +61237,7 @@ msgstr "" "系統在虛擬機器上的運作。" #. (itstool) path: step/para -#: book.translate.xml:42178 +#: book.translate.xml:42232 msgid "" "The most important step is to reduce the <option>kern.hz</option> tunable to " "reduce the CPU utilization of FreeBSD under the <application>VMware Fusion</" @@ -60019,7 +61249,7 @@ msgstr "" "下列幾行到 <filename>/boot/loader.conf</filename> 來完成:" #. (itstool) path: step/para -#: book.translate.xml:42187 +#: book.translate.xml:42241 msgid "" "Without this setting, an idle FreeBSD <application>VMware Fusion</" "application> guest will use roughly 15% of the CPU of a single processor " @@ -60031,7 +61261,7 @@ msgstr "" "近 15% 的 CPU。完成此更改後使用率會減至接近 5%。" #. (itstool) path: step/para -#: book.translate.xml:42196 +#: book.translate.xml:42250 msgid "" "All of the FireWire, and USB device drivers can be removed from a custom " "kernel configuration file. <application>VMware Fusion</application> provides " @@ -60049,7 +61279,7 @@ msgstr "" "核心中移除。" #. (itstool) path: step/para -#: book.translate.xml:42207 +#: book.translate.xml:42261 msgid "" "The most basic networking setup uses DHCP to connect the virtual machine to " "the same local area network as the host <trademark class=\"registered\">Mac</" @@ -60064,12 +61294,12 @@ msgstr "" "中描述。" #. (itstool) path: sect1/title -#: book.translate.xml:42220 -msgid "<trademark>VirtualBox</trademark> Guest Additions on a FreeBSD Guest" -msgstr "安裝 <trademark>VirtualBox</trademark> Guest Additions 於 FreeBSD 客端" +#: book.translate.xml:42274 +msgid "FreeBSD as a Guest on <trademark>VirtualBox</trademark>" +msgstr "在 <trademark>VirtualBox</trademark> 使用 FreeBSD 作為客端" #. (itstool) path: sect1/para -#: book.translate.xml:42222 +#: book.translate.xml:42276 msgid "" "FreeBSD works well as a guest in <application><trademark>VirtualBox</" "trademark></application>. The virtualization software is available for most " @@ -60077,62 +61307,62 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:42227 +#: book.translate.xml:42281 msgid "" "The <application><trademark>VirtualBox</trademark></application> guest " "additions provide support for:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:42232 +#: book.translate.xml:42286 msgid "Clipboard sharing." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:42236 +#: book.translate.xml:42290 msgid "Mouse pointer integration." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:42240 +#: book.translate.xml:42294 msgid "Host time synchronization." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:42244 +#: book.translate.xml:42298 msgid "Window scaling." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:42248 +#: book.translate.xml:42302 msgid "Seamless mode." msgstr "" #. (itstool) path: note/para -#: book.translate.xml:42253 +#: book.translate.xml:42307 msgid "These commands are run in the FreeBSD guest." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:42256 +#: book.translate.xml:42310 msgid "" "First, install the <package>emulators/virtualbox-ose-additions</package> " "package or port in the FreeBSD guest. This will install the port:" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:42260 +#: book.translate.xml:42314 #, no-wrap msgid "<prompt>#</prompt> <userinput>cd /usr/ports/emulators/virtualbox-ose-additions && make install clean</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:42262 +#: book.translate.xml:42316 msgid "Add these lines to <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:42264 +#: book.translate.xml:42318 #, no-wrap msgid "" "vboxguest_enable=\"YES\"\n" @@ -60140,7 +61370,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:42267 +#: book.translate.xml:42321 msgid "" "If <citerefentry><refentrytitle>ntpd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> or <citerefentry><refentrytitle>ntpdate</" @@ -60149,13 +61379,13 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:42270 +#: book.translate.xml:42324 #, no-wrap msgid "vboxservice_flags=\"--disable-timesync\"" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:42272 +#: book.translate.xml:42326 msgid "" "<application>Xorg</application> will automatically recognize the " "<literal>vboxvideo</literal> driver. It can also be manually entered in " @@ -60163,7 +61393,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:42277 +#: book.translate.xml:42331 #, no-wrap msgid "" "Section \"Device\"\n" @@ -60175,14 +61405,14 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:42284 +#: book.translate.xml:42338 msgid "" "To use the <literal>vboxmouse</literal> driver, adjust the mouse section in " "<filename>/etc/X11/xorg.conf</filename>:" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:42287 +#: book.translate.xml:42341 #, no-wrap msgid "" "Section \"InputDevice\"\n" @@ -60192,7 +61422,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:42292 +#: book.translate.xml:42346 msgid "" "<acronym>HAL</acronym> users should create the following <filename>/usr/" "local/etc/hal/fdi/policy/90-vboxguest.fdi</filename> or copy it from " @@ -60201,7 +61431,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:42297 +#: book.translate.xml:42351 #, no-wrap msgid "" "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" @@ -60239,12 +61469,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:42332 +#: book.translate.xml:42386 msgid "FreeBSD as a Host with <application>VirtualBox</application>" msgstr "以 FreeBSD 作為主端安裝 <application>VirtualBox</application> " #. (itstool) path: sect1/para -#: book.translate.xml:42335 +#: book.translate.xml:42389 msgid "" "<application><trademark>VirtualBox</trademark></application> is an actively " "developed, complete virtualization package, that is available for most " @@ -60262,12 +61492,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:42348 +#: book.translate.xml:42402 msgid "Installing <trademark>VirtualBox</trademark>" msgstr "安裝 <trademark>VirtualBox</trademark>" #. (itstool) path: sect2/para -#: book.translate.xml:42350 +#: book.translate.xml:42404 msgid "" "<application><trademark>VirtualBox</trademark></application> is available as " "a FreeBSD package or port in <package>emulators/virtualbox-ose</package>. " @@ -60275,7 +61505,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42355 +#: book.translate.xml:42409 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/emulators/virtualbox-ose</userinput>\n" @@ -60283,7 +61513,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42358 +#: book.translate.xml:42412 msgid "" "One useful option in the port's configuration menu is the " "<literal>GuestAdditions</literal> suite of programs. These provide a number " @@ -60296,7 +61526,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42368 +#: book.translate.xml:42422 msgid "" "A few configuration changes are needed before " "<application><trademark>VirtualBox</trademark></application> is started for " @@ -60305,39 +61535,39 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42374 +#: book.translate.xml:42428 #, no-wrap msgid "<prompt>#</prompt> <userinput>kldload vboxdrv</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42376 +#: book.translate.xml:42430 msgid "" "To ensure the module is always loaded after a reboot, add this line to " "<filename>/boot/loader.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:42380 +#: book.translate.xml:42434 #, no-wrap msgid "vboxdrv_load=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42382 +#: book.translate.xml:42436 msgid "" "To use the kernel modules that allow bridged or host-only networking, add " "this line to <filename>/etc/rc.conf</filename> and reboot the computer:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:42387 +#: book.translate.xml:42441 #, no-wrap msgid "vboxnet_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42389 +#: book.translate.xml:42443 msgid "" "The <systemitem class=\"groupname\">vboxusers</systemitem> group is created " "during installation of <application><trademark>VirtualBox</trademark></" @@ -60348,20 +61578,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42396 +#: book.translate.xml:42450 #, no-wrap msgid "<prompt>#</prompt> <userinput>pw groupmod vboxusers -m <replaceable>yourusername</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42398 +#: book.translate.xml:42452 msgid "" "The default permissions for <filename>/dev/vboxnetctl</filename> are " "restrictive and need to be changed for bridged networking:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42402 +#: book.translate.xml:42456 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>chown root:vboxusers /dev/vboxnetctl</userinput>\n" @@ -60369,14 +61599,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42405 +#: book.translate.xml:42459 msgid "" "To make this permissions change permanent, add these lines to <filename>/etc/" "devfs.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:42408 +#: book.translate.xml:42462 #, no-wrap msgid "" "own vboxnetctl root:vboxusers\n" @@ -60384,20 +61614,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42411 +#: book.translate.xml:42465 msgid "" "To launch <application><trademark>VirtualBox</trademark></application>, type " "from a <application>Xorg</application> session:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42414 +#: book.translate.xml:42468 #, no-wrap msgid "<prompt>%</prompt> <userinput>VirtualBox</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42416 +#: book.translate.xml:42470 msgid "" "For more information on configuring and using " "<application><trademark>VirtualBox</trademark></application>, refer to the " @@ -60408,32 +61638,32 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:42425 +#: book.translate.xml:42479 msgid "<trademark>VirtualBox</trademark> USB Support" msgstr "<trademark>VirtualBox</trademark> USB 支援" #. (itstool) path: sect2/para -#: book.translate.xml:42427 +#: book.translate.xml:42481 msgid "" "In order to be able to read and write to USB devices, users need to be " "members of <systemitem class=\"groupname\">operator</systemitem>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42431 +#: book.translate.xml:42485 #, no-wrap msgid "<prompt>#</prompt> <userinput>pw groupmod operator -m <replaceable>jerry</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42433 +#: book.translate.xml:42487 msgid "" "Then, add the following to <filename>/etc/devfs.rules</filename>, or create " "this file if it does not exist yet:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:42437 +#: book.translate.xml:42491 #, no-wrap msgid "" "[system=10]\n" @@ -60441,38 +61671,38 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42440 +#: book.translate.xml:42494 msgid "" "To load these new rules, add the following to <filename>/etc/rc.conf</" "filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:42443 +#: book.translate.xml:42497 #, no-wrap msgid "devfs_system_ruleset=\"system\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42445 +#: book.translate.xml:42499 msgid "Then, restart devfs:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42447 book.translate.xml:42497 +#: book.translate.xml:42501 book.translate.xml:42551 #, no-wrap msgid "<prompt>#</prompt> <userinput>service devfs restart</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42449 +#: book.translate.xml:42503 msgid "" "USB can now be enabled in the guest operating system. USB devices should be " "visible in the <trademark>VirtualBox</trademark> preferences." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:42455 +#: book.translate.xml:42509 msgid "" "<trademark>VirtualBox</trademark> Host <acronym>DVD</acronym>/<acronym>CD</" "acronym> Access" @@ -60481,7 +61711,7 @@ msgstr "" "acronym> 存取" #. (itstool) path: sect2/para -#: book.translate.xml:42458 +#: book.translate.xml:42512 msgid "" "Access to the host <acronym>DVD</acronym>/<acronym>CD</acronym> drives from " "guests is achieved through the sharing of the physical drives. Within " @@ -60496,7 +61726,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42472 +#: book.translate.xml:42526 msgid "" "<acronym>HAL</acronym> needs to run for <application><trademark>VirtualBox</" "trademark></application> <acronym>DVD</acronym>/<acronym>CD</acronym> " @@ -60505,19 +61735,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:42478 +#: book.translate.xml:42532 #, no-wrap msgid "hald_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42480 +#: book.translate.xml:42534 #, no-wrap msgid "<prompt>#</prompt> <userinput>service hald start</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42482 +#: book.translate.xml:42536 msgid "" "In order for users to be able to use <application><trademark>VirtualBox</" "trademark></application> <acronym>DVD</acronym>/<acronym>CD</acronym> " @@ -60530,7 +61760,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:42493 +#: book.translate.xml:42547 #, no-wrap msgid "" "perm cd* 0660\n" @@ -60539,12 +61769,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:42502 +#: book.translate.xml:42556 msgid "FreeBSD as a Host with <application>bhyve</application>" msgstr "以 FreeBSD 作為主端安裝 <application>bhyve</application> " #. (itstool) path: sect1/para -#: book.translate.xml:42505 +#: book.translate.xml:42559 msgid "" "The <application>bhyve</application> <acronym>BSD</acronym>-licensed " "hypervisor became part of the base system with FreeBSD 10.0-RELEASE. This " @@ -60557,7 +61787,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:42516 +#: book.translate.xml:42570 msgid "" "The <application>bhyve</application> design requires a processor that " "supports <trademark class=\"registered\">Intel</trademark> Extended Page " @@ -60586,12 +61816,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:42541 +#: book.translate.xml:42595 msgid "Preparing the Host" msgstr "準備主端" #. (itstool) path: sect2/para -#: book.translate.xml:42543 +#: book.translate.xml:42597 msgid "" "The first step to creating a virtual machine in <application>bhyve</" "application> is configuring the host system. First, load the " @@ -60599,13 +61829,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42548 +#: book.translate.xml:42602 #, no-wrap msgid "<prompt>#</prompt> <userinput>kldload vmm</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42550 +#: book.translate.xml:42604 msgid "" "Then, create a <filename>tap</filename> interface for the network device in " "the virtual machine to attach to. In order for the network device to " @@ -60615,7 +61845,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42558 +#: book.translate.xml:42612 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <replaceable>tap0</replaceable> create</userinput>\n" @@ -60627,38 +61857,38 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:42567 +#: book.translate.xml:42621 msgid "Creating a FreeBSD Guest" msgstr "建立 FreeBSD 客端" #. (itstool) path: sect2/para -#: book.translate.xml:42569 +#: book.translate.xml:42623 msgid "" "Create a file to use as the virtual disk for the guest machine. Specify the " "size and name of the virtual disk:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42573 +#: book.translate.xml:42627 #, no-wrap msgid "<prompt>#</prompt> <userinput>truncate -s <replaceable>16G</replaceable> <replaceable>guest.img</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42575 +#: book.translate.xml:42629 msgid "Download an installation image of FreeBSD to install:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42577 +#: book.translate.xml:42631 #, no-wrap msgid "" -"<prompt>#</prompt> <userinput>fetch <replaceable>ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/10.2/FreeBSD-10.2-RELEASE-amd64-bootonly.iso</replaceable></userinput>\n" -"FreeBSD-10.2-RELEASE-amd64-bootonly.iso 100% of 230 MB 570 kBps 06m17s" +"<prompt>#</prompt> <userinput>fetch <replaceable>ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/10.3/FreeBSD-10.3-RELEASE-amd64-bootonly.iso</replaceable></userinput>\n" +"FreeBSD-10.3-RELEASE-amd64-bootonly.iso 100% of 230 MB 570 kBps 06m17s" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42580 +#: book.translate.xml:42634 msgid "" "FreeBSD comes with an example script for running a virtual machine in " "<application>bhyve</application>. The script will start the virtual machine " @@ -60676,13 +61906,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42597 +#: book.translate.xml:42651 #, no-wrap -msgid "<prompt>#</prompt> <userinput>sh /usr/share/examples/bhyve/vmrun.sh -c <replaceable>4</replaceable> -m <replaceable>1024M</replaceable> -t <replaceable>tap0</replaceable> -d <replaceable>guest.img</replaceable> -i -I <replaceable>FreeBSD-10.0-RELEASE-amd64-bootonly.iso</replaceable> <replaceable>guestname</replaceable></userinput>" +msgid "<prompt>#</prompt> <userinput>sh /usr/share/examples/bhyve/vmrun.sh -c <replaceable>4</replaceable> -m <replaceable>1024M</replaceable> -t <replaceable>tap0</replaceable> -d <replaceable>guest.img</replaceable> -i -I <replaceable>FreeBSD-10.3-RELEASE-amd64-bootonly.iso</replaceable> <replaceable>guestname</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42599 +#: book.translate.xml:42653 msgid "" "The virtual machine will boot and start the installer. After installing a " "system in the virtual machine, when the system asks about dropping in to a " @@ -60693,20 +61923,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:42607 +#: book.translate.xml:42661 #, no-wrap msgid "ttyu0 \"/usr/libexec/getty 3wire\" xterm on secure" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:42609 +#: book.translate.xml:42663 msgid "" "Beginning with FreeBSD 9.3-RELEASE and 10.1-RELEASE the console is " "configured automatically." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42613 +#: book.translate.xml:42667 msgid "" "Reboot the virtual machine. While rebooting the virtual machine causes " "<application>bhyve</application> to exit, the <filename>vmrun.sh</filename> " @@ -60717,36 +61947,36 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42621 +#: book.translate.xml:42675 #, no-wrap msgid "<prompt>#</prompt> <userinput>sh /usr/share/examples/bhyve/vmrun.sh -c <replaceable>4</replaceable> -m <replaceable>1024M</replaceable> -t <replaceable>tap0</replaceable> -d <replaceable>guest.img</replaceable> <replaceable>guestname</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:42625 +#: book.translate.xml:42679 msgid "Creating a <trademark class=\"registered\">Linux</trademark> Guest" msgstr "建立 <trademark class=\"registered\">Linux</trademark> 客端" #. (itstool) path: sect2/para -#: book.translate.xml:42627 +#: book.translate.xml:42681 msgid "" "In order to boot operating systems other than FreeBSD, the <package>sysutils/" "grub2-bhyve</package> port must be first installed." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42631 +#: book.translate.xml:42685 msgid "Next, create a file to use as the virtual disk for the guest machine:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42634 +#: book.translate.xml:42688 #, no-wrap msgid "<prompt>#</prompt> <userinput>truncate -s <replaceable>16G</replaceable> <replaceable>linux.img</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42636 +#: book.translate.xml:42690 msgid "" "Starting a virtual machine with <application>bhyve</application> is a two " "step process. First a kernel must be loaded, then the guest can be started. " @@ -60757,7 +61987,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:42645 +#: book.translate.xml:42699 #, no-wrap msgid "" "(hd0) ./linux.img\n" @@ -60765,7 +61995,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42648 +#: book.translate.xml:42702 msgid "" "Use <package>sysutils/grub2-bhyve</package> to load the <trademark class=" "\"registered\">Linux</trademark> kernel from the <acronym>ISO</acronym> " @@ -60773,13 +62003,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42651 +#: book.translate.xml:42705 #, no-wrap msgid "<prompt>#</prompt> <userinput>grub-bhyve -m device.map -r cd0 -M <replaceable>1024M</replaceable> <replaceable>linuxguest</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42653 +#: book.translate.xml:42707 msgid "" "This will start grub. If the installation <acronym>CD</acronym> contains a " "<filename>grub.cfg</filename>, a menu will be displayed. If not, the " @@ -60788,7 +62018,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42660 +#: book.translate.xml:42714 #, no-wrap msgid "" "grub> <userinput>ls</userinput>\n" @@ -60802,14 +62032,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42669 +#: book.translate.xml:42723 msgid "" "Now that the <trademark class=\"registered\">Linux</trademark> kernel is " "loaded, the guest can be started:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42672 +#: book.translate.xml:42726 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>bhyve -A -H -P -s 0:0,hostbridge -s 1:0,lpc -s 2:0,virtio-net,<replaceable>tap1</replaceable> -s 3:0,virtio-blk,<replaceable>./linux.img</replaceable> \\\n" @@ -60817,7 +62047,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42675 +#: book.translate.xml:42729 msgid "" "The system will boot and start the installer. After installing a system in " "the virtual machine, reboot the virtual machine. This will cause " @@ -60826,19 +62056,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42681 book.translate.xml:42709 +#: book.translate.xml:42735 book.translate.xml:42763 #, no-wrap msgid "<prompt>#</prompt> <userinput>bhyvectl --destroy --vm=<replaceable>linuxguest</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42683 +#: book.translate.xml:42737 msgid "" "Now the guest can be started directly from the virtual disk. Load the kernel:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42686 +#: book.translate.xml:42740 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>grub-bhyve -m device.map -r hd0,msdos1 -M <replaceable>1024M</replaceable> <replaceable>linuxguest</replaceable></userinput>\n" @@ -60855,12 +62085,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42698 +#: book.translate.xml:42752 msgid "Boot the virtual machine:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42700 +#: book.translate.xml:42754 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>bhyve -A -H -P -s 0:0,hostbridge -s 1:0,lpc -s 2:0,virtio-net,<replaceable>tap1</replaceable> \\\n" @@ -60868,7 +62098,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42703 +#: book.translate.xml:42757 msgid "" "<trademark class=\"registered\">Linux</trademark> will now boot in the " "virtual machine and eventually present you with the login prompt. Login and " @@ -60878,13 +62108,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:42713 +#: book.translate.xml:42767 msgid "" "Using <acronym>ZFS</acronym> with <application>bhyve</application> Guests" msgstr "在 <application>bhyve</application> Guests 使用 <acronym>ZFS</acronym>" #. (itstool) path: sect2/para -#: book.translate.xml:42716 +#: book.translate.xml:42770 msgid "" "If <acronym>ZFS</acronym> is available on the host machine, using " "<acronym>ZFS</acronym> volumes instead of disk image files can provide " @@ -60893,20 +62123,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42722 +#: book.translate.xml:42776 #, no-wrap msgid "<prompt>#</prompt> <userinput>zfs create -V<replaceable>16G</replaceable> -o volmode=dev <replaceable>zroot/linuxdisk0</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42724 +#: book.translate.xml:42778 msgid "" "When starting the <acronym>VM</acronym>, specify the <acronym>ZFS</acronym> " "volume as the disk drive:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42727 +#: book.translate.xml:42781 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>bhyve -A -H -P -s 0:0,hostbridge -s 1:0,lpc -s 2:0,virtio-net,<replaceable>tap1</replaceable> -s3:0,virtio-blk,<replaceable>/dev/zvol/zroot/linuxdisk0</replaceable> \\\n" @@ -60914,12 +62144,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:42732 +#: book.translate.xml:42786 msgid "Virtual Machine Consoles" msgstr "虛擬機器 Console" #. (itstool) path: sect2/para -#: book.translate.xml:42734 +#: book.translate.xml:42788 msgid "" "It is advantageous to wrap the <application>bhyve</application> console in a " "session management tool such as <package>sysutils/tmux</package> or " @@ -60936,7 +62166,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42751 +#: book.translate.xml:42805 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>kldload nmdm</userinput>\n" @@ -60951,12 +62181,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:42763 +#: book.translate.xml:42817 msgid "Managing Virtual Machines" msgstr "管理虛擬機器" #. (itstool) path: sect2/para -#: book.translate.xml:42765 +#: book.translate.xml:42819 msgid "" "A device node is created in <filename role=\"directory\">/dev/vmm</filename> " "for each virtual machine. This allows the administrator to easily see a list " @@ -60964,7 +62194,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42769 +#: book.translate.xml:42823 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ls -al /dev/vmm</userinput>\n" @@ -60977,25 +62207,25 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:42777 +#: book.translate.xml:42831 msgid "" "A specified virtual machine can be destroyed using <command>bhyvectl</" "command>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:42780 +#: book.translate.xml:42834 #, no-wrap msgid "<prompt>#</prompt> bhyvectl --destroy --vm=<replaceable>guestname</replaceable>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:42784 +#: book.translate.xml:42838 msgid "Persistent Configuration" msgstr "Persistent 設定" #. (itstool) path: sect2/para -#: book.translate.xml:42786 +#: book.translate.xml:42840 msgid "" "In order to configure the system to start <application>bhyve</application> " "guests at boot time, the following configurations must be made in the " @@ -61003,23 +62233,23 @@ msgid "" msgstr "" #. (itstool) path: step/title -#: book.translate.xml:42793 +#: book.translate.xml:42847 msgid "<filename>/etc/sysctl.conf</filename>" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:42795 +#: book.translate.xml:42849 #, no-wrap msgid "net.link.tap.up_on_open=1" msgstr "" #. (itstool) path: step/title -#: book.translate.xml:42799 +#: book.translate.xml:42853 msgid "<filename>/boot/loader.conf</filename>" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:42801 +#: book.translate.xml:42855 #, no-wrap msgid "" "vmm_load=\"YES\"\n" @@ -61029,12 +62259,12 @@ msgid "" msgstr "" #. (itstool) path: step/title -#: book.translate.xml:42808 +#: book.translate.xml:42862 msgid "<filename>/etc/rc.conf</filename>" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:42810 +#: book.translate.xml:42864 #, no-wrap msgid "" "cloned_interfaces=\"<replaceable>bridge0</replaceable> <replaceable>tap0</replaceable>\"\n" @@ -61042,28 +62272,28 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:42838 +#: book.translate.xml:42892 msgid "" "Localization - <acronym>i18n</acronym>/<acronym>L10n</acronym> Usage and " "Setup" msgstr "在地化 - <acronym>i18n</acronym>/<acronym>L10n</acronym> 使用與安裝" #. (itstool) path: authorgroup/author -#: book.translate.xml:42843 +#: book.translate.xml:42897 msgid "" "<personname><firstname>Andrey</firstname><surname>Chernov</surname></" "personname><contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:42847 +#: book.translate.xml:42901 msgid "" "<personname><firstname>Michael C.</firstname><surname>Wu</surname></" "personname><contrib>Rewritten by </contrib>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:42857 +#: book.translate.xml:42911 msgid "" "FreeBSD is a distributed project with users and contributors located all " "over the world. As such, FreeBSD supports localization into many languages, " @@ -61076,17 +62306,17 @@ msgstr "" "含但不限於以下語言:中文、德文、日文、韓文、法文、俄文及越南文。" #. (itstool) path: sect1/indexterm -#: book.translate.xml:42865 +#: book.translate.xml:42919 msgid "<primary>internationalization</primary> <see>localization</see>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:42869 +#: book.translate.xml:42923 msgid "<primary>localization</primary>" msgstr "<primary>在地化</primary>" #. (itstool) path: sect1/para -#: book.translate.xml:42871 +#: book.translate.xml:42925 msgid "" "The term internationalization has been shortened to <acronym>i18n</acronym>, " "which represents the number of letters between the first and the last " @@ -61102,63 +62332,63 @@ msgstr "" "方法、協定及應用程式讓使用者可以自己選擇使用的語言。" #. (itstool) path: sect1/para -#: book.translate.xml:42881 +#: book.translate.xml:42935 msgid "" "This chapter discusses the internationalization and localization features of " "FreeBSD. After reading this chapter, you will know:" msgstr "本章會討論 FreeBSD 的國際化及在地化功能。在閱讀本章之後,您會了解:" #. (itstool) path: listitem/para -#: book.translate.xml:42887 +#: book.translate.xml:42941 msgid "How locale names are constructed." msgstr "語系名稱如何組成。" #. (itstool) path: listitem/para -#: book.translate.xml:42891 +#: book.translate.xml:42945 msgid "How to set the locale for a login shell." msgstr "如何設定登入 Shell 的語系。" #. (itstool) path: listitem/para -#: book.translate.xml:42895 +#: book.translate.xml:42949 msgid "How to configure the console for non-English languages." msgstr "如何設定 Console 給非英文語言的使用者。" #. (itstool) path: listitem/para -#: book.translate.xml:42900 +#: book.translate.xml:42954 msgid "" "How to configure <application>Xorg</application> for different languages." msgstr "如果設定 <application>Xorg</application> 使用不同語言。" #. (itstool) path: listitem/para -#: book.translate.xml:42905 +#: book.translate.xml:42959 msgid "How to find <acronym>i18n</acronym>-compliant applications." msgstr "如何找到支援 <acronym>i18n</acronym> 的應用程式。" #. (itstool) path: listitem/para -#: book.translate.xml:42910 +#: book.translate.xml:42964 msgid "Where to find more information for configuring specific languages." msgstr "那裡可以找到更多設定特定語言的資訊。" #. (itstool) path: listitem/para -#: book.translate.xml:42918 +#: book.translate.xml:42972 msgid "" "Know how to <link linkend=\"ports\">install additional third-party " "applications</link>." msgstr "了解如何 <link linkend=\"ports\">安裝其他第三方應用程式</link>。" #. (itstool) path: sect1/title -#: book.translate.xml:42925 +#: book.translate.xml:42979 msgid "Using Localization" msgstr "使用語系" #. (itstool) path: sect1/indexterm #. (itstool) path: sect2/indexterm -#: book.translate.xml:42927 book.translate.xml:43044 +#: book.translate.xml:42981 book.translate.xml:43098 msgid "<primary>locale</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:42929 +#: book.translate.xml:42983 msgid "" "Localization settings are based on three components: the language code, " "country code, and encoding. Locale names are constructed from these parts as " @@ -61168,23 +62398,23 @@ msgstr "" "下:" #. (itstool) path: sect1/programlisting -#: book.translate.xml:42933 +#: book.translate.xml:42987 #, no-wrap msgid "<replaceable>LanguageCode</replaceable>_<replaceable>CountryCode</replaceable>.<replaceable>Encoding</replaceable>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:42935 +#: book.translate.xml:42989 msgid "<primary>language codes</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:42936 +#: book.translate.xml:42990 msgid "<primary>country codes</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:42938 +#: book.translate.xml:42992 msgid "" "The <replaceable>LanguageCode</replaceable> and <replaceable>CountryCode</" "replaceable> are used to determine the country and the specific language " @@ -61198,79 +62428,79 @@ msgstr "" "replaceable> 的範例:" #. (itstool) path: table/title -#: book.translate.xml:42944 +#: book.translate.xml:42998 msgid "Common Language and Country Codes" msgstr "常用語言及城市代碼" #. (itstool) path: row/entry -#: book.translate.xml:42949 +#: book.translate.xml:43003 msgid "LanguageCode_Country Code" msgstr "語言代號_城市代號" #. (itstool) path: row/entry -#: book.translate.xml:42956 +#: book.translate.xml:43010 msgid "en_US" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:42957 +#: book.translate.xml:43011 msgid "English, United States" msgstr "英文,美國" #. (itstool) path: row/entry -#: book.translate.xml:42961 +#: book.translate.xml:43015 msgid "ru_RU" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:42962 +#: book.translate.xml:43016 msgid "Russian, Russia" msgstr "俄文,俄國" #. (itstool) path: row/entry -#: book.translate.xml:42966 +#: book.translate.xml:43020 msgid "zh_TW" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:42967 +#: book.translate.xml:43021 msgid "Traditional Chinese, Taiwan" msgstr "繁體中文,台灣" #. (itstool) path: sect1/para -#: book.translate.xml:42973 +#: book.translate.xml:43027 msgid "A complete listing of available locales can be found by typing:" msgstr "完整可用的語系清單可用以下指令查詢:" #. (itstool) path: sect1/screen -#: book.translate.xml:42976 +#: book.translate.xml:43030 #, no-wrap msgid "<prompt>%</prompt> <userinput>locale -a | more</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:42978 +#: book.translate.xml:43032 msgid "To determine the current locale setting:" msgstr "查詢目前使用的語系設定:" #. (itstool) path: sect1/screen -#: book.translate.xml:42980 +#: book.translate.xml:43034 #, no-wrap msgid "<prompt>%</prompt> <userinput>locale</userinput>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:42982 +#: book.translate.xml:43036 msgid "<primary>encodings</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:42983 +#: book.translate.xml:43037 msgid "<primary>ASCII</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:42985 +#: book.translate.xml:43039 msgid "" "Language specific character sets, such as ISO8859-1, ISO8859-15, KOI8-R, and " "CP437, are described in <citerefentry><refentrytitle>multibyte</" @@ -61285,7 +62515,7 @@ msgstr "" "詢。" #. (itstool) path: sect1/para -#: book.translate.xml:42991 +#: book.translate.xml:43045 msgid "" "Some languages, such as Chinese or Japanese, cannot be represented using " "<acronym>ASCII</acronym> characters and require an extended language " @@ -61303,12 +62533,12 @@ msgstr "" "組字元支援或者使用正確的字元設定來編譯應用程式。" #. (itstool) path: note/para -#: book.translate.xml:43003 +#: book.translate.xml:43057 msgid "FreeBSD uses Xorg-compatible locale encodings." msgstr "FreeBSD 使用 Xorg 相容的語系編碼。" #. (itstool) path: sect1/para -#: book.translate.xml:43006 +#: book.translate.xml:43060 msgid "" "The rest of this section describes the various methods for configuring the " "locale on a FreeBSD system. The next section will discuss the considerations " @@ -61318,12 +62548,12 @@ msgstr "" "找以及編譯使用 <acronym>i18n</acronym> 支援的應用程式。" #. (itstool) path: sect2/title -#: book.translate.xml:43012 +#: book.translate.xml:43066 msgid "Setting Locale for Login Shell" msgstr "設定登入 Shell 的語系" #. (itstool) path: sect2/para -#: book.translate.xml:43014 +#: book.translate.xml:43068 msgid "" "Locale settings are configured either in a user's <filename>~/.login_conf</" "filename> or in the startup file of the user's shell: <filename>~/.profile</" @@ -61334,22 +62564,22 @@ msgstr "" "<filename>~/.cshrc</filename>。" #. (itstool) path: sect2/para -#: book.translate.xml:43021 +#: book.translate.xml:43075 msgid "Two environment variables should be set:" msgstr "有兩個環境變數需要設定:" #. (itstool) path: listitem/para -#: book.translate.xml:43026 +#: book.translate.xml:43080 msgid "<envar>LANG</envar>, which sets the locale<_:indexterm-1/>" msgstr "<envar>LANG</envar> 用來設定語系<_:indexterm-1/>" #. (itstool) path: listitem/indexterm -#: book.translate.xml:43031 +#: book.translate.xml:43085 msgid "<primary>MIME</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:43033 +#: book.translate.xml:43087 msgid "" "<envar>MM_CHARSET</envar>, which sets the <acronym>MIME</acronym> character " "set used by applications" @@ -61358,7 +62588,7 @@ msgstr "" "元集" #. (itstool) path: sect2/para -#: book.translate.xml:43039 +#: book.translate.xml:43093 msgid "" "In addition to the user's shell configuration, these variables should also " "be set for specific application configuration and <application>Xorg</" @@ -61369,12 +62599,12 @@ msgstr "" #. (itstool) path: sect2/indexterm #. (itstool) path: sect4/indexterm -#: book.translate.xml:43045 book.translate.xml:43138 +#: book.translate.xml:43099 book.translate.xml:43192 msgid "<primary>login class</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:43047 +#: book.translate.xml:43101 msgid "" "Two methods are available for making the needed variable assignments: the " "<link linkend=\"login-class\">login class</link> method, which is the " @@ -61386,12 +62616,12 @@ msgstr "" "(Startup file) </link> 法。以下兩節將示範如何使用這兩個方法。" #. (itstool) path: sect3/title -#: book.translate.xml:43055 +#: book.translate.xml:43109 msgid "Login Classes Method" msgstr "登入類別 (Login Class) 法" #. (itstool) path: sect3/para -#: book.translate.xml:43057 +#: book.translate.xml:43111 msgid "" "This first method is the recommended method as it assigns the required " "environment variables for locale name and <acronym>MIME</acronym> character " @@ -61403,7 +62633,7 @@ msgstr "" "者設定。" #. (itstool) path: sect3/para -#: book.translate.xml:43064 +#: book.translate.xml:43118 msgid "" "This minimal example sets both variables for Latin-1 encoding in the " "<filename>.login_conf</filename> of an individual user's home directory:" @@ -61412,7 +62642,7 @@ msgstr "" "定 Latin-1 編碼使用的兩個環境變數:" #. (itstool) path: sect3/programlisting -#: book.translate.xml:43068 +#: book.translate.xml:43122 #, no-wrap msgid "" "me:\\\n" @@ -61421,13 +62651,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:43072 +#: book.translate.xml:43126 msgid "" "<primary>Traditional Chinese</primary> <secondary>BIG-5 encoding</secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:43075 +#: book.translate.xml:43129 msgid "" "Here is an example of a user's <filename>~/.login_conf</filename> that sets " "the variables for Traditional Chinese in BIG-5 encoding. More variables are " @@ -61439,7 +62669,7 @@ msgstr "" "因此需要額外多做一些設定:" #. (itstool) path: sect3/programlisting -#: book.translate.xml:43082 +#: book.translate.xml:43136 #, no-wrap msgid "" "#Users who do not wish to use monetary units or time formats\n" @@ -61452,7 +62682,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:43090 +#: book.translate.xml:43144 msgid "" "Alternately, the superuser can configure all users of the system for " "localization. The following variables in <filename>/etc/login.conf</" @@ -61463,7 +62693,7 @@ msgstr "" "conf</filename> 中的變數可用來設定語系及 <acronym>MIME</acronym> 字元集:" #. (itstool) path: sect3/programlisting -#: book.translate.xml:43095 +#: book.translate.xml:43149 #, no-wrap msgid "" "<replaceable>language_name</replaceable>|<replaceable>Account Type Description</replaceable>:\\\n" @@ -61473,12 +62703,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:43100 +#: book.translate.xml:43154 msgid "So, the previous Latin-1 example would look like this:" msgstr "若套用之前的 Latin-1 編碼範例如下:" #. (itstool) path: sect3/programlisting -#: book.translate.xml:43103 +#: book.translate.xml:43157 #, no-wrap msgid "" "german|German Users Accounts:\\\n" @@ -61488,7 +62718,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:43108 +#: book.translate.xml:43162 msgid "" "See <citerefentry><refentrytitle>login.conf</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> for more details about these variables." @@ -61497,7 +62727,7 @@ msgstr "" "manvolnum></citerefentry> 以取得更多有關這些變數的詳細資訊。" #. (itstool) path: sect3/para -#: book.translate.xml:43111 +#: book.translate.xml:43165 msgid "" "Whenever <filename>/etc/login.conf</filename> is edited, remember to execute " "the following command to update the capability database:" @@ -61506,17 +62736,17 @@ msgstr "" "新登入類別的能力資料庫(Capability database):" #. (itstool) path: sect4/title -#: book.translate.xml:43118 +#: book.translate.xml:43172 msgid "Utilities Which Change Login Classes" msgstr "變更登入類別的工具" #. (itstool) path: sect4/indexterm -#: book.translate.xml:43120 +#: book.translate.xml:43174 msgid "<primary><command>vipw</command></primary>" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:43124 +#: book.translate.xml:43178 msgid "" "In addition to manually editing <filename>/etc/login.conf</filename>, " "several utilities are available for setting the locale for newly created " @@ -61526,7 +62756,7 @@ msgstr "" "新建立的使用者設定語系。" #. (itstool) path: sect4/para -#: book.translate.xml:43129 +#: book.translate.xml:43183 msgid "" "When using <command>vipw</command> to add new users, specify the " "<replaceable>language</replaceable> to set the locale:" @@ -61535,13 +62765,13 @@ msgstr "" "replaceable> 來設定語系:" #. (itstool) path: sect4/programlisting -#: book.translate.xml:43133 +#: book.translate.xml:43187 #, no-wrap msgid "user:password:1111:11:<replaceable>language</replaceable>:0:0:User Name:/home/user:/bin/sh" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:43140 +#: book.translate.xml:43194 msgid "" "When using <command>adduser</command> to add new users, the default language " "can be pre-configured for all new users or specified for an individual user." @@ -61550,7 +62780,7 @@ msgstr "" "者事先設定預設的語言。" #. (itstool) path: sect4/para -#: book.translate.xml:43144 +#: book.translate.xml:43198 msgid "" "If all new users use the same language, set " "<literal>defaultclass=<replaceable>language</replaceable></literal> in " @@ -61561,49 +62791,49 @@ msgstr "" "literal>。" #. (itstool) path: sect4/para -#: book.translate.xml:43148 +#: book.translate.xml:43202 msgid "" "To override this setting when creating a user, either input the required " "locale at this prompt:" msgstr "要在建立使用者時覆蓋預設的設定,可在出現此提示時輸入需要的語系:" #. (itstool) path: sect4/screen -#: book.translate.xml:43151 +#: book.translate.xml:43205 #, no-wrap msgid "<prompt>Enter login class: default []:</prompt>" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:43153 +#: book.translate.xml:43207 msgid "or specify the locale to set when invoking <command>adduser</command>:" msgstr "或執行 <command>adduser</command> 時指定語系:" #. (itstool) path: sect4/screen -#: book.translate.xml:43156 +#: book.translate.xml:43210 #, no-wrap msgid "<prompt>#</prompt> <userinput>adduser -class <replaceable>language</replaceable></userinput>" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:43162 +#: book.translate.xml:43216 msgid "" "If <command>pw</command> is used to add new users, specify the locale as " "follows:" msgstr "若使用 <command>pw</command> 來新增使用者,則可指定語系如下:" #. (itstool) path: sect4/screen -#: book.translate.xml:43165 +#: book.translate.xml:43219 #, no-wrap msgid "<prompt>#</prompt> <userinput>pw useradd <replaceable>user_name</replaceable> -L <replaceable>language</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:43170 +#: book.translate.xml:43224 msgid "Shell Startup File Method" msgstr "Shell 啟動檔 (Startup File) 法" #. (itstool) path: sect3/para -#: book.translate.xml:43172 +#: book.translate.xml:43226 msgid "" "This second method is not recommended as each shell that is used requires " "manual configuration, where each shell has a different configuration file " @@ -61620,7 +62850,7 @@ msgstr "" "filename> 或 <filename>/usr/share/skel/dot.profile</filename>:" #. (itstool) path: sect3/programlisting -#: book.translate.xml:43183 +#: book.translate.xml:43237 #, no-wrap msgid "" "<envar>LANG</envar>=de_DE.ISO8859-1; export <envar>LANG</envar>\n" @@ -61628,7 +62858,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:43186 +#: book.translate.xml:43240 msgid "" "However, the name of the configuration file and the syntax used differs for " "the <command>csh</command> shell. These are the equivalent settings for " @@ -61640,7 +62870,7 @@ msgstr "" "login</filename> 或 <filename>/usr/share/skel/dot.login</filename>:" #. (itstool) path: sect3/programlisting -#: book.translate.xml:43193 +#: book.translate.xml:43247 #, no-wrap msgid "" "setenv <envar>LANG</envar> de_DE.ISO8859-1\n" @@ -61648,7 +62878,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:43196 +#: book.translate.xml:43250 msgid "" "To complicate matters, the syntax needed to configure <application>Xorg</" "application> in <filename>~/.xinitrc</filename> also depends upon the shell. " @@ -61660,24 +62890,24 @@ msgstr "" "command> shell 而第二個則是針對 <command>csh</command> shell:" #. (itstool) path: sect3/programlisting -#: book.translate.xml:43203 +#: book.translate.xml:43257 #, no-wrap msgid "<envar>LANG</envar>=de_DE.ISO8859-1; export <envar>LANG</envar>" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:43205 +#: book.translate.xml:43259 #, no-wrap msgid "setenv <envar>LANG</envar> de_DE.ISO8859-1" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:43210 +#: book.translate.xml:43264 msgid "Console Setup" msgstr "Console 設定" #. (itstool) path: sect2/para -#: book.translate.xml:43212 +#: book.translate.xml:43266 msgid "" "Several localized fonts are available for the console. To see a listing of " "available fonts, type <command>ls /usr/share/syscons/fonts</command>. To " @@ -61691,7 +62921,7 @@ msgstr "" "型名稱 <replaceable>font_name</replaceable>:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:43220 +#: book.translate.xml:43274 #, no-wrap msgid "" "font8x16=<replaceable>font_name</replaceable>\n" @@ -61700,17 +62930,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:43224 +#: book.translate.xml:43278 msgid "<primary>keymap</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:43225 +#: book.translate.xml:43279 msgid "<primary>screenmap</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:43226 +#: book.translate.xml:43280 msgid "" "The keymap and screenmap can be set by adding the following to <filename>/" "etc/rc.conf</filename>:" @@ -61719,7 +62949,7 @@ msgstr "" "rc.conf</filename> 來設定:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:43229 +#: book.translate.xml:43283 #, no-wrap msgid "" "scrnmap=<replaceable>screenmap_name</replaceable>\n" @@ -61728,7 +62958,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:43233 +#: book.translate.xml:43287 msgid "" "To see the list of available screenmaps, type <command>ls /usr/share/syscons/" "scrnmaps</command>. Do not include the <filename>.scm</filename> suffix when " @@ -61744,7 +62974,7 @@ msgstr "" "8 的欄位,字母會移出虛擬繪圖區 (Pseudographics area)。" #. (itstool) path: sect2/para -#: book.translate.xml:43242 +#: book.translate.xml:43296 msgid "" "To see the list of available keymaps, type <command>ls /usr/share/syscons/" "keymaps</command>. When specifying the <replaceable>keymap_name</" @@ -61759,7 +62989,7 @@ msgstr "" "citerefentry>。" #. (itstool) path: sect2/para -#: book.translate.xml:43249 +#: book.translate.xml:43303 msgid "" "The <literal>keychange</literal> entry is usually needed to program function " "keys to match the selected terminal type because function key sequences " @@ -61769,7 +62999,7 @@ msgstr "" "定對應選擇終對機類型的功能鍵。" #. (itstool) path: sect2/para -#: book.translate.xml:43254 +#: book.translate.xml:43308 msgid "" "Next, set the correct console terminal type in <filename>/etc/ttys</" "filename> for all virtual terminal entries. <xref linkend=\"locale-charset\"/" @@ -61780,97 +63010,97 @@ msgstr "" "型:" #. (itstool) path: table/title -#: book.translate.xml:43260 +#: book.translate.xml:43314 msgid "Defined Terminal Types for Character Sets" msgstr "已定義供特定字元集使用的終端機類型" #. (itstool) path: row/entry -#: book.translate.xml:43265 +#: book.translate.xml:43319 msgid "Character Set" msgstr "字元集" #. (itstool) path: row/entry -#: book.translate.xml:43266 +#: book.translate.xml:43320 msgid "Terminal Type" msgstr "終端機類型" #. (itstool) path: row/entry -#: book.translate.xml:43272 +#: book.translate.xml:43326 msgid "ISO8859-1 or ISO8859-15" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43273 +#: book.translate.xml:43327 msgid "<literal>cons25l1</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43277 +#: book.translate.xml:43331 msgid "ISO8859-2" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43278 +#: book.translate.xml:43332 msgid "<literal>cons25l2</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43282 +#: book.translate.xml:43336 msgid "ISO8859-7" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43283 +#: book.translate.xml:43337 msgid "<literal>cons25l7</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43287 +#: book.translate.xml:43341 msgid "KOI8-R" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43288 +#: book.translate.xml:43342 msgid "<literal>cons25r</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43292 +#: book.translate.xml:43346 msgid "KOI8-U" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43293 +#: book.translate.xml:43347 msgid "<literal>cons25u</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43297 +#: book.translate.xml:43351 msgid "CP437 (VGA default)" msgstr "CP437 (VGA 預設值)" #. (itstool) path: row/entry -#: book.translate.xml:43298 +#: book.translate.xml:43352 msgid "<literal>cons25</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43302 +#: book.translate.xml:43356 msgid "US-ASCII" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43303 +#: book.translate.xml:43357 msgid "<literal>cons25w</literal>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:43309 +#: book.translate.xml:43363 msgid "<primary><application>moused</application></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:43313 +#: book.translate.xml:43367 msgid "" "For languages with wide or multibyte characters, install a console for that " "language from the FreeBSD Ports Collection. The available ports are " @@ -61884,73 +63114,73 @@ msgstr "" "用說明。" #. (itstool) path: table/title -#: book.translate.xml:43320 +#: book.translate.xml:43374 msgid "Available Console from Ports Collection" msgstr "Port 套件集中可用的 Console" #. (itstool) path: row/entry -#: book.translate.xml:43325 book.translate.xml:43404 +#: book.translate.xml:43379 book.translate.xml:43458 msgid "Language" msgstr "語言" #. (itstool) path: row/entry -#: book.translate.xml:43326 +#: book.translate.xml:43380 msgid "Port Location" msgstr "Port 位置" #. (itstool) path: row/entry -#: book.translate.xml:43332 +#: book.translate.xml:43386 msgid "Traditional Chinese (BIG-5)" msgstr "繁體中文 (BIG-5)" #. (itstool) path: row/entry -#: book.translate.xml:43333 +#: book.translate.xml:43387 msgid "<package>chinese/big5con</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43337 book.translate.xml:43342 +#: book.translate.xml:43391 book.translate.xml:43396 msgid "Chinese/Japanese/Korean" msgstr "中文/日文/韓文" #. (itstool) path: row/entry -#: book.translate.xml:43338 +#: book.translate.xml:43392 msgid "<package>chinese/cce</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43343 +#: book.translate.xml:43397 msgid "<package>chinese/zhcon</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43347 book.translate.xml:43352 book.translate.xml:43357 -#: book.translate.xml:43447 book.translate.xml:43452 book.translate.xml:43457 -#: book.translate.xml:43462 book.translate.xml:43467 book.translate.xml:43472 -#: book.translate.xml:43477 book.translate.xml:43482 book.translate.xml:43487 -#: book.translate.xml:43492 book.translate.xml:43497 book.translate.xml:43502 -#: book.translate.xml:43507 book.translate.xml:43512 book.translate.xml:43517 -#: book.translate.xml:43522 book.translate.xml:43527 book.translate.xml:43532 +#: book.translate.xml:43401 book.translate.xml:43406 book.translate.xml:43411 +#: book.translate.xml:43501 book.translate.xml:43506 book.translate.xml:43511 +#: book.translate.xml:43516 book.translate.xml:43521 book.translate.xml:43526 +#: book.translate.xml:43531 book.translate.xml:43536 book.translate.xml:43541 +#: book.translate.xml:43546 book.translate.xml:43551 book.translate.xml:43556 +#: book.translate.xml:43561 book.translate.xml:43566 book.translate.xml:43571 +#: book.translate.xml:43576 book.translate.xml:43581 book.translate.xml:43586 msgid "Japanese" msgstr "日文" #. (itstool) path: row/entry -#: book.translate.xml:43348 +#: book.translate.xml:43402 msgid "<package>chinese/kon2</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43353 +#: book.translate.xml:43407 msgid "<package>japanese/kon2-14dot</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43358 +#: book.translate.xml:43412 msgid "<package>japanese/kon2-16dot</package>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:43364 +#: book.translate.xml:43418 msgid "" "If <application>moused</application> is enabled in <filename>/etc/rc.conf</" "filename>, additional configuration may be required. By default, the mouse " @@ -61968,18 +63198,18 @@ msgstr "" "到 <filename>/etc/rc.conf</filename> 來移動游標的範圍:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:43373 +#: book.translate.xml:43427 #, no-wrap msgid "mousechar_start=3" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:43377 +#: book.translate.xml:43431 msgid "Xorg Setup" msgstr "Xorg 設定" #. (itstool) path: sect2/para -#: book.translate.xml:43379 +#: book.translate.xml:43433 msgid "" "<xref linkend=\"x11\"/> describes how to install and configure " "<application>Xorg</application>. When configuring <application>Xorg</" @@ -61996,12 +63226,12 @@ msgstr "" "filename> 中調校且可允許使用者在圖型化應用程式選單檢視其所選擇的語言。" #. (itstool) path: sect2/indexterm -#: book.translate.xml:43389 +#: book.translate.xml:43443 msgid "<primary>X Input Method (XIM)</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:43391 +#: book.translate.xml:43445 msgid "" "The X Input Method (<acronym>XIM</acronym>) protocol is an " "<application>Xorg</application> standard for inputting non-English " @@ -62015,200 +63245,200 @@ msgstr "" "式。" #. (itstool) path: table/title -#: book.translate.xml:43399 +#: book.translate.xml:43453 msgid "Available Input Methods" msgstr "可用的輸入法" #. (itstool) path: row/entry -#: book.translate.xml:43405 +#: book.translate.xml:43459 msgid "Input Method" msgstr "輸入法" #. (itstool) path: row/entry -#: book.translate.xml:43412 book.translate.xml:43417 book.translate.xml:43422 -#: book.translate.xml:43427 book.translate.xml:43432 book.translate.xml:43437 -#: book.translate.xml:43442 +#: book.translate.xml:43466 book.translate.xml:43471 book.translate.xml:43476 +#: book.translate.xml:43481 book.translate.xml:43486 book.translate.xml:43491 +#: book.translate.xml:43496 msgid "Chinese" msgstr "中文" #. (itstool) path: row/entry -#: book.translate.xml:43413 +#: book.translate.xml:43467 msgid "<package>chinese/gcin</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43418 +#: book.translate.xml:43472 msgid "<package>chinese/ibus-chewing</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43423 +#: book.translate.xml:43477 msgid "<package>chinese/ibus-pinyin</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43428 +#: book.translate.xml:43482 msgid "<package>chinese/oxim</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43433 +#: book.translate.xml:43487 msgid "<package>chinese/scim-fcitx</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43438 +#: book.translate.xml:43492 msgid "<package>chinese/scim-pinyin</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43443 +#: book.translate.xml:43497 msgid "<package>chinese/scim-tables</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43448 +#: book.translate.xml:43502 msgid "<package>japanese/ibus-anthy</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43453 +#: book.translate.xml:43507 msgid "<package>japanese/ibus-mozc</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43458 +#: book.translate.xml:43512 msgid "<package>japanese/ibus-skk</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43463 +#: book.translate.xml:43517 msgid "<package>japanese/im-ja</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43468 +#: book.translate.xml:43522 msgid "<package>japanese/kinput2</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43473 +#: book.translate.xml:43527 msgid "<package>japanese/scim-anthy</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43478 +#: book.translate.xml:43532 msgid "<package>japanese/scim-canna</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43483 +#: book.translate.xml:43537 msgid "<package>japanese/scim-honoka</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43488 +#: book.translate.xml:43542 msgid "<package>japanese/scim-honoka-plugin-romkan</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43493 +#: book.translate.xml:43547 msgid "<package>japanese/scim-honoka-plugin-wnn</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43498 +#: book.translate.xml:43552 msgid "<package>japanese/scim-prime</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43503 +#: book.translate.xml:43557 msgid "<package>japanese/scim-skk</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43508 +#: book.translate.xml:43562 msgid "<package>japanese/scim-tables</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43513 +#: book.translate.xml:43567 msgid "<package>japanese/scim-tomoe</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43518 +#: book.translate.xml:43572 msgid "<package>japanese/scim-uim</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43523 +#: book.translate.xml:43577 msgid "<package>japanese/skkinput</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43528 +#: book.translate.xml:43582 msgid "<package>japanese/skkinput3</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43533 +#: book.translate.xml:43587 msgid "<package>japanese/uim-anthy</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43537 book.translate.xml:43542 book.translate.xml:43547 -#: book.translate.xml:43552 book.translate.xml:43557 +#: book.translate.xml:43591 book.translate.xml:43596 book.translate.xml:43601 +#: book.translate.xml:43606 book.translate.xml:43611 msgid "Korean" msgstr "韓文" #. (itstool) path: row/entry -#: book.translate.xml:43538 +#: book.translate.xml:43592 msgid "<package>korean/ibus-hangul</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43543 +#: book.translate.xml:43597 msgid "<package>korean/imhangul</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43548 +#: book.translate.xml:43602 msgid "<package>korean/nabi</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43553 +#: book.translate.xml:43607 msgid "<package>korean/scim-hangul</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43558 +#: book.translate.xml:43612 msgid "<package>korean/scim-tables</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43562 book.translate.xml:43567 +#: book.translate.xml:43616 book.translate.xml:43621 msgid "Vietnamese" msgstr "越南文" #. (itstool) path: row/entry -#: book.translate.xml:43563 +#: book.translate.xml:43617 msgid "<package>vietnamese/xvnkb</package>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:43568 +#: book.translate.xml:43622 msgid "<package>vietnamese/x-unikey</package>" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:43612 +#: book.translate.xml:43666 msgid "Finding <acronym>i18n</acronym> Applications" msgstr "尋找 <acronym>i18n</acronym> 應用程式" #. (itstool) path: sect1/para -#: book.translate.xml:43614 +#: book.translate.xml:43668 msgid "" "<acronym>i18n</acronym> applications are programmed using <acronym>i18n</" "acronym> kits under libraries. These allow developers to write a simple file " @@ -62218,7 +63448,7 @@ msgstr "" "庫開發。這讓開發人員可以寫一個簡單的檔案並翻譯顯示的選單及文字至各種語言。" #. (itstool) path: sect1/para -#: book.translate.xml:43619 +#: book.translate.xml:43673 msgid "" "The <link xlink:href=\"@@URL_RELPREFIX@@/ports/index.html\">FreeBSD Ports " "Collection</link> contains many applications with built-in support for wide " @@ -62232,7 +63462,7 @@ msgstr "" "支援您所需要的語言。" #. (itstool) path: sect1/para -#: book.translate.xml:43626 +#: book.translate.xml:43680 msgid "" "Some applications can be compiled with the specific charset. This is usually " "done in the port's <filename>Makefile</filename> or by passing a value to " @@ -62249,12 +63479,12 @@ msgstr "" "解在編譯時有那些可以使用的編譯選項。" #. (itstool) path: sect1/title -#: book.translate.xml:43638 +#: book.translate.xml:43692 msgid "Locale Configuration for Specific Languages" msgstr "特定語言的語系設定" #. (itstool) path: sect1/para -#: book.translate.xml:43640 +#: book.translate.xml:43694 msgid "" "This section provides configuration examples for localizing a FreeBSD system " "for the Russian language. It then provides some additional resources for " @@ -62262,24 +63492,24 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:43646 +#: book.translate.xml:43700 msgid "Russian Language (KOI8-R Encoding)" msgstr "俄語 (KOI8-R 編碼)" #. (itstool) path: authorgroup/author -#: book.translate.xml:43649 +#: book.translate.xml:43703 msgid "" "<personname><firstname>Andrey</firstname><surname>Chernov</surname></" "personname><contrib>Originally contributed by </contrib>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:43654 +#: book.translate.xml:43708 msgid "<primary>localization</primary> <secondary>Russian</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:43659 +#: book.translate.xml:43713 msgid "" "This section shows the specific settings needed to localize a FreeBSD system " "for the Russian language. Refer to <link linkend=\"using-localization" @@ -62288,14 +63518,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:43665 +#: book.translate.xml:43719 msgid "" "To set this locale for the login shell, add the following lines to each " "user's <filename>~/.login_conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:43669 +#: book.translate.xml:43723 #, no-wrap msgid "" "me:My Account:\\\n" @@ -62304,14 +63534,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:43673 +#: book.translate.xml:43727 msgid "" "To configure the console, add the following lines to <filename>/etc/rc.conf</" "filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:43676 +#: book.translate.xml:43730 #, no-wrap msgid "" "keymap=\"ru.koi8-r\"\n" @@ -62323,19 +63553,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:43683 +#: book.translate.xml:43737 msgid "" "For each <literal>ttyv</literal> entry in <filename>/etc/ttys</filename>, " "use <literal>cons25r</literal> as the terminal type." msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:43687 +#: book.translate.xml:43741 msgid "<primary>printers</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:43688 +#: book.translate.xml:43742 msgid "" "To configure printing, a special output filter is needed to convert from " "KOI8-R to CP866 since most printers with Russian characters come with " @@ -62345,7 +63575,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:43696 +#: book.translate.xml:43750 #, no-wrap msgid "" "lp|Russian local line printer:\\\n" @@ -62354,14 +63584,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:43700 +#: book.translate.xml:43754 msgid "" "Refer to <citerefentry><refentrytitle>printcap</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> for a more detailed explanation." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:43703 +#: book.translate.xml:43757 msgid "" "To configure support for Russian filenames in mounted <trademark class=" "\"registered\">MS-DOS</trademark> file systems, include <option>-L</option> " @@ -62369,20 +63599,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:43708 +#: book.translate.xml:43762 #, no-wrap msgid "/dev/ad0s2 /dos/c msdos rw,-Lru_RU.KOI8-R 0 0" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:43710 +#: book.translate.xml:43764 msgid "" "Refer to <citerefentry><refentrytitle>mount_msdosfs</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> for more details." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:43712 +#: book.translate.xml:43766 msgid "" "To configure Russian fonts for <application>Xorg</application>, install the " "<package>x11-fonts/xorg-fonts-cyrillic</package> package. Then, check the " @@ -62392,25 +63622,25 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:43720 +#: book.translate.xml:43774 #, no-wrap msgid "FontPath \"/usr/local/lib/X11/fonts/cyrillic\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:43722 +#: book.translate.xml:43776 msgid "Additional Cyrillic fonts are available in the Ports Collection." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:43725 +#: book.translate.xml:43779 msgid "" "To activate a Russian keyboard, add the following to the <literal>\"Keyboard" "\"</literal> section of <filename>/etc/xorg.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:43729 +#: book.translate.xml:43783 #, no-wrap msgid "" "Option \"XkbLayout\" \"us,ru\"\n" @@ -62418,13 +63648,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:43732 +#: book.translate.xml:43786 msgid "" "Make sure that <literal>XkbDisable</literal> is commented out in that file." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:43735 +#: book.translate.xml:43789 msgid "" "For <literal>grp:toggle</literal> use <keycap>Right Alt</keycap>, for " "<literal>grp:ctrl_shift_toggle</literal> use <keycombo action=\"simul" @@ -62437,7 +63667,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:43746 +#: book.translate.xml:43800 msgid "" "If the keyboard has <quote><trademark class=\"registered\">Windows</" "trademark></quote> keys, and some non-alphabetical keys are mapped " @@ -62445,13 +63675,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:43750 +#: book.translate.xml:43804 #, no-wrap msgid "Option \"XkbVariant\" \",winkeys\"" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:43753 +#: book.translate.xml:43807 msgid "" "The Russian XKB keyboard may not work with non-localized applications. " "Minimally localized applications should call a <function>XtSetLanguageProc " @@ -62459,7 +63689,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:43760 +#: book.translate.xml:43814 msgid "" "See <uri xlink:href=\"http://koi8.pp.ru/xwin.html\">http://koi8.pp.ru/xwin." "html</uri> for more instructions on localizing <application>Xorg</" @@ -62469,49 +63699,49 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:43767 +#: book.translate.xml:43821 msgid "Additional Language-Specific Resources" msgstr "其他特定語言資源" #. (itstool) path: sect2/para -#: book.translate.xml:43769 +#: book.translate.xml:43823 msgid "" "This section lists some additional resources for configuring other locales." msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:43772 +#: book.translate.xml:43826 msgid "" "<primary>localization</primary> <secondary>Traditional Chinese</secondary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:43776 +#: book.translate.xml:43830 msgid "<primary>localization</primary> <secondary>German</secondary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:43780 +#: book.translate.xml:43834 msgid "<primary>localization</primary> <secondary>Greek</secondary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:43784 +#: book.translate.xml:43838 msgid "<primary>localization</primary> <secondary>Japanese</secondary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:43788 +#: book.translate.xml:43842 msgid "<primary>localization</primary> <secondary>Korean</secondary>" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:43795 +#: book.translate.xml:43849 msgid "Traditional Chinese for Taiwan" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:43798 +#: book.translate.xml:43852 msgid "" "The FreeBSD-Taiwan Project has a Chinese HOWTO for FreeBSD at <uri xlink:" "href=\"http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/\">http://netlab." @@ -62519,12 +63749,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:43804 +#: book.translate.xml:43858 msgid "Greek Language Localization" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:43807 +#: book.translate.xml:43861 msgid "" "A complete article on Greek support in FreeBSD is available <link xlink:href=" "\"@@URL_RELPREFIX@@/doc/el_GR.ISO8859-7/articles/greek-language-support/" @@ -62533,12 +63763,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:43815 +#: book.translate.xml:43869 msgid "Japanese and Korean Language Localization" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:43818 +#: book.translate.xml:43872 msgid "" "For Japanese, refer to <uri xlink:href=\"http://www.jp.FreeBSD.org/\">http://" "www.jp.FreeBSD.org/</uri>, and for Korean, refer to <uri xlink:href=\"http://" @@ -62546,12 +63776,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:43824 +#: book.translate.xml:43878 msgid "Non-English FreeBSD Documentation" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:43827 +#: book.translate.xml:43881 msgid "" "Some FreeBSD contributors have translated parts of the FreeBSD documentation " "to other languages. They are available through links on the <link xlink:href=" @@ -62560,12 +63790,12 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:43848 +#: book.translate.xml:43902 msgid "Updating and Upgrading FreeBSD" msgstr "更新與升級 FreeBSD" #. (itstool) path: authorgroup/author -#: book.translate.xml:43851 +#: book.translate.xml:43905 msgid "" "<personname> <firstname>Jim</firstname> <surname>Mock</surname> </" "personname> <contrib>Restructured, reorganized, and parts updated by </" @@ -62573,35 +63803,35 @@ msgid "" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:43863 +#: book.translate.xml:43917 msgid "" "<personname> <firstname>Jordan</firstname> <surname>Hubbard</surname> </" "personname> <contrib>Original work by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:43871 +#: book.translate.xml:43925 msgid "" "<personname> <firstname>Poul-Henning</firstname> <surname>Kamp</surname> </" "personname>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:43878 +#: book.translate.xml:43932 msgid "" "<personname> <firstname>John</firstname> <surname>Polstra</surname> </" "personname>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:43885 +#: book.translate.xml:43939 msgid "" "<personname> <firstname>Nik</firstname> <surname>Clayton</surname> </" "personname>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:43897 +#: book.translate.xml:43951 msgid "" "FreeBSD is under constant development between releases. Some people prefer " "to use the officially released versions, while others prefer to keep in sync " @@ -62619,7 +63849,7 @@ msgstr "" "FreeBSD 系統維持新版的基本工具。" #. (itstool) path: listitem/para -#: book.translate.xml:43911 +#: book.translate.xml:43965 msgid "" "How to keep a FreeBSD system up-to-date with <application>freebsd-update</" "application> or <application>Subversion</application>." @@ -62628,14 +63858,14 @@ msgstr "" "application> 來讓 FreeBSD 系統保持新版。" #. (itstool) path: listitem/para -#: book.translate.xml:43917 +#: book.translate.xml:43971 msgid "" "How to compare the state of an installed system against a known pristine " "copy." msgstr "如何比對已安裝系統與已知原始複本間的狀態。" #. (itstool) path: listitem/para -#: book.translate.xml:43922 +#: book.translate.xml:43976 msgid "" "How to keep the installed documentation up-to-date with " "<application>Subversion</application> or documentation ports." @@ -62644,33 +63874,33 @@ msgstr "" "文件為新版。" #. (itstool) path: listitem/para -#: book.translate.xml:43928 +#: book.translate.xml:43982 msgid "" "The difference between the two development branches: FreeBSD-STABLE and " "FreeBSD-CURRENT." msgstr "兩種開發分支間的差異:FreeBSD-STABLE 與 FreeBSD-CURRENT。" #. (itstool) path: listitem/para -#: book.translate.xml:43933 +#: book.translate.xml:43987 msgid "How to rebuild and reinstall the entire base system." msgstr "如何重新編譯及重新安裝整個基礎系統 (Base system)。" #. (itstool) path: listitem/para -#: book.translate.xml:43942 +#: book.translate.xml:43996 msgid "" "Properly set up the network connection (<xref linkend=\"advanced-networking" "\"/>)." msgstr "正確的設定網路連線 (<xref linkend=\"advanced-networking\"/>)。" #. (itstool) path: listitem/para -#: book.translate.xml:43947 book.translate.xml:50388 book.translate.xml:61691 +#: book.translate.xml:44001 book.translate.xml:50442 book.translate.xml:61745 msgid "" "Know how to install additional third-party software (<xref linkend=\"ports\"/" ">)." msgstr "了解如何安裝其他第三方軟體 (<xref linkend=\"ports\"/>)。" #. (itstool) path: note/para -#: book.translate.xml:43953 +#: book.translate.xml:44007 msgid "" "Throughout this chapter, <command>svn</command> is used to obtain and update " "FreeBSD sources. To use it, first install the <package>devel/subversion</" @@ -62680,12 +63910,12 @@ msgstr "" "令請先安裝 <package>devel/subversion</package> Port 或套件。" #. (itstool) path: info/title -#: book.translate.xml:43962 +#: book.translate.xml:44016 msgid "FreeBSD Update" msgstr "FreeBSD 更新" #. (itstool) path: authorgroup/author -#: book.translate.xml:43975 +#: book.translate.xml:44029 msgid "" "<personname> <firstname>Colin</firstname> <surname>Percival</surname> </" "personname> <contrib>Based on notes provided by </contrib>" @@ -62693,17 +63923,17 @@ msgstr "" #. (itstool) path: sect1/indexterm #. (itstool) path: sect2/indexterm -#: book.translate.xml:43985 book.translate.xml:44492 book.translate.xml:44628 +#: book.translate.xml:44039 book.translate.xml:44546 book.translate.xml:44682 msgid "<primary>Updating and Upgrading</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:43988 +#: book.translate.xml:44042 msgid "<primary>freebsd-update</primary> <see>updating-upgrading</see>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:43993 +#: book.translate.xml:44047 msgid "" "Applying security patches in a timely manner and upgrading to a newer " "release of an operating system are important aspects of ongoing system " @@ -62715,7 +63945,7 @@ msgstr "" "command>。" #. (itstool) path: sect1/para -#: book.translate.xml:43999 +#: book.translate.xml:44053 msgid "" "This utility supports binary security and errata updates to FreeBSD, without " "the need to manually compile and install the patch or a new kernel. Binary " @@ -62730,7 +63960,7 @@ msgstr "" "www.FreeBSD.org/security/\">http://www.FreeBSD.org/security/</uri>。" #. (itstool) path: sect1/para -#: book.translate.xml:44006 +#: book.translate.xml:44060 msgid "" "This utility also supports operating system upgrades to minor point releases " "as well as upgrades to another release branch. Before upgrading to a new " @@ -62745,7 +63975,7 @@ msgstr "" "releases/\">http://www.FreeBSD.org/releases/</uri> 取得。" #. (itstool) path: note/para -#: book.translate.xml:44013 +#: book.translate.xml:44067 msgid "" "If a <command>crontab</command> utilizing the features of " "<citerefentry><refentrytitle>freebsd-update</refentrytitle><manvolnum>8</" @@ -62757,7 +63987,7 @@ msgstr "" "manvolnum></citerefentry>,則必須在升級作業系統前先關閉。" #. (itstool) path: sect1/para -#: book.translate.xml:44018 +#: book.translate.xml:44072 msgid "" "This section describes the configuration file used by <command>freebsd-" "update</command>, demonstrates how to apply a security patch and how to " @@ -62769,7 +63999,7 @@ msgstr "" "事項。" #. (itstool) path: sect2/para -#: book.translate.xml:44027 +#: book.translate.xml:44081 msgid "" "The default configuration file for <command>freebsd-update</command> works " "as-is. Some users may wish to tweak the default configuration in <filename>/" @@ -62783,7 +64013,7 @@ msgstr "" "要進一步的說明:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:44035 +#: book.translate.xml:44089 #, no-wrap msgid "" "# Components of the base system which should be kept updated.\n" @@ -62791,7 +64021,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44038 +#: book.translate.xml:44092 msgid "" "This parameter controls which parts of FreeBSD will be kept up-to-date. The " "default is to update the entire base system and the kernel. Individual " @@ -62808,7 +64038,7 @@ msgstr "" "新而造成慘重的後果。" #. (itstool) path: sect2/programlisting -#: book.translate.xml:44048 +#: book.translate.xml:44102 #, no-wrap msgid "" "# Paths which start with anything matching an entry in an IgnorePaths\n" @@ -62817,7 +64047,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44052 +#: book.translate.xml:44106 msgid "" "To leave specified directories, such as <filename>/bin</filename> or " "<filename>/sbin</filename>, untouched during the update process, add their " @@ -62829,7 +64059,7 @@ msgstr "" "<command>freebsd-update</command> 覆蓋本地的修改。" #. (itstool) path: sect2/programlisting -#: book.translate.xml:44059 +#: book.translate.xml:44113 #, no-wrap msgid "" "# Paths which start with anything matching an entry in an UpdateIfUnmodified\n" @@ -62839,7 +64069,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44064 +#: book.translate.xml:44118 msgid "" "This option will only update unmodified configuration files in the specified " "directories. Any changes made by the user will prevent the automatic " @@ -62852,7 +64082,7 @@ msgstr "" "<command>freebsd-update</command> 在合併時儲存使用者做的變更。" #. (itstool) path: sect2/programlisting -#: book.translate.xml:44072 +#: book.translate.xml:44126 #, no-wrap msgid "" "# When upgrading to a new FreeBSD release, files which match MergeChanges\n" @@ -62861,7 +64091,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44076 +#: book.translate.xml:44130 msgid "" "List of directories with configuration files that <command>freebsd-update</" "command> should attempt to merge. The file merge process is a series of " @@ -62883,7 +64113,7 @@ msgstr "" "訊, 參見 <xref linkend=\"mergemaster\"/>。" #. (itstool) path: sect2/programlisting -#: book.translate.xml:44086 +#: book.translate.xml:44140 #, no-wrap msgid "" "# Directory in which to store downloaded updates and temporary\n" @@ -62892,7 +64122,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44090 +#: book.translate.xml:44144 msgid "" "This directory is where all patches and temporary files are placed. In cases " "where the user is doing a version upgrade, this location should have at " @@ -62902,7 +64132,7 @@ msgstr "" "有至少 1GB 的可用磁碟空間。" #. (itstool) path: sect2/programlisting -#: book.translate.xml:44095 +#: book.translate.xml:44149 #, no-wrap msgid "" "# When upgrading between releases, should the list of Components be\n" @@ -62913,7 +64143,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44101 +#: book.translate.xml:44155 msgid "" "When this option is set to <literal>yes</literal>, <command>freebsd-update</" "command> will assume that the <literal>Components</literal> list is complete " @@ -62927,12 +64157,12 @@ msgstr "" "於 <literal>Components</literal> 清單中的檔案。" #. (itstool) path: sect2/title -#: book.translate.xml:44111 +#: book.translate.xml:44165 msgid "Applying Security Patches" msgstr "套用安全性修補" #. (itstool) path: sect2/para -#: book.translate.xml:44113 +#: book.translate.xml:44167 msgid "" "The process of applying FreeBSD security patches has been simplified, " "allowing an administrator to keep a system fully patched using " @@ -62944,7 +64174,7 @@ msgstr "" "<xref linkend=\"security-advisories\"/>。" #. (itstool) path: sect2/para -#: book.translate.xml:44119 +#: book.translate.xml:44173 msgid "" "FreeBSD security patches may be downloaded and installed using the following " "commands. The first command will determine if any outstanding patches are " @@ -62955,7 +64185,7 @@ msgstr "" "補,如果有,將列出若執行修補後會變更的檔案清單。第二個指令將會套用修補。" #. (itstool) path: sect2/screen -#: book.translate.xml:44125 +#: book.translate.xml:44179 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>freebsd-update fetch</userinput>\n" @@ -62963,7 +64193,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44128 +#: book.translate.xml:44182 msgid "" "If the update applies any kernel patches, the system will need a reboot in " "order to boot into the patched kernel. If the patch was applied to any " @@ -62975,7 +64205,7 @@ msgstr "" "本。" #. (itstool) path: sect2/para -#: book.translate.xml:44134 +#: book.translate.xml:44188 msgid "" "The system can be configured to automatically check for updates once every " "day by adding this entry to <filename>/etc/crontab</filename>:" @@ -62984,13 +64214,13 @@ msgstr "" "次:" #. (itstool) path: sect2/programlisting -#: book.translate.xml:44138 +#: book.translate.xml:44192 #, no-wrap msgid "@daily root freebsd-update cron" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44140 +#: book.translate.xml:44194 msgid "" "If patches exist, they will automatically be downloaded but will not be " "applied. The <systemitem class=\"username\">root</systemitem> user will be " @@ -63002,7 +64232,7 @@ msgstr "" "<command>freebsd-update install</command> 安裝。" #. (itstool) path: sect2/para -#: book.translate.xml:44146 +#: book.translate.xml:44200 msgid "" "If anything goes wrong, <command>freebsd-update</command> has the ability to " "roll back the last set of changes with the following command:" @@ -63011,7 +64241,7 @@ msgstr "" "後所做的變更:" #. (itstool) path: sect2/screen -#: book.translate.xml:44150 +#: book.translate.xml:44204 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>freebsd-update rollback</userinput>\n" @@ -63019,7 +64249,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44153 +#: book.translate.xml:44207 msgid "" "Again, the system should be restarted if the kernel or any kernel modules " "were modified and any affected binaries should be restarted." @@ -63028,7 +64258,7 @@ msgstr "" "Binary 應重新執行。" #. (itstool) path: sect2/para -#: book.translate.xml:44157 +#: book.translate.xml:44211 msgid "" "Only the <filename>GENERIC</filename> kernel can be automatically updated by " "<command>freebsd-update</command>. If a custom kernel is installed, it will " @@ -63045,7 +64275,7 @@ msgstr "" "新 <filename>GENERIC</filename> 核心,即使該核心並非目前系統正在執行的核心。" #. (itstool) path: note/para -#: book.translate.xml:44168 +#: book.translate.xml:44222 msgid "" "Always keep a copy of the <filename>GENERIC</filename> kernel in <filename>/" "boot/GENERIC</filename>. It will be helpful in diagnosing a variety of " @@ -63059,7 +64289,7 @@ msgstr "" "filename> 核心的複本說明。" #. (itstool) path: sect2/para -#: book.translate.xml:44176 +#: book.translate.xml:44230 msgid "" "Unless the default configuration in <filename>/etc/freebsd-update.conf</" "filename> has been changed, <command>freebsd-update</command> will install " @@ -63071,7 +64301,7 @@ msgstr "" "可依平常的方式執行重新編譯與重新安裝核心。" #. (itstool) path: sect2/para -#: book.translate.xml:44183 +#: book.translate.xml:44237 msgid "" "The updates distributed by <command>freebsd-update</command> do not always " "involve the kernel. It is not necessary to rebuild a custom kernel if the " @@ -63095,12 +64325,12 @@ msgstr "" "更新。" #. (itstool) path: sect2/title -#: book.translate.xml:44201 +#: book.translate.xml:44255 msgid "Performing Major and Minor Version Upgrades" msgstr "執行主要及次要版號升級" #. (itstool) path: sect2/para -#: book.translate.xml:44203 +#: book.translate.xml:44257 msgid "" "Upgrades from one minor version of FreeBSD to another, like from FreeBSD 9.0 " "to FreeBSD 9.1, are called <firstterm>minor version</firstterm> upgrades. " @@ -63116,7 +64346,7 @@ msgstr "" "以透過提供 <command>freebsd-update</command> 目標的發佈版本來執行。" #. (itstool) path: note/para -#: book.translate.xml:44213 +#: book.translate.xml:44267 msgid "" "If the system is running a custom kernel, make sure that a copy of the " "<filename>GENERIC</filename> kernel exists in <filename>/boot/GENERIC</" @@ -63130,20 +64360,20 @@ msgstr "" "何取得 <filename>GENERIC</filename> 核心複本的說明。" #. (itstool) path: sect2/para -#: book.translate.xml:44221 +#: book.translate.xml:44275 msgid "" "The following command, when run on a FreeBSD 9.0 system, will upgrade it to " "FreeBSD 9.1:" msgstr "在 FreeBSD 9.0 系統執行以下指令,將會把系統升級至 FreeBSD 9.1:" #. (itstool) path: sect2/screen -#: book.translate.xml:44224 +#: book.translate.xml:44278 #, no-wrap msgid "<prompt>#</prompt> <userinput>freebsd-update -r 9.1-RELEASE upgrade</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44226 +#: book.translate.xml:44280 msgid "" "After the command has been received, <command>freebsd-update</command> will " "evaluate the configuration file and current system in an attempt to gather " @@ -63154,7 +64384,7 @@ msgstr "" "統來收集升級所需的資訊。 螢幕會顯示偵測到或沒偵測到的元件清單。例如:" #. (itstool) path: sect2/screen -#: book.translate.xml:44233 +#: book.translate.xml:44287 #, no-wrap msgid "" "Looking up update.FreeBSD.org mirrors... 1 mirrors found.\n" @@ -63176,7 +64406,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44250 +#: book.translate.xml:44304 msgid "" "At this point, <command>freebsd-update</command> will attempt to download " "all files required for the upgrade. In some cases, the user may be prompted " @@ -63186,14 +64416,14 @@ msgstr "" "些情況,會詢問使用者一些關於要安裝什麼或要如何繼續。" #. (itstool) path: sect2/para -#: book.translate.xml:44255 +#: book.translate.xml:44309 msgid "" "When using a custom kernel, the above step will produce a warning similar to " "the following:" msgstr "當使用自訂核心,上述的步驟將會產生如下的警告:" #. (itstool) path: sect2/screen -#: book.translate.xml:44258 +#: book.translate.xml:44312 #, no-wrap msgid "" "WARNING: This system is running a \"<replaceable>MYKERNEL</replaceable>\" kernel, which is not a\n" @@ -63203,7 +64433,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44263 +#: book.translate.xml:44317 msgid "" "This warning may be safely ignored at this point. The updated " "<filename>GENERIC</filename> kernel will be used as an intermediate step in " @@ -63213,7 +64443,7 @@ msgstr "" "filename> 核心來進行。" #. (itstool) path: sect2/para -#: book.translate.xml:44267 +#: book.translate.xml:44321 msgid "" "Once all the patches have been downloaded to the local system, they will be " "applied. This process may take a while, depending on the speed and workload " @@ -63234,7 +64464,7 @@ msgstr "" "或 <filename>group</filename>。" #. (itstool) path: note/para -#: book.translate.xml:44281 +#: book.translate.xml:44335 msgid "" "The system is not being altered yet as all patching and merging is happening " "in another directory. Once all patches have been applied successfully, all " @@ -63248,13 +64478,13 @@ msgstr "" #. (itstool) path: note/screen #. (itstool) path: sect2/screen #. (itstool) path: sect3/screen -#: book.translate.xml:44288 book.translate.xml:44325 book.translate.xml:44419 +#: book.translate.xml:44342 book.translate.xml:44379 book.translate.xml:44473 #, no-wrap msgid "<prompt>#</prompt> <userinput>freebsd-update install</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44291 +#: book.translate.xml:44345 msgid "" "The kernel and kernel modules will be patched first. If the system is " "running with a custom kernel, use <citerefentry><refentrytitle>nextboot</" @@ -63267,13 +64497,13 @@ msgstr "" "GENERIC</filename>:" #. (itstool) path: sect2/screen -#: book.translate.xml:44296 +#: book.translate.xml:44350 #, no-wrap msgid "<prompt>#</prompt> <userinput>nextboot -k GENERIC</userinput>" msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:44299 +#: book.translate.xml:44353 msgid "" "Before rebooting with the <filename>GENERIC</filename> kernel, make sure it " "contains all the drivers required for the system to boot properly and " @@ -63292,18 +64522,18 @@ msgstr "" "filename> 核心。建議關閉非必須的服務和磁碟與網路掛載直到升級程序完成。" #. (itstool) path: sect2/para -#: book.translate.xml:44313 +#: book.translate.xml:44367 msgid "The machine should now be restarted with the updated kernel:" msgstr "機器現在應使用更新過的核心重新開機:" #. (itstool) path: sect2/screen -#: book.translate.xml:44316 +#: book.translate.xml:44370 #, no-wrap msgid "<prompt>#</prompt> <userinput>shutdown -r now</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44318 +#: book.translate.xml:44372 msgid "" "Once the system has come back online, restart <command>freebsd-update</" "command> using the following command. Since the state of the process has " @@ -63316,14 +64546,14 @@ msgstr "" "一個階段並移除所有舊的共用程式庫和目標檔。" #. (itstool) path: note/para -#: book.translate.xml:44328 +#: book.translate.xml:44382 msgid "" "Depending upon whether any library version numbers were bumped, there may " "only be two install phases instead of three." msgstr "取決於是否有任何程式庫版本編號衝突,也可能只有兩個而不是三個安裝階段。" #. (itstool) path: sect2/para -#: book.translate.xml:44333 +#: book.translate.xml:44387 msgid "" "The upgrade is now complete. If this was a major version upgrade, reinstall " "all ports and packages as described in <xref linkend=\"freebsdupdate-" @@ -63333,12 +64563,12 @@ msgstr "" "\"freebsdupdate-portsrebuild\"/> 的說明重新安裝所有的 Port 和套件。" #. (itstool) path: sect3/title -#: book.translate.xml:44338 +#: book.translate.xml:44392 msgid "Custom Kernels with FreeBSD 9.X and Later" msgstr "在 FreeBSD 9.X 及之後版本自訂核心" #. (itstool) path: sect3/para -#: book.translate.xml:44340 +#: book.translate.xml:44394 msgid "" "Before using <command>freebsd-update</command>, ensure that a copy of the " "<filename>GENERIC</filename> kernel exists in <filename>/boot/GENERIC</" @@ -63352,7 +64582,7 @@ msgstr "" "literal> 核心,只需要將該目錄重新命名為 <filename>/boot/kernel</filename>。" #. (itstool) path: sect3/para -#: book.translate.xml:44348 +#: book.translate.xml:44402 msgid "" "If a custom kernel has been built more than once or if it is unknown how " "many times the custom kernel has been built, obtain a copy of the " @@ -63366,7 +64596,7 @@ msgstr "" "則可以從安裝媒體取得 <literal>GENERIC</literal> 核心複本:" #. (itstool) path: sect3/screen -#: book.translate.xml:44356 +#: book.translate.xml:44410 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mount /cdrom</userinput>\n" @@ -63375,14 +64605,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:44360 +#: book.translate.xml:44414 msgid "" "Alternately, the <literal>GENERIC</literal> kernel may be rebuilt and " "installed from source:" msgstr "或者,可以從原始碼重新編譯 <literal>GENERIC</literal> 核心:" #. (itstool) path: sect3/screen -#: book.translate.xml:44363 +#: book.translate.xml:44417 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/src</userinput>\n" @@ -63390,7 +64620,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:44366 +#: book.translate.xml:44420 msgid "" "For this kernel to be identified as the <literal>GENERIC</literal> kernel by " "<command>freebsd-update</command>, the <filename>GENERIC</filename> " @@ -63402,7 +64632,7 @@ msgstr "" "在編譯核心時不要使用其他特殊選項。" #. (itstool) path: sect3/para -#: book.translate.xml:44374 +#: book.translate.xml:44428 msgid "" "Rebooting into the <filename>GENERIC</filename> kernel is not required as " "<command>freebsd-update</command> only needs <filename>/boot/GENERIC</" @@ -63412,12 +64642,12 @@ msgstr "" "存在便可,因此不須重新開機進入 <filename>GENERIC</filename>。" #. (itstool) path: sect3/title -#: book.translate.xml:44380 +#: book.translate.xml:44434 msgid "Upgrading Packages After a Major Version Upgrade" msgstr "主要版號升級後的套件升級" #. (itstool) path: sect3/para -#: book.translate.xml:44383 +#: book.translate.xml:44437 msgid "" "Generally, installed applications will continue to work without problems " "after minor version upgrades. Major versions use different Application " @@ -63435,7 +64665,7 @@ msgstr "" "package> 工具。" #. (itstool) path: sect3/para -#: book.translate.xml:44394 +#: book.translate.xml:44448 msgid "" "A forced upgrade of all installed packages will replace the packages with " "fresh versions from the repository even if the version number has not " @@ -63448,20 +64678,20 @@ msgstr "" "制升級可以執行以下指令來完成:" #. (itstool) path: sect3/screen -#: book.translate.xml:44401 +#: book.translate.xml:44455 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg-static upgrade -f</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:44403 +#: book.translate.xml:44457 msgid "" "A rebuild of all installed applications can be accomplished with this " "command:" msgstr "重新編譯所有已安裝的應用程式可以執行以下指令來完成:" #. (itstool) path: sect3/para -#: book.translate.xml:44408 +#: book.translate.xml:44462 msgid "" "This command will display the configuration screens for each application " "that has configurable options and wait for the user to interact with those " @@ -63473,7 +64703,7 @@ msgstr "" "option> 參數。" #. (itstool) path: sect3/para -#: book.translate.xml:44414 +#: book.translate.xml:44468 msgid "" "Once the software upgrades are complete, finish the upgrade process with a " "final call to <command>freebsd-update</command> in order to tie up all the " @@ -63483,7 +64713,7 @@ msgstr "" "動作:" #. (itstool) path: sect3/para -#: book.translate.xml:44421 +#: book.translate.xml:44475 msgid "" "If the <filename>GENERIC</filename> kernel was temporarily used, this is the " "time to build and install a new custom kernel using the instructions in " @@ -63493,19 +64723,19 @@ msgstr "" "\"kernelconfig\"/> 的說明編譯並安裝新的自訂核心。" #. (itstool) path: sect3/para -#: book.translate.xml:44425 +#: book.translate.xml:44479 msgid "" "Reboot the machine into the new FreeBSD version. The upgrade process is now " "complete." msgstr "重新開機使用新的 FreeBSD 版本後,升級程序便正式完成。" #. (itstool) path: sect2/title -#: book.translate.xml:44431 +#: book.translate.xml:44485 msgid "System State Comparison" msgstr "比對系統狀態" #. (itstool) path: sect2/para -#: book.translate.xml:44433 +#: book.translate.xml:44487 msgid "" "The state of the installed FreeBSD version against a known good copy can be " "tested using <command>freebsd-update IDS</command>. This command evaluates " @@ -63519,7 +64749,7 @@ msgstr "" "<acronym>IDS</acronym>)。" #. (itstool) path: warning/para -#: book.translate.xml:44441 +#: book.translate.xml:44495 msgid "" "This command is not a replacement for a real <acronym>IDS</acronym> such as " "<package>security/snort</package>. As <command>freebsd-update</command> " @@ -63541,19 +64771,19 @@ msgstr "" "<acronym>IDS</acronym> 功能,在 <xref linkend=\"security-ids\"/> 有詳細說明。" #. (itstool) path: sect2/para -#: book.translate.xml:44456 +#: book.translate.xml:44510 msgid "" "To begin the comparison, specify the output file to save the results to:" msgstr "要開始比對,需指定輸出的檔案來儲存結果:" #. (itstool) path: sect2/screen -#: book.translate.xml:44459 +#: book.translate.xml:44513 #, no-wrap msgid "<prompt>#</prompt> <userinput>freebsd-update IDS >> outfile.ids</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44461 +#: book.translate.xml:44515 msgid "" "The system will now be inspected and a lengthy listing of files, along with " "the <acronym>SHA256</acronym> hash values for both the known value in the " @@ -63564,7 +64794,7 @@ msgstr "" "版本的 <acronym>SHA256</acronym> 雜湊值會儲存到指定的輸出檔。" #. (itstool) path: sect2/para -#: book.translate.xml:44467 +#: book.translate.xml:44521 msgid "" "The entries in the listing are extremely long, but the output format may be " "easily parsed. For instance, to obtain a list of all files which differ from " @@ -63574,7 +64804,7 @@ msgstr "" "版本不同的檔案清單,可使用以下指令:" #. (itstool) path: sect2/screen -#: book.translate.xml:44472 +#: book.translate.xml:44526 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cat outfile.ids | awk '{ print $1 }' | more</userinput>\n" @@ -63585,7 +64815,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44478 +#: book.translate.xml:44532 msgid "" "This sample output has been truncated as many more files exist. Some files " "have natural modifications. For example, <filename>/etc/passwd</filename> " @@ -63602,17 +64832,17 @@ msgstr "" "的 <literal>IDSIgnorePaths</literal> 選項。" #. (itstool) path: sect1/title -#: book.translate.xml:44490 +#: book.translate.xml:44544 msgid "Updating the Documentation Set" msgstr "更新文件集" #. (itstool) path: sect1/indexterm -#: book.translate.xml:44494 +#: book.translate.xml:44548 msgid "<primary>Documentation</primary> <see>Updating and Upgrading</see>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:44499 +#: book.translate.xml:44553 msgid "" "Documentation is an integral part of the FreeBSD operating system. While an " "up-to-date version of the FreeBSD documentation is always available on the " @@ -63626,7 +64856,7 @@ msgstr "" "<acronym>FAQ</acronym> 及文章的本地複本。" #. (itstool) path: sect1/para -#: book.translate.xml:44505 +#: book.translate.xml:44559 msgid "" "This section describes how to use either source or the FreeBSD Ports " "Collection to keep a local copy of the FreeBSD documentation up-to-date." @@ -63635,7 +64865,7 @@ msgstr "" "複本。" #. (itstool) path: sect1/para -#: book.translate.xml:44509 +#: book.translate.xml:44563 msgid "" "For information on editing and submitting corrections to the documentation, " "refer to the FreeBSD Documentation Project Primer for New Contributors " @@ -63647,12 +64877,12 @@ msgstr "" "freebsd.org/doc/zh_TW.UTF-8/books/fdp-primer/</link>)。" #. (itstool) path: sect2/title -#: book.translate.xml:44514 +#: book.translate.xml:44568 msgid "Updating Documentation from Source" msgstr "自原始碼更新說明文件" #. (itstool) path: sect2/para -#: book.translate.xml:44516 +#: book.translate.xml:44570 msgid "" "Rebuilding the FreeBSD documentation from source requires a collection of " "tools which are not part of the FreeBSD base system. The required tools, " @@ -63665,7 +64895,7 @@ msgstr "" "<package>textproc/docproj</package> 套件或 Port 安裝。" #. (itstool) path: sect2/para -#: book.translate.xml:44523 +#: book.translate.xml:44577 msgid "" "Once installed, use <application>svn</application> to fetch a clean copy of " "the documentation source:" @@ -63674,31 +64904,31 @@ msgstr "" "本:" #. (itstool) path: sect2/screen -#: book.translate.xml:44526 +#: book.translate.xml:44580 #, no-wrap msgid "<prompt>#</prompt> <userinput>svn checkout https://svn.FreeBSD.org/doc/head /usr/doc</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44528 +#: book.translate.xml:44582 msgid "" "The initial download of the documentation sources may take a while. Let it " "run until it completes." msgstr "第一次下載文件原始碼需要一些時間,請耐心等候執行完畢。" #. (itstool) path: sect2/para -#: book.translate.xml:44531 +#: book.translate.xml:44585 msgid "Future updates of the documentation sources may be fetched by running:" msgstr "往後更新文件原始碼可執行:" #. (itstool) path: sect2/screen -#: book.translate.xml:44534 +#: book.translate.xml:44588 #, no-wrap msgid "<prompt>#</prompt> <userinput>svn update /usr/doc</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44536 +#: book.translate.xml:44590 msgid "" "Once an up-to-date snapshot of the documentation sources has been fetched to " "<filename>/usr/doc</filename>, everything is ready for an update of the " @@ -63708,12 +64938,12 @@ msgstr "" "文件的準備動作。" #. (itstool) path: sect2/para -#: book.translate.xml:44540 +#: book.translate.xml:44594 msgid "A full update of all available languages may be performed by typing:" msgstr "完整更新所有可用的語言可以執行:" #. (itstool) path: sect2/screen -#: book.translate.xml:44543 +#: book.translate.xml:44597 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/doc</userinput>\n" @@ -63721,7 +64951,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44546 +#: book.translate.xml:44600 msgid "" "If an update of only a specific language is desired, <command>make</command> " "can be invoked in a language-specific subdirectory of <filename>/usr/doc</" @@ -63731,7 +64961,7 @@ msgstr "" "行 <command>make</command>:" #. (itstool) path: sect2/screen -#: book.translate.xml:44551 +#: book.translate.xml:44605 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/doc/en_US.ISO8859-1</userinput>\n" @@ -63739,7 +64969,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44554 +#: book.translate.xml:44608 msgid "" "An alternative way of updating the documentation is to run this command from " "<filename>/usr/doc</filename> or the desired language-specific subdirectory:" @@ -63748,20 +64978,20 @@ msgstr "" "行此指令:" #. (itstool) path: sect2/screen -#: book.translate.xml:44558 +#: book.translate.xml:44612 #, no-wrap msgid "<prompt>#</prompt> <userinput>make update</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44560 +#: book.translate.xml:44614 msgid "" "The output formats that will be installed may be specified by setting " "<varname>FORMATS</varname>:" msgstr "要指定安裝的輸出格式可使用 <varname>FORMATS</varname> 來設定:" #. (itstool) path: sect2/screen -#: book.translate.xml:44563 +#: book.translate.xml:44617 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/doc</userinput>\n" @@ -63769,7 +64999,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44566 +#: book.translate.xml:44620 msgid "" "Several options are available to ease the process of updating only parts of " "the documentation, or the build of specific translations. These options can " @@ -63781,17 +65011,17 @@ msgstr "" "給 <command>make</command>。" #. (itstool) path: sect2/para -#: book.translate.xml:44573 +#: book.translate.xml:44627 msgid "The options include:" msgstr "選項有:" #. (itstool) path: varlistentry/term -#: book.translate.xml:44577 +#: book.translate.xml:44631 msgid "<varname>DOC_LANG</varname>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:44580 +#: book.translate.xml:44634 msgid "" "The list of languages and encodings to build and install, such as " "<literal>en_US.ISO8859-1</literal> for English documentation." @@ -63800,12 +65030,12 @@ msgstr "" "語文件。" #. (itstool) path: varlistentry/term -#: book.translate.xml:44587 +#: book.translate.xml:44641 msgid "<varname>FORMATS</varname>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:44590 +#: book.translate.xml:44644 msgid "" "A single format or a list of output formats to be built. Currently, " "<literal>html</literal>, <literal>html-split</literal>, <literal>txt</" @@ -63816,19 +65046,19 @@ msgstr "" "literal>。" #. (itstool) path: varlistentry/term -#: book.translate.xml:44599 +#: book.translate.xml:44653 msgid "<varname>DOCDIR</varname>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:44602 +#: book.translate.xml:44656 msgid "" "Where to install the documentation. It defaults to <filename>/usr/share/doc</" "filename>." msgstr "要安裝文件的位置,預設為 <filename>/usr/share/doc</filename>。" #. (itstool) path: sect2/para -#: book.translate.xml:44608 +#: book.translate.xml:44662 msgid "" "For more <command>make</command> variables supported as system-wide options " "in FreeBSD, refer to <citerefentry><refentrytitle>make.conf</" @@ -63839,25 +65069,25 @@ msgstr "" "manvolnum></citerefentry>。" #. (itstool) path: info/title -#: book.translate.xml:44615 +#: book.translate.xml:44669 msgid "Updating Documentation from Ports" msgstr "自 Port 更新說明文件" #. (itstool) path: authorgroup/author -#: book.translate.xml:44618 +#: book.translate.xml:44672 msgid "" "<personname> <firstname>Marc</firstname> <surname>Fonvieille</surname> </" "personname> <contrib>Based on the work of </contrib>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:44632 +#: book.translate.xml:44686 msgid "" "<primary>documentation package</primary> <see>Updating and Upgrading</see>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44637 +#: book.translate.xml:44691 msgid "" "The previous section presented a method for updating the FreeBSD " "documentation from sources. This section describes an alternative method " @@ -63867,21 +65097,21 @@ msgstr "" "方法,可由以下方式達成:" #. (itstool) path: listitem/para -#: book.translate.xml:44644 +#: book.translate.xml:44698 msgid "" "Install pre-built packages of the documentation, without having to locally " "build anything or install the documentation toolchain." msgstr "安裝事先編譯好的文件套件,無須在本地編譯任何東西或安裝文件工具集。" #. (itstool) path: listitem/para -#: book.translate.xml:44650 +#: book.translate.xml:44704 msgid "" "Build the documentation sources through the ports framework, making the " "checkout and build steps a bit easier." msgstr "使用 Port 框架來編譯文件原始碼,可讓取得與編譯文件的步驟更簡單。" #. (itstool) path: sect2/para -#: book.translate.xml:44656 +#: book.translate.xml:44710 msgid "" "This method of updating the FreeBSD documentation is supported by a set of " "documentation ports and packages which are updated by the Documentation " @@ -63896,12 +65126,12 @@ msgstr "" "org/docs/\">http://www.freshports.org/docs/</link>)。" #. (itstool) path: sect2/para -#: book.translate.xml:44662 +#: book.translate.xml:44716 msgid "Organization of the documentation ports is as follows:" msgstr "文件 Port 的組織方式如下:" #. (itstool) path: listitem/para -#: book.translate.xml:44667 +#: book.translate.xml:44721 msgid "" "The <package>misc/freebsd-doc-en</package> package or port installs all of " "the English documentation." @@ -63909,7 +65139,7 @@ msgstr "" "<package>misc/freebsd-doc-en</package> 套件或 Port 會安裝所有英語的文件。" #. (itstool) path: listitem/para -#: book.translate.xml:44672 +#: book.translate.xml:44726 msgid "" "The <package>misc/freebsd-doc-all</package> meta-package or port installs " "all documentation in all available languages." @@ -63918,7 +65148,7 @@ msgstr "" "件。" #. (itstool) path: listitem/para -#: book.translate.xml:44678 +#: book.translate.xml:44732 msgid "" "There is a package and port for each translation, such as <package>misc/" "freebsd-doc-hu</package> for the Hungarian documentation." @@ -63927,7 +65157,7 @@ msgstr "" "利語文件。" #. (itstool) path: sect2/para -#: book.translate.xml:44684 +#: book.translate.xml:44738 msgid "" "When binary packages are used, the FreeBSD documentation will be installed " "in all available formats for the given language. For example, the following " @@ -63937,13 +65167,13 @@ msgstr "" "會安裝最新的匈牙利語文件套件:" #. (itstool) path: sect2/screen -#: book.translate.xml:44689 +#: book.translate.xml:44743 #, no-wrap msgid "<prompt>#</prompt> <userinput>pkg install hu-freebsd-doc</userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:44692 +#: book.translate.xml:44746 msgid "" "Packages use a format that differs from the corresponding port's name: " "<literal><replaceable>lang</replaceable>-freebsd-doc</literal>, where " @@ -63957,7 +65187,7 @@ msgstr "" "literal> 代表簡體中文。" #. (itstool) path: sect2/para -#: book.translate.xml:44701 +#: book.translate.xml:44755 msgid "" "To specify the format of the documentation, build the port instead of " "installing the package. For example, to build and install the English " @@ -63966,7 +65196,7 @@ msgstr "" "要指定文件的格式,需以編譯 Port 來代替安裝套件。例如要編譯並安裝英語文件:" #. (itstool) path: sect2/screen -#: book.translate.xml:44705 +#: book.translate.xml:44759 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/misc/freebsd-doc-en</userinput>\n" @@ -63974,7 +65204,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44708 +#: book.translate.xml:44762 msgid "" "The port provides a configuration menu where the format to build and install " "can be specified. By default, split <acronym>HTML</acronym>, similar to the " @@ -63986,7 +65216,7 @@ msgstr "" "FreeBSD.org</uri> 使用的格式) 以及 <acronym>PDF</acronym>。" #. (itstool) path: sect2/para -#: book.translate.xml:44713 +#: book.translate.xml:44767 msgid "" "Alternately, several <command>make</command> options can be specified when " "building a documentation port, including:" @@ -63994,12 +65224,12 @@ msgstr "" "此外,編譯文件 Port 時也可指定數個 <command>make</command> 選項,包括:" #. (itstool) path: varlistentry/term -#: book.translate.xml:44719 +#: book.translate.xml:44773 msgid "<varname>WITH_HTML</varname>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:44722 +#: book.translate.xml:44776 msgid "" "Builds the HTML format with a single HTML file per document. The formatted " "documentation is saved to a file called <filename>article.html</filename>, " @@ -64009,12 +65239,12 @@ msgstr "" "<filename>article.html</filename> 或 <filename>book.html</filename> 的檔案。" #. (itstool) path: varlistentry/term -#: book.translate.xml:44730 +#: book.translate.xml:44784 msgid "<varname>WITH_PDF</varname>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:44733 +#: book.translate.xml:44787 msgid "" "The formatted documentation is saved to a file called <filename>article.pdf</" "filename> or <filename>book.pdf</filename>." @@ -64023,12 +65253,12 @@ msgstr "" "<filename>book.pdf</filename> 的檔案。" #. (itstool) path: varlistentry/term -#: book.translate.xml:44740 +#: book.translate.xml:44794 msgid "<varname>DOCBASE</varname>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:44743 +#: book.translate.xml:44797 msgid "" "Specifies where to install the documentation. It defaults to <filename>/usr/" "local/share/doc/freebsd</filename>." @@ -64037,7 +65267,7 @@ msgstr "" "filename>。" #. (itstool) path: sect2/para -#: book.translate.xml:44750 +#: book.translate.xml:44804 msgid "" "This example uses variables to install the Hungarian documentation as a " "<acronym>PDF</acronym> in the specified directory:" @@ -64045,7 +65275,7 @@ msgstr "" "以下範例使用變數來安裝 <acronym>PDF</acronym> 的匈牙利語文件到特定目錄:" #. (itstool) path: sect2/screen -#: book.translate.xml:44754 +#: book.translate.xml:44808 #, no-wrap msgid "" "<prompt>#</prompt> cd /usr/ports/misc/freebsd-doc-hu\n" @@ -64053,7 +65283,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:44757 +#: book.translate.xml:44811 msgid "" "Documentation packages or ports can be updated using the instructions in " "<xref linkend=\"ports\"/>. For example, the following command updates the " @@ -64064,34 +65294,34 @@ msgstr "" "用 <package>ports-mgmt/portmaster</package> 更新已安裝的匈牙利語文件:" #. (itstool) path: sect2/screen -#: book.translate.xml:44763 +#: book.translate.xml:44817 #, no-wrap msgid "<prompt>#</prompt> <userinput>portmaster -PP hu-freebsd-doc</userinput>" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:44768 +#: book.translate.xml:44822 msgid "Tracking a Development Branch" msgstr "追蹤開發分支" #. (itstool) path: sect1/indexterm -#: book.translate.xml:44770 +#: book.translate.xml:44824 msgid "<primary>-CURRENT</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:44771 +#: book.translate.xml:44825 msgid "<primary>-STABLE</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:44773 +#: book.translate.xml:44827 msgid "" "FreeBSD has two development branches: FreeBSD-CURRENT and FreeBSD-STABLE." msgstr "FreeBSD 有兩個開發分支:FreeBSD-CURRENT 及 FreeBSD-STABLE。" #. (itstool) path: sect1/para -#: book.translate.xml:44776 +#: book.translate.xml:44830 msgid "" "This section provides an explanation of each branch and its intended " "audience, as well as how to keep a system up-to-date with each respective " @@ -64100,12 +65330,12 @@ msgstr "" "本節將說明每個分支及其的特定使用者,也會說明如何在各別分支維持系統為最新版。" #. (itstool) path: sect2/title -#: book.translate.xml:44781 +#: book.translate.xml:44835 msgid "Using FreeBSD-CURRENT" msgstr "使用 FreeBSD-CURRENT" #. (itstool) path: sect2/para -#: book.translate.xml:44783 +#: book.translate.xml:44837 msgid "" "FreeBSD-CURRENT is the <quote>bleeding edge</quote> of FreeBSD development " "and FreeBSD-CURRENT users are expected to have a high degree of technical " @@ -64117,7 +65347,7 @@ msgstr "" "支。" #. (itstool) path: sect2/para -#: book.translate.xml:44789 +#: book.translate.xml:44843 msgid "" "FreeBSD-CURRENT is the very latest source code for FreeBSD and includes " "works in progress, experimental changes, and transitional mechanisms that " @@ -64135,19 +65365,19 @@ msgstr "" "量這個問題。" #. (itstool) path: sect2/para -#: book.translate.xml:44799 +#: book.translate.xml:44853 msgid "FreeBSD-CURRENT is made available for three primary interest groups:" msgstr "FreeBSD-CURRENT 主要給下以三種族群:" #. (itstool) path: listitem/para -#: book.translate.xml:44804 +#: book.translate.xml:44858 msgid "" "Members of the FreeBSD community who are actively working on some part of " "the source tree." msgstr "致力於開發某一部份原始碼樹的 FreeBSD 社群成員。" #. (itstool) path: listitem/para -#: book.translate.xml:44809 +#: book.translate.xml:44863 msgid "" "Members of the FreeBSD community who are active testers. They are willing to " "spend time solving problems, making topical suggestions on changes and the " @@ -64157,7 +65387,7 @@ msgstr "" "及大方向提出專業建議並送交修補。" #. (itstool) path: listitem/para -#: book.translate.xml:44816 +#: book.translate.xml:44870 msgid "" "Users who wish to keep an eye on things, use the current source for " "reference purposes, or make the occasional comment or code contribution." @@ -64165,7 +65395,7 @@ msgstr "" "隨時關注的使用者,使用目前原始碼做為參考用途,或是偶爾提供意見或貢獻原始碼。" #. (itstool) path: sect2/para -#: book.translate.xml:44822 +#: book.translate.xml:44876 msgid "" "FreeBSD-CURRENT should <emphasis>not</emphasis> be considered a fast-track " "to getting new features before the next release as pre-release features are " @@ -64180,17 +65410,17 @@ msgstr "" "CURRENT 不在 <quote>官方支援</quote> 的範圍內。" #. (itstool) path: sect2/indexterm -#: book.translate.xml:44830 +#: book.translate.xml:44884 msgid "<primary>-CURRENT</primary> <secondary>using</secondary>" msgstr "<primary>-CURRENT</primary> <secondary>使用</secondary>" #. (itstool) path: sect2/para -#: book.translate.xml:44835 +#: book.translate.xml:44889 msgid "To track FreeBSD-CURRENT:" msgstr "若要追蹤 FreeBSD-CURRENT:" #. (itstool) path: listitem/para -#: book.translate.xml:44839 +#: book.translate.xml:44893 msgid "" "Join the <link xlink:href=\"http://lists.FreeBSD.org/mailman/listinfo/" "freebsd-current\">freebsd-current</link> and the <link xlink:href=\"http://" @@ -64206,7 +65436,7 @@ msgstr "" "收有關 FreeBSD-CURRENT 目前狀態的重要公告。" #. (itstool) path: listitem/para -#: book.translate.xml:44846 +#: book.translate.xml:44900 msgid "" "The <link xlink:href=\"http://lists.FreeBSD.org/mailman/listinfo/svn-src-head" "\">svn-src-head</link> list records the commit log entry for each change as " @@ -64217,7 +65447,7 @@ msgstr "" "用的相關資訊。" #. (itstool) path: listitem/para -#: book.translate.xml:44850 +#: book.translate.xml:44904 msgid "" "To join these lists, go to <link xlink:href=\"http://lists.FreeBSD.org/" "mailman/listinfo\">http://lists.FreeBSD.org/mailman/listinfo</link>, click " @@ -64233,7 +65463,7 @@ msgstr "" "listinfo/svn-src-all\">svn-src-all</link> 郵遞論壇。" #. (itstool) path: listitem/para -#: book.translate.xml:44858 +#: book.translate.xml:44912 msgid "" "Synchronize with the FreeBSD-CURRENT sources. Typically, <link linkend=\"svn" "\">svn</link> is used to check out the -CURRENT code from the <literal>head</" @@ -64245,7 +65475,7 @@ msgstr "" "<literal>head</literal> 分支中取出 -CURRENT 的程式碼。" #. (itstool) path: listitem/para -#: book.translate.xml:44866 +#: book.translate.xml:44920 msgid "" "Due to the size of the repository, some users choose to only synchronize the " "sections of source that interest them or which they are contributing patches " @@ -64258,12 +65488,12 @@ msgstr "" "的 FreeBSD-CURRENT,不可只有選擇的部份。" #. (itstool) path: para/indexterm -#: book.translate.xml:44874 +#: book.translate.xml:44928 msgid "<primary>-CURRENT</primary> <secondary>compiling</secondary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:44873 +#: book.translate.xml:44927 msgid "" "Before compiling FreeBSD-CURRENT <_:indexterm-1/>, read <filename>/usr/src/" "Makefile</filename> very carefully and follow the instructions in <xref " @@ -64280,7 +65510,7 @@ msgstr "" "filename> 來了解升級的相關資訊,有時會含有升級下一個發行版的必要資訊。" #. (itstool) path: listitem/para -#: book.translate.xml:44888 +#: book.translate.xml:44942 msgid "" "Be active! FreeBSD-CURRENT users are encouraged to submit their suggestions " "for enhancements or bug fixes. Suggestions with accompanying code are always " @@ -64290,12 +65520,12 @@ msgstr "" "議。 如果您在建議時能附上相關程式碼的話, 那真是太棒了!" #. (itstool) path: sect2/title -#: book.translate.xml:44897 +#: book.translate.xml:44951 msgid "Using FreeBSD-STABLE" msgstr "使用 FreeBSD-STABLE" #. (itstool) path: sect2/para -#: book.translate.xml:44899 +#: book.translate.xml:44953 msgid "" "FreeBSD-STABLE is the development branch from which major releases are made. " "Changes go into this branch at a slower pace and with the general assumption " @@ -64313,7 +65543,7 @@ msgstr "" "資源可供測試的使用者應該改使用最新的 FreeBSD 發行版。" #. (itstool) path: sect2/para -#: book.translate.xml:44910 +#: book.translate.xml:44964 msgid "" "Those interested in tracking or contributing to the FreeBSD development " "process, especially as it relates to the next release of FreeBSD, should " @@ -64323,7 +65553,7 @@ msgstr "" "內容有興趣的人,應該考慮追蹤 FreeBSD-STABLE。" #. (itstool) path: sect2/para -#: book.translate.xml:44914 +#: book.translate.xml:44968 msgid "" "While the FreeBSD-STABLE branch should compile and run at all times, this " "cannot be guaranteed. Since more people run FreeBSD-STABLE than FreeBSD-" @@ -64342,17 +65572,17 @@ msgstr "" "服器為 FreeBSD-STABLE。" #. (itstool) path: sect2/para -#: book.translate.xml:44924 +#: book.translate.xml:44978 msgid "To track FreeBSD-STABLE:" msgstr "若要追蹤 FreeBSD-STABLE:" #. (itstool) path: sect2/indexterm -#: book.translate.xml:44926 +#: book.translate.xml:44980 msgid "<primary>-STABLE</primary> <secondary>using</secondary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:44932 +#: book.translate.xml:44986 msgid "" "Join the <link xlink:href=\"http://lists.FreeBSD.org/mailman/listinfo/" "freebsd-stable\">freebsd-stable</link> list in order to stay informed of " @@ -64368,7 +65598,7 @@ msgstr "" "在這裡發信公告,讓使用者有機會可以對提案的更改提出問題。" #. (itstool) path: listitem/para -#: book.translate.xml:44941 +#: book.translate.xml:44995 msgid "" "Join the relevant <application>svn</application> list for the branch being " "tracked. For example, users tracking the 9-STABLE branch should join the " @@ -64383,7 +65613,7 @@ msgstr "" "個郵遞論壇會記錄每一次修改的提交項目,以及可能產生的副作用的相關資訊。" #. (itstool) path: listitem/para -#: book.translate.xml:44949 +#: book.translate.xml:45003 msgid "" "To join these lists, go to <link xlink:href=\"http://lists.FreeBSD.org/" "mailman/listinfo\">http://lists.FreeBSD.org/mailman/listinfo</link>, click " @@ -64398,7 +65628,7 @@ msgstr "" "listinfo/svn-src-all\">svn-src-all</link> 郵遞論壇。" #. (itstool) path: listitem/para -#: book.translate.xml:44956 +#: book.translate.xml:45010 msgid "" "To install a new FreeBSD-STABLE system, install the most recent FreeBSD-" "STABLE release from the <link linkend=\"mirrors\">FreeBSD mirror sites</" @@ -64412,7 +65642,7 @@ msgstr "" "freebsd.org/snapshots</link> 來取得更多有關快照的資訊。" #. (itstool) path: listitem/para -#: book.translate.xml:44961 +#: book.translate.xml:45015 msgid "" "To compile or upgrade to an existing FreeBSD system to FreeBSD-STABLE, use " "<link linkend=\"svn\">svn</link> <_:indexterm-1/> to check out the source " @@ -64426,12 +65656,12 @@ msgstr "" "link>,例如 <literal>stable/9</literal>。" #. (itstool) path: para/indexterm -#: book.translate.xml:44972 +#: book.translate.xml:45026 msgid "<primary>-STABLE</primary> <secondary>compiling</secondary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:44971 +#: book.translate.xml:45025 msgid "" "Before compiling or upgrading to FreeBSD-STABLE <_:indexterm-1/>, read " "<filename>/usr/src/Makefile</filename> carefully and follow the instructions " @@ -64448,12 +65678,12 @@ msgstr "" "filename> 來了解升級的相關資訊,有時會含有升級下一個發行版的必要資訊。" #. (itstool) path: sect1/title -#: book.translate.xml:44986 +#: book.translate.xml:45040 msgid "Synchronizing Source" msgstr "同步原始碼" #. (itstool) path: sect1/para -#: book.translate.xml:44988 +#: book.translate.xml:45042 msgid "" "There are various methods for staying up-to-date with the FreeBSD sources. " "This section describes the primary service, <application>Subversion</" @@ -64463,7 +65693,7 @@ msgstr "" "<application>Subversion</application>。" #. (itstool) path: warning/para -#: book.translate.xml:44993 +#: book.translate.xml:45047 msgid "" "While it is possible to update only parts of the source tree, the only " "supported update procedure is to update the entire tree and recompile all " @@ -64480,7 +65710,7 @@ msgstr "" "題。" #. (itstool) path: sect1/para -#: book.translate.xml:45007 +#: book.translate.xml:45061 msgid "" "<application>Subversion</application> uses the <emphasis>pull</emphasis> " "model of updating sources. The user, or a <command>cron</command> script, " @@ -64494,7 +65724,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:45019 +#: book.translate.xml:45073 msgid "" "If a user inadvertently wipes out portions of the local archive, " "<application>Subversion</application> will detect and rebuild the damaged " @@ -64502,17 +65732,17 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:45025 +#: book.translate.xml:45079 msgid "Rebuilding World" msgstr "重新編譯 World" #. (itstool) path: sect1/indexterm -#: book.translate.xml:45027 +#: book.translate.xml:45081 msgid "<primary>Rebuilding <quote>world</quote></primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:45030 +#: book.translate.xml:45084 msgid "" "Once the local source tree is synchronized against a particular version of " "FreeBSD such as FreeBSD-STABLE or FreeBSD-CURRENT, the source tree can be " @@ -64522,19 +65752,19 @@ msgstr "" "同步以後,便可使用原始碼樹來重新編譯系統。這個程序即為重新編譯 World。" #. (itstool) path: sect1/para -#: book.translate.xml:45035 +#: book.translate.xml:45089 msgid "" "<emphasis>Before</emphasis> rebuilding world, be sure to perform the " "following tasks:" msgstr "在重新編譯 World <emphasis>之前</emphasis>,請確定已完成以下工作:" #. (itstool) path: procedure/title -#: book.translate.xml:45039 +#: book.translate.xml:45093 msgid "Perform These Tasks <emphasis>Before</emphasis> Building World" msgstr "編譯 World <emphasis>之前</emphasis> 要完成的工作" #. (itstool) path: step/para -#: book.translate.xml:45043 +#: book.translate.xml:45097 msgid "" "Backup all important data to another system or removable media, verify the " "integrity of the backup, and have a bootable installation media at hand. It " @@ -64551,12 +65781,12 @@ msgstr "" "非後悔。" #. (itstool) path: step/indexterm -#: book.translate.xml:45055 +#: book.translate.xml:45109 msgid "<primary>mailing list</primary>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:45056 +#: book.translate.xml:45110 msgid "" "Review the recent <link xlink:href=\"http://lists.FreeBSD.org/mailman/" "listinfo/freebsd-stable\">freebsd-stable</link> or <link xlink:href=\"http://" @@ -64577,7 +65807,7 @@ msgstr "" "修正。" #. (itstool) path: step/para -#: book.translate.xml:45067 +#: book.translate.xml:45121 msgid "" "Read <filename>/usr/src/UPDATING</filename> for any extra steps necessary " "for that version of the source. This file contains important information " @@ -64597,12 +65827,12 @@ msgstr "" "<filename>UPDATING</filename> 為準並應遵循其內容。" #. (itstool) path: warning/title -#: book.translate.xml:45083 +#: book.translate.xml:45137 msgid "Do Not Use <command>make world</command>" msgstr "不要使用 <command>make world</command>" #. (itstool) path: warning/para -#: book.translate.xml:45085 +#: book.translate.xml:45139 msgid "" "Some older documentation recommends using <command>make world</command>. " "However, that command skips some important steps and should only be used by " @@ -64614,12 +65844,12 @@ msgstr "" "錯的,並應使用此處說明的程序。" #. (itstool) path: sect2/title -#: book.translate.xml:45094 +#: book.translate.xml:45148 msgid "Overview of Process" msgstr "流程概述" #. (itstool) path: sect2/para -#: book.translate.xml:45096 +#: book.translate.xml:45150 msgid "" "The build world process assumes an upgrade from an older FreeBSD version " "using the source of a newer version that was obtained using the instructions " @@ -64629,7 +65859,7 @@ msgstr "" "原始碼來升級舊版的 FreeBSD。" #. (itstool) path: sect2/para -#: book.translate.xml:45100 +#: book.translate.xml:45154 msgid "" "In FreeBSD, the term <quote>world</quote> includes the kernel, core system " "binaries, libraries, programming files, and built-in compiler. The order in " @@ -64639,7 +65869,7 @@ msgstr "" "始碼以及內建的編譯器。這些元件編譯與安裝的順序非常重要。" #. (itstool) path: sect2/para -#: book.translate.xml:45105 +#: book.translate.xml:45159 msgid "" "For example, the old compiler might have a bug and not be able to compile " "the new kernel. Since the new kernel should be built with the new compiler, " @@ -64650,7 +65880,7 @@ msgstr "" "編譯,因此新的編譯器必需先編譯,但在新核心編譯前並不一定要安裝。" #. (itstool) path: sect2/para -#: book.translate.xml:45111 +#: book.translate.xml:45165 msgid "" "The new world might rely on new kernel features, so the new kernel must be " "installed before the new world is installed. The old world might not run " @@ -64663,7 +65893,7 @@ msgstr "" "馬上安裝新的 World。" #. (itstool) path: sect2/para -#: book.translate.xml:45117 +#: book.translate.xml:45171 msgid "" "Some configuration changes must be made before the new world is installed, " "but others might break the old world. Hence, two different configuration " @@ -64678,14 +65908,14 @@ msgstr "" "UPDATING</filename> 便會說明需要手動刪除的檔案以及操作的步驟。" #. (itstool) path: sect2/para -#: book.translate.xml:45126 +#: book.translate.xml:45180 msgid "" "These concerns have led to the recommended upgrade sequence described in the " "following procedure." msgstr "這些問題會影響接下來的建議升級順序。" #. (itstool) path: note/para -#: book.translate.xml:45130 +#: book.translate.xml:45184 msgid "" "It is a good idea to save the output from running <command>make</command> to " "a file. If something goes wrong, a copy of the error message can be posted " @@ -64695,7 +65925,7 @@ msgstr "" "可複製錯誤訊息張貼到 FreeBSD 郵遞論壇。" #. (itstool) path: note/para -#: book.translate.xml:45135 +#: book.translate.xml:45189 msgid "" "The easiest way to do this is to use <command>script</command> with a " "parameter that specifies the name of the file to save all output to. Do not " @@ -64710,7 +65940,7 @@ msgstr "" "World 之前執行這個指令,並在流程完成後輸入 <userinput>exit</userinput>:" #. (itstool) path: note/screen -#: book.translate.xml:45145 +#: book.translate.xml:45199 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>script <replaceable>/var/tmp/mw.out</replaceable></userinput>\n" @@ -64718,12 +65948,12 @@ msgid "" msgstr "" #. (itstool) path: procedure/title -#: book.translate.xml:45150 +#: book.translate.xml:45204 msgid "Overview of Build World Process" msgstr "編譯 World 流程概述" #. (itstool) path: procedure/para -#: book.translate.xml:45152 +#: book.translate.xml:45206 msgid "" "The commands used in the build world process should be run in the order " "specified here. This section summarizes the function of each command." @@ -64731,7 +65961,7 @@ msgstr "" "編譯 World 流程中使用的指令應依此處指定的順序執行。本節將摘要各指令的功能。" #. (itstool) path: step/para -#: book.translate.xml:45157 +#: book.translate.xml:45211 msgid "" "If the build world process has previously been run on this system, a copy of " "the previous build may still exist in <filename>/usr/obj</filename>. To " @@ -64743,7 +65973,7 @@ msgstr "" "在,請移除此目錄:" #. (itstool) path: step/screen -#: book.translate.xml:45164 +#: book.translate.xml:45218 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>chflags -R noschg /usr/obj/*</userinput>\n" @@ -64751,7 +65981,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:45169 +#: book.translate.xml:45223 msgid "" "Compile the new compiler and a few related tools, then use the new compiler " "to compile the rest of the new world. The result is saved to <filename>/usr/" @@ -64761,7 +65991,7 @@ msgstr "" "儲存到 <filename>/usr/obj</filename>。" #. (itstool) path: step/screen -#: book.translate.xml:45173 +#: book.translate.xml:45227 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/src</userinput>\n" @@ -64769,7 +65999,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:45178 +#: book.translate.xml:45232 msgid "" "Use the new compiler residing in <filename>/usr/obj</filename> to build the " "new kernel, in order to protect against compiler-kernel mismatches. This is " @@ -64783,13 +66013,13 @@ msgstr "" "的程式會無法運作。" #. (itstool) path: step/screen -#: book.translate.xml:45186 +#: book.translate.xml:45240 #, no-wrap msgid "<prompt>#</prompt> <userinput>make buildkernel</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:45190 +#: book.translate.xml:45244 msgid "" "Install the new kernel and kernel modules, making it possible to boot with " "the newly updated kernel. If <varname>kern.securelevel</varname> has been " @@ -64812,13 +66042,13 @@ msgstr "" "manvolnum></citerefentry> 取得有關各種檔案旗標的詳細資訊。" #. (itstool) path: step/screen -#: book.translate.xml:45202 +#: book.translate.xml:45256 #, no-wrap msgid "<prompt>#</prompt> <userinput>make installkernel</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:45206 +#: book.translate.xml:45260 msgid "" "Drop the system into single-user mode in order to minimize problems from " "updating any binaries that are already running. It also minimizes any " @@ -64828,20 +66058,20 @@ msgstr "" "可減少在新核心上執行舊 World 的問題。" #. (itstool) path: step/screen -#: book.translate.xml:45211 +#: book.translate.xml:45265 #, no-wrap msgid "<prompt>#</prompt> <userinput>shutdown now</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:45213 +#: book.translate.xml:45267 msgid "" "Once in single-user mode, run these commands if the system is formatted with " "UFS:" msgstr "進入單使用者模式後,若系統磁碟格式為 UFS 請執行以下指令:" #. (itstool) path: step/screen -#: book.translate.xml:45216 +#: book.translate.xml:45270 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mount -u /</userinput>\n" @@ -64850,7 +66080,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:45220 +#: book.translate.xml:45274 msgid "" "If the system is instead formatted with ZFS, run these two commands. This " "example assumes a zpool name of <literal>zroot</literal>:" @@ -64859,7 +66089,7 @@ msgstr "" "<literal>zroot</literal>:" #. (itstool) path: step/screen -#: book.translate.xml:45224 +#: book.translate.xml:45278 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>zfs set readonly=off zroot</userinput>\n" @@ -64867,7 +66097,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:45229 +#: book.translate.xml:45283 msgid "" "Optional: If a keyboard mapping other than the default US English is " "desired, it can be changed with <citerefentry><refentrytitle>kbdmap</" @@ -64878,13 +66108,13 @@ msgstr "" "citerefentry> 來變更:" #. (itstool) path: step/screen -#: book.translate.xml:45233 +#: book.translate.xml:45287 #, no-wrap msgid "<prompt>#</prompt> <userinput>kbdmap</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:45237 +#: book.translate.xml:45291 msgid "" "Then, for either file system, if the <acronym>CMOS</acronym> clock is set to " "local time (this is true if the output of <citerefentry><refentrytitle>date</" @@ -64896,13 +66126,13 @@ msgstr "" "citerefentry> 顯示不正確的時間與時區),請執行:" #. (itstool) path: step/screen -#: book.translate.xml:45242 +#: book.translate.xml:45296 #, no-wrap msgid "<prompt>#</prompt> <userinput>adjkerntz -i</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:45246 +#: book.translate.xml:45300 msgid "" "Remaking the world will not update certain directories, such as <filename>/" "etc</filename>, <filename>/var</filename> and <filename>/usr</filename>, " @@ -64925,19 +66155,19 @@ msgstr "" "linkend=\"mergemaster\"/> 來取得更多有關此指令的詳細操作說明:" #. (itstool) path: step/screen -#: book.translate.xml:45263 +#: book.translate.xml:45317 #, no-wrap msgid "<prompt>#</prompt> <userinput>mergemaster -p</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:45267 +#: book.translate.xml:45321 msgid "" "Install the new world and system binaries from <filename>/usr/obj</filename>." msgstr "從 <filename>/usr/obj</filename> 安裝新 World 與系統 Binary。" #. (itstool) path: step/screen -#: book.translate.xml:45270 +#: book.translate.xml:45324 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/src</userinput>\n" @@ -64945,18 +66175,18 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:45275 +#: book.translate.xml:45329 msgid "Update any remaining configuration files." msgstr "更新任何剩下的設定檔。" #. (itstool) path: step/screen -#: book.translate.xml:45277 +#: book.translate.xml:45331 #, no-wrap msgid "<prompt>#</prompt> <userinput>mergemaster -iF</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:45281 +#: book.translate.xml:45335 msgid "" "Delete any obsolete files. This is important as they may cause problems if " "left on the disk." @@ -64964,26 +66194,26 @@ msgstr "刪除任何過時的檔案。這很重要,因為若檔案遺留在磁 #. (itstool) path: step/screen #. (itstool) path: sect2/screen -#: book.translate.xml:45284 book.translate.xml:45671 +#: book.translate.xml:45338 book.translate.xml:45725 #, no-wrap msgid "<prompt>#</prompt> <userinput>make delete-old</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:45288 +#: book.translate.xml:45342 msgid "" "A full reboot is now needed to load the new kernel and new world with the " "new configuration files." msgstr "現在需要完整重新啟動來載入新的核心、新的 World 與新的設定檔。" #. (itstool) path: step/screen -#: book.translate.xml:45291 +#: book.translate.xml:45345 #, no-wrap msgid "<prompt>#</prompt> <userinput>reboot</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:45295 +#: book.translate.xml:45349 msgid "" "Make sure that all installed ports have first been rebuilt before old " "libraries are removed using the instructions in <xref linkend=\"ports-" @@ -64998,13 +66228,13 @@ msgstr "" #. (itstool) path: step/screen #. (itstool) path: sect2/screen -#: book.translate.xml:45302 book.translate.xml:45720 +#: book.translate.xml:45356 book.translate.xml:45774 #, no-wrap msgid "<prompt>#</prompt> <userinput>make delete-old-libs</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45308 +#: book.translate.xml:45362 msgid "" "If the system can have a window of down-time, consider compiling the system " "in single-user mode instead of compiling the system in multi-user mode, and " @@ -65019,17 +66249,17 @@ msgstr "" "是有使用者在使用時,是自找麻煩。" #. (itstool) path: sect2/indexterm -#: book.translate.xml:45321 +#: book.translate.xml:45375 msgid "<primary><filename>make.conf</filename></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45325 +#: book.translate.xml:45379 msgid "This build world process uses several configuration files." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45328 +#: book.translate.xml:45382 msgid "" "The <filename>Makefile</filename> located in <filename>/usr/src</filename> " "describes how the programs that comprise FreeBSD should be built and the " @@ -65037,7 +66267,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45333 +#: book.translate.xml:45387 msgid "" "The options available to <command>make</command> are described in " "<citerefentry><refentrytitle>make.conf</refentrytitle><manvolnum>5</" @@ -65054,12 +66284,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:45348 +#: book.translate.xml:45402 msgid "<primary><filename>src.conf</filename></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45352 +#: book.translate.xml:45406 msgid "" "How the operating system is built from source code is controlled by " "<filename>/etc/src.conf</filename>. Unlike <filename>/etc/make.conf</" @@ -65073,23 +66303,23 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:45364 +#: book.translate.xml:45418 msgid "Variables and Targets" msgstr "變數與目標" #. (itstool) path: sect2/para -#: book.translate.xml:45366 +#: book.translate.xml:45420 msgid "The general format for using <command>make</command> is as follows:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:45369 +#: book.translate.xml:45423 #, no-wrap msgid "<prompt>#</prompt> <userinput>make -<replaceable>x</replaceable> -D<replaceable>VARIABLE</replaceable> <replaceable>target</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45371 +#: book.translate.xml:45425 msgid "" "In this example, <option>-<replaceable>x</replaceable></option> is an option " "passed to <command>make</command>. Refer to " @@ -65098,7 +66328,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45376 +#: book.translate.xml:45430 msgid "" "To pass a variable, specify the variable name with <option>-" "D<replaceable>VARIABLE</replaceable></option>. The behavior of the " @@ -65109,25 +66339,25 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:45385 +#: book.translate.xml:45439 #, no-wrap msgid "<prompt>#</prompt> <userinput>make -DNO_PROFILE <replaceable>target</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45387 +#: book.translate.xml:45441 msgid "" "It corresponds with this setting in <filename>/etc/make.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:45390 +#: book.translate.xml:45444 #, no-wrap msgid "NO_PROFILE= true # Avoid compiling profiled libraries" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45392 +#: book.translate.xml:45446 msgid "" "The <replaceable>target</replaceable> tells <command>make</command> what to " "do and the <filename>Makefile</filename> defines the available targets. Some " @@ -65136,7 +66366,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45399 +#: book.translate.xml:45453 msgid "" "Having separate options is useful for two reasons. First, it allows for a " "build that does not affect any components of a running system. Because of " @@ -65146,7 +66376,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45407 +#: book.translate.xml:45461 msgid "" "Secondly, it allows <acronym>NFS</acronym> mounts to be used to upgrade " "multiple machines on a network, as described in <xref linkend=\"small-lan\"/" @@ -65154,7 +66384,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45411 +#: book.translate.xml:45465 msgid "" "It is possible to specify <option>-j</option> which will cause " "<command>make</command> to spawn several simultaneous processes. Since much " @@ -65164,7 +66394,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45419 +#: book.translate.xml:45473 msgid "" "On a single-<acronym>CPU</acronym> machine, run the following command to " "have up to 4 processes running at any one time. Empirical evidence posted to " @@ -65172,27 +66402,27 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:45424 +#: book.translate.xml:45478 #, no-wrap msgid "<prompt>#</prompt> <userinput>make -j4 buildworld</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45426 +#: book.translate.xml:45480 msgid "" "On a multi-<acronym>CPU</acronym> machine, try values between <literal>6</" "literal> and <literal>10</literal> to see how they speed things up." msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:45430 +#: book.translate.xml:45484 msgid "" "<primary>rebuilding <quote>world</quote></primary> <secondary>timings</" "secondary>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:45436 +#: book.translate.xml:45490 msgid "" "If any variables were specified to <command>make buildworld</command>, " "specify the same variables to <command>make installworld</command>. However, " @@ -65201,46 +66431,46 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:45442 +#: book.translate.xml:45496 msgid "For example, if this command was used:" msgstr "" #. (itstool) path: note/screen -#: book.translate.xml:45444 +#: book.translate.xml:45498 #, no-wrap msgid "<prompt>#</prompt> <userinput>make -DNO_PROFILE buildworld</userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:45446 +#: book.translate.xml:45500 msgid "Install the results with:" msgstr "" #. (itstool) path: note/screen -#: book.translate.xml:45448 +#: book.translate.xml:45502 #, no-wrap msgid "<prompt>#</prompt> <userinput>make -DNO_PROFILE installworld</userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:45450 +#: book.translate.xml:45504 msgid "" "Otherwise, the second command will try to install profiled libraries that " "were not built during the <command>make buildworld</command> phase." msgstr "" #. (itstool) path: info/title -#: book.translate.xml:45458 +#: book.translate.xml:45512 msgid "Merging Configuration Files" msgstr "合併設定檔" #. (itstool) path: sect2/indexterm -#: book.translate.xml:45471 +#: book.translate.xml:45525 msgid "<primary> <command>mergemaster</command> </primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45477 +#: book.translate.xml:45531 msgid "" "FreeBSD provides the <citerefentry><refentrytitle>mergemaster</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> Bourne script to aid " @@ -65251,7 +66481,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45484 +#: book.translate.xml:45538 msgid "" "Before using <command>mergemaster</command>, it is recommended to first copy " "the existing <filename>/etc</filename> somewhere safe. Include <option>-R</" @@ -65260,13 +66490,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:45491 +#: book.translate.xml:45545 #, no-wrap msgid "<prompt>#</prompt> <userinput>cp -Rp /etc /etc.old</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45493 +#: book.translate.xml:45547 msgid "" "When run, <command>mergemaster</command> builds a temporary root " "environment, from <filename>/</filename> down, and populates it with various " @@ -65281,7 +66511,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45504 +#: book.translate.xml:45558 msgid "" "Next, <command>mergemaster</command> will display each file that differs, " "and present options to: delete the new file, referred to as the temporary " @@ -65290,7 +66520,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45511 +#: book.translate.xml:45565 msgid "" "Choosing to delete the temporary file will tell <command>mergemaster</" "command> to keep the current file unchanged and to delete the new version. " @@ -65301,14 +66531,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45520 +#: book.translate.xml:45574 msgid "" "Choosing to install the unmodified temporary file will replace the current " "file with the new one. For most unmodified files, this is the best option." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45524 +#: book.translate.xml:45578 msgid "" "Choosing to merge the file will present a text editor, and the contents of " "both files. The files can be merged by reviewing both files side by side on " @@ -65321,12 +66551,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45535 +#: book.translate.xml:45589 msgid "Choosing to view the results again will redisplay the file differences." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45538 +#: book.translate.xml:45592 msgid "" "After <command>mergemaster</command> is done with the system files, it will " "prompt for other options. It may prompt to rebuild the password file and " @@ -65334,24 +66564,24 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:45627 +#: book.translate.xml:45681 msgid "Deleting Obsolete Files and Libraries" msgstr "刪除過時的檔案及程式庫" #. (itstool) path: authorgroup/author -#: book.translate.xml:45630 +#: book.translate.xml:45684 msgid "" "<personname> <firstname>Anton</firstname> <surname>Shterenlikht</surname> </" "personname> <contrib>Based on notes provided by </contrib>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:45640 +#: book.translate.xml:45694 msgid "<primary>Deleting obsolete files and directories</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45644 +#: book.translate.xml:45698 msgid "" "As a part of the FreeBSD development lifecycle, files and their contents " "occasionally become obsolete. This may be because functionality is " @@ -65369,7 +66599,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45661 +#: book.translate.xml:45715 msgid "" "After the <command>make installworld</command> and the subsequent " "<command>mergemaster</command> have finished successfully, check for " @@ -65377,7 +66607,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:45665 +#: book.translate.xml:45719 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/src</userinput>\n" @@ -65385,14 +66615,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45668 +#: book.translate.xml:45722 msgid "" "If any obsolete files are found, they can be deleted using the following " "command:" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45673 +#: book.translate.xml:45727 msgid "" "A prompt is displayed before deleting each obsolete file. To skip the prompt " "and let the system remove these files automatically, use " @@ -65400,31 +66630,31 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:45678 +#: book.translate.xml:45732 #, no-wrap msgid "<prompt>#</prompt> <userinput>make -DBATCH_DELETE_OLD_FILES delete-old</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45680 +#: book.translate.xml:45734 msgid "" "The same goal can be achieved by piping these commands through <command>yes</" "command>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:45683 +#: book.translate.xml:45737 #, no-wrap msgid "<prompt>#</prompt> <userinput>yes|make delete-old</userinput>" msgstr "" #. (itstool) path: warning/title -#: book.translate.xml:45686 +#: book.translate.xml:45740 msgid "Warning" msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:45688 +#: book.translate.xml:45742 msgid "" "Deleting obsolete files will break applications that still depend on those " "obsolete files. This is especially true for old libraries. In most cases, " @@ -65433,21 +66663,21 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45696 +#: book.translate.xml:45750 msgid "" "Utilities for checking shared library dependencies include <package>sysutils/" "libchk</package> and <package>sysutils/bsdadminscripts</package>." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45700 +#: book.translate.xml:45754 msgid "" "Obsolete shared libraries can conflict with newer libraries, causing " "messages like these:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:45703 +#: book.translate.xml:45757 #, no-wrap msgid "" "/usr/bin/ld: warning: libz.so.4, needed by /usr/local/lib/libtiff.so, may conflict with libz.so.5\n" @@ -65455,12 +66685,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45706 +#: book.translate.xml:45760 msgid "To solve these problems, determine which port installed the library:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:45709 +#: book.translate.xml:45763 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>pkg which /usr/local/lib/libtiff.so</userinput>\n" @@ -65470,7 +66700,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45714 +#: book.translate.xml:45768 msgid "" "Then deinstall, rebuild, and reinstall the port. To automate this process, " "<package>ports-mgmt/portmaster</package> can be used. After all ports are " @@ -65479,7 +66709,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:45722 +#: book.translate.xml:45776 msgid "" "If something goes wrong, it is easy to rebuild a particular piece of the " "system. For example, if <filename>/etc/magic</filename> was accidentally " @@ -65488,7 +66718,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:45729 +#: book.translate.xml:45783 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/src/usr.bin/file</userinput>\n" @@ -65496,24 +66726,24 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:45734 +#: book.translate.xml:45788 msgid "Common Questions" msgstr "常見問題" #. (itstool) path: varlistentry/term -#: book.translate.xml:45738 +#: book.translate.xml:45792 msgid "Do I need to re-make the world for every change?" msgstr "每個變更是否都需要重新編譯 World?" #. (itstool) path: listitem/para -#: book.translate.xml:45742 +#: book.translate.xml:45796 msgid "" "It depends upon the nature of the change. For example, if <application>svn</" "application> only shows the following files as being updated:" msgstr "" #. (itstool) path: listitem/screen -#: book.translate.xml:45746 +#: book.translate.xml:45800 #, no-wrap msgid "" "<filename>src/games/cribbage/instr.c</filename>\n" @@ -65524,7 +66754,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:45752 +#: book.translate.xml:45806 msgid "" "it probably is not worth rebuilding the entire world. Instead, go into the " "appropriate sub-directories and run <command>make all install</command>. But " @@ -65533,7 +66763,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:45759 +#: book.translate.xml:45813 msgid "" "Some users rebuild world every fortnight and let changes accumulate over " "that fortnight. Others only re-make those things that have changed and are " @@ -65543,19 +66773,19 @@ msgid "" msgstr "" #. (itstool) path: term/indexterm -#: book.translate.xml:45770 +#: book.translate.xml:45824 msgid "<primary>signal 11</primary>" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:45769 +#: book.translate.xml:45823 msgid "" "What would cause a compile to fail with lots of signal 11<_:indexterm-1/> " "(or other signal number) errors?" msgstr "什麼會造成有很多信號 11<_:indexterm-1/> (或其他信號) 錯誤的編譯失敗?" #. (itstool) path: listitem/para -#: book.translate.xml:45776 +#: book.translate.xml:45830 msgid "" "This normally indicates a hardware problem. Building world is an effective " "way to stress test hardware, especially memory. A sure indicator of a " @@ -65564,19 +66794,19 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:45783 +#: book.translate.xml:45837 msgid "" "To resolve this error, swap out the components in the machine, starting with " "RAM, to determine which component is failing." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:45790 +#: book.translate.xml:45844 msgid "Can <filename>/usr/obj</filename> be removed when finished?" msgstr "完成編譯後是可否移除 <filename>/usr/obj</filename>?" #. (itstool) path: listitem/para -#: book.translate.xml:45794 +#: book.translate.xml:45848 msgid "" "This directory contains all the object files that were produced during the " "compilation phase. Normally, one of the first steps in the <command>make " @@ -65586,12 +66816,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:45806 +#: book.translate.xml:45860 msgid "Can interrupted builds be resumed?" msgstr "是否能繼續中斷的編譯?" #. (itstool) path: listitem/para -#: book.translate.xml:45809 +#: book.translate.xml:45863 msgid "" "This depends on how far into the process the problem occurs. In general, " "<command>make buildworld</command> builds new copies of essential tools and " @@ -65601,14 +66831,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:45818 +#: book.translate.xml:45872 msgid "" "During the last stage, it is fairly safe to run these commands as they will " "not undo the work of the previous <command>make buildworld</command>:" msgstr "" #. (itstool) path: listitem/screen -#: book.translate.xml:45822 +#: book.translate.xml:45876 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/src</userinput>\n" @@ -65616,12 +66846,12 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:45825 +#: book.translate.xml:45879 msgid "If this message appears:" msgstr "" #. (itstool) path: listitem/screen -#: book.translate.xml:45827 +#: book.translate.xml:45881 #, no-wrap msgid "" "--------------------------------------------------------------\n" @@ -65630,26 +66860,26 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:45831 +#: book.translate.xml:45885 msgid "" "in the <command>make buildworld</command> output, it is probably fairly safe " "to do so." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:45834 +#: book.translate.xml:45888 msgid "" "If that message is not displayed, it is always better to be safe than sorry " "and to restart the build from scratch." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:45841 +#: book.translate.xml:45895 msgid "Is it possible to speed up making the world?" msgstr "有可能加速編譯 World 的速度嗎?" #. (itstool) path: listitem/para -#: book.translate.xml:45844 +#: book.translate.xml:45898 msgid "" "Several actions can speed up the build world process. For example, the " "entire process can be run from single-user mode. However, this will prevent " @@ -65657,7 +66887,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:45850 +#: book.translate.xml:45904 msgid "" "Careful file system design or the use of ZFS datasets can make a difference. " "Consider putting <filename>/usr/src</filename> and <filename>/usr/obj</" @@ -65670,7 +66900,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:45862 +#: book.translate.xml:45916 msgid "" "The file system holding <filename>/usr/obj</filename> can be mounted or " "remounted with <option>async</option> so that disk writes happen " @@ -65680,7 +66910,7 @@ msgid "" msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:45871 +#: book.translate.xml:45925 msgid "" "Keep in mind that this option makes the file system more fragile. With this " "option, there is an increased chance that, should power fail, the file " @@ -65688,7 +66918,7 @@ msgid "" msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:45877 +#: book.translate.xml:45931 msgid "" "If <filename>/usr/obj</filename> is the only directory on this file system, " "this is not a problem. If you have other, valuable data on the same file " @@ -65696,14 +66926,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:45884 +#: book.translate.xml:45938 msgid "" "Turn off profiling by setting <quote>NO_PROFILE=true</quote> in <filename>/" "etc/make.conf</filename>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:45888 +#: book.translate.xml:45942 msgid "" "Pass <option>-j<replaceable>n</replaceable></option> to " "<citerefentry><refentrytitle>make</refentrytitle><manvolnum>1</manvolnum></" @@ -65712,19 +66942,19 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:45896 +#: book.translate.xml:45950 msgid "What if something goes wrong?" msgstr "若發生錯誤時該怎麼辦?" #. (itstool) path: listitem/para -#: book.translate.xml:45899 +#: book.translate.xml:45953 msgid "" "First, make absolutely sure that the environment has no extraneous cruft " "from earlier builds:" msgstr "" #. (itstool) path: listitem/screen -#: book.translate.xml:45902 +#: book.translate.xml:45956 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>chflags -R noschg /usr/obj/usr</userinput>\n" @@ -65735,19 +66965,19 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:45908 +#: book.translate.xml:45962 msgid "Yes, <command>make cleandir</command> really should be run twice." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:45911 +#: book.translate.xml:45965 msgid "" "Then, restart the whole process, starting with <command>make buildworld</" "command>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:45914 +#: book.translate.xml:45968 msgid "" "If problems persist, send the error and the output of <command>uname -a</" "command> to <link xlink:href=\"http://lists.FreeBSD.org/mailman/listinfo/" @@ -65756,18 +66986,18 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:45926 +#: book.translate.xml:45980 msgid "Tracking for Multiple Machines" msgstr "多部機器追蹤" #. (itstool) path: sect1/indexterm -#: book.translate.xml:45939 +#: book.translate.xml:45993 msgid "" "<primary>NFS</primary> <secondary>installing multiple machines</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:45944 +#: book.translate.xml:45998 msgid "" "When multiple machines need to track the same source tree, it is a waste of " "disk space, network bandwidth, and <acronym>CPU</acronym> cycles to have " @@ -65779,7 +67009,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:45953 +#: book.translate.xml:46007 msgid "" "First, identify a set of machines which will run the same set of binaries, " "known as a <firstterm>build set</firstterm>. Each machine can have a custom " @@ -65791,7 +67021,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:45963 +#: book.translate.xml:46017 msgid "" "Select a machine to be the <firstterm>test machine</firstterm>, which will " "test software updates before they are put into production. This " @@ -65800,7 +67030,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:45969 +#: book.translate.xml:46023 msgid "" "All the machines in this build set need to mount <filename>/usr/obj</" "filename> and <filename>/usr/src</filename> from the build machine via " @@ -65810,7 +67040,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:45975 +#: book.translate.xml:46029 msgid "" "Ensure that <filename>/etc/make.conf</filename> and <filename>/etc/src.conf</" "filename> on all the machines in the build set agree with the build machine. " @@ -65825,7 +67055,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:45987 +#: book.translate.xml:46041 msgid "" "On the build machine, build the kernel and world as described in <xref " "linkend=\"makeworld\"/>, but do not install anything on the build machine. " @@ -65838,7 +67068,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:45998 +#: book.translate.xml:46052 msgid "" "After verifying that everything on the test machine is working properly, use " "the same procedure to install the new software on each of the other machines " @@ -65846,7 +67076,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46002 +#: book.translate.xml:46056 msgid "" "The same methodology can be used for the ports tree. The first step is to " "share <filename>/usr/ports</filename> via <acronym>NFS</acronym> to all the " @@ -65862,22 +67092,22 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:46035 +#: book.translate.xml:46089 msgid "DTrace" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:46046 +#: book.translate.xml:46100 msgid "<primary>DTrace</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:46047 +#: book.translate.xml:46101 msgid "<primary>DTrace support</primary> <see>DTrace</see>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46052 +#: book.translate.xml:46106 msgid "" "DTrace, also known as Dynamic Tracing, was developed by <trademark>Sun</" "trademark> as a tool for locating performance bottlenecks in production and " @@ -65887,7 +67117,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46059 +#: book.translate.xml:46113 msgid "" "DTrace is a remarkable profiling tool, with an impressive array of features " "for diagnosing system issues. It may also be used to run pre-written scripts " @@ -65897,7 +67127,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46066 +#: book.translate.xml:46120 msgid "" "The FreeBSD implementation provides full support for kernel DTrace and " "experimental support for userland DTrace. Userland DTrace allows users to " @@ -65911,36 +67141,36 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46078 +#: book.translate.xml:46132 msgid "" "The official guide to DTrace is maintained by the Illumos project at <uri " "xlink:href=\"http://dtrace.org/guide\">DTrace Guide</uri>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:46086 +#: book.translate.xml:46140 msgid "What DTrace is and what features it provides." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:46090 +#: book.translate.xml:46144 msgid "" "Differences between the <trademark>Solaris</trademark> DTrace implementation " "and the one provided by FreeBSD." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:46095 +#: book.translate.xml:46149 msgid "How to enable and use DTrace on FreeBSD." msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:46115 +#: book.translate.xml:46169 msgid "Implementation Differences" msgstr "實作差異" #. (itstool) path: sect1/para -#: book.translate.xml:46117 +#: book.translate.xml:46171 msgid "" "While the DTrace in FreeBSD is similar to that found in <trademark>Solaris</" "trademark>, differences do exist. The primary difference is that in FreeBSD, " @@ -65949,20 +67179,20 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:46123 +#: book.translate.xml:46177 #, no-wrap msgid "<prompt>#</prompt> <userinput>kldload dtraceall</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46125 +#: book.translate.xml:46179 msgid "" "Beginning with FreeBSD 10.0-RELEASE, the modules are automatically loaded " "when <command>dtrace</command> is run." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46129 +#: book.translate.xml:46183 msgid "" "FreeBSD uses the <literal>DDB_CTF</literal> kernel option to enable support " "for loading <acronym>CTF</acronym> data from kernel modules and the kernel " @@ -65978,7 +67208,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46143 +#: book.translate.xml:46197 msgid "" "Some different providers exist for FreeBSD than for <trademark>Solaris</" "trademark>. Most notable is the <literal>dtmalloc</literal> provider, which " @@ -65993,7 +67223,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46155 +#: book.translate.xml:46209 msgid "" "Due to security differences, only <systemitem class=\"username\">root</" "systemitem> may use DTrace on FreeBSD. <trademark>Solaris</trademark> has a " @@ -66003,7 +67233,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46161 +#: book.translate.xml:46215 msgid "" "DTrace falls under the Common Development and Distribution License " "(<acronym>CDDL</acronym>) license. To view this license on FreeBSD, see " @@ -66016,12 +67246,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:46173 +#: book.translate.xml:46227 msgid "Enabling DTrace Support" msgstr "開啟 DTrace 支援" #. (itstool) path: sect1/para -#: book.translate.xml:46175 +#: book.translate.xml:46229 msgid "" "In FreeBSD 9.2 and 10.0, DTrace support is built into the <filename>GENERIC</" "filename> kernel. Users of earlier versions of FreeBSD or who prefer to " @@ -66031,7 +67261,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:46181 +#: book.translate.xml:46235 #, no-wrap msgid "" "options KDTRACE_HOOKS\n" @@ -66041,18 +67271,18 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46186 +#: book.translate.xml:46240 msgid "Users of the AMD64 architecture should also add this line:" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:46189 +#: book.translate.xml:46243 #, no-wrap msgid "options KDTRACE_FRAME" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46191 +#: book.translate.xml:46245 msgid "" "This option provides support for <acronym>FBT</acronym>. While DTrace will " "work without this option, there will be limited support for function " @@ -66060,7 +67290,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46195 +#: book.translate.xml:46249 msgid "" "Once the FreeBSD system has rebooted into the new kernel, or the DTrace " "kernel modules have been loaded using <command>kldload dtraceall</command>, " @@ -66072,7 +67302,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46205 +#: book.translate.xml:46259 msgid "" "Finally, install the current DTrace Toolkit, a collection of ready-made " "scripts for collecting system information. There are scripts to check open " @@ -66083,7 +67313,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:46218 +#: book.translate.xml:46272 msgid "" "The scripts found in <filename>/usr/share/dtrace</filename> have been " "specifically ported to FreeBSD. Not all of the scripts found in the DTrace " @@ -66092,7 +67322,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46225 +#: book.translate.xml:46279 msgid "" "The DTrace Toolkit includes many scripts in the special language of DTrace. " "This language is called the D language and it is very similar to C++. An in " @@ -66103,12 +67333,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:46233 +#: book.translate.xml:46287 msgid "Using DTrace" msgstr "使用 DTrace" #. (itstool) path: sect1/para -#: book.translate.xml:46235 +#: book.translate.xml:46289 msgid "" "DTrace scripts consist of a list of one or more <firstterm>probes</" "firstterm>, or instrumentation points, where each probe is associated with " @@ -66121,19 +67351,19 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46246 +#: book.translate.xml:46300 msgid "" "To view all probes, the administrator can execute the following command:" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:46249 +#: book.translate.xml:46303 #, no-wrap msgid "<prompt>#</prompt> <userinput>dtrace -l | more</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46251 +#: book.translate.xml:46305 msgid "" "Each probe has an <literal>ID</literal>, a <literal>PROVIDER</literal> " "(dtrace or fbt), a <literal>MODULE</literal>, and a <literal>FUNCTION NAME</" @@ -66143,7 +67373,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46257 +#: book.translate.xml:46311 msgid "" "The examples in this section provide an overview of how to use two of the " "fully supported scripts from the DTrace Toolkit: the <filename>hotkernel</" @@ -66151,7 +67381,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46263 +#: book.translate.xml:46317 msgid "" "The <filename>hotkernel</filename> script is designed to identify which " "function is using the most kernel time. It will produce output similar to " @@ -66159,7 +67389,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:46267 +#: book.translate.xml:46321 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/share/dtrace/toolkit</userinput>\n" @@ -66168,7 +67398,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46271 +#: book.translate.xml:46325 msgid "" "As instructed, use the <keycombo action=\"simul\"><keycap>Ctrl</" "keycap><keycap>C</keycap> </keycombo> key combination to stop the process. " @@ -66177,7 +67407,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:46278 +#: book.translate.xml:46332 #, no-wrap msgid "" "kernel`_thread_lock_flags 2 0.0%\n" @@ -66209,14 +67439,14 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46309 +#: book.translate.xml:46363 msgid "" "This script will also work with kernel modules. To use this feature, run the " "script with <option>-m</option>:" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:46312 +#: book.translate.xml:46366 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>./hotkernel -m</userinput>\n" @@ -66238,7 +67468,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46333 +#: book.translate.xml:46387 msgid "" "The <filename>procsystime</filename> script captures and prints the system " "call time usage for a given process <acronym>ID</acronym> (<acronym>PID</" @@ -66250,7 +67480,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:46343 +#: book.translate.xml:46397 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>./procsystime -n csh</userinput>\n" @@ -66281,7 +67511,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46369 +#: book.translate.xml:46423 msgid "" "As shown, the <function>read()</function> system call used the most time in " "nanoseconds while the <function>getpid()</function> system call used the " @@ -66289,12 +67519,12 @@ msgid "" msgstr "" #. (itstool) path: part/title -#: book.translate.xml:46379 +#: book.translate.xml:46433 msgid "Network Communication" msgstr "網路通訊" #. (itstool) path: partintro/para -#: book.translate.xml:46382 +#: book.translate.xml:46436 msgid "" "FreeBSD is one of the most widely deployed operating systems for high " "performance network servers. The chapters in this part cover:" @@ -66302,39 +67532,39 @@ msgstr "" "FreeBSD 是一種廣泛的被使用在高效能的網路伺服器中的作業系統,這些章節包含了:" #. (itstool) path: listitem/para -#: book.translate.xml:46388 +#: book.translate.xml:46442 msgid "Serial communication" msgstr "序列通訊" #. (itstool) path: listitem/para -#: book.translate.xml:46392 +#: book.translate.xml:46446 msgid "<acronym>PPP</acronym> and <acronym>PPP</acronym> over Ethernet" msgstr "<acronym>PPP</acronym> 和在乙太網路使用 <acronym>PPP</acronym>" #. (itstool) path: listitem/para #. (itstool) path: info/title -#: book.translate.xml:46397 book.translate.xml:50287 +#: book.translate.xml:46451 book.translate.xml:50341 msgid "Electronic Mail" msgstr "電子郵件" #. (itstool) path: listitem/para -#: book.translate.xml:46401 +#: book.translate.xml:46455 msgid "Running Network Servers" msgstr "執行網路伺服器" #. (itstool) path: listitem/para #. (itstool) path: info/title -#: book.translate.xml:46405 book.translate.xml:57907 +#: book.translate.xml:46459 book.translate.xml:57961 msgid "Firewalls" msgstr "防火牆" #. (itstool) path: listitem/para -#: book.translate.xml:46409 +#: book.translate.xml:46463 msgid "Other Advanced Networking Topics" msgstr "其他的進階網路主題" #. (itstool) path: partintro/para -#: book.translate.xml:46413 +#: book.translate.xml:46467 msgid "" "These chapters are designed to be read when the information is needed. They " "do not need to be read in any particular order, nor is it necessary to read " @@ -66344,17 +67574,17 @@ msgstr "" "要將這些章節全部讀過之後才將 FreeBSD 用在網路環境下。" #. (itstool) path: chapter/title -#: book.translate.xml:46426 +#: book.translate.xml:46480 msgid "Serial Communications" msgstr "序列通訊" #. (itstool) path: sect1/indexterm -#: book.translate.xml:46431 +#: book.translate.xml:46485 msgid "<primary>serial communications</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46433 +#: book.translate.xml:46487 msgid "" "<trademark class=\"registered\">UNIX</trademark> has always had support for " "serial communications as the very first <trademark class=\"registered" @@ -66369,102 +67599,102 @@ msgstr "" "改變很多。本章將說明幾種可在 FreeBSD 使用的序列通訊方式。" #. (itstool) path: listitem/para -#: book.translate.xml:46444 +#: book.translate.xml:46498 msgid "How to connect terminals to a FreeBSD system." msgstr "如何連線終端機到 FreeBSD 系統。" #. (itstool) path: listitem/para -#: book.translate.xml:46447 +#: book.translate.xml:46501 msgid "How to use a modem to dial out to remote hosts." msgstr "如何使用數據機撥號給遠端主機。" #. (itstool) path: listitem/para -#: book.translate.xml:46450 +#: book.translate.xml:46504 msgid "How to allow remote users to login to a FreeBSD system with a modem." msgstr "如何允許遠端使用者透過數據機來登入 FreeBSD 系統。" #. (itstool) path: listitem/para -#: book.translate.xml:46454 +#: book.translate.xml:46508 msgid "How to boot a FreeBSD system from a serial console." msgstr "如何從序列 Console 啟動 FreeBSD 系統。" #. (itstool) path: listitem/para -#: book.translate.xml:46462 +#: book.translate.xml:46516 msgid "" "Know how to <link linkend=\"kernelconfig\"> configure and install a custom " "kernel</link>." msgstr "了解如何 <link linkend=\"kernelconfig\">設定並安裝自訂核心</link>。" #. (itstool) path: listitem/para -#: book.translate.xml:46466 +#: book.translate.xml:46520 msgid "" "Understand <link linkend=\"basics\"> FreeBSD permissions and processes</" "link>." msgstr "了解 <link linkend=\"basics\"> FreeBSD 的權限與程序</link>。" #. (itstool) path: listitem/para -#: book.translate.xml:46470 +#: book.translate.xml:46524 msgid "" "Have access to the technical manual for the serial hardware to be used with " "FreeBSD." msgstr "能夠取得要在 FreeBSD 使用的序列硬體的技術手冊。" #. (itstool) path: sect1/title -#: book.translate.xml:46477 +#: book.translate.xml:46531 msgid "Serial Terminology and Hardware" msgstr "序列術語與硬體" #. (itstool) path: sect1/para -#: book.translate.xml:46479 +#: book.translate.xml:46533 msgid "The following terms are often used in serial communications:" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:46483 +#: book.translate.xml:46537 msgid "<acronym>bps</acronym>" msgstr "" #. (itstool) path: para/indexterm -#: book.translate.xml:46486 +#: book.translate.xml:46540 msgid "<primary>bits-per-second</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:46485 +#: book.translate.xml:46539 msgid "" "Bits per Second<_:indexterm-1/> (<acronym>bps</acronym>) is the rate at " "which data is transmitted." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:46493 +#: book.translate.xml:46547 msgid "<acronym>DTE</acronym>" msgstr "" #. (itstool) path: para/indexterm -#: book.translate.xml:46496 +#: book.translate.xml:46550 msgid "<primary>DTE</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:46495 +#: book.translate.xml:46549 msgid "" "Data Terminal Equipment<_:indexterm-1/> (<acronym>DTE</acronym>) is one of " "two endpoints in a serial communication. An example would be a computer." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:46504 +#: book.translate.xml:46558 msgid "<acronym>DCE</acronym>" msgstr "" #. (itstool) path: para/indexterm -#: book.translate.xml:46507 +#: book.translate.xml:46561 msgid "<primary>DCE</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:46506 +#: book.translate.xml:46560 msgid "" "Data Communications Equipment<_:indexterm-1/> (<acronym>DTE</acronym>) is " "the other endpoint in a serial communication. Typically, it is a modem or " @@ -66472,19 +67702,19 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:46515 +#: book.translate.xml:46569 msgid "<acronym>RS-232</acronym>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:46517 +#: book.translate.xml:46571 msgid "" "The original standard which defined hardware serial communications. It has " "since been renamed to <acronym>TIA-232</acronym>." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46524 +#: book.translate.xml:46578 msgid "" "When referring to communication data rates, this section does not use the " "term <firstterm>baud</firstterm>. Baud refers to the number of electrical " @@ -66493,7 +67723,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:46530 +#: book.translate.xml:46584 msgid "" "To connect a serial terminal to a FreeBSD system, a serial port on the " "computer and the proper cable to connect to the serial device are needed. " @@ -66502,12 +67732,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:46536 +#: book.translate.xml:46590 msgid "Serial Cables and Ports" msgstr "序列線與埠" #. (itstool) path: sect2/para -#: book.translate.xml:46538 +#: book.translate.xml:46592 msgid "" "There are several different kinds of serial cables. The two most common " "types are null-modem cables and standard <acronym>RS-232</acronym> cables. " @@ -66516,7 +67746,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:46543 +#: book.translate.xml:46597 msgid "" "These two types of cables differ in how the wires are connected to the " "connector. Each wire represents a signal, with the defined signals " @@ -66529,7 +67759,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:46553 +#: book.translate.xml:46607 msgid "" "A null-modem cable switches the <quote>Transmitted Data</quote> pin of the " "connector on one end with the <quote>Received Data</quote> pin on the other " @@ -66538,7 +67768,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:46559 +#: book.translate.xml:46613 msgid "" "A null-modem cable can be constructed using the pin connections summarized " "in <xref linkend=\"nullmodem-db25\"/>, <xref linkend=\"nullmodem-db9\"/>, " @@ -66551,154 +67781,154 @@ msgstr "" #. (itstool) path: sect2/indexterm #. (itstool) path: step/indexterm -#: book.translate.xml:46568 book.translate.xml:48245 +#: book.translate.xml:46622 book.translate.xml:48299 msgid "<primary>null-modem cable</primary>" msgstr "" #. (itstool) path: table/title -#: book.translate.xml:46573 +#: book.translate.xml:46627 msgid "<acronym>RS-232C</acronym> Signal Names" msgstr "<acronym>RS-232C</acronym> 信號名稱" #. (itstool) path: row/entry -#: book.translate.xml:46578 +#: book.translate.xml:46632 msgid "Acronyms" msgstr "縮寫" #. (itstool) path: row/entry -#: book.translate.xml:46579 +#: book.translate.xml:46633 msgid "Names" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:46585 +#: book.translate.xml:46639 msgid "<acronym>RD</acronym>" msgstr "" #. (itstool) path: row/entry #. (itstool) path: glossentry/glossterm -#: book.translate.xml:46586 book.translate.xml:65535 +#: book.translate.xml:46640 book.translate.xml:65535 msgid "Received Data" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:46590 +#: book.translate.xml:46644 msgid "<acronym>TD</acronym>" msgstr "" #. (itstool) path: row/entry #. (itstool) path: glossentry/glossterm -#: book.translate.xml:46591 book.translate.xml:65535 +#: book.translate.xml:46645 book.translate.xml:65535 msgid "Transmitted Data" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:46595 +#: book.translate.xml:46649 msgid "<acronym>DTR</acronym>" msgstr "" #. (itstool) path: row/entry #. (itstool) path: glossentry/glossterm -#: book.translate.xml:46596 book.translate.xml:65535 +#: book.translate.xml:46650 book.translate.xml:65535 msgid "Data Terminal Ready" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:46600 +#: book.translate.xml:46654 msgid "<acronym>DSR</acronym>" msgstr "" #. (itstool) path: row/entry #. (itstool) path: glossentry/glossterm -#: book.translate.xml:46601 book.translate.xml:65535 +#: book.translate.xml:46655 book.translate.xml:65535 msgid "Data Set Ready" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:46605 +#: book.translate.xml:46659 msgid "<acronym>DCD</acronym>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:46606 +#: book.translate.xml:46660 msgid "Data Carrier Detect" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:46610 +#: book.translate.xml:46664 msgid "<acronym>SG</acronym>" msgstr "" #. (itstool) path: row/entry #. (itstool) path: glossentry/glossterm -#: book.translate.xml:46611 book.translate.xml:65535 +#: book.translate.xml:46665 book.translate.xml:65535 msgid "Signal Ground" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:46615 +#: book.translate.xml:46669 msgid "<acronym>RTS</acronym>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:46616 +#: book.translate.xml:46670 msgid "Request to Send" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:46620 +#: book.translate.xml:46674 msgid "<acronym>CTS</acronym>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:46621 +#: book.translate.xml:46675 msgid "Clear to Send" msgstr "" #. (itstool) path: table/title -#: book.translate.xml:46628 +#: book.translate.xml:46682 msgid "DB-25 to DB-25 Null-Modem Cable" msgstr "DB-25 對 DB-25 Null-Modem 線" #. (itstool) path: row/entry -#: book.translate.xml:46633 book.translate.xml:46637 book.translate.xml:46723 -#: book.translate.xml:46727 book.translate.xml:46813 book.translate.xml:46817 +#: book.translate.xml:46687 book.translate.xml:46691 book.translate.xml:46777 +#: book.translate.xml:46781 book.translate.xml:46867 book.translate.xml:46871 msgid "Signal" msgstr "信號" #. (itstool) path: row/entry -#: book.translate.xml:46634 book.translate.xml:46636 book.translate.xml:46724 -#: book.translate.xml:46726 book.translate.xml:46814 book.translate.xml:46816 +#: book.translate.xml:46688 book.translate.xml:46690 book.translate.xml:46778 +#: book.translate.xml:46780 book.translate.xml:46868 book.translate.xml:46870 msgid "Pin #" msgstr "針腳 #" #. (itstool) path: row/entry #. (itstool) path: glossentry/glossterm #. (itstool) path: glossentry/acronym -#: book.translate.xml:46643 book.translate.xml:46647 book.translate.xml:46765 -#: book.translate.xml:46769 book.translate.xml:46855 book.translate.xml:46859 +#: book.translate.xml:46697 book.translate.xml:46701 book.translate.xml:46819 +#: book.translate.xml:46823 book.translate.xml:46909 book.translate.xml:46913 #: book.translate.xml:65535 msgid "SG" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:46645 book.translate.xml:46653 book.translate.xml:46661 -#: book.translate.xml:46669 book.translate.xml:46677 book.translate.xml:46685 -#: book.translate.xml:46693 book.translate.xml:46701 book.translate.xml:46709 -#: book.translate.xml:46735 book.translate.xml:46743 book.translate.xml:46751 -#: book.translate.xml:46759 book.translate.xml:46767 book.translate.xml:46775 -#: book.translate.xml:46783 book.translate.xml:46791 book.translate.xml:46799 -#: book.translate.xml:46825 book.translate.xml:46833 book.translate.xml:46841 -#: book.translate.xml:46849 book.translate.xml:46857 book.translate.xml:46865 -#: book.translate.xml:46873 book.translate.xml:46881 book.translate.xml:46889 +#: book.translate.xml:46699 book.translate.xml:46707 book.translate.xml:46715 +#: book.translate.xml:46723 book.translate.xml:46731 book.translate.xml:46739 +#: book.translate.xml:46747 book.translate.xml:46755 book.translate.xml:46763 +#: book.translate.xml:46789 book.translate.xml:46797 book.translate.xml:46805 +#: book.translate.xml:46813 book.translate.xml:46821 book.translate.xml:46829 +#: book.translate.xml:46837 book.translate.xml:46845 book.translate.xml:46853 +#: book.translate.xml:46879 book.translate.xml:46887 book.translate.xml:46895 +#: book.translate.xml:46903 book.translate.xml:46911 book.translate.xml:46919 +#: book.translate.xml:46927 book.translate.xml:46935 book.translate.xml:46943 msgid "connects to" msgstr "" #. (itstool) path: row/entry #. (itstool) path: glossentry/glossterm #. (itstool) path: glossentry/acronym -#: book.translate.xml:46651 book.translate.xml:46663 book.translate.xml:46737 -#: book.translate.xml:46741 book.translate.xml:46827 book.translate.xml:46831 +#: book.translate.xml:46705 book.translate.xml:46717 book.translate.xml:46791 +#: book.translate.xml:46795 book.translate.xml:46881 book.translate.xml:46885 #: book.translate.xml:65535 msgid "TD" msgstr "" @@ -66706,8 +67936,8 @@ msgstr "" #. (itstool) path: row/entry #. (itstool) path: glossentry/glossterm #. (itstool) path: glossentry/acronym -#: book.translate.xml:46655 book.translate.xml:46659 book.translate.xml:46733 -#: book.translate.xml:46745 book.translate.xml:46823 book.translate.xml:46835 +#: book.translate.xml:46709 book.translate.xml:46713 book.translate.xml:46787 +#: book.translate.xml:46799 book.translate.xml:46877 book.translate.xml:46889 #: book.translate.xml:65535 msgid "RD" msgstr "" @@ -66715,8 +67945,8 @@ msgstr "" #. (itstool) path: row/entry #. (itstool) path: glossentry/glossterm #. (itstool) path: glossentry/acronym -#: book.translate.xml:46667 book.translate.xml:46679 book.translate.xml:46789 -#: book.translate.xml:46801 book.translate.xml:46879 book.translate.xml:46891 +#: book.translate.xml:46721 book.translate.xml:46733 book.translate.xml:46843 +#: book.translate.xml:46855 book.translate.xml:46933 book.translate.xml:46945 #: book.translate.xml:65535 msgid "RTS" msgstr "" @@ -66724,8 +67954,8 @@ msgstr "" #. (itstool) path: row/entry #. (itstool) path: glossentry/glossterm #. (itstool) path: glossentry/acronym -#: book.translate.xml:46671 book.translate.xml:46675 book.translate.xml:46793 -#: book.translate.xml:46797 book.translate.xml:46883 book.translate.xml:46887 +#: book.translate.xml:46725 book.translate.xml:46729 book.translate.xml:46847 +#: book.translate.xml:46851 book.translate.xml:46937 book.translate.xml:46941 #: book.translate.xml:65535 msgid "CTS" msgstr "" @@ -66733,53 +67963,53 @@ msgstr "" #. (itstool) path: row/entry #. (itstool) path: glossentry/glossterm #. (itstool) path: glossentry/acronym -#: book.translate.xml:46683 book.translate.xml:46691 book.translate.xml:46703 -#: book.translate.xml:46711 book.translate.xml:46749 book.translate.xml:46757 -#: book.translate.xml:46777 book.translate.xml:46785 book.translate.xml:46839 -#: book.translate.xml:46847 book.translate.xml:46867 book.translate.xml:46875 +#: book.translate.xml:46737 book.translate.xml:46745 book.translate.xml:46757 +#: book.translate.xml:46765 book.translate.xml:46803 book.translate.xml:46811 +#: book.translate.xml:46831 book.translate.xml:46839 book.translate.xml:46893 +#: book.translate.xml:46901 book.translate.xml:46921 book.translate.xml:46929 #: book.translate.xml:65535 msgid "DTR" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:46684 book.translate.xml:46692 book.translate.xml:46702 -#: book.translate.xml:46710 book.translate.xml:46866 book.translate.xml:46874 +#: book.translate.xml:46738 book.translate.xml:46746 book.translate.xml:46756 +#: book.translate.xml:46764 book.translate.xml:46920 book.translate.xml:46928 msgid "20" msgstr "" #. (itstool) path: row/entry #. (itstool) path: glossentry/glossterm #. (itstool) path: glossentry/acronym -#: book.translate.xml:46687 book.translate.xml:46699 book.translate.xml:46753 -#: book.translate.xml:46773 book.translate.xml:46843 book.translate.xml:46863 +#: book.translate.xml:46741 book.translate.xml:46753 book.translate.xml:46807 +#: book.translate.xml:46827 book.translate.xml:46897 book.translate.xml:46917 #: book.translate.xml:65535 msgid "DSR" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:46694 book.translate.xml:46708 book.translate.xml:46792 -#: book.translate.xml:46798 book.translate.xml:46850 book.translate.xml:46888 +#: book.translate.xml:46748 book.translate.xml:46762 book.translate.xml:46846 +#: book.translate.xml:46852 book.translate.xml:46904 book.translate.xml:46942 msgid "8" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:46695 book.translate.xml:46707 book.translate.xml:46761 -#: book.translate.xml:46781 book.translate.xml:46851 book.translate.xml:46871 +#: book.translate.xml:46749 book.translate.xml:46761 book.translate.xml:46815 +#: book.translate.xml:46835 book.translate.xml:46905 book.translate.xml:46925 msgid "DCD" msgstr "" #. (itstool) path: table/title -#: book.translate.xml:46718 +#: book.translate.xml:46772 msgid "DB-9 to DB-9 Null-Modem Cable" msgstr "DB-9 對 DB-9 Null-Modem 線" #. (itstool) path: table/title -#: book.translate.xml:46808 +#: book.translate.xml:46862 msgid "DB-9 to DB-25 Null-Modem Cable" msgstr "DB-9 對 DB-25 Null-Modem 線" #. (itstool) path: note/para -#: book.translate.xml:46898 +#: book.translate.xml:46952 msgid "" "When one pin at one end connects to a pair of pins at the other end, it is " "usually implemented with one short wire between the pair of pins in their " @@ -66787,7 +68017,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:46904 +#: book.translate.xml:46958 msgid "" "Serial ports are the devices through which data is transferred between the " "FreeBSD host computer and the terminal. Several kinds of serial ports exist. " @@ -66796,7 +68026,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:46910 +#: book.translate.xml:46964 msgid "" "Most terminals have <acronym>DB-25</acronym> ports. Personal computers may " "have <acronym>DB-25</acronym> or <acronym>DB-9</acronym> ports. A multiport " @@ -66806,14 +68036,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:46918 +#: book.translate.xml:46972 msgid "" "In FreeBSD, each serial port is accessed through an entry in <filename>/dev</" "filename>. There are two different kinds of entries:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:46924 +#: book.translate.xml:46978 msgid "" "Call-in ports are named <filename>/dev/ttyu<replaceable>N</replaceable></" "filename> where <replaceable>N</replaceable> is the port number, starting " @@ -66827,18 +68057,18 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:46939 +#: book.translate.xml:46993 msgid "" "Call-out ports are named <filename>/dev/cuau<replaceable>N</replaceable></" -"filename> on FreeBSD versions 10.x and higher and <filename>/dev/" -"cuad<replaceable>N</replaceable></filename> on FreeBSD versions 9.x and " +"filename> on FreeBSD versions 8.X and higher and <filename>/dev/" +"cuad<replaceable>N</replaceable></filename> on FreeBSD versions 7.X and " "lower. Call-out ports are usually not used for terminals, but are used for " "modems. The call-out port can be used if the serial cable or the terminal " "does not support the <quote>Data Carrier Detect</quote> signal." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:46951 +#: book.translate.xml:47005 msgid "" "FreeBSD also provides initialization devices (<filename>/dev/" "ttyu<replaceable>N</replaceable>.init</filename> and <filename>/dev/" @@ -66861,12 +68091,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:46975 +#: book.translate.xml:47029 msgid "Serial Port Configuration" msgstr "序列埠設定" #. (itstool) path: sect2/para -#: book.translate.xml:46977 +#: book.translate.xml:47031 msgid "" "By default, FreeBSD supports four serial ports which are commonly known as " "<filename>COM1</filename>, <filename>COM2</filename>, <filename>COM3</" @@ -66878,20 +68108,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:46986 +#: book.translate.xml:47040 msgid "" "To see if the system recognizes the serial ports, look for system boot " "messages that start with <literal>uart</literal>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:46990 +#: book.translate.xml:47044 #, no-wrap msgid "<prompt>#</prompt> <userinput>grep uart /var/run/dmesg.boot</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:46992 +#: book.translate.xml:47046 msgid "" "If the system does not recognize all of the needed serial ports, additional " "entries can be added to <filename>/boot/device.hints</filename>. This file " @@ -66905,17 +68135,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:47005 +#: book.translate.xml:47059 msgid "<primary><filename>ttyu</filename></primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:47006 +#: book.translate.xml:47060 msgid "<primary><filename>cuau</filename></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47008 +#: book.translate.xml:47062 msgid "" "To determine the default set of terminal <acronym>I/O</acronym> settings " "used by the port, specify its device name. This example determines the " @@ -66923,13 +68153,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:47013 +#: book.translate.xml:47067 #, no-wrap msgid "<prompt>#</prompt> <userinput>stty -a -f /dev/<replaceable>ttyu1</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47015 +#: book.translate.xml:47069 msgid "" "System-wide initialization of serial devices is controlled by <filename>/etc/" "rc.d/serial</filename>. This file affects the default settings of serial " @@ -66943,20 +68173,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:47027 +#: book.translate.xml:47081 #, no-wrap msgid "<prompt>#</prompt> <userinput>stty -f /dev/ttyu5.init clocal cs8 ixon ixoff</userinput>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:47029 book.translate.xml:47614 +#: book.translate.xml:47083 book.translate.xml:47668 msgid "" "<primary>rc files</primary> <secondary><filename>rc.serial</filename></" "secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47034 +#: book.translate.xml:47088 msgid "" "To prevent certain settings from being changed by an application, make " "adjustments to the locking device. For example, to lock the speed of " @@ -66964,32 +68194,32 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:47039 +#: book.translate.xml:47093 #, no-wrap msgid "<prompt>#</prompt> <userinput>stty -f /dev/ttyu5.lock 57600</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47041 +#: book.translate.xml:47095 msgid "" "Now, any application that opens <filename>ttyu5</filename> and tries to " "change the speed of the port will be stuck with 57600 bps." msgstr "" #. (itstool) path: info/title -#: book.translate.xml:47049 +#: book.translate.xml:47103 msgid "Terminals" msgstr "終端機" #. (itstool) path: authorgroup/author -#: book.translate.xml:47052 +#: book.translate.xml:47106 msgid "" "<personname> <firstname>Sean</firstname> <surname>Kelly</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:47064 +#: book.translate.xml:47118 msgid "" "Terminals provide a convenient and low-cost way to access a FreeBSD system " "when not at the computer's console or on a connected network. This section " @@ -66997,7 +68227,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:47069 +#: book.translate.xml:47123 msgid "" "The original <trademark class=\"registered\">UNIX</trademark> systems did " "not have consoles. Instead, users logged in and ran programs through " @@ -67005,7 +68235,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:47073 +#: book.translate.xml:47127 msgid "" "The ability to establish a login session on a serial port still exists in " "nearly every <trademark class=\"registered\">UNIX</trademark>-like operating " @@ -67015,7 +68245,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:47080 +#: book.translate.xml:47134 msgid "" "Many terminals can be attached to a FreeBSD system. An older spare computer " "can be used as a terminal wired into a more powerful computer running " @@ -67024,17 +68254,17 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:47086 +#: book.translate.xml:47140 msgid "FreeBSD supports three types of terminals:" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:47090 +#: book.translate.xml:47144 msgid "Dumb terminals" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:47092 +#: book.translate.xml:47146 msgid "" "Dumb terminals are specialized hardware that connect to computers over " "serial lines. They are called <quote>dumb</quote> because they have only " @@ -67044,7 +68274,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:47100 +#: book.translate.xml:47154 msgid "" "There are hundreds of kinds of dumb terminals made by many manufacturers, " "and just about any kind will work with FreeBSD. Some high-end terminals can " @@ -67053,19 +68283,19 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:47106 +#: book.translate.xml:47160 msgid "" "Dumb terminals are popular in work environments where workers do not need " "access to graphical applications." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:47113 +#: book.translate.xml:47167 msgid "Computers Acting as Terminals" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:47115 +#: book.translate.xml:47169 msgid "" "Since a dumb terminal has just enough ability to display, send, and receive " "text, any spare computer can be a dumb terminal. All that is needed is the " @@ -67074,7 +68304,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:47121 +#: book.translate.xml:47175 msgid "" "This configuration can be useful. For example, if one user is busy working " "at the FreeBSD system's console, another user can do some text-only work at " @@ -67083,7 +68313,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:47127 +#: book.translate.xml:47181 msgid "" "There are at least two utilities in the base-system of FreeBSD that can be " "used to work through a serial connection: <citerefentry><refentrytitle>cu</" @@ -67093,20 +68323,20 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:47131 +#: book.translate.xml:47185 msgid "" "For example, to connect from a client system that runs FreeBSD to the serial " "connection of another system:" msgstr "" #. (itstool) path: listitem/screen -#: book.translate.xml:47134 +#: book.translate.xml:47188 #, no-wrap msgid "<prompt>#</prompt> <userinput>cu -l <replaceable>serial-port-device</replaceable></userinput>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:47136 +#: book.translate.xml:47190 msgid "" "Replace <replaceable>serial-port-device</replaceable> with the device name " "of the connected serial port. These device files are called <filename>/dev/" @@ -67119,19 +68349,19 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:47149 +#: book.translate.xml:47203 msgid "" "Additional programs are available through the Ports Collection, such as " "<package>comms/minicom</package>." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:47156 +#: book.translate.xml:47210 msgid "X Terminals" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:47158 +#: book.translate.xml:47212 msgid "" "X terminals are the most sophisticated kind of terminal available. Instead " "of connecting to a serial port, they usually connect to a network like " @@ -67140,18 +68370,18 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:47165 +#: book.translate.xml:47219 msgid "" "This chapter does not cover the setup, configuration, or use of X terminals." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:47172 +#: book.translate.xml:47226 msgid "Terminal Configuration" msgstr "終端機設定" #. (itstool) path: sect2/para -#: book.translate.xml:47174 +#: book.translate.xml:47228 msgid "" "This section describes how to configure a FreeBSD system to enable a login " "session on a serial terminal. It assumes that the system recognizes the " @@ -67160,7 +68390,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47180 +#: book.translate.xml:47234 msgid "" "In FreeBSD, <command>init</command> reads <filename>/etc/ttys</filename> and " "starts a <command>getty</command> process on the available terminals. The " @@ -67176,7 +68406,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47196 +#: book.translate.xml:47250 msgid "" "The default <filename>/etc/ttys</filename> configures support for the first " "four serial ports, <filename>ttyu0</filename> through <filename>ttyu3</" @@ -67184,7 +68414,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:47201 +#: book.translate.xml:47255 #, no-wrap msgid "" "ttyu0 \"/usr/libexec/getty std.9600\" dialup off secure\n" @@ -67194,7 +68424,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47206 +#: book.translate.xml:47260 msgid "" "When attaching a terminal to one of those ports, modify the default entry to " "set the required speed and terminal type, to turn the device <literal>on</" @@ -67204,7 +68434,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47213 +#: book.translate.xml:47267 msgid "" "<xref linkend=\"ex-etc-ttys\"/> configures two terminals in <filename>/etc/" "ttys</filename>. The first entry configures a Wyse-50 connected to " @@ -67215,12 +68445,12 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:47222 +#: book.translate.xml:47276 msgid "Configuring Terminal Entries" msgstr "設定終端機項目" #. (itstool) path: example/programlisting -#: book.translate.xml:47224 +#: book.translate.xml:47278 #, no-wrap msgid "" "ttyu1<co xml:id=\"co-ttys-line1col1\"/> \"/usr/libexec/getty std.38400\"<co xml:id=\"co-ttys-line1col2\"/> wy50<co xml:id=\"co-ttys-line1col3\"/> on<co xml:id=\"co-ttys-line1col4\"/> insecure<co xml:id=\"co-ttys-line1col5\"/>\n" @@ -67228,12 +68458,12 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:47229 +#: book.translate.xml:47283 msgid "The first field specifies the device name of the serial terminal." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:47234 +#: book.translate.xml:47288 msgid "" "The second field tells <command>getty</command> to initialize and open the " "line, set the line speed, prompt for a user name, and then execute the " @@ -67249,7 +68479,7 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:47250 +#: book.translate.xml:47304 msgid "" "When setting the getty type, make sure to match the communications settings " "used by the terminal. For this example, the Wyse-50 uses no parity and " @@ -67257,7 +68487,7 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:47258 +#: book.translate.xml:47312 msgid "" "The third field is the type of terminal. For dial-up ports, " "<literal>unknown</literal> or <literal>dialup</literal> is typically used " @@ -67269,14 +68499,14 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:47272 +#: book.translate.xml:47326 msgid "" "The fourth field specifies if the port should be enabled. To enable logins " "on this port, this field must be set to <literal>on</literal>." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:47278 +#: book.translate.xml:47332 msgid "" "The final field is used to specify whether the port is secure. Marking a " "port as <literal>secure</literal> means that it is trusted enough to allow " @@ -67290,7 +68520,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47292 +#: book.translate.xml:47346 msgid "" "After making any changes to <filename>/etc/ttys</filename>, send a SIGHUP " "(hangup) signal to the <command>init</command> process to force it to re-" @@ -67298,20 +68528,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:47297 book.translate.xml:47612 +#: book.translate.xml:47351 book.translate.xml:47666 #, no-wrap msgid "<prompt>#</prompt> <userinput>kill -HUP 1</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47299 +#: book.translate.xml:47353 msgid "" "Since <command>init</command> is always the first process run on a system, " "it always has a process <acronym>ID</acronym> of <literal>1</literal>." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47303 +#: book.translate.xml:47357 msgid "" "If everything is set up correctly, all cables are in place, and the " "terminals are powered up, a <command>getty</command> process should now be " @@ -67320,12 +68550,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:47311 +#: book.translate.xml:47365 msgid "Troubleshooting the Connection" msgstr "連線疑難排解" #. (itstool) path: sect2/para -#: book.translate.xml:47313 +#: book.translate.xml:47367 msgid "" "Even with the most meticulous attention to detail, something could still go " "wrong while setting up a terminal. Here is a list of common symptoms and " @@ -67333,7 +68563,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47318 +#: book.translate.xml:47372 msgid "" "If no login prompt appears, make sure the terminal is plugged in and powered " "up. If it is a personal computer acting as a terminal, make sure it is " @@ -67341,14 +68571,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47323 +#: book.translate.xml:47377 msgid "" "Make sure the cable is connected firmly to both the terminal and the FreeBSD " "computer. Make sure it is the right kind of cable." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47327 +#: book.translate.xml:47381 msgid "" "Make sure the terminal and FreeBSD agree on the <acronym>bps</acronym> rate " "and parity settings. For a video display terminal, make sure the contrast " @@ -67357,7 +68587,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47333 +#: book.translate.xml:47387 msgid "" "Use <command>ps</command> to make sure that a <command>getty</command> " "process is running and serving the terminal. For example, the following " @@ -67367,7 +68597,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:47341 +#: book.translate.xml:47395 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ps -axww|grep ttyu</userinput>\n" @@ -67375,7 +68605,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47344 +#: book.translate.xml:47398 msgid "" "If no <command>getty</command> process is running, make sure the port is " "enabled in <filename>/etc/ttys</filename>. Remember to run <command>kill -" @@ -67383,7 +68613,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47349 +#: book.translate.xml:47403 msgid "" "If the <command>getty</command> process is running but the terminal still " "does not display a login prompt, or if it displays a prompt but will not " @@ -67398,7 +68628,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47363 +#: book.translate.xml:47417 msgid "" "If garbage appears instead of a login prompt, make sure the terminal and " "FreeBSD agree on the <acronym>bps</acronym> rate and parity settings. Check " @@ -67408,7 +68638,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47371 +#: book.translate.xml:47425 msgid "" "If characters appear doubled and the password appears when typed, switch the " "terminal, or the terminal emulation software, from <quote>half duplex</" @@ -67416,31 +68646,31 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:47380 +#: book.translate.xml:47434 msgid "Dial-in Service" msgstr "撥入服務" #. (itstool) path: authorgroup/author -#: book.translate.xml:47383 +#: book.translate.xml:47437 msgid "" "<personname> <firstname>Guy</firstname> <surname>Helmer</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:47393 +#: book.translate.xml:47447 msgid "" "<personname> <firstname>Sean</firstname> <surname>Kelly</surname> </" "personname> <contrib>Additions by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:47403 +#: book.translate.xml:47457 msgid "<primary>dial-in service</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:47405 +#: book.translate.xml:47459 msgid "" "Configuring a FreeBSD system for dial-in service is similar to configuring " "terminals, except that modems are used instead of terminal devices. FreeBSD " @@ -67448,7 +68678,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:47410 +#: book.translate.xml:47464 msgid "" "External modems are more convenient because they often can be configured via " "parameters stored in non-volatile <acronym>RAM</acronym> and they usually " @@ -67458,7 +68688,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:47417 +#: book.translate.xml:47471 msgid "" "Internal modems usually lack non-volatile <acronym>RAM</acronym>, so their " "configuration may be limited to setting <acronym>DIP</acronym> switches. If " @@ -67467,19 +68697,19 @@ msgid "" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:47423 +#: book.translate.xml:47477 msgid "<primary>modem</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:47425 +#: book.translate.xml:47479 msgid "" "When using an external modem, a proper cable is needed. A standard " "<acronym>RS-232C</acronym> serial cable should suffice." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:47429 +#: book.translate.xml:47483 msgid "" "FreeBSD needs the <acronym>RTS</acronym> and <acronym>CTS</acronym> signals " "for flow control at speeds above 2400 bps, the <acronym>CD</acronym> signal " @@ -67492,7 +68722,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:47439 +#: book.translate.xml:47493 msgid "" "Like other <trademark class=\"registered\">UNIX</trademark>-like operating " "systems, FreeBSD uses the hardware signals to find out when a call has been " @@ -67502,7 +68732,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:47445 +#: book.translate.xml:47499 msgid "" "FreeBSD supports the <acronym>NS8250</acronym>, <acronym>NS16450</acronym>, " "<acronym>NS16550</acronym>, and <acronym>NS16550A</acronym>-based " @@ -67518,7 +68748,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:47460 +#: book.translate.xml:47514 msgid "" "The rest of this section demonstrates how to configure a modem to receive " "incoming connections, how to communicate with the modem, and offers some " @@ -67526,17 +68756,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:47465 +#: book.translate.xml:47519 msgid "Modem Configuration" msgstr "數據機設定" #. (itstool) path: sect2/indexterm -#: book.translate.xml:47467 +#: book.translate.xml:47521 msgid "<primary>getty</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47468 +#: book.translate.xml:47522 msgid "" "As with terminals, <command>init</command> spawns a <command>getty</command> " "process for each configured serial port used for dial-in connections. When a " @@ -67554,12 +68784,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:47485 +#: book.translate.xml:47539 msgid "<primary><command>/usr/bin/login</command></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47489 +#: book.translate.xml:47543 msgid "" "There are two schools of thought regarding dial-up modems. One configuration " "method is to set the modems and systems so that no matter at what speed a " @@ -67572,7 +68802,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47501 +#: book.translate.xml:47555 msgid "" "The second method is to configure the <acronym>RS-232</acronym> interface to " "vary its speed based on the remote user's connection speed. Because " @@ -67590,7 +68820,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47519 +#: book.translate.xml:47573 msgid "" "When locking a modem's data communications rate at a particular speed, no " "changes to <filename>/etc/gettytab</filename> should be needed. However, for " @@ -67607,7 +68837,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:47536 +#: book.translate.xml:47590 #, no-wrap msgid "" "#\n" @@ -67626,14 +68856,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47550 +#: book.translate.xml:47604 msgid "" "For a 28.8 Kbps modem, or to take advantage of compression on a 14.4 Kbps " "modem, use a higher communications rate, as seen in this example:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:47554 +#: book.translate.xml:47608 #, no-wrap msgid "" "#\n" @@ -67653,7 +68883,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47569 +#: book.translate.xml:47623 msgid "" "For a slow <acronym>CPU</acronym> or a heavily loaded system without 16550A-" "based serial ports, this configuration may produce <errorname>sio</" @@ -67661,12 +68891,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:47574 +#: book.translate.xml:47628 msgid "<primary><filename>/etc/ttys</filename></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47578 +#: book.translate.xml:47632 msgid "" "The configuration of <filename>/etc/ttys</filename> is similar to <xref " "linkend=\"ex-etc-ttys\"/>, but a different argument is passed to " @@ -67676,13 +68906,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:47585 +#: book.translate.xml:47639 #, no-wrap msgid "ttyu0 \"/usr/libexec/getty <replaceable>xxx</replaceable>\" dialup on" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47587 +#: book.translate.xml:47641 msgid "" "The <literal>dialup</literal> terminal type can be changed. For example, " "setting <literal>vt102</literal> as the default terminal type allows users " @@ -67690,7 +68920,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47593 +#: book.translate.xml:47647 msgid "" "For a locked-speed configuration, specify the speed with a valid type listed " "in <filename>/etc/gettytab</filename>. This example is for a modem whose " @@ -67698,13 +68928,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:47598 +#: book.translate.xml:47652 #, no-wrap msgid "ttyu0 \"/usr/libexec/getty std.<replaceable>19200</replaceable>\" dialup on" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47600 +#: book.translate.xml:47654 msgid "" "In a matching-speed configuration, the entry needs to reference the " "appropriate beginning <quote>auto-baud</quote> entry in <filename>/etc/" @@ -67713,20 +68943,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:47606 +#: book.translate.xml:47660 #, no-wrap msgid "ttyu0 \"/usr/libexec/getty V19200\" dialup on" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47608 +#: book.translate.xml:47662 msgid "" "After editing <filename>/etc/ttys</filename>, wait until the modem is " "properly configured and connected before signaling <command>init</command>:" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47619 +#: book.translate.xml:47673 msgid "" "High-speed modems, like <acronym>V.32</acronym>, <acronym>V.32bis</acronym>, " "and <acronym>V.34</acronym> modems, use hardware (<literal>RTS/CTS</" @@ -67737,7 +68967,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:47627 +#: book.translate.xml:47681 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>stty -f /dev/ttyu1.init crtscts</userinput>\n" @@ -67745,14 +68975,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47782 +#: book.translate.xml:47836 msgid "" "This section provides a few tips for troubleshooting a dial-up modem that " "will not connect to a FreeBSD system." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47785 +#: book.translate.xml:47839 msgid "" "Hook up the modem to the FreeBSD system and boot the system. If the modem " "has status indication lights, watch to see whether the modem's <acronym>DTR</" @@ -67763,7 +68993,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47794 +#: book.translate.xml:47848 msgid "" "If the <acronym>DTR</acronym> indicator does not light, login to the FreeBSD " "system through the console and type <command>ps ax</command> to see if " @@ -67771,13 +69001,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:47799 +#: book.translate.xml:47853 #, no-wrap msgid " 114 ?? I 0:00.10 /usr/libexec/getty V19200 <replaceable>ttyu0</replaceable>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47801 +#: book.translate.xml:47855 msgid "" "If the second column contains a <literal>d0</literal> instead of a " "<literal>??</literal> and the modem has not accepted a call yet, this means " @@ -67789,7 +69019,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47810 +#: book.translate.xml:47864 msgid "" "If no <command>getty</command> processes are waiting to open the port, " "double-check that the entry for the port is correct in <filename>/etc/ttys</" @@ -67799,7 +69029,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47817 +#: book.translate.xml:47871 msgid "" "Next, try dialing into the system. Be sure to use 8 bits, no parity, and 1 " "stop bit on the remote system. If a prompt does not appear right away, or " @@ -67810,14 +69040,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47826 +#: book.translate.xml:47880 msgid "" "If there is still no <prompt>login:</prompt> prompt, check <filename>/etc/" "gettytab</filename> again and double-check that:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:47832 +#: book.translate.xml:47886 msgid "" "The initial capability name specified in the entry in <filename>/etc/ttys</" "filename> matches the name of a capability in <filename>/etc/gettytab</" @@ -67825,21 +69055,21 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:47838 +#: book.translate.xml:47892 msgid "" "Each <literal>nx=</literal> entry matches another <filename>gettytab</" "filename> capability name." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:47843 +#: book.translate.xml:47897 msgid "" "Each <literal>tc=</literal> entry matches another <filename>gettytab</" "filename> capability name." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47848 +#: book.translate.xml:47902 msgid "" "If the modem on the FreeBSD system will not answer, make sure that the modem " "is configured to answer the phone when <acronym>DTR</acronym> is asserted. " @@ -67848,7 +69078,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47855 +#: book.translate.xml:47909 msgid "" "If it still does not work, try sending an email to the <link xlink:href=" "\"http://lists.FreeBSD.org/mailman/listinfo/freebsd-questions\">FreeBSD " @@ -67856,17 +69086,17 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:47862 +#: book.translate.xml:47916 msgid "Dial-out Service" msgstr "撥出服務" #. (itstool) path: sect1/indexterm -#: book.translate.xml:47864 +#: book.translate.xml:47918 msgid "<primary>dial-out service</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:47866 +#: book.translate.xml:47920 msgid "" "The following are tips for getting the host to connect over the modem to " "another computer. This is appropriate for establishing a terminal session " @@ -67874,7 +69104,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:47870 +#: book.translate.xml:47924 msgid "" "This kind of connection can be helpful to get a file on the Internet if " "there are problems using PPP. If PPP is not working, use the terminal " @@ -67883,19 +69113,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:47876 +#: book.translate.xml:47930 msgid "Using a Stock Hayes Modem" msgstr "使用 Stock Hayes 數據機" #. (itstool) path: sect2/para -#: book.translate.xml:47878 +#: book.translate.xml:47932 msgid "" "A generic Hayes dialer is built into <command>tip</command>. Use " "<literal>at=hayes</literal> in <filename>/etc/remote</filename>." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47882 +#: book.translate.xml:47936 msgid "" "The Hayes driver is not smart enough to recognize some of the advanced " "features of newer modems messages like <literal>BUSY</literal>, <literal>NO " @@ -67905,7 +69135,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47889 +#: book.translate.xml:47943 msgid "" "The dial timeout for <command>tip</command> is 60 seconds. The modem should " "use something less, or else <command>tip</command> will think there is a " @@ -67913,17 +69143,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:47896 +#: book.translate.xml:47950 msgid "Using <literal>AT</literal> Commands" msgstr "使用 <literal>AT</literal> 指令" #. (itstool) path: sect2/indexterm -#: book.translate.xml:47898 +#: book.translate.xml:47952 msgid "<primary><filename>/etc/remote</filename></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47901 +#: book.translate.xml:47955 msgid "" "Create a <quote>direct</quote> entry in <filename>/etc/remote</filename>. " "For example, if the modem is hooked up to the first serial port, <filename>/" @@ -67931,13 +69161,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:47907 +#: book.translate.xml:47961 #, no-wrap msgid "cuau0:dv=/dev/cuau0:br#19200:pa=none" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47909 +#: book.translate.xml:47963 msgid "" "Use the highest <acronym>bps</acronym> rate the modem supports in the " "<literal>br</literal> capability. Then, type <command>tip cuau0</command> to " @@ -67945,20 +69175,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47913 +#: book.translate.xml:47967 msgid "" "Or, use <command>cu</command> as <systemitem class=\"username\">root</" "systemitem> with the following command:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:47916 +#: book.translate.xml:47970 #, no-wrap msgid "<prompt>#</prompt> <userinput>cu -l<replaceable>line</replaceable> -s<replaceable>speed</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47918 +#: book.translate.xml:47972 msgid "" "<replaceable>line</replaceable> is the serial port, such as <filename>/dev/" "cuau0</filename>, and <replaceable>speed</replaceable> is the speed, such as " @@ -67967,12 +69197,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:47926 +#: book.translate.xml:47980 msgid "The <literal>@</literal> Sign Does Not Work" msgstr "<literal>@</literal> 符號無法運作" #. (itstool) path: sect2/para -#: book.translate.xml:47928 +#: book.translate.xml:47982 msgid "" "The <literal>@</literal> sign in the phone number capability tells " "<command>tip</command> to look in <filename>/etc/phones</filename> for a " @@ -67982,25 +69212,25 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:47935 +#: book.translate.xml:47989 #, no-wrap msgid "pn=\\@" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:47939 +#: book.translate.xml:47993 msgid "Dialing from the Command Line" msgstr "從指令列撥號" #. (itstool) path: sect2/para -#: book.translate.xml:47941 +#: book.translate.xml:47995 msgid "" "Put a <quote>generic</quote> entry in <filename>/etc/remote</filename>. For " "example:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:47944 +#: book.translate.xml:47998 #, no-wrap msgid "" "tip115200|Dial any phone number at 115200 bps:\\\n" @@ -68010,25 +69240,25 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47949 +#: book.translate.xml:48003 msgid "This should now work:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:47951 +#: book.translate.xml:48005 #, no-wrap msgid "<prompt>#</prompt> <userinput>tip -115200 5551234</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47953 +#: book.translate.xml:48007 msgid "" "Users who prefer <command>cu</command> over <command>tip</command>, can use " "a generic <literal>cu</literal> entry:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:47957 +#: book.translate.xml:48011 #, no-wrap msgid "" "cu115200|Use cu to dial any number at 115200bps:\\\n" @@ -68036,23 +69266,23 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:47960 +#: book.translate.xml:48014 msgid "and type:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:47962 +#: book.translate.xml:48016 #, no-wrap msgid "<prompt>#</prompt> <userinput>cu 5551234 -s 115200</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:47966 +#: book.translate.xml:48020 msgid "Setting the <acronym>bps</acronym> Rate" msgstr "設定 <acronym>bps</acronym> 率" #. (itstool) path: sect2/para -#: book.translate.xml:47968 +#: book.translate.xml:48022 msgid "" "Put in an entry for <literal>tip1200</literal> or <literal>cu1200</literal>, " "but go ahead and use whatever <acronym>bps</acronym> rate is appropriate " @@ -68062,12 +69292,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:47978 +#: book.translate.xml:48032 msgid "Accessing a Number of Hosts Through a Terminal Server" msgstr "透過終端伺服器存取多個主機" #. (itstool) path: sect2/para -#: book.translate.xml:47981 +#: book.translate.xml:48035 msgid "" "Rather than waiting until connected and typing <command>CONNECT " "<replaceable>host</replaceable></command> each time, use <command>tip</" @@ -68079,7 +69309,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:47991 +#: book.translate.xml:48045 #, no-wrap msgid "" "pain|pain.deep13.com|Forrester's machine:\\\n" @@ -68091,26 +69321,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:48001 +#: book.translate.xml:48055 msgid "Using More Than One Line with <command>tip</command>" msgstr "在 <command>tip</command> 使用超過一行" #. (itstool) path: sect2/para -#: book.translate.xml:48004 +#: book.translate.xml:48058 msgid "" "This is often a problem where a university has several modem lines and " "several thousand students trying to use them." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:48008 +#: book.translate.xml:48062 msgid "" "Make an entry in <filename>/etc/remote</filename> and use <literal>@</" "literal> for the <literal>pn</literal> capability:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:48012 +#: book.translate.xml:48066 #, no-wrap msgid "" "big-university:\\\n" @@ -68120,12 +69350,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:48017 +#: book.translate.xml:48071 msgid "Then, list the phone numbers in <filename>/etc/phones</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:48020 +#: book.translate.xml:48074 #, no-wrap msgid "" "big-university 5551111\n" @@ -68135,7 +69365,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:48025 +#: book.translate.xml:48079 msgid "" "<command>tip</command> will try each number in the listed order, then give " "up. To keep retrying, run <command>tip</command> in a <literal>while</" @@ -68143,12 +69373,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:48032 +#: book.translate.xml:48086 msgid "Using the Force Character" msgstr "使用強制字元" #. (itstool) path: sect2/para -#: book.translate.xml:48034 +#: book.translate.xml:48088 msgid "" "<keycombo action=\"simul\"> <keycap>Ctrl</keycap> <keycap>P</keycap> </" "keycombo> is the default <quote>force</quote> character, used to tell " @@ -68158,7 +69388,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:48043 +#: book.translate.xml:48097 msgid "" "Type <command>~sforce=<replaceable>single-char</replaceable></command> " "followed by a newline. <replaceable>single-char</replaceable> is any single " @@ -68172,25 +69402,25 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:48064 +#: book.translate.xml:48118 msgid "" "To change the force character, specify the following in <filename>~/.tiprc</" "filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:48067 +#: book.translate.xml:48121 #, no-wrap msgid "force=<replaceable>single-char</replaceable>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:48071 +#: book.translate.xml:48125 msgid "Upper Case Characters" msgstr "大寫字元" #. (itstool) path: sect2/para -#: book.translate.xml:48073 +#: book.translate.xml:48127 msgid "" "This happens when <keycombo action=\"simul\"> <keycap>Ctrl</keycap> " "<keycap>A</keycap> </keycombo> is pressed, which is <command>tip</command>'s " @@ -68201,7 +69431,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:48084 +#: book.translate.xml:48138 msgid "" "Here is a sample <filename>~/.tiprc</filename> for <application>Emacs</" "application> users who need to type <keycombo action=\"simul\"> " @@ -68210,7 +69440,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:48094 +#: book.translate.xml:48148 #, no-wrap msgid "" "force=^^\n" @@ -68218,19 +69448,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:48097 +#: book.translate.xml:48151 msgid "" "The <literal>^^</literal> is <keycombo action=\"simul\"> <keycap>Shift</" "keycap><keycap>Ctrl</keycap><keycap>6</keycap> </keycombo>." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:48105 +#: book.translate.xml:48159 msgid "File Transfers with <command>tip</command>" msgstr "使用 <command>tip</command> 傳輸檔案" #. (itstool) path: sect2/para -#: book.translate.xml:48107 +#: book.translate.xml:48161 msgid "" "When talking to another <trademark class=\"registered\">UNIX</trademark>-" "like operating system, files can be sent and received using <command>~p</" @@ -68240,40 +69470,40 @@ msgid "" msgstr "" #. (itstool) path: sect2/cmdsynopsis -#: book.translate.xml:48113 +#: book.translate.xml:48167 msgid "" "<command>~p</command> <arg choice=\"plain\">local-file</arg> <arg choice=" "\"opt\">remote-file</arg>" msgstr "" #. (itstool) path: sect2/cmdsynopsis -#: book.translate.xml:48119 +#: book.translate.xml:48173 msgid "" "<command>~t</command> <arg choice=\"plain\">remote-file</arg> <arg choice=" "\"opt\">local-file</arg>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:48125 +#: book.translate.xml:48179 msgid "" "There is no error checking, so another protocol, like zmodem, should " "probably be used." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:48130 +#: book.translate.xml:48184 msgid "Using <application>zmodem</application> with <command>tip</command>?" msgstr "在 <application>zmodem</application> 使用 <command>tip</command>?" #. (itstool) path: sect2/para -#: book.translate.xml:48133 +#: book.translate.xml:48187 msgid "" "To receive files, start the sending program on the remote end. Then, type " "<command>~C rz</command> to begin receiving them locally." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:48137 +#: book.translate.xml:48191 msgid "" "To send files, start the receiving program on the remote end. Then, type " "<command>~C sz <replaceable>files</replaceable></command> to send them to " @@ -68281,31 +69511,31 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:48146 +#: book.translate.xml:48200 msgid "Setting Up the Serial Console" msgstr "設定序列 Console" #. (itstool) path: authorgroup/author -#: book.translate.xml:48149 +#: book.translate.xml:48203 msgid "" "<personname> <firstname>Kazutaka</firstname> <surname>YOKOTA</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:48159 +#: book.translate.xml:48213 msgid "" "<personname> <firstname>Bill</firstname> <surname>Paul</surname> </" "personname> <contrib>Based on a document by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:48169 +#: book.translate.xml:48223 msgid "<primary>serial console</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:48171 +#: book.translate.xml:48225 msgid "" "FreeBSD has the ability to boot a system with a dumb terminal on a serial " "port as a console. This configuration is useful for system administrators " @@ -68314,7 +69544,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:48178 +#: book.translate.xml:48232 msgid "" "As described in <xref linkend=\"boot\"/>, FreeBSD employs a three stage " "bootstrap. The first two stages are in the boot block code which is stored " @@ -68323,19 +69553,19 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:48184 +#: book.translate.xml:48238 msgid "" "In order to set up booting from a serial console, the boot block code, the " "boot loader code, and the kernel need to be configured." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:48189 +#: book.translate.xml:48243 msgid "Quick Serial Console Configuration" msgstr "快速序列 Console 設定" #. (itstool) path: sect2/para -#: book.translate.xml:48191 +#: book.translate.xml:48245 msgid "" "This section provides a fast overview of setting up the serial console. This " "procedure can be used when the dumb terminal is connected to <filename>COM1</" @@ -68343,32 +69573,32 @@ msgid "" msgstr "" #. (itstool) path: procedure/title -#: book.translate.xml:48196 +#: book.translate.xml:48250 msgid "Configuring a Serial Console on <filename>COM1</filename>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48200 +#: book.translate.xml:48254 msgid "" "Connect the serial cable to <filename>COM1</filename> and the controlling " "terminal." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48206 +#: book.translate.xml:48260 msgid "" "To configure boot messages to display on the serial console, issue the " "following command as the superuser:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:48210 +#: book.translate.xml:48264 #, no-wrap msgid "<prompt>#</prompt> echo 'console=\"comconsole\"' >> /boot/loader.conf" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48214 +#: book.translate.xml:48268 msgid "" "Edit <filename>/etc/ttys</filename> and change <literal>off</literal> to " "<literal>on</literal> and <literal>dialup</literal> to <literal>vt100</" @@ -68378,41 +69608,41 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48223 +#: book.translate.xml:48277 msgid "Reboot the system to see if the changes took effect." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:48229 +#: book.translate.xml:48283 msgid "" "If a different configuration is required, see the next section for a more in-" "depth configuration explanation." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:48234 +#: book.translate.xml:48288 msgid "In-Depth Serial Console Configuration" msgstr "深入序列 Console 設定" #. (itstool) path: sect2/para -#: book.translate.xml:48236 +#: book.translate.xml:48290 msgid "" "This section provides a more detailed explanation of the steps needed to " "setup a serial console in FreeBSD." msgstr "" #. (itstool) path: procedure/title -#: book.translate.xml:48240 +#: book.translate.xml:48294 msgid "Configuring a Serial Console" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48243 +#: book.translate.xml:48297 msgid "Prepare a serial cable." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48247 +#: book.translate.xml:48301 msgid "" "Use either a null-modem cable or a standard serial cable and a null-modem " "adapter. See <xref linkend=\"term-cables-null\"/> for a discussion on serial " @@ -68420,12 +69650,12 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48253 +#: book.translate.xml:48307 msgid "Unplug the keyboard." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48255 +#: book.translate.xml:48309 msgid "" "Many systems probe for the keyboard during the Power-On Self-Test " "(<acronym>POST</acronym>) and will generate an error if the keyboard is not " @@ -68433,14 +69663,14 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48261 +#: book.translate.xml:48315 msgid "" "If the computer complains about the error, but boots anyway, no further " "configuration is needed." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48264 +#: book.translate.xml:48318 msgid "" "If the computer refuses to boot without a keyboard attached, configure the " "<acronym>BIOS</acronym> so that it ignores this error. Consult the " @@ -68448,7 +69678,7 @@ msgid "" msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:48270 +#: book.translate.xml:48324 msgid "" "Try setting the keyboard to <quote>Not installed</quote> in the " "<acronym>BIOS</acronym>. This setting tells the <acronym>BIOS</acronym> not " @@ -68460,7 +69690,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48281 +#: book.translate.xml:48335 msgid "" "If the system has a <trademark class=\"registered\">PS/2</trademark> mouse, " "unplug it as well. <trademark class=\"registered\">PS/2</trademark> mice " @@ -68469,7 +69699,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:48287 +#: book.translate.xml:48341 msgid "" "While most systems will boot without a keyboard, quite a few will not boot " "without a graphics adapter. Some systems can be configured to boot with no " @@ -68482,7 +69712,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48302 +#: book.translate.xml:48356 msgid "" "Plug a dumb terminal, an old computer with a modem program, or the serial " "port on another <trademark class=\"registered\">UNIX</trademark> box into " @@ -68490,7 +69720,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48308 +#: book.translate.xml:48362 msgid "" "Add the appropriate <literal>hint.sio.*</literal> entries to <filename>/boot/" "device.hints</filename> for the serial port. Some multi-port cards also " @@ -68501,14 +69731,14 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48317 +#: book.translate.xml:48371 msgid "" "Create <filename>boot.config</filename> in the root directory of the " "<literal>a</literal> partition on the boot drive." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48321 +#: book.translate.xml:48375 msgid "" "This file instructs the boot block code how to boot the system. In order to " "activate the serial console, one or more of the following options are " @@ -68517,12 +69747,12 @@ msgstr "" #. (itstool) path: varlistentry/term #. (itstool) path: row/entry -#: book.translate.xml:48329 book.translate.xml:48438 +#: book.translate.xml:48383 book.translate.xml:48492 msgid "<option>-h</option>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48332 +#: book.translate.xml:48386 msgid "" "Toggles between the internal and serial consoles. Use this to switch console " "devices. For instance, to boot from the internal (video) console, use " @@ -68534,12 +69764,12 @@ msgstr "" #. (itstool) path: varlistentry/term #. (itstool) path: row/entry -#: book.translate.xml:48345 book.translate.xml:48443 +#: book.translate.xml:48399 book.translate.xml:48497 msgid "<option>-D</option>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48348 +#: book.translate.xml:48402 msgid "" "Toggles between the single and dual console configurations. In the single " "configuration, the console will be either the internal console (video " @@ -68552,19 +69782,19 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:48366 +#: book.translate.xml:48420 msgid "<option>-P</option>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48369 +#: book.translate.xml:48423 msgid "" "Makes the boot block probe the keyboard. If no keyboard is found, the " "<option>-D</option> and <option>-h</option> options are automatically set." msgstr "" #. (itstool) path: note/para -#: book.translate.xml:48375 +#: book.translate.xml:48429 msgid "" "Due to space constraints in the current version of the boot blocks, <option>-" "P</option> is capable of detecting extended keyboards only. Keyboards with " @@ -68574,7 +69804,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48388 +#: book.translate.xml:48442 msgid "" "Use either <option>-P</option> to select the console automatically or " "<option>-h</option> to activate the serial console. Refer to " @@ -68584,7 +69814,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48393 +#: book.translate.xml:48447 msgid "" "The options, except for <option>-P</option>, are passed to the boot loader. " "The boot loader will determine whether the internal video or the serial port " @@ -68596,19 +69826,19 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48406 +#: book.translate.xml:48460 msgid "Boot the machine." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48408 +#: book.translate.xml:48462 msgid "" "When FreeBSD starts, the boot blocks echo the contents of <filename>/boot." "config</filename> to the console. For example:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:48412 +#: book.translate.xml:48466 #, no-wrap msgid "" "/boot.config: -P\n" @@ -68616,7 +69846,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48415 +#: book.translate.xml:48469 msgid "" "The second line appears only if <option>-P</option> is in <filename>/boot." "config</filename> and indicates the presence or absence of the keyboard. " @@ -68625,52 +69855,52 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:48426 +#: book.translate.xml:48480 msgid "Options" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:48427 +#: book.translate.xml:48481 msgid "Message goes to" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:48433 +#: book.translate.xml:48487 msgid "none" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:48434 book.translate.xml:48454 +#: book.translate.xml:48488 book.translate.xml:48508 msgid "internal console" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:48439 book.translate.xml:48459 +#: book.translate.xml:48493 book.translate.xml:48513 msgid "serial console" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:48444 book.translate.xml:48449 +#: book.translate.xml:48498 book.translate.xml:48503 msgid "serial and internal consoles" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:48448 +#: book.translate.xml:48502 msgid "<option>-Dh</option>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:48453 +#: book.translate.xml:48507 msgid "<option>-P</option>, keyboard present" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:48458 +#: book.translate.xml:48512 msgid "<option>-P</option>, keyboard absent" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48465 +#: book.translate.xml:48519 msgid "" "After the message, there will be a small pause before the boot blocks " "continue loading the boot loader and before any further messages are printed " @@ -68680,7 +69910,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48472 +#: book.translate.xml:48526 msgid "" "Press any key, other than <keycap>Enter</keycap>, at the console to " "interrupt the boot process. The boot blocks will then prompt for further " @@ -68688,7 +69918,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48480 +#: book.translate.xml:48534 msgid "" "Verify that the above message appears on either the serial or internal " "console, or both, according to the options in <filename>/boot.config</" @@ -68697,7 +69927,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:48487 +#: book.translate.xml:48541 msgid "" "If there is no prompt on the serial terminal, something is wrong with the " "settings. Enter <option>-h</option> then <keycap>Enter</keycap> or " @@ -68707,7 +69937,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:48497 +#: book.translate.xml:48551 msgid "" "During the third stage of the boot process, one can still switch between the " "internal console and the serial console by setting appropriate environment " @@ -68716,7 +69946,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:48504 +#: book.translate.xml:48558 msgid "" "This line in <filename>/boot/loader.conf</filename> or <filename>/boot/" "loader.conf.local</filename> configures the boot loader and the kernel to " @@ -68725,13 +69955,13 @@ msgid "" msgstr "" #. (itstool) path: note/programlisting -#: book.translate.xml:48510 +#: book.translate.xml:48564 #, no-wrap msgid "console=\"comconsole\"" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:48512 +#: book.translate.xml:48566 msgid "" "That line should be the first line of <filename>/boot/loader.conf</filename> " "so that boot messages are displayed on the serial console as early as " @@ -68739,7 +69969,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:48517 +#: book.translate.xml:48571 msgid "" "If that line does not exist, or if it is set to <literal>console=\"vidconsole" "\"</literal>, the boot loader and the kernel will use whichever console is " @@ -68749,7 +69979,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:48523 +#: book.translate.xml:48577 msgid "" "At the moment, the boot loader has no option equivalent to <option>-P</" "option> in the boot block, and there is no provision to automatically select " @@ -68758,7 +69988,7 @@ msgid "" msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:48531 +#: book.translate.xml:48585 msgid "" "While it is not required, it is possible to provide a <command>login</" "command> prompt over the serial line. To configure this, edit the entry for " @@ -68768,12 +69998,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:48542 +#: book.translate.xml:48596 msgid "Setting a Faster Serial Port Speed" msgstr "設定使用更快的序列埠速度" #. (itstool) path: sect2/para -#: book.translate.xml:48544 +#: book.translate.xml:48598 msgid "" "By default, the serial port settings are 9600 baud, 8 bits, no parity, and 1 " "stop bit. To change the default console speed, use one of the following " @@ -68781,7 +70011,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48550 +#: book.translate.xml:48604 msgid "" "Edit <filename>/etc/make.conf</filename> and set " "<varname>BOOT_COMCONSOLE_SPEED</varname> to the new console speed. Then, " @@ -68789,7 +70019,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/screen -#: book.translate.xml:48555 +#: book.translate.xml:48609 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /sys/boot</userinput>\n" @@ -68799,7 +70029,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48560 +#: book.translate.xml:48614 msgid "" "If the serial console is configured in some other way than by booting with " "<option>-h</option>, or if the serial console used by the kernel is " @@ -68809,13 +70039,13 @@ msgid "" msgstr "" #. (itstool) path: listitem/programlisting -#: book.translate.xml:48567 +#: book.translate.xml:48621 #, no-wrap msgid "options CONSPEED=<replaceable>19200</replaceable>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48571 +#: book.translate.xml:48625 msgid "" "Add the <option>-S<replaceable>19200</replaceable></option> boot option to " "<filename>/boot.config</filename>, replacing <replaceable>19200</" @@ -68823,14 +70053,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48579 +#: book.translate.xml:48633 msgid "" "Add the following options to <filename>/boot/loader.conf</filename>. Replace " "<replaceable>115200</replaceable> with the speed to use." msgstr "" #. (itstool) path: listitem/programlisting -#: book.translate.xml:48584 +#: book.translate.xml:48638 #, no-wrap msgid "" "boot_multicons=\"YES\"\n" @@ -68840,12 +70070,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:48593 +#: book.translate.xml:48647 msgid "Entering the DDB Debugger from the Serial Line" msgstr "從序列線路 (Serial Line) 進入 DDB 除錯程式" #. (itstool) path: sect2/para -#: book.translate.xml:48595 +#: book.translate.xml:48649 msgid "" "To configure the ability to drop into the kernel debugger from the serial " "console, add the following options to a custom kernel configuration file and " @@ -68859,7 +70089,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:48604 +#: book.translate.xml:48658 #, no-wrap msgid "" "options BREAK_TO_DEBUGGER\n" @@ -68867,18 +70097,18 @@ msgid "" msgstr "" #. (itstool) path: chapter/title -#: book.translate.xml:48629 +#: book.translate.xml:48683 msgid "<acronym>PPP</acronym>" msgstr "" #. (itstool) path: sect1/indexterm #. (itstool) id: book.translate.xml#ppp-ppp -#: book.translate.xml:48634 book.translate.xml:48661 +#: book.translate.xml:48688 book.translate.xml:48715 msgid "<primary><acronym>PPP</acronym></primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:48638 +#: book.translate.xml:48692 msgid "" "FreeBSD supports the Point-to-Point (<acronym>PPP</acronym>) protocol which " "can be used to establish a network or Internet connection using a dial-up " @@ -68890,13 +70120,13 @@ msgstr "" "為基礎的通訊服務。" #. (itstool) path: listitem/para -#: book.translate.xml:48647 +#: book.translate.xml:48701 msgid "" "How to configure, use, and troubleshoot a <acronym>PPP</acronym> connection." msgstr "如何設定、使用 <acronym>PPP</acronym> 連線及排除問題。" #. (itstool) path: listitem/para -#: book.translate.xml:48651 +#: book.translate.xml:48705 msgid "" "How to set up <acronym>PPP</acronym> over Ethernet (<acronym>PPPoE</" "acronym>)." @@ -68905,7 +70135,7 @@ msgstr "" "acronym>)。" #. (itstool) path: listitem/para -#: book.translate.xml:48655 +#: book.translate.xml:48709 msgid "" "How to set up <acronym>PPP</acronym> over <acronym>ATM</acronym> " "(<acronym>PPPoA</acronym>)." @@ -68914,31 +70144,31 @@ msgstr "" "(<acronym>PPPoA</acronym>)。" #. (itstool) path: sect1/indexterm -#: book.translate.xml:48664 book.translate.xml:49925 +#: book.translate.xml:48718 book.translate.xml:49979 msgid "" "<primary><acronym>PPP</acronym></primary> <secondary>over Ethernet</" "secondary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48673 book.translate.xml:61682 +#: book.translate.xml:48727 book.translate.xml:61736 msgid "Be familiar with basic network terminology." msgstr "熟悉基本網路術語。" #. (itstool) path: listitem/para -#: book.translate.xml:48676 +#: book.translate.xml:48730 msgid "" "Understand the basics and purpose of a dial-up connection and <acronym>PPP</" "acronym>." msgstr "了解撥號連線及 <acronym>PPP</acronym> 的基礎及目的。" #. (itstool) path: sect1/title -#: book.translate.xml:48717 +#: book.translate.xml:48771 msgid "Configuring <acronym>PPP</acronym>" msgstr "設定 <acronym>PPP</acronym>" #. (itstool) path: sect1/para -#: book.translate.xml:48719 +#: book.translate.xml:48773 msgid "" "FreeBSD provides built-in support for managing dial-up <acronym>PPP</" "acronym> connections using <citerefentry><refentrytitle>ppp</" @@ -68951,35 +70181,35 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:48728 +#: book.translate.xml:48782 msgid "" "In order to use a <acronym>PPP</acronym> connection, the following items are " "needed:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48733 +#: book.translate.xml:48787 msgid "" "A dial-up account with an Internet Service Provider (<acronym>ISP</acronym>)." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48738 +#: book.translate.xml:48792 msgid "A dial-up modem." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48742 +#: book.translate.xml:48796 msgid "The dial-up number for the <acronym>ISP</acronym>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48747 +#: book.translate.xml:48801 msgid "The login name and password assigned by the <acronym>ISP</acronym>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48752 +#: book.translate.xml:48806 msgid "" "The <acronym>IP</acronym> address of one or more <acronym>DNS</acronym> " "servers. Normally, the <acronym>ISP</acronym> provides these addresses. If " @@ -68988,21 +70218,21 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:48760 +#: book.translate.xml:48814 msgid "" "If any of the required information is missing, contact the <acronym>ISP</" "acronym>." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:48763 +#: book.translate.xml:48817 msgid "" "The following information may be supplied by the <acronym>ISP</acronym>, but " "is not necessary:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48768 +#: book.translate.xml:48822 msgid "" "The <acronym>IP</acronym> address of the default gateway. If this " "information is unknown, the <acronym>ISP</acronym> will automatically " @@ -69012,7 +70242,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48777 +#: book.translate.xml:48831 msgid "" "The subnet mask. If the <acronym>ISP</acronym> has not provided one, " "<systemitem class=\"netmask\">255.255.255.255</systemitem> will be used in " @@ -69022,12 +70252,12 @@ msgstr "" #. (itstool) path: listitem/indexterm #. (itstool) id: book.translate.xml#ppp-static-ip -#: book.translate.xml:48783 +#: book.translate.xml:48837 msgid "<primary>static <acronym>IP</acronym> address</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48787 +#: book.translate.xml:48841 msgid "" "If the <acronym>ISP</acronym> has assigned a static <acronym>IP</acronym> " "address and hostname, it should be input into the configuration file. " @@ -69036,7 +70266,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:48795 +#: book.translate.xml:48849 msgid "" "The rest of this section demonstrates how to configure FreeBSD for common " "<acronym>PPP</acronym> connection scenarios. The required configuration file " @@ -69045,7 +70275,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:48803 +#: book.translate.xml:48857 msgid "" "Throughout this section, many of the file examples display line numbers. " "These line numbers have been added to make it easier to follow the " @@ -69053,7 +70283,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:48808 +#: book.translate.xml:48862 msgid "" "When editing a configuration file, proper indentation is important. Lines " "that end in a <literal>:</literal> start in the first column (beginning of " @@ -69062,19 +70292,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:48815 book.translate.xml:51176 +#: book.translate.xml:48869 book.translate.xml:51230 msgid "Basic Configuration" msgstr "基礎設定" #. (itstool) path: sect2/indexterm -#: book.translate.xml:48817 +#: book.translate.xml:48871 msgid "" "<primary>PPP</primary> <secondary>with static <acronym>IP</acronym> " "addresses</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:48823 +#: book.translate.xml:48877 msgid "" "In order to configure a <acronym>PPP</acronym> connection, first edit " "<filename>/etc/ppp/ppp.conf</filename> with the dial-in information for the " @@ -69082,7 +70312,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:48828 +#: book.translate.xml:48882 #, no-wrap msgid "" "1 default:\n" @@ -69105,12 +70335,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:48848 +#: book.translate.xml:48902 msgid "Line 1:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48851 +#: book.translate.xml:48905 msgid "" "Identifies the <literal>default</literal> entry. Commands in this entry " "(lines 2 through 9) are executed automatically when <command>ppp</command> " @@ -69118,30 +70348,30 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:48859 +#: book.translate.xml:48913 msgid "Line 2:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48862 +#: book.translate.xml:48916 msgid "" "Enables verbose logging parameters for testing the connection. Once the " "configuration is working satisfactorily, this line should be reduced to:" msgstr "" #. (itstool) path: listitem/programlisting -#: book.translate.xml:48867 +#: book.translate.xml:48921 #, no-wrap msgid "set log phase tun" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:48873 +#: book.translate.xml:48927 msgid "Line 3:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48876 +#: book.translate.xml:48930 msgid "" "Displays the version of <citerefentry><refentrytitle>ppp</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> to the <acronym>PPP</" @@ -69149,12 +70379,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:48883 +#: book.translate.xml:48937 msgid "Line 4:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48886 +#: book.translate.xml:48940 msgid "" "Identifies the device to which the modem is connected, where <filename>COM1</" "filename> is <filename>/dev/cuau0</filename> and <filename>COM2</filename> " @@ -69162,24 +70392,24 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:48895 +#: book.translate.xml:48949 msgid "Line 5:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48898 +#: book.translate.xml:48952 msgid "" "Sets the connection speed. If <literal>115200</literal> does not work on an " "older modem, try <literal>38400</literal> instead." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:48905 +#: book.translate.xml:48959 msgid "Lines 6 & 7:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48908 +#: book.translate.xml:48962 msgid "" "The dial string written as an expect-send syntax. Refer to " "<citerefentry><refentrytitle>chat</refentrytitle><manvolnum>8</manvolnum></" @@ -69187,7 +70417,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48912 +#: book.translate.xml:48966 msgid "" "Note that this command continues onto the next line for readability. Any " "command in <filename>ppp.conf</filename> may do this if the last character " @@ -69195,22 +70425,22 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:48921 +#: book.translate.xml:48975 msgid "Line 8:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48924 +#: book.translate.xml:48978 msgid "Sets the idle timeout for the link in seconds." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:48930 +#: book.translate.xml:48984 msgid "Line 9:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48933 +#: book.translate.xml:48987 msgid "" "Instructs the peer to confirm the <acronym>DNS</acronym> settings. If the " "local network is running its own <acronym>DNS</acronym> server, this line " @@ -69219,12 +70449,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:48943 +#: book.translate.xml:48997 msgid "Line 10:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48946 +#: book.translate.xml:49000 msgid "" "A blank line for readability. Blank lines are ignored by " "<citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></" @@ -69232,12 +70462,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:48952 +#: book.translate.xml:49006 msgid "Line 11:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48955 +#: book.translate.xml:49009 msgid "" "Identifies an entry called <literal>provider</literal>. This could be " "changed to the name of the <acronym>ISP</acronym> so that <option>load " @@ -69245,12 +70475,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:48965 +#: book.translate.xml:49019 msgid "Line 12:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48968 +#: book.translate.xml:49022 msgid "" "Use the phone number for the <acronym>ISP</acronym>. Multiple phone numbers " "may be specified using the colon (<literal>:</literal>) or pipe character " @@ -69262,22 +70492,22 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:48983 +#: book.translate.xml:49037 msgid "Lines 13 & 14:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48986 +#: book.translate.xml:49040 msgid "Use the user name and password for the <acronym>ISP</acronym>." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:48992 book.translate.xml:49397 +#: book.translate.xml:49046 book.translate.xml:49451 msgid "Line 15:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:48995 +#: book.translate.xml:49049 msgid "" "Sets the default idle timeout in seconds for the connection. In this " "example, the connection will be closed automatically after 300 seconds of " @@ -69285,12 +70515,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:49004 +#: book.translate.xml:49058 msgid "Line 16:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:49006 +#: book.translate.xml:49060 msgid "" "Sets the interface addresses. The values used depend upon whether a static " "<acronym>IP</acronym> address has been obtained from the <acronym>ISP</" @@ -69299,7 +70529,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:49013 +#: book.translate.xml:49067 msgid "" "If the <acronym>ISP</acronym> has allocated a static <acronym>IP</acronym> " "address and default gateway, replace <replaceable>x.x.x.x</replaceable> with " @@ -69311,7 +70541,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:49024 +#: book.translate.xml:49078 msgid "" "If the <acronym>IP</acronym> address changes whenever a connection is made, " "change this line to the following value. This tells " @@ -69322,18 +70552,18 @@ msgid "" msgstr "" #. (itstool) path: listitem/programlisting -#: book.translate.xml:49031 +#: book.translate.xml:49085 #, no-wrap msgid "set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255 0.0.0.0" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:49037 +#: book.translate.xml:49091 msgid "Line 17:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:49040 +#: book.translate.xml:49094 msgid "" "Keep this line as-is as it adds a default route to the gateway. The " "<literal>HISADDR</literal> will automatically be replaced with the gateway " @@ -69342,7 +70572,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49049 +#: book.translate.xml:49103 msgid "" "Depending upon whether <citerefentry><refentrytitle>ppp</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> is started manually or " @@ -69357,7 +70587,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:49063 +#: book.translate.xml:49117 #, no-wrap msgid "" "provider:\n" @@ -69365,7 +70595,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49066 +#: book.translate.xml:49120 msgid "" "This file is also needed when the default gateway address is <quote>guessed</" "quote> in a static <acronym>IP</acronym> address configuration. In this " @@ -69376,7 +70606,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49074 +#: book.translate.xml:49128 msgid "" "By default, <command>ppp</command> must be run as <systemitem class=" "\"username\">root</systemitem>. To change this default, add the account of " @@ -69385,7 +70615,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49080 +#: book.translate.xml:49134 msgid "" "Then, give the user access to one or more entries in <filename>/etc/ppp/ppp." "conf</filename> with <command>allow</command>. For example, to give " @@ -69395,39 +70625,39 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:49089 +#: book.translate.xml:49143 #, no-wrap msgid "allow users <replaceable>fred mary</replaceable>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49091 +#: book.translate.xml:49145 msgid "" "To give the specified users access to all entries, put that line in the " "<literal>default</literal> section instead." msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:49301 +#: book.translate.xml:49355 msgid "<primary>NetBIOS</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:49305 +#: book.translate.xml:49359 msgid "" "<primary><acronym>PPP</acronym></primary> <secondary>Microsoft extensions</" "secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49310 +#: book.translate.xml:49364 msgid "" "It is possible to configure PPP to supply DNS and NetBIOS nameserver " "addresses on demand." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49313 +#: book.translate.xml:49367 msgid "" "To enable these extensions with <acronym>PPP</acronym> version 1.x, the " "following lines might be added to the relevant section of <filename>/etc/ppp/" @@ -69435,7 +70665,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:49318 +#: book.translate.xml:49372 #, no-wrap msgid "" "enable msext\n" @@ -69444,12 +70674,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49322 +#: book.translate.xml:49376 msgid "And for <acronym>PPP</acronym> version 2 and above:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:49325 +#: book.translate.xml:49379 #, no-wrap msgid "" "accept dns\n" @@ -69458,14 +70688,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49329 +#: book.translate.xml:49383 msgid "" "This will tell the clients the primary and secondary name server addresses, " "and a NetBIOS nameserver host." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49333 +#: book.translate.xml:49387 msgid "" "In version 2 and above, if the <literal>set dns</literal> line is omitted, " "<acronym>PPP</acronym> will use the values found in <filename>/etc/resolv." @@ -69473,22 +70703,22 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:49339 +#: book.translate.xml:49393 msgid "PAP and CHAP Authentication" msgstr "PAP 與 CHAP 認證" #. (itstool) path: sect3/indexterm -#: book.translate.xml:49341 +#: book.translate.xml:49395 msgid "<primary>PAP</primary>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:49342 +#: book.translate.xml:49396 msgid "<primary>CHAP</primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:49343 +#: book.translate.xml:49397 msgid "" "Some <acronym>ISP</acronym>s set their system up so that the authentication " "part of the connection is done using either of the PAP or CHAP " @@ -69498,7 +70728,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:49351 +#: book.translate.xml:49405 msgid "" "PAP is less secure than CHAP, but security is not normally an issue here as " "passwords, although being sent as plain text with PAP, are being transmitted " @@ -69507,12 +70737,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:49357 +#: book.translate.xml:49411 msgid "The following alterations must be made:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:49360 +#: book.translate.xml:49414 #, no-wrap msgid "" "13 set authname <replaceable>MyUserName</replaceable>\n" @@ -69521,29 +70751,29 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:49366 +#: book.translate.xml:49420 msgid "Line 13:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:49369 +#: book.translate.xml:49423 msgid "" "This line specifies the PAP/CHAP user name. Insert the correct value for " "<replaceable>MyUserName</replaceable>." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:49376 +#: book.translate.xml:49430 msgid "Line 14:" msgstr "" #. (itstool) path: para/indexterm -#: book.translate.xml:49379 +#: book.translate.xml:49433 msgid "<primary>password</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:49378 +#: book.translate.xml:49432 msgid "" "This line specifies the PAP/CHAP password<_:indexterm-1/>. Insert the " "correct value for <replaceable>MyPassword</replaceable>. You may want to add " @@ -69551,26 +70781,26 @@ msgid "" msgstr "" #. (itstool) path: listitem/programlisting -#: book.translate.xml:49384 +#: book.translate.xml:49438 #, no-wrap msgid "16 accept PAP" msgstr "" #. (itstool) path: listitem/programlisting -#: book.translate.xml:49388 +#: book.translate.xml:49442 #, no-wrap msgid "16 accept CHAP" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:49390 +#: book.translate.xml:49444 msgid "" "to make it obvious that this is the intention, but PAP and CHAP are both " "accepted by default." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:49400 +#: book.translate.xml:49454 msgid "" "The <acronym>ISP</acronym> will not normally require a login to the server " "when using PAP or CHAP. Therefore, disable the <quote>set login</quote> " @@ -69578,17 +70808,17 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:49410 +#: book.translate.xml:49464 msgid "Using <acronym>PPP</acronym> Network Address Translation Capability" msgstr "使用 <acronym>PPP</acronym> 網路位址轉譯功能" #. (itstool) path: sect3/indexterm -#: book.translate.xml:49413 +#: book.translate.xml:49467 msgid "<primary><acronym>PPP</acronym></primary><secondary>NAT</secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:49417 +#: book.translate.xml:49471 msgid "" "PPP has ability to use internal NAT without kernel diverting capabilities. " "This functionality may be enabled by the following line in <filename>/etc/" @@ -69596,13 +70826,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:49422 +#: book.translate.xml:49476 #, no-wrap msgid "nat enable yes" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:49424 +#: book.translate.xml:49478 msgid "" "Alternatively, NAT may be enabled by command-line option <literal>-nat</" "literal>. There is also <filename>/etc/rc.conf</filename> knob named " @@ -69610,7 +70840,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:49430 +#: book.translate.xml:49484 msgid "" "When using this feature, it may be useful to include the following " "<filename>/etc/ppp/ppp.conf</filename> options to enable incoming " @@ -69618,7 +70848,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:49434 +#: book.translate.xml:49488 #, no-wrap msgid "" "nat port tcp 10.0.0.2:ftp ftp\n" @@ -69626,56 +70856,56 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:49437 +#: book.translate.xml:49491 msgid "or do not trust the outside at all" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:49439 +#: book.translate.xml:49493 #, no-wrap msgid "nat deny_incoming yes" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:49444 +#: book.translate.xml:49498 msgid "Final System Configuration" msgstr "最終系統設定" #. (itstool) path: sect2/indexterm -#: book.translate.xml:49446 +#: book.translate.xml:49500 msgid "" "<primary><acronym>PPP</acronym></primary><secondary>configuration</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49450 +#: book.translate.xml:49504 msgid "" "While <command>ppp</command> is now configured, some edits still need to be " "made to <filename>/etc/rc.conf</filename>." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49454 +#: book.translate.xml:49508 msgid "" "Working from the top down in this file, make sure the <literal>hostname=</" "literal> line is set:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:49457 +#: book.translate.xml:49511 #, no-wrap msgid "hostname=\"foo.example.com\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49459 +#: book.translate.xml:49513 msgid "" "If the <acronym>ISP</acronym> has supplied a static <acronym>IP</acronym> " "address and name, use this name as the host name." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49463 +#: book.translate.xml:49517 msgid "" "Look for the <literal>network_interfaces</literal> variable. To configure " "the system to dial the <acronym>ISP</acronym> on demand, make sure the " @@ -69683,7 +70913,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:49469 +#: book.translate.xml:49523 #, no-wrap msgid "" "network_interfaces=\"lo0 tun0\"\n" @@ -69691,7 +70921,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:49473 +#: book.translate.xml:49527 msgid "" "The <literal>ifconfig_tun0</literal> variable should be empty, and a file " "called <filename>/etc/start_if.tun0</filename> should be created. This file " @@ -69699,13 +70929,13 @@ msgid "" msgstr "" #. (itstool) path: note/programlisting -#: book.translate.xml:49478 +#: book.translate.xml:49532 #, no-wrap msgid "ppp -auto mysystem" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:49480 +#: book.translate.xml:49534 msgid "" "This script is executed at network configuration time, starting the ppp " "daemon in automatic mode. If this machine acts as a gateway, consider " @@ -69714,25 +70944,25 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49487 +#: book.translate.xml:49541 msgid "" "Make sure that the router program is set to <literal>NO</literal> with the " "following line in <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:49491 +#: book.translate.xml:49545 #, no-wrap msgid "router_enable=\"NO\"" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:49493 +#: book.translate.xml:49547 msgid "<primary><application>routed</application></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49497 +#: book.translate.xml:49551 msgid "" "It is important that the <command>routed</command> daemon is not started, as " "<command>routed</command> tends to delete the default routing table entries " @@ -69740,7 +70970,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49502 +#: book.translate.xml:49556 msgid "" "It is probably a good idea to ensure that the <literal>sendmail_flags</" "literal> line does not include the <option>-q</option> option, otherwise " @@ -69749,18 +70979,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:49509 +#: book.translate.xml:49563 #, no-wrap msgid "sendmail_flags=\"-bd\"" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:49511 +#: book.translate.xml:49565 msgid "<primary><application>sendmail</application></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49514 +#: book.translate.xml:49568 msgid "" "The downside is that <command>sendmail</command> is forced to re-examine the " "mail queue whenever the ppp link. To automate this, include <command>!bg</" @@ -69768,7 +70998,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:49519 +#: book.translate.xml:49573 #, no-wrap msgid "" "1 provider:\n" @@ -69778,36 +71008,36 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:49524 book.translate.xml:51201 +#: book.translate.xml:49578 book.translate.xml:51255 msgid "<primary>SMTP</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49528 +#: book.translate.xml:49582 msgid "" "An alternative is to set up a <quote>dfilter</quote> to block SMTP traffic. " "Refer to the sample files for further details." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:49534 +#: book.translate.xml:49588 msgid "Using <command>ppp</command>" msgstr "使用 <command>ppp</command>" #. (itstool) path: sect2/para -#: book.translate.xml:49536 +#: book.translate.xml:49590 msgid "" "All that is left is to reboot the machine. After rebooting, either type:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:49539 book.translate.xml:49732 +#: book.translate.xml:49593 book.translate.xml:49786 #, no-wrap msgid "<prompt>#</prompt> <userinput>ppp</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49541 +#: book.translate.xml:49595 msgid "" "and then <command>dial provider</command> to start the <acronym>PPP</" "acronym> session, or, to configure <command>ppp</command> to establish " @@ -69816,13 +71046,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:49548 +#: book.translate.xml:49602 #, no-wrap msgid "<prompt>#</prompt> <userinput>ppp -auto provider</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49550 +#: book.translate.xml:49604 msgid "" "It is possible to talk to the <command>ppp</command> program while it is " "running in the background, but only if a suitable diagnostic port has been " @@ -69830,13 +71060,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:49555 +#: book.translate.xml:49609 #, no-wrap msgid "set server /var/run/ppp-tun<replaceable>%d</replaceable> DiagnosticPassword 0177" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49557 +#: book.translate.xml:49611 msgid "" "This will tell PPP to listen to the specified <trademark class=\"registered" "\">UNIX</trademark> domain socket, asking clients for the specified password " @@ -69845,7 +71075,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49564 +#: book.translate.xml:49618 msgid "" "Once a socket has been set up, the <citerefentry><refentrytitle>pppctl</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> program may be used in " @@ -69853,27 +71083,27 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:49570 +#: book.translate.xml:49624 msgid "Configuring Dial-in Services" msgstr "設定撥入服務" #. (itstool) path: sect2/indexterm -#: book.translate.xml:49572 +#: book.translate.xml:49626 msgid "<primary><command>mgetty</command></primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:49576 +#: book.translate.xml:49630 msgid "<primary>AutoPPP</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:49580 +#: book.translate.xml:49634 msgid "<primary>LCP</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49583 +#: book.translate.xml:49637 msgid "" "<xref linkend=\"dialup\"/> provides a good description on enabling dial-up " "services using <citerefentry><refentrytitle>getty</" @@ -69881,7 +71111,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49586 +#: book.translate.xml:49640 msgid "" "An alternative to <command>getty</command> is <package>comms/mgetty+sendfax</" "package> port), a smarter version of <command>getty</command> designed with " @@ -69889,7 +71119,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49591 +#: book.translate.xml:49645 msgid "" "The advantages of using <command>mgetty</command> is that it actively " "<emphasis>talks</emphasis> to modems, meaning if port is turned off in " @@ -69897,7 +71127,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49597 +#: book.translate.xml:49651 msgid "" "Later versions of <command>mgetty</command> (from 0.99beta onwards) also " "support the automatic detection of <acronym>PPP</acronym> streams, allowing " @@ -69905,7 +71135,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49602 +#: book.translate.xml:49656 msgid "" "Refer to <link xlink:href=\"http://mgetty.greenie.net/doc/mgetty_toc.html" "\">http://mgetty.greenie.net/doc/mgetty_toc.html</link> for more information " @@ -69913,7 +71143,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49605 +#: book.translate.xml:49659 msgid "" "By default the <package>comms/mgetty+sendfax</package> port comes with the " "<literal>AUTO_PPP</literal> option enabled allowing <command>mgetty</" @@ -69924,41 +71154,41 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49614 +#: book.translate.xml:49668 msgid "" "This section assumes the user has successfully compiled, and installed the " "<package>comms/mgetty+sendfax</package> port on his system." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49619 +#: book.translate.xml:49673 msgid "" "Ensure that <filename>/usr/local/etc/mgetty+sendfax/login.config</filename> " "has the following:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:49623 +#: book.translate.xml:49677 #, no-wrap msgid "/AutoPPP/ - - /etc/ppp/ppp-pap-dialup" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49625 +#: book.translate.xml:49679 msgid "" "This tells <command>mgetty</command> to run <filename>ppp-pap-dialup</" "filename> for detected <acronym>PPP</acronym> connections." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49629 +#: book.translate.xml:49683 msgid "" "Create an executable file called <filename>/etc/ppp/ppp-pap-dialup</" "filename> containing the following:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:49633 +#: book.translate.xml:49687 #, no-wrap msgid "" "#!/bin/sh\n" @@ -69966,7 +71196,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49636 +#: book.translate.xml:49690 msgid "" "For each dial-up line enabled in <filename>/etc/ttys</filename>, create a " "corresponding entry in <filename>/etc/ppp/ppp.conf</filename>. This will " @@ -69974,7 +71204,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:49642 +#: book.translate.xml:49696 #, no-wrap msgid "" "pap:\n" @@ -69984,7 +71214,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49647 +#: book.translate.xml:49701 msgid "" "Each user logging in with this method will need to have a username/password " "in <filename>/etc/ppp/ppp.secret</filename>, or alternatively add the " @@ -69993,13 +71223,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:49654 +#: book.translate.xml:49708 #, no-wrap msgid "enable passwdauth" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49656 +#: book.translate.xml:49710 msgid "" "To assign some users a static <acronym>IP</acronym> number, specify the " "number as the third argument in <filename>/etc/ppp/ppp.secret</filename>. " @@ -70008,19 +71238,19 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:49676 +#: book.translate.xml:49730 msgid "Troubleshooting <acronym>PPP</acronym> Connections" msgstr "<acronym>PPP</acronym> 連線疑難排解" #. (itstool) path: sect1/indexterm -#: book.translate.xml:49678 +#: book.translate.xml:49732 msgid "" "<primary><acronym>PPP</acronym></primary> <secondary>troubleshooting</" "secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:49683 +#: book.translate.xml:49737 msgid "" "This section covers a few issues which may arise when using <acronym>PPP</" "acronym> over a modem connection. Some <acronym>ISP</acronym>s present the " @@ -70031,25 +71261,25 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:49694 +#: book.translate.xml:49748 msgid "Check the Device Nodes" msgstr "檢查裝置節點" #. (itstool) path: sect2/para -#: book.translate.xml:49696 +#: book.translate.xml:49750 msgid "" "When using a custom kernel, make sure to include the following line in the " "kernel configuration file:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:49699 +#: book.translate.xml:49753 #, no-wrap msgid "device uart" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49701 +#: book.translate.xml:49755 msgid "" "The <filename>uart</filename> device is already included in the " "<literal>GENERIC</literal> kernel, so no additional steps are necessary in " @@ -70058,13 +71288,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:49707 +#: book.translate.xml:49761 #, no-wrap msgid "<prompt>#</prompt> <userinput>dmesg | grep uart</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49709 +#: book.translate.xml:49763 msgid "" "This should display some pertinent output about the <filename>uart</" "filename> devices. These are the COM ports we need. If the modem acts like a " @@ -70075,12 +71305,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:49720 +#: book.translate.xml:49774 msgid "Connecting Manually" msgstr "手動連線" #. (itstool) path: sect2/para -#: book.translate.xml:49722 +#: book.translate.xml:49776 msgid "" "Connecting to the Internet by manually controlling <command>ppp</command> is " "quick, easy, and a great way to debug a connection or just get information " @@ -70092,36 +71322,36 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:49734 +#: book.translate.xml:49788 #, no-wrap msgid "ppp ON example> <userinput>set device /dev/cuau1</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49736 +#: book.translate.xml:49790 msgid "" "This second command sets the modem device to <filename>cuau1</filename>." msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:49739 +#: book.translate.xml:49793 #, no-wrap msgid "ppp ON example> <userinput>set speed 115200</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49741 +#: book.translate.xml:49795 msgid "This sets the connection speed to 115,200 <acronym>kbps</acronym>." msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:49744 +#: book.translate.xml:49798 #, no-wrap msgid "ppp ON example> <userinput>enable dns</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49746 +#: book.translate.xml:49800 msgid "" "This tells <command>ppp</command> to configure the resolver and add the " "nameserver lines to <filename>/etc/resolv.conf</filename>. If <command>ppp</" @@ -70129,20 +71359,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:49752 +#: book.translate.xml:49806 #, no-wrap msgid "ppp ON example> <userinput>term</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49754 +#: book.translate.xml:49808 msgid "" "This switches to <quote>terminal</quote> mode in order to manually control " "the modem." msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:49757 +#: book.translate.xml:49811 #, no-wrap msgid "" "deflink: Entering terminal mode on <filename class=\"devicefile\">/dev/cuau1</filename>\n" @@ -70150,7 +71380,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:49760 +#: book.translate.xml:49814 #, no-wrap msgid "" "<userinput>at</userinput>\n" @@ -70159,7 +71389,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49764 +#: book.translate.xml:49818 msgid "" "Use <command>at</command> to initialize the modem, then use <command>atdt</" "command> and the number for the <acronym>ISP</acronym> to begin the dial in " @@ -70167,13 +71397,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:49768 +#: book.translate.xml:49822 #, no-wrap msgid "CONNECT" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49770 +#: book.translate.xml:49824 msgid "" "Confirmation of the connection, if we are going to have any connection " "problems, unrelated to hardware, here is where we will attempt to resolve " @@ -70181,26 +71411,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:49774 +#: book.translate.xml:49828 #, no-wrap msgid "ISP Login:<userinput>myusername</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49776 +#: book.translate.xml:49830 msgid "" "At this prompt, return the prompt with the username that was provided by the " "<acronym>ISP</acronym>." msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:49779 +#: book.translate.xml:49833 #, no-wrap msgid "ISP Pass:<userinput>mypassword</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49781 +#: book.translate.xml:49835 msgid "" "At this prompt, reply with the password that was provided by the " "<acronym>ISP</acronym>. Just like logging into FreeBSD, the password will " @@ -70208,13 +71438,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:49785 +#: book.translate.xml:49839 #, no-wrap msgid "Shell or PPP:<userinput>ppp</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49787 +#: book.translate.xml:49841 msgid "" "Depending on the <acronym>ISP</acronym>, this prompt might not appear. If it " "does, it is asking whether to use a shell on the provider or to start " @@ -70223,13 +71453,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:49794 +#: book.translate.xml:49848 #, no-wrap msgid "Ppp ON example>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49796 +#: book.translate.xml:49850 msgid "" "Notice that in this example the first <option>p</option> has been " "capitalized. This shows that we have successfully connected to the " @@ -70237,39 +71467,39 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:49800 +#: book.translate.xml:49854 #, no-wrap msgid "PPp ON example>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49802 +#: book.translate.xml:49856 msgid "" "We have successfully authenticated with our <acronym>ISP</acronym> and are " "waiting for the assigned <acronym>IP</acronym> address." msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:49806 +#: book.translate.xml:49860 #, no-wrap msgid "PPP ON example>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49808 +#: book.translate.xml:49862 msgid "" "We have made an agreement on an <acronym>IP</acronym> address and " "successfully completed our connection." msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:49811 +#: book.translate.xml:49865 #, no-wrap msgid "PPP ON example><userinput>add default HISADDR</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49813 +#: book.translate.xml:49867 msgid "" "Here we add our default route, we need to do this before we can talk to the " "outside world as currently the only established connection is with the peer. " @@ -70280,7 +71510,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49822 +#: book.translate.xml:49876 msgid "" "If everything went good we should now have an active connection to the " "Internet, which could be thrown into the background using <keycombo action=" @@ -70292,12 +71522,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:49834 +#: book.translate.xml:49888 msgid "Debugging" msgstr "除錯" #. (itstool) path: sect2/para -#: book.translate.xml:49836 +#: book.translate.xml:49890 msgid "" "If a connection cannot be established, turn hardware flow <acronym>CTS/RTS</" "acronym> to off using <option>set ctsrts off</option>. This is mainly the " @@ -70313,7 +71543,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49849 +#: book.translate.xml:49903 msgid "" "An older modem may need <option>set parity even</option>. Parity is set at " "none be default, but is used for error checking with a large increase in " @@ -70321,7 +71551,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49854 +#: book.translate.xml:49908 msgid "" "<application>PPP</application> may not return to the command mode, which is " "usually a negotiation error where the <acronym>ISP</acronym> is waiting for " @@ -70330,7 +71560,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49860 +#: book.translate.xml:49914 msgid "" "If a login prompt never appears, <acronym>PAP</acronym> or <acronym>CHAP</" "acronym> authentication is most likely required. To use <acronym>PAP</" @@ -70339,33 +71569,33 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:49867 +#: book.translate.xml:49921 #, no-wrap msgid "ppp ON example> <userinput>set authname <replaceable>myusername</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49869 +#: book.translate.xml:49923 msgid "" "Where <replaceable>myusername</replaceable> should be replaced with the " "username that was assigned by the <acronym>ISP</acronym>." msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:49873 +#: book.translate.xml:49927 #, no-wrap msgid "ppp ON example> <userinput>set authkey <replaceable>mypassword</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49875 +#: book.translate.xml:49929 msgid "" "Where <replaceable>mypassword</replaceable> should be replaced with the " "password that was assigned by the <acronym>ISP</acronym>." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49879 +#: book.translate.xml:49933 msgid "" "If a connection is established, but cannot seem to find any domain name, try " "to <citerefentry><refentrytitle>ping</refentrytitle><manvolnum>8</" @@ -70378,7 +71608,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:49890 +#: book.translate.xml:49944 #, no-wrap msgid "" "domain <replaceable>example.com</replaceable>\n" @@ -70387,7 +71617,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49894 +#: book.translate.xml:49948 msgid "" "Where <replaceable>x.x.x.x</replaceable> and <replaceable>y.y.y.y</" "replaceable> should be replaced with the <acronym>IP</acronym> address of " @@ -70395,7 +71625,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49899 +#: book.translate.xml:49953 msgid "" "To configure <citerefentry><refentrytitle>syslog</" "refentrytitle><manvolnum>3</manvolnum></citerefentry> to provide logging for " @@ -70404,7 +71634,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:49903 +#: book.translate.xml:49957 #, no-wrap msgid "" "!ppp\n" @@ -70412,24 +71642,24 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:49923 +#: book.translate.xml:49977 msgid "Using <acronym>PPP</acronym> over Ethernet (PPPoE)" msgstr "在乙太網路使用 <acronym>PPP</acronym> (PPPoE)" #. (itstool) path: sect1/para -#: book.translate.xml:49930 +#: book.translate.xml:49984 msgid "" "This section describes how to set up <acronym>PPP</acronym> over Ethernet " "(<acronym>PPPoE</acronym>)." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:49933 +#: book.translate.xml:49987 msgid "Here is an example of a working <filename>ppp.conf</filename>:" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:49936 +#: book.translate.xml:49990 #, no-wrap msgid "" "default:\n" @@ -70446,24 +71676,24 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:49948 +#: book.translate.xml:50002 msgid "As <systemitem class=\"username\">root</systemitem>, run:" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:49951 +#: book.translate.xml:50005 #, no-wrap msgid "<prompt>#</prompt> <userinput>ppp -ddial name_of_service_provider</userinput>" msgstr "" #. (itstool) path: sect1/para #. (itstool) path: sect5/para -#: book.translate.xml:49953 book.translate.xml:63272 +#: book.translate.xml:50007 book.translate.xml:63326 msgid "Add the following to <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:49956 +#: book.translate.xml:50010 #, no-wrap msgid "" "ppp_enable=\"YES\"\n" @@ -70473,12 +71703,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:49962 +#: book.translate.xml:50016 msgid "Using a PPPoE Service Tag" msgstr "使用 PPPoE 服務標籤" #. (itstool) path: sect2/para -#: book.translate.xml:49964 +#: book.translate.xml:50018 msgid "" "Sometimes it will be necessary to use a service tag to establish the " "connection. Service tags are used to distinguish between different PPPoE " @@ -70486,14 +71716,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49969 +#: book.translate.xml:50023 msgid "" "Any required service tag information should be in the documentation provided " "by the <acronym>ISP</acronym>." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49972 +#: book.translate.xml:50026 msgid "" "As a last resort, one could try installing the <package>net/rr-pppoe</" "package> package or port. Bear in mind however, this may de-program your " @@ -70504,7 +71734,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49981 +#: book.translate.xml:50035 msgid "" "The profile name (service tag) will be used in the PPPoE configuration entry " "in <filename>ppp.conf</filename> as the provider part for <command>set " @@ -70514,25 +71744,25 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:49987 +#: book.translate.xml:50041 #, no-wrap msgid "set device PPPoE:<replaceable>xl1</replaceable>:<replaceable>ISP</replaceable>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49989 +#: book.translate.xml:50043 msgid "" "Do not forget to change <replaceable>xl1</replaceable> to the proper device " "for the Ethernet card." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49992 +#: book.translate.xml:50046 msgid "Do not forget to change <replaceable>ISP</replaceable> to the profile." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:49995 +#: book.translate.xml:50049 msgid "" "For additional information, refer to <link xlink:href=\"http://renaud." "waldura.com/doc/freebsd/pppoe/\">Cheaper Broadband with FreeBSD on DSL</" @@ -70540,7 +71770,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:50001 +#: book.translate.xml:50055 msgid "" "PPPoE with a <trademark class=\"registered\">3Com</trademark> <trademark " "class=\"registered\">HomeConnect</trademark> ADSL Modem Dual Link" @@ -70549,14 +71779,14 @@ msgstr "" "\"registered\">HomeConnect</trademark> ADSL Modem Dual Link 使用 PPPoE" #. (itstool) path: sect2/para -#: book.translate.xml:50005 +#: book.translate.xml:50059 msgid "" "This modem does not follow the PPPoE specification defined in <link xlink:" "href=\"http://www.faqs.org/rfcs/rfc2516.html\">RFC 2516</link>." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:50009 +#: book.translate.xml:50063 msgid "" "In order to make FreeBSD capable of communicating with this device, a sysctl " "must be set. This can be done automatically at boot time by updating " @@ -70564,24 +71794,24 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:50014 +#: book.translate.xml:50068 #, no-wrap msgid "net.graph.nonstandard_pppoe=1" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:50016 +#: book.translate.xml:50070 msgid "or can be done immediately with the command:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:50018 +#: book.translate.xml:50072 #, no-wrap msgid "<prompt>#</prompt> <userinput>sysctl net.graph.nonstandard_pppoe=1</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:50020 +#: book.translate.xml:50074 msgid "" "Unfortunately, because this is a system-wide setting, it is not possible to " "talk to a normal PPPoE client or server and a <trademark class=\"registered" @@ -70590,37 +71820,37 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:50028 +#: book.translate.xml:50082 msgid "" "Using <application>PPP</application> over <acronym>ATM</acronym> (PPPoA)" msgstr "在 ATM 使用 <application>PPP</application> (PPPoA)" #. (itstool) path: sect1/indexterm -#: book.translate.xml:50031 +#: book.translate.xml:50085 msgid "" "<primary><acronym>PPP</acronym></primary> <secondary>over <acronym>ATM</" "acronym></secondary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:50036 +#: book.translate.xml:50090 msgid "<primary>PPPoA</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:50040 +#: book.translate.xml:50094 msgid "" "The following describes how to set up PPP over <acronym>ATM</acronym> " "(PPPoA). PPPoA is a popular choice among European DSL providers." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:50097 +#: book.translate.xml:50151 msgid "Using mpd" msgstr "使用 mpd" #. (itstool) path: sect2/para -#: book.translate.xml:50099 +#: book.translate.xml:50153 msgid "" "The <application>mpd</application> application can be used to connect to a " "variety of services, in particular PPTP services. It can be installed using " @@ -70629,7 +71859,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:50106 +#: book.translate.xml:50160 msgid "" "Once installed, configure <application>mpd</application> to suit the " "provider's settings. The port places a set of sample configuration files " @@ -70642,14 +71872,14 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:50118 +#: book.translate.xml:50172 msgid "" "This example <filename>mpd.conf</filename> only works with <application>mpd</" "application> 4.x." msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:50122 +#: book.translate.xml:50176 #, no-wrap msgid "" "default:\n" @@ -70678,17 +71908,17 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:50148 +#: book.translate.xml:50202 msgid "The username used to authenticate with your <acronym>ISP</acronym>." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:50152 +#: book.translate.xml:50206 msgid "The password used to authenticate with your <acronym>ISP</acronym>." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:50157 +#: book.translate.xml:50211 msgid "" "Information about the link, or links, to establish is found in <filename>mpd." "links</filename>. An example <filename>mpd.links</filename> to accompany the " @@ -70696,7 +71926,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:50162 +#: book.translate.xml:50216 #, no-wrap msgid "" "adsl:\n" @@ -70708,14 +71938,14 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:50171 +#: book.translate.xml:50225 msgid "" "The <acronym>IP</acronym> address of FreeBSD computer running " "<application>mpd</application>." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:50175 +#: book.translate.xml:50229 msgid "" "The <acronym>IP</acronym> address of the ADSL modem. The Alcatel " "<trademark>SpeedTouch</trademark> Home defaults to <systemitem class=" @@ -70723,25 +71953,25 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:50180 +#: book.translate.xml:50234 msgid "" "It is possible to initialize the connection easily by issuing the following " "command as <systemitem class=\"username\">root</systemitem>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:50184 +#: book.translate.xml:50238 #, no-wrap msgid "<prompt>#</prompt> <userinput>mpd -b <replaceable>adsl</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:50186 +#: book.translate.xml:50240 msgid "To view the status of the connection:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:50188 +#: book.translate.xml:50242 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>ifconfig <replaceable>ng0</replaceable></userinput>\n" @@ -70750,26 +71980,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:50192 +#: book.translate.xml:50246 msgid "" "Using <application>mpd</application> is the recommended way to connect to an " "ADSL service with FreeBSD." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:50197 +#: book.translate.xml:50251 msgid "Using pptpclient" msgstr "使用 pptpclient" #. (itstool) path: sect2/para -#: book.translate.xml:50199 +#: book.translate.xml:50253 msgid "" "It is also possible to use FreeBSD to connect to other PPPoA services using " "<package>net/pptpclient</package>." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:50202 +#: book.translate.xml:50256 msgid "" "To use <package>net/pptpclient</package> to connect to a DSL service, " "install the port or package, then edit <filename>/etc/ppp/ppp.conf</" @@ -70780,7 +72010,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:50209 +#: book.translate.xml:50263 #, no-wrap msgid "" "adsl:\n" @@ -70794,24 +72024,24 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:50220 +#: book.translate.xml:50274 msgid "The username for the DSL provider." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:50224 +#: book.translate.xml:50278 msgid "The password for your account." msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:50229 +#: book.translate.xml:50283 msgid "" "Since the account's password is added to <filename>ppp.conf</filename>in " "plain text form, make sure nobody can read the contents of this file:" msgstr "" #. (itstool) path: warning/screen -#: book.translate.xml:50233 +#: book.translate.xml:50287 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>chown root:wheel /etc/ppp/ppp.conf</userinput>\n" @@ -70819,7 +72049,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:50238 +#: book.translate.xml:50292 msgid "" "This will open a tunnel for a <acronym>PPP</acronym> session to the DSL " "router. Ethernet DSL modems have a preconfigured LAN <acronym>IP</acronym> " @@ -70830,20 +72060,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:50247 +#: book.translate.xml:50301 #, no-wrap msgid "<prompt>#</prompt> <userinput>pptp <replaceable>address</replaceable> <replaceable>adsl</replaceable></userinput>" msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:50250 +#: book.translate.xml:50304 msgid "" "If an ampersand (<quote>&</quote>) is added to the end of this command, " "<application>pptp</application> will return the prompt." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:50256 +#: book.translate.xml:50310 msgid "" "A <filename>tun</filename> virtual tunnel device will be created for " "interaction between the <application>pptp</application> and " @@ -70853,7 +72083,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:50264 +#: book.translate.xml:50318 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>ifconfig <replaceable>tun0</replaceable></userinput>\n" @@ -70863,7 +72093,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:50269 +#: book.translate.xml:50323 msgid "" "If the connection fails, check the configuration of the router, which is " "usually accessible using a web browser. Also, examine the output of " @@ -70872,21 +72102,21 @@ msgid "" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:50290 +#: book.translate.xml:50344 msgid "" "<personname><firstname>Bill</firstname><surname>Lloyd</surname></" "personname><contrib>Original work by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:50294 +#: book.translate.xml:50348 msgid "" "<personname><firstname>Jim</firstname><surname>Mock</surname></" "personname><contrib>Rewritten by </contrib>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:50304 +#: book.translate.xml:50358 msgid "" "<quote>Electronic Mail</quote>, better known as email, is one of the most " "widely used forms of communication today. This chapter provides a basic " @@ -70899,31 +72129,31 @@ msgstr "" "細節請參閱 <xref linkend=\"bibliography\"/> 內的參考書籍。" #. (itstool) path: listitem/para -#: book.translate.xml:50315 +#: book.translate.xml:50369 msgid "" "Which software components are involved in sending and receiving electronic " "mail." msgstr "哪些軟體元件與收發電子郵件有關。" #. (itstool) path: listitem/para -#: book.translate.xml:50320 +#: book.translate.xml:50374 msgid "" "Where basic <application>Sendmail</application> configuration files are " "located in FreeBSD." msgstr "FreeBSD 內的 <application>Sendmail</application> 設定檔在哪。" #. (itstool) path: listitem/para -#: book.translate.xml:50325 +#: book.translate.xml:50379 msgid "The difference between remote and local mailboxes." msgstr "遠端信箱 (Mailbox) 與本機信箱的差異。" #. (itstool) path: listitem/para -#: book.translate.xml:50330 +#: book.translate.xml:50384 msgid "How to block spammers from illegally using a mail server as a relay." msgstr "如何阻擋垃圾郵件寄件者 (Spammer) 非法使用郵件伺服器作為中繼站。" #. (itstool) path: listitem/para -#: book.translate.xml:50335 +#: book.translate.xml:50389 msgid "" "How to install and configure an alternate Mail Transfer Agent, replacing " "<application>Sendmail</application>." @@ -70932,27 +72162,27 @@ msgstr "" "<application>Sendmail</application>。" #. (itstool) path: listitem/para -#: book.translate.xml:50341 +#: book.translate.xml:50395 msgid "How to troubleshoot common mail server problems." msgstr "如何排除常見的郵件伺服器問題。" #. (itstool) path: listitem/para -#: book.translate.xml:50345 +#: book.translate.xml:50399 msgid "How to set up the system to send mail only." msgstr "如何設定系統只能寄送郵件。" #. (itstool) path: listitem/para -#: book.translate.xml:50349 +#: book.translate.xml:50403 msgid "How to use mail with a dialup connection." msgstr "如何在撥號連線上使用郵件。" #. (itstool) path: listitem/para -#: book.translate.xml:50353 +#: book.translate.xml:50407 msgid "How to configure SMTP authentication for added security." msgstr "如何設定 SMTP 認証來增加安全性。" #. (itstool) path: listitem/para -#: book.translate.xml:50358 +#: book.translate.xml:50412 msgid "" "How to install and use a Mail User Agent, such as <application>mutt</" "application>, to send and receive email." @@ -70961,7 +72191,7 @@ msgstr "" "application> 來寄發與接收電子郵件。" #. (itstool) path: listitem/para -#: book.translate.xml:50364 +#: book.translate.xml:50418 msgid "" "How to download mail from a remote <acronym>POP</acronym> or <acronym>IMAP</" "acronym> server." @@ -70970,19 +72200,19 @@ msgstr "" "件。" #. (itstool) path: listitem/para -#: book.translate.xml:50370 +#: book.translate.xml:50424 msgid "How to automatically apply filters and rules to incoming email." msgstr "如何自動套用過濾器及規則在收到的電子郵件上。" #. (itstool) path: listitem/para -#: book.translate.xml:50379 +#: book.translate.xml:50433 msgid "" "Properly set up a network connection (<xref linkend=\"advanced-networking\"/" ">)." msgstr "正確的設定網路連線 (<xref linkend=\"advanced-networking\"/>)。" #. (itstool) path: listitem/para -#: book.translate.xml:50383 +#: book.translate.xml:50437 msgid "" "Properly set up the <acronym>DNS</acronym> information for a mail host " "(<xref linkend=\"network-servers\"/>)." @@ -70991,68 +72221,68 @@ msgstr "" "servers\"/>)。" #. (itstool) path: sect1/title -#: book.translate.xml:50395 +#: book.translate.xml:50449 msgid "Mail Components" msgstr "郵件組成" #. (itstool) path: sect1/indexterm -#: book.translate.xml:50397 +#: book.translate.xml:50451 msgid "<primary>POP</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:50398 +#: book.translate.xml:50452 msgid "<primary>IMAP</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:50400 +#: book.translate.xml:50454 msgid "" "<primary>mail server daemons</primary> <secondary><application>Sendmail</" "application></secondary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:50404 +#: book.translate.xml:50458 msgid "" "<primary>mail server daemons</primary> <secondary><application>Postfix</" "application></secondary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:50408 +#: book.translate.xml:50462 msgid "" "<primary>mail server daemons</primary> <secondary><application>qmail</" "application></secondary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:50412 +#: book.translate.xml:50466 msgid "" "<primary>mail server daemons</primary> <secondary><application>Exim</" "application></secondary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:50416 +#: book.translate.xml:50470 msgid "<primary>email</primary> <secondary>receiving</secondary>" msgstr "" #. (itstool) path: sect1/indexterm #. (itstool) path: para/indexterm #. (itstool) path: sect4/indexterm -#: book.translate.xml:50420 book.translate.xml:51092 book.translate.xml:51211 -#: book.translate.xml:56044 +#: book.translate.xml:50474 book.translate.xml:51146 book.translate.xml:51265 +#: book.translate.xml:56098 msgid "<primary>MX record</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:50421 +#: book.translate.xml:50475 msgid "<primary>mail host</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:50423 +#: book.translate.xml:50477 msgid "" "There are five major parts involved in an email exchange: the Mail User " "Agent (<acronym>MUA</acronym>), the Mail Transfer Agent (<acronym>MTA</" @@ -71061,12 +72291,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:50431 +#: book.translate.xml:50485 msgid "Mail User Agent (<acronym>MUA</acronym>)" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50433 +#: book.translate.xml:50487 msgid "" "The Mail User Agent (<acronym>MUA</acronym>) is an application which is used " "to compose, send, and receive emails. This application can be a command line " @@ -71083,12 +72313,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:50453 +#: book.translate.xml:50507 msgid "Mail Transfer Agent (<acronym>MTA</acronym>)" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50455 +#: book.translate.xml:50509 msgid "" "The Mail Transfer Agent (<acronym>MTA</acronym>) is responsible for " "receiving incoming mail and delivering outgoing mail. FreeBSD ships with " @@ -71103,12 +72333,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:50475 +#: book.translate.xml:50529 msgid "Mail Host and Mailboxes" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50477 +#: book.translate.xml:50531 msgid "" "The mail host is a server that is responsible for delivering and receiving " "mail for a host or a network. The mail host collects all mail sent to the " @@ -71122,7 +72352,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50490 +#: book.translate.xml:50544 msgid "" "To access mailboxes remotely, a <acronym>POP</acronym> or <acronym>IMAP</" "acronym> server is required as these protocols allow users to connect to " @@ -71136,7 +72366,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50503 +#: book.translate.xml:50557 msgid "" "Several <acronym>POP</acronym> and <acronym>IMAP</acronym> servers are " "available in the Ports Collection. These include <package>mail/qpopper</" @@ -71145,7 +72375,7 @@ msgid "" msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:50512 +#: book.translate.xml:50566 msgid "" "It should be noted that both <acronym>POP</acronym> and <acronym>IMAP</" "acronym> transmit information, including username and password credentials, " @@ -71158,12 +72388,12 @@ msgstr "" #. (itstool) path: varlistentry/term #. (itstool) path: sect1/title -#: book.translate.xml:50524 book.translate.xml:55128 +#: book.translate.xml:50578 book.translate.xml:55182 msgid "Domain Name System (<acronym>DNS</acronym>)" msgstr "網域名稱系統 (<acronym>DNS</acronym>)" #. (itstool) path: listitem/para -#: book.translate.xml:50526 +#: book.translate.xml:50580 msgid "" "The Domain Name System (<acronym>DNS</acronym>) and its daemon " "<command>named</command> play a large role in the delivery of email. In " @@ -71174,7 +72404,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50535 +#: book.translate.xml:50589 msgid "" "In addition to mapping hostnames to <acronym>IP</acronym> addresses, " "<acronym>DNS</acronym> is responsible for storing information specific to " @@ -71184,7 +72414,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50543 +#: book.translate.xml:50597 msgid "" "To view the <acronym>MX</acronym> records for a domain, specify the type of " "record. Refer to <citerefentry><refentrytitle>host</" @@ -71193,7 +72423,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/screen -#: book.translate.xml:50547 +#: book.translate.xml:50601 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>host -t mx FreeBSD.org</userinput>\n" @@ -71201,31 +72431,31 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50550 +#: book.translate.xml:50604 msgid "" "Refer to <xref linkend=\"network-dns\"/> for more information about " "<acronym>DNS</acronym> and its configuration." msgstr "" #. (itstool) path: info/title -#: book.translate.xml:50560 +#: book.translate.xml:50614 msgid "<application>Sendmail</application> Configuration Files" msgstr "<application>Sendmail</application> 設定檔" #. (itstool) path: authorgroup/author -#: book.translate.xml:50564 +#: book.translate.xml:50618 msgid "" "<personname> <firstname>Christopher</firstname> <surname>Shumway</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:50574 +#: book.translate.xml:50628 msgid "<primary><application>Sendmail</application></primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:50578 +#: book.translate.xml:50632 msgid "" "<application>Sendmail</application> is the default <acronym>MTA</acronym> " "installed with FreeBSD. It accepts mail from <acronym>MUA</acronym>s and " @@ -71235,7 +72465,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:50586 +#: book.translate.xml:50640 msgid "" "The configuration files for <application>Sendmail</application> are located " "in <filename>/etc/mail</filename>. This section describes these files in " @@ -71243,47 +72473,47 @@ msgid "" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:50591 +#: book.translate.xml:50645 msgid "<primary><filename>/etc/mail/access</filename></primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:50594 +#: book.translate.xml:50648 msgid "<primary><filename>/etc/mail/aliases</filename></primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:50597 +#: book.translate.xml:50651 msgid "<primary><filename>/etc/mail/local-host-names</filename></primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:50600 +#: book.translate.xml:50654 msgid "<primary><filename>/etc/mail/mailer.conf</filename></primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:50603 +#: book.translate.xml:50657 msgid "<primary><filename>/etc/mail/mailertable</filename></primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:50606 +#: book.translate.xml:50660 msgid "<primary><filename>/etc/mail/sendmail.cf</filename></primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:50609 +#: book.translate.xml:50663 msgid "<primary><filename>/etc/mail/virtusertable</filename></primary>" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:50615 +#: book.translate.xml:50669 msgid "<filename>/etc/mail/access</filename>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50617 +#: book.translate.xml:50671 msgid "" "This access database file defines which hosts or <acronym>IP</acronym> " "addresses have access to the local mail server and what kind of access they " @@ -71301,7 +72531,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50635 +#: book.translate.xml:50689 msgid "" "Examples of using these options for both <acronym>IPv4</acronym> and " "<acronym>IPv6</acronym> addresses can be found in the FreeBSD sample " @@ -71309,7 +72539,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/programlisting -#: book.translate.xml:50640 +#: book.translate.xml:50694 #, no-wrap msgid "" "# $FreeBSD$\n" @@ -71331,7 +72561,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50657 +#: book.translate.xml:50711 msgid "" "To configure the access database, use the format shown in the sample to make " "entries in <filename>/etc/mail/access</filename>, but do not put a comment " @@ -71342,14 +72572,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50666 +#: book.translate.xml:50720 msgid "" "Whenever this file is updated, update its database and restart " "<application>Sendmail</application>:" msgstr "" #. (itstool) path: listitem/screen -#: book.translate.xml:50669 +#: book.translate.xml:50723 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>makemap hash /etc/mail/access < /etc/mail/access</userinput>\n" @@ -71357,12 +72587,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:50675 +#: book.translate.xml:50729 msgid "<filename>/etc/mail/aliases</filename>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50677 +#: book.translate.xml:50731 msgid "" "This database file contains a list of virtual mailboxes that are expanded to " "users, files, programs, or other aliases. Here are a few entries to " @@ -71370,7 +72600,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/programlisting -#: book.translate.xml:50682 +#: book.translate.xml:50736 #, no-wrap msgid "" "root: localuser\n" @@ -71380,7 +72610,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50687 +#: book.translate.xml:50741 msgid "" "The mailbox name on the left side of the colon is expanded to the target(s) " "on the right. The first entry expands the <systemitem class=\"username" @@ -71402,19 +72632,19 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50705 +#: book.translate.xml:50759 msgid "" "Whenever this file is updated, run <command>newaliases</command> to update " "and initialize the aliases database." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:50739 +#: book.translate.xml:50793 msgid "<filename>/etc/mail/sendmail.cf</filename>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50741 +#: book.translate.xml:50795 msgid "" "This is the master configuration file for <application>Sendmail</" "application>. It controls the overall behavior of <application>Sendmail</" @@ -71425,7 +72655,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50750 +#: book.translate.xml:50804 msgid "" "The master <application>Sendmail</application> configuration file can be " "built from <citerefentry><refentrytitle>m4</refentrytitle><manvolnum>1</" @@ -71435,19 +72665,19 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50757 +#: book.translate.xml:50811 msgid "" "Whenever changes to this file are made, <application>Sendmail</application> " "needs to be restarted for the changes to take effect." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:50764 +#: book.translate.xml:50818 msgid "<filename>/etc/mail/virtusertable</filename>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50766 +#: book.translate.xml:50820 msgid "" "This database file maps mail addresses for virtual domains and users to real " "mailboxes. These mailboxes can be local, remote, aliases defined in " @@ -71456,7 +72686,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50773 +#: book.translate.xml:50827 msgid "" "FreeBSD provides a sample configuration file in <filename>/etc/mail/" "virtusertable.sample</filename> to further demonstrate its format. The " @@ -71465,7 +72695,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/programlisting -#: book.translate.xml:50779 +#: book.translate.xml:50833 #, no-wrap msgid "" "root@example.com root\n" @@ -71474,7 +72704,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50783 +#: book.translate.xml:50837 msgid "" "This file is processed in a first match order. When an email address matches " "the address on the left, it is mapped to the local mailbox listed on the " @@ -71490,7 +72720,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/screen -#: book.translate.xml:50798 +#: book.translate.xml:50852 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable</userinput>\n" @@ -71498,12 +72728,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:50804 +#: book.translate.xml:50858 msgid "<filename>/etc/mail/relay-domains</filename>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50806 +#: book.translate.xml:50860 msgid "" "In a default FreeBSD installation, <application>Sendmail</application> is " "configured to only send mail from the host it is running on. For example, if " @@ -71515,7 +72745,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50817 +#: book.translate.xml:50871 msgid "" "The most straightforward solution is to add the <acronym>ISP</acronym>'s " "<acronym>FQDN</acronym> to <filename>/etc/mail/relay-domains</filename>. If " @@ -71523,7 +72753,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/programlisting -#: book.translate.xml:50823 +#: book.translate.xml:50877 #, no-wrap msgid "" "your.isp.example.com\n" @@ -71533,14 +72763,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50828 +#: book.translate.xml:50882 msgid "" "After creating or editing this file, restart <application>Sendmail</" "application> with <command>service sendmail restart</command>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:50832 +#: book.translate.xml:50886 msgid "" "Now any mail sent through the system by any host in this list, provided the " "user has an account on the system, will succeed. This allows users to send " @@ -71549,31 +72779,31 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:50844 +#: book.translate.xml:50898 msgid "Changing the Mail Transfer Agent" msgstr "更改郵件傳輸代理程式" #. (itstool) path: authorgroup/author -#: book.translate.xml:50847 +#: book.translate.xml:50901 msgid "" "<personname> <firstname>Andrew</firstname> <surname>Boothman</surname> </" "personname> <contrib>Written by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:50857 +#: book.translate.xml:50911 msgid "" "<personname> <firstname>Gregory</firstname> <surname>Neil Shapiro</surname> " "</personname> <contrib>Information taken from emails written by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:50867 +#: book.translate.xml:50921 msgid "<primary>email</primary> <secondary>change mta</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:50872 +#: book.translate.xml:50926 msgid "" "FreeBSD comes with <application>Sendmail</application> already installed as " "the <acronym>MTA</acronym> which is in charge of outgoing and incoming mail. " @@ -71583,7 +72813,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:50880 +#: book.translate.xml:50934 msgid "" "Once a new <acronym>MTA</acronym> is installed, configure and test the new " "software before replacing <application>Sendmail</application>. Refer to the " @@ -71592,7 +72822,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:50886 +#: book.translate.xml:50940 msgid "" "Once the new <acronym>MTA</acronym> is working, use the instructions in this " "section to disable <application>Sendmail</application> and configure FreeBSD " @@ -71600,12 +72830,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:50892 +#: book.translate.xml:50946 msgid "Disable <application>Sendmail</application>" msgstr "關閉 <application>Sendmail</application>" #. (itstool) path: warning/para -#: book.translate.xml:50895 +#: book.translate.xml:50949 msgid "" "If <application>Sendmail</application>'s outgoing mail service is disabled, " "it is important that it is replaced with an alternative mail delivery " @@ -71619,14 +72849,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:50907 +#: book.translate.xml:50961 msgid "" "In order to completely disable <application>Sendmail</application>, add or " "edit the following lines in <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:50911 +#: book.translate.xml:50965 #, no-wrap msgid "" "sendmail_enable=\"NO\"\n" @@ -71636,20 +72866,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:50916 +#: book.translate.xml:50970 msgid "" "To only disable <application>Sendmail</application>'s incoming mail service, " "use only this entry in <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:50920 +#: book.translate.xml:50974 #, no-wrap msgid "sendmail_enable=\"NO\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:50922 +#: book.translate.xml:50976 msgid "" "More information on <application>Sendmail</application>'s startup options is " "available in <citerefentry><refentrytitle>rc.sendmail</" @@ -71657,12 +72887,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:50927 +#: book.translate.xml:50981 msgid "Replace the Default <acronym>MTA</acronym>" msgstr "替換預設的 <acronym>MTA</acronym>" #. (itstool) path: sect2/para -#: book.translate.xml:50929 +#: book.translate.xml:50983 msgid "" "When a new <acronym>MTA</acronym> is installed using the Ports Collection, " "its startup script is also installed and startup instructions are mentioned " @@ -71673,7 +72903,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:50937 +#: book.translate.xml:50991 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service sendmail stop</userinput>\n" @@ -71681,7 +72911,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:50940 +#: book.translate.xml:50994 msgid "" "To start the replacement <acronym>MTA</acronym> at system boot, add its " "configuration line to <filename>/etc/rc.conf</filename>. This entry enables " @@ -71689,13 +72919,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:50945 +#: book.translate.xml:50999 #, no-wrap msgid "postfix_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:50947 +#: book.translate.xml:51001 msgid "" "Some extra configuration is needed as <application>Sendmail</application> is " "so ubiquitous that some software assumes it is already installed and " @@ -71705,7 +72935,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:50954 +#: book.translate.xml:51008 #, no-wrap msgid "" "daily_clean_hoststat_enable=\"NO\"\n" @@ -71715,7 +72945,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:50959 +#: book.translate.xml:51013 msgid "" "Some alternative <acronym>MTA</acronym>s provide their own compatible " "implementations of the <application>Sendmail</application> command-line " @@ -71731,12 +72961,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:50972 +#: book.translate.xml:51026 msgid "The default <filename>/etc/mail/mailer.conf</filename> looks like this:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:50975 +#: book.translate.xml:51029 #, no-wrap msgid "" "# $FreeBSD$\n" @@ -71752,7 +72982,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:50986 +#: book.translate.xml:51040 msgid "" "When any of the commands listed on the left are run, the system actually " "executes the associated command shown on the right. This system makes it " @@ -71761,7 +72991,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:50991 +#: book.translate.xml:51045 msgid "" "Some <acronym>MTA</acronym>s, when installed using the Ports Collection, " "will prompt to update this file for the new binaries. For example, " @@ -71769,7 +72999,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:50996 +#: book.translate.xml:51050 #, no-wrap msgid "" "#\n" @@ -71782,7 +73012,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51004 +#: book.translate.xml:51058 msgid "" "If the installation of the <acronym>MTA</acronym> does not automatically " "update <filename>/etc/mail/mailer.conf</filename>, edit this file in a text " @@ -71791,7 +73021,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:51011 +#: book.translate.xml:51065 #, no-wrap msgid "" "sendmail /usr/local/sbin/ssmtp\n" @@ -71803,7 +73033,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51018 +#: book.translate.xml:51072 msgid "" "Once everything is configured, it is recommended to reboot the system. " "Rebooting provides the opportunity to ensure that the system is correctly " @@ -71811,17 +73041,17 @@ msgid "" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:51028 +#: book.translate.xml:51082 msgid "<primary>email</primary> <secondary>troubleshooting</secondary>" msgstr "" #. (itstool) path: question/para -#: book.translate.xml:51036 +#: book.translate.xml:51090 msgid "Why do I have to use the FQDN for hosts on my site?" msgstr "" #. (itstool) path: answer/para -#: book.translate.xml:51041 +#: book.translate.xml:51095 msgid "" "The host may actually be in a different domain. For example, in order for a " "host in <systemitem class=\"fqdomainname\">foo.bar.edu</systemitem> to reach " @@ -71834,12 +73064,12 @@ msgstr "" #. (itstool) path: para/indexterm #. (itstool) path: sect1/indexterm -#: book.translate.xml:51050 book.translate.xml:55142 +#: book.translate.xml:51104 book.translate.xml:55196 msgid "<primary>BIND</primary>" msgstr "" #. (itstool) path: answer/para -#: book.translate.xml:51049 +#: book.translate.xml:51103 msgid "" "This is because the version of <application>BIND</application><_:indexterm-1/" "> which ships with FreeBSD no longer provides default abbreviations for non-" @@ -71850,7 +73080,7 @@ msgid "" msgstr "" #. (itstool) path: answer/para -#: book.translate.xml:51058 +#: book.translate.xml:51112 msgid "" "In older versions of <application>BIND</application>, the search continued " "across <systemitem class=\"fqdomainname\">mumble.bar.edu</systemitem>, and " @@ -71859,29 +73089,29 @@ msgid "" msgstr "" #. (itstool) path: answer/para -#: book.translate.xml:51064 +#: book.translate.xml:51118 msgid "As a good workaround, place the line:" msgstr "" #. (itstool) path: answer/programlisting -#: book.translate.xml:51066 +#: book.translate.xml:51120 #, no-wrap msgid "search foo.bar.edu bar.edu" msgstr "" #. (itstool) path: answer/para -#: book.translate.xml:51068 +#: book.translate.xml:51122 msgid "instead of the previous:" msgstr "" #. (itstool) path: answer/programlisting -#: book.translate.xml:51070 +#: book.translate.xml:51124 #, no-wrap msgid "domain foo.bar.edu" msgstr "" #. (itstool) path: answer/para -#: book.translate.xml:51072 +#: book.translate.xml:51126 msgid "" "into <filename>/etc/resolv.conf</filename>. However, make sure that the " "search order does not go beyond the <quote>boundary between local and public " @@ -71889,19 +73119,19 @@ msgid "" msgstr "" #. (itstool) path: question/para -#: book.translate.xml:51081 +#: book.translate.xml:51135 msgid "How can I run a mail server on a dial-up PPP host?" msgstr "" #. (itstool) path: answer/para -#: book.translate.xml:51086 +#: book.translate.xml:51140 msgid "" "Connect to a FreeBSD mail gateway on the LAN. The PPP connection is non-" "dedicated." msgstr "" #. (itstool) path: answer/para -#: book.translate.xml:51089 +#: book.translate.xml:51143 msgid "" "One way to do this is to get a full-time Internet server to provide " "secondary <acronym>MX</acronym> <_:indexterm-1/> services for the domain. In " @@ -71912,7 +73142,7 @@ msgid "" msgstr "" #. (itstool) path: answer/programlisting -#: book.translate.xml:51100 +#: book.translate.xml:51154 #, no-wrap msgid "" "example.com. MX 10 example.com.\n" @@ -71920,7 +73150,7 @@ msgid "" msgstr "" #. (itstool) path: answer/para -#: book.translate.xml:51103 +#: book.translate.xml:51157 msgid "" "Only one host should be specified as the final recipient. For " "<application>Sendmail</application>, add <literal>Cw example.com</literal> " @@ -71929,7 +73159,7 @@ msgid "" msgstr "" #. (itstool) path: answer/para -#: book.translate.xml:51108 +#: book.translate.xml:51162 msgid "" "When the sending <acronym>MTA</acronym> attempts to deliver mail, it will " "try to connect to the system, <systemitem class=\"fqdomainname\">example." @@ -71943,12 +73173,12 @@ msgid "" msgstr "" #. (itstool) path: answer/para -#: book.translate.xml:51120 +#: book.translate.xml:51174 msgid "Use something like this as a login script:" msgstr "" #. (itstool) path: answer/programlisting -#: book.translate.xml:51122 +#: book.translate.xml:51176 #, no-wrap msgid "" "#!/bin/sh\n" @@ -71958,7 +73188,7 @@ msgid "" msgstr "" #. (itstool) path: answer/para -#: book.translate.xml:51127 +#: book.translate.xml:51181 msgid "" "When creating a separate login script for users, instead use " "<command>sendmail -qRexample.com</command> in the script above. This will " @@ -71967,7 +73197,7 @@ msgid "" msgstr "" #. (itstool) path: answer/para -#: book.translate.xml:51134 +#: book.translate.xml:51188 msgid "" "A further refinement of the situation can be seen from this example from the " "<link xlink:href=\"http://lists.FreeBSD.org/mailman/listinfo/freebsd-isp" @@ -71975,7 +73205,7 @@ msgid "" msgstr "" #. (itstool) path: answer/programlisting -#: book.translate.xml:51137 +#: book.translate.xml:51191 #, no-wrap msgid "" "> we provide the secondary MX for a customer. The customer connects to\n" @@ -72008,19 +73238,19 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51172 +#: book.translate.xml:51226 msgid "" "This section covers more involved topics such as mail configuration and " "setting up mail for an entire domain." msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:51178 +#: book.translate.xml:51232 msgid "<primary>email</primary> <secondary>configuration</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51183 +#: book.translate.xml:51237 msgid "" "Out of the box, one can send email to external hosts as long as <filename>/" "etc/resolv.conf</filename> is configured or the network has access to a " @@ -72029,18 +73259,18 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:51191 +#: book.translate.xml:51245 msgid "Run a <acronym>DNS</acronym> server for the domain." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:51196 +#: book.translate.xml:51250 msgid "" "Get mail delivered directly to the <acronym>FQDN</acronym> for the machine." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51202 +#: book.translate.xml:51256 msgid "" "In order to have mail delivered directly to a host, it must have a permanent " "static IP address, not a dynamic IP address. If the system is behind a " @@ -72049,32 +73279,32 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:51210 +#: book.translate.xml:51264 msgid "" "Make sure that the lowest-numbered <acronym>MX</acronym><_:indexterm-1/> " "record in <acronym>DNS</acronym> points to the host's static IP address." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:51218 +#: book.translate.xml:51272 msgid "" "Make sure there is no <acronym>MX</acronym> entry in the <acronym>DNS</" "acronym> for the host." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51223 +#: book.translate.xml:51277 msgid "" "Either of the above will allow mail to be received directly at the host." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51226 +#: book.translate.xml:51280 msgid "Try this:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:51228 +#: book.translate.xml:51282 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>hostname</userinput>\n" @@ -72084,7 +73314,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51233 +#: book.translate.xml:51287 msgid "" "In this example, mail sent directly to <email role=\"nolink" "\">yourlogin@example.FreeBSD.org</email> should work without problems, " @@ -72093,12 +73323,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51239 +#: book.translate.xml:51293 msgid "For this example:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:51241 +#: book.translate.xml:51295 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>host example.FreeBSD.org</userinput>\n" @@ -72107,7 +73337,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51245 +#: book.translate.xml:51299 msgid "" "All mail sent to <systemitem class=\"fqdomainname\">example.FreeBSD.org</" "systemitem> will be collected on <systemitem>hub</systemitem> under the same " @@ -72115,7 +73345,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51249 +#: book.translate.xml:51303 msgid "" "The above information is handled by the <acronym>DNS</acronym> server. The " "<acronym>DNS</acronym> record that carries mail routing information is the " @@ -72124,14 +73354,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51256 +#: book.translate.xml:51310 msgid "" "The <acronym>MX</acronym> entry for <systemitem class=\"fqdomainname" "\">freefall.FreeBSD.org</systemitem> at one time looked like this:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:51259 +#: book.translate.xml:51313 #, no-wrap msgid "" "freefall\t\tMX\t30\tmail.crl.net\n" @@ -72141,7 +73371,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51264 +#: book.translate.xml:51318 msgid "" "<systemitem>freefall</systemitem> had many <acronym>MX</acronym> entries. " "The lowest <acronym>MX</acronym> number is the host that receives mail " @@ -72151,7 +73381,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51272 +#: book.translate.xml:51326 msgid "" "Alternate <acronym>MX</acronym> sites should have separate Internet " "connections in order to be most useful. Your <acronym>ISP</acronym> can " @@ -72159,12 +73389,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:51278 +#: book.translate.xml:51332 msgid "Mail for a Domain" msgstr "網域中的郵件" #. (itstool) path: sect2/para -#: book.translate.xml:51280 +#: book.translate.xml:51334 msgid "" "When configuring a <acronym>MTA</acronym> for a network, any mail sent to " "hosts in its domain should be diverted to the <acronym>MTA</acronym> so that " @@ -72172,7 +73402,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51286 +#: book.translate.xml:51340 msgid "" "To make life easiest, a user account with the same <emphasis>username</" "emphasis> should exist on both the <acronym>MTA</acronym> and the system " @@ -72182,7 +73412,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51292 +#: book.translate.xml:51346 msgid "" "The <acronym>MTA</acronym> must be the designated mail exchanger for each " "workstation on the network. This is done in the<acronym>DNS</acronym> " @@ -72190,7 +73420,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:51297 +#: book.translate.xml:51351 #, no-wrap msgid "" "example.FreeBSD.org\tA\t204.216.27.XX\t\t; Workstation\n" @@ -72198,7 +73428,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51300 +#: book.translate.xml:51354 msgid "" "This will redirect mail for the workstation to the <acronym>MTA</acronym> no " "matter where the A record points. The mail is sent to the <acronym>MX</" @@ -72206,7 +73436,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51304 +#: book.translate.xml:51358 msgid "" "This must be configured on a <acronym>DNS</acronym> server. If the network " "does not run its own <acronym>DNS</acronym> server, talk to the " @@ -72214,7 +73444,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51310 +#: book.translate.xml:51364 msgid "" "The following is an example of virtual email hosting. Consider a customer " "with the domain <systemitem class=\"fqdomainname\">customer1.org</" @@ -72225,13 +73455,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:51316 +#: book.translate.xml:51370 #, no-wrap msgid "customer1.org\t\tMX\t10\tmail.myhost.com" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51318 +#: book.translate.xml:51372 msgid "" "An <literal>A</literal>> record is <emphasis>not</emphasis> needed for " "<systemitem class=\"fqdomainname\">customer1.org</systemitem> in order to " @@ -72241,7 +73471,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51325 +#: book.translate.xml:51379 msgid "" "Tell the <acronym>MTA</acronym> which domains and/or hostnames it should " "accept mail for. Either of the following will work for " @@ -72249,40 +73479,40 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:51331 +#: book.translate.xml:51385 msgid "" "Add the hosts to <filename>/etc/mail/local-host-names</filename> when using " "the <literal>FEATURE(use_cw_file)</literal>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:51337 +#: book.translate.xml:51391 msgid "" "Add a <literal>Cwyour.host.com</literal> line to <filename>/etc/sendmail.cf</" "filename>." msgstr "" #. (itstool) path: info/title -#: book.translate.xml:51346 +#: book.translate.xml:51400 msgid "Setting Up to Send Only" msgstr "寄件設定" #. (itstool) path: authorgroup/author -#: book.translate.xml:51349 +#: book.translate.xml:51403 msgid "" "<personname> <firstname>Bill</firstname> <surname>Moran</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51359 +#: book.translate.xml:51413 msgid "" "There are many instances where one may only want to send mail through a " "relay. Some examples are:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:51364 +#: book.translate.xml:51418 msgid "" "The computer is a desktop machine that needs to use programs such as " "<citerefentry><refentrytitle>send-pr</refentrytitle><manvolnum>1</" @@ -72290,14 +73520,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:51370 +#: book.translate.xml:51424 msgid "" "The computer is a server that does not handle mail locally, but needs to " "pass off all mail to a relay for processing." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51376 +#: book.translate.xml:51430 msgid "" "While any <acronym>MTA</acronym> is capable of filling this particular " "niche, it can be difficult to properly configure a full-featured " @@ -72307,21 +73537,21 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51383 +#: book.translate.xml:51437 msgid "" "Additionally, a typical Internet access service agreement may forbid one " "from running a <quote>mail server</quote>." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51386 +#: book.translate.xml:51440 msgid "" "The easiest way to fulfill those needs is to install the <package>mail/" "ssmtp</package> port:" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:51389 +#: book.translate.xml:51443 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/ports/mail/ssmtp</userinput>\n" @@ -72329,14 +73559,14 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51392 +#: book.translate.xml:51446 msgid "" "Once installed, <package>mail/ssmtp</package> can be configured with " "<filename>/usr/local/etc/ssmtp/ssmtp.conf</filename>:" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:51396 +#: book.translate.xml:51450 #, no-wrap msgid "" "root=yourrealemail@example.com\n" @@ -72346,7 +73576,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51401 +#: book.translate.xml:51455 msgid "" "Use the real email address for <systemitem class=\"username\">root</" "systemitem>. Enter the <acronym>ISP</acronym>'s outgoing mail relay in place " @@ -72356,7 +73586,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51407 +#: book.translate.xml:51461 msgid "" "Make sure to disable <application>Sendmail</application>, including the " "outgoing mail service. See <xref linkend=\"mail-disable-sendmail\"/> for " @@ -72364,7 +73594,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51410 +#: book.translate.xml:51464 msgid "" "<package>mail/ssmtp</package> has some other options available. Refer to the " "examples in <filename>/usr/local/etc/ssmtp</filename> or the manual page of " @@ -72372,7 +73602,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51415 +#: book.translate.xml:51469 msgid "" "Setting up <application>ssmtp</application> in this manner allows any " "software on the computer that needs to send mail to function properly, while " @@ -72381,12 +73611,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:51423 +#: book.translate.xml:51477 msgid "Using Mail with a Dialup Connection" msgstr "在撥號連線使用郵件" #. (itstool) path: sect1/para -#: book.translate.xml:51425 +#: book.translate.xml:51479 msgid "" "When using a static IP address, one should not need to adjust the default " "configuration. Set the hostname to the assigned Internet name and " @@ -72394,7 +73624,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51430 +#: book.translate.xml:51484 msgid "" "When using a dynamically assigned IP address and a dialup PPP connection to " "the Internet, one usually has a mailbox on the <acronym>ISP</acronym>'s mail " @@ -72407,7 +73637,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51439 +#: book.translate.xml:51493 msgid "" "In order to retrieve mail from the <acronym>ISP</acronym>'s mailbox, install " "a retrieval agent from the Ports Collection. <package>mail/fetchmail</" @@ -72419,7 +73649,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:51449 +#: book.translate.xml:51503 #, no-wrap msgid "" "MYADDR:\n" @@ -72427,7 +73657,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51452 +#: book.translate.xml:51506 msgid "" "When using <application>Sendmail</application> to deliver mail to non-local " "accounts, configure <application>Sendmail</application> to process the mail " @@ -72437,13 +73667,13 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:51459 +#: book.translate.xml:51513 #, no-wrap msgid " !bg su user -c \"sendmail -q\"" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51461 +#: book.translate.xml:51515 msgid "" "In this example, there is an account for <systemitem class=\"username" "\">user</systemitem> on <systemitem class=\"fqdomainname\">bsd.home</" @@ -72453,13 +73683,13 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:51468 +#: book.translate.xml:51522 #, no-wrap msgid "poll example.net protocol pop3 fetchall pass MySecret" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51470 +#: book.translate.xml:51524 msgid "" "This file should not be readable by anyone except <systemitem class=" "\"username\">user</systemitem> as it contains the password " @@ -72467,7 +73697,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51474 +#: book.translate.xml:51528 msgid "" "In order to send mail with the correct <literal>from:</literal> header, " "configure <application>Sendmail</application> to use <email>user@example." @@ -72477,12 +73707,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51481 +#: book.translate.xml:51535 msgid "The following <filename>.mc</filename> should suffice:" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:51484 +#: book.translate.xml:51538 #, no-wrap msgid "" "VERSIONID(`bsd.home.mc version 1.0')\n" @@ -72504,7 +73734,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51501 +#: book.translate.xml:51555 msgid "" "Refer to the previous section for details of how to convert this file into " "the <filename>sendmail.cf</filename> format. Do not forget to restart " @@ -72513,19 +73743,19 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:51509 +#: book.translate.xml:51563 msgid "SMTP Authentication" msgstr "SMTP 認證" #. (itstool) path: authorgroup/author -#: book.translate.xml:51512 +#: book.translate.xml:51566 msgid "" "<personname> <firstname>James</firstname> <surname>Gorham</surname> </" "personname> <contrib>Written by </contrib>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51522 +#: book.translate.xml:51576 msgid "" "Configuring <acronym>SMTP</acronym> authentication on the <acronym>MTA</" "acronym> provides a number of benefits. <acronym>SMTP</acronym> " @@ -72536,7 +73766,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:51532 +#: book.translate.xml:51586 msgid "" "Install <package>security/cyrus-sasl2</package> from the Ports Collection. " "This port supports a number of compile-time options. For the SMTP " @@ -72545,7 +73775,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:51541 +#: book.translate.xml:51595 msgid "" "After installing <package>security/cyrus-sasl2</package>, edit <filename>/" "usr/local/lib/sasl2/Sendmail.conf</filename>, or create it if it does not " @@ -72553,37 +73783,37 @@ msgid "" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:51547 +#: book.translate.xml:51601 #, no-wrap msgid "pwcheck_method: saslauthd" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:51551 +#: book.translate.xml:51605 msgid "" "Next, install <package>security/cyrus-sasl2-saslauthd</package> and add the " "following line to <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:51556 +#: book.translate.xml:51610 #, no-wrap msgid "saslauthd_enable=\"YES\"" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:51558 +#: book.translate.xml:51612 msgid "Finally, start the saslauthd daemon:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:51560 +#: book.translate.xml:51614 #, no-wrap msgid "<prompt>#</prompt> <userinput>service saslauthd start</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:51562 +#: book.translate.xml:51616 msgid "" "This daemon serves as a broker for <application>Sendmail</application> to " "authenticate against the FreeBSD <citerefentry><refentrytitle>passwd</" @@ -72594,13 +73824,13 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:51571 +#: book.translate.xml:51625 msgid "" "Next, edit <filename>/etc/make.conf</filename> and add the following lines:" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:51574 +#: book.translate.xml:51628 #, no-wrap msgid "" "SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL\n" @@ -72609,7 +73839,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:51578 +#: book.translate.xml:51632 msgid "" "These lines provide <application>Sendmail</application> the proper " "configuration options for linking to <package>cyrus-sasl2</package> at " @@ -72618,14 +73848,14 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:51587 +#: book.translate.xml:51641 msgid "" "Recompile <application>Sendmail</application> by executing the following " "commands:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:51590 +#: book.translate.xml:51644 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/src/lib/libsmutil</userinput>\n" @@ -72637,14 +73867,14 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:51597 +#: book.translate.xml:51651 msgid "" "This compile should not have any problems if <filename>/usr/src</filename> " "has not changed extensively and the shared libraries it needs are available." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:51603 +#: book.translate.xml:51657 msgid "" "After <application>Sendmail</application> has been compiled and reinstalled, " "edit <filename>/etc/mail/freebsd.mc</filename> or the local <filename>.mc</" @@ -72655,7 +73885,7 @@ msgid "" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:51611 +#: book.translate.xml:51665 #, no-wrap msgid "" "dnl set SASL options\n" @@ -72664,7 +73894,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:51615 +#: book.translate.xml:51669 msgid "" "These options configure the different methods available to " "<application>Sendmail</application> for authenticating users. To use a " @@ -72673,7 +73903,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:51623 +#: book.translate.xml:51677 msgid "" "Finally, run <citerefentry><refentrytitle>make</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> while in <filename>/etc/mail</filename>. That will " @@ -72686,7 +73916,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51637 +#: book.translate.xml:51691 msgid "" "To test the configuration, use a <acronym>MUA</acronym> to send a test " "message. For further investigation, set the <option>LogLevel</option> of " @@ -72695,31 +73925,31 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51643 +#: book.translate.xml:51697 msgid "" "For more information, refer to <link xlink:href=\"http://www.sendmail.org/" "~ca/email/auth.html\"> <acronym>SMTP</acronym> authentication</link>." msgstr "" #. (itstool) path: info/title -#: book.translate.xml:51649 +#: book.translate.xml:51703 msgid "Mail User Agents" msgstr "郵件使用者代理程式" #. (itstool) path: authorgroup/author -#: book.translate.xml:51652 book.translate.xml:52009 book.translate.xml:52109 +#: book.translate.xml:51706 book.translate.xml:52063 book.translate.xml:52163 msgid "" "<personname> <firstname>Marc</firstname> <surname>Silver</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:51662 +#: book.translate.xml:51716 msgid "<primary>Mail User Agents</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:51666 +#: book.translate.xml:51720 msgid "" "A <acronym>MUA</acronym> is an application that is used to send and receive " "email. As email <quote>evolves</quote> and becomes more complex, " @@ -72733,12 +73963,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:51679 +#: book.translate.xml:51733 msgid "<command>mail</command>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51681 +#: book.translate.xml:51735 msgid "" "<citerefentry><refentrytitle>mail</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> is the default <acronym>MUA</acronym> installed with FreeBSD. " @@ -72748,7 +73978,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51688 +#: book.translate.xml:51742 msgid "" "Although <command>mail</command> does not natively support interaction with " "<acronym>POP</acronym> or <acronym>IMAP</acronym> servers, these mailboxes " @@ -72757,18 +73987,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51695 +#: book.translate.xml:51749 msgid "In order to send and receive email, run <command>mail</command>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:51698 +#: book.translate.xml:51752 #, no-wrap msgid "<prompt>%</prompt> <userinput>mail</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51700 +#: book.translate.xml:51754 msgid "" "The contents of the user's mailbox in <filename>/var/mail</filename> are " "automatically read by <command>mail</command>. Should the mailbox be empty, " @@ -72779,7 +74009,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:51709 +#: book.translate.xml:51763 #, no-wrap msgid "" "Mail version 8.1 6/6/93. Type ? for help.\n" @@ -72790,14 +74020,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51715 +#: book.translate.xml:51769 msgid "" "Messages can now be read by typing <keycap>t</keycap> followed by the " "message number. This example reads the first email:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:51719 +#: book.translate.xml:51773 #, no-wrap msgid "" "& <userinput>t 1</userinput>\n" @@ -72814,14 +74044,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51731 +#: book.translate.xml:51785 msgid "" "As seen in this example, the message will be displayed with full headers. To " "display the list of messages again, press <keycap>h</keycap>." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51735 +#: book.translate.xml:51789 msgid "" "If the email requires a reply, press either <keycap>R</keycap> or <keycap>r</" "keycap> <command>mail</command> keys. <keycap>R</keycap> instructs " @@ -72833,7 +74063,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:51746 +#: book.translate.xml:51800 #, no-wrap msgid "" "& <userinput>R 1</userinput>\n" @@ -72846,7 +74076,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51754 +#: book.translate.xml:51808 msgid "" "In order to send a new email, press <keycap>m</keycap>, followed by the " "recipient email address. Multiple recipients may be specified by separating " @@ -72857,7 +74087,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:51762 +#: book.translate.xml:51816 #, no-wrap msgid "" "& <userinput>mail root@localhost</userinput>\n" @@ -72869,7 +74099,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51769 +#: book.translate.xml:51823 msgid "" "While using <command>mail</command>, press <keycap>?</keycap> to display " "help at any time. Refer to <citerefentry><refentrytitle>mail</" @@ -72878,7 +74108,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:51775 +#: book.translate.xml:51829 msgid "" "<citerefentry><refentrytitle>mail</refentrytitle><manvolnum>1</manvolnum></" "citerefentry> was not designed to handle attachments and thus deals with " @@ -72888,51 +74118,51 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:51785 +#: book.translate.xml:51839 msgid "<application>mutt</application>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51787 +#: book.translate.xml:51841 msgid "" "<application>mutt</application> is a powerful <acronym>MUA</acronym>, with " "many features, including:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:51792 +#: book.translate.xml:51846 msgid "The ability to thread messages." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:51796 +#: book.translate.xml:51850 msgid "PGP support for digital signing and encryption of email." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:51801 +#: book.translate.xml:51855 msgid "MIME support." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:51805 +#: book.translate.xml:51859 msgid "Maildir support." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:51809 +#: book.translate.xml:51863 msgid "Highly customizable." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51813 +#: book.translate.xml:51867 msgid "" "Refer to <uri xlink:href=\"http://www.mutt.org\">http://www.mutt.org</uri> " "for more information on <application>mutt</application>." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51817 +#: book.translate.xml:51871 msgid "" "<application>mutt</application> may be installed using the <package>mail/" "mutt</package> port. After the port has been installed, <application>mutt</" @@ -72940,13 +74170,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:51822 +#: book.translate.xml:51876 #, no-wrap msgid "<prompt>%</prompt> <userinput>mutt</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51824 +#: book.translate.xml:51878 msgid "" "<application>mutt</application> will automatically read and display the " "contents of the user mailbox in <filename>/var/mail</filename>. If no mails " @@ -72960,13 +74190,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:51834 +#: book.translate.xml:51888 msgctxt "_" msgid "external ref='mail/mutt1' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51838 +#: book.translate.xml:51892 msgid "" "To read an email, select it using the cursor keys and press <keycap>Enter</" "keycap>. An example of <application>mutt</application> displaying email can " @@ -72978,13 +74208,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:51845 +#: book.translate.xml:51899 msgctxt "_" msgid "external ref='mail/mutt2' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51849 +#: book.translate.xml:51903 msgid "" "Similar to <citerefentry><refentrytitle>mail</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>, <application>mutt</application> can be used to " @@ -72995,7 +74225,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:51857 +#: book.translate.xml:51911 msgid "" "By default, <application>mutt</application> uses the " "<citerefentry><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></" @@ -73008,7 +74238,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51868 +#: book.translate.xml:51922 msgid "" "To compose a new mail message, press <keycap>m</keycap>. After a valid " "subject has been given, <application>mutt</application> will start " @@ -73025,13 +74255,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:51880 +#: book.translate.xml:51934 msgctxt "_" msgid "external ref='mail/mutt3' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51884 +#: book.translate.xml:51938 msgid "" "<application>mutt</application> contains extensive help which can be " "accessed from most of the menus by pressing <keycap>?</keycap>. The top line " @@ -73039,19 +74269,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:51892 +#: book.translate.xml:51946 msgid "<application>alpine</application>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51894 +#: book.translate.xml:51948 msgid "" "<application>alpine</application> is aimed at a beginner user, but also " "includes some advanced features." msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:51898 +#: book.translate.xml:51952 msgid "" "<application>alpine</application> has had several remote vulnerabilities " "discovered in the past, which allowed remote attackers to execute arbitrary " @@ -73064,7 +74294,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51910 +#: book.translate.xml:51964 msgid "" "The current version of <application>alpine</application> may be installed " "using the <package>mail/alpine</package> port. Once the port has installed, " @@ -73073,13 +74303,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:51916 +#: book.translate.xml:51970 #, no-wrap msgid "<prompt>%</prompt> <userinput>alpine</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51918 +#: book.translate.xml:51972 msgid "" "The first time <application>alpine</application> runs, it displays a " "greeting page with a brief introduction, as well as a request from the " @@ -73095,13 +74325,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:51931 +#: book.translate.xml:51985 msgctxt "_" msgid "external ref='mail/pine1' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51935 +#: book.translate.xml:51989 msgid "" "The main menu is then presented, which can be navigated using the cursor " "keys. This main menu provides shortcuts for the composing new mails, " @@ -73111,7 +74341,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51942 +#: book.translate.xml:51996 msgid "" "The default directory opened by <application>alpine</application> is " "<filename>inbox</filename>. To view the message index, press <keycap>I</" @@ -73124,13 +74354,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:51951 +#: book.translate.xml:52005 msgctxt "_" msgid "external ref='mail/pine2' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51955 +#: book.translate.xml:52009 msgid "" "The message index shows messages in the current directory and can be " "navigated by using the cursor keys. Highlighted messages can be read by " @@ -73142,13 +74372,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:51962 +#: book.translate.xml:52016 msgctxt "_" msgid "external ref='mail/pine3' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51966 +#: book.translate.xml:52020 msgid "" "In the screenshot below, a sample message is displayed by " "<application>alpine</application>. Contextual keyboard shortcuts are " @@ -73162,13 +74392,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:51975 +#: book.translate.xml:52029 msgctxt "_" msgid "external ref='mail/pine4' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51979 +#: book.translate.xml:52033 msgid "" "Replying to an email in <application>alpine</application> is done using the " "<application>pico</application> editor, which is installed by default with " @@ -73187,13 +74417,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:51992 +#: book.translate.xml:52046 msgctxt "_" msgid "external ref='mail/pine5' md5='__failed__'" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:51996 +#: book.translate.xml:52050 msgid "" "<application>alpine</application> can be customized using the " "<guimenuitem>SETUP</guimenuitem> option from the main menu. Consult <uri " @@ -73202,17 +74432,17 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:52006 +#: book.translate.xml:52060 msgid "Using <application>fetchmail</application>" msgstr "使用 <application>fetchmail</application>" #. (itstool) path: sect1/indexterm -#: book.translate.xml:52019 +#: book.translate.xml:52073 msgid "<primary>fetchmail</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:52023 +#: book.translate.xml:52077 msgid "" "<application>fetchmail</application> is a full-featured <acronym>IMAP</" "acronym> and <acronym>POP</acronym> client. It allows users to automatically " @@ -73224,7 +74454,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52034 +#: book.translate.xml:52088 msgid "" "Support for the <acronym>POP3</acronym>, <acronym>APOP</acronym>, " "<acronym>KPOP</acronym>, <acronym>IMAP</acronym>, <acronym>ETRN</acronym> " @@ -73232,26 +74462,26 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52041 +#: book.translate.xml:52095 msgid "" "Ability to forward mail using <acronym>SMTP</acronym>, which allows " "filtering, forwarding, and aliasing to function normally." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52047 +#: book.translate.xml:52101 msgid "May be run in daemon mode to check periodically for new messages." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52052 +#: book.translate.xml:52106 msgid "" "Can retrieve multiple mailboxes and forward them, based on configuration, to " "different local users." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:52057 +#: book.translate.xml:52111 msgid "" "This section explains some of the basic features of <application>fetchmail</" "application>. This utility requires a <filename>.fetchmailrc</filename> " @@ -73262,13 +74492,13 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:52066 +#: book.translate.xml:52120 #, no-wrap msgid "<prompt>%</prompt> <userinput>chmod 600 .fetchmailrc</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:52068 +#: book.translate.xml:52122 msgid "" "The following <filename>.fetchmailrc</filename> serves as an example for " "downloading a single user mailbox using <acronym>POP</acronym>. It tells " @@ -73280,13 +74510,13 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:52078 +#: book.translate.xml:52132 #, no-wrap msgid "poll example.com protocol pop3 username \"joesoap\" password \"XXX\"" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:52080 +#: book.translate.xml:52134 msgid "" "The next example connects to multiple <acronym>POP</acronym> and " "<acronym>IMAP</acronym> servers and redirects to different local usernames " @@ -73294,7 +74524,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:52084 +#: book.translate.xml:52138 #, no-wrap msgid "" "poll example.com proto pop3:\n" @@ -73305,7 +74535,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:52090 +#: book.translate.xml:52144 msgid "" "<application>fetchmail</application> can be run in daemon mode by running it " "with <option>-d</option>, followed by the interval (in seconds) that " @@ -73315,13 +74545,13 @@ msgid "" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:52098 +#: book.translate.xml:52152 #, no-wrap msgid "<prompt>%</prompt> <userinput>fetchmail -d 600</userinput>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:52100 +#: book.translate.xml:52154 msgid "" "More information on <application>fetchmail</application> can be found at " "<uri xlink:href=\"http://www.fetchmail.info/\">http://www.fetchmail.info/</" @@ -73329,17 +74559,17 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:52106 +#: book.translate.xml:52160 msgid "Using <application>procmail</application>" msgstr "使用 <application>procmail</application>" #. (itstool) path: sect1/indexterm -#: book.translate.xml:52119 +#: book.translate.xml:52173 msgid "<primary>procmail</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:52123 +#: book.translate.xml:52177 msgid "" "<application>procmail</application> is a powerful application used to filter " "incoming mail. It allows users to define <quote>rules</quote> which can be " @@ -73354,13 +74584,13 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:52137 +#: book.translate.xml:52191 #, no-wrap msgid "\"|exec /usr/local/bin/procmail || exit 75\"" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:52139 +#: book.translate.xml:52193 msgid "" "The following section displays some basic <application>procmail</" "application> rules, as well as brief descriptions of what they do. Rules " @@ -73369,7 +74599,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:52145 +#: book.translate.xml:52199 msgid "" "The majority of these rules can be found in <citerefentry vendor=\"ports" "\"><refentrytitle>procmailex</refentrytitle><manvolnum>5</manvolnum></" @@ -73377,14 +74607,14 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:52148 +#: book.translate.xml:52202 msgid "" "To forward all mail from <email>user@example.com</email> to an external " "address of <email role=\"nolink\">goodmail@example2.com</email>:" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:52151 +#: book.translate.xml:52205 #, no-wrap msgid "" ":0\n" @@ -73393,14 +74623,14 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:52155 +#: book.translate.xml:52209 msgid "" "To forward all mails shorter than 1000 bytes to an external address of " "<email role=\"nolink\">goodmail@example2.com</email>:" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:52158 +#: book.translate.xml:52212 #, no-wrap msgid "" ":0\n" @@ -73409,14 +74639,14 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:52162 +#: book.translate.xml:52216 msgid "" "To send all mail sent to <email>alternate@example.com</email> to a mailbox " "called <filename>alternate</filename>:" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:52166 +#: book.translate.xml:52220 #, no-wrap msgid "" ":0\n" @@ -73425,14 +74655,14 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:52170 +#: book.translate.xml:52224 msgid "" "To send all mail with a subject of <quote>Spam</quote> to <filename>/dev/" "null</filename>:" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:52173 +#: book.translate.xml:52227 #, no-wrap msgid "" ":0\n" @@ -73441,7 +74671,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:52177 +#: book.translate.xml:52231 msgid "" "A useful recipe that parses incoming <systemitem class=\"fqdomainname" "\">FreeBSD.org</systemitem> mailing lists and places each list in its own " @@ -73449,7 +74679,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/programlisting -#: book.translate.xml:52180 +#: book.translate.xml:52234 #, no-wrap msgid "" ":0\n" @@ -73463,12 +74693,12 @@ msgid "" msgstr "" #. (itstool) path: chapter/title -#: book.translate.xml:52210 +#: book.translate.xml:52264 msgid "Network Servers" msgstr "網路伺服器" #. (itstool) path: sect1/para -#: book.translate.xml:52215 +#: book.translate.xml:52269 msgid "" "This chapter covers some of the more frequently used network services on " "<trademark class=\"registered\">UNIX</trademark> systems. This includes " @@ -73481,22 +74711,22 @@ msgstr "" "定檔以供參考。" #. (itstool) path: sect1/para -#: book.translate.xml:52221 +#: book.translate.xml:52275 msgid "By the end of this chapter, readers will know:" msgstr "讀完本章,您將了解:" #. (itstool) path: listitem/para -#: book.translate.xml:52225 +#: book.translate.xml:52279 msgid "How to manage the <application>inetd</application> daemon." msgstr "如何管理 <application>inetd</application> Daemon。" #. (itstool) path: listitem/para -#: book.translate.xml:52230 +#: book.translate.xml:52284 msgid "How to set up the Network File System (<acronym>NFS</acronym>)." msgstr "如何設定網路檔案系統 (Network File System, <acronym>NFS</acronym>)。" #. (itstool) path: listitem/para -#: book.translate.xml:52235 +#: book.translate.xml:52289 msgid "" "How to set up the Network Information Server (<acronym>NIS</acronym>) for " "centralizing and sharing user accounts." @@ -73505,23 +74735,23 @@ msgstr "" "來集中管理及共用使用者帳號。" #. (itstool) path: listitem/para -#: book.translate.xml:52241 +#: book.translate.xml:52295 msgid "" "How to set FreeBSD up to act as an <acronym>LDAP</acronym> server or client" msgstr "如何設定 FreeBSD 成為 <acronym>LDAP</acronym> 伺服器或客戶端。" #. (itstool) path: listitem/para -#: book.translate.xml:52246 +#: book.translate.xml:52300 msgid "How to set up automatic network settings using <acronym>DHCP</acronym>." msgstr "如何設定使用 <acronym>DHCP</acronym> 自動網路設定。" #. (itstool) path: listitem/para -#: book.translate.xml:52251 +#: book.translate.xml:52305 msgid "How to set up a Domain Name Server (<acronym>DNS</acronym>)." msgstr "如何設定網域名稱伺服器 (Domain Name Server, <acronym>DNS</acronym>)。" #. (itstool) path: listitem/para -#: book.translate.xml:52256 +#: book.translate.xml:52310 msgid "" "How to set up the <application>Apache</application> <acronym>HTTP</acronym> " "Server." @@ -73529,14 +74759,14 @@ msgstr "" "如何設定 <application>Apache</application> <acronym>HTTP</acronym> 伺服器。" #. (itstool) path: listitem/para -#: book.translate.xml:52261 +#: book.translate.xml:52315 msgid "How to set up a File Transfer Protocol (<acronym>FTP</acronym>) server." msgstr "" "如何設定檔案傳輸協定 (File Transfer Protocol, <acronym>FTP</acronym>) 伺服" "器。" #. (itstool) path: listitem/para -#: book.translate.xml:52266 +#: book.translate.xml:52320 msgid "" "How to set up a file and print server for <trademark class=\"registered" "\">Windows</trademark> clients using <application>Samba</application>." @@ -73545,7 +74775,7 @@ msgstr "" "class=\"registered\">Windows</trademark> 客戶端使用。" #. (itstool) path: listitem/para -#: book.translate.xml:52271 +#: book.translate.xml:52325 msgid "" "How to synchronize the time and date, and set up a time server using the " "Network Time Protocol (<acronym>NTP</acronym>)." @@ -73554,38 +74784,38 @@ msgstr "" "acronym>) 設定時間伺服器。" #. (itstool) path: listitem/para -#: book.translate.xml:52277 +#: book.translate.xml:52331 msgid "How to set up <acronym>iSCSI</acronym>." msgstr "如何設定 <acronym>iSCSI</acronym>。" #. (itstool) path: sect1/para -#: book.translate.xml:52281 +#: book.translate.xml:52335 msgid "This chapter assumes a basic knowledge of:" msgstr "本章假設您有以下基礎知識:" #. (itstool) path: listitem/para -#: book.translate.xml:52285 +#: book.translate.xml:52339 msgid "<filename>/etc/rc</filename> scripts." msgstr "<filename>/etc/rc</filename> Script。" #. (itstool) path: listitem/para -#: book.translate.xml:52289 +#: book.translate.xml:52343 msgid "Network terminology." msgstr "網路術語。" #. (itstool) path: listitem/para -#: book.translate.xml:52293 +#: book.translate.xml:52347 msgid "" "Installation of additional third-party software (<xref linkend=\"ports\"/>)." msgstr "安裝其他第三方軟體 (<xref linkend=\"ports\"/>)。" #. (itstool) path: sect1/title -#: book.translate.xml:52300 +#: book.translate.xml:52354 msgid "The <application>inetd</application> Super-Server" msgstr "<application>inetd</application> 超級伺服器" #. (itstool) path: sect1/para -#: book.translate.xml:52321 +#: book.translate.xml:52375 msgid "" "The <citerefentry><refentrytitle>inetd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> daemon is sometimes referred to as a Super-Server " @@ -73600,7 +74830,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:52333 +#: book.translate.xml:52387 msgid "" "Primarily, <application>inetd</application> is used to spawn other daemons, " "but several trivial protocols are handled internally, such as " @@ -73610,19 +74840,19 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:52342 +#: book.translate.xml:52396 msgid "" "This section covers the basics of configuring <application>inetd</" "application>." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:52346 +#: book.translate.xml:52400 msgid "Configuration File" msgstr "設定檔" #. (itstool) path: sect2/para -#: book.translate.xml:52348 +#: book.translate.xml:52402 msgid "" "Configuration of <application>inetd</application> is done by editing " "<filename>/etc/inetd.conf</filename>. Each line of this configuration file " @@ -73635,7 +74865,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52360 +#: book.translate.xml:52414 msgid "" "After saving your edits, configure <application>inetd</application> to start " "at system boot by editing <filename>/etc/rc.conf</filename>:" @@ -73643,13 +74873,13 @@ msgstr "" #. (itstool) path: sect2/programlisting #. (itstool) path: step/programlisting -#: book.translate.xml:52364 book.translate.xml:65494 +#: book.translate.xml:52418 book.translate.xml:65535 #, no-wrap msgid "inetd_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52366 +#: book.translate.xml:52420 msgid "" "To start <application>inetd</application> now, so that it listens for the " "service you configured, type:" @@ -73657,31 +74887,31 @@ msgstr "" #. (itstool) path: sect2/screen #. (itstool) path: step/screen -#: book.translate.xml:52369 book.translate.xml:65516 +#: book.translate.xml:52423 book.translate.xml:65535 #, no-wrap msgid "<prompt>#</prompt> <userinput>service inetd start</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52371 +#: book.translate.xml:52425 msgid "" "Once <application>inetd</application> is started, it needs to be notified " "whenever a modification is made to <filename>/etc/inetd.conf</filename>:" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:52376 +#: book.translate.xml:52430 msgid "Reloading the <application>inetd</application> Configuration File" msgstr "重新庫入 <application>inetd</application> 設定檔" #. (itstool) path: example/screen -#: book.translate.xml:52379 +#: book.translate.xml:52433 #, no-wrap msgid "<prompt>#</prompt> <userinput>service inetd reload</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52382 +#: book.translate.xml:52436 msgid "" "Typically, the default entry for an application does not need to be edited " "beyond removing the <literal>#</literal>. In some situations, it may be " @@ -73689,7 +74919,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52387 +#: book.translate.xml:52441 msgid "" "As an example, this is the default entry for " "<citerefentry><refentrytitle>ftpd</refentrytitle><manvolnum>8</manvolnum></" @@ -73697,18 +74927,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:52390 +#: book.translate.xml:52444 #, no-wrap msgid "ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52392 +#: book.translate.xml:52446 msgid "The seven columns in an entry are as follows:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:52394 +#: book.translate.xml:52448 #, no-wrap msgid "" "service-name\n" @@ -73721,17 +74951,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52402 book.translate.xml:65535 +#: book.translate.xml:52456 book.translate.xml:65535 msgid "where:" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:52406 +#: book.translate.xml:52460 msgid "service-name" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52409 +#: book.translate.xml:52463 msgid "" "The service name of the daemon to start. It must correspond to a service " "listed in <filename>/etc/services</filename>. This determines which port " @@ -73741,12 +74971,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:52420 +#: book.translate.xml:52474 msgid "socket-type" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52423 +#: book.translate.xml:52477 msgid "" "Either <literal>stream</literal>, <literal>dgram</literal>, <literal>raw</" "literal>, or <literal>seqpacket</literal>. Use <literal>stream</literal> for " @@ -73755,94 +74985,94 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:52433 +#: book.translate.xml:52487 msgid "protocol" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52436 +#: book.translate.xml:52490 msgid "Use one of the following protocol names:" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:52442 +#: book.translate.xml:52496 msgid "Protocol Name" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:52443 +#: book.translate.xml:52497 msgid "Explanation" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:52449 +#: book.translate.xml:52503 msgid "tcp or tcp4" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:52450 +#: book.translate.xml:52504 msgid "TCP IPv4" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:52454 +#: book.translate.xml:52508 msgid "udp or udp4" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:52455 +#: book.translate.xml:52509 msgid "<acronym>UDP</acronym> IPv4" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:52459 +#: book.translate.xml:52513 msgid "tcp6" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:52460 +#: book.translate.xml:52514 msgid "TCP IPv6" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:52464 +#: book.translate.xml:52518 msgid "udp6" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:52465 +#: book.translate.xml:52519 msgid "<acronym>UDP</acronym> IPv6" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:52469 +#: book.translate.xml:52523 msgid "tcp46" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:52470 +#: book.translate.xml:52524 msgid "Both TCP IPv4 and IPv6" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:52474 +#: book.translate.xml:52528 msgid "udp46" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:52475 +#: book.translate.xml:52529 msgid "Both <acronym>UDP</acronym> IPv4 and IPv6" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:52485 +#: book.translate.xml:52539 msgid "" "{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-" "ip]]]" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52488 +#: book.translate.xml:52542 msgid "" "In this field, <option>wait</option> or <option>nowait</option> must be " "specified. <option>max-child</option>, <option>max-connections-per-ip-per-" @@ -73850,7 +75080,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52494 +#: book.translate.xml:52548 msgid "" "<option>wait|nowait</option> indicates whether or not the service is able to " "handle its own socket. <option>dgram</option> socket types must use " @@ -73861,7 +75091,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52504 +#: book.translate.xml:52558 msgid "" "The maximum number of child daemons <application>inetd</application> may " "spawn is set by <option>max-child</option>. For example, to limit ten " @@ -73871,7 +75101,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52512 +#: book.translate.xml:52566 msgid "" "<option>max-connections-per-ip-per-minute</option> limits the number of " "connections from any particular <acronym>IP</acronym> address per minute. " @@ -73885,7 +75115,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52526 +#: book.translate.xml:52580 msgid "" "An example can be seen in the default settings for " "<citerefentry><refentrytitle>fingerd</refentrytitle><manvolnum>8</" @@ -73893,18 +75123,18 @@ msgid "" msgstr "" #. (itstool) path: listitem/programlisting -#: book.translate.xml:52529 +#: book.translate.xml:52583 #, no-wrap msgid "finger stream tcp nowait/3/10 nobody /usr/libexec/fingerd fingerd -k -s" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:52534 +#: book.translate.xml:52588 msgid "user" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52537 +#: book.translate.xml:52591 msgid "" "The username the daemon will run as. Daemons typically run as <systemitem " "class=\"username\">root</systemitem>, <systemitem class=\"username\">daemon</" @@ -73912,24 +75142,24 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:52546 +#: book.translate.xml:52600 msgid "server-program" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52549 +#: book.translate.xml:52603 msgid "" "The full path to the daemon. If the daemon is a service provided by " "<application>inetd</application> internally, use <option>internal</option>." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:52556 +#: book.translate.xml:52610 msgid "server-program-arguments" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52559 +#: book.translate.xml:52613 msgid "" "Used to specify any command arguments to be passed to the daemon on " "invocation. If the daemon is an internal service, use <option>internal</" @@ -73937,12 +75167,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:52569 +#: book.translate.xml:52623 msgid "Command-Line Options" msgstr "指令列選項" #. (itstool) path: sect2/para -#: book.translate.xml:52571 +#: book.translate.xml:52625 msgid "" "Like most server daemons, <application>inetd</application> has a number of " "options that can be used to modify its behavior. By default, " @@ -73953,7 +75183,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52579 +#: book.translate.xml:52633 msgid "" "To change the default options which are passed to <application>inetd</" "application>, add an entry for <literal>inetd_flags</literal> in <filename>/" @@ -73962,17 +75192,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52586 +#: book.translate.xml:52640 msgid "The available rate limiting options are:" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:52590 +#: book.translate.xml:52644 msgid "-c maximum" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52593 +#: book.translate.xml:52647 msgid "" "Specify the default maximum number of simultaneous invocations of each " "service, where the default is unlimited. May be overridden on a per-service " @@ -73981,12 +75211,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:52602 +#: book.translate.xml:52656 msgid "-C rate" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52605 +#: book.translate.xml:52659 msgid "" "Specify the default maximum number of times a service can be invoked from a " "single <acronym>IP</acronym> address per minute. May be overridden on a per-" @@ -73995,12 +75225,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:52615 +#: book.translate.xml:52669 msgid "-R rate" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52618 +#: book.translate.xml:52672 msgid "" "Specify the maximum number of times a service can be invoked in one minute, " "where the default is <literal>256</literal>. A rate of <literal>0</literal> " @@ -74008,12 +75238,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:52626 +#: book.translate.xml:52680 msgid "-s maximum" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52629 +#: book.translate.xml:52683 msgid "" "Specify the maximum number of times a service can be invoked from a single " "<acronym>IP</acronym> address at any one time, where the default is " @@ -74022,7 +75252,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52639 +#: book.translate.xml:52693 msgid "" "Additional options are available. Refer to " "<citerefentry><refentrytitle>inetd</refentrytitle><manvolnum>8</manvolnum></" @@ -74030,7 +75260,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52646 +#: book.translate.xml:52700 msgid "" "Many of the daemons which can be managed by <application>inetd</application> " "are not security-conscious. Some daemons, such as <application>fingerd</" @@ -74042,7 +75272,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52657 +#: book.translate.xml:52711 msgid "" "By default, TCP wrappers is enabled. Consult " "<citerefentry><refentrytitle>hosts_access</refentrytitle><manvolnum>5</" @@ -74051,26 +75281,26 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:52666 +#: book.translate.xml:52720 msgid "Network File System (NFS)" msgstr "網路檔案系統 (NFS)" #. (itstool) path: authorgroup/author -#: book.translate.xml:52669 +#: book.translate.xml:52723 msgid "" "<personname> <firstname>Tom</firstname> <surname>Rhodes</surname> </" "personname> <contrib>Reorganized and enhanced by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:52679 +#: book.translate.xml:52733 msgid "" "<personname> <firstname>Bill</firstname> <surname>Swingle</surname> </" "personname> <contrib>Written by </contrib>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:52690 +#: book.translate.xml:52744 msgid "" "FreeBSD supports the Network File System (<acronym>NFS</acronym>), which " "allows a server to share directories and files with clients over a network. " @@ -74079,21 +75309,21 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:52696 +#: book.translate.xml:52750 msgid "" "<acronym>NFS</acronym> has many practical uses. Some of the more common uses " "include:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52701 +#: book.translate.xml:52755 msgid "" "Data that would otherwise be duplicated on each client can be kept in a " "single location and accessed by clients on the network." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52707 +#: book.translate.xml:52761 msgid "" "Several clients may need access to the <filename>/usr/ports/distfiles</" "filename> directory. Sharing that directory allows for quick access to the " @@ -74101,7 +75331,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52715 +#: book.translate.xml:52769 msgid "" "On large networks, it is often more convenient to configure a central " "<acronym>NFS</acronym> server on which all user home directories are stored. " @@ -74110,14 +75340,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52723 +#: book.translate.xml:52777 msgid "" "Administration of <acronym>NFS</acronym> exports is simplified. For example, " "there is only one file system where security or backup policies must be set." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:52729 +#: book.translate.xml:52783 msgid "" "Removable media storage devices can be used by other machines on the " "network. This reduces the number of devices throughout the network and " @@ -74127,7 +75357,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:52738 +#: book.translate.xml:52792 msgid "" "<acronym>NFS</acronym> consists of a server and one or more clients. The " "client remotely accesses the data that is stored on the server machine. In " @@ -74136,79 +75366,79 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:52743 +#: book.translate.xml:52797 msgid "These daemons must be running on the server:" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:52744 +#: book.translate.xml:52798 msgid "<primary>NFS</primary> <secondary>server</secondary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:52748 +#: book.translate.xml:52802 msgid "<primary>file server</primary> <secondary>UNIX clients</secondary>" msgstr "" #. (itstool) path: sect1/indexterm #. (itstool) path: sect2/indexterm -#: book.translate.xml:52753 book.translate.xml:53261 +#: book.translate.xml:52807 book.translate.xml:53315 msgid "<primary><application>rpcbind</application></primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:52756 +#: book.translate.xml:52810 msgid "<primary><application>mountd</application></primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:52759 +#: book.translate.xml:52813 msgid "<primary><application>nfsd</application></primary>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:52770 +#: book.translate.xml:52824 msgid "Daemon" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:52777 +#: book.translate.xml:52831 msgid "<application>nfsd</application>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:52778 +#: book.translate.xml:52832 msgid "" "The <acronym>NFS</acronym> daemon which services requests from <acronym>NFS</" "acronym> clients." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:52783 +#: book.translate.xml:52837 msgid "<application>mountd</application>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:52784 +#: book.translate.xml:52838 msgid "" "The <acronym>NFS</acronym> mount daemon which carries out requests received " "from <application>nfsd</application>." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:52790 +#: book.translate.xml:52844 msgid "<application>rpcbind</application>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:52791 +#: book.translate.xml:52845 msgid "" "This daemon allows <acronym>NFS</acronym> clients to discover which port the " "<acronym>NFS</acronym> server is using." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:52799 +#: book.translate.xml:52853 msgid "" "Running <citerefentry><refentrytitle>nfsiod</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> on the client can improve performance, but is not " @@ -74216,17 +75446,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:52803 +#: book.translate.xml:52857 msgid "Configuring the Server" msgstr "設定伺服器" #. (itstool) path: sect2/indexterm -#: book.translate.xml:52805 +#: book.translate.xml:52859 msgid "<primary>NFS</primary> <secondary>configuration</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52810 +#: book.translate.xml:52864 msgid "" "The file systems which the <acronym>NFS</acronym> server will share are " "specified in <filename>/etc/exports</filename>. Each line in this file " @@ -74238,12 +75468,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:52819 +#: book.translate.xml:52873 msgid "<primary>NFS</primary> <secondary>export examples</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52824 +#: book.translate.xml:52878 msgid "" "The following <filename>/etc/exports</filename> entries demonstrate how to " "export file systems. The examples can be modified to match the file systems " @@ -74254,7 +75484,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52831 +#: book.translate.xml:52885 msgid "" "This example shows how to export <filename>/cdrom</filename> to three hosts " "named <replaceable>alpha</replaceable>, <replaceable>bravo</replaceable>, " @@ -74262,13 +75492,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:52837 +#: book.translate.xml:52891 #, no-wrap msgid "/cdrom -ro <replaceable>alpha</replaceable> <replaceable>bravo</replaceable> <replaceable>charlie</replaceable>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52839 +#: book.translate.xml:52893 msgid "" "The <literal>-ro</literal> flag makes the file system read-only, preventing " "clients from making any changes to the exported file system. This example " @@ -74279,7 +75509,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52847 +#: book.translate.xml:52901 msgid "" "The next example exports <filename>/home</filename> to three clients by " "<acronym>IP</acronym> address. This can be useful for networks without " @@ -74290,13 +75520,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:52856 +#: book.translate.xml:52910 #, no-wrap msgid "/usr/home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52858 +#: book.translate.xml:52912 msgid "" "This next example exports <filename>/a</filename> so that two clients from " "different domains may access that file system. The <option>-maproot=root</" @@ -74310,13 +75540,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:52867 +#: book.translate.xml:52921 #, no-wrap msgid "/a -maproot=root host.example.com box.example.org" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52869 +#: book.translate.xml:52923 msgid "" "A client can only be specified once per file system. For example, if " "<filename>/usr</filename> is a single file system, these entries would be " @@ -74324,7 +75554,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:52874 +#: book.translate.xml:52928 #, no-wrap msgid "" "# Invalid when /usr is one file system\n" @@ -74333,25 +75563,25 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52878 +#: book.translate.xml:52932 msgid "The correct format for this situation is to use one entry:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:52881 +#: book.translate.xml:52935 #, no-wrap msgid "/usr/src /usr/ports client" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52883 +#: book.translate.xml:52937 msgid "" "The following is an example of a valid export list, where <filename>/usr</" "filename> and <filename>/exports</filename> are local file systems:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:52887 +#: book.translate.xml:52941 #, no-wrap msgid "" "# Export src and ports to client01 and client02, but only\n" @@ -74365,14 +75595,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52896 +#: book.translate.xml:52950 msgid "" "To enable the processes required by the <acronym>NFS</acronym> server at " "boot time, add these options to <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:52900 +#: book.translate.xml:52954 #, no-wrap msgid "" "rpcbind_enable=\"YES\"\n" @@ -74381,19 +75611,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52904 +#: book.translate.xml:52958 msgid "The server can be started now by running this command:" msgstr "" #. (itstool) path: sect2/screen #. (itstool) path: step/screen -#: book.translate.xml:52907 book.translate.xml:65487 +#: book.translate.xml:52961 book.translate.xml:65535 #, no-wrap msgid "<prompt>#</prompt> <userinput>service nfsd start</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52909 +#: book.translate.xml:52963 msgid "" "Whenever the <acronym>NFS</acronym> server is started, <application>mountd</" "application> also starts automatically. However, <application>mountd</" @@ -74403,42 +75633,42 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:52917 +#: book.translate.xml:52971 #, no-wrap msgid "<prompt>#</prompt> <userinput>service mountd reload</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:52921 +#: book.translate.xml:52975 msgid "Configuring the Client" msgstr "設定客戶端" #. (itstool) path: sect2/para -#: book.translate.xml:52923 +#: book.translate.xml:52977 msgid "" "To enable <acronym>NFS</acronym> clients, set this option in each client's " "<filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:52926 +#: book.translate.xml:52980 #, no-wrap msgid "nfs_client_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52928 +#: book.translate.xml:52982 msgid "Then, run this command on each <acronym>NFS</acronym> client:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:52931 +#: book.translate.xml:52985 #, no-wrap msgid "<prompt>#</prompt> <userinput>service nfsclient start</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52933 +#: book.translate.xml:52987 msgid "" "The client now has everything it needs to mount a remote file system. In " "these examples, the server's name is <systemitem>server</systemitem> and the " @@ -74448,18 +75678,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:52942 +#: book.translate.xml:52996 msgid "<primary>NFS</primary> <secondary>mounting</secondary>" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:52946 +#: book.translate.xml:53000 #, no-wrap msgid "<prompt>#</prompt> <userinput>mount server:/home /mnt</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52948 +#: book.translate.xml:53002 msgid "" "The files and directories in <filename>/home</filename> will now be " "available on <systemitem>client</systemitem>, in the <filename>/mnt</" @@ -74467,32 +75697,32 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52953 +#: book.translate.xml:53007 msgid "" "To mount a remote file system each time the client boots, add it to " "<filename>/etc/fstab</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:52956 +#: book.translate.xml:53010 #, no-wrap msgid "server:/home\t/mnt\tnfs\trw\t0\t0" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52958 +#: book.translate.xml:53012 msgid "" "Refer to <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> for a description of all available options." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:52963 +#: book.translate.xml:53017 msgid "Locking" msgstr "鎖定" #. (itstool) path: sect2/para -#: book.translate.xml:52965 +#: book.translate.xml:53019 msgid "" "Some applications require file locking to operate correctly. To enable " "locking, add these lines to <filename>/etc/rc.conf</filename> on both the " @@ -74500,7 +75730,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:52970 +#: book.translate.xml:53024 #, no-wrap msgid "" "rpc_lockd_enable=\"YES\"\n" @@ -74508,12 +75738,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52973 +#: book.translate.xml:53027 msgid "Then start the applications:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:52975 +#: book.translate.xml:53029 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service lockd start</userinput>\n" @@ -74521,7 +75751,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:52978 +#: book.translate.xml:53032 msgid "" "If locking is not required on the server, the <acronym>NFS</acronym> client " "can be configured to lock locally by including <option>-L</option> when " @@ -74531,7 +75761,7 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:52987 +#: book.translate.xml:53041 msgid "" "Automating Mounts with <citerefentry><refentrytitle>amd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>" @@ -74540,31 +75770,31 @@ msgstr "" "manvolnum></citerefentry> 自動掛載" #. (itstool) path: authorgroup/author -#: book.translate.xml:52990 +#: book.translate.xml:53044 msgid "" "<personname> <firstname>Wylie</firstname> <surname>Stilwell</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:53000 +#: book.translate.xml:53054 msgid "" "<personname> <firstname>Chern</firstname> <surname>Lee</surname> </" "personname> <contrib>Rewritten by </contrib>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:53010 +#: book.translate.xml:53064 msgid "<primary>amd</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:53011 +#: book.translate.xml:53065 msgid "<primary>automatic mounter daemon</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53015 +#: book.translate.xml:53069 msgid "" "The automatic mounter daemon, <application>amd</application>, automatically " "mounts a remote file system whenever a file or directory within that file " @@ -74573,7 +75803,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53022 +#: book.translate.xml:53076 msgid "" "This daemon provides an alternative to modifying <filename>/etc/fstab</" "filename> to list every client. It operates by attaching itself as an " @@ -74589,12 +75819,12 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:53040 +#: book.translate.xml:53094 msgid "Mounting an Export with <application>amd</application>" msgstr "使用 <application>amd</application> 掛載 Export" #. (itstool) path: example/para -#: book.translate.xml:53043 +#: book.translate.xml:53097 msgid "" "In this example, <command>showmount -e</command> shows the exported file " "systems that can be mounted from the <acronym>NFS</acronym> server, " @@ -74602,7 +75832,7 @@ msgid "" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:53048 +#: book.translate.xml:53102 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>showmount -e foobar</userinput>\n" @@ -74613,7 +75843,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53055 +#: book.translate.xml:53109 msgid "" "The output from <command>showmount</command> shows <filename>/usr</filename> " "as an export. When changing directories to <filename>/host/foobar/usr</" @@ -74624,31 +75854,31 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53064 +#: book.translate.xml:53118 msgid "" "To enable <application>amd</application> at boot time, add this line to " "<filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:53067 +#: book.translate.xml:53121 #, no-wrap msgid "amd_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53069 +#: book.translate.xml:53123 msgid "To start <application>amd</application> now:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:53071 +#: book.translate.xml:53125 #, no-wrap msgid "<prompt>#</prompt> <userinput>service amd start</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53073 +#: book.translate.xml:53127 msgid "" "Custom flags can be passed to <application>amd</application> from the " "<varname>amd_flags</varname> environment variable. By default, " @@ -74656,13 +75886,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:53078 +#: book.translate.xml:53132 #, no-wrap msgid "amd_flags=\"-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53080 +#: book.translate.xml:53134 msgid "" "The default options with which exports are mounted are defined in <filename>/" "etc/amd.map</filename>. Some of the more advanced features of " @@ -74671,7 +75901,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53085 +#: book.translate.xml:53139 msgid "" "Consult <citerefentry><refentrytitle>amd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> and <citerefentry><refentrytitle>amd.conf</" @@ -74679,7 +75909,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:53090 +#: book.translate.xml:53144 msgid "" "Automating Mounts with <citerefentry><refentrytitle>autofs</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>" @@ -74688,7 +75918,7 @@ msgstr "" "manvolnum></citerefentry> 自動掛載" #. (itstool) path: note/para -#: book.translate.xml:53093 +#: book.translate.xml:53147 msgid "" "The <citerefentry><refentrytitle>autofs</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> automount facility is supported starting with " @@ -74700,17 +75930,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:53101 +#: book.translate.xml:53155 msgid "<primary>autofs</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:53102 +#: book.translate.xml:53156 msgid "<primary>automounter subsystem</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53106 +#: book.translate.xml:53160 msgid "" "The <citerefentry><refentrytitle>autofs</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> facility is a common name for several components " @@ -74731,7 +75961,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53119 +#: book.translate.xml:53173 msgid "" "The <citerefentry><refentrytitle>autofs</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> virtual filesystem is mounted on specified " @@ -74741,7 +75971,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53123 +#: book.translate.xml:53177 msgid "" "Whenever a process attempts to access file within the " "<citerefentry><refentrytitle>autofs</refentrytitle><manvolnum>5</manvolnum></" @@ -74758,7 +75988,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53133 +#: book.translate.xml:53187 msgid "" "The primary autofs configuration file is <filename>/etc/auto_master</" "filename>. It assigns individual maps to top-level mounts. For an " @@ -74768,7 +75998,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53139 +#: book.translate.xml:53193 msgid "" "There is a special automounter map mounted on <filename>/net</filename>. " "When a file is accessed within this directory, " @@ -74782,7 +76012,7 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:53149 +#: book.translate.xml:53203 msgid "" "Mounting an Export with <citerefentry><refentrytitle>autofs</" "refentrytitle><manvolnum>5</manvolnum></citerefentry>" @@ -74791,7 +76021,7 @@ msgstr "" "manvolnum></citerefentry> 掛載 Export" #. (itstool) path: example/para -#: book.translate.xml:53151 +#: book.translate.xml:53205 msgid "" "In this example, <command>showmount -e</command> shows the exported file " "systems that can be mounted from the <acronym>NFS</acronym> server, " @@ -74799,7 +76029,7 @@ msgid "" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:53156 +#: book.translate.xml:53210 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>showmount -e foobar</userinput>\n" @@ -74810,7 +76040,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53163 +#: book.translate.xml:53217 msgid "" "The output from <command>showmount</command> shows <filename>/usr</filename> " "as an export. When changing directories to <filename>/host/foobar/usr</" @@ -74823,7 +76053,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53171 +#: book.translate.xml:53225 msgid "" "To enable <citerefentry><refentrytitle>autofs</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> at boot time, add this line to <filename>/etc/rc." @@ -74831,14 +76061,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53176 +#: book.translate.xml:53230 msgid "" "Then <citerefentry><refentrytitle>autofs</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> can be started by running:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:53178 +#: book.translate.xml:53232 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service automount start</userinput>\n" @@ -74847,17 +76077,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53182 +#: book.translate.xml:53236 msgid "" "The <citerefentry><refentrytitle>autofs</refentrytitle><manvolnum>5</" "manvolnum></citerefentry> map format is the same as in other operating " -"systems, it might be desirable to consult information from other operating " -"systems, such as the <link xlink:href=\"http://images.apple.com/business/" -"docs/Autofs.pdf\">Mac OS X document</link>." +"systems. Information about this format from other sources can be useful, " +"like the <link xlink:href=\"http://web.archive.org/web/20160813071113/http://" +"images.apple.com/business/docs/Autofs.pdf\">Mac OS X document</link>." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53187 +#: book.translate.xml:53241 msgid "" "Consult the <citerefentry><refentrytitle>automount</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, " @@ -74869,47 +76099,47 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:53216 +#: book.translate.xml:53270 msgid "Network Information System (<acronym>NIS</acronym>)" msgstr "網路資訊系統 (<acronym>NIS</acronym>)" #. (itstool) path: sect1/indexterm -#: book.translate.xml:53219 +#: book.translate.xml:53273 msgid "<primary>NIS</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:53221 +#: book.translate.xml:53275 msgid "<primary>HP-UX</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:53222 +#: book.translate.xml:53276 msgid "<primary>AIX</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:53223 +#: book.translate.xml:53277 msgid "<primary>Linux</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:53224 +#: book.translate.xml:53278 msgid "<primary>NetBSD</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:53225 +#: book.translate.xml:53279 msgid "<primary>OpenBSD</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:53226 +#: book.translate.xml:53280 msgid "<primary>yellow pages</primary> <see>NIS</see>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:53231 +#: book.translate.xml:53285 msgid "" "Network Information System (<acronym>NIS</acronym>) is designed to " "centralize administration of <trademark class=\"registered\">UNIX</" @@ -74921,12 +76151,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:53239 +#: book.translate.xml:53293 msgid "<primary>NIS</primary> <secondary>domains</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:53244 +#: book.translate.xml:53298 msgid "" "<acronym>NIS</acronym> is a Remote Procedure Call (<acronym>RPC</acronym>)-" "based client/server system that allows a group of machines within an " @@ -74937,44 +76167,44 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:53252 +#: book.translate.xml:53306 msgid "FreeBSD uses version 2 of the <acronym>NIS</acronym> protocol." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:53256 +#: book.translate.xml:53310 msgid "<acronym>NIS</acronym> Terms and Processes" msgstr "<acronym>NIS</acronym> 術語與程序" #. (itstool) path: sect2/para -#: book.translate.xml:53258 +#: book.translate.xml:53312 msgid "" "Table 28.1 summarizes the terms and important processes used by " "<acronym>NIS</acronym>:" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:53264 +#: book.translate.xml:53318 msgid "<primary><application>portmap</application></primary>" msgstr "" #. (itstool) path: table/title -#: book.translate.xml:53269 +#: book.translate.xml:53323 msgid "<acronym>NIS</acronym> Terminology" msgstr "<acronym>NIS</acronym> 術語" #. (itstool) path: row/entry -#: book.translate.xml:53277 book.translate.xml:55172 +#: book.translate.xml:53331 book.translate.xml:55226 msgid "Term" msgstr "術語" #. (itstool) path: row/entry -#: book.translate.xml:53284 +#: book.translate.xml:53338 msgid "<acronym>NIS</acronym> domain name" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53286 +#: book.translate.xml:53340 msgid "" "<acronym>NIS</acronym> servers and clients share an <acronym>NIS</acronym> " "domain name. Typically, this name does not have anything to do with " @@ -74982,14 +76212,14 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53293 +#: book.translate.xml:53347 msgid "" "<citerefentry><refentrytitle>rpcbind</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53295 +#: book.translate.xml:53349 msgid "" "This service enables <acronym>RPC</acronym> and must be running in order to " "run an <acronym>NIS</acronym> server or act as an <acronym>NIS</acronym> " @@ -74997,14 +76227,14 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53302 +#: book.translate.xml:53356 msgid "" "<citerefentry><refentrytitle>ypbind</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53303 +#: book.translate.xml:53357 msgid "" "This service binds an <acronym>NIS</acronym> client to its <acronym>NIS</" "acronym> server. It will take the <acronym>NIS</acronym> domain name and use " @@ -75015,14 +76245,14 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53315 +#: book.translate.xml:53369 msgid "" "<citerefentry><refentrytitle>ypserv</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53316 +#: book.translate.xml:53370 msgid "" "This is the process for the <acronym>NIS</acronym> server. If this service " "stops running, the server will no longer be able to respond to <acronym>NIS</" @@ -75033,14 +76263,14 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53328 +#: book.translate.xml:53382 msgid "" "<citerefentry><refentrytitle>rpc.yppasswdd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53329 +#: book.translate.xml:53383 msgid "" "This process only runs on <acronym>NIS</acronym> master servers. This daemon " "allows <acronym>NIS</acronym> clients to change their <acronym>NIS</acronym> " @@ -75049,38 +76279,38 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:53345 +#: book.translate.xml:53399 msgid "Machine Types" msgstr "主機類型" #. (itstool) path: sect2/indexterm -#: book.translate.xml:53347 +#: book.translate.xml:53401 msgid "<primary>NIS</primary> <secondary>master server</secondary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:53350 book.translate.xml:53707 +#: book.translate.xml:53404 book.translate.xml:53761 msgid "<primary>NIS</primary> <secondary>slave server</secondary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:53353 +#: book.translate.xml:53407 msgid "<primary>NIS</primary> <secondary>client</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53357 +#: book.translate.xml:53411 msgid "" "There are three types of hosts in an <acronym>NIS</acronym> environment:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:53362 +#: book.translate.xml:53416 msgid "<acronym>NIS</acronym> master server" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:53364 +#: book.translate.xml:53418 msgid "" "This server acts as a central repository for host configuration information " "and maintains the authoritative copy of the files used by all of the " @@ -75094,12 +76324,12 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:53379 +#: book.translate.xml:53433 msgid "<acronym>NIS</acronym> slave servers" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:53381 +#: book.translate.xml:53435 msgid "" "<acronym>NIS</acronym> slave servers maintain copies of the <acronym>NIS</" "acronym> master's data files in order to provide redundancy. Slave servers " @@ -75109,19 +76339,19 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:53391 +#: book.translate.xml:53445 msgid "<acronym>NIS</acronym> clients" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:53393 +#: book.translate.xml:53447 msgid "" "<acronym>NIS</acronym> clients authenticate against the <acronym>NIS</" "acronym> server during log on." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53399 +#: book.translate.xml:53453 msgid "" "Information in many files can be shared using <acronym>NIS</acronym>. The " "<filename>master.passwd</filename>, <filename>group</filename>, and " @@ -75132,12 +76362,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:53411 +#: book.translate.xml:53465 msgid "Planning Considerations" msgstr "規劃注意事項" #. (itstool) path: sect2/para -#: book.translate.xml:53413 +#: book.translate.xml:53467 msgid "" "This section describes a sample <acronym>NIS</acronym> environment which " "consists of 15 FreeBSD machines with no centralized point of administration. " @@ -75148,97 +76378,97 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53422 +#: book.translate.xml:53476 msgid "The configuration of the lab will be as follows:" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53428 +#: book.translate.xml:53482 msgid "Machine name" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53430 +#: book.translate.xml:53484 msgid "Machine role" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53436 +#: book.translate.xml:53490 msgid "<systemitem>ellington</systemitem>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53437 +#: book.translate.xml:53491 msgid "<systemitem class=\"ipaddress\">10.0.0.2</systemitem>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53438 +#: book.translate.xml:53492 msgid "<acronym>NIS</acronym> master" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53442 +#: book.translate.xml:53496 msgid "<systemitem>coltrane</systemitem>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53443 +#: book.translate.xml:53497 msgid "<systemitem class=\"ipaddress\">10.0.0.3</systemitem>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53444 +#: book.translate.xml:53498 msgid "<acronym>NIS</acronym> slave" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53448 +#: book.translate.xml:53502 msgid "<systemitem>basie</systemitem>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53449 +#: book.translate.xml:53503 msgid "<systemitem class=\"ipaddress\">10.0.0.4</systemitem>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53450 +#: book.translate.xml:53504 msgid "Faculty workstation" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53454 +#: book.translate.xml:53508 msgid "<systemitem>bird</systemitem>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53455 +#: book.translate.xml:53509 msgid "<systemitem class=\"ipaddress\">10.0.0.5</systemitem>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53456 +#: book.translate.xml:53510 msgid "Client machine" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53460 +#: book.translate.xml:53514 msgid "<systemitem>cli[1-11]</systemitem>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53461 +#: book.translate.xml:53515 msgid "<systemitem class=\"ipaddress\">10.0.0.[6-17]</systemitem>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:53463 +#: book.translate.xml:53517 msgid "Other client machines" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53469 +#: book.translate.xml:53523 msgid "" "If this is the first time an <acronym>NIS</acronym> scheme is being " "developed, it should be thoroughly planned ahead of time. Regardless of " @@ -75247,17 +76477,17 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:53475 +#: book.translate.xml:53529 msgid "Choosing a <acronym>NIS</acronym> Domain Name" msgstr "選擇 <acronym>NIS</acronym> 網域名稱" #. (itstool) path: sect3/indexterm -#: book.translate.xml:53477 +#: book.translate.xml:53531 msgid "<primary>NIS</primary> <secondary>domain name</secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:53481 +#: book.translate.xml:53535 msgid "" "When a client broadcasts its requests for info, it includes the name of the " "<acronym>NIS</acronym> domain that it is part of. This is how multiple " @@ -75267,7 +76497,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:53488 +#: book.translate.xml:53542 msgid "" "Some organizations choose to use their Internet domain name for their " "<acronym>NIS</acronym> domain name. This is not recommended as it can cause " @@ -75280,7 +76510,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:53499 +#: book.translate.xml:53553 msgid "" "However, some non-FreeBSD operating systems require the <acronym>NIS</" "acronym> domain name to be the same as the Internet domain name. If one or " @@ -75289,12 +76519,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:53508 +#: book.translate.xml:53562 msgid "Physical Server Requirements" msgstr "實體伺服器需求" #. (itstool) path: sect3/para -#: book.translate.xml:53510 +#: book.translate.xml:53564 msgid "" "There are several things to keep in mind when choosing a machine to use as a " "<acronym>NIS</acronym> server. Since <acronym>NIS</acronym> clients depend " @@ -75308,12 +76538,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:53526 +#: book.translate.xml:53580 msgid "Configuring the <acronym>NIS</acronym> Master Server" msgstr "設定 <acronym>NIS</acronym> Master 伺服器" #. (itstool) path: sect2/para -#: book.translate.xml:53529 +#: book.translate.xml:53583 msgid "" "The canonical copies of all <acronym>NIS</acronym> files are stored on the " "master server. The databases used to store the information are called " @@ -75325,7 +76555,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53540 +#: book.translate.xml:53594 msgid "" "<acronym>NIS</acronym> master and slave servers handle all <acronym>NIS</" "acronym> requests through <citerefentry><refentrytitle>ypserv</" @@ -75337,12 +76567,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:53548 +#: book.translate.xml:53602 msgid "<primary>NIS</primary> <secondary>server configuration</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53551 +#: book.translate.xml:53605 msgid "" "Setting up a master <acronym>NIS</acronym> server can be relatively straight " "forward, depending on environmental needs. Since FreeBSD provides built-in " @@ -75351,7 +76581,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:53557 +#: book.translate.xml:53611 #, no-wrap msgid "" "nisdomainname=\"test-domain\"\t<co xml:id=\"network-nis-co-domainname\"/>\n" @@ -75360,21 +76590,21 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:53563 +#: book.translate.xml:53617 msgid "" "This line sets the <acronym>NIS</acronym> domain name to <literal>test-" "domain</literal>." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:53568 +#: book.translate.xml:53622 msgid "" "This automates the start up of the <acronym>NIS</acronym> server processes " "when the system boots." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:53574 +#: book.translate.xml:53628 msgid "" "This enables the <citerefentry><refentrytitle>rpc.yppasswdd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> daemon so that users " @@ -75382,7 +76612,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53580 +#: book.translate.xml:53634 msgid "" "Care must be taken in a multi-server domain where the server machines are " "also <acronym>NIS</acronym> clients. It is generally a good idea to force " @@ -75395,14 +76625,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53592 +#: book.translate.xml:53646 msgid "" "A server that is also a client can be forced to bind to a particular server " "by adding these additional lines to <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:53596 +#: book.translate.xml:53650 #, no-wrap msgid "" "nis_client_enable=\"YES\" # run client stuff as well\n" @@ -75410,7 +76640,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53599 +#: book.translate.xml:53653 msgid "" "After saving the edits, type <command>/etc/netstart</command> to restart the " "network and apply the values defined in <filename>/etc/rc.conf</filename>. " @@ -75420,23 +76650,23 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:53605 +#: book.translate.xml:53659 #, no-wrap msgid "<prompt>#</prompt> <userinput>service ypserv start</userinput>" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:53608 +#: book.translate.xml:53662 msgid "Initializing the <acronym>NIS</acronym> Maps" msgstr "初始化 <acronym>NIS</acronym> 對應表" #. (itstool) path: sect3/indexterm -#: book.translate.xml:53610 +#: book.translate.xml:53664 msgid "<primary>NIS</primary> <secondary>maps</secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:53614 +#: book.translate.xml:53668 msgid "" "<acronym>NIS</acronym> maps are generated from the configuration files in " "<filename>/etc</filename> on the <acronym>NIS</acronym> master, with one " @@ -75447,7 +76677,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:53623 +#: book.translate.xml:53677 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cp /etc/master.passwd /var/yp/master.passwd</userinput>\n" @@ -75456,7 +76686,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:53627 +#: book.translate.xml:53681 msgid "" "It is advisable to remove all entries for system accounts as well as any " "user accounts that do not need to be propagated to the <acronym>NIS</" @@ -75465,14 +76695,14 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:53634 +#: book.translate.xml:53688 msgid "" "Ensure that the <filename>/var/yp/master.passwd</filename> is neither group " "or world readable by setting its permissions to <literal>600</literal>." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:53640 +#: book.translate.xml:53694 msgid "" "After completing this task, initialize the <acronym>NIS</acronym> maps. " "FreeBSD includes the <citerefentry><refentrytitle>ypinit</" @@ -75482,7 +76712,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:53646 +#: book.translate.xml:53700 #, no-wrap msgid "" "ellington<prompt>#</prompt> <userinput>ypinit -m test-domain</userinput>\n" @@ -75511,7 +76741,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:53670 +#: book.translate.xml:53724 msgid "" "This will create <filename>/var/yp/Makefile</filename> from <filename>/var/" "yp/Makefile.dist</filename>. By default, this file assumes that the " @@ -75522,18 +76752,18 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:53679 +#: book.translate.xml:53733 #, no-wrap msgid "NOPUSH = \"True\"" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:53683 +#: book.translate.xml:53737 msgid "Adding New Users" msgstr "新增使用者" #. (itstool) path: sect3/para -#: book.translate.xml:53685 +#: book.translate.xml:53739 msgid "" "Every time a new user is created, the user account must be added to the " "master <acronym>NIS</acronym> server and the <acronym>NIS</acronym> maps " @@ -75544,7 +76774,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:53694 +#: book.translate.xml:53748 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>pw useradd jsmith</userinput>\n" @@ -75553,19 +76783,19 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:53698 +#: book.translate.xml:53752 msgid "" "The user could also be added using <command>adduser jsmith</command> instead " "of <command>pw useradd smith</command>." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:53705 +#: book.translate.xml:53759 msgid "Setting up a <acronym>NIS</acronym> Slave Server" msgstr "設定 <acronym>NIS</acronym> Slave 伺服器" #. (itstool) path: sect2/para -#: book.translate.xml:53711 +#: book.translate.xml:53765 msgid "" "To set up an <acronym>NIS</acronym> slave server, log on to the slave server " "and edit <filename>/etc/rc.conf</filename> as for the master server. Do not " @@ -75577,7 +76807,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:53721 +#: book.translate.xml:53775 #, no-wrap msgid "" "coltrane<prompt>#</prompt> <userinput>ypinit -s ellington test-domain</userinput>\n" @@ -75639,7 +76869,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53778 +#: book.translate.xml:53832 msgid "" "This will generate a directory on the slave server called <filename>/var/yp/" "test-domain</filename> which contains copies of the <acronym>NIS</acronym> " @@ -75649,7 +76879,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:53785 +#: book.translate.xml:53839 #, no-wrap msgid "" "20 * * * * root /usr/libexec/ypxfr passwd.byname\n" @@ -75657,7 +76887,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53788 +#: book.translate.xml:53842 msgid "" "These entries are not mandatory because the master server automatically " "attempts to push any map changes to its slaves. However, since clients may " @@ -75667,19 +76897,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53796 +#: book.translate.xml:53850 msgid "" "To finish the configuration, run <command>/etc/netstart</command> on the " "slave server in order to start the <acronym>NIS</acronym> services." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:53802 +#: book.translate.xml:53856 msgid "Setting Up an <acronym>NIS</acronym> Client" msgstr "設定 <acronym>NIS</acronym> 客戶端" #. (itstool) path: sect2/para -#: book.translate.xml:53804 +#: book.translate.xml:53858 msgid "" "An <acronym>NIS</acronym> client binds to an <acronym>NIS</acronym> server " "using <citerefentry><refentrytitle>ypbind</refentrytitle><manvolnum>8</" @@ -75698,17 +76928,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:53822 +#: book.translate.xml:53876 msgid "<primary>NIS</primary> <secondary>client configuration</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53826 +#: book.translate.xml:53880 msgid "To configure a FreeBSD machine to be an <acronym>NIS</acronym> client:" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:53831 +#: book.translate.xml:53885 msgid "" "Edit <filename>/etc/rc.conf</filename> and add the following lines in order " "to set the <acronym>NIS</acronym> domain name and start " @@ -75717,7 +76947,7 @@ msgid "" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:53836 +#: book.translate.xml:53890 #, no-wrap msgid "" "nisdomainname=\"test-domain\"\n" @@ -75725,7 +76955,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:53841 +#: book.translate.xml:53895 msgid "" "To import all possible password entries from the <acronym>NIS</acronym> " "server, use <command>vipw</command> to remove all user accounts except one " @@ -75739,13 +76969,13 @@ msgstr "" #. (itstool) path: step/programlisting #. (itstool) path: sect2/programlisting -#: book.translate.xml:53853 book.translate.xml:54226 +#: book.translate.xml:53907 book.translate.xml:54280 #, no-wrap msgid "+:::::::::" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:53855 +#: book.translate.xml:53909 msgid "" "This line configures the client to provide anyone with a valid account in " "the <acronym>NIS</acronym> server's password maps an account on the client. " @@ -75756,27 +76986,27 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:53866 +#: book.translate.xml:53920 msgid "" "To import all possible group entries from the <acronym>NIS</acronym> server, " "add this line to <filename>/etc/group</filename>:" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:53870 +#: book.translate.xml:53924 #, no-wrap msgid "+:*::" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53874 +#: book.translate.xml:53928 msgid "" "To start the <acronym>NIS</acronym> client immediately, execute the " "following commands as the superuser:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:53877 +#: book.translate.xml:53931 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>/etc/netstart</userinput>\n" @@ -75784,19 +77014,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53880 +#: book.translate.xml:53934 msgid "" "After completing these steps, running <command>ypcat passwd</command> on the " "client should show the server's <filename>passwd</filename> map." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:53886 +#: book.translate.xml:53940 msgid "<acronym>NIS</acronym> Security" msgstr "<acronym>NIS</acronym> 安全性" #. (itstool) path: sect2/para -#: book.translate.xml:53888 +#: book.translate.xml:53942 msgid "" "Since <acronym>RPC</acronym> is a broadcast-based service, any system " "running <application>ypbind</application> within the same domain can " @@ -75814,7 +77044,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:53903 +#: book.translate.xml:53957 #, no-wrap msgid "" "# allow connections from local host -- mandatory\n" @@ -75829,7 +77059,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53913 +#: book.translate.xml:53967 msgid "" "If <citerefentry><refentrytitle>ypserv</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> receives a request from an address that matches " @@ -75840,7 +77070,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53921 +#: book.translate.xml:53975 msgid "" "<xref linkend=\"tcpwrappers\"/> is an alternate mechanism for providing " "access control instead of <filename>securenets</filename>. While either " @@ -75850,7 +77080,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53929 +#: book.translate.xml:53983 msgid "" "Servers using <filename>securenets</filename> may fail to serve legitimate " "<acronym>NIS</acronym> clients with archaic TCP/IP implementations. Some of " @@ -75862,7 +77092,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:53941 +#: book.translate.xml:53995 msgid "" "The use of <application>TCP Wrapper</application> increases the latency of " "the <acronym>NIS</acronym> server. The additional delay may be long enough " @@ -75873,12 +77103,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:53951 +#: book.translate.xml:54005 msgid "Barring Some Users" msgstr "阻擋部份使用者" #. (itstool) path: sect3/para -#: book.translate.xml:53953 +#: book.translate.xml:54007 msgid "" "In this example, the <systemitem>basie</systemitem> system is a faculty " "workstation within the <acronym>NIS</acronym> domain. The <filename>passwd</" @@ -75888,7 +77118,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:53962 +#: book.translate.xml:54016 msgid "" "To prevent specified users from logging on to a system, even if they are " "present in the <acronym>NIS</acronym> database, use <command>vipw</command> " @@ -75902,7 +77132,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:53975 +#: book.translate.xml:54029 #, no-wrap msgid "" "basie<prompt>#</prompt> <userinput>cat /etc/master.passwd</userinput>\n" @@ -75928,17 +77158,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:54011 +#: book.translate.xml:54065 msgid "Using Netgroups" msgstr "使用 Netgroups" #. (itstool) path: sect2/indexterm -#: book.translate.xml:54013 book.translate.xml:54179 +#: book.translate.xml:54067 book.translate.xml:54233 msgid "<primary>netgroups</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54015 +#: book.translate.xml:54069 msgid "" "Barring specified users from logging on to individual systems becomes " "unscaleable on larger networks and quickly loses the main benefit of " @@ -75946,7 +77176,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54020 +#: book.translate.xml:54074 msgid "" "Netgroups were developed to handle large, complex networks with hundreds of " "users and machines. Their use is comparable to <trademark class=\"registered" @@ -75956,7 +77186,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54026 +#: book.translate.xml:54080 msgid "" "To expand on the example used in this chapter, the <acronym>NIS</acronym> " "domain will be extended to add the users and systems shown in Tables 28.2 " @@ -75964,41 +77194,41 @@ msgid "" msgstr "" #. (itstool) path: table/title -#: book.translate.xml:54031 +#: book.translate.xml:54085 msgid "Additional Users" msgstr "其他使用者" #. (itstool) path: row/entry -#: book.translate.xml:54036 +#: book.translate.xml:54090 msgid "User Name(s)" msgstr "使用者名稱" #. (itstool) path: row/entry -#: book.translate.xml:54043 +#: book.translate.xml:54097 msgid "" "<systemitem class=\"username\">alpha</systemitem>, <systemitem class=" "\"username\">beta</systemitem>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:54045 +#: book.translate.xml:54099 msgid "IT department employees" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:54049 +#: book.translate.xml:54103 msgid "" "<systemitem class=\"username\">charlie</systemitem>, <systemitem class=" "\"username\">delta</systemitem>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:54050 +#: book.translate.xml:54104 msgid "IT department apprentices" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:54054 +#: book.translate.xml:54108 msgid "" "<systemitem class=\"username\">echo</systemitem>, <systemitem class=" "\"username\">foxtrott</systemitem>, <systemitem class=\"username\">golf</" @@ -76006,46 +77236,46 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:54058 +#: book.translate.xml:54112 msgid "employees" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:54062 +#: book.translate.xml:54116 msgid "" "<systemitem class=\"username\">able</systemitem>, <systemitem class=" "\"username\">baker</systemitem>, ..." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:54065 +#: book.translate.xml:54119 msgid "interns" msgstr "" #. (itstool) path: table/title -#: book.translate.xml:54072 +#: book.translate.xml:54126 msgid "Additional Systems" msgstr "其他系統" #. (itstool) path: row/entry -#: book.translate.xml:54077 +#: book.translate.xml:54131 msgid "Machine Name(s)" msgstr "機器名稱" #. (itstool) path: row/entry -#: book.translate.xml:54086 +#: book.translate.xml:54140 msgid "" "<systemitem>war</systemitem>, <systemitem>death</systemitem>, " "<systemitem>famine</systemitem>, <systemitem>pollution</systemitem>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:54090 +#: book.translate.xml:54144 msgid "Only IT employees are allowed to log onto these servers." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:54096 +#: book.translate.xml:54150 msgid "" "<systemitem>pride</systemitem>, <systemitem>greed</systemitem>, " "<systemitem>envy</systemitem>, <systemitem>wrath</systemitem>, " @@ -76053,37 +77283,37 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:54102 +#: book.translate.xml:54156 msgid "" "All members of the IT department are allowed to login onto these servers." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:54107 +#: book.translate.xml:54161 msgid "" "<systemitem>one</systemitem>, <systemitem>two</systemitem>, " "<systemitem>three</systemitem>, <systemitem>four</systemitem>, ..." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:54112 +#: book.translate.xml:54166 msgid "Ordinary workstations used by employees." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:54117 +#: book.translate.xml:54171 msgid "<systemitem>trashcan</systemitem>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:54118 +#: book.translate.xml:54172 msgid "" "A very old machine without any critical data. Even interns are allowed to " "use this system." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54125 +#: book.translate.xml:54179 msgid "" "When using netgroups to configure this scenario, each user is assigned to " "one or more netgroups and logins are then allowed or forbidden for all " @@ -76095,7 +77325,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54135 +#: book.translate.xml:54189 msgid "" "The first step is the initialization of the <acronym>NIS</acronym> " "<literal>netgroup</literal> map. In FreeBSD, this map is not created by " @@ -76104,14 +77334,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54141 +#: book.translate.xml:54195 msgid "" "This example creates four netgroups to represent IT employees, IT " "apprentices, employees, and interns:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:54144 +#: book.translate.xml:54198 #, no-wrap msgid "" "IT_EMP (,alpha,test-domain) (,beta,test-domain)\n" @@ -76122,7 +77352,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54150 +#: book.translate.xml:54204 msgid "" "Each entry configures a netgroup. The first column in an entry is the name " "of the netgroup. Each set of brackets represents either a group of one or " @@ -76131,26 +77361,26 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:54158 +#: book.translate.xml:54212 msgid "" "The name of the host(s) where the other fields representing the user are " "valid. If a hostname is not specified, the entry is valid on all hosts." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:54164 +#: book.translate.xml:54218 msgid "The name of the account that belongs to this netgroup." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:54169 +#: book.translate.xml:54223 msgid "" "The <acronym>NIS</acronym> domain for the account. Accounts may be imported " "from other <acronym>NIS</acronym> domains into a netgroup." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54175 +#: book.translate.xml:54229 msgid "" "If a group contains multiple users, separate each user with whitespace. " "Additionally, each field may contain wildcards. See " @@ -76159,7 +77389,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54180 +#: book.translate.xml:54234 msgid "" "Netgroup names longer than 8 characters should not be used. The names are " "case sensitive and using capital letters for netgroup names is an easy way " @@ -76167,7 +77397,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54185 +#: book.translate.xml:54239 msgid "" "Some non-FreeBSD <acronym>NIS</acronym> clients cannot handle netgroups " "containing more than 15 entries. This limit may be circumvented by creating " @@ -76176,7 +77406,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:54191 +#: book.translate.xml:54245 #, no-wrap msgid "" "BIGGRP1 (,joe1,domain) (,joe2,domain) (,joe3,domain) [...]\n" @@ -76186,19 +77416,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54196 +#: book.translate.xml:54250 msgid "" "Repeat this process if more than 225 (15 times 15) users exist within a " "single netgroup." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54199 +#: book.translate.xml:54253 msgid "To activate and distribute the new <acronym>NIS</acronym> map:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:54202 +#: book.translate.xml:54256 #, no-wrap msgid "" "ellington<prompt>#</prompt> <userinput>cd /var/yp</userinput>\n" @@ -76206,7 +77436,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54205 +#: book.translate.xml:54259 msgid "" "This will generate the three <acronym>NIS</acronym> maps <filename>netgroup</" "filename>, <filename>netgroup.byhost</filename> and <filename>netgroup." @@ -76216,7 +77446,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:54212 +#: book.translate.xml:54266 #, no-wrap msgid "" "ellington<prompt>%</prompt> <userinput>ypcat -k netgroup</userinput>\n" @@ -76225,7 +77455,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54216 +#: book.translate.xml:54270 msgid "" "The output of the first command should resemble the contents of <filename>/" "var/yp/netgroup</filename>. The second command only produces output if host-" @@ -76234,7 +77464,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54222 +#: book.translate.xml:54276 msgid "" "To configure a client, use <citerefentry><refentrytitle>vipw</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> to specify the name of " @@ -76243,18 +77473,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54228 +#: book.translate.xml:54282 msgid "with" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:54230 +#: book.translate.xml:54284 #, no-wrap msgid "+@IT_EMP:::::::::" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54232 +#: book.translate.xml:54286 msgid "" "This specifies that only the users defined in the netgroup <literal>IT_EMP</" "literal> will be imported into this system's password database and only " @@ -76262,7 +77492,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54237 +#: book.translate.xml:54291 msgid "" "This configuration also applies to the <literal>~</literal> function of the " "shell and all routines which convert between user names and numerical user " @@ -76275,20 +77505,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:54249 +#: book.translate.xml:54303 #, no-wrap msgid "+:::::::::/sbin/nologin" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54251 +#: book.translate.xml:54305 msgid "" "This line configures the client to import all entries but to replace the " "shell in those entries with <filename>/sbin/nologin</filename>." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54256 +#: book.translate.xml:54310 msgid "" "Make sure that extra line is placed <emphasis>after</emphasis> <literal>" "+@IT_EMP:::::::::</literal>. Otherwise, all user accounts imported from " @@ -76297,14 +77527,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54263 +#: book.translate.xml:54317 msgid "" "To configure the less important servers, replace the old <literal>+:::::::::" "</literal> on the servers with these lines:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:54267 +#: book.translate.xml:54321 #, no-wrap msgid "" "+@IT_EMP:::::::::\n" @@ -76313,12 +77543,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54271 +#: book.translate.xml:54325 msgid "The corresponding lines for the workstations would be:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:54274 +#: book.translate.xml:54328 #, no-wrap msgid "" "+@IT_EMP:::::::::\n" @@ -76327,7 +77557,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54278 +#: book.translate.xml:54332 msgid "" "NIS supports the creation of netgroups from other netgroups which can be " "useful if the policy regarding user access changes. One possibility is the " @@ -76342,7 +77572,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:54291 +#: book.translate.xml:54345 #, no-wrap msgid "" "BIGSRV IT_EMP IT_APP\n" @@ -76351,7 +77581,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54295 +#: book.translate.xml:54349 msgid "" "This method of defining login restrictions works reasonably well when it is " "possible to define groups of machines with identical restrictions. " @@ -76360,7 +77590,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54302 +#: book.translate.xml:54356 msgid "" "Machine-specific netgroup definitions are another possibility to deal with " "the policy changes. In this scenario, the <filename>/etc/master.passwd</" @@ -76372,7 +77602,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:54312 +#: book.translate.xml:54366 #, no-wrap msgid "" "+@<replaceable>BOXNAME</replaceable>:::::::::\n" @@ -76380,7 +77610,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54315 +#: book.translate.xml:54369 msgid "" "Once this task is completed on all the machines, there is no longer a need " "to modify the local versions of <filename>/etc/master.passwd</filename> ever " @@ -76390,7 +77620,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:54322 +#: book.translate.xml:54376 #, no-wrap msgid "" "# Define groups of users first\n" @@ -76431,7 +77661,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54358 +#: book.translate.xml:54412 msgid "" "It may not always be advisable to use machine-based netgroups. When " "deploying a couple of dozen or hundreds of systems, role-based netgroups " @@ -76440,17 +77670,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:54367 +#: book.translate.xml:54421 msgid "Password Formats" msgstr "密碼格式" #. (itstool) path: sect2/indexterm -#: book.translate.xml:54369 +#: book.translate.xml:54423 msgid "<primary>NIS</primary> <secondary>password formats</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54373 +#: book.translate.xml:54427 msgid "" "<acronym>NIS</acronym> requires that all hosts within an <acronym>NIS</" "acronym> domain use the same format for encrypting passwords. If users have " @@ -76461,14 +77691,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54381 +#: book.translate.xml:54435 msgid "" "To check which format a server or client is using, look at this section of " "<filename>/etc/login.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:54385 +#: book.translate.xml:54439 #, no-wrap msgid "" "default:\\\n" @@ -76478,7 +77708,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54390 +#: book.translate.xml:54444 msgid "" "In this example, the system is using the <acronym>DES</acronym> format. " "Other possible values are <literal>blf</literal> for Blowfish and " @@ -76486,7 +77716,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54395 +#: book.translate.xml:54449 msgid "" "If the format on a host needs to be edited to match the one being used in " "the <acronym>NIS</acronym> domain, the login capability database must be " @@ -76494,7 +77724,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:54403 +#: book.translate.xml:54457 msgid "" "The format of passwords for existing user accounts will not be updated until " "each user changes their password <emphasis>after</emphasis> the login " @@ -76502,18 +77732,18 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:54413 +#: book.translate.xml:54467 msgid "Lightweight Directory Access Protocol (<acronym>LDAP</acronym>)" msgstr "輕量級目錄存取協定 (<acronym>LDAP</acronym>)" #. (itstool) path: sect1/indexterm #. (itstool) path: listitem/indexterm -#: book.translate.xml:54427 book.translate.xml:57311 +#: book.translate.xml:54481 book.translate.xml:57365 msgid "<primary>LDAP</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:54429 +#: book.translate.xml:54483 msgid "" "The Lightweight Directory Access Protocol (<acronym>LDAP</acronym>) is an " "application layer protocol used to access, modify, and authenticate objects " @@ -76528,7 +77758,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:54442 +#: book.translate.xml:54496 msgid "" "This section provides a quick start guide for configuring an <acronym>LDAP</" "acronym> server on a FreeBSD system. It assumes that the administrator " @@ -76539,12 +77769,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:54451 +#: book.translate.xml:54505 msgid "<acronym>LDAP</acronym> Terminology and Structure" msgstr "<acronym>LDAP</acronym> 術語與結構" #. (itstool) path: sect2/para -#: book.translate.xml:54453 +#: book.translate.xml:54507 msgid "" "<acronym>LDAP</acronym> uses several terms which should be understood before " "starting the configuration. All directory entries consist of a group of " @@ -76558,7 +77788,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54467 +#: book.translate.xml:54521 msgid "" "An example <acronym>LDAP</acronym> entry looks like the following. This " "example searches for the entry for the specified user account (<literal>uid</" @@ -76567,7 +77797,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:54473 +#: book.translate.xml:54527 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>ldapsearch -xb \"uid=<replaceable>trhodes</replaceable>,ou=<replaceable>users</replaceable>,o=<replaceable>example.com</replaceable>\"</userinput>\n" @@ -76595,7 +77825,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54496 +#: book.translate.xml:54550 msgid "" "This example entry shows the values for the <literal>dn</literal>, " "<literal>mail</literal>, <literal>cn</literal>, <literal>uid</literal>, and " @@ -76604,7 +77834,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54503 +#: book.translate.xml:54557 msgid "" "More information about <acronym>LDAP</acronym> and its terminology can be " "found at <uri xlink:href=\"http://www.openldap.org/doc/admin24/intro.html" @@ -76612,17 +77842,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:54508 +#: book.translate.xml:54562 msgid "Configuring an <acronym>LDAP</acronym> Server" msgstr "設定 <acronym>LDAP</acronym> 伺服器" #. (itstool) path: sect2/indexterm -#: book.translate.xml:54510 +#: book.translate.xml:54564 msgid "<primary>LDAP Server</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54512 +#: book.translate.xml:54566 msgid "" "FreeBSD does not provide a built-in <acronym>LDAP</acronym> server. Begin " "the configuration by installing the <package role=\"port\">net/openldap24-" @@ -76635,13 +77865,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54522 +#: book.translate.xml:54576 msgid "" "Next, create the directories to hold the data and to store the certificates:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:54525 +#: book.translate.xml:54579 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>mkdir /var/db/openldap-data</userinput>\n" @@ -76649,18 +77879,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54528 +#: book.translate.xml:54582 msgid "Copy over the database configuration file:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:54530 +#: book.translate.xml:54584 #, no-wrap msgid "<prompt>#</prompt> <userinput>cp /usr/local/etc/openldap/DB_CONFIG.example /var/db/openldap-data/DB_CONFIG</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54532 +#: book.translate.xml:54586 msgid "" "The next phase is to configure the certificate authority. The following " "commands must be executed from <filename>/usr/local/etc/openldap/private</" @@ -76670,13 +77900,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:54540 +#: book.translate.xml:54594 #, no-wrap msgid "<prompt>#</prompt> <userinput>openssl req -days <replaceable>365</replaceable> -nodes -new -x509 -keyout ca.key -out ../ca.crt</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54542 +#: book.translate.xml:54596 msgid "" "The entries for the prompts may be generic <emphasis>except</emphasis> for " "the <literal>Common Name</literal>. This entry must be <emphasis>different</" @@ -76686,40 +77916,40 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54549 +#: book.translate.xml:54603 msgid "" "The next task is to create a certificate signing request and a private key. " "Input this command and follow the prompts:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:54553 +#: book.translate.xml:54607 #, no-wrap msgid "<prompt>#</prompt> <userinput>openssl req -days <replaceable>365</replaceable> -nodes -new -keyout server.key -out server.csr</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54555 +#: book.translate.xml:54609 msgid "" "During the certificate generation process, be sure to correctly set the " "<literal>Common Name</literal> attribute. Once complete, sign the key:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:54559 +#: book.translate.xml:54613 #, no-wrap msgid "<prompt>#</prompt> <userinput>openssl x509 -req -days <replaceable>365</replaceable> -in server.csr -out ../server.crt -CA ../ca.crt -CAkey ca.key -CAcreateserial</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54561 +#: book.translate.xml:54615 msgid "" "The final part of the certificate generation process is to generate and sign " "the client certificates:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:54564 +#: book.translate.xml:54618 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>openssl req -days <replaceable>365</replaceable> -nodes -new -keyout client.key -out client.csr</userinput>\n" @@ -76727,7 +77957,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54567 +#: book.translate.xml:54621 msgid "" "Remember to use the same <literal>Common Name</literal> attribute when " "prompted. When finished, ensure that a total of eight (8) new files have " @@ -76737,7 +77967,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:54574 +#: book.translate.xml:54628 #, no-wrap msgid "" "TLSCipherSuite HIGH:MEDIUM:+SSLv3\n" @@ -76747,14 +77977,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54579 +#: book.translate.xml:54633 msgid "" "Then, edit <filename>/usr/local/etc/openldap/ldap.conf</filename> and add " "the following lines:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:54583 +#: book.translate.xml:54637 #, no-wrap msgid "" "TLS_CACERT /usr/local/etc/openldap/ca.crt\n" @@ -76762,7 +77992,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54586 +#: book.translate.xml:54640 msgid "" "While editing this file, uncomment the following entries and set them to the " "desired values: <option>BASE</option>, <option>URI</option>, " @@ -76773,7 +78003,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:54595 +#: book.translate.xml:54649 #, no-wrap msgid "" "BASE dc=example,dc=com\n" @@ -76787,18 +78017,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54604 +#: book.translate.xml:54658 msgid "The default password for the server should then be changed:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:54607 +#: book.translate.xml:54661 #, no-wrap msgid "<prompt>#</prompt> <userinput>slappasswd -h \"{SHA}\" >> /usr/local/etc/openldap/slapd.conf</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54609 +#: book.translate.xml:54663 msgid "" "This command will prompt for the password and, if the process does not fail, " "a password hash will be added to the end of <filename>slapd.conf</filename>. " @@ -76807,14 +78037,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54615 +#: book.translate.xml:54669 msgid "" "Next, edit <filename>/usr/local/etc/openldap/slapd.conf</filename> and add " "the following lines:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:54619 +#: book.translate.xml:54673 #, no-wrap msgid "" "password-hash {sha}\n" @@ -76822,7 +78052,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54622 +#: book.translate.xml:54676 msgid "" "The <option>suffix</option> in this file must be updated to match the " "<option>BASE</option> used in <filename>/usr/local/etc/openldap/ldap.conf</" @@ -76834,7 +78064,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:54633 +#: book.translate.xml:54687 #, no-wrap msgid "" "TLSCipherSuite HIGH:MEDIUM:+SSLv3\n" @@ -76845,14 +78075,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54639 +#: book.translate.xml:54693 msgid "" "Finally, enable the <application>OpenLDAP</application> service in " "<filename>/etc/rc.conf</filename> and set the <acronym>URI</acronym>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:54643 +#: book.translate.xml:54697 #, no-wrap msgid "" "slapd_enable=\"YES\"\n" @@ -76860,25 +78090,25 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54646 +#: book.translate.xml:54700 msgid "At this point the server can be started and tested:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:54648 +#: book.translate.xml:54702 #, no-wrap msgid "<prompt>#</prompt> <userinput>service slapd start</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54650 +#: book.translate.xml:54704 msgid "" "If everything is configured correctly, a search of the directory should show " "a successful connection with a single response as in this example:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:54654 +#: book.translate.xml:54708 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ldapsearch -Z</userinput>\n" @@ -76898,14 +78128,14 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:54670 +#: book.translate.xml:54724 msgid "" "If the command fails and the configuration looks correct, stop the " "<command>slapd</command> service and restart it with debugging options:" msgstr "" #. (itstool) path: note/screen -#: book.translate.xml:54674 +#: book.translate.xml:54728 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service slapd stop</userinput>\n" @@ -76913,7 +78143,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54678 +#: book.translate.xml:54732 msgid "" "Once the service is responding, the directory can be populated using " "<command>ldapadd</command>. In this example, a file containing this list of " @@ -76921,7 +78151,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:54683 +#: book.translate.xml:54737 #, no-wrap msgid "" "dn: dc=<replaceable>example</replaceable>,dc=<replaceable>com</replaceable>\n" @@ -76936,7 +78166,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54693 +#: book.translate.xml:54747 msgid "" "To import this file, specify the file name. The following command will " "prompt for the password specified earlier and the output should look " @@ -76944,7 +78174,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:54697 +#: book.translate.xml:54751 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ldapadd -Z -D \"cn=<replaceable>Manager</replaceable>,dc=<replaceable>example</replaceable>,dc=<replaceable>com</replaceable>\" -W -f <replaceable>import.ldif</replaceable></userinput>\n" @@ -76955,14 +78185,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54703 +#: book.translate.xml:54757 msgid "" "Verify the data was added by issuing a search on the server using " "<command>ldapsearch</command>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:54706 +#: book.translate.xml:54760 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>ldapsearch -Z</userinput>\n" @@ -76995,30 +78225,30 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54734 +#: book.translate.xml:54788 msgid "" "At this point, the server should be configured and functioning properly." msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:54751 +#: book.translate.xml:54805 msgid "Dynamic Host Configuration Protocol (<acronym>DHCP</acronym>)" msgstr "動態主機設定協定 (<acronym>DHCP</acronym>)" #. (itstool) path: sect1/indexterm -#: book.translate.xml:54754 +#: book.translate.xml:54808 msgid "" "<primary>Dynamic Host Configuration Protocol</primary> <see><acronym>DHCP</" "acronym></see>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:54758 +#: book.translate.xml:54812 msgid "<primary>Internet Systems Consortium (ISC)</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:54762 +#: book.translate.xml:54816 msgid "" "The Dynamic Host Configuration Protocol (<acronym>DHCP</acronym>) allows a " "system to connect to a network in order to be assigned the necessary " @@ -77033,7 +78263,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:54774 +#: book.translate.xml:54828 msgid "" "This section describes how to use the built-in <acronym>DHCP</acronym> " "client. It then describes how to install and configure a <acronym>DHCP</" @@ -77041,7 +78271,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:54779 +#: book.translate.xml:54833 msgid "" "In FreeBSD, the <citerefentry><refentrytitle>bpf</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> device is needed by " @@ -77052,19 +78282,19 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:54786 +#: book.translate.xml:54840 msgid "" "It should be noted that <filename>bpf</filename> also allows privileged " "users to run network packet sniffers on that system." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:54792 +#: book.translate.xml:54846 msgid "Configuring a <acronym>DHCP</acronym> Client" msgstr "設定 <acronym>DHCP</acronym> 客戶端" #. (itstool) path: sect2/para -#: book.translate.xml:54794 +#: book.translate.xml:54848 msgid "" "<acronym>DHCP</acronym> client support is included in the FreeBSD installer, " "making it easy to configure a newly installed system to automatically " @@ -77074,12 +78304,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:54801 +#: book.translate.xml:54855 msgid "<primary><acronym>UDP</acronym></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54802 +#: book.translate.xml:54856 msgid "" "When <command>dhclient</command> is executed on the client machine, it " "begins broadcasting requests for configuration information. By default, " @@ -77097,7 +78327,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54818 +#: book.translate.xml:54872 msgid "" "By default, when a FreeBSD system boots, its <acronym>DHCP</acronym> client " "runs in the background, or <firstterm>asynchronously</firstterm>. Other " @@ -77106,7 +78336,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54824 +#: book.translate.xml:54878 msgid "" "Background <acronym>DHCP</acronym> works well when the <acronym>DHCP</" "acronym> server responds quickly to the client's requests. However, " @@ -77119,20 +78349,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54834 +#: book.translate.xml:54888 msgid "" "This line in <filename>/etc/rc.conf</filename> is used to configure " "background or asynchronous mode:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:54837 +#: book.translate.xml:54891 #, no-wrap msgid "ifconfig_<replaceable>fxp0</replaceable>=\"DHCP\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54839 +#: book.translate.xml:54893 msgid "" "This line may already exist if the system was configured to use " "<acronym>DHCP</acronym> during installation. Replace the <replaceable>fxp0</" @@ -77142,7 +78372,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54845 +#: book.translate.xml:54899 msgid "" "To instead configure the system to use synchronous mode, and to pause during " "startup while <acronym>DHCP</acronym> completes, use " @@ -77150,13 +78380,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:54850 +#: book.translate.xml:54904 #, no-wrap msgid "ifconfig_<replaceable>fxp0</replaceable>=\"SYNCDHCP\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54852 +#: book.translate.xml:54906 msgid "" "Additional client options are available. Search for <literal>dhclient</" "literal> in <citerefentry><refentrytitle>rc.conf</" @@ -77164,24 +78394,24 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:54856 book.translate.xml:55060 +#: book.translate.xml:54910 book.translate.xml:55114 msgid "" "<primary><acronym>DHCP</acronym></primary> <secondary>configuration files</" "secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54861 +#: book.translate.xml:54915 msgid "The <acronym>DHCP</acronym> client uses the following files:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:54866 +#: book.translate.xml:54920 msgid "<filename>/etc/dhclient.conf</filename>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:54868 +#: book.translate.xml:54922 msgid "" "The configuration file used by <command>dhclient</command>. Typically, this " "file contains only comments as the defaults are suitable for most clients. " @@ -77191,12 +78421,12 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:54876 +#: book.translate.xml:54930 msgid "<filename>/sbin/dhclient</filename>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:54878 +#: book.translate.xml:54932 msgid "" "More information about the command itself can be found in " "<citerefentry><refentrytitle>dhclient</refentrytitle><manvolnum>8</" @@ -77204,12 +78434,12 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:54883 +#: book.translate.xml:54937 msgid "<filename>/sbin/dhclient-script</filename>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:54885 +#: book.translate.xml:54939 msgid "" "The FreeBSD-specific <acronym>DHCP</acronym> client configuration script. It " "is described in <citerefentry><refentrytitle>dhclient-script</" @@ -77218,14 +78448,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:54893 +#: book.translate.xml:54947 msgid "" "<filename>/var/db/dhclient.leases.<replaceable>interface</replaceable></" "filename>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:54895 +#: book.translate.xml:54949 msgid "" "The <acronym>DHCP</acronym> client keeps a database of valid leases in this " "file, which is written as a log and is described in " @@ -77234,12 +78464,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:54903 +#: book.translate.xml:54957 msgid "Installing and Configuring a <acronym>DHCP</acronym> Server" msgstr "安裝並設定 <acronym>DHCP</acronym> 伺服器" #. (itstool) path: sect2/para -#: book.translate.xml:54906 +#: book.translate.xml:54960 msgid "" "This section demonstrates how to configure a FreeBSD system to act as a " "<acronym>DHCP</acronym> server using the Internet Systems Consortium " @@ -77249,20 +78479,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:54914 +#: book.translate.xml:54968 msgid "" "<primary><acronym>DHCP</acronym></primary> <secondary>server</secondary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:54919 +#: book.translate.xml:54973 msgid "" "<primary><acronym>DHCP</acronym></primary> <secondary>installation</" "secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54924 +#: book.translate.xml:54978 msgid "" "The installation of <package>net/isc-dhcp43-server</package> installs a " "sample configuration file. Copy <filename>/usr/local/etc/dhcpd.conf.example</" @@ -77271,13 +78501,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:54931 +#: book.translate.xml:54985 msgid "" "<primary><acronym>DHCP</acronym></primary> <secondary>dhcpd.conf</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:54935 +#: book.translate.xml:54989 msgid "" "The configuration file is comprised of declarations for subnets and hosts " "which define the information that is provided to <acronym>DHCP</acronym> " @@ -77285,7 +78515,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:54940 +#: book.translate.xml:54994 #, no-wrap msgid "" "option domain-name \"example.org\";<co xml:id=\"domain-name\"/>\n" @@ -77308,7 +78538,7 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:54960 +#: book.translate.xml:55014 msgid "" "This option specifies the default search domain that will be provided to " "clients. Refer to <citerefentry><refentrytitle>resolv.conf</" @@ -77316,7 +78546,7 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:54966 +#: book.translate.xml:55020 msgid "" "This option specifies a comma separated list of <acronym>DNS</acronym> " "servers that the client should use. They can be listed by their Fully " @@ -77325,19 +78555,19 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:54974 +#: book.translate.xml:55028 msgid "The subnet mask that will be provided to clients." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:54979 +#: book.translate.xml:55033 msgid "" "The default lease expiry time in seconds. A client can be configured to " "override this value." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:54984 +#: book.translate.xml:55038 msgid "" "The maximum allowed length of time, in seconds, for a lease. Should a client " "request a longer lease, a lease will still be issued, but it will only be " @@ -77345,7 +78575,7 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:54991 +#: book.translate.xml:55045 msgid "" "The default of <option>none</option> disables dynamic DNS updates. Changing " "this to <option>interim</option> configures the <acronym>DHCP</acronym> " @@ -77357,7 +78587,7 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:55004 +#: book.translate.xml:55058 msgid "" "This line creates a pool of available <acronym>IP</acronym> addresses which " "are reserved for allocation to <acronym>DHCP</acronym> clients. The range of " @@ -77366,14 +78596,14 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:55012 +#: book.translate.xml:55066 msgid "" "Declares the default gateway that is valid for the network or subnet " "specified before the opening <literal>{</literal> bracket." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:55018 +#: book.translate.xml:55072 msgid "" "Specifies the hardware <acronym>MAC</acronym> address of a client so that " "the <acronym>DHCP</acronym> server can recognize the client when it makes a " @@ -77381,7 +78611,7 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:55024 +#: book.translate.xml:55078 msgid "" "Specifies that this host should always be given the same <acronym>IP</" "acronym> address. Using the hostname is correct, since the <acronym>DHCP</" @@ -77390,14 +78620,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:55032 +#: book.translate.xml:55086 msgid "" "This configuration file supports many more options. Refer to dhcpd.conf(5), " "installed with the server, for details and examples." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:55036 +#: book.translate.xml:55090 msgid "" "Once the configuration of <filename>dhcpd.conf</filename> is complete, " "enable the <acronym>DHCP</acronym> server in <filename>/etc/rc.conf</" @@ -77405,7 +78635,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:55040 +#: book.translate.xml:55094 #, no-wrap msgid "" "dhcpd_enable=\"YES\"\n" @@ -77413,7 +78643,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:55043 +#: book.translate.xml:55097 msgid "" "Replace the <literal>dc0</literal> with the interface (or interfaces, " "separated by whitespace) that the <acronym>DHCP</acronym> server should " @@ -77421,18 +78651,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:55048 +#: book.translate.xml:55102 msgid "Start the server by issuing the following command:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:55050 book.translate.xml:65535 +#: book.translate.xml:55104 book.translate.xml:65535 #, no-wrap msgid "<prompt>#</prompt> <userinput>service isc-dhcpd start</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:55052 +#: book.translate.xml:55106 msgid "" "Any future changes to the configuration of the server will require the " "<application>dhcpd</application> service to be stopped and then started " @@ -77441,31 +78671,31 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:55056 +#: book.translate.xml:55110 msgid "" "The <acronym>DHCP</acronym> server uses the following files. Note that the " "manual pages are installed with the server software." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55066 +#: book.translate.xml:55120 msgid "<filename>/usr/local/sbin/dhcpd</filename>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55068 +#: book.translate.xml:55122 msgid "" "More information about the <application>dhcpd</application> server can be " "found in dhcpd(8)." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55074 +#: book.translate.xml:55128 msgid "<filename>/usr/local/etc/dhcpd.conf</filename>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55076 +#: book.translate.xml:55130 msgid "" "The server configuration file needs to contain all the information that " "should be provided to clients, along with information regarding the " @@ -77474,12 +78704,12 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55083 +#: book.translate.xml:55137 msgid "<filename>/var/db/dhcpd.leases</filename>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55085 +#: book.translate.xml:55139 msgid "" "The <acronym>DHCP</acronym> server keeps a database of leases it has issued " "in this file, which is written as a log. Refer to dhcpd.leases(5), which " @@ -77487,12 +78717,12 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55092 +#: book.translate.xml:55146 msgid "<filename>/usr/local/sbin/dhcrelay</filename>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55094 +#: book.translate.xml:55148 msgid "" "This daemon is used in advanced environments where one <acronym>DHCP</" "acronym> server forwards a request from a client to another <acronym>DHCP</" @@ -77502,7 +78732,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:55132 +#: book.translate.xml:55186 msgid "" "Domain Name System (<acronym>DNS</acronym>) is the protocol through which " "domain names are mapped to <acronym>IP</acronym> addresses, and vice versa. " @@ -77514,7 +78744,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:55144 +#: book.translate.xml:55198 msgid "" "In FreeBSD 10, the Berkeley Internet Name Domain (<acronym>BIND</acronym>) " "has been removed from the base system and replaced with Unbound. Unbound as " @@ -77530,96 +78760,96 @@ msgid "" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:55155 +#: book.translate.xml:55209 msgid "<primary>resolver</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:55156 +#: book.translate.xml:55210 msgid "<primary>reverse <acronym>DNS</acronym></primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:55158 +#: book.translate.xml:55212 msgid "<primary>root zone</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:55160 +#: book.translate.xml:55214 msgid "" "The following table describes some of the terms associated with " "<acronym>DNS</acronym>:" msgstr "" #. (itstool) path: table/title -#: book.translate.xml:55164 +#: book.translate.xml:55218 msgid "<acronym>DNS</acronym> Terminology" msgstr "<acronym>DNS</acronym> 術語" #. (itstool) path: row/entry -#: book.translate.xml:55173 +#: book.translate.xml:55227 msgid "Definition" msgstr "定義" #. (itstool) path: row/entry -#: book.translate.xml:55179 +#: book.translate.xml:55233 msgid "Forward <acronym>DNS</acronym>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:55180 +#: book.translate.xml:55234 msgid "Mapping of hostnames to <acronym>IP</acronym> addresses." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:55185 +#: book.translate.xml:55239 msgid "Origin" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:55186 +#: book.translate.xml:55240 msgid "Refers to the domain covered in a particular zone file." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:55191 +#: book.translate.xml:55245 msgid "<application>named</application>, BIND" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:55192 +#: book.translate.xml:55246 msgid "Common names for the BIND name server package within FreeBSD." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:55197 +#: book.translate.xml:55251 msgid "Resolver" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:55198 +#: book.translate.xml:55252 msgid "" "A system process through which a machine queries a name server for zone " "information." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:55203 +#: book.translate.xml:55257 msgid "Reverse <acronym>DNS</acronym>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:55204 +#: book.translate.xml:55258 msgid "Mapping of <acronym>IP</acronym> addresses to hostnames." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:55209 +#: book.translate.xml:55263 msgid "Root zone" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:55211 +#: book.translate.xml:55265 msgid "" "The beginning of the Internet zone hierarchy. All zones fall under the root " "zone, similar to how all files in a file system fall under the root " @@ -77627,50 +78857,50 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:55217 +#: book.translate.xml:55271 msgid "Zone" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:55218 +#: book.translate.xml:55272 msgid "" "An individual domain, subdomain, or portion of the <acronym>DNS</acronym> " "administered by the same authority." msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:55226 +#: book.translate.xml:55280 msgid "<primary>zones</primary> <secondary>examples</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:55231 +#: book.translate.xml:55285 msgid "Examples of zones:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55235 +#: book.translate.xml:55289 msgid "" "<systemitem>.</systemitem> is how the root zone is usually referred to in " "documentation." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55240 +#: book.translate.xml:55294 msgid "" "<systemitem>org.</systemitem> is a Top Level Domain (<acronym>TLD</acronym>) " "under the root zone." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55245 +#: book.translate.xml:55299 msgid "" "<systemitem class=\"fqdomainname\">example.org.</systemitem> is a zone under " "the <systemitem>org.</systemitem> <acronym>TLD</acronym>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55251 +#: book.translate.xml:55305 msgid "" "<systemitem>1.168.192.in-addr.arpa</systemitem> is a zone referencing all " "<acronym>IP</acronym> addresses which fall under the <systemitem class=" @@ -77678,7 +78908,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:55258 +#: book.translate.xml:55312 msgid "" "As one can see, the more specific part of a hostname appears to its left. " "For example, <systemitem class=\"fqdomainname\">example.org.</systemitem> is " @@ -77689,31 +78919,31 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:55267 +#: book.translate.xml:55321 msgid "Reasons to Run a Name Server" msgstr "要執行名稱伺服器的原因" #. (itstool) path: sect2/para -#: book.translate.xml:55269 +#: book.translate.xml:55323 msgid "" "Name servers generally come in two forms: authoritative name servers, and " "caching (also known as resolving) name servers." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:55273 +#: book.translate.xml:55327 msgid "An authoritative name server is needed when:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55277 +#: book.translate.xml:55331 msgid "" "One wants to serve <acronym>DNS</acronym> information to the world, replying " "authoritatively to queries." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55282 +#: book.translate.xml:55336 msgid "" "A domain, such as <systemitem class=\"fqdomainname\">example.org</" "systemitem>, is registered and <acronym>IP</acronym> addresses need to be " @@ -77721,31 +78951,31 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55288 +#: book.translate.xml:55342 msgid "" "An <acronym>IP</acronym> address block requires reverse <acronym>DNS</" "acronym> entries (<acronym>IP</acronym> to hostname)." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55294 +#: book.translate.xml:55348 msgid "A backup or second name server, called a slave, will reply to queries." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:55299 +#: book.translate.xml:55353 msgid "A caching name server is needed when:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55303 +#: book.translate.xml:55357 msgid "" "A local <acronym>DNS</acronym> server may cache and respond more quickly " "than querying an outside name server." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:55309 +#: book.translate.xml:55363 msgid "" "When one queries for <systemitem class=\"fqdomainname\">www.FreeBSD.org</" "systemitem>, the resolver usually queries the uplink <acronym>ISP</" @@ -77757,12 +78987,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:55320 +#: book.translate.xml:55374 msgid "<acronym>DNS</acronym> Server Configuration in FreeBSD 10.0 and Later" msgstr "<acronym>DNS</acronym> 伺服器設定於 FreeBSD 10.0 及之後版本" #. (itstool) path: sect2/para -#: book.translate.xml:55323 +#: book.translate.xml:55377 msgid "" "In FreeBSD 10.0, <application>BIND</application> has been replaced with " "<application>Unbound</application>. <application>Unbound</application> is a " @@ -77771,7 +79001,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:55329 +#: book.translate.xml:55383 msgid "" "<application>Unbound</application> is provided in the FreeBSD base system. " "By default, it will provide <acronym>DNS</acronym> resolution to the local " @@ -77782,20 +79012,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:55338 +#: book.translate.xml:55392 msgid "" "To enable <application>Unbound</application>, add the following to " "<filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:55341 +#: book.translate.xml:55395 #, no-wrap msgid "local_unbound_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:55343 +#: book.translate.xml:55397 msgid "" "Any existing nameservers in <filename>/etc/resolv.conf</filename> will be " "configured as forwarders in the new <application>Unbound</application> " @@ -77803,7 +79033,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:55349 +#: book.translate.xml:55403 msgid "" "If any of the listed nameservers do not support <acronym>DNSSEC</acronym>, " "local <acronym>DNS</acronym> resolution will fail. Be sure to test each " @@ -77813,26 +79043,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:55357 +#: book.translate.xml:55411 #, no-wrap msgid "<prompt>%</prompt> <userinput>drill -S FreeBSD.org @<replaceable>192.168.1.1</replaceable></userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:55359 +#: book.translate.xml:55413 msgid "" "Once each nameserver is confirmed to support <acronym>DNSSEC</acronym>, " "start <application>Unbound</application>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:55363 +#: book.translate.xml:55417 #, no-wrap msgid "<prompt>#</prompt> <userinput>service local_unbound onestart</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:55365 +#: book.translate.xml:55419 msgid "" "This will take care of updating <filename>/etc/resolv.conf</filename> so " "that queries for <acronym>DNSSEC</acronym> secured domains will now work. " @@ -77841,7 +79071,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:55371 +#: book.translate.xml:55425 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>drill -S FreeBSD.org</userinput>\n" @@ -77866,57 +79096,57 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:55393 +#: book.translate.xml:55447 msgid "DNS Server Configuration in FreeBSD 9.<replaceable>X</replaceable>" msgstr "DNS 伺服器設定於 FreeBSD 9.<replaceable>X</replaceable>" #. (itstool) path: sect2/para -#: book.translate.xml:55396 +#: book.translate.xml:55450 msgid "In FreeBSD, the BIND daemon is called <application>named</application>." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:55410 +#: book.translate.xml:55464 msgid "" "<citerefentry><refentrytitle>named</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:55411 +#: book.translate.xml:55465 msgid "The BIND daemon." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:55415 +#: book.translate.xml:55469 msgid "" "<citerefentry><refentrytitle>rndc</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:55416 +#: book.translate.xml:55470 msgid "Name server control utility." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:55421 +#: book.translate.xml:55475 msgid "Directory where BIND zone information resides." msgstr "" #. (itstool) path: row/entry #. (itstool) path: sect4/title -#: book.translate.xml:55426 book.translate.xml:55494 +#: book.translate.xml:55480 book.translate.xml:55548 msgid "<filename>/etc/namedb/named.conf</filename>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:55427 +#: book.translate.xml:55481 msgid "Configuration file of the daemon." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:55433 +#: book.translate.xml:55487 msgid "" "Depending on how a given zone is configured on the server, the files related " "to that zone can be found in the <filename>master</filename>, " @@ -77927,23 +79157,23 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:55444 +#: book.translate.xml:55498 msgid "Starting BIND" msgstr "啟動 BIND" #. (itstool) path: sect3/indexterm -#: book.translate.xml:55446 +#: book.translate.xml:55500 msgid "<primary>BIND</primary> <secondary>starting</secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:55451 +#: book.translate.xml:55505 msgid "" "Since BIND is installed by default, configuring it is relatively simple." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:55454 +#: book.translate.xml:55508 msgid "" "The default <application>named</application> configuration is that of a " "basic resolving name server, running in a " @@ -77954,20 +79184,20 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:55461 +#: book.translate.xml:55515 #, no-wrap msgid "<prompt>#</prompt> <userinput>service named onestart</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:55463 +#: book.translate.xml:55517 msgid "" "To ensure the <application>named</application> daemon is started at boot " "each time, put the following line into the <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:55469 +#: book.translate.xml:55523 msgid "" "There are many configuration options for <filename>/etc/namedb/named.conf</" "filename> that are beyond the scope of this document. Other startup options " @@ -77979,12 +79209,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:55482 +#: book.translate.xml:55536 msgid "<primary>BIND</primary> <secondary>configuration files</secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:55487 +#: book.translate.xml:55541 msgid "" "Configuration files for <application>named</application> currently reside in " "<filename>/etc/namedb</filename> directory and will need modification before " @@ -77993,7 +79223,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:55496 +#: book.translate.xml:55550 #, no-wrap msgid "" "// $FreeBSD$\n" @@ -78030,7 +79260,7 @@ msgid "" "\tdisable-empty-zone \"0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA\";\n" "\tdisable-empty-zone \"1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA\";\n" "\n" -"// If you've got a DNS server around at your upstream provider, enter\n" +"// If you have a DNS server around at your upstream provider, enter\n" "// its IP address here, and enable the line below. This will make you\n" "// benefit from its cache, thus reduce overall DNS traffic in the Internet.\n" "/*\n" @@ -78054,7 +79284,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:55552 +#: book.translate.xml:55606 msgid "" "Just as the comment says, to benefit from an uplink's cache, " "<literal>forwarders</literal> can be enabled here. Under normal " @@ -78067,7 +79297,7 @@ msgid "" msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:55564 +#: book.translate.xml:55618 msgid "" "<systemitem class=\"ipaddress\">127.0.0.1</systemitem> will <emphasis>not</" "emphasis> work here. Change this <acronym>IP</acronym> address to a name " @@ -78075,7 +79305,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:55570 +#: book.translate.xml:55624 #, no-wrap msgid "" "\t/*\n" @@ -78094,7 +79324,7 @@ msgid "" "\t// query-source address * port NNNNN;\n" "};\n" "\n" -"// If you enable a local name server, don't forget to enter 127.0.0.1\n" +"// If you enable a local name server, do not forget to enter 127.0.0.1\n" "// first in your /etc/resolv.conf so this server will be queried.\n" "// Also, make sure to enable it in /etc/rc.conf.\n" "\n" @@ -78290,7 +79520,7 @@ msgid "" "// understand how DNS and BIND work. There are sometimes\n" "// non-obvious pitfalls. Setting up a slave zone is usually simpler.\n" "//\n" -"// NB: Don't blindly enable the examples below. :-) Use actual names\n" +"// NB: Do not blindly enable the examples below. :-) Use actual names\n" "// and addresses instead.\n" "\n" "/* An example dynamic zone\n" @@ -78319,28 +79549,28 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:55809 +#: book.translate.xml:55863 msgid "" "In <filename>named.conf</filename>, these are examples of slave entries for " "a forward and reverse zone." msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:55812 +#: book.translate.xml:55866 msgid "" "For each new zone served, a new zone entry must be added to <filename>named." "conf</filename>." msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:55815 +#: book.translate.xml:55869 msgid "" "For example, the simplest zone entry for <systemitem class=\"fqdomainname" "\">example.org</systemitem> can look like:" msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:55819 +#: book.translate.xml:55873 #, no-wrap msgid "" "zone \"example.org\" {\n" @@ -78350,7 +79580,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:55824 +#: book.translate.xml:55878 msgid "" "The zone is a master, as indicated by the <option>type</option> statement, " "holding its zone information in <filename>/etc/namedb/master/example.org</" @@ -78358,7 +79588,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:55830 +#: book.translate.xml:55884 #, no-wrap msgid "" "zone \"example.org\" {\n" @@ -78368,7 +79598,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:55835 +#: book.translate.xml:55889 msgid "" "In the slave case, the zone information is transferred from the master name " "server for the particular zone, and saved in the file specified. If and when " @@ -78377,17 +79607,17 @@ msgid "" msgstr "" #. (itstool) path: sect4/title -#: book.translate.xml:55844 +#: book.translate.xml:55898 msgid "Zone Files" msgstr "" #. (itstool) path: sect4/indexterm -#: book.translate.xml:55846 +#: book.translate.xml:55900 msgid "<primary>BIND</primary> <secondary>zone files</secondary>" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:55851 +#: book.translate.xml:55905 msgid "" "An example master zone file for <systemitem class=\"fqdomainname\">example." "org</systemitem> (existing within <filename>/etc/namedb/master/example.org</" @@ -78395,7 +79625,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:55857 +#: book.translate.xml:55911 #, no-wrap msgid "" "$TTL 3600 ; 1 hour default TTL\n" @@ -78429,7 +79659,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:55886 +#: book.translate.xml:55940 msgid "" "Note that every hostname ending in a <quote>.</quote> is an exact hostname, " "whereas everything without a trailing <quote>.</quote> is relative to the " @@ -78438,90 +79668,90 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:55892 +#: book.translate.xml:55946 msgid "The format of a zone file follows:" msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:55894 +#: book.translate.xml:55948 #, no-wrap msgid "recordname IN recordtype value" msgstr "" #. (itstool) path: sect4/indexterm -#: book.translate.xml:55896 +#: book.translate.xml:55950 msgid "" "<primary><acronym>DNS</acronym></primary> <secondary>records</secondary>" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:55901 +#: book.translate.xml:55955 msgid "The most commonly used <acronym>DNS</acronym> records:" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:55906 +#: book.translate.xml:55960 msgid "SOA" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55909 +#: book.translate.xml:55963 msgid "start of zone authority" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:55914 +#: book.translate.xml:55968 msgid "NS" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55917 +#: book.translate.xml:55971 msgid "an authoritative name server" msgstr "" #. (itstool) path: varlistentry/term #. (itstool) path: glossdiv/title -#: book.translate.xml:55922 book.translate.xml:65535 +#: book.translate.xml:55976 book.translate.xml:65535 msgid "A" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55925 +#: book.translate.xml:55979 msgid "a host address" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:55930 +#: book.translate.xml:55984 msgid "CNAME" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55933 +#: book.translate.xml:55987 msgid "the canonical name for an alias" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:55938 +#: book.translate.xml:55992 msgid "MX" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55941 +#: book.translate.xml:55995 msgid "mail exchanger" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:55946 +#: book.translate.xml:56000 msgid "PTR" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55949 +#: book.translate.xml:56003 msgid "a domain name pointer (used in reverse <acronym>DNS</acronym>)" msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:55955 +#: book.translate.xml:56009 #, no-wrap msgid "" "example.org. IN SOA ns1.example.org. admin.example.org. (\n" @@ -78533,32 +79763,32 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:55964 +#: book.translate.xml:56018 msgid "<systemitem class=\"fqdomainname\">example.org.</systemitem>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55967 +#: book.translate.xml:56021 msgid "the domain name, also the origin for this zone file." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:55973 +#: book.translate.xml:56027 msgid "<systemitem class=\"fqdomainname\">ns1.example.org.</systemitem>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55976 +#: book.translate.xml:56030 msgid "the primary/authoritative name server for this zone." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:55982 +#: book.translate.xml:56036 msgid "<literal>admin.example.org.</literal>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55985 +#: book.translate.xml:56039 msgid "" "the responsible person for this zone, email address with <quote>@</quote> " "replaced. (<email>admin@example.org</email> becomes <literal>admin.example." @@ -78566,12 +79796,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:55993 +#: book.translate.xml:56047 msgid "<literal>2006051501</literal>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:55996 +#: book.translate.xml:56050 msgid "" "the serial number of the file. This must be incremented each time the zone " "file is modified. Nowadays, many admins prefer a <literal>yyyymmddrr</" @@ -78582,20 +79812,20 @@ msgid "" msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:56010 +#: book.translate.xml:56064 #, no-wrap msgid " IN NS ns1.example.org." msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56012 +#: book.translate.xml:56066 msgid "" "This is an NS entry. Every name server that is going to reply " "authoritatively for the zone must have one of these entries." msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:56016 +#: book.translate.xml:56070 #, no-wrap msgid "" "localhost IN A 127.0.0.1\n" @@ -78606,7 +79836,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56022 +#: book.translate.xml:56076 msgid "" "The A record indicates machine names. As seen above, <systemitem class=" "\"fqdomainname\">ns1.example.org</systemitem> would resolve to <systemitem " @@ -78614,13 +79844,13 @@ msgid "" msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:56026 +#: book.translate.xml:56080 #, no-wrap msgid " IN A 192.168.1.1" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56028 +#: book.translate.xml:56082 msgid "" "This line assigns <acronym>IP</acronym> address <systemitem class=\"ipaddress" "\">192.168.1.1</systemitem> to the current origin, in this case <systemitem " @@ -78628,13 +79858,13 @@ msgid "" msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:56032 +#: book.translate.xml:56086 #, no-wrap msgid "www IN CNAME @" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56034 +#: book.translate.xml:56088 msgid "" "The canonical name record is usually used for giving aliases to a machine. " "In the example, <systemitem>www</systemitem> is aliased to the " @@ -78645,13 +79875,13 @@ msgid "" msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:56048 +#: book.translate.xml:56102 #, no-wrap msgid " IN MX 10 mail.example.org." msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56050 +#: book.translate.xml:56104 msgid "" "The MX record indicates which mail servers are responsible for handling " "incoming mail for the zone. <systemitem class=\"fqdomainname\">mail.example." @@ -78660,7 +79890,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56056 +#: book.translate.xml:56110 msgid "" "One can have several mail servers, with priorities of 10, 20 and so on. A " "mail server attempting to deliver to <systemitem class=\"fqdomainname" @@ -78670,14 +79900,14 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56063 +#: book.translate.xml:56117 msgid "" "For in-addr.arpa zone files (reverse <acronym>DNS</acronym>), the same " "format is used, except with PTR entries instead of A or CNAME." msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:56067 +#: book.translate.xml:56121 #, no-wrap msgid "" "$TTL 3600\n" @@ -78700,31 +79930,31 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56085 +#: book.translate.xml:56139 msgid "" "This file gives the proper <acronym>IP</acronym> address to hostname " "mappings for the above fictitious domain." msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56089 +#: book.translate.xml:56143 msgid "" "It is worth noting that all names on the right side of a PTR record need to " "be fully qualified (i.e., end in a <quote>.</quote>)." msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:56096 +#: book.translate.xml:56150 msgid "Caching Name Server" msgstr "快取名稱伺服器" #. (itstool) path: sect3/indexterm -#: book.translate.xml:56098 +#: book.translate.xml:56152 msgid "<primary>BIND</primary> <secondary>caching name server</secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:56103 +#: book.translate.xml:56157 msgid "" "A caching name server is a name server whose primary role is to resolve " "recursive queries. It simply asks queries of its own, and remembers the " @@ -78732,19 +79962,19 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:56110 +#: book.translate.xml:56164 msgid "<acronym role=\"Domain Name Security Extensions\">DNSSEC</acronym>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:56112 +#: book.translate.xml:56166 msgid "" "<primary>BIND</primary> <secondary><acronym>DNS</acronym> security " "extensions</secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:56118 +#: book.translate.xml:56172 msgid "" "Domain Name System Security Extensions, or <acronym role=\"Domain Name " "Security Extensions\">DNSSEC</acronym> for short, is a suite of " @@ -78766,7 +79996,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:56140 +#: book.translate.xml:56194 msgid "" "The following sections will demonstrate how to enable <acronym>DNSSEC</" "acronym> for an authoritative <acronym>DNS</acronym> server and a recursive " @@ -78784,12 +80014,12 @@ msgid "" msgstr "" #. (itstool) path: sect4/title -#: book.translate.xml:56159 +#: book.translate.xml:56213 msgid "Recursive <acronym>DNS</acronym> Server Configuration" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56162 +#: book.translate.xml:56216 msgid "" "Enabling <acronym>DNSSEC</acronym> validation of queries performed by a " "recursive <acronym>DNS</acronym> server requires a few changes to " @@ -78802,20 +80032,20 @@ msgid "" msgstr "" #. (itstool) path: sect4/screen -#: book.translate.xml:56174 +#: book.translate.xml:56228 #, no-wrap msgid "<prompt>%</prompt> <userinput>dig +multi +noall +answer DNSKEY . > root.dnskey</userinput>" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56176 +#: book.translate.xml:56230 msgid "" "the key will end up in <filename>root.dnskey</filename>. The contents should " "look something like this:" msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:56180 +#: book.translate.xml:56234 #, no-wrap msgid "" ". 93910 IN DNSKEY 257 3 8 (\n" @@ -78837,7 +80067,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56197 +#: book.translate.xml:56251 msgid "" "Do not be alarmed if the obtained keys differ from this example. They might " "have changed since these instructions were last updated. This output " @@ -78852,7 +80082,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56212 +#: book.translate.xml:56266 msgid "" "Now the key must be verified and formatted so that <acronym>BIND</acronym> " "can use it. To verify the key, generate a <acronym role=\"Delegation Signer" @@ -78861,20 +80091,20 @@ msgid "" msgstr "" #. (itstool) path: sect4/screen -#: book.translate.xml:56219 +#: book.translate.xml:56273 #, no-wrap msgid "<prompt>%</prompt> <userinput>dnssec-dsfromkey -f root.dnskey . > root.ds</userinput>" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56221 +#: book.translate.xml:56275 msgid "" "These records use SHA-1 and SHA-256 respectively, and should look similar to " "the following example, where the longer is using SHA-256." msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:56225 +#: book.translate.xml:56279 #, no-wrap msgid "" ". IN DS 19036 8 1\n" @@ -78883,7 +80113,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56229 +#: book.translate.xml:56283 msgid "" "The SHA-256 <acronym>RR</acronym> can now be compared to the digest in <link " "xlink:href=\"https://data.iana.org/root-anchors/root-anchors.xml\">https://" @@ -78895,7 +80125,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56236 +#: book.translate.xml:56290 msgid "" "Next, the key must be formatted properly. This differs a little between " "<acronym>BIND</acronym> versions 9.6.2 and 9.7 and later. In version 9.7 " @@ -78907,7 +80137,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:56248 +#: book.translate.xml:56302 #, no-wrap msgid "" "trusted-keys {\n" @@ -78923,12 +80153,12 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56259 +#: book.translate.xml:56313 msgid "For 9.7 the format will instead be:" msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:56261 +#: book.translate.xml:56315 #, no-wrap msgid "" "managed-keys {\n" @@ -78944,7 +80174,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56272 +#: book.translate.xml:56326 msgid "" "The root key can now be added to <filename>named.conf</filename> either " "directly or by including a file containing the key. After these steps, " @@ -78954,7 +80184,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:56280 +#: book.translate.xml:56334 #, no-wrap msgid "" "dnssec-enable yes;\n" @@ -78962,7 +80192,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56283 +#: book.translate.xml:56337 msgid "" "To verify that it is actually working use <application>dig</application> to " "make a query for a signed zone using the resolver just configured. A " @@ -78971,13 +80201,13 @@ msgid "" msgstr "" #. (itstool) path: sect4/screen -#: book.translate.xml:56290 +#: book.translate.xml:56344 #, no-wrap msgid "<prompt>%</prompt> <userinput>dig @<replaceable>resolver</replaceable> +dnssec se ds </userinput>" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56292 +#: book.translate.xml:56346 msgid "" "should return the <acronym>DS</acronym> <acronym>RR</acronym> for the " "<literal>.se</literal> zone. In the <literal>flags:</literal> section the " @@ -78985,7 +80215,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:56298 +#: book.translate.xml:56352 #, no-wrap msgid "" "...\n" @@ -78994,18 +80224,18 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56302 +#: book.translate.xml:56356 msgid "" "The resolver is now capable of authenticating <acronym>DNS</acronym> queries." msgstr "" #. (itstool) path: sect4/title -#: book.translate.xml:56307 +#: book.translate.xml:56361 msgid "Authoritative <acronym>DNS</acronym> Server Configuration" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56310 +#: book.translate.xml:56364 msgid "" "In order to get an authoritative name server to serve a <acronym>DNSSEC</" "acronym> signed zone a little more work is required. A zone is signed using " @@ -79034,7 +80264,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56341 +#: book.translate.xml:56395 msgid "" "To enable <acronym>DNSSEC</acronym> for the <systemitem class=\"fqdomainname" "\">example.com</systemitem> zone depicted in previous examples, the first " @@ -79047,24 +80277,24 @@ msgid "" msgstr "" #. (itstool) path: sect4/screen -#: book.translate.xml:56353 +#: book.translate.xml:56407 #, no-wrap msgid "<prompt>%</prompt> <userinput>dnssec-keygen -f KSK -a RSASHA256 -b 2048 -n ZONE example.com</userinput>" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56355 +#: book.translate.xml:56409 msgid "and to generate the <acronym>ZSK</acronym>, run" msgstr "" #. (itstool) path: sect4/screen -#: book.translate.xml:56357 +#: book.translate.xml:56411 #, no-wrap msgid "<prompt>%</prompt> <userinput>dnssec-keygen -a RSASHA256 -b 2048 -n ZONE example.com</userinput>" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56359 +#: book.translate.xml:56413 msgid "" "<application>dnssec-keygen</application> outputs two files, the public and " "the private keys in files named similar to <filename>Kexample.com.+005+nnnnn." @@ -79076,7 +80306,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/screen -#: book.translate.xml:56371 +#: book.translate.xml:56425 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>mv Kexample.com.+005+nnnnn.key Kexample.com.+005+nnnnn.KSK.key</userinput>\n" @@ -79084,7 +80314,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56374 +#: book.translate.xml:56428 msgid "" "For the <acronym>ZSK</acronym> files, substitute <literal>KSK</literal> for " "<literal>ZSK</literal> as necessary. The files can now be included in the " @@ -79093,7 +80323,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:56380 +#: book.translate.xml:56434 #, no-wrap msgid "" "$include Kexample.com.+005+nnnnn.KSK.key ; KSK\n" @@ -79101,7 +80331,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56383 +#: book.translate.xml:56437 msgid "" "Finally, sign the zone and tell <acronym>BIND</acronym> to use the signed " "zone file. To sign a zone <application>dnssec-signzone</application> is " @@ -79111,7 +80341,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/screen -#: book.translate.xml:56391 +#: book.translate.xml:56445 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>dnssec-signzone -o\n" @@ -79120,7 +80350,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56395 +#: book.translate.xml:56449 msgid "" "The key supplied to the <option>-k</option> argument is the <acronym>KSK</" "acronym> and the other key file is the <acronym>ZSK</acronym> that should be " @@ -79142,7 +80372,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56420 +#: book.translate.xml:56474 msgid "" "Be sure to keep private keys confidential, as with all cryptographic keys. " "When changing a key it is best to include the new key into the zone, while " @@ -79157,12 +80387,12 @@ msgid "" msgstr "" #. (itstool) path: sect4/title -#: book.translate.xml:56436 +#: book.translate.xml:56490 msgid "Automation Using <acronym>BIND</acronym> 9.7 or Later" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56439 +#: book.translate.xml:56493 msgid "" "Beginning with <acronym>BIND</acronym> version 9.7 a new feature called " "<emphasis>Smart Signing</emphasis> was introduced. This feature aims to make " @@ -79180,7 +80410,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:56456 +#: book.translate.xml:56510 #, no-wrap msgid "" "zone example.com {\n" @@ -79193,7 +80423,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:56464 +#: book.translate.xml:56518 msgid "" "After making these changes, generate keys for the zone as explained in <xref " "linkend=\"dns-dnssec-auth\"/>, put those keys in the key repository given as " @@ -79206,7 +80436,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:56480 +#: book.translate.xml:56534 msgid "" "Although BIND is the most common implementation of <acronym>DNS</acronym>, " "there is always the issue of security. Possible and exploitable security " @@ -79214,7 +80444,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:56485 +#: book.translate.xml:56539 msgid "" "While FreeBSD automatically drops <application>named</application> into a " "<citerefentry><refentrytitle>chroot</refentrytitle><manvolnum>8</manvolnum></" @@ -79224,7 +80454,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:56491 +#: book.translate.xml:56545 msgid "" "It is always good idea to read <link xlink:href=\"http://www.cert.org/" "\">CERT</link>'s security advisories and to subscribe to the <link xlink:" @@ -79234,19 +80464,19 @@ msgid "" msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:56498 +#: book.translate.xml:56552 msgid "" "If a problem arises, keeping sources up to date and having a fresh build of " "<application>named</application> may help." msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:56505 +#: book.translate.xml:56559 msgid "Further Reading" msgstr "延伸閱讀" #. (itstool) path: sect3/para -#: book.translate.xml:56507 +#: book.translate.xml:56561 msgid "" "BIND/<application>named</application> manual pages: " "<citerefentry><refentrytitle>rndc</refentrytitle><manvolnum>8</manvolnum></" @@ -79261,35 +80491,35 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:56514 +#: book.translate.xml:56568 msgid "" "<link xlink:href=\"https://www.isc.org/software/bind\">Official ISC BIND " "Page</link>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:56519 +#: book.translate.xml:56573 msgid "" "<link xlink:href=\"https://www.isc.org/software/guild\">Official ISC BIND " "Forum</link>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:56524 +#: book.translate.xml:56578 msgid "" "<link xlink:href=\"http://www.oreilly.com/catalog/dns5/\">O'Reilly " "<acronym>DNS</acronym> and BIND 5th Edition</link>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:56530 +#: book.translate.xml:56584 msgid "" "<link xlink:href=\"http://www.root-dnssec.org/documentation/\">Root " "<acronym>DNSSEC</acronym></link>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:56535 +#: book.translate.xml:56589 msgid "" "<link xlink:href=\"http://data.iana.org/root-anchors/draft-icann-dnssec-" "trust-anchor.html\"><acronym>DNSSEC</acronym> Trust Anchor Publication for " @@ -79297,49 +80527,49 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:56541 +#: book.translate.xml:56595 msgid "" "<link xlink:href=\"http://tools.ietf.org/html/rfc1034\">RFC1034 - Domain " "Names - Concepts and Facilities</link>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:56546 +#: book.translate.xml:56600 msgid "" "<link xlink:href=\"http://tools.ietf.org/html/rfc1035\">RFC1035 - Domain " "Names - Implementation and Specification</link>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:56552 +#: book.translate.xml:56606 msgid "" "<link xlink:href=\"http://tools.ietf.org/html/rfc4033\">RFC4033 - " "<acronym>DNS</acronym> Security Introduction and Requirements</link>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:56558 +#: book.translate.xml:56612 msgid "" "<link xlink:href=\"http://tools.ietf.org/html/rfc4034\">RFC4034 - Resource " "Records for the <acronym>DNS</acronym> Security Extensions</link>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:56564 +#: book.translate.xml:56618 msgid "" "<link xlink:href=\"http://tools.ietf.org/html/rfc4035\">RFC4035 - Protocol " "Modifications for the <acronym>DNS</acronym> Security Extensions</link>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:56571 +#: book.translate.xml:56625 msgid "" "<link xlink:href=\"http://tools.ietf.org/html/rfc4641\">RFC4641 - DNSSEC " "Operational Practices</link>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:56576 +#: book.translate.xml:56630 msgid "" "<link xlink:href=\"http://tools.ietf.org/html/rfc5011\">RFC 5011 - Automated " "Updates of <acronym>DNS</acronym> Security (<acronym>DNSSEC</acronym> Trust " @@ -79347,17 +80577,17 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:56588 +#: book.translate.xml:56642 msgid "Apache HTTP Server" msgstr "Apache HTTP 伺服器" #. (itstool) path: sect1/indexterm -#: book.translate.xml:56601 +#: book.translate.xml:56655 msgid "<primary>web servers</primary> <secondary>setting up</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:56605 +#: book.translate.xml:56659 msgid "" "The open source <application>Apache HTTP Server</application> is the most " "widely used web server. FreeBSD does not install this web server by default, " @@ -79366,7 +80596,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:56611 +#: book.translate.xml:56665 msgid "" "This section summarizes how to configure and start version 2.<replaceable>x</" "replaceable> of the <application>Apache HTTP Server</application> on " @@ -79376,17 +80606,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:56618 +#: book.translate.xml:56672 msgid "Configuring and Starting Apache" msgstr "設定並啟動 Apache" #. (itstool) path: sect2/indexterm -#: book.translate.xml:56620 +#: book.translate.xml:56674 msgid "<primary>Apache</primary> <secondary>configuration file</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:56623 +#: book.translate.xml:56677 msgid "" "In FreeBSD, the main <application>Apache HTTP Server</application> " "configuration file is installed as <filename>/usr/local/etc/" @@ -79397,12 +80627,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:56633 +#: book.translate.xml:56687 msgid "<literal>ServerRoot \"/usr/local\"</literal>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:56636 +#: book.translate.xml:56690 msgid "" "Specifies the default directory hierarchy for the <application>Apache</" "application> installation. Binaries are stored in the <filename>bin</" @@ -79412,24 +80642,24 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:56646 +#: book.translate.xml:56700 msgid "<literal>ServerAdmin you@example.com</literal>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:56649 +#: book.translate.xml:56703 msgid "" "Change this to the email address to receive problems with the server. This " "address also appears on some server-generated pages, such as error documents." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:56656 +#: book.translate.xml:56710 msgid "<literal>ServerName www.example.com:80</literal>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:56660 +#: book.translate.xml:56714 msgid "" "Allows an administrator to set a hostname which is sent back to clients for " "the server. For example, <systemitem>www</systemitem> can be used instead of " @@ -79440,14 +80670,14 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:56673 +#: book.translate.xml:56727 msgid "" "<literal>DocumentRoot \"/usr/local/www/apache2<replaceable>x</replaceable>/" "data\"</literal>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:56677 +#: book.translate.xml:56731 msgid "" "The directory where documents will be served from. By default, all requests " "are taken from this directory, but symbolic links and aliases may be used to " @@ -79455,7 +80685,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:56685 +#: book.translate.xml:56739 msgid "" "It is always a good idea to make a backup copy of the default " "<application>Apache</application> configuration file before making changes. " @@ -79466,25 +80696,25 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:56694 +#: book.translate.xml:56748 msgid "<primary>Apache</primary> <secondary>starting or stopping</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:56697 +#: book.translate.xml:56751 msgid "" "To launch <application>Apache</application> at system startup, add the " "following line to <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:56701 +#: book.translate.xml:56755 #, no-wrap msgid "apache<replaceable>24</replaceable>_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:56703 +#: book.translate.xml:56757 msgid "" "If <application>Apache</application> should be started with non-default " "options, the following line may be added to <filename>/etc/rc.conf</" @@ -79492,26 +80722,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:56708 +#: book.translate.xml:56762 #, no-wrap msgid "apache<replaceable>24</replaceable>_flags=\"\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:56710 +#: book.translate.xml:56764 msgid "" "If <application>apachectl</application> does not report configuration " "errors, start <command>httpd</command> now:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:56714 +#: book.translate.xml:56768 #, no-wrap msgid "<prompt>#</prompt> <userinput>service apache<replaceable>24</replaceable> start</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:56716 +#: book.translate.xml:56770 msgid "" "The <command>httpd</command> service can be tested by entering " "<literal>http://<replaceable>localhost</replaceable></literal> in a web " @@ -79522,7 +80752,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:56725 +#: book.translate.xml:56779 msgid "" "The <application>Apache</application> configuration can be tested for errors " "after making subsequent configuration changes while <command>httpd</command> " @@ -79530,13 +80760,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:56730 +#: book.translate.xml:56784 #, no-wrap msgid "<prompt>#</prompt> <userinput>service apache<replaceable>24</replaceable> configtest</userinput>" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:56733 +#: book.translate.xml:56787 msgid "" "It is important to note that <literal>configtest</literal> is not an " "<citerefentry><refentrytitle>rc</refentrytitle><manvolnum>8</manvolnum></" @@ -79545,12 +80775,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:56741 +#: book.translate.xml:56795 msgid "Virtual Hosting" msgstr "虛擬主機" #. (itstool) path: sect2/para -#: book.translate.xml:56743 +#: book.translate.xml:56797 msgid "" "Virtual hosting allows multiple websites to run on one <application>Apache</" "application> server. The virtual hosts can be <firstterm>IP-based</" @@ -79562,7 +80792,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:56753 +#: book.translate.xml:56807 msgid "" "To setup <application>Apache</application> to use name-based virtual " "hosting, add a <literal>VirtualHost</literal> block for each website. For " @@ -79573,7 +80803,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:56761 +#: book.translate.xml:56815 #, no-wrap msgid "" "<VirtualHost *>\n" @@ -79588,14 +80818,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:56771 +#: book.translate.xml:56825 msgid "" "For each virtual host, replace the values for <literal>ServerName</literal> " "and <literal>DocumentRoot</literal> with the values to be used." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:56776 +#: book.translate.xml:56830 msgid "" "For more information about setting up virtual hosts, consult the official " "<application>Apache</application> documentation at: <uri xlink:href=\"http://" @@ -79603,17 +80833,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:56782 +#: book.translate.xml:56836 msgid "Apache Modules" msgstr "Apache 模組" #. (itstool) path: sect2/indexterm -#: book.translate.xml:56784 +#: book.translate.xml:56838 msgid "<primary>Apache</primary> <secondary>modules</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:56787 +#: book.translate.xml:56841 msgid "" "<application>Apache</application> uses modules to augment the functionality " "provided by the basic server. Refer to <uri xlink:href=\"http://httpd.apache." @@ -79623,7 +80853,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:56792 +#: book.translate.xml:56846 msgid "" "In FreeBSD, some modules can be compiled with the <package>www/apache24</" "package> port. Type <command>make config</command> within <filename>/usr/" @@ -79634,27 +80864,27 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:56803 +#: book.translate.xml:56857 msgid "<filename>mod_ssl</filename>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:56805 +#: book.translate.xml:56859 msgid "<primary>web servers</primary> <secondary>secure</secondary>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:56809 +#: book.translate.xml:56863 msgid "<primary>SSL</primary>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:56810 +#: book.translate.xml:56864 msgid "<primary>cryptography</primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:56812 +#: book.translate.xml:56866 msgid "" "The <filename>mod_ssl</filename> module uses the <application>OpenSSL</" "application> library to provide strong cryptography via the Secure Sockets " @@ -79665,7 +80895,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:56821 +#: book.translate.xml:56875 msgid "" "In FreeBSD, <filename>mod_ssl</filename> module is enabled by default in " "both the package and the port. The available configuration directives are " @@ -79674,17 +80904,17 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:56827 +#: book.translate.xml:56881 msgid "<filename>mod_perl</filename>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:56829 +#: book.translate.xml:56883 msgid "<primary>mod_perl</primary> <secondary>Perl</secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:56834 +#: book.translate.xml:56888 msgid "" "The <filename>mod_perl</filename> module makes it possible to write " "<application>Apache</application> modules in <application>Perl</" @@ -79694,7 +80924,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:56842 +#: book.translate.xml:56896 msgid "" "The <filename>mod_perl</filename> can be installed using the <package>www/" "mod_perl2</package> package or port. Documentation for using this module can " @@ -79703,17 +80933,17 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:56849 +#: book.translate.xml:56903 msgid "<filename>mod_php</filename>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:56862 +#: book.translate.xml:56916 msgid "<primary>mod_php</primary> <secondary>PHP</secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:56867 +#: book.translate.xml:56921 msgid "" "<firstterm>PHP: Hypertext Preprocessor</firstterm> (<acronym>PHP</acronym>) " "is a general-purpose scripting language that is especially suited for web " @@ -79724,7 +80954,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:56876 +#: book.translate.xml:56930 msgid "" "To gain support for <acronym>PHP</acronym>5 for the <application>Apache</" "application> web server, install the <package>www/mod_php56</package> " @@ -79735,25 +80965,25 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:56884 +#: book.translate.xml:56938 #, no-wrap msgid "LoadModule php5_module libexec/apache24/libphp5.so" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:56899 +#: book.translate.xml:56953 msgid "" "Then, perform a graceful restart to load the <acronym>PHP</acronym> module:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:56902 book.translate.xml:56921 +#: book.translate.xml:56956 book.translate.xml:56975 #, no-wrap msgid "<prompt>#</prompt> <userinput>apachectl graceful</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:56904 +#: book.translate.xml:56958 msgid "" "The <acronym>PHP</acronym> support provided by <package>www/mod_php56</" "package> is limited. Additional support can be installed using the " @@ -79762,7 +80992,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:56911 +#: book.translate.xml:56965 msgid "" "Alternatively, individual extensions can be installed using the appropriate " "port. For instance, to add <acronym>PHP</acronym> support for the " @@ -79771,24 +81001,24 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:56917 +#: book.translate.xml:56971 msgid "" "After installing an extension, the <application>Apache</application> server " "must be reloaded to pick up the new configuration changes:" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:56926 +#: book.translate.xml:56980 msgid "Dynamic Websites" msgstr "動態網站" #. (itstool) path: sect2/indexterm -#: book.translate.xml:56928 +#: book.translate.xml:56982 msgid "<primary>web servers</primary> <secondary>dynamic</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:56933 +#: book.translate.xml:56987 msgid "" "In addition to <application>mod_perl</application> and <application>mod_php</" "application>, other languages are available for creating dynamic web " @@ -79797,22 +81027,22 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:56940 +#: book.translate.xml:56994 msgid "Django" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:56942 +#: book.translate.xml:56996 msgid "<primary>Python</primary>" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:56943 +#: book.translate.xml:56997 msgid "<primary>Django</primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:56945 +#: book.translate.xml:56999 msgid "" "<application>Django</application> is a BSD-licensed framework designed to " "allow developers to write high performance, elegant web applications " @@ -79825,7 +81055,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:56957 +#: book.translate.xml:57011 msgid "" "Django depends on <filename>mod_python</filename>, and an <acronym>SQL</" "acronym> database engine. In FreeBSD, the <package>www/py-django</package> " @@ -79838,7 +81068,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:56969 +#: book.translate.xml:57023 msgid "" "Once <application>Django</application> is installed, the application will " "need a project directory along with the <application>Apache</application> " @@ -79848,7 +81078,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:56977 +#: book.translate.xml:57031 msgid "" "To configure <application>Apache</application> to pass requests for certain " "<acronym>URL</acronym>s to the web application, add the following to " @@ -79857,7 +81087,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:56983 +#: book.translate.xml:57037 #, no-wrap msgid "" "<Location \"/\">\n" @@ -79871,7 +81101,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:56992 +#: book.translate.xml:57046 msgid "" "Refer to <uri xlink:href=\"https://docs.djangoproject.com\">https://docs." "djangoproject.com</uri> for more information on how to use " @@ -79879,17 +81109,17 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:56998 +#: book.translate.xml:57052 msgid "Ruby on Rails" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:57000 +#: book.translate.xml:57054 msgid "<primary>Ruby on Rails</primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:57002 +#: book.translate.xml:57056 msgid "" "<application>Ruby on Rails</application> is another open source web " "framework that provides a full development stack. It is optimized to make " @@ -79899,7 +81129,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:57009 +#: book.translate.xml:57063 msgid "" "Refer to <uri xlink:href=\"http://guides.rubyonrails.org\">http://guides." "rubyonrails.org</uri> for more information on how to use <application>Ruby " @@ -79907,17 +81137,17 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:57028 +#: book.translate.xml:57082 msgid "File Transfer Protocol (<acronym>FTP</acronym>)" msgstr "檔案傳輸協定 (<acronym>FTP</acronym>)" #. (itstool) path: sect1/indexterm -#: book.translate.xml:57030 +#: book.translate.xml:57084 msgid "<primary><acronym>FTP</acronym> servers</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:57033 +#: book.translate.xml:57087 msgid "" "The File Transfer Protocol (<acronym>FTP</acronym>) provides users with a " "simple way to transfer files to and from an <acronym>FTP</acronym> server. " @@ -79926,7 +81156,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:57039 +#: book.translate.xml:57093 msgid "" "FreeBSD provides several configuration files for controlling access to the " "<acronym>FTP</acronym> server. This section summarizes these files. Refer to " @@ -79936,7 +81166,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57047 +#: book.translate.xml:57101 msgid "" "The most important configuration step is deciding which accounts will be " "allowed access to the <acronym>FTP</acronym> server. A FreeBSD system has a " @@ -79948,7 +81178,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57056 +#: book.translate.xml:57110 msgid "" "In some cases it may be desirable to restrict the access of some users " "without preventing them completely from using <acronym>FTP</acronym>. This " @@ -79959,13 +81189,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:57063 book.translate.xml:57121 +#: book.translate.xml:57117 book.translate.xml:57175 msgid "" "<primary><acronym>FTP</acronym></primary> <secondary>anonymous</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57068 +#: book.translate.xml:57122 msgid "" "To enable anonymous <acronym>FTP</acronym> access to the server, create a " "user named <systemitem class=\"username\">ftp</systemitem> on the FreeBSD " @@ -79980,7 +81210,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57079 +#: book.translate.xml:57133 msgid "" "There are two text files that can be created to specify welcome messages to " "be displayed to <acronym>FTP</acronym> clients. The contents of <filename>/" @@ -79992,7 +81222,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57091 +#: book.translate.xml:57145 msgid "" "Once the <acronym>FTP</acronym> server has been configured, set the " "appropriate variable in <filename>/etc/rc.conf</filename> to start the " @@ -80000,41 +81230,41 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:57096 +#: book.translate.xml:57150 #, no-wrap msgid "ftpd_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57098 +#: book.translate.xml:57152 msgid "To start the service now:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:57100 +#: book.translate.xml:57154 #, no-wrap msgid "<prompt>#</prompt> <userinput>service ftpd start</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57102 +#: book.translate.xml:57156 msgid "Test the connection to the <acronym>FTP</acronym> server by typing:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:57105 +#: book.translate.xml:57159 #, no-wrap msgid "<prompt>%</prompt> <userinput>ftp localhost</userinput>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:57108 +#: book.translate.xml:57162 msgid "" "<primary>log files</primary> <secondary><acronym>FTP</acronym></secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57111 +#: book.translate.xml:57165 msgid "" "The <application>ftpd</application> daemon uses " "<citerefentry><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></" @@ -80045,25 +81275,25 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:57119 +#: book.translate.xml:57173 #, no-wrap msgid "ftp.info /var/log/xferlog" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:57127 +#: book.translate.xml:57181 msgid "" "Be aware of the potential problems involved with running an anonymous " "<acronym>FTP</acronym> server. In particular, think twice about allowing " "anonymous users to upload files. It may turn out that the <acronym>FTP</" "acronym> site becomes a forum for the trade of unlicensed commercial " "software or worse. If anonymous <acronym>FTP</acronym> uploads are required, " -"then verify the permissions so that these files can not be read by other " +"then verify the permissions so that these files cannot be read by other " "anonymous users until they have been reviewed by an administrator." msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:57152 +#: book.translate.xml:57206 msgid "" "File and Print Services for <trademark class=\"registered\">Microsoft</" "trademark> <trademark class=\"registered\">Windows</trademark> Clients " @@ -80073,27 +81303,27 @@ msgstr "" "\"registered\">Windows</trademark> 用戶端檔案與列印服務 (Samba)" #. (itstool) path: sect1/indexterm -#: book.translate.xml:57155 +#: book.translate.xml:57209 msgid "<primary>Samba server</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:57156 +#: book.translate.xml:57210 msgid "<primary>Microsoft Windows</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:57157 +#: book.translate.xml:57211 msgid "<primary>file server</primary> <secondary>Windows clients</secondary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:57161 +#: book.translate.xml:57215 msgid "<primary>print server</primary> <secondary>Windows clients</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:57166 +#: book.translate.xml:57220 msgid "" "<application>Samba</application> is a popular open source software package " "that provides file and print services using the <acronym>SMB/CIFS</acronym> " @@ -80108,7 +81338,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:57176 +#: book.translate.xml:57230 msgid "" "On FreeBSD, the <application>Samba</application> client libraries can be " "installed using the <package>net/samba-smbclient</package> port or package. " @@ -80118,7 +81348,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:57183 +#: book.translate.xml:57237 msgid "" "A FreeBSD system can also be configured to act as a <application>Samba</" "application> server by installing the <package>net/samba43</package> port or " @@ -80130,12 +81360,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:57192 +#: book.translate.xml:57246 msgid "Server Configuration" msgstr "伺服器設定" #. (itstool) path: sect2/para -#: book.translate.xml:57194 +#: book.translate.xml:57248 msgid "" "<application>Samba</application> is configured in <filename>/usr/local/etc/" "smb4.conf</filename>. This file must be created before <application>Samba</" @@ -80143,7 +81373,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57199 +#: book.translate.xml:57253 msgid "" "A simple <filename>smb4.conf</filename> to share directories and printers " "with <trademark class=\"registered\">Windows</trademark> clients in a " @@ -80154,7 +81384,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:57206 +#: book.translate.xml:57260 #, no-wrap msgid "" "[global]\n" @@ -80179,34 +81409,34 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:57227 +#: book.translate.xml:57281 msgid "Global Settings" msgstr "全域設定" #. (itstool) path: sect3/para -#: book.translate.xml:57229 +#: book.translate.xml:57283 msgid "" "Settings that describe the network are added in <filename>/usr/local/etc/" "smb4.conf</filename>:" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:57234 +#: book.translate.xml:57288 msgid "<literal>workgroup</literal>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:57237 +#: book.translate.xml:57291 msgid "The name of the workgroup to be served." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:57242 +#: book.translate.xml:57296 msgid "<literal>netbios name</literal>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:57245 +#: book.translate.xml:57299 msgid "" "The NetBIOS name by which a <application>Samba</application> server is " "known. By default, it is the same as the first component of the host's " @@ -80214,12 +81444,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:57253 +#: book.translate.xml:57307 msgid "<literal>server string</literal>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:57256 +#: book.translate.xml:57310 msgid "" "The string that will be displayed in the output of <command>net view</" "command> and some other networking tools that seek to display descriptive " @@ -80227,12 +81457,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:57264 +#: book.translate.xml:57318 msgid "<literal>wins support</literal>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:57267 +#: book.translate.xml:57321 msgid "" "Whether <application>Samba</application> will act as a <acronym>WINS</" "acronym> server. Do not enable support for <acronym>WINS</acronym> on more " @@ -80240,12 +81470,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:57277 +#: book.translate.xml:57331 msgid "Security Settings" msgstr "安全性設定" #. (itstool) path: sect3/para -#: book.translate.xml:57279 +#: book.translate.xml:57333 msgid "" "The most important settings in <filename>/usr/local/etc/smb4.conf</filename> " "are the security model and the backend password format. These directives " @@ -80253,12 +81483,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:57286 +#: book.translate.xml:57340 msgid "<literal>security</literal>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:57289 +#: book.translate.xml:57343 msgid "" "The most common settings are <literal>security = share</literal> and " "<literal>security = user</literal>. If the clients use usernames that are " @@ -80268,7 +81498,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:57298 +#: book.translate.xml:57352 msgid "" "In share level security, clients do not need to log onto the server with a " "valid username and password before attempting to connect to a shared " @@ -80277,22 +81507,22 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:57307 +#: book.translate.xml:57361 msgid "<literal>passdb backend</literal>" msgstr "" #. (itstool) path: listitem/indexterm -#: book.translate.xml:57310 +#: book.translate.xml:57364 msgid "<primary>NIS+</primary>" msgstr "" #. (itstool) path: listitem/indexterm -#: book.translate.xml:57312 +#: book.translate.xml:57366 msgid "<primary>SQL database</primary>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:57314 +#: book.translate.xml:57368 msgid "" "<application>Samba</application> has several different backend " "authentication models. Clients may be authenticated with LDAP, NIS+, an SQL " @@ -80304,12 +81534,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:57331 +#: book.translate.xml:57385 msgid "<application>Samba</application> Users" msgstr "<application>Samba</application> 使用者" #. (itstool) path: sect3/para -#: book.translate.xml:57333 +#: book.translate.xml:57387 msgid "" "FreeBSD user accounts must be mapped to the <literal>SambaSAMAccount</" "literal> database for <trademark class=\"registered\">Windows</trademark> " @@ -80319,13 +81549,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:57339 +#: book.translate.xml:57393 #, no-wrap msgid "<prompt>#</prompt> <userinput>pdbedit -a <replaceable>username</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:57341 +#: book.translate.xml:57395 msgid "" "This section has only mentioned the most commonly used settings. Refer to " "the <link xlink:href=\"http://www.samba.org/samba/docs/man/Samba-HOWTO-" @@ -80334,30 +81564,30 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:57349 +#: book.translate.xml:57403 msgid "Starting <application>Samba</application>" msgstr "啟動 <application>Samba</application>" #. (itstool) path: sect2/para -#: book.translate.xml:57351 +#: book.translate.xml:57405 msgid "" "To enable <application>Samba</application> at boot time, add the following " "line to <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:57355 +#: book.translate.xml:57409 #, no-wrap msgid "samba_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57357 +#: book.translate.xml:57411 msgid "To start <application>Samba</application> now:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:57359 +#: book.translate.xml:57413 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service samba start</userinput>\n" @@ -80367,7 +81597,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57364 +#: book.translate.xml:57418 msgid "" "<application>Samba</application> consists of three separate daemons. Both " "the <application>nmbd</application> and <application>smbd</application> " @@ -80376,24 +81606,24 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:57370 +#: book.translate.xml:57424 #, no-wrap msgid "winbindd_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57372 +#: book.translate.xml:57426 msgid "<application>Samba</application> can be stopped at any time by typing:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:57375 +#: book.translate.xml:57429 #, no-wrap msgid "<prompt>#</prompt> <userinput>service samba stop</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57377 +#: book.translate.xml:57431 msgid "" "<application>Samba</application> is a complex software suite with " "functionality that allows broad integration with <trademark class=" @@ -80404,17 +81634,17 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:57397 +#: book.translate.xml:57451 msgid "Clock Synchronization with NTP" msgstr "NTP 時間校對" #. (itstool) path: sect1/indexterm -#: book.translate.xml:57399 +#: book.translate.xml:57453 msgid "<primary>NTP</primary> <secondary>ntpd</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:57403 +#: book.translate.xml:57457 msgid "" "Over time, a computer's clock is prone to drift. This is problematic as many " "network services require the computers on a network to share the same " @@ -80424,7 +81654,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:57410 +#: book.translate.xml:57464 msgid "" "FreeBSD includes <citerefentry><refentrytitle>ntpd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> which can be " @@ -80439,7 +81669,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:57421 +#: book.translate.xml:57475 msgid "" "Choosing several <acronym>NTP</acronym> servers is recommended in case one " "of the servers becomes unreachable or its clock proves unreliable. As " @@ -80448,7 +81678,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:57427 +#: book.translate.xml:57481 msgid "" "This section describes how to configure <application>ntpd</application> on " "FreeBSD. Further documentation can be found in <filename>/usr/share/doc/ntp/" @@ -80456,17 +81686,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:57433 +#: book.translate.xml:57487 msgid "<acronym>NTP</acronym> Configuration" msgstr "<acronym>NTP</acronym> 設定" #. (itstool) path: sect2/indexterm -#: book.translate.xml:57435 +#: book.translate.xml:57489 msgid "<primary>NTP</primary> <secondary>ntp.conf</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57439 +#: book.translate.xml:57493 msgid "" "On FreeBSD, the built-in <application>ntpd</application> can be used to " "synchronize a system's clock. To enable <application>ntpd</application> at " @@ -80479,7 +81709,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57448 +#: book.translate.xml:57502 msgid "" "This application reads <filename>/etc/ntp.conf</filename> to determine which " "<acronym>NTP</acronym> servers to query. Here is a simple example of an " @@ -80487,12 +81717,12 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:57454 +#: book.translate.xml:57508 msgid "Sample <filename>/etc/ntp.conf</filename>" msgstr "<filename>/etc/ntp.conf</filename> 範例" #. (itstool) path: example/programlisting -#: book.translate.xml:57456 +#: book.translate.xml:57510 #, no-wrap msgid "" "server ntplocal.example.com prefer\n" @@ -80503,7 +81733,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57463 +#: book.translate.xml:57517 msgid "" "The format of this file is described in <citerefentry><refentrytitle>ntp." "conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>. The " @@ -80518,7 +81748,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57475 +#: book.translate.xml:57529 msgid "" "The <literal>driftfile</literal> entry specifies which file is used to store " "the system clock's frequency offset. <application>ntpd</application> uses " @@ -80531,7 +81761,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57486 +#: book.translate.xml:57540 msgid "" "By default, an <acronym>NTP</acronym> server is accessible to any network " "host. The <literal>restrict</literal> option in <filename>/etc/ntp.conf</" @@ -80541,13 +81771,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:57494 +#: book.translate.xml:57548 #, no-wrap msgid "restrict default ignore" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:57497 +#: book.translate.xml:57551 msgid "" "This will also prevent access from other <acronym>NTP</acronym> servers. If " "there is a need to synchronize with an external <acronym>NTP</acronym> " @@ -80557,7 +81787,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57504 +#: book.translate.xml:57558 msgid "" "To allow machines within the network to synchronize their clocks with the " "server, but ensure they are not allowed to configure the server or be used " @@ -80565,13 +81795,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:57509 +#: book.translate.xml:57563 #, no-wrap msgid "restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57511 +#: book.translate.xml:57565 msgid "" "where <systemitem class=\"ipaddress\">192.168.1.0</systemitem> is the local " "network address and <systemitem class=\"netmask\">255.255.255.0</systemitem> " @@ -80579,7 +81809,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57515 +#: book.translate.xml:57569 msgid "" "Multiple <literal>restrict</literal> entries are supported. For more " "details, refer to the <literal>Access Control Support</literal> subsection " @@ -80588,7 +81818,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57520 +#: book.translate.xml:57574 msgid "" "Once <literal>ntpd_enable=\"YES\"</literal> has been added to <filename>/etc/" "rc.conf</filename>, <application>ntpd</application> can be started now " @@ -80596,18 +81826,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:57525 +#: book.translate.xml:57579 #, no-wrap msgid "<prompt>#</prompt> <userinput>service ntpd start</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:57529 +#: book.translate.xml:57583 msgid "Using <acronym>NTP</acronym> with a <acronym>PPP</acronym> Connection" msgstr "在 <acronym>PPP</acronym> 連線使用 <acronym>NTP</acronym>" #. (itstool) path: sect2/para -#: book.translate.xml:57532 +#: book.translate.xml:57586 msgid "" "<application>ntpd</application> does not need a permanent connection to the " "Internet to function properly. However, if a <acronym>PPP</acronym> " @@ -80618,7 +81848,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:57541 +#: book.translate.xml:57595 #, no-wrap msgid "" " set filter dial 0 deny udp src eq 123\n" @@ -80632,7 +81862,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57550 +#: book.translate.xml:57604 msgid "" "For more details, refer to the <literal>PACKET FILTERING</literal> section " "in <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></" @@ -80641,19 +81871,19 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:57556 +#: book.translate.xml:57610 msgid "" "Some Internet access providers block low-numbered ports, preventing NTP from " "functioning since replies never reach the machine." msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:57575 +#: book.translate.xml:57629 msgid "<acronym>iSCSI</acronym> Initiator and Target Configuration" msgstr "<acronym>iSCSI</acronym> Initiator 與 Target 設定" #. (itstool) path: sect1/para -#: book.translate.xml:57578 +#: book.translate.xml:57632 msgid "" "<acronym>iSCSI</acronym> is a way to share storage over a network. Unlike " "<acronym>NFS</acronym>, which works at the file system level, " @@ -80661,7 +81891,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:57583 +#: book.translate.xml:57637 msgid "" "In <acronym>iSCSI</acronym> terminology, the system that shares the storage " "is known as the <emphasis>target</emphasis>. The storage can be a physical " @@ -80671,7 +81901,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:57591 +#: book.translate.xml:57645 msgid "" "The clients which access the <acronym>iSCSI</acronym> storage are called " "<emphasis>initiators</emphasis>. To initiators, the storage available " @@ -80681,7 +81911,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:57599 +#: book.translate.xml:57653 msgid "" "Beginning with 10.0-RELEASE, FreeBSD provides a native, kernel-based " "<acronym>iSCSI</acronym> target and initiator. This section describes how to " @@ -80689,12 +81919,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:57605 +#: book.translate.xml:57659 msgid "Configuring an <acronym>iSCSI</acronym> Target" msgstr "設定 <acronym>iSCSI</acronym> Target" #. (itstool) path: note/para -#: book.translate.xml:57608 +#: book.translate.xml:57662 msgid "" "The native <acronym>iSCSI</acronym> target is supported starting with " "FreeBSD 10.0-RELEASE. To use <acronym>iSCSI</acronym> in older versions of " @@ -80703,7 +81933,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57616 +#: book.translate.xml:57670 msgid "" "To configure an <acronym>iSCSI</acronym> target, create the <filename>/etc/" "ctl.conf</filename> configuration file, add a line to <filename>/etc/rc." @@ -80713,7 +81943,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57622 +#: book.translate.xml:57676 msgid "" "The following is an example of a simple <filename>/etc/ctl.conf</filename> " "configuration file. Refer to <citerefentry><refentrytitle>ctl.conf</" @@ -80722,7 +81952,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:57627 +#: book.translate.xml:57681 #, no-wrap msgid "" "portal-group pg0 {\n" @@ -80743,7 +81973,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57643 +#: book.translate.xml:57697 msgid "" "The first entry defines the <literal>pg0</literal> portal group. Portal " "groups define which network addresses the <citerefentry><refentrytitle>ctld</" @@ -80758,7 +81988,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57655 +#: book.translate.xml:57709 msgid "" "It is not necessary to define a portal group as there is a built-in portal " "group called <literal>default</literal>. In this case, the difference " @@ -80768,7 +81998,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57663 +#: book.translate.xml:57717 msgid "" "The second entry defines a single target. Target has two possible meanings: " "a machine serving <acronym>iSCSI</acronym> or a named group of " @@ -80782,7 +82012,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57676 +#: book.translate.xml:57730 msgid "" "The <literal>auth-group no-authentication</literal> line allows all " "initiators to connect to the specified target and <literal>portal-group pg0</" @@ -80791,7 +82021,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57681 +#: book.translate.xml:57735 msgid "" "The next section defines the <acronym>LUN</acronym>. To the initiator, each " "<acronym>LUN</acronym> will be visible as a separate disk device. Multiple " @@ -80805,7 +82035,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57692 +#: book.translate.xml:57746 msgid "" "Next, to make sure the <citerefentry><refentrytitle>ctld</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> daemon is started at " @@ -80813,26 +82043,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:57696 +#: book.translate.xml:57750 #, no-wrap msgid "ctld_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57698 +#: book.translate.xml:57752 msgid "" "To start <citerefentry><refentrytitle>ctld</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> now, run this command:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:57700 +#: book.translate.xml:57754 #, no-wrap msgid "<prompt>#</prompt> <userinput>service ctld start</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57702 +#: book.translate.xml:57756 msgid "" "As the <citerefentry><refentrytitle>ctld</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> daemon is started, it reads <filename>/etc/ctl." @@ -80841,19 +82071,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:57707 +#: book.translate.xml:57761 #, no-wrap msgid "<prompt>#</prompt> <userinput>service ctld reload</userinput>" msgstr "" #. (itstool) path: sect3/title #. (itstool) path: sect5/title -#: book.translate.xml:57710 book.translate.xml:62672 +#: book.translate.xml:57764 book.translate.xml:62726 msgid "Authentication" msgstr "認證" #. (itstool) path: sect3/para -#: book.translate.xml:57712 +#: book.translate.xml:57766 msgid "" "The previous example is inherently insecure as it uses no authentication, " "granting anyone full access to all targets. To require a username and " @@ -80861,7 +82091,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:57717 +#: book.translate.xml:57771 #, no-wrap msgid "" "auth-group ag0 {\n" @@ -80886,7 +82116,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:57737 +#: book.translate.xml:57791 msgid "" "The <literal>auth-group</literal> section defines username and password " "pairs. An initiator trying to connect to <literal>iqn.2012-06.com.example:" @@ -80898,7 +82128,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:57747 +#: book.translate.xml:57801 msgid "" "It is common to define a single exported target for every initiator. As a " "shorthand for the syntax above, the username and password can be specified " @@ -80906,7 +82136,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:57752 +#: book.translate.xml:57806 #, no-wrap msgid "" "target iqn.2012-06.com.example:target0 {\n" @@ -80921,12 +82151,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:57765 +#: book.translate.xml:57819 msgid "Configuring an <acronym>iSCSI</acronym> Initiator" msgstr "設定 <acronym>iSCSI</acronym> Initiator" #. (itstool) path: note/para -#: book.translate.xml:57768 +#: book.translate.xml:57822 msgid "" "The <acronym>iSCSI</acronym> initiator described in this section is " "supported starting with FreeBSD 10.0-RELEASE. To use the <acronym>iSCSI</" @@ -80936,7 +82166,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57774 +#: book.translate.xml:57828 msgid "" "The <acronym>iSCSI</acronym> initiator requires that the " "<citerefentry><refentrytitle>iscsid</refentrytitle><manvolnum>8</manvolnum></" @@ -80946,26 +82176,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:57779 +#: book.translate.xml:57833 #, no-wrap msgid "iscsid_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57781 +#: book.translate.xml:57835 msgid "" "To start <citerefentry><refentrytitle>iscsid</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> now, run this command:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:57783 +#: book.translate.xml:57837 #, no-wrap msgid "<prompt>#</prompt> <userinput>service iscsid start</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:57785 +#: book.translate.xml:57839 msgid "" "Connecting to a target can be done with or without an <filename>/etc/iscsi." "conf</filename> configuration file. This section demonstrates both types of " @@ -80973,32 +82203,32 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:57790 +#: book.translate.xml:57844 msgid "Connecting to a Target Without a Configuration File" msgstr "不使用設定檔連線到 Target " #. (itstool) path: sect3/para -#: book.translate.xml:57793 +#: book.translate.xml:57847 msgid "" "To connect an initiator to a single target, specify the <acronym>IP</" "acronym> address of the portal and the name of the target:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:57797 +#: book.translate.xml:57851 #, no-wrap msgid "<prompt>#</prompt> <userinput>iscsictl -A -p <replaceable>10.10.10.10</replaceable> -t <replaceable>iqn.2012-06.com.example:target0</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:57799 +#: book.translate.xml:57853 msgid "" "To verify if the connection succeeded, run <command>iscsictl</command> " "without any arguments. The output should look similar to this:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:57803 +#: book.translate.xml:57857 #, no-wrap msgid "" "Target name Target portal State\n" @@ -81006,7 +82236,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:57806 +#: book.translate.xml:57860 msgid "" "In this example, the <acronym>iSCSI</acronym> session was successfully " "established, with <filename>/dev/da0</filename> representing the attached " @@ -81016,13 +82246,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:57815 +#: book.translate.xml:57869 #, no-wrap msgid "Connected: da0 da1 da2." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:57817 +#: book.translate.xml:57871 msgid "" "Any errors will be reported in the output, as well as the system logs. For " "example, this message usually means that the " @@ -81031,7 +82261,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:57821 +#: book.translate.xml:57875 #, no-wrap msgid "" "Target name Target portal State\n" @@ -81039,14 +82269,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:57824 +#: book.translate.xml:57878 msgid "" "The following message suggests a networking problem, such as a wrong " "<acronym>IP</acronym> address or port:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:57828 +#: book.translate.xml:57882 #, no-wrap msgid "" "Target name Target portal State\n" @@ -81054,12 +82284,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:57831 +#: book.translate.xml:57885 msgid "This message means that the specified target name is wrong:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:57834 +#: book.translate.xml:57888 #, no-wrap msgid "" "Target name Target portal State\n" @@ -81067,12 +82297,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:57837 +#: book.translate.xml:57891 msgid "This message means that the target requires authentication:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:57840 +#: book.translate.xml:57894 #, no-wrap msgid "" "Target name Target portal State\n" @@ -81080,31 +82310,31 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:57843 +#: book.translate.xml:57897 msgid "" "To specify a <acronym>CHAP</acronym> username and secret, use this syntax:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:57846 +#: book.translate.xml:57900 #, no-wrap msgid "<prompt>#</prompt> <userinput>iscsictl -A -p <replaceable>10.10.10.10</replaceable> -t <replaceable>iqn.2012-06.com.example:target0</replaceable> -u <replaceable>user</replaceable> -s <replaceable>secretsecret</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:57850 +#: book.translate.xml:57904 msgid "Connecting to a Target with a Configuration File" msgstr "使用設定檔連線到 Target " #. (itstool) path: sect3/para -#: book.translate.xml:57853 +#: book.translate.xml:57907 msgid "" "To connect using a configuration file, create <filename>/etc/iscsi.conf</" "filename> with contents like this:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:57857 +#: book.translate.xml:57911 #, no-wrap msgid "" "t0 {\n" @@ -81117,7 +82347,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:57865 +#: book.translate.xml:57919 msgid "" "The <literal>t0</literal> specifies a nickname for the configuration file " "section. It will be used by the initiator to specify which configuration to " @@ -81128,31 +82358,31 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:57875 +#: book.translate.xml:57929 msgid "To connect to the defined target, specify the nickname:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:57878 +#: book.translate.xml:57932 #, no-wrap msgid "<prompt>#</prompt> <userinput>iscsictl -An <replaceable>t0</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:57880 +#: book.translate.xml:57934 msgid "" "Alternately, to connect to all targets defined in the configuration file, " "use:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:57883 +#: book.translate.xml:57937 #, no-wrap msgid "<prompt>#</prompt> <userinput>iscsictl -Aa</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:57885 +#: book.translate.xml:57939 msgid "" "To make the initiator automatically connect to all targets in <filename>/etc/" "iscsi.conf</filename>, add the following to <filename>/etc/rc.conf</" @@ -81160,7 +82390,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:57889 +#: book.translate.xml:57943 #, no-wrap msgid "" "iscsictl_enable=\"YES\"\n" @@ -81168,19 +82398,19 @@ msgid "" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:57920 +#: book.translate.xml:57974 msgid "" "<personname> <firstname>Brad</firstname> <surname>Davis</surname> </" "personname> <contrib>Converted to SGML and updated by </contrib>" msgstr "" #. (itstool) path: chapter/indexterm -#: book.translate.xml:57932 +#: book.translate.xml:57986 msgid "<primary>security</primary> <secondary>firewalls</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:57941 +#: book.translate.xml:57995 msgid "" "Firewalls make it possible to filter the incoming and outgoing traffic that " "flows through a system. A firewall can use one or more sets of <quote>rules</" @@ -81196,28 +82426,28 @@ msgstr "" "或目的主機位址,以及來源及目地的連接埠 (Port)。" #. (itstool) path: sect1/para -#: book.translate.xml:57950 +#: book.translate.xml:58004 msgid "" "Firewalls can enhance the security of a host or a network. They can be used " "to do one or more of the following:" msgstr "防火牆可以加強主機或網路的安全性,它可以用來完成下列事情:" #. (itstool) path: listitem/para -#: book.translate.xml:57955 +#: book.translate.xml:58009 msgid "" "Protect and insulate the applications, services, and machines of an internal " "network from unwanted traffic from the public Internet." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:57961 +#: book.translate.xml:58015 msgid "" "Limit or disable access from hosts of the internal network to services of " "the public Internet." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:57966 +#: book.translate.xml:58020 msgid "" "Support network address translation (<acronym>NAT</acronym>), which allows " "an internal network to use private <acronym>IP</acronym> addresses and share " @@ -81227,7 +82457,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:57975 +#: book.translate.xml:58029 msgid "" "FreeBSD has three firewalls built into the base system: <application>PF</" "application>, <application>IPFW</application>, and <application>IPFILTER</" @@ -81244,7 +82474,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:57989 +#: book.translate.xml:58043 msgid "" "FreeBSD provides multiple firewalls in order to meet the different " "requirements and preferences for a wide variety of users. Each user should " @@ -81252,33 +82482,33 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:57998 +#: book.translate.xml:58052 msgid "How to define packet filtering rules." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:58002 +#: book.translate.xml:58056 msgid "The differences between the firewalls built into FreeBSD." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:58007 +#: book.translate.xml:58061 msgid "How to use and configure the <application>PF</application> firewall." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:58012 +#: book.translate.xml:58066 msgid "How to use and configure the <application>IPFW</application> firewall." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:58017 +#: book.translate.xml:58071 msgid "" "How to use and configure the <application>IPFILTER</application> firewall." msgstr "" #. (itstool) path: note/para -#: book.translate.xml:58031 +#: book.translate.xml:58085 msgid "" "Since all firewalls are based on inspecting the values of selected packet " "control fields, the creator of the firewall ruleset must have an " @@ -81289,17 +82519,17 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:58043 +#: book.translate.xml:58097 msgid "Firewall Concepts" msgstr "防火牆概念" #. (itstool) path: sect1/indexterm -#: book.translate.xml:58045 +#: book.translate.xml:58099 msgid "<primary>firewall</primary> <secondary>rulesets</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:58051 +#: book.translate.xml:58105 msgid "" "A ruleset contains a group of rules which pass or block packets based on the " "values contained in the packet. The bi-directional exchange of packets " @@ -81314,7 +82544,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:58064 +#: book.translate.xml:58118 msgid "" "To lookup unknown port numbers, refer to <filename>/etc/services</filename>. " "Alternatively, visit <uri xlink:href=\"http://en.wikipedia.org/wiki/" @@ -81324,7 +82554,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:58069 +#: book.translate.xml:58123 msgid "" "Check out this link for port numbers used by Trojans <uri xlink:href=" "\"http://www.sans.org/security-resources/idfaq/oddports.php\">http://www." @@ -81332,7 +82562,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:58071 +#: book.translate.xml:58125 msgid "" "FTP has two modes: active mode and passive mode. The difference is in how " "the data channel is acquired. Passive mode is more secure as the data " @@ -81342,7 +82572,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:58077 +#: book.translate.xml:58131 msgid "" "A firewall ruleset can be either <quote>exclusive</quote> or " "<quote>inclusive</quote>. An exclusive firewall allows all traffic through " @@ -81352,7 +82582,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:58084 +#: book.translate.xml:58138 msgid "" "An inclusive firewall offers better control of the outgoing traffic, making " "it a better choice for systems that offer services to the public Internet. " @@ -81364,14 +82594,14 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:58095 +#: book.translate.xml:58149 msgid "" "Unless noted otherwise, all configuration and example rulesets in this " "chapter create inclusive firewall rulesets." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:58100 +#: book.translate.xml:58154 msgid "" "Security can be tightened further using a <quote>stateful firewall</quote>. " "This type of firewall keeps track of open connections and only allows " @@ -81380,7 +82610,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:58105 +#: book.translate.xml:58159 msgid "" "Stateful filtering treats traffic as a bi-directional exchange of packets " "comprising a session. When state is specified on a matching rule the " @@ -81391,12 +82621,12 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:58114 +#: book.translate.xml:58168 msgid "When the session completes, it is removed from the dynamic state table." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:58117 +#: book.translate.xml:58171 msgid "" "Stateful filtering allows one to focus on blocking/passing new sessions. If " "the new session is passed, all its subsequent packets are allowed " @@ -81407,7 +82637,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:58125 +#: book.translate.xml:58179 msgid "" "<acronym>NAT</acronym> stands for <emphasis>Network Address Translation</" "emphasis>. <acronym>NAT</acronym> function enables the private LAN behind " @@ -81418,7 +82648,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:58133 +#: book.translate.xml:58187 msgid "" "<acronym>NAT</acronym> will automatically translate the private LAN IP " "address for each system on the LAN to the single public IP address as " @@ -81427,7 +82657,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:58139 +#: book.translate.xml:58193 msgid "" "According to RFC 1918, the following IP address ranges are reserved for " "private networks which will never be routed directly to the public Internet, " @@ -81435,22 +82665,22 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:58146 +#: book.translate.xml:58200 msgid "<literal>10.0.0.0/8</literal>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:58150 +#: book.translate.xml:58204 msgid "<literal>172.16.0.0/12</literal>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:58154 +#: book.translate.xml:58208 msgid "<literal>192.168.0.0/16</literal>." msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:58159 +#: book.translate.xml:58213 msgid "" "When working with the firewall rules, be <emphasis>very careful</emphasis>. " "Some configurations <emphasis>can lock the administrator out</emphasis> of " @@ -81460,24 +82690,24 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:58170 +#: book.translate.xml:58224 msgid "PF" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:58173 +#: book.translate.xml:58227 msgid "" "<personname> <firstname>John</firstname> <surname>Ferrell</surname> </" "personname> <contrib>Revised and updated by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:58183 +#: book.translate.xml:58237 msgid "<primary>firewall</primary> <secondary>PF</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:58189 +#: book.translate.xml:58243 msgid "" "Since FreeBSD 5.3, a ported version of OpenBSD's <application>PF</" "application> firewall has been included as an integrated part of the base " @@ -81487,7 +82717,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:58197 +#: book.translate.xml:58251 msgid "" "The OpenBSD Project maintains the definitive reference for <application>PF</" "application> in the <link xlink:href=\"http://www.openbsd.org/faq/pf/\">PF " @@ -81497,7 +82727,7 @@ msgid "" msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:58203 +#: book.translate.xml:58257 msgid "" "When reading the <link xlink:href=\"http://www.openbsd.org/faq/pf/\">PF FAQ</" "link>, keep in mind that FreeBSD uses the same version of <application>PF</" @@ -81505,7 +82735,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:58208 +#: book.translate.xml:58262 msgid "" "The <link xlink:href=\"http://lists.FreeBSD.org/mailman/listinfo/freebsd-pf" "\">FreeBSD packet filter mailing list</link> is a good place to ask " @@ -81515,7 +82745,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:58213 +#: book.translate.xml:58267 msgid "" "More information about porting <application>PF</application> to FreeBSD can " "be found at <uri xlink:href=\"http://pf4freebsd.love2party.net/\">http://" @@ -81523,7 +82753,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:58216 +#: book.translate.xml:58270 msgid "" "This section of the Handbook focuses on <application>PF</application> as it " "pertains to FreeBSD. It demonstrates how to enable <application>PF</" @@ -81532,12 +82762,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:58223 +#: book.translate.xml:58277 msgid "Enabling <application>PF</application>" msgstr "開啟 <application>PF</application>" #. (itstool) path: sect2/para -#: book.translate.xml:58225 +#: book.translate.xml:58279 msgid "" "In order to use <application>PF</application>, its kernel module must be " "first loaded. This section describes the entries that can be added to " @@ -81546,19 +82776,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58230 +#: book.translate.xml:58284 msgid "" "Start by adding the following line to <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:58233 +#: book.translate.xml:58287 #, no-wrap msgid "pf_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58235 +#: book.translate.xml:58289 msgid "" "Additional options, described in <citerefentry><refentrytitle>pfctl</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, can be passed to " @@ -81568,13 +82798,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:58241 +#: book.translate.xml:58295 #, no-wrap msgid "pf_flags=\"\" # additional flags for pfctl startup" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58243 +#: book.translate.xml:58297 msgid "" "<application>PF</application> will not start if it cannot find its ruleset " "configuration file. The default ruleset is already created and is named " @@ -81584,13 +82814,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:58251 +#: book.translate.xml:58305 #, no-wrap msgid "pf_rules=\"<replaceable>/path/to/pf.conf</replaceable>\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58253 +#: book.translate.xml:58307 msgid "" "Logging support for <application>PF</application> is provided by " "<citerefentry><refentrytitle>pflog</refentrytitle><manvolnum>4</manvolnum></" @@ -81599,13 +82829,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:58257 +#: book.translate.xml:58311 #, no-wrap msgid "pflog_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58259 +#: book.translate.xml:58313 msgid "" "The following lines can also be added in order to change the default " "location of the log file or to specify any additional flags to pass to " @@ -81614,7 +82844,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:58264 +#: book.translate.xml:58318 #, no-wrap msgid "" "pflog_logfile=\"/var/log/pflog\" # where pflogd should store the logfile\n" @@ -81622,7 +82852,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58267 +#: book.translate.xml:58321 msgid "" "Finally, if there is a <acronym>LAN</acronym> behind the firewall and " "packets need to be forwarded for the computers on the <acronym>LAN</" @@ -81630,20 +82860,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:58272 +#: book.translate.xml:58326 #, no-wrap msgid "gateway_enable=\"YES\" # Enable as LAN gateway" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58274 +#: book.translate.xml:58328 msgid "" "After saving the needed edits, <application>PF</application> can be started " "with logging support by typing:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:58278 +#: book.translate.xml:58332 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service pf start</userinput>\n" @@ -81651,7 +82881,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58332 +#: book.translate.xml:58386 msgid "" "By default, <application>PF</application> reads its configuration rules from " "<filename>/etc/pf.conf</filename> and modifies, drops, or passes packets " @@ -81663,7 +82893,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58342 +#: book.translate.xml:58396 msgid "" "To control <application>PF</application>, use <command>pfctl</command>. " "<xref linkend=\"pfctl\"/> summarizes some useful options to this command. " @@ -81672,71 +82902,71 @@ msgid "" msgstr "" #. (itstool) path: table/title -#: book.translate.xml:58348 +#: book.translate.xml:58402 msgid "Useful <command>pfctl</command> Options" msgstr "有用的 <command>pfctl</command> 選項" #. (itstool) path: row/entry -#: book.translate.xml:58354 book.translate.xml:61886 book.translate.xml:65535 +#: book.translate.xml:58408 book.translate.xml:61940 book.translate.xml:65535 msgid "Purpose" msgstr "用途" #. (itstool) path: row/entry -#: book.translate.xml:58360 +#: book.translate.xml:58414 msgid "<command>pfctl -e</command>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:58362 +#: book.translate.xml:58416 msgid "Enable <application>PF</application>." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:58366 +#: book.translate.xml:58420 msgid "<command>pfctl -d</command>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:58368 +#: book.translate.xml:58422 msgid "Disable <application>PF</application>." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:58372 +#: book.translate.xml:58426 msgid "<command>pfctl -F all -f /etc/pf.conf</command>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:58374 +#: book.translate.xml:58428 msgid "" "Flush all <acronym>NAT</acronym>, filter, state, and table rules and reload " "<filename>/etc/pf.conf</filename>." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:58380 +#: book.translate.xml:58434 msgid "<command>pfctl -s [ rules | nat | states ]</command>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:58382 +#: book.translate.xml:58436 msgid "" "Report on the filter rules, <acronym>NAT</acronym> rules, or state table." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:58388 +#: book.translate.xml:58442 msgid "<command>pfctl -vnf /etc/pf.conf</command>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:58390 +#: book.translate.xml:58444 msgid "" "Check <filename>/etc/pf.conf</filename> for errors, but do not load ruleset." msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:58398 +#: book.translate.xml:58452 msgid "" "<package>security/sudo</package> is useful for running commands like " "<command>pfctl</command> that require elevated privileges. It can be " @@ -81744,7 +82974,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58404 +#: book.translate.xml:58458 msgid "" "To keep an eye on the traffic that passes through the <application>PF</" "application> firewall, consider installing the <package>sysutils/pftop</" @@ -81755,12 +82985,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:58413 +#: book.translate.xml:58467 msgid "Enabling <application>ALTQ</application>" msgstr "開啟 <application>ALTQ</application>" #. (itstool) path: sect2/para -#: book.translate.xml:58415 +#: book.translate.xml:58469 msgid "" "On FreeBSD, <application>ALTQ</application> can be used with " "<application>PF</application> to provide Quality of Service (<acronym>QOS</" @@ -81770,7 +83000,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58422 +#: book.translate.xml:58476 msgid "" "Before enabling <application>ALTQ</application>, refer to " "<citerefentry><refentrytitle>altq</refentrytitle><manvolnum>4</manvolnum></" @@ -81779,7 +83009,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58426 +#: book.translate.xml:58480 msgid "" "<application>ALTQ</application> is not available as a loadable kernel " "module. If the system's interfaces support <application>ALTQ</application>, " @@ -81790,7 +83020,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:58435 +#: book.translate.xml:58489 #, no-wrap msgid "" "options ALTQ\n" @@ -81802,17 +83032,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58442 +#: book.translate.xml:58496 msgid "The following scheduler algorithms are available:" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:58446 +#: book.translate.xml:58500 msgid "CBQ" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:58448 +#: book.translate.xml:58502 msgid "" "Class Based Queuing (<acronym>CBQ</acronym>) is used to divide a " "connection's bandwidth into different classes or queues to prioritize " @@ -81820,12 +83050,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:58456 +#: book.translate.xml:58510 msgid "RED" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:58458 +#: book.translate.xml:58512 msgid "" "Random Early Detection (<acronym>RED</acronym>) is used to avoid network " "congestion by measuring the length of the queue and comparing it to the " @@ -81834,12 +83064,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:58467 +#: book.translate.xml:58521 msgid "RIO" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:58469 +#: book.translate.xml:58523 msgid "" "In Random Early Detection In and Out (<acronym>RIO</acronym>) mode, " "<acronym>RED</acronym> maintains multiple average queue lengths and multiple " @@ -81847,12 +83077,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:58478 +#: book.translate.xml:58532 msgid "HFSC" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:58480 +#: book.translate.xml:58534 msgid "" "Hierarchical Fair Service Curve Packet Scheduler (<acronym>HFSC</acronym>) " "is described in <uri xlink:href=\"http://www-2.cs.cmu.edu/~hzhang/HFSC/main." @@ -81860,19 +83090,19 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:58486 +#: book.translate.xml:58540 msgid "PRIQ" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:58488 +#: book.translate.xml:58542 msgid "" "Priority Queuing (<acronym>PRIQ</acronym>) always passes traffic that is in " "a higher queue first." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58494 +#: book.translate.xml:58548 msgid "" "More information about the scheduling algorithms and example rulesets are " "available at <uri xlink:href=\"http://www.openbsd.org/faq/pf/queueing.html" @@ -81880,19 +83110,19 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:58500 +#: book.translate.xml:58554 msgid "<application>PF</application> Rulesets" msgstr "<application>PF</application> 規則集" #. (itstool) path: authorgroup/author -#: book.translate.xml:58503 +#: book.translate.xml:58557 msgid "" "<personname> <firstname>Peter</firstname> <surname>Hansteen</surname> " "<othername>N. M.</othername> </personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58514 +#: book.translate.xml:58568 msgid "" "This section demonstrates how to create a customized ruleset. It starts with " "the simplest of rulesets and builds upon its concepts using several examples " @@ -81901,7 +83131,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58520 +#: book.translate.xml:58574 msgid "" "The simplest possible ruleset is for a single machine that does not run any " "services and which needs access to one network, which may be the Internet. " @@ -81910,7 +83140,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:58526 +#: book.translate.xml:58580 #, no-wrap msgid "" "block in all\n" @@ -81918,7 +83148,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58529 +#: book.translate.xml:58583 msgid "" "The first rule denies all incoming traffic by default. The second rule " "allows connections created by this system to pass out, while retaining state " @@ -81928,13 +83158,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:58537 +#: book.translate.xml:58591 #, no-wrap msgid "<prompt>#</prompt> <userinput>pfctl -e ; pfctl -f /etc/pf.conf</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58539 +#: book.translate.xml:58593 msgid "" "In addition to keeping state, <application>PF</application> provides " "<firstterm>lists</firstterm> and <firstterm>macros</firstterm> which can be " @@ -81944,7 +83174,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:58547 +#: book.translate.xml:58601 #, no-wrap msgid "" "tcp_services = \"{ ssh, smtp, domain, www, pop3, auth, pop3s }\"\n" @@ -81952,7 +83182,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58550 +#: book.translate.xml:58604 msgid "" "<application>PF</application> understands port names as well as port " "numbers, as long as the names are listed in <filename>/etc/services</" @@ -81965,7 +83195,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:58561 +#: book.translate.xml:58615 #, no-wrap msgid "" "tcp_services = \"{ ssh, smtp, domain, www, pop3, auth, pop3s }\"\n" @@ -81976,7 +83206,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58567 +#: book.translate.xml:58621 msgid "" "Even though <acronym>UDP</acronym> is considered to be a stateless protocol, " "<application>PF</application> is able to track some state information. For " @@ -81986,7 +83216,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58574 +#: book.translate.xml:58628 msgid "" "Whenever an edit is made to a ruleset, the new rules must be loaded so they " "can be used:" @@ -81994,13 +83224,13 @@ msgstr "" #. (itstool) path: sect2/screen #. (itstool) path: sect3/screen -#: book.translate.xml:58577 book.translate.xml:58824 +#: book.translate.xml:58631 book.translate.xml:58878 #, no-wrap msgid "<prompt>#</prompt> <userinput>pfctl -f /etc/pf.conf</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58579 +#: book.translate.xml:58633 msgid "" "If there are no syntax errors, <command>pfctl</command> will not output any " "messages during the rule load. Rules can also be tested before attempting to " @@ -82008,13 +83238,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:58583 +#: book.translate.xml:58637 #, no-wrap msgid "<prompt>#</prompt> <userinput>pfctl -nf /etc/pf.conf</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:58585 +#: book.translate.xml:58639 msgid "" "Including <option>-n</option> causes the rules to be interpreted only, but " "not loaded. This provides an opportunity to correct any errors. At all " @@ -82023,7 +83253,7 @@ msgid "" msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:58593 +#: book.translate.xml:58647 msgid "" "Adding <option>-v</option> to a <command>pfctl</command> ruleset verify or " "load will display the fully parsed rules exactly the way they will be " @@ -82031,12 +83261,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:58600 +#: book.translate.xml:58654 msgid "A Simple Gateway with NAT" msgstr "使用 NAT 的簡單閘道器" #. (itstool) path: sect3/para -#: book.translate.xml:58602 +#: book.translate.xml:58656 msgid "" "This section demonstrates how to configure a FreeBSD system running " "<application>PF</application> to act as a gateway for at least one other " @@ -82047,7 +83277,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58610 +#: book.translate.xml:58664 msgid "" "First, enable the gateway in order to let the machine forward the network " "traffic it receives on one interface to another interface. This " @@ -82056,31 +83286,31 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:58615 +#: book.translate.xml:58669 #, no-wrap msgid "<prompt>#</prompt> <userinput>sysctl net.inet.ip.forwarding=1</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58617 +#: book.translate.xml:58671 msgid "To forward <acronym>IPv6</acronym> traffic, use:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:58619 +#: book.translate.xml:58673 #, no-wrap msgid "<prompt>#</prompt> <userinput>sysctl net.inet6.ip6.forwarding=1</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58621 +#: book.translate.xml:58675 msgid "" "To enable these settings at system boot, add the following to <filename>/etc/" "rc.conf</filename>:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58624 +#: book.translate.xml:58678 #, no-wrap msgid "" "gateway_enable=\"YES\"\t\t#for ipv4\n" @@ -82088,14 +83318,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58627 +#: book.translate.xml:58681 msgid "" "Verify with <command>ifconfig</command> that both of the interfaces are up " "and running." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58630 +#: book.translate.xml:58684 msgid "" "Next, create the <application>PF</application> rules to allow the gateway to " "pass traffic. While the following rule allows stateful traffic to pass from " @@ -82104,26 +83334,26 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58637 +#: book.translate.xml:58691 #, no-wrap msgid "pass in on xl1 from xl1:network to xl0:network port $ports keep state" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58639 +#: book.translate.xml:58693 msgid "" "That rule only lets the traffic pass in to the gateway on the internal " "interface. To let the packets go further, a matching rule is needed:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58643 +#: book.translate.xml:58697 #, no-wrap msgid "pass out on xl0 from xl1:network to xl0:network port $ports keep state" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58645 +#: book.translate.xml:58699 msgid "" "While these two rules will work, rules this specific are rarely needed. For " "a busy network admin, a readable ruleset is a safer ruleset. The remainder " @@ -82132,13 +83362,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58652 +#: book.translate.xml:58706 #, no-wrap msgid "pass from xl1:network to any port $ports keep state" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58654 +#: book.translate.xml:58708 msgid "" "The <literal>interface:network</literal> notation can be replaced with a " "macro to make the ruleset even more readable. For example, a <literal>" @@ -82150,7 +83380,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58665 +#: book.translate.xml:58719 msgid "" "If required, <literal>$localnet</literal> could even be defined as a list of " "networks. Whatever the specific needs, a sensible <literal>$localnet</" @@ -82158,13 +83388,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58670 +#: book.translate.xml:58724 #, no-wrap msgid "pass from $localnet to any port $ports keep state" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58672 +#: book.translate.xml:58726 msgid "" "The following sample ruleset allows all traffic initiated by machines on the " "internal network. It first defines two macros to represent the external and " @@ -82172,7 +83402,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:58678 +#: book.translate.xml:58732 msgid "" "For dialup users, the external interface will use <filename>tun0</filename>. " "For an <acronym>ADSL</acronym> connection, specifically those using " @@ -82182,7 +83412,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58687 +#: book.translate.xml:58741 #, no-wrap msgid "" "ext_if = \"xl0\"\t# macro for external interface - use tun0 for PPPoE\n" @@ -82195,7 +83425,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58695 +#: book.translate.xml:58749 msgid "" "This ruleset introduces the <literal>nat</literal> rule which is used to " "handle the network address translation from the non-routable addresses " @@ -82208,14 +83438,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58706 +#: book.translate.xml:58760 msgid "" "Note that this ruleset probably allows more traffic to pass out of the " "network than is needed. One reasonable setup could create this macro:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58710 +#: book.translate.xml:58764 #, no-wrap msgid "" "client_out = \"{ ftp-data, ftp, ssh, domain, pop3, auth, nntp, http, \\\n" @@ -82223,12 +83453,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58713 +#: book.translate.xml:58767 msgid "to use in the main pass rule:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58715 +#: book.translate.xml:58769 #, no-wrap msgid "" "pass inet proto tcp from $localnet to any port $client_out \\\n" @@ -82236,27 +83466,27 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58718 +#: book.translate.xml:58772 msgid "" "A few other pass rules may be needed. This one enables <acronym>SSH</" "acronym> on the external interface::" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58721 +#: book.translate.xml:58775 #, no-wrap msgid "pass in inet proto tcp to $ext_if port ssh" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58723 +#: book.translate.xml:58777 msgid "" "This macro definition and rule allows <acronym>DNS</acronym> and " "<acronym>NTP</acronym> for internal clients:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58727 +#: book.translate.xml:58781 #, no-wrap msgid "" "udp_services = \"{ domain, ntp }\"\n" @@ -82264,7 +83494,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58730 +#: book.translate.xml:58784 msgid "" "Note the <literal>quick</literal> keyword in this rule. Since the ruleset " "consists of several rules, it is important to understand the relationships " @@ -82278,12 +83508,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:58745 +#: book.translate.xml:58799 msgid "Creating an <acronym>FTP</acronym> Proxy" msgstr "建立 <acronym>FTP</acronym> Proxy" #. (itstool) path: sect3/para -#: book.translate.xml:58747 +#: book.translate.xml:58801 msgid "" "Configuring working <acronym>FTP</acronym> rules can be problematic due to " "the nature of the <acronym>FTP</acronym> protocol. <acronym>FTP</acronym> " @@ -82292,26 +83522,26 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:58756 +#: book.translate.xml:58810 msgid "Passwords are transferred in the clear." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:58760 +#: book.translate.xml:58814 msgid "" "The protocol demands the use of at least two <acronym>TCP</acronym> " "connections (control and data) on separate ports." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:58766 +#: book.translate.xml:58820 msgid "" "When a session is established, data is communicated using randomly selected " "ports." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58771 +#: book.translate.xml:58825 msgid "" "All of these points present security challenges, even before considering any " "potential security weaknesses in client or server software. More secure " @@ -82323,7 +83553,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58778 +#: book.translate.xml:58832 msgid "" "For those situations when <acronym>FTP</acronym> is required, " "<application>PF</application> provides redirection of <acronym>FTP</acronym> " @@ -82335,26 +83565,26 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58787 +#: book.translate.xml:58841 msgid "" "To enable the <acronym>FTP</acronym> proxy, add this line to <filename>/etc/" "rc.conf</filename>:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58790 +#: book.translate.xml:58844 #, no-wrap msgid "ftpproxy_enable=\"YES\"" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58792 +#: book.translate.xml:58846 msgid "" "Then start the proxy by running <command>service ftp-proxy start</command>." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58795 +#: book.translate.xml:58849 msgid "" "For a basic configuration, three elements need to be added to <filename>/etc/" "pf.conf</filename>. First, the anchors which the proxy will use to insert " @@ -82362,7 +83592,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58800 +#: book.translate.xml:58854 #, no-wrap msgid "" "nat-anchor \"ftp-proxy/*\"\n" @@ -82370,14 +83600,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58803 +#: book.translate.xml:58857 msgid "" "Second, a pass rule is needed to allow <acronym>FTP</acronym> traffic in to " "the proxy." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58806 +#: book.translate.xml:58860 msgid "" "Third, redirection and <acronym>NAT</acronym> rules need to be defined " "before the filtering rules. Insert this <literal>rdr</literal> rule " @@ -82385,38 +83615,38 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58811 +#: book.translate.xml:58865 #, no-wrap msgid "rdr pass on $int_if proto tcp from any to any port ftp -> 127.0.0.1 port 8021" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58813 +#: book.translate.xml:58867 msgid "Finally, allow the redirected traffic to pass:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58815 +#: book.translate.xml:58869 #, no-wrap msgid "pass out proto tcp from $proxy to any port ftp" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58817 +#: book.translate.xml:58871 msgid "" "where <literal>$proxy</literal> expands to the address the proxy daemon is " "bound to." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58820 +#: book.translate.xml:58874 msgid "" "Save <filename>/etc/pf.conf</filename>, load the new rules, and verify from " "a client that <acronym>FTP</acronym> connections are working:" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58826 +#: book.translate.xml:58880 msgid "" "This example covers a basic setup where the clients in the local network " "need to contact <acronym>FTP</acronym> servers elsewhere. This basic " @@ -82431,7 +83661,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58839 +#: book.translate.xml:58893 msgid "" "For ways to run an <acronym>FTP</acronym> server protected by " "<application>PF</application> and <citerefentry><refentrytitle>ftp-proxy</" @@ -82441,12 +83671,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:58848 +#: book.translate.xml:58902 msgid "Managing <acronym>ICMP</acronym>" msgstr "管理 <acronym>ICMP</acronym>" #. (itstool) path: sect3/para -#: book.translate.xml:58850 +#: book.translate.xml:58904 msgid "" "Many of the tools used for debugging or troubleshooting a <acronym>TCP/IP</" "acronym> network rely on the Internet Control Message Protocol " @@ -82455,7 +83685,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58855 +#: book.translate.xml:58909 msgid "" "The <acronym>ICMP</acronym> protocol sends and receives <emphasis>control " "messages</emphasis> between hosts and gateways, mainly to provide feedback " @@ -82466,7 +83696,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58864 +#: book.translate.xml:58918 msgid "" "From a firewall perspective, some <acronym>ICMP</acronym> control messages " "are vulnerable to known attack vectors. Also, letting all diagnostic traffic " @@ -82476,20 +83706,20 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58872 +#: book.translate.xml:58926 #, no-wrap msgid "pass inet proto icmp from any to any" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58874 +#: book.translate.xml:58928 msgid "" "One solution is to let all <acronym>ICMP</acronym> traffic from the local " "network through while stopping all probes from outside the network:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58878 +#: book.translate.xml:58932 #, no-wrap msgid "" "pass inet proto icmp from $localnet to any keep state\n" @@ -82497,7 +83727,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58881 +#: book.translate.xml:58935 msgid "" "Additional options are available which demonstrate some of <application>PF</" "application>'s flexibility. For example, rather than allowing all " @@ -82509,25 +83739,25 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58888 +#: book.translate.xml:58942 #, no-wrap msgid "icmp_types = \"echoreq\"" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58890 +#: book.translate.xml:58944 msgid "and a rule which uses the macro:" msgstr "" #. (itstool) path: sect3/programlisting #. (itstool) path: sect4/programlisting -#: book.translate.xml:58892 book.translate.xml:58952 +#: book.translate.xml:58946 book.translate.xml:59006 #, no-wrap msgid "pass inet proto icmp all icmp-type $icmp_types keep state" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58894 +#: book.translate.xml:58948 msgid "" "If other types of <acronym>ICMP</acronym> packets are needed, expand " "<literal>icmp_types</literal> to a list of those packet types. Type " @@ -82540,14 +83770,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58902 +#: book.translate.xml:58956 msgid "" "Since Unix <command>traceroute</command> uses <acronym>UDP</acronym> by " "default, another rule is needed to allow Unix <command>traceroute</command>:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58906 +#: book.translate.xml:58960 #, no-wrap msgid "" "# allow out the default range for traceroute(8):\n" @@ -82555,7 +83785,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58909 +#: book.translate.xml:58963 msgid "" "Since <command>TRACERT.EXE</command> on Microsoft Windows systems uses " "<acronym>ICMP</acronym> echo request messages, only the first rule is needed " @@ -82567,12 +83797,12 @@ msgid "" msgstr "" #. (itstool) path: sect4/title -#: book.translate.xml:58919 +#: book.translate.xml:58973 msgid "Path <acronym>MTU</acronym> Discovery" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:58921 +#: book.translate.xml:58975 msgid "" "Internet protocols are designed to be device independent, and one " "consequence of device independence is that the optimal packet size for a " @@ -82584,7 +83814,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:58932 +#: book.translate.xml:58986 msgid "" "<acronym>TCP/IP</acronym> uses a process known as path <acronym>MTU</" "acronym> discovery to determine the right packet size for a connection. This " @@ -82599,20 +83829,20 @@ msgid "" msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:58946 +#: book.translate.xml:59000 #, no-wrap msgid "icmp_types = \"{ echoreq, unreach }\"" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:58948 +#: book.translate.xml:59002 msgid "" "Since the pass rule already uses that macro, it does not need to be modified " "in order to support the new <acronym>ICMP</acronym> type:" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:58954 +#: book.translate.xml:59008 msgid "" "<application>PF</application> allows filtering on all variations of " "<acronym>ICMP</acronym> types and codes. The list of possible types and " @@ -82623,12 +83853,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:58962 +#: book.translate.xml:59016 msgid "Using Tables" msgstr "使用 Tables" #. (itstool) path: sect3/para -#: book.translate.xml:58964 +#: book.translate.xml:59018 msgid "" "Some types of data are relevant to filtering and redirection at a given " "time, but their definition is too long to be included in the ruleset file. " @@ -82639,13 +83869,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58973 +#: book.translate.xml:59027 #, no-wrap msgid "table <clients> { 192.168.2.0/24, !192.168.2.5 }" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58975 +#: book.translate.xml:59029 msgid "" "In this example, the <literal>192.168.2.0/24</literal> network is part of " "the table, except for the address <literal>192.168.2.5</literal>, which is " @@ -82655,7 +83885,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58983 +#: book.translate.xml:59037 #, no-wrap msgid "" "192.168.2.0/24\n" @@ -82663,42 +83893,42 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58986 +#: book.translate.xml:59040 msgid "To refer to the file, define the table like this:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58988 +#: book.translate.xml:59042 #, no-wrap msgid "table <clients> persist file \"/etc/clients\"" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58990 +#: book.translate.xml:59044 msgid "Once the table is defined, it can be referenced by a rule:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:58993 +#: book.translate.xml:59047 #, no-wrap msgid "pass inet proto tcp from <clients> to any port $client_out flags S/SA keep state" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:58995 +#: book.translate.xml:59049 msgid "" "A table's contents can be manipulated live, using <command>pfctl</command>. " "This example adds another network to the table:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:58999 +#: book.translate.xml:59053 #, no-wrap msgid "<prompt>#</prompt> <userinput>pfctl -t clients -T add 192.168.1.0/16</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59001 +#: book.translate.xml:59055 msgid "" "Note that any changes made this way will take affect now, making them ideal " "for testing, but will not survive a power failure or reboot. To make the " @@ -82712,25 +83942,25 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:59013 +#: book.translate.xml:59067 #, no-wrap msgid "<prompt>#</prompt> <userinput>pfctl -t clients -T replace -f /etc/clients</userinput>" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:59017 +#: book.translate.xml:59071 msgid "Using Overload Tables to Protect <acronym>SSH</acronym>" msgstr "使用 Overload Tables 保護 <acronym>SSH</acronym>" #. (itstool) path: sect3/para -#: book.translate.xml:59020 +#: book.translate.xml:59074 msgid "" "Those who run <acronym>SSH</acronym> on an external interface have probably " "seen something like this in the authentication logs:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:59024 +#: book.translate.xml:59078 #, no-wrap msgid "" "Sep 26 03:12:34 skapet sshd[25771]: Failed password for root from 200.72.41.31 port 40992 ssh2\n" @@ -82742,7 +83972,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59031 +#: book.translate.xml:59085 msgid "" "This is indicative of a brute force attack where somebody or some program is " "trying to discover the user name and password which will let them into the " @@ -82750,7 +83980,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59035 +#: book.translate.xml:59089 msgid "" "If external <acronym>SSH</acronym> access is needed for legitimate users, " "changing the default port used by <acronym>SSH</acronym> can offer some " @@ -82762,26 +83992,26 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59045 +#: book.translate.xml:59099 msgid "" "To configure this, create this table in the tables section of the ruleset:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:59048 +#: book.translate.xml:59102 #, no-wrap msgid "table <bruteforce> persist" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59050 +#: book.translate.xml:59104 msgid "" "Then, somewhere early in the ruleset, add rules to block brute access while " "allowing legitimate access:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:59053 +#: book.translate.xml:59107 #, no-wrap msgid "" "block quick from <bruteforce>\n" @@ -82792,21 +84022,21 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59059 +#: book.translate.xml:59113 msgid "" "The part in parentheses defines the limits and the numbers should be changed " "to meet local requirements. It can be read as follows:" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59063 +#: book.translate.xml:59117 msgid "" "<literal>max-src-conn</literal> is the number of simultaneous connections " "allowed from one host." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59066 +#: book.translate.xml:59120 msgid "" "<literal>max-src-conn-rate</literal> is the rate of new connections allowed " "from any single host (<replaceable>15</replaceable>) per number of seconds " @@ -82814,7 +84044,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59071 +#: book.translate.xml:59125 msgid "" "<literal>overload <bruteforce></literal> means that any host which " "exceeds these limits gets its address added to the <literal>bruteforce</" @@ -82823,7 +84053,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59077 +#: book.translate.xml:59131 msgid "" "Finally, <literal>flush global</literal> says that when a host reaches the " "limit, that all (<literal>global</literal>) of that host's connections will " @@ -82831,7 +84061,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:59083 +#: book.translate.xml:59137 msgid "" "These rules will <emphasis>not</emphasis> block slow bruteforcers, as " "described in <link xlink:href=\"http://home.nuug.no/~peter/hailmary2013/" @@ -82839,7 +84069,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59087 +#: book.translate.xml:59141 msgid "" "This example ruleset is intended mainly as an illustration. For example, if " "a generous number of connections in general are wanted, but the desire is to " @@ -82849,7 +84079,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:59095 +#: book.translate.xml:59149 #, no-wrap msgid "" "pass quick proto { tcp, udp } from any to any port ssh \\\n" @@ -82859,12 +84089,12 @@ msgid "" msgstr "" #. (itstool) path: note/title -#: book.translate.xml:59101 +#: book.translate.xml:59155 msgid "It May Not be Necessary to Block All Overloaders" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:59104 +#: book.translate.xml:59158 msgid "" "It is worth noting that the overload mechanism is a general technique which " "does not apply exclusively to <acronym>SSH</acronym>, and it is not always " @@ -82872,7 +84102,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:59109 +#: book.translate.xml:59163 msgid "" "For example, an overload rule could be used to protect a mail service or a " "web service, and the overload table could be used in a rule to assign " @@ -82881,7 +84111,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59116 +#: book.translate.xml:59170 msgid "" "Over time, tables will be filled by overload rules and their size will grow " "incrementally, taking up more memory. Sometimes an <acronym>IP</acronym> " @@ -82891,7 +84121,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59123 +#: book.translate.xml:59177 msgid "" "For situations like these, <application>pfctl</application> provides the " "ability to expire table entries. For example, this command will remove " @@ -82900,13 +84130,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:59130 +#: book.translate.xml:59184 #, no-wrap msgid "<prompt>#</prompt> <userinput>pfctl -t bruteforce -T expire 86400</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59132 +#: book.translate.xml:59186 msgid "" "Similar functionality is provided by <package>security/expiretable</" "package>, which removes table entries which have not been accessed for a " @@ -82914,7 +84144,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59137 +#: book.translate.xml:59191 msgid "" "Once installed, <application>expiretable</application> can be run to remove " "<literal><bruteforce></literal> table entries older than a specified " @@ -82922,18 +84152,18 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:59142 +#: book.translate.xml:59196 #, no-wrap msgid "/usr/local/sbin/expiretable -v -d -t 24h bruteforce" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:59146 +#: book.translate.xml:59200 msgid "Protecting Against <acronym>SPAM</acronym>" msgstr "<acronym>SPAM</acronym> 防護" #. (itstool) path: sect3/para -#: book.translate.xml:59148 +#: book.translate.xml:59202 msgid "" "Not to be confused with the <application>spamd</application> daemon which " "comes bundled with <application>spamassassin</application>, <package>mail/" @@ -82944,7 +84174,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59158 +#: book.translate.xml:59212 msgid "" "Spammers tend to send a large number of messages, and <acronym>SPAM</" "acronym> is mainly sent from a few spammer friendly networks and a large " @@ -82953,7 +84183,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59164 +#: book.translate.xml:59218 msgid "" "When an <acronym>SMTP</acronym> connection from an address in a blacklist is " "received, <application>spamd</application> presents its banner and " @@ -82965,7 +84195,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59176 +#: book.translate.xml:59230 msgid "" "This example demonstrates the basic procedure for setting up " "<application>spamd</application> with automatically updated blacklists. " @@ -82974,12 +84204,12 @@ msgid "" msgstr "" #. (itstool) path: procedure/title -#: book.translate.xml:59183 +#: book.translate.xml:59237 msgid "Configuring <application>spamd</application>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:59186 +#: book.translate.xml:59240 msgid "" "Install the <package>mail/spamd</package> package or port. In order to use " "<application>spamd</application>'s greylisting features, " @@ -82989,29 +84219,29 @@ msgid "" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:59193 +#: book.translate.xml:59247 #, no-wrap msgid " fdescfs /dev/fd fdescfs rw 0 0" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:59195 +#: book.translate.xml:59249 msgid "Then, mount the filesystem:" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:59197 +#: book.translate.xml:59251 #, no-wrap msgid "<prompt>#</prompt> <userinput>mount fdescfs</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:59201 +#: book.translate.xml:59255 msgid "Next, edit the <application>PF</application> ruleset to include:" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:59204 +#: book.translate.xml:59258 #, no-wrap msgid "" "table <spamd> persist\n" @@ -83023,7 +84253,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:59211 +#: book.translate.xml:59265 msgid "" "The two tables <literal><spamd></literal> and <literal><spamd-" "white></literal> are essential. <acronym>SMTP</acronym> traffic from an " @@ -83033,7 +84263,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:59221 +#: book.translate.xml:59275 msgid "" "The next step is to configure <application>spamd</application> in <filename>/" "usr/local/etc/spamd.conf</filename> and to add some <filename>rc.conf</" @@ -83041,7 +84271,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:59226 +#: book.translate.xml:59280 msgid "" "The installation of <package>mail/spamd</package> includes a sample " "configuration file (<filename>/usr/local/etc/spamd.conf.sample</filename>) " @@ -83050,7 +84280,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:59233 +#: book.translate.xml:59287 msgid "" "One of the first lines in the configuration file that does not begin with a " "<literal>#</literal> comment sign contains the block which defines the " @@ -83058,7 +84288,7 @@ msgid "" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:59239 +#: book.translate.xml:59293 #, no-wrap msgid "" "all:\\\n" @@ -83066,7 +84296,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:59242 +#: book.translate.xml:59296 msgid "" "This entry adds the desired blacklists, separated by colons (<literal>:</" "literal>). To use a whitelist to subtract addresses from a blacklist, add " @@ -83075,12 +84305,12 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:59249 +#: book.translate.xml:59303 msgid "This is followed by the specified blacklist's definition:" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:59252 +#: book.translate.xml:59306 #, no-wrap msgid "" "traplist:\\\n" @@ -83091,7 +84321,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:59258 +#: book.translate.xml:59312 msgid "" "where the first line is the name of the blacklist and the second line " "specifies the list type. The <literal>msg</literal> field contains the " @@ -83106,14 +84336,14 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:59273 +#: book.translate.xml:59327 msgid "" "The definition of the specified whitelist is similar, but omits the " "<literal>msg</literal> field since a message is not needed:" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:59277 +#: book.translate.xml:59331 #, no-wrap msgid "" "whitelist:\\\n" @@ -83123,12 +84353,12 @@ msgid "" msgstr "" #. (itstool) path: tip/title -#: book.translate.xml:59283 +#: book.translate.xml:59337 msgid "Choose Data Sources with Care" msgstr "" #. (itstool) path: tip/para -#: book.translate.xml:59285 +#: book.translate.xml:59339 msgid "" "Using all the blacklists in the sample <filename>spamd.conf</filename> will " "blacklist large blocks of the Internet. Administrators need to edit the file " @@ -83137,20 +84367,20 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:59293 +#: book.translate.xml:59347 msgid "" "Next, add this entry to <filename>/etc/rc.conf</filename>. Additional flags " "are described in the man page specified by the comment:" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:59298 +#: book.translate.xml:59352 #, no-wrap msgid "spamd_flags=\"-v\" # use \"\" and see spamd-setup(8) for flags" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:59300 +#: book.translate.xml:59354 msgid "" "When finished, reload the ruleset, start <application>spamd</application> by " "typing <command>service start obspamd</command>, and complete the " @@ -83161,14 +84391,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59310 +#: book.translate.xml:59364 msgid "" "On a typical gateway in front of a mail server, hosts will soon start " "getting trapped within a few seconds to several minutes." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59314 +#: book.translate.xml:59368 msgid "" "<application>PF</application> also supports <firstterm>greylisting</" "firstterm>, which temporarily rejects messages from unknown hosts with " @@ -83179,7 +84409,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59323 +#: book.translate.xml:59377 msgid "" "More information about greylisting as a technique can be found at the <link " "xlink:href=\"http://www.greylisting.org/\">greylisting.org</link> web site. " @@ -83189,17 +84419,17 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59330 +#: book.translate.xml:59384 msgid "The basic procedure for configuring greylisting is as follows:" msgstr "" #. (itstool) path: procedure/title -#: book.translate.xml:59334 +#: book.translate.xml:59388 msgid "Configuring Greylisting" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:59337 +#: book.translate.xml:59391 msgid "" "Make sure that <citerefentry><refentrytitle>fdescfs</" "refentrytitle><manvolnum>5</manvolnum></citerefentry> is mounted as " @@ -83207,32 +84437,32 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:59342 +#: book.translate.xml:59396 msgid "" "To run <application>spamd</application> in greylisting mode, add this line " "to <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:59346 +#: book.translate.xml:59400 #, no-wrap msgid "spamd_grey=\"YES\" # use spamd greylisting if YES" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:59348 +#: book.translate.xml:59402 msgid "" "Refer to the <application>spamd</application> man page for descriptions of " "additional related parameters." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:59354 +#: book.translate.xml:59408 msgid "To complete the greylisting setup:" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:59356 +#: book.translate.xml:59410 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service restart obspamd</userinput>\n" @@ -83240,7 +84470,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59361 +#: book.translate.xml:59415 msgid "" "Behind the scenes, the <application>spamdb</application> database tool and " "the <application>spamlogd</application> whitelist updater perform essential " @@ -83250,12 +84480,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:59371 +#: book.translate.xml:59425 msgid "Network Hygiene" msgstr "網路保健" #. (itstool) path: sect3/para -#: book.translate.xml:59373 +#: book.translate.xml:59427 msgid "" "This section describes how <literal>block-policy</literal>, <literal>scrub</" "literal>, and <literal>antispoof</literal> can be used to make the ruleset " @@ -83263,7 +84493,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59378 +#: book.translate.xml:59432 msgid "" "The <literal>block-policy</literal> is an option which can be set in the " "<literal>options</literal> part of the ruleset, which precedes the " @@ -83275,20 +84505,20 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59389 +#: book.translate.xml:59443 msgid "" "If not set, the default policy is <literal>drop</literal>. To change the " "<literal>block-policy</literal>, specify the desired value:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:59394 +#: book.translate.xml:59448 #, no-wrap msgid "set block-policy return" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59396 +#: book.translate.xml:59450 msgid "" "In <application>PF</application>, <literal>scrub</literal> is a keyword " "which enables network packet normalization. This process reassembles " @@ -83300,13 +84530,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:59406 +#: book.translate.xml:59460 #, no-wrap msgid "scrub in all" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59408 +#: book.translate.xml:59462 msgid "" "Some services, such as <acronym>NFS</acronym>, require specific fragment " "handling options. Refer to <link xlink:href=\"http://www.openbsd.gr/faq/pf/" @@ -83315,20 +84545,20 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59412 +#: book.translate.xml:59466 msgid "" "This example reassembles fragments, clears the <quote>do not fragment</" "quote> bit, and sets the maximum segment size to 1440 bytes:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:59416 +#: book.translate.xml:59470 #, no-wrap msgid "scrub in all fragment reassemble no-df max-mss 1440" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59418 +#: book.translate.xml:59472 msgid "" "The <literal>antispoof</literal> mechanism protects against activity from " "spoofed or forged <acronym>IP</acronym> addresses, mainly by blocking " @@ -83337,14 +84567,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59424 +#: book.translate.xml:59478 msgid "" "These rules weed out spoofed traffic coming in from the rest of the world as " "well as any spoofed packets which originate in the local network:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:59428 +#: book.translate.xml:59482 #, no-wrap msgid "" "antispoof for $ext_if\n" @@ -83352,12 +84582,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:59433 +#: book.translate.xml:59487 msgid "Handling Non-Routable Addresses" msgstr "處理不可路由 (Non-Routable) 的位址" #. (itstool) path: sect3/para -#: book.translate.xml:59435 +#: book.translate.xml:59489 msgid "" "Even with a properly configured gateway to handle network address " "translation, one may have to compensate for other people's " @@ -83369,7 +84599,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:59445 +#: book.translate.xml:59499 msgid "" "In this example, a macro containing non-routable addresses is defined, then " "used in blocking rules. Traffic to and from these addresses is quietly " @@ -83377,7 +84607,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:59451 +#: book.translate.xml:59505 #, no-wrap msgid "" "martians = \"{ 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, \\\n" @@ -83389,17 +84619,17 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:59462 +#: book.translate.xml:59516 msgid "<application>IPFW</application>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:59464 +#: book.translate.xml:59518 msgid "<primary>firewall</primary> <secondary>IPFW</secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:59470 +#: book.translate.xml:59524 msgid "" "<application>IPFW</application> is a stateful firewall written for FreeBSD " "which supports both <acronym>IPv4</acronym> and <acronym>IPv6</acronym>. It " @@ -83411,7 +84641,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:59479 +#: book.translate.xml:59533 msgid "" "FreeBSD provides a sample ruleset in <filename>/etc/rc.firewall</filename> " "which defines several firewall types for common scenarios to assist novice " @@ -83421,7 +84651,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:59487 +#: book.translate.xml:59541 msgid "" "This section describes how to enable <application>IPFW</application>, " "provides an overview of its rule syntax, and demonstrates several rulesets " @@ -83429,19 +84659,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:59493 +#: book.translate.xml:59547 msgid "Enabling <application>IPFW</application>" msgstr "開啟 <application>IPFW</application>" #. (itstool) path: sect2/indexterm -#: book.translate.xml:59495 +#: book.translate.xml:59549 msgid "" "<primary><application>IPFW</application></primary> <secondary>enabling</" "secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:59501 +#: book.translate.xml:59555 msgid "" "<application>IPFW</application> is included in the basic FreeBSD install as " "a kernel loadable module, meaning that a custom kernel is not needed in " @@ -83449,18 +84679,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:59506 +#: book.translate.xml:59560 msgid "<primary>kernel options</primary> <secondary>IPFIREWALL</secondary>" msgstr "<primary>核心選項</primary> <secondary>IPFIREWALL</secondary>" #. (itstool) path: sect2/indexterm -#: book.translate.xml:59512 +#: book.translate.xml:59566 msgid "" "<primary>kernel options</primary> <secondary>IPFIREWALL_VERBOSE</secondary>" msgstr "<primary>核心選項</primary> <secondary>IPFIREWALL_VERBOSE</secondary>" #. (itstool) path: sect2/indexterm -#: book.translate.xml:59518 +#: book.translate.xml:59572 msgid "" "<primary>kernel options</primary> <secondary>IPFIREWALL_VERBOSE_LIMIT</" "secondary>" @@ -83468,14 +84698,14 @@ msgstr "" "<primary>核心選項</primary> <secondary>IPFIREWALL_VERBOSE_LIMIT</secondary>" #. (itstool) path: sect2/indexterm -#: book.translate.xml:59524 +#: book.translate.xml:59578 msgid "" "<primary><application>IPFW</application></primary> <secondary>kernel " "options</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:59530 +#: book.translate.xml:59584 msgid "" "For those users who wish to statically compile <application>IPFW</" "application> support into a custom kernel, refer to the instructions in " @@ -83484,7 +84714,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:59536 +#: book.translate.xml:59590 #, no-wrap msgid "" "options IPFIREWALL\t\t\t# enables IPFW\n" @@ -83495,79 +84725,79 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:59542 +#: book.translate.xml:59596 msgid "" "To configure the system to enable <application>IPFW</application> at boot " "time, add the following entry to <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:59546 +#: book.translate.xml:59600 #, no-wrap msgid "firewall_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:59548 +#: book.translate.xml:59602 msgid "" "To use one of the default firewall types provided by FreeBSD, add another " "line which specifies the type:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:59551 +#: book.translate.xml:59605 #, no-wrap msgid "firewall_type=\"open\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:59553 +#: book.translate.xml:59607 msgid "The available types are:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59557 +#: book.translate.xml:59611 msgid "<literal>open</literal>: passes all traffic." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59560 +#: book.translate.xml:59614 msgid "<literal>client</literal>: protects only this machine." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59564 +#: book.translate.xml:59618 msgid "<literal>simple</literal>: protects the whole network." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59568 +#: book.translate.xml:59622 msgid "" "<literal>closed</literal>: entirely disables IP traffic except for the " "loopback interface." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59572 +#: book.translate.xml:59626 msgid "" "<literal>workstation</literal>: protects only this machine using stateful " "rules." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59576 +#: book.translate.xml:59630 msgid "<literal>UNKNOWN</literal>: disables the loading of firewall rules." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59580 +#: book.translate.xml:59634 msgid "" "<filename><replaceable>filename</replaceable></filename>: full path of the " "file containing the firewall ruleset." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:59586 +#: book.translate.xml:59640 msgid "" "If <literal>firewall_type</literal> is set to either <literal>client</" "literal> or <literal>simple</literal>, modify the default rules found in " @@ -83575,14 +84805,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:59592 +#: book.translate.xml:59646 msgid "" "Note that the <literal>filename</literal> type is used to load a custom " "ruleset." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:59595 +#: book.translate.xml:59649 msgid "" "An alternate way to load a custom ruleset is to set the " "<literal>firewall_script</literal> variable to the absolute path of an " @@ -83593,24 +84823,24 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:59603 +#: book.translate.xml:59657 #, no-wrap msgid "firewall_script=\"/etc/ipfw.rules\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:59605 +#: book.translate.xml:59659 msgid "To enable logging, include this line:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:59607 +#: book.translate.xml:59661 #, no-wrap msgid "firewall_logging=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:59609 +#: book.translate.xml:59663 msgid "" "There is no <filename>/etc/rc.conf</filename> variable to set logging " "limits. To limit the number of times a rule is logged per connection " @@ -83619,20 +84849,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:59614 +#: book.translate.xml:59668 #, no-wrap msgid "net.inet.ip.fw.verbose_limit=<replaceable>5</replaceable>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:59616 +#: book.translate.xml:59670 msgid "" "After saving the needed edits, start the firewall. To enable logging limits " "now, also set the <command>sysctl</command> value specified above:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:59620 +#: book.translate.xml:59674 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service ipfw start</userinput>\n" @@ -83640,19 +84870,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:59625 +#: book.translate.xml:59679 msgid "<application>IPFW</application> Rule Syntax" msgstr "<application>IPFW</application> 規則語法" #. (itstool) path: sect2/indexterm -#: book.translate.xml:59627 +#: book.translate.xml:59681 msgid "" "<primary><application>IPFW</application></primary> <secondary>rule " "processing order</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:59633 +#: book.translate.xml:59687 msgid "" "When a packet enters the <application>IPFW</application> firewall, it is " "compared against the first rule in the ruleset and progresses one rule at a " @@ -83670,14 +84900,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:59649 +#: book.translate.xml:59703 msgid "" "<primary><application>IPFW</application></primary> <secondary>rule syntax</" "secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:59655 +#: book.translate.xml:59709 msgid "" "When creating an <application>IPFW</application> rule, keywords must be " "written in the following order. Some keywords are mandatory while other " @@ -83688,14 +84918,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:59665 +#: book.translate.xml:59719 msgid "" "<replaceable>CMD RULE_NUMBER set SET_NUMBER ACTION log LOG_AMOUNT PROTO from " "SRC SRC_PORT to DST DST_PORT OPTIONS</replaceable>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:59669 +#: book.translate.xml:59723 msgid "" "This section provides an overview of these keywords and their options. It is " "not an exhaustive list of every possible option. Refer to " @@ -83705,22 +84935,22 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:59677 +#: book.translate.xml:59731 msgid "CMD" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59679 +#: book.translate.xml:59733 msgid "Every rule must start with <parameter>ipfw add</parameter>." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:59685 +#: book.translate.xml:59739 msgid "RULE_NUMBER" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59687 +#: book.translate.xml:59741 msgid "" "Each rule is associated with a number from <literal>1</literal> to " "<literal>65534</literal>. The number is used to indicate the order of rule " @@ -83729,12 +84959,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:59698 +#: book.translate.xml:59752 msgid "SET_NUMBER" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59700 +#: book.translate.xml:59754 msgid "" "Each rule is associated with a set number from <literal>0</literal> to " "<literal>31</literal>. Sets can be individually disabled or enabled, making " @@ -83743,12 +84973,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:59710 book.translate.xml:60688 +#: book.translate.xml:59764 book.translate.xml:60742 msgid "ACTION" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59712 +#: book.translate.xml:59766 msgid "" "A rule can be associated with one of the following actions. The specified " "action will be executed when the packet matches the selection criterion of " @@ -83756,14 +84986,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59717 +#: book.translate.xml:59771 msgid "" "<parameter>allow | accept | pass | permit</parameter>: these keywords are " "equivalent and allow packets that match the rule." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59721 +#: book.translate.xml:59775 msgid "" "<parameter>check-state</parameter>: checks the packet against the dynamic " "state table. If a match is found, execute the action associated with the " @@ -83775,21 +85005,21 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59732 +#: book.translate.xml:59786 msgid "" "<parameter>count</parameter>: updates counters for all packets that match " "the rule. The search continues with the next rule." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59736 +#: book.translate.xml:59790 msgid "" "<parameter>deny | drop</parameter>: either word silently discards packets " "that match this rule." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59739 +#: book.translate.xml:59793 msgid "" "Additional actions are available. Refer to " "<citerefentry><refentrytitle>ipfw</refentrytitle><manvolnum>8</manvolnum></" @@ -83797,12 +85027,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:59745 +#: book.translate.xml:59799 msgid "LOG_AMOUNT" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59747 +#: book.translate.xml:59801 msgid "" "When a packet matches a rule with the <literal>log</literal> keyword, a " "message will be logged to <citerefentry><refentrytitle>syslogd</" @@ -83817,7 +85047,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:59762 +#: book.translate.xml:59816 msgid "" "Logging is done after all other packet matching conditions have been met, " "and before performing the final action on the packet. The administrator " @@ -83825,24 +85055,24 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:59771 +#: book.translate.xml:59825 msgid "PROTO" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59773 +#: book.translate.xml:59827 msgid "" "This optional value can be used to specify any protocol name or number found " "in <filename>/etc/protocols</filename>." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:59780 +#: book.translate.xml:59834 msgid "SRC" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59782 +#: book.translate.xml:59836 msgid "" "The <literal>from</literal> keyword must be followed by the source address " "or a keyword that represents the source address. An address can be " @@ -83857,24 +85087,24 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:59800 book.translate.xml:60824 +#: book.translate.xml:59854 book.translate.xml:60878 msgid "SRC_PORT" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59802 +#: book.translate.xml:59856 msgid "" "An optional source port can be specified using the port number or name from " "<filename>/etc/services</filename>." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:59809 +#: book.translate.xml:59863 msgid "DST" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59811 +#: book.translate.xml:59865 msgid "" "The <literal>to</literal> keyword must be followed by the destination " "address or a keyword that represents the destination address. The same " @@ -83883,24 +85113,24 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:59820 book.translate.xml:60861 +#: book.translate.xml:59874 book.translate.xml:60915 msgid "DST_PORT" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59822 +#: book.translate.xml:59876 msgid "" "An optional destination port can be specified using the port number or name " "from <filename>/etc/services</filename>." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:59829 book.translate.xml:60740 +#: book.translate.xml:59883 book.translate.xml:60794 msgid "OPTIONS" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59831 +#: book.translate.xml:59885 msgid "" "Several keywords can follow the source and destination. As the name " "suggests, OPTIONS are optional. Commonly used options include <literal>in</" @@ -83910,7 +85140,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59840 +#: book.translate.xml:59894 msgid "" "When a <parameter>keep-state</parameter> rule is matched, the firewall will " "create a dynamic rule which matches bidirectional traffic between the source " @@ -83918,7 +85148,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59846 +#: book.translate.xml:59900 msgid "" "The dynamic rules facility is vulnerable to resource depletion from a SYN-" "flood attack which would open a huge number of dynamic rules. To counter " @@ -83931,7 +85161,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:59858 +#: book.translate.xml:59912 msgid "" "Dozens of OPTIONS are available. Refer to <citerefentry><refentrytitle>ipfw</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> for a description of " @@ -83939,12 +85169,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:59867 book.translate.xml:60940 +#: book.translate.xml:59921 book.translate.xml:60994 msgid "Example Ruleset" msgstr "範例規則集" #. (itstool) path: sect2/para -#: book.translate.xml:59869 +#: book.translate.xml:59923 msgid "" "This section demonstrates how to create an example stateful firewall ruleset " "script named <filename>/etc/ipfw.rules</filename>. In this example, all " @@ -83955,20 +85185,20 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:59879 +#: book.translate.xml:59933 msgid "" "When first creating or testing a firewall ruleset, consider temporarily " "setting this tunable:" msgstr "" #. (itstool) path: note/programlisting -#: book.translate.xml:59882 +#: book.translate.xml:59936 #, no-wrap msgid "net.inet.ip.fw.default_to_accept=\"1\"" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:59884 +#: book.translate.xml:59938 msgid "" "This sets the default policy of <citerefentry><refentrytitle>ipfw</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> to be more permissive " @@ -83977,7 +85207,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:59890 +#: book.translate.xml:59944 msgid "" "The firewall script begins by indicating that it is a Bourne shell script " "and flushes any existing rules. It then creates the <literal>cmd</literal> " @@ -83988,7 +85218,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:59898 +#: book.translate.xml:59952 #, no-wrap msgid "" "#!/bin/sh\n" @@ -84001,14 +85231,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:59906 +#: book.translate.xml:59960 msgid "" "The first two rules allow all traffic on the trusted internal interface and " "on the loopback interface:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:59909 +#: book.translate.xml:59963 #, no-wrap msgid "" "# Change xl0 to LAN NIC interface name\n" @@ -84019,27 +85249,27 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:59915 +#: book.translate.xml:59969 msgid "" "The next rule allows the packet through if it matches an existing entry in " "the dynamic rules table:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:59918 +#: book.translate.xml:59972 #, no-wrap msgid "$cmd 00101 check-state" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:59920 +#: book.translate.xml:59974 msgid "" "The next set of rules defines which stateful connections internal systems " "can create to hosts on the Internet:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:59923 +#: book.translate.xml:59977 #, no-wrap msgid "" "# Allow access to public DNS\n" @@ -84076,7 +85306,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:59955 +#: book.translate.xml:60009 msgid "" "The next set of rules controls connections from Internet hosts to the " "internal network. It starts by denying packets typically associated with " @@ -84086,7 +85316,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:59962 +#: book.translate.xml:60016 #, no-wrap msgid "" "# Deny all inbound traffic from non-routable reserved address spaces\n" @@ -84133,14 +85363,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60004 +#: book.translate.xml:60058 msgid "" "The last rule logs all packets that do not match any of the rules in the " "ruleset:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:60007 +#: book.translate.xml:60061 #, no-wrap msgid "" "# Everything else is denied and logged\n" @@ -84149,19 +85379,19 @@ msgstr "" #. (itstool) path: info/title #. (itstool) path: sect2/title -#: book.translate.xml:60013 book.translate.xml:61094 +#: book.translate.xml:60067 book.translate.xml:61148 msgid "Configuring <acronym>NAT</acronym>" msgstr "設定 <acronym>NAT</acronym>" #. (itstool) path: sect2/indexterm -#: book.translate.xml:60025 +#: book.translate.xml:60079 msgid "" "<primary>NAT</primary> <secondary>and <application>IPFW</application></" "secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60031 +#: book.translate.xml:60085 msgid "" "FreeBSD's built-in <acronym>NAT</acronym> daemon, " "<citerefentry><refentrytitle>natd</refentrytitle><manvolnum>8</manvolnum></" @@ -84172,7 +85402,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60039 +#: book.translate.xml:60093 msgid "" "To do this, the FreeBSD machine connected to the Internet must act as a " "gateway. This system must have two <acronym>NIC</acronym>s, where one is " @@ -84186,7 +85416,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60051 +#: book.translate.xml:60105 msgid "" "Some additional configuration is needed in order to activate the " "<acronym>NAT</acronym> function of <application>IPFW</application>. If the " @@ -84196,14 +85426,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60058 +#: book.translate.xml:60112 msgid "" "To enable <acronym>NAT</acronym> support at boot time, the following must be " "in <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:60061 +#: book.translate.xml:60115 #, no-wrap msgid "" "gateway_enable=\"YES\"\t\t# enables the gateway\n" @@ -84213,7 +85443,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:60067 +#: book.translate.xml:60121 msgid "" "It is also possible to specify a configuration file which contains the " "options to pass to <citerefentry><refentrytitle>natd</" @@ -84221,20 +85451,20 @@ msgid "" msgstr "" #. (itstool) path: note/programlisting -#: book.translate.xml:60070 +#: book.translate.xml:60124 #, no-wrap msgid "natd_flags=\"-f /etc/natd.conf\"" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:60072 +#: book.translate.xml:60126 msgid "" "The specified file must contain a list of configuration options, one per " "line. For example:" msgstr "" #. (itstool) path: note/programlisting -#: book.translate.xml:60075 +#: book.translate.xml:60129 #, no-wrap msgid "" "redirect_port tcp 192.168.0.2:6667 6667\n" @@ -84242,7 +85472,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:60078 +#: book.translate.xml:60132 msgid "" "For more information about this configuration file, consult " "<citerefentry><refentrytitle>natd</refentrytitle><manvolnum>8</manvolnum></" @@ -84250,7 +85480,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60082 +#: book.translate.xml:60136 msgid "" "Next, add the <acronym>NAT</acronym> rules to the firewall ruleset. When the " "rulest contains stateful rules, the positioning of the <acronym>NAT</" @@ -84260,7 +85490,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60089 +#: book.translate.xml:60143 msgid "" "The following example builds upon the firewall ruleset shown in the previous " "section. It adds some additional entries and modifies some existing rules in " @@ -84271,7 +85501,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:60098 +#: book.translate.xml:60152 #, no-wrap msgid "" "#!/bin/sh\n" @@ -84284,7 +85514,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60106 +#: book.translate.xml:60160 msgid "" "The inbound <acronym>NAT</acronym> rule is inserted <emphasis>after</" "emphasis> the two rules which allow all traffic on the trusted internal " @@ -84296,7 +85526,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:60116 +#: book.translate.xml:60170 #, no-wrap msgid "" "$cmd 005 allow all from any to any via xl0 # exclude LAN traffic\n" @@ -84307,7 +85537,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60122 +#: book.translate.xml:60176 msgid "" "The outbound rules are modified to replace the <literal>allow</literal> " "action with the <literal>$skip</literal> variable, indicating that rule " @@ -84318,7 +85548,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:60131 +#: book.translate.xml:60185 #, no-wrap msgid "" "# Authorized outbound packets\n" @@ -84329,7 +85559,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60137 +#: book.translate.xml:60191 msgid "" "The inbound rules remain the same, except for the very last rule which " "removes the <literal> via $pif</literal> in order to catch both inbound and " @@ -84344,7 +85574,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:60150 +#: book.translate.xml:60204 #, no-wrap msgid "" "$cmd 499 deny log all from any to any\n" @@ -84353,7 +85583,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60154 +#: book.translate.xml:60208 msgid "" "In this example, rules <literal>100</literal>, <literal>101</literal>, " "<literal>125</literal>, <literal>500</literal>, and <literal>510</literal> " @@ -84363,7 +85593,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60162 +#: book.translate.xml:60216 msgid "" "Consider an internal web browser which initializes a new outbound " "<acronym>HTTP</acronym> session over port 80. When the first outbound packet " @@ -84386,7 +85616,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60186 +#: book.translate.xml:60240 msgid "" "On the inbound side, the ruleset has to deny bad packets and allow only " "authorized services. A packet which matches an inbound rule is posted to the " @@ -84398,12 +85628,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:60198 +#: book.translate.xml:60252 msgid "Port Redirection" msgstr "Port 重新導向" #. (itstool) path: sect3/para -#: book.translate.xml:60200 +#: book.translate.xml:60254 msgid "" "The drawback with <citerefentry><refentrytitle>natd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> is that the " @@ -84417,7 +85647,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60210 +#: book.translate.xml:60264 msgid "" "For example, an <acronym>IRC</acronym> server runs on client <systemitem>A</" "systemitem> and a web server runs on client <systemitem>B</systemitem>. For " @@ -84427,12 +85657,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60217 +#: book.translate.xml:60271 msgid "The syntax for <option>-redirect_port</option> is as follows:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:60220 +#: book.translate.xml:60274 #, no-wrap msgid "" " -redirect_port proto targetIP:targetPORT[-targetPORT]\n" @@ -84441,12 +85671,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60224 +#: book.translate.xml:60278 msgid "In the above example, the argument should be:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:60226 +#: book.translate.xml:60280 #, no-wrap msgid "" " -redirect_port tcp 192.168.0.2:6667 6667\n" @@ -84454,14 +85684,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60229 +#: book.translate.xml:60283 msgid "" "This redirects the proper <acronym>TCP</acronym> ports to the <acronym>LAN</" "acronym> client machines." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60232 +#: book.translate.xml:60286 msgid "" "Port ranges over individual ports can be indicated with <option>-" "redirect_port</option>. For example, <replaceable>tcp 192.168.0.2:2000-3000 " @@ -84470,7 +85700,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60239 +#: book.translate.xml:60293 msgid "" "These options can be used when directly running " "<citerefentry><refentrytitle>natd</refentrytitle><manvolnum>8</manvolnum></" @@ -84479,7 +85709,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60245 +#: book.translate.xml:60299 msgid "" "For further configuration options, consult " "<citerefentry><refentrytitle>natd</refentrytitle><manvolnum>8</manvolnum></" @@ -84487,17 +85717,17 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:60250 +#: book.translate.xml:60304 msgid "Address Redirection" msgstr "位址重新導向" #. (itstool) path: sect3/indexterm -#: book.translate.xml:60252 +#: book.translate.xml:60306 msgid "<primary>address redirection</primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60256 +#: book.translate.xml:60310 msgid "" "Address redirection is useful if more than one <acronym>IP</acronym> address " "is available. Each <acronym>LAN</acronym> client can be assigned its own " @@ -84520,47 +85750,47 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60274 +#: book.translate.xml:60328 msgid "The <option>-redirect_address</option> syntax is as follows:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:60277 +#: book.translate.xml:60331 #, no-wrap msgid "-redirect_address localIP publicIP" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:60284 +#: book.translate.xml:60338 msgid "localIP" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:60285 +#: book.translate.xml:60339 msgid "" "The internal <acronym>IP</acronym> address of the <acronym>LAN</acronym> " "client." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:60290 +#: book.translate.xml:60344 msgid "publicIP" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:60291 +#: book.translate.xml:60345 msgid "" "The external <acronym>IP</acronym> address corresponding to the " "<acronym>LAN</acronym> client." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60299 +#: book.translate.xml:60353 msgid "In the example, this argument would read:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:60301 +#: book.translate.xml:60355 #, no-wrap msgid "" "-redirect_address 192.168.0.2 128.1.1.2\n" @@ -84568,7 +85798,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60304 +#: book.translate.xml:60358 msgid "" "Like <option>-redirect_port</option>, these arguments are placed within the " "<literal>natd_flags=\"\"</literal> option of <filename>/etc/rc.conf</" @@ -84578,7 +85808,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60312 +#: book.translate.xml:60366 msgid "" "The external <acronym>IP</acronym> addresses on the " "<citerefentry><refentrytitle>natd</refentrytitle><manvolnum>8</manvolnum></" @@ -84588,17 +85818,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:60320 +#: book.translate.xml:60374 msgid "The <application>IPFW</application> Command" msgstr "<application>IPFW</application> 指令" #. (itstool) path: sect2/indexterm -#: book.translate.xml:60322 +#: book.translate.xml:60376 msgid "<primary><command>ipfw</command></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60324 +#: book.translate.xml:60378 msgid "" "<command>ipfw</command> can be used to make manual, single rule additions or " "deletions to the active firewall while it is running. The problem with using " @@ -84609,7 +85839,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60333 +#: book.translate.xml:60387 msgid "" "<command>ipfw</command> is a useful way to display the running firewall " "rules to the console screen. The <application>IPFW</application> accounting " @@ -84620,31 +85850,31 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60341 +#: book.translate.xml:60395 msgid "To list all the running rules in sequence:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:60343 +#: book.translate.xml:60397 #, no-wrap msgid "<prompt>#</prompt> <userinput>ipfw list</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60345 +#: book.translate.xml:60399 msgid "" "To list all the running rules with a time stamp of when the last time the " "rule was matched:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:60348 +#: book.translate.xml:60402 #, no-wrap msgid "<prompt>#</prompt> <userinput>ipfw -t list</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60350 +#: book.translate.xml:60404 msgid "" "The next example lists accounting information and the packet count for " "matched rules along with the rules themselves. The first column is the rule " @@ -84653,71 +85883,71 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:60356 +#: book.translate.xml:60410 #, no-wrap msgid "<prompt>#</prompt> <userinput>ipfw -a list</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60358 +#: book.translate.xml:60412 msgid "To list dynamic rules in addition to static rules:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:60360 +#: book.translate.xml:60414 #, no-wrap msgid "<prompt>#</prompt> <userinput>ipfw -d list</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60362 +#: book.translate.xml:60416 msgid "To also show the expired dynamic rules:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:60364 +#: book.translate.xml:60418 #, no-wrap msgid "<prompt>#</prompt> <userinput>ipfw -d -e list</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60366 +#: book.translate.xml:60420 msgid "To zero the counters:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:60368 +#: book.translate.xml:60422 #, no-wrap msgid "<prompt>#</prompt> <userinput>ipfw zero</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60370 +#: book.translate.xml:60424 msgid "" "To zero the counters for just the rule with number <replaceable>NUM</" "replaceable>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:60373 +#: book.translate.xml:60427 #, no-wrap msgid "<prompt>#</prompt> <userinput>ipfw zero <replaceable>NUM</replaceable></userinput>" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:60376 +#: book.translate.xml:60430 msgid "Logging Firewall Messages" msgstr "記錄防火牆訊息" #. (itstool) path: sect3/indexterm -#: book.translate.xml:60378 +#: book.translate.xml:60432 msgid "" "<primary><application>IPFW</application></primary> <secondary>logging</" "secondary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60384 +#: book.translate.xml:60438 msgid "" "Even with the logging facility enabled, <application>IPFW</application> will " "not generate any rule logging on its own. The firewall administrator decides " @@ -84730,7 +85960,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60396 +#: book.translate.xml:60450 msgid "" "Logging is a two edged sword. If one is not careful, an over abundance of " "log data or a DoS attack can fill the disk with log files. Log messages are " @@ -84739,7 +85969,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60402 +#: book.translate.xml:60456 msgid "" "The <literal>IPFIREWALL_VERBOSE_LIMIT=5</literal> kernel option limits the " "number of consecutive messages sent to <citerefentry><refentrytitle>syslogd</" @@ -84754,13 +85984,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:60416 +#: book.translate.xml:60470 #, no-wrap msgid "last message repeated 45 times" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60418 +#: book.translate.xml:60472 msgid "" "All logged packets messages are written by default to <filename>/var/log/" "security</filename>, which is defined in <filename>/etc/syslog.conf</" @@ -84768,12 +85998,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:60424 +#: book.translate.xml:60478 msgid "Building a Rule Script" msgstr "建立規則 Script" #. (itstool) path: sect3/para -#: book.translate.xml:60426 +#: book.translate.xml:60480 msgid "" "Most experienced <application>IPFW</application> users create a file " "containing the rules and code them in a manner compatible with running them " @@ -84785,7 +86015,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60436 +#: book.translate.xml:60490 msgid "" "This example script is compatible with the syntax used by the " "<citerefentry><refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum></" @@ -84798,12 +86028,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60443 +#: book.translate.xml:60497 msgid "Start the rules file like this:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:60445 +#: book.translate.xml:60499 #, no-wrap msgid "" "############### start of example ipfw rules script #############\n" @@ -84824,39 +86054,39 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60461 +#: book.translate.xml:60515 msgid "" "The rules are not important as the focus of this example is how the symbolic " "substitution fields are populated." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60465 +#: book.translate.xml:60519 msgid "" "If the above example was in <filename>/etc/ipfw.rules</filename>, the rules " "could be reloaded by the following command:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:60469 +#: book.translate.xml:60523 #, no-wrap msgid "<prompt>#</prompt> <userinput>sh /etc/ipfw.rules</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60471 +#: book.translate.xml:60525 msgid "" "<filename>/etc/ipfw.rules</filename> can be located anywhere and the file " "can have any name." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:60474 +#: book.translate.xml:60528 msgid "The same thing could be accomplished by running these commands by hand:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:60477 +#: book.translate.xml:60531 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ipfw -q -f flush</userinput>\n" @@ -84869,19 +86099,19 @@ msgid "" msgstr "" #. (itstool) path: sect1/title -#: book.translate.xml:60489 +#: book.translate.xml:60543 msgid "IPFILTER (IPF)" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:60491 +#: book.translate.xml:60545 msgid "" "<primary>firewall</primary> <secondary><application>IPFILTER</application></" "secondary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:60497 +#: book.translate.xml:60551 msgid "" "<application>IPFILTER</application>, also known as <application>IPF</" "application>, is a cross-platform, open source firewall which has been " @@ -84890,7 +86120,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:60502 +#: book.translate.xml:60556 msgid "" "<application>IPFILTER</application> is a kernel-side firewall and " "<acronym>NAT</acronym> mechanism that can be controlled and monitored by " @@ -84904,7 +86134,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:60514 +#: book.translate.xml:60568 msgid "" "<application>IPF</application> was originally written using a rule " "processing logic of <quote>the last matching rule wins</quote> and only used " @@ -84914,7 +86144,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:60521 +#: book.translate.xml:60575 msgid "" "The <application>IPF</application> FAQ is at <uri xlink:href=\"http://www." "phildev.net/ipf/index.html\">http://www.phildev.net/ipf/index.html</uri>. A " @@ -84923,7 +86153,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:60525 +#: book.translate.xml:60579 msgid "" "This section of the Handbook focuses on <application>IPF</application> as it " "pertains to FreeBSD. It provides examples of rules that contain the " @@ -84931,19 +86161,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:60532 +#: book.translate.xml:60586 msgid "Enabling <application>IPF</application>" msgstr "開啟 <application>IPF</application>" #. (itstool) path: sect2/indexterm -#: book.translate.xml:60534 +#: book.translate.xml:60588 msgid "" "<primary><application>IPFILTER</application></primary> <secondary>enabling</" "secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60540 +#: book.translate.xml:60594 msgid "" "<application>IPF</application> is included in the basic FreeBSD install as a " "kernel loadable module, meaning that a custom kernel is not needed in order " @@ -84951,7 +86181,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:60545 +#: book.translate.xml:60599 msgid "" "<primary>kernel options</primary> <secondary><application>IPFILTER</" "application></secondary>" @@ -84960,12 +86190,12 @@ msgstr "" "secondary>" #. (itstool) path: sect2/indexterm -#: book.translate.xml:60551 +#: book.translate.xml:60605 msgid "<primary>kernel options</primary> <secondary>IPFILTER_LOG</secondary>" msgstr "<primary>核心選項</primary> <secondary>IPFILTER_LOG</secondary>" #. (itstool) path: sect2/indexterm -#: book.translate.xml:60557 +#: book.translate.xml:60611 msgid "" "<primary>kernel options</primary> <secondary>IPFILTER_DEFAULT_BLOCK</" "secondary>" @@ -84973,14 +86203,14 @@ msgstr "" "<primary>核心選項</primary> <secondary>IPFILTER_DEFAULT_BLOCK</secondary>" #. (itstool) path: sect2/indexterm -#: book.translate.xml:60563 +#: book.translate.xml:60617 msgid "" "<primary><application>IPFILTER</application></primary> <secondary>kernel " "options</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60569 +#: book.translate.xml:60623 msgid "" "For users who prefer to statically compile <application>IPF</application> " "support into a custom kernel, refer to the instructions in <xref linkend=" @@ -84988,7 +86218,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:60574 +#: book.translate.xml:60628 #, no-wrap msgid "" "options IPFILTER\n" @@ -84998,7 +86228,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60579 +#: book.translate.xml:60633 msgid "" "where <literal>options IPFILTER</literal> enables support for " "<application>IPFILTER</application>, <literal>options IPFILTER_LOG</literal> " @@ -85012,7 +86242,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60592 +#: book.translate.xml:60646 msgid "" "To configure the system to enable <application>IPF</application> at boot " "time, add the following entries to <filename>/etc/rc.conf</filename>. These " @@ -85023,7 +86253,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:60601 +#: book.translate.xml:60655 #, no-wrap msgid "" "ipfilter_enable=\"YES\" # Start ipf firewall\n" @@ -85036,13 +86266,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60609 +#: book.translate.xml:60663 msgid "" "If <acronym>NAT</acronym> functionality is needed, also add these lines:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:60612 +#: book.translate.xml:60666 #, no-wrap msgid "" "gateway_enable=\"YES\" # Enable as LAN gateway\n" @@ -85051,18 +86281,18 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60616 +#: book.translate.xml:60670 msgid "Then, to start <application>IPF</application> now:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:60618 +#: book.translate.xml:60672 #, no-wrap msgid "<prompt>#</prompt> <userinput>service ipfilter start</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60620 +#: book.translate.xml:60674 msgid "" "To load the firewall rules, specify the name of the ruleset file using " "<command>ipf</command>. The following command can be used to replace the " @@ -85070,20 +86300,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:60625 +#: book.translate.xml:60679 #, no-wrap msgid "<prompt>#</prompt> <userinput>ipf -Fa -f /etc/ipf.rules</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60627 +#: book.translate.xml:60681 msgid "" "where <option>-Fa</option> flushes all the internal rules tables and " "<option>-f</option> specifies the file containing the rules to load." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60631 +#: book.translate.xml:60685 msgid "" "This provides the ability to make changes to a custom ruleset and update the " "running firewall with a fresh copy of the rules without having to reboot the " @@ -85092,7 +86322,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60637 +#: book.translate.xml:60691 msgid "" "Refer to <citerefentry><refentrytitle>ipf</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> for details on the other flags available with this " @@ -85100,19 +86330,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:60642 +#: book.translate.xml:60696 msgid "<application>IPF</application> Rule Syntax" msgstr "<application>IPF</application> 規則語法" #. (itstool) path: sect2/indexterm -#: book.translate.xml:60644 +#: book.translate.xml:60698 msgid "" "<primary><application>IPFILTER</application></primary> <secondary>rule " "syntax</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60650 +#: book.translate.xml:60704 msgid "" "This section describes the <application>IPF</application> rule syntax used " "to create stateful rules. When creating rules, keep in mind that unless the " @@ -85125,7 +86355,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60661 +#: book.translate.xml:60715 msgid "" "When creating rules, a <literal>#</literal> character is used to mark the " "start of a comment and may appear at the end of a rule, to explain that " @@ -85133,7 +86363,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60666 +#: book.translate.xml:60720 msgid "" "The keywords which are used in rules must be written in a specific order, " "from left to right. Some keywords are mandatory while others are optional. " @@ -85144,7 +86374,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60675 +#: book.translate.xml:60729 msgid "" "<replaceable>ACTION DIRECTION OPTIONS proto PROTO_TYPE from SRC_ADDR " "SRC_PORT to DST_ADDR DST_PORT TCP_FLAG|ICMP_TYPE keep state STATE</" @@ -85152,7 +86382,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60679 +#: book.translate.xml:60733 msgid "" "This section describes each of these keywords and their options. It is not " "an exhaustive list of every possible option. Refer to " @@ -85163,7 +86393,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60690 +#: book.translate.xml:60744 msgid "" "The action keyword indicates what to do with the packet if it matches that " "rule. Every rule <emphasis>must</emphasis> have an action. The following " @@ -85171,91 +86401,91 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60695 +#: book.translate.xml:60749 msgid "<literal>block</literal>: drops the packet." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60697 +#: book.translate.xml:60751 msgid "<literal>pass</literal>: allows the packet." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60699 +#: book.translate.xml:60753 msgid "<literal>log</literal>: generates a log record." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60702 +#: book.translate.xml:60756 msgid "" "<literal>count</literal>: counts the number of packets and bytes which can " "provide an indication of how often a rule is used." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60706 +#: book.translate.xml:60760 msgid "" "<literal>auth</literal>: queues the packet for further processing by another " "program." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60709 +#: book.translate.xml:60763 msgid "" "<literal>call</literal>: provides access to functions built into " "<application>IPF</application> that allow more complex actions." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60713 +#: book.translate.xml:60767 msgid "" "<literal>decapsulate</literal>: removes any headers in order to process the " "contents of the packet." msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:60719 +#: book.translate.xml:60773 msgid "DIRECTION" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60721 +#: book.translate.xml:60775 msgid "" "Next, each rule must explicitly state the direction of traffic using one of " "these keywords:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60724 +#: book.translate.xml:60778 msgid "<literal>in</literal>: the rule is applied against an inbound packet." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60727 +#: book.translate.xml:60781 msgid "<literal>out</literal>: the rule is applied against an outbound packet." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60730 +#: book.translate.xml:60784 msgid "<literal>all</literal>: the rule applies to either direction." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60733 +#: book.translate.xml:60787 msgid "" "If the system has multiple interfaces, the interface can be specified along " "with the direction. An example would be <literal>in on fxp0</literal>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60742 +#: book.translate.xml:60796 msgid "" "Options are optional. However, if multiple options are specified, they must " "be used in the order shown here." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60746 +#: book.translate.xml:60800 msgid "" "<literal>log</literal>: when performing the specified ACTION, the contents " "of the packet's headers will be written to the " @@ -85264,7 +86494,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60751 +#: book.translate.xml:60805 msgid "" "<literal>quick</literal>: if a packet matches this rule, the ACTION " "specified by the rule occurs and no further processing of any following " @@ -85272,7 +86502,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60756 +#: book.translate.xml:60810 msgid "" "<literal>on</literal>: must be followed by the interface name as displayed " "by <citerefentry><refentrytitle>ifconfig</refentrytitle><manvolnum>8</" @@ -85281,21 +86511,21 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60761 +#: book.translate.xml:60815 msgid "" "When using the <literal>log</literal> keyword, the following qualifiers may " "be used in this order:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60765 +#: book.translate.xml:60819 msgid "" "<literal>body</literal>: indicates that the first 128 bytes of the packet " "contents will be logged after the headers." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60769 +#: book.translate.xml:60823 msgid "" "<literal>first</literal>: if the <literal>log</literal> keyword is being " "used in conjunction with a <literal>keep state</literal> option, this option " @@ -85304,7 +86534,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60776 +#: book.translate.xml:60830 msgid "" "Additional options are available to specify error return messages. Refer to " "<citerefentry><refentrytitle>ipf</refentrytitle><manvolnum>5</manvolnum></" @@ -85312,12 +86542,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:60784 +#: book.translate.xml:60838 msgid "PROTO_TYPE" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60786 +#: book.translate.xml:60840 msgid "" "The protocol type is optional. However, it is mandatory if the rule needs to " "specify a SRC_PORT or a DST_PORT as it defines the type of protocol. When " @@ -85330,12 +86560,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:60802 +#: book.translate.xml:60856 msgid "SRC_ADDR" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60804 +#: book.translate.xml:60858 msgid "" "The <literal>from</literal> keyword is mandatory and is followed by a " "keyword which represents the source of the packet. The source can be a " @@ -85346,7 +86576,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60812 +#: book.translate.xml:60866 msgid "" "There is no way to match ranges of <acronym>IP</acronym> addresses which do " "not express themselves easily using the dotted numeric form / mask-length " @@ -85357,7 +86587,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60826 +#: book.translate.xml:60880 msgid "" "The port number of the source is optional. However, if it is used, it " "requires PROTO_TYPE to be first defined in the rule. The port number must " @@ -85365,7 +86595,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60831 +#: book.translate.xml:60885 msgid "" "A number of different comparison operators are supported: <literal>=</" "literal> (equal to), <literal>!=</literal> (not equal to), <literal><</" @@ -85375,7 +86605,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60840 +#: book.translate.xml:60894 msgid "" "To specify port ranges, place the two port numbers between <literal><>" "</literal> (less than and greater than ), <literal>><</literal> " @@ -85384,12 +86614,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:60849 +#: book.translate.xml:60903 msgid "DST_ADDR" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60851 +#: book.translate.xml:60905 msgid "" "The <literal>to</literal> keyword is mandatory and is followed by a keyword " "which represents the destination of the packet. Similar to SRC_ADDR, it can " @@ -85399,7 +86629,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60863 +#: book.translate.xml:60917 msgid "" "Similar to SRC_PORT, the port number of the destination is optional. " "However, if it is used, it requires PROTO_TYPE to be first defined in the " @@ -85408,12 +86638,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:60872 +#: book.translate.xml:60926 msgid "TCP_FLAG|ICMP_TYPE" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60874 +#: book.translate.xml:60928 msgid "" "If <literal>tcp</literal> is specifed as the PROTO_TYPE, flags can be " "specified as letters, where each letter represents one of the possible " @@ -85425,7 +86655,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60888 +#: book.translate.xml:60942 msgid "" "If <literal>icmp</literal> is specifed as the PROTO_TYPE, the <acronym>ICMP</" "acronym> type to match can be specified. Refer to " @@ -85434,12 +86664,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:60896 +#: book.translate.xml:60950 msgid "STATE" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60898 +#: book.translate.xml:60952 msgid "" "If a <literal>pass</literal> rule contains <literal>keep state</literal>, " "<application>IPF</application> will add an entry to its dynamic state table " @@ -85451,7 +86681,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60910 +#: book.translate.xml:60964 msgid "" "In <application>IPF</application>, packets destined to go out through the " "interface connected to the public Internet are first checked against the " @@ -85468,7 +86698,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:60928 +#: book.translate.xml:60982 msgid "" "Several keywords can be added after <literal>keep state</literal>. If used, " "these keywords set various options that control stateful filtering, such as " @@ -85478,14 +86708,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60942 +#: book.translate.xml:60996 msgid "" "This section demonstrates how to create an example ruleset which only allows " "services matching <literal>pass</literal> rules and blocks all others." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60946 +#: book.translate.xml:61000 msgid "" "FreeBSD uses the loopback interface (<filename>lo0</filename>) and the " "<acronym>IP</acronym> address <systemitem class=\"ipaddress\">127.0.0.1</" @@ -85494,7 +86724,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:60953 +#: book.translate.xml:61007 #, no-wrap msgid "" "# no restrictions on loopback interface\n" @@ -85503,7 +86733,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60957 +#: book.translate.xml:61011 msgid "" "The public interface connected to the Internet is used to authorize and " "control access of all outbound and inbound connections. If one or more " @@ -85516,14 +86746,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60968 +#: book.translate.xml:61022 msgid "" "These two rules allow all traffic to pass through a trusted <acronym>LAN</" "acronym> interface named <filename>xl0</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:60972 +#: book.translate.xml:61026 #, no-wrap msgid "" "# no restrictions on inside LAN interface for private network\n" @@ -85532,7 +86762,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60976 +#: book.translate.xml:61030 msgid "" "The rules for the public interface's outbound and inbound sections should " "have the most frequently matched rules placed before less commonly matched " @@ -85541,7 +86771,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:60982 +#: book.translate.xml:61036 msgid "" "This set of rules defines the outbound section of the public interface named " "<filename>dc0</filename>. These rules keep state and identify the specific " @@ -85551,7 +86781,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:60990 +#: book.translate.xml:61044 #, no-wrap msgid "" "# interface facing Internet (outbound)\n" @@ -85596,7 +86826,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61030 +#: book.translate.xml:61084 msgid "" "This example of the rules in the inbound section of the public interface " "blocks all undesirable packets first. This reduces the number of packets " @@ -85604,7 +86834,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:61035 +#: book.translate.xml:61089 #, no-wrap msgid "" "# interface facing Internet (inbound)\n" @@ -85645,7 +86875,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61071 +#: book.translate.xml:61125 msgid "" "Any time there are logged messages on a rule with the <literal>log first</" "literal> option, run <command>ipfstat -hio</command> to evaluate how many " @@ -85654,7 +86884,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61077 +#: book.translate.xml:61131 msgid "" "The rest of the rules in the inbound section define which connections are " "allowed to be initiated from the Internet. The last rule denies all " @@ -85663,7 +86893,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:61082 +#: book.translate.xml:61136 #, no-wrap msgid "" "# Allow traffic in from ISP's DHCP server. Replace z.z.z.z with\n" @@ -85678,22 +86908,22 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:61098 +#: book.translate.xml:61152 msgid "<primary>IP masquerading</primary> <see>NAT</see>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:61104 +#: book.translate.xml:61158 msgid "<primary>network address translation</primary> <see>NAT</see>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:61110 +#: book.translate.xml:61164 msgid "<primary><command>ipnat</command></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61112 +#: book.translate.xml:61166 msgid "" "To enable <acronym>NAT</acronym>, add these statements to <filename>/etc/rc." "conf</filename> and specify the name of the file containing the " @@ -85701,7 +86931,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:61116 +#: book.translate.xml:61170 #, no-wrap msgid "" "gateway_enable=\"YES\"\n" @@ -85710,7 +86940,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61120 +#: book.translate.xml:61174 msgid "" "<acronym>NAT</acronym> rules are flexible and can accomplish many different " "things to fit the needs of both commercial and home users. The rule syntax " @@ -85721,7 +86951,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61126 +#: book.translate.xml:61180 msgid "" "The basic syntax for a <acronym>NAT</acronym> rule is as follows, where " "<literal>map</literal> starts the rule and <replaceable>IF</replaceable> " @@ -85729,13 +86959,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:61131 +#: book.translate.xml:61185 #, no-wrap msgid "map <replaceable>IF</replaceable> <replaceable>LAN_IP_RANGE</replaceable> -> <replaceable>PUBLIC_ADDRESS</replaceable>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61133 +#: book.translate.xml:61187 msgid "" "The <replaceable>LAN_IP_RANGE</replaceable> is the range of <acronym>IP</" "acronym> addresses used by internal clients. Usually, it is a private " @@ -85747,7 +86977,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61142 +#: book.translate.xml:61196 msgid "" "In <application>IPF</application>, when a packet arrives at the firewall " "from the <acronym>LAN</acronym> with a public destination, it first passes " @@ -85769,7 +86999,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61165 +#: book.translate.xml:61219 msgid "" "For networks that have large numbers of internal systems or multiple " "subnets, the process of funneling every private <acronym>IP</acronym> " @@ -85778,7 +87008,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61171 +#: book.translate.xml:61225 msgid "" "The first method is to assign a range of ports to use as source ports. By " "adding the <literal>portmap</literal> keyword, <acronym>NAT</acronym> can be " @@ -85786,26 +87016,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:61176 +#: book.translate.xml:61230 #, no-wrap msgid "map dc0 192.168.1.0/24 -> 0/32 portmap tcp/udp 20000:60000" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61178 +#: book.translate.xml:61232 msgid "" "Alternately, use the <literal>auto</literal> keyword which tells " "<acronym>NAT</acronym> to determine the ports that are available for use:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:61182 +#: book.translate.xml:61236 #, no-wrap msgid "map dc0 192.168.1.0/24 -> 0/32 portmap tcp/udp auto" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61184 +#: book.translate.xml:61238 msgid "" "The second method is to use a pool of public addresses. This is useful when " "there are too many <acronym>LAN</acronym> addresses to fit into a single " @@ -85816,14 +87046,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61193 +#: book.translate.xml:61247 msgid "" "The range of public <acronym>IP</acronym> addresses can be specified using a " "netmask or <acronym>CIDR</acronym> notation. These two rules are equivalent:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:61197 +#: book.translate.xml:61251 #, no-wrap msgid "" "map dc0 192.168.1.0/24 -> 204.134.75.0/255.255.255.0\n" @@ -85831,7 +87061,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61200 +#: book.translate.xml:61254 msgid "" "A common practice is to have a publically accessible web server or mail " "server segregated to an internal network segment. The traffic from these " @@ -85843,26 +87073,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:61209 +#: book.translate.xml:61263 #, no-wrap msgid "rdr dc0 20.20.20.5/32 port 80 -> 10.0.10.25 port 80" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61211 +#: book.translate.xml:61265 msgid "" "If it is the only web server, this rule would also work as it redirects all " "external <acronym>HTTP</acronym> requests to <literal>10.0.10.25</literal>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:61215 +#: book.translate.xml:61269 #, no-wrap msgid "rdr dc0 0.0.0.0/0 port 80 -> 10.0.10.25 port 80" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61217 +#: book.translate.xml:61271 msgid "" "<application>IPF</application> has a built in <acronym>FTP</acronym> proxy " "which can be used with <acronym>NAT</acronym>. It monitors all outbound " @@ -85873,7 +87103,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61226 +#: book.translate.xml:61280 msgid "" "In this example, the first rule calls the proxy for outbound <acronym>FTP</" "acronym> traffic from the internal <acronym>LAN</acronym>. The second rule " @@ -85883,7 +87113,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:61234 +#: book.translate.xml:61288 #, no-wrap msgid "" "map dc0 10.0.10.0/29 -> 0/32 proxy port 21 ftp/tcp\n" @@ -85892,7 +87122,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61238 +#: book.translate.xml:61292 msgid "" "The <acronym>FTP</acronym> <literal>map</literal> rules go before the " "<acronym>NAT</acronym> rule so that when a packet matches an <acronym>FTP</" @@ -85904,7 +87134,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61248 +#: book.translate.xml:61302 msgid "" "Without the <acronym>FTP</acronym> proxy, the following firewall rules would " "instead be needed. Note that without the proxy, all ports above " @@ -85912,7 +87142,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:61253 +#: book.translate.xml:61307 #, no-wrap msgid "" "# Allow out LAN PC client FTP to public Internet\n" @@ -85927,7 +87157,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61263 +#: book.translate.xml:61317 msgid "" "Whenever the file containing the <acronym>NAT</acronym> rules is edited, run " "<command>ipnat</command> with <option>-CF</option> to delete the current " @@ -85937,65 +87167,65 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:61271 +#: book.translate.xml:61325 #, no-wrap msgid "<prompt>#</prompt> <userinput>ipnat -CF -f /etc/ipnat.rules</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61273 +#: book.translate.xml:61327 msgid "To display the <acronym>NAT</acronym> statistics:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:61275 +#: book.translate.xml:61329 #, no-wrap msgid "<prompt>#</prompt> <userinput>ipnat -s</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61277 +#: book.translate.xml:61331 msgid "To list the <acronym>NAT</acronym> table's current mappings:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:61280 +#: book.translate.xml:61334 #, no-wrap msgid "<prompt>#</prompt> <userinput>ipnat -l</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61282 +#: book.translate.xml:61336 msgid "" "To turn verbose mode on and display information relating to rule processing " "and active rules and table entries:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:61285 +#: book.translate.xml:61339 #, no-wrap msgid "<prompt>#</prompt> <userinput>ipnat -v</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:61401 +#: book.translate.xml:61455 msgid "Viewing <application>IPF</application> Statistics" msgstr "檢視 <application>IPF</application> 統計資訊" #. (itstool) path: sect2/indexterm -#: book.translate.xml:61403 +#: book.translate.xml:61457 msgid "<primary><command>ipfstat</command></primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:61405 +#: book.translate.xml:61459 msgid "" "<primary><application>IPFILTER</application></primary> " "<secondary>statistics</secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61411 +#: book.translate.xml:61465 msgid "" "<application>IPF</application> includes " "<citerefentry><refentrytitle>ipfstat</refentrytitle><manvolnum>8</" @@ -86006,12 +87236,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61420 +#: book.translate.xml:61474 msgid "The default <command>ipfstat</command> output looks like this:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:61423 +#: book.translate.xml:61477 #, no-wrap msgid "" "input packets: blocked 99286 passed 1255609 nomatch 14686 counted 0\n" @@ -86034,7 +87264,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61441 +#: book.translate.xml:61495 msgid "" "Several options are available. When supplied with either <option>-i</option> " "for inbound or <option>-o</option> for outbound, the command will retrieve " @@ -86045,7 +87275,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:61450 +#: book.translate.xml:61504 #, no-wrap msgid "" "@1 pass out on xl0 from any to any\n" @@ -86054,7 +87284,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61454 +#: book.translate.xml:61508 msgid "" "Include <option>-h</option> to prefix each rule with a count of how many " "times the rule was matched. For example, <command>ipfstat -oh</command> " @@ -86063,7 +87293,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:61459 +#: book.translate.xml:61513 #, no-wrap msgid "" "2451423 pass out on xl0 from any to any\n" @@ -86072,7 +87302,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61463 +#: book.translate.xml:61517 msgid "" "To display the state table in a format similar to " "<citerefentry><refentrytitle>top</refentrytitle><manvolnum>1</manvolnum></" @@ -86085,24 +87315,24 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:61473 +#: book.translate.xml:61527 msgid "<application>IPF</application> Logging" msgstr "<application>IPF</application> 日誌" #. (itstool) path: sect2/indexterm -#: book.translate.xml:61475 +#: book.translate.xml:61529 msgid "<primary><command>ipmon</command></primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:61477 +#: book.translate.xml:61531 msgid "" "<primary><application>IPFILTER</application></primary> <secondary>logging</" "secondary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61483 +#: book.translate.xml:61537 msgid "" "<application>IPF</application> provides <command>ipmon</command>, which can " "be used to write the firewall's logging information in a human readable " @@ -86112,7 +87342,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61489 +#: book.translate.xml:61543 msgid "" "This command is typically run in daemon mode in order to provide a " "continuous system log file so that logging of past events may be reviewed. " @@ -86123,7 +87353,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:61497 +#: book.translate.xml:61551 #, no-wrap msgid "" "ipmon_flags=\"-Ds\" # D = start as daemon\n" @@ -86133,7 +87363,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61502 +#: book.translate.xml:61556 msgid "" "Logging provides the ability to review, after the fact, information such as " "which packets were dropped, what addresses they came from, and where they " @@ -86141,7 +87371,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61507 +#: book.translate.xml:61561 msgid "" "Once the logging facility is enabled in <filename>rc.conf</filename> and " "started with <command>service ipmon start</command>, <application>IPF</" @@ -86154,7 +87384,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61518 +#: book.translate.xml:61572 msgid "" "By default, <command>ipmon -Ds</command> mode uses <literal>local0</literal> " "as the logging facility. The following logging levels can be used to further " @@ -86162,7 +87392,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:61523 +#: book.translate.xml:61577 #, no-wrap msgid "" "LOG_INFO - packets logged using the \"log\" keyword as the action rather than pass or block.\n" @@ -86172,33 +87402,33 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61528 +#: book.translate.xml:61582 msgid "" "In order to setup <application>IPF</application> to log all data to " "<filename>/var/log/ipfilter.log</filename>, first create the empty file:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:61532 +#: book.translate.xml:61586 #, no-wrap msgid "<prompt>#</prompt> <userinput>touch /var/log/ipfilter.log</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61534 +#: book.translate.xml:61588 msgid "" "Then, to write all logged messages to the specified file, add the following " "statement to <filename>/etc/syslog.conf</filename>:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:61538 +#: book.translate.xml:61592 #, no-wrap msgid "local0.* /var/log/ipfilter.log" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61540 +#: book.translate.xml:61594 msgid "" "To activate the changes and instruct <citerefentry><refentrytitle>syslogd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> to read the modified " @@ -86207,44 +87437,44 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61544 +#: book.translate.xml:61598 msgid "" "Do not forget to edit <filename>/etc/newsyslog.conf</filename> to rotate the " "new log file." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61548 +#: book.translate.xml:61602 msgid "" "Messages generated by <command>ipmon</command> consist of data fields " "separated by white space. Fields common to all messages are:" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61554 +#: book.translate.xml:61608 msgid "The date of packet receipt." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61558 +#: book.translate.xml:61612 msgid "" "The time of packet receipt. This is in the form HH:MM:SS.F, for hours, " "minutes, seconds, and fractions of a second." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61564 +#: book.translate.xml:61618 msgid "The name of the interface that processed the packet." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61569 +#: book.translate.xml:61623 msgid "" "The group and rule number of the rule in the format <literal>@0:17</literal>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61574 +#: book.translate.xml:61628 msgid "" "The action: <literal>p</literal> for passed, <literal>b</literal> for " "blocked, <literal>S</literal> for a short packet, <literal>n</literal> did " @@ -86252,7 +87482,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61581 +#: book.translate.xml:61635 msgid "" "The addresses written as three fields: the source address and port separated " "by a comma, the -> symbol, and the destination address and port. For " @@ -86260,21 +87490,21 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61589 +#: book.translate.xml:61643 msgid "" "<literal>PR</literal> followed by the protocol name or number: for example, " "<literal>PR tcp</literal>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61594 +#: book.translate.xml:61648 msgid "" "<literal>len</literal> followed by the header length and total length of the " "packet: for example, <literal>len 20 40</literal>." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61600 +#: book.translate.xml:61654 msgid "" "If the packet is a <acronym>TCP</acronym> packet, there will be an " "additional field starting with a hyphen followed by letters corresponding to " @@ -86284,7 +87514,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61605 +#: book.translate.xml:61659 msgid "" "If the packet is an <acronym>ICMP</acronym> packet, there will be two fields " "at the end: the first always being <quote>icmp</quote> and the next being " @@ -86294,100 +87524,100 @@ msgid "" msgstr "" #. (itstool) path: chapter/title -#: book.translate.xml:61623 +#: book.translate.xml:61677 msgid "Advanced Networking" msgstr "進階網路設定" #. (itstool) path: sect1/para -#: book.translate.xml:61628 +#: book.translate.xml:61682 msgid "This chapter covers a number of advanced networking topics." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61635 +#: book.translate.xml:61689 msgid "The basics of gateways and routes." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61639 +#: book.translate.xml:61693 msgid "How to set up USB tethering." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61643 +#: book.translate.xml:61697 msgid "" "How to set up <trademark class=\"registered\">IEEE</trademark> 802.11 and " "<trademark class=\"registered\">Bluetooth</trademark> devices." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61648 +#: book.translate.xml:61702 msgid "How to make FreeBSD act as a bridge." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61652 +#: book.translate.xml:61706 msgid "How to set up network <acronym>PXE</acronym> booting." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61657 +#: book.translate.xml:61711 msgid "How to set up <acronym>IPv6</acronym> on a FreeBSD machine." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61662 +#: book.translate.xml:61716 msgid "" "How to enable and utilize the features of the Common Address Redundancy " "Protocol (<acronym>CARP</acronym>) in FreeBSD." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61668 +#: book.translate.xml:61722 msgid "How to configure multiple <acronym>VLANs</acronym> on FreeBSD." msgstr "如何在 FreeBSD 上設定多個 <acronym>VLAN</acronym>。" #. (itstool) path: listitem/para -#: book.translate.xml:61677 +#: book.translate.xml:61731 msgid "Understand the basics of the <filename>/etc/rc</filename> scripts." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61686 +#: book.translate.xml:61740 msgid "" "Know how to configure and install a new FreeBSD kernel (<xref linkend=" "\"kernelconfig\"/>)." msgstr "" #. (itstool) path: info/title -#: book.translate.xml:61700 +#: book.translate.xml:61754 msgid "Gateways and Routes" msgstr "通訊閘與路由" #. (itstool) path: authorgroup/author -#: book.translate.xml:61703 +#: book.translate.xml:61757 msgid "" "<personname> <firstname>Coranth</firstname> <surname>Gryphon</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:61713 +#: book.translate.xml:61767 msgid "<primary>routing</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:61716 +#: book.translate.xml:61770 msgid "<primary>gateway</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:61719 +#: book.translate.xml:61773 msgid "<primary>subnet</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:61723 +#: book.translate.xml:61777 msgid "" "<firstterm>Routing</firstterm> is the mechanism that allows a system to find " "the network path to another system. A <firstterm>route</firstterm> is a " @@ -86402,7 +87632,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:61737 +#: book.translate.xml:61791 msgid "" "This section provides an overview of routing basics. It then demonstrates " "how to configure a FreeBSD system as a router and offers some " @@ -86410,12 +87640,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:61742 +#: book.translate.xml:61796 msgid "Routing Basics" msgstr "路由基礎概念" #. (itstool) path: sect2/para -#: book.translate.xml:61744 +#: book.translate.xml:61798 msgid "" "To view the routing table of a FreeBSD system, use " "<citerefentry><refentrytitle>netstat</refentrytitle><manvolnum>1</" @@ -86423,7 +87653,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:61747 +#: book.translate.xml:61801 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>netstat -r</userinput>\n" @@ -86443,17 +87673,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61762 +#: book.translate.xml:61816 msgid "The entries in this example are as follows:" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:61766 +#: book.translate.xml:61820 msgid "default" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61768 +#: book.translate.xml:61822 msgid "" "The first route in this table specifies the <literal>default</literal> " "route. When the local system needs to make a connection to a remote host, it " @@ -86463,7 +87693,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61776 +#: book.translate.xml:61830 msgid "" "If the destination does not match an entry, or if all known paths fail, the " "system uses the entry for the default route. For hosts on a local area " @@ -86474,7 +87704,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61785 +#: book.translate.xml:61839 msgid "" "The default route for a machine which itself is functioning as the gateway " "to the outside world will be the gateway machine at the Internet Service " @@ -86482,12 +87712,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:61793 +#: book.translate.xml:61847 msgid "localhost" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61795 +#: book.translate.xml:61849 msgid "" "The second route is the <literal>localhost</literal> route. The interface " "specified in the <literal>Netif</literal> column for <literal>localhost</" @@ -86497,12 +87727,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:61807 +#: book.translate.xml:61861 msgid "MAC address" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61809 +#: book.translate.xml:61863 msgid "" "The addresses beginning with <systemitem class=\"etheraddress\">0:e0:</" "systemitem> are <acronym>MAC</acronym> addresses. FreeBSD will automatically " @@ -86517,12 +87747,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:61828 +#: book.translate.xml:61882 msgid "subnet" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61830 +#: book.translate.xml:61884 msgid "" "FreeBSD will automatically add subnet routes for the local subnet. In this " "example, <systemitem class=\"ipaddress\">10.20.30.255</systemitem> is the " @@ -86533,7 +87763,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61838 +#: book.translate.xml:61892 msgid "" "Local network hosts and local subnets have their routes automatically " "configured by a daemon called <citerefentry><refentrytitle>routed</" @@ -86542,12 +87772,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:61847 +#: book.translate.xml:61901 msgid "host" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61849 +#: book.translate.xml:61903 msgid "" "The <literal>host1</literal> line refers to the host by its Ethernet " "address. Since it is the sending host, FreeBSD knows to use the loopback " @@ -86555,7 +87785,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61855 +#: book.translate.xml:61909 msgid "" "The two <literal>host2</literal> lines represent aliases which were created " "using <citerefentry><refentrytitle>ifconfig</refentrytitle><manvolnum>8</" @@ -86567,19 +87797,19 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:61867 +#: book.translate.xml:61921 msgid "224" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:61869 +#: book.translate.xml:61923 msgid "" "The final line (destination subnet <systemitem class=\"ipaddress\">224</" "systemitem>) deals with multicasting." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61875 +#: book.translate.xml:61929 msgid "" "Various attributes of each route can be seen in the <literal>Flags</literal> " "column. <xref linkend=\"routeflags\"/> summarizes some of these flags and " @@ -86587,40 +87817,40 @@ msgid "" msgstr "" #. (itstool) path: table/title -#: book.translate.xml:61880 +#: book.translate.xml:61934 msgid "Commonly Seen Routing Table Flags" msgstr "常見路由表標記" #. (itstool) path: row/entry #. (itstool) path: glossdiv/title -#: book.translate.xml:61892 book.translate.xml:65535 +#: book.translate.xml:61946 book.translate.xml:65535 msgid "U" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:61893 +#: book.translate.xml:61947 msgid "The route is active (up)." msgstr "" #. (itstool) path: row/entry #. (itstool) path: glossdiv/title -#: book.translate.xml:61897 book.translate.xml:65535 +#: book.translate.xml:61951 book.translate.xml:65535 msgid "H" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:61898 +#: book.translate.xml:61952 msgid "The route destination is a single host." msgstr "" #. (itstool) path: row/entry #. (itstool) path: glossdiv/title -#: book.translate.xml:61902 book.translate.xml:65535 +#: book.translate.xml:61956 book.translate.xml:65535 msgid "G" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:61903 +#: book.translate.xml:61957 msgid "" "Send anything for this destination on to this gateway, which will figure out " "from there where to send it." @@ -86628,52 +87858,52 @@ msgstr "" #. (itstool) path: row/entry #. (itstool) path: glossdiv/title -#: book.translate.xml:61909 book.translate.xml:65535 +#: book.translate.xml:61963 book.translate.xml:65535 msgid "S" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:61910 +#: book.translate.xml:61964 msgid "This route was statically configured." msgstr "" #. (itstool) path: row/entry #. (itstool) path: glossdiv/title -#: book.translate.xml:61914 book.translate.xml:65535 +#: book.translate.xml:61968 book.translate.xml:65535 msgid "C" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:61915 +#: book.translate.xml:61969 msgid "" "Clones a new route based upon this route for machines to connect to. This " "type of route is normally used for local networks." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:61921 +#: book.translate.xml:61975 msgid "W" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:61922 +#: book.translate.xml:61976 msgid "" "The route was auto-configured based upon a local area network (clone) route." msgstr "" #. (itstool) path: row/entry #. (itstool) path: glossdiv/title -#: book.translate.xml:61927 book.translate.xml:65535 +#: book.translate.xml:61981 book.translate.xml:65535 msgid "L" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:61928 +#: book.translate.xml:61982 msgid "Route involves references to Ethernet (link) hardware." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61935 +#: book.translate.xml:61989 msgid "" "On a FreeBSD system, the default route can defined in <filename>/etc/rc." "conf</filename> by specifying the <acronym>IP</acronym> address of the " @@ -86681,25 +87911,25 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:61939 +#: book.translate.xml:61993 #, no-wrap msgid "defaultrouter=\"10.20.30.1\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61941 +#: book.translate.xml:61995 msgid "" "It is also possible to manually add the route using <command>route</command>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:61944 +#: book.translate.xml:61998 #, no-wrap msgid "<prompt>#</prompt> <userinput>route add default 10.20.30.1</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61946 +#: book.translate.xml:62000 msgid "" "Note that manually added routes will not survive a reboot. For more " "information on manual manipulation of network routing tables, refer to " @@ -86708,24 +87938,24 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:61953 +#: book.translate.xml:62007 msgid "Configuring a Router with Static Routes" msgstr "設定路由器使用靜態路由" #. (itstool) path: authorgroup/author -#: book.translate.xml:61956 +#: book.translate.xml:62010 msgid "" "<personname> <firstname>Al</firstname> <surname>Hoang</surname> </" "personname> <contrib>Contributed by </contrib>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:61967 +#: book.translate.xml:62021 msgid "<primary>dual homed hosts</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61971 +#: book.translate.xml:62025 msgid "" "A FreeBSD system can be configured as the default gateway, or router, for a " "network if it is a dual-homed system. A dual-homed system is a host which " @@ -86736,7 +87966,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61983 +#: book.translate.xml:62037 msgid "" "In order for the system to forward packets between interfaces, FreeBSD must " "be configured as a router. Internet standards and good engineering practice " @@ -86746,13 +87976,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:61990 +#: book.translate.xml:62044 #, no-wrap msgid "gateway_enable=\"YES\" # Set to YES if this host will be a gateway" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:61992 +#: book.translate.xml:62046 msgid "" "To enable routing now, set the <citerefentry><refentrytitle>sysctl</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> variable <varname>net." @@ -86761,22 +87991,22 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:61997 +#: book.translate.xml:62051 msgid "<primary>BGP</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:62000 +#: book.translate.xml:62054 msgid "<primary>RIP</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:62003 +#: book.translate.xml:62057 msgid "<primary>OSPF</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:62007 +#: book.translate.xml:62061 msgid "" "The routing table of a router needs additional routes so it knows how to " "reach other networks. Routes can be either added manually using static " @@ -86786,7 +88016,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:62015 +#: book.translate.xml:62069 msgid "" "For large networks, static routes quickly become unscalable. FreeBSD comes " "with the standard <acronym>BSD</acronym> routing daemon " @@ -86798,7 +88028,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:62025 +#: book.translate.xml:62079 msgid "Consider the following network:" msgstr "" @@ -86807,13 +88037,13 @@ msgstr "" #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. -#: book.translate.xml:62029 +#: book.translate.xml:62083 msgctxt "_" msgid "external ref='advanced-networking/static-routes' md5='__failed__'" msgstr "" #. (itstool) path: textobject/literallayout -#: book.translate.xml:62033 +#: book.translate.xml:62087 #, no-wrap msgid "" "\n" @@ -86842,7 +88072,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:62059 +#: book.translate.xml:62113 msgid "" "In this scenario, <systemitem>RouterA</systemitem> is a FreeBSD machine that " "is acting as a router to the rest of the Internet. It has a default route " @@ -86853,14 +88083,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:62067 +#: book.translate.xml:62121 msgid "" "Before adding any static routes, the routing table on <systemitem>RouterA</" "systemitem> looks like this:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:62070 +#: book.translate.xml:62124 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>netstat -nr</userinput>\n" @@ -86875,7 +88105,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:62080 +#: book.translate.xml:62134 msgid "" "With the current routing table, <systemitem>RouterA</systemitem> does not " "have a route to the <systemitem class=\"ipaddress\">192.168.2.0/24</" @@ -86885,13 +88115,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:62088 +#: book.translate.xml:62142 #, no-wrap msgid "<prompt>#</prompt> <userinput>route add -net 192.168.2.0/24 192.168.1.2</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:62090 +#: book.translate.xml:62144 msgid "" "Now, <systemitem>RouterA</systemitem> can reach any host on the <systemitem " "class=\"ipaddress\">192.168.2.0/24</systemitem> network. However, the " @@ -86901,7 +88131,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:62096 +#: book.translate.xml:62150 #, no-wrap msgid "" "# Add Internal Net 2 as a persistent static route\n" @@ -86910,7 +88140,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:62100 +#: book.translate.xml:62154 msgid "" "The <literal>static_routes</literal> configuration variable is a list of " "strings separated by a space, where each string references a route name. The " @@ -86919,7 +88149,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:62106 +#: book.translate.xml:62160 msgid "" "Using more than one string in <literal>static_routes</literal> creates " "multiple static routes. The following shows an example of adding static " @@ -86928,7 +88158,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:62113 +#: book.translate.xml:62167 #, no-wrap msgid "" "static_routes=\"net1 net2\"\n" @@ -86937,7 +88167,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:62121 +#: book.translate.xml:62175 msgid "" "When an address space is assigned to a network, the service provider " "configures their routing tables so that all traffic for the network will be " @@ -86946,7 +88176,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:62127 +#: book.translate.xml:62181 msgid "" "There is a system that keeps track of all assigned address spaces and " "defines their point of connection to the Internet backbone, or the main " @@ -86958,7 +88188,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:62136 +#: book.translate.xml:62190 msgid "" "It is the task of the service provider to advertise to the backbone sites " "that they are the point of connection, and thus the path inward, for a site. " @@ -86966,14 +88196,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:62141 +#: book.translate.xml:62195 msgid "" "<primary><citerefentry><refentrytitle>traceroute</" "refentrytitle><manvolnum>8</manvolnum></citerefentry></primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:62145 +#: book.translate.xml:62199 msgid "" "Sometimes, there is a problem with route propagation and some sites are " "unable to connect. Perhaps the most useful command for trying to figure out " @@ -86982,7 +88212,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:62151 +#: book.translate.xml:62205 msgid "" "When using <command>traceroute</command>, include the address of the remote " "host to connect to. The output will show the gateway hosts along the path of " @@ -86993,22 +88223,22 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:62160 +#: book.translate.xml:62214 msgid "Multicast Considerations" msgstr "群播 (Multicast) 注意事項" #. (itstool) path: sect2/indexterm -#: book.translate.xml:62162 +#: book.translate.xml:62216 msgid "<primary>multicast routing</primary>" msgstr "" #. (itstool) path: sect2/indexterm -#: book.translate.xml:62165 +#: book.translate.xml:62219 msgid "<primary>kernel options</primary> <secondary>MROUTING</secondary>" msgstr "<primary>核心選項</primary> <secondary>MROUTING</secondary>" #. (itstool) path: sect2/para -#: book.translate.xml:62170 +#: book.translate.xml:62224 msgid "" "FreeBSD natively supports both multicast applications and multicast routing. " "Multicast applications do not require any special configuration in order to " @@ -87017,13 +88247,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:62176 +#: book.translate.xml:62230 #, no-wrap msgid "options MROUTING" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:62178 +#: book.translate.xml:62232 msgid "" "The multicast routing daemon, <application>mrouted</application> can be " "installed using the <package>net/mrouted</package> package or port. This " @@ -87037,7 +88267,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:62191 +#: book.translate.xml:62245 msgid "" "<acronym>DVMRP</acronym> has largely been replaced by the <acronym>PIM</" "acronym> protocol in many multicast installations. Refer to " @@ -87046,39 +88276,39 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:62201 +#: book.translate.xml:62255 msgid "Wireless Networking" msgstr "無線網路" #. (itstool) path: authorgroup/author -#: book.translate.xml:62204 +#: book.translate.xml:62258 msgid "<personname> <othername>Loader</othername> </personname>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:62209 +#: book.translate.xml:62263 msgid "" "<personname> <firstname>Marc</firstname> <surname>Fonvieille</surname> </" "personname>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:62224 +#: book.translate.xml:62278 msgid "<primary>wireless networking</primary>" msgstr "<primary>無線網路</primary>" #. (itstool) path: sect1/indexterm -#: book.translate.xml:62227 +#: book.translate.xml:62281 msgid "<primary>802.11</primary> <see>wireless networking</see>" msgstr "<primary>802.11</primary> <see>無線網路</see>" #. (itstool) path: sect2/title -#: book.translate.xml:62233 +#: book.translate.xml:62287 msgid "Wireless Networking Basics" msgstr "無線網路基礎" #. (itstool) path: sect2/para -#: book.translate.xml:62235 +#: book.translate.xml:62289 msgid "" "Most wireless networks are based on the <trademark class=\"registered" "\">IEEE</trademark> 802.11 standards. A basic wireless network consists of " @@ -87088,7 +88318,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:62242 +#: book.translate.xml:62296 msgid "" "802.11 networks are organized in two ways. In <emphasis>infrastructure mode</" "emphasis>, one station acts as a master with all the other stations " @@ -87103,7 +88333,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:62257 +#: book.translate.xml:62311 msgid "" "802.11 networks were first deployed in the 2.4GHz band using protocols " "defined by the <trademark class=\"registered\">IEEE</trademark> 802.11 and " @@ -87118,7 +88348,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:62270 +#: book.translate.xml:62324 msgid "" "Separate from the underlying transmission techniques, 802.11 networks have a " "variety of security mechanisms. The original 802.11 specifications defined a " @@ -87145,7 +88375,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:62300 +#: book.translate.xml:62354 msgid "" "The other standard to be aware of is 802.11e. It defines protocols for " "deploying multimedia applications, such as streaming video and voice over IP " @@ -87162,7 +88392,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:62317 +#: book.translate.xml:62371 msgid "" "FreeBSD supports networks that operate using 802.11a, 802.11b, and 802.11g. " "The <acronym>WPA</acronym> and 802.11i security protocols are likewise " @@ -87173,14 +88403,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:62329 +#: book.translate.xml:62383 msgid "" "Connecting a computer to an existing wireless network is a very common " "situation. This procedure shows the steps required." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:62335 +#: book.translate.xml:62389 msgid "" "Obtain the <acronym>SSID</acronym> (Service Set Identifier) and " "<acronym>PSK</acronym> (Pre-Shared Key) for the wireless network from the " @@ -87188,7 +88418,7 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:62342 +#: book.translate.xml:62396 msgid "" "Identify the wireless adapter. The FreeBSD <filename>GENERIC</filename> " "kernel includes drivers for many common wireless adapters. If the wireless " @@ -87198,26 +88428,26 @@ msgid "" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:62348 +#: book.translate.xml:62402 #, no-wrap msgid "<prompt>%</prompt> <userinput>ifconfig | grep -B3 -i wireless</userinput>" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:62350 +#: book.translate.xml:62404 msgid "" "If a wireless adapter is not listed, an additional kernel module might be " "required, or it might be a model not supported by FreeBSD." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:62356 +#: book.translate.xml:62410 msgid "" "This example shows the Atheros <literal>ath0</literal> wireless adapter." msgstr "" #. (itstool) path: step/para -#: book.translate.xml:62361 +#: book.translate.xml:62415 msgid "" "Add an entry for this network to <filename>/etc/wpa_supplicant.conf</" "filename>. If the file does not exist, create it. Replace " @@ -87227,7 +88457,7 @@ msgid "" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:62369 +#: book.translate.xml:62423 #, no-wrap msgid "" "network={\n" @@ -87237,14 +88467,14 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:62376 +#: book.translate.xml:62430 msgid "" "Add entries to <filename>/etc/rc.conf</filename> to configure the network on " "startup:" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:62379 +#: book.translate.xml:62433 #, no-wrap msgid "" "wlans_<replaceable>ath0</replaceable>=\"wlan0\"\n" @@ -87252,19 +88482,19 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:62384 +#: book.translate.xml:62438 msgid "" "Restart the computer, or restart the network service to connect to the " "network:" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:62393 +#: book.translate.xml:62447 msgid "Basic Setup" msgstr "基礎設定" #. (itstool) path: sect3/para -#: book.translate.xml:62398 +#: book.translate.xml:62452 msgid "" "To use wireless networking, a wireless networking card is needed and the " "kernel needs to be configured with the appropriate wireless networking " @@ -87273,7 +88503,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:62404 +#: book.translate.xml:62458 msgid "" "The most commonly used wireless devices are those that use parts made by " "Atheros. These devices are supported by <citerefentry><refentrytitle>ath</" @@ -87282,13 +88512,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:62410 +#: book.translate.xml:62464 #, no-wrap msgid "if_ath_load=\"YES\"" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:62412 +#: book.translate.xml:62466 msgid "" "The Atheros driver is split up into three separate pieces: the driver " "(<citerefentry><refentrytitle>ath</refentrytitle><manvolnum>4</manvolnum></" @@ -87303,13 +88533,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:62423 +#: book.translate.xml:62477 #, no-wrap msgid "if_wi_load=\"YES\"" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:62426 +#: book.translate.xml:62480 msgid "" "The examples in this section use an <citerefentry><refentrytitle>ath</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> device and the device " @@ -87324,7 +88554,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:62439 +#: book.translate.xml:62493 msgid "" "In addition, the modules that implement cryptographic support for the " "security protocols to use must be loaded. These are intended to be " @@ -87347,7 +88577,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:62452 +#: book.translate.xml:62506 #, no-wrap msgid "" "wlan_wep_load=\"YES\"\n" @@ -87356,7 +88586,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:62456 +#: book.translate.xml:62510 msgid "" "Once this information has been added to <filename>/boot/loader.conf</" "filename>, reboot the FreeBSD box. Alternately, load the modules by hand " @@ -87365,7 +88595,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:62462 +#: book.translate.xml:62516 msgid "" "For users who do not want to use modules, it is possible to compile these " "drivers into the kernel by adding the following lines to a custom kernel " @@ -87373,7 +88603,7 @@ msgid "" msgstr "" #. (itstool) path: note/programlisting -#: book.translate.xml:62467 +#: book.translate.xml:62521 #, no-wrap msgid "" "device wlan # 802.11 support\n" @@ -87388,21 +88618,21 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:62477 +#: book.translate.xml:62531 msgid "" "With this information in the kernel configuration file, recompile the kernel " "and reboot the FreeBSD machine." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:62482 +#: book.translate.xml:62536 msgid "" "Information about the wireless device should appear in the boot messages, " "like this:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:62485 +#: book.translate.xml:62539 #, no-wrap msgid "" "ath0: <Atheros 5212> mem 0x88000000-0x8800ffff irq 11 at device 0.0 on cardbus1\n" @@ -87411,12 +88641,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:62492 +#: book.translate.xml:62546 msgid "Infrastructure Mode" msgstr "主從式 (Infrastructure)" #. (itstool) path: sect2/para -#: book.translate.xml:62494 +#: book.translate.xml:62548 msgid "" "Infrastructure (<acronym>BSS</acronym>) mode is the mode that is typically " "used. In this mode, a number of wireless access points are connected to a " @@ -87426,17 +88656,17 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:62502 +#: book.translate.xml:62556 msgid "FreeBSD Clients" msgstr "FreeBSD 客戶端" #. (itstool) path: sect4/title -#: book.translate.xml:62505 +#: book.translate.xml:62559 msgid "How to Find Access Points" msgstr "如何尋找存取點" #. (itstool) path: sect4/para -#: book.translate.xml:62507 +#: book.translate.xml:62561 msgid "" "To scan for available networks, use <citerefentry><refentrytitle>ifconfig</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>. This request may take " @@ -87446,7 +88676,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/screen -#: book.translate.xml:62513 +#: book.translate.xml:62567 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>ath0</replaceable></userinput>\n" @@ -87457,14 +88687,14 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:62520 +#: book.translate.xml:62574 msgid "" "The interface must be <option>up</option> before it can scan. Subsequent " "scan requests do not require the interface to be marked as up again." msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:62525 +#: book.translate.xml:62579 msgid "" "The output of a scan request lists each <acronym>BSS</acronym>/" "<acronym>IBSS</acronym> network found. Besides listing the name of the " @@ -87475,22 +88705,22 @@ msgid "" msgstr "" #. (itstool) path: table/title -#: book.translate.xml:62536 +#: book.translate.xml:62590 msgid "Station Capability Codes" msgstr "站台功能代號" #. (itstool) path: row/entry -#: book.translate.xml:62541 +#: book.translate.xml:62595 msgid "Capability Code" msgstr "功能代號" #. (itstool) path: row/entry -#: book.translate.xml:62548 +#: book.translate.xml:62602 msgid "<literal>E</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:62549 +#: book.translate.xml:62603 msgid "" "Extended Service Set (<acronym>ESS</acronym>). Indicates that the station is " "part of an infrastructure network rather than an <acronym>IBSS</acronym>/ad-" @@ -87498,24 +88728,24 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:62557 +#: book.translate.xml:62611 msgid "<literal>I</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:62558 +#: book.translate.xml:62612 msgid "" "<acronym>IBSS</acronym>/ad-hoc network. Indicates that the station is part " "of an ad-hoc network rather than an <acronym>ESS</acronym> network." msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:62565 +#: book.translate.xml:62619 msgid "<literal>P</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:62566 +#: book.translate.xml:62620 msgid "" "Privacy. Encryption is required for all data frames exchanged within the " "<acronym>BSS</acronym> using cryptographic means such as <acronym>WEP</" @@ -87524,12 +88754,12 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:62575 +#: book.translate.xml:62629 msgid "<literal>S</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:62576 +#: book.translate.xml:62630 msgid "" "Short Preamble. Indicates that the network is using short preambles, defined " "in 802.11b High Rate/DSSS PHY, and utilizes a 56 bit sync field rather than " @@ -87537,30 +88767,30 @@ msgid "" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:62584 +#: book.translate.xml:62638 msgid "<literal>s</literal>" msgstr "" #. (itstool) path: row/entry -#: book.translate.xml:62585 +#: book.translate.xml:62639 msgid "" "Short slot time. Indicates that the 802.11g network is using a short slot " "time because there are no legacy (802.11b) stations present." msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:62593 +#: book.translate.xml:62647 msgid "One can also display the current list of known networks with:" msgstr "" #. (itstool) path: sect4/screen -#: book.translate.xml:62596 +#: book.translate.xml:62650 #, no-wrap msgid "<prompt>#</prompt> <userinput>ifconfig <replaceable>wlan0</replaceable> list scan</userinput>" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:62598 +#: book.translate.xml:62652 msgid "" "This information may be updated automatically by the adapter or manually " "with a <option>scan</option> request. Old data is automatically removed from " @@ -87569,12 +88799,12 @@ msgstr "" #. (itstool) path: sect4/title #. (itstool) path: sect3/title -#: book.translate.xml:62606 book.translate.xml:63434 +#: book.translate.xml:62660 book.translate.xml:63488 msgid "Basic Settings" msgstr "基礎設定" #. (itstool) path: sect4/para -#: book.translate.xml:62608 +#: book.translate.xml:62662 msgid "" "This section provides a simple example of how to make the wireless network " "adapter work in FreeBSD without encryption. Once familiar with these " @@ -87583,7 +88813,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:62614 +#: book.translate.xml:62668 msgid "" "There are three basic steps to configure a wireless network: select an " "access point, authenticate the station, and configure an <acronym>IP</" @@ -87591,12 +88821,12 @@ msgid "" msgstr "" #. (itstool) path: sect5/title -#: book.translate.xml:62620 +#: book.translate.xml:62674 msgid "Selecting an Access Point" msgstr "選擇存取點" #. (itstool) path: sect5/para -#: book.translate.xml:62622 +#: book.translate.xml:62676 msgid "" "Most of the time, it is sufficient to let the system choose an access point " "using the builtin heuristics. This is the default behavior when an interface " @@ -87604,7 +88834,7 @@ msgid "" msgstr "" #. (itstool) path: sect5/programlisting -#: book.translate.xml:62628 book.translate.xml:62728 +#: book.translate.xml:62682 book.translate.xml:62782 #, no-wrap msgid "" "wlans_ath0=\"wlan0\"\n" @@ -87612,14 +88842,14 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:62631 +#: book.translate.xml:62685 msgid "" "If there are multiple access points, a specific one can be selected by its " "<acronym>SSID</acronym>:" msgstr "" #. (itstool) path: sect5/programlisting -#: book.translate.xml:62635 +#: book.translate.xml:62689 #, no-wrap msgid "" "wlans_ath0=\"wlan0\"\n" @@ -87627,7 +88857,7 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:62638 +#: book.translate.xml:62692 msgid "" "In an environment where there are multiple access points with the same " "<acronym>SSID</acronym>, which is often done to simplify roaming, it may be " @@ -87637,7 +88867,7 @@ msgid "" msgstr "" #. (itstool) path: sect5/programlisting -#: book.translate.xml:62646 +#: book.translate.xml:62700 #, no-wrap msgid "" "wlans_ath0=\"wlan0\"\n" @@ -87645,7 +88875,7 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:62649 +#: book.translate.xml:62703 msgid "" "There are other ways to constrain the choice of an access point, such as " "limiting the set of frequencies the system will scan on. This may be useful " @@ -87655,7 +88885,7 @@ msgid "" msgstr "" #. (itstool) path: sect5/programlisting -#: book.translate.xml:62657 +#: book.translate.xml:62711 #, no-wrap msgid "" "wlans_ath0=\"wlan0\"\n" @@ -87663,7 +88893,7 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:62660 +#: book.translate.xml:62714 msgid "" "This example will force the card to operate in 802.11g, which is defined " "only for 2.4GHz frequencies so any 5GHz channels will not be considered. " @@ -87676,7 +88906,7 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:62674 +#: book.translate.xml:62728 msgid "" "Once an access point is selected, the station needs to authenticate before " "it can pass data. Authentication can happen in several ways. The most common " @@ -87692,7 +88922,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:62691 +#: book.translate.xml:62745 msgid "" "If using an <trademark class=\"registered\">Apple</trademark> <trademark " "class=\"registered\">AirPort</trademark> Extreme base station for an access " @@ -87705,7 +88935,7 @@ msgid "" msgstr "" #. (itstool) path: note/programlisting -#: book.translate.xml:62699 +#: book.translate.xml:62753 #, no-wrap msgid "" "wlans_ath0=\"wlan0\"\n" @@ -87713,7 +88943,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:62702 +#: book.translate.xml:62756 msgid "" "In general, shared key authentication should be avoided because it uses the " "<acronym>WEP</acronym> key material in a highly-constrained manner, making " @@ -87725,12 +88955,12 @@ msgid "" msgstr "" #. (itstool) path: sect5/title -#: book.translate.xml:62715 +#: book.translate.xml:62769 msgid "Getting an <acronym>IP</acronym> Address with <acronym>DHCP</acronym>" msgstr "使用 <acronym>DHCP</acronym> 取得 <acronym>IP</acronym> 位址" #. (itstool) path: sect5/para -#: book.translate.xml:62718 +#: book.translate.xml:62772 msgid "" "Once an access point is selected and the authentication parameters are set, " "an <acronym>IP</acronym> address must be obtained in order to communicate. " @@ -87741,18 +88971,18 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:62731 +#: book.translate.xml:62785 msgid "The wireless interface is now ready to bring up:" msgstr "" #. (itstool) path: sect5/screen -#: book.translate.xml:62734 +#: book.translate.xml:62788 #, no-wrap msgid "<prompt>#</prompt> <userinput>service netif start</userinput>" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:62736 +#: book.translate.xml:62790 msgid "" "Once the interface is running, use <citerefentry><refentrytitle>ifconfig</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> to see the status of " @@ -87760,7 +88990,7 @@ msgid "" msgstr "" #. (itstool) path: sect5/screen -#: book.translate.xml:62740 +#: book.translate.xml:62794 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <replaceable>wlan0</replaceable></userinput>\n" @@ -87776,7 +89006,7 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:62751 +#: book.translate.xml:62805 msgid "" "The <literal>status: associated</literal> line means that it is connected to " "the wireless network. The <literal>bssid 00:13:46:49:41:76</literal> is the " @@ -87785,12 +89015,12 @@ msgid "" msgstr "" #. (itstool) path: sect5/title -#: book.translate.xml:62760 +#: book.translate.xml:62814 msgid "Static <acronym>IP</acronym> Address" msgstr "靜態 <acronym>IP</acronym> 位址" #. (itstool) path: sect5/para -#: book.translate.xml:62762 +#: book.translate.xml:62816 msgid "" "If an <acronym>IP</acronym> address cannot be obtained from a <acronym>DHCP</" "acronym> server, set a fixed <acronym>IP</acronym> address. Replace the " @@ -87799,7 +89029,7 @@ msgid "" msgstr "" #. (itstool) path: sect5/programlisting -#: book.translate.xml:62769 +#: book.translate.xml:62823 #, no-wrap msgid "" "wlans_ath0=\"wlan0\"\n" @@ -87807,12 +89037,12 @@ msgid "" msgstr "" #. (itstool) path: sect4/title -#: book.translate.xml:62775 +#: book.translate.xml:62829 msgid "<acronym>WPA</acronym>" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:62777 +#: book.translate.xml:62831 msgid "" "Wi-Fi Protected Access (<acronym>WPA</acronym>) is a security protocol used " "together with 802.11 networks to address the lack of proper authentication " @@ -87833,7 +89063,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:62800 +#: book.translate.xml:62854 msgid "" "<acronym>WPA</acronym> defines authentication and encryption protocols. " "Authentication is most commonly done using one of two techniques: by 802.1X " @@ -87847,7 +89077,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:62814 +#: book.translate.xml:62868 msgid "" "The control of the wireless connection and the key negotiation or " "authentication with a server is done using " @@ -87860,12 +89090,12 @@ msgid "" msgstr "" #. (itstool) path: sect5/title -#: book.translate.xml:62823 +#: book.translate.xml:62877 msgid "<acronym>WPA-PSK</acronym>" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:62825 +#: book.translate.xml:62879 msgid "" "<acronym>WPA-PSK</acronym>, also known as <acronym>WPA</acronym> Personal, " "is based on a pre-shared key (<acronym>PSK</acronym>) which is generated " @@ -87876,14 +89106,14 @@ msgid "" msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:62836 +#: book.translate.xml:62890 msgid "" "Always use strong passwords that are sufficiently long and made from a rich " "alphabet so that they will not be easily guessed or attacked." msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:62841 +#: book.translate.xml:62895 msgid "" "The first step is the configuration of <filename>/etc/wpa_supplicant.conf</" "filename> with the <acronym>SSID</acronym> and the pre-shared key of the " @@ -87891,7 +89121,7 @@ msgid "" msgstr "" #. (itstool) path: sect5/programlisting -#: book.translate.xml:62846 +#: book.translate.xml:62900 #, no-wrap msgid "" "network={\n" @@ -87901,7 +89131,7 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:62851 +#: book.translate.xml:62905 msgid "" "Then, in <filename>/etc/rc.conf</filename>, indicate that the wireless " "device configuration will be done with <acronym>WPA</acronym> and the " @@ -87909,8 +89139,8 @@ msgid "" msgstr "" #. (itstool) path: sect5/programlisting -#: book.translate.xml:62857 book.translate.xml:63057 book.translate.xml:63151 -#: book.translate.xml:63275 +#: book.translate.xml:62911 book.translate.xml:63111 book.translate.xml:63205 +#: book.translate.xml:63329 #, no-wrap msgid "" "wlans_ath0=\"wlan0\"\n" @@ -87918,12 +89148,12 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:62860 book.translate.xml:63278 +#: book.translate.xml:62914 book.translate.xml:63332 msgid "Then, bring up the interface:" msgstr "" #. (itstool) path: sect5/screen -#: book.translate.xml:62862 +#: book.translate.xml:62916 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service netif start</userinput>\n" @@ -87947,14 +89177,14 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:62881 +#: book.translate.xml:62935 msgid "" "Or, try to configure the interface manually using the information in " "<filename>/etc/wpa_supplicant.conf</filename>:" msgstr "" #. (itstool) path: sect5/screen -#: book.translate.xml:62885 +#: book.translate.xml:62939 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>wpa_supplicant -i <replaceable>wlan0</replaceable> -c /etc/wpa_supplicant.conf</userinput>\n" @@ -87965,7 +89195,7 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:62891 +#: book.translate.xml:62945 msgid "" "The next operation is to launch <citerefentry><refentrytitle>dhclient</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> to get the " @@ -87973,7 +89203,7 @@ msgid "" msgstr "" #. (itstool) path: sect5/screen -#: book.translate.xml:62895 +#: book.translate.xml:62949 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>dhclient <replaceable>wlan0</replaceable></userinput>\n" @@ -87994,7 +89224,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:62912 +#: book.translate.xml:62966 msgid "" "If <filename>/etc/rc.conf</filename> has an <literal>ifconfig_wlan0=\"DHCP" "\"</literal> entry, <citerefentry><refentrytitle>dhclient</" @@ -88005,7 +89235,7 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:62919 +#: book.translate.xml:62973 msgid "" "If <acronym>DHCP</acronym> is not possible or desired, set a static " "<acronym>IP</acronym> address after " @@ -88014,7 +89244,7 @@ msgid "" msgstr "" #. (itstool) path: sect5/screen -#: book.translate.xml:62924 +#: book.translate.xml:62978 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <replaceable>wlan0</replaceable> inet <replaceable>192.168.0.100</replaceable> netmask <replaceable>255.255.255.0</replaceable></userinput>\n" @@ -88032,14 +89262,14 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:62937 +#: book.translate.xml:62991 msgid "" "When <acronym>DHCP</acronym> is not used, the default gateway and the " "nameserver also have to be manually set:" msgstr "" #. (itstool) path: sect5/screen -#: book.translate.xml:62941 +#: book.translate.xml:62995 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>route add default <replaceable>your_default_router</replaceable></userinput>\n" @@ -88047,12 +89277,12 @@ msgid "" msgstr "" #. (itstool) path: sect5/title -#: book.translate.xml:62946 +#: book.translate.xml:63000 msgid "<acronym>WPA</acronym> with <acronym>EAP-TLS</acronym>" msgstr "<acronym>WPA</acronym> 加上 <acronym>EAP-TLS</acronym>" #. (itstool) path: sect5/para -#: book.translate.xml:62949 +#: book.translate.xml:63003 msgid "" "The second way to use <acronym>WPA</acronym> is with an 802.1X backend " "authentication server. In this case, <acronym>WPA</acronym> is called " @@ -88063,7 +89293,7 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:62958 +#: book.translate.xml:63012 msgid "" "<acronym>EAP</acronym> does not come with an encryption method. Instead, " "<acronym>EAP</acronym> is embedded inside an encrypted tunnel. There are " @@ -88073,7 +89303,7 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:62966 +#: book.translate.xml:63020 msgid "" "EAP with Transport Layer Security (<acronym>EAP-TLS</acronym>) is a well-" "supported wireless authentication protocol since it was the first " @@ -88089,14 +89319,14 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:62983 +#: book.translate.xml:63037 msgid "" "As previously, the configuration is done via <filename>/etc/wpa_supplicant." "conf</filename>:" msgstr "" #. (itstool) path: sect5/programlisting -#: book.translate.xml:62986 +#: book.translate.xml:63040 #, no-wrap msgid "" "network={\n" @@ -88113,19 +89343,19 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63000 +#: book.translate.xml:63054 msgid "This field indicates the network name (<acronym>SSID</acronym>)." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63005 +#: book.translate.xml:63059 msgid "" "This example uses the <acronym>RSN</acronym> <trademark class=\"registered" "\">IEEE</trademark> 802.11i protocol, also known as <acronym>WPA2</acronym>." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63011 +#: book.translate.xml:63065 msgid "" "The <literal>key_mgmt</literal> line refers to the key management protocol " "to use. In this example, it is <acronym>WPA</acronym> using <acronym>EAP</" @@ -88133,20 +89363,20 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63018 +#: book.translate.xml:63072 msgid "" "This field indicates the <acronym>EAP</acronym> method for the connection." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63023 +#: book.translate.xml:63077 msgid "" "The <literal>identity</literal> field contains the identity string for " "<acronym>EAP</acronym>." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63029 book.translate.xml:63132 book.translate.xml:63245 +#: book.translate.xml:63083 book.translate.xml:63186 book.translate.xml:63299 msgid "" "The <literal>ca_cert</literal> field indicates the pathname of the " "<acronym>CA</acronym> certificate file. This file is needed to verify the " @@ -88154,7 +89384,7 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63036 +#: book.translate.xml:63090 msgid "" "The <literal>client_cert</literal> line gives the pathname to the client " "certificate file. This certificate is unique to each wireless client of the " @@ -88162,31 +89392,31 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63043 +#: book.translate.xml:63097 msgid "" "The <literal>private_key</literal> field is the pathname to the client " "certificate private key file." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63049 +#: book.translate.xml:63103 msgid "" "The <literal>private_key_passwd</literal> field contains the passphrase for " "the private key." msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:63054 +#: book.translate.xml:63108 msgid "Then, add the following lines to <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:63060 book.translate.xml:63154 +#: book.translate.xml:63114 book.translate.xml:63208 msgid "The next step is to bring up the interface:" msgstr "" #. (itstool) path: sect5/screen -#: book.translate.xml:63062 +#: book.translate.xml:63116 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service netif start</userinput>\n" @@ -88208,7 +89438,7 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:63079 +#: book.translate.xml:63133 msgid "" "It is also possible to bring up the interface manually using " "<citerefentry><refentrytitle>wpa_supplicant</refentrytitle><manvolnum>8</" @@ -88217,12 +89447,12 @@ msgid "" msgstr "" #. (itstool) path: sect5/title -#: book.translate.xml:63085 +#: book.translate.xml:63139 msgid "<acronym>WPA</acronym> with <acronym>EAP-TTLS</acronym>" msgstr "<acronym>WPA</acronym> 加上 <acronym>EAP-TTLS</acronym>" #. (itstool) path: sect5/para -#: book.translate.xml:63088 +#: book.translate.xml:63142 msgid "" "With <acronym>EAP-TLS</acronym>, both the authentication server and the " "client need a certificate. With <acronym>EAP-TTLS</acronym>, a client " @@ -88233,14 +89463,14 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:63098 +#: book.translate.xml:63152 msgid "" "The required configuration can be added to <filename>/etc/wpa_supplicant." "conf</filename>:" msgstr "" #. (itstool) path: sect5/programlisting -#: book.translate.xml:63101 +#: book.translate.xml:63155 #, no-wrap msgid "" "network={\n" @@ -88256,13 +89486,13 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63114 book.translate.xml:63227 +#: book.translate.xml:63168 book.translate.xml:63281 msgid "" "This field specifies the <acronym>EAP</acronym> method for the connection." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63119 book.translate.xml:63232 +#: book.translate.xml:63173 book.translate.xml:63286 msgid "" "The <literal>identity</literal> field contains the identity string for " "<acronym>EAP</acronym> authentication inside the encrypted <acronym>TLS</" @@ -88270,14 +89500,14 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63126 book.translate.xml:63239 +#: book.translate.xml:63180 book.translate.xml:63293 msgid "" "The <literal>password</literal> field contains the passphrase for the " "<acronym>EAP</acronym> authentication." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63139 +#: book.translate.xml:63193 msgid "" "This field specifies the authentication method used in the encrypted " "<acronym>TLS</acronym> tunnel. In this example, <acronym>EAP</acronym> with " @@ -88286,12 +89516,12 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:63148 +#: book.translate.xml:63202 msgid "Next, add the following lines to <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect5/screen -#: book.translate.xml:63156 book.translate.xml:63280 +#: book.translate.xml:63210 book.translate.xml:63334 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service netif start</userinput>\n" @@ -88314,12 +89544,12 @@ msgid "" msgstr "" #. (itstool) path: sect5/title -#: book.translate.xml:63176 +#: book.translate.xml:63230 msgid "<acronym>WPA</acronym> with <acronym>EAP-PEAP</acronym>" msgstr "<acronym>WPA</acronym> 加上 <acronym>EAP-PEAP</acronym>" #. (itstool) path: note/para -#: book.translate.xml:63180 +#: book.translate.xml:63234 msgid "" "<acronym>PEAPv0/EAP-MSCHAPv2</acronym> is the most common <acronym>PEAP</" "acronym> method. In this chapter, the term <acronym>PEAP</acronym> is used " @@ -88327,7 +89557,7 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:63186 +#: book.translate.xml:63240 msgid "" "Protected EAP (<acronym>PEAP</acronym>) is designed as an alternative to " "<acronym>EAP-TTLS</acronym> and is the most used <acronym>EAP</acronym> " @@ -88337,7 +89567,7 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:63194 +#: book.translate.xml:63248 msgid "" "<acronym>PEAP</acronym> is similar to <acronym>EAP-TTLS</acronym> as it uses " "a server-side certificate to authenticate clients by creating an encrypted " @@ -88351,14 +89581,14 @@ msgid "" msgstr "" #. (itstool) path: sect5/para -#: book.translate.xml:63208 +#: book.translate.xml:63262 msgid "" "Add the following lines to <filename>/etc/wpa_supplicant.conf</filename> to " "configure the <acronym>EAP-PEAP</acronym> related settings:" msgstr "" #. (itstool) path: sect5/programlisting -#: book.translate.xml:63213 +#: book.translate.xml:63267 #, no-wrap msgid "" "network={\n" @@ -88375,7 +89605,7 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63252 +#: book.translate.xml:63306 msgid "" "This field contains the parameters for the first phase of authentication, " "the <acronym>TLS</acronym> tunnel. According to the authentication server " @@ -88387,7 +89617,7 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63264 +#: book.translate.xml:63318 msgid "" "This field specifies the authentication protocol used in the encrypted " "<acronym>TLS</acronym> tunnel. In the case of <acronym>PEAP</acronym>, it is " @@ -88395,12 +89625,12 @@ msgid "" msgstr "" #. (itstool) path: sect4/title -#: book.translate.xml:63301 +#: book.translate.xml:63355 msgid "<acronym>WEP</acronym>" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:63303 +#: book.translate.xml:63357 msgid "" "Wired Equivalent Privacy (<acronym>WEP</acronym>) is part of the original " "802.11 standard. There is no authentication mechanism, only a weak form of " @@ -88408,7 +89638,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:63308 +#: book.translate.xml:63362 msgid "" "<acronym>WEP</acronym> can be set up using " "<citerefentry><refentrytitle>ifconfig</refentrytitle><manvolnum>8</" @@ -88416,7 +89646,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/screen -#: book.translate.xml:63311 +#: book.translate.xml:63365 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>ath0</replaceable></userinput>\n" @@ -88425,7 +89655,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:63318 +#: book.translate.xml:63372 msgid "" "The <literal>weptxkey</literal> specifies which <acronym>WEP</acronym> key " "will be used in the transmission. This example uses the third key. This must " @@ -88434,7 +89664,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:63328 +#: book.translate.xml:63382 msgid "" "The <literal>wepkey</literal> selects one of the <acronym>WEP</acronym> " "keys. It should be in the format <replaceable>index:key</replaceable>. Key " @@ -88443,21 +89673,21 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:63336 +#: book.translate.xml:63390 msgid "" "Replace the <literal>0x3456789012</literal> with the key configured for use " "on the access point." msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:63343 +#: book.translate.xml:63397 msgid "" "Refer to <citerefentry><refentrytitle>ifconfig</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> for further information." msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:63346 +#: book.translate.xml:63400 msgid "" "The <citerefentry><refentrytitle>wpa_supplicant</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> facility can be used to configure a wireless " @@ -88466,7 +89696,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:63352 +#: book.translate.xml:63406 #, no-wrap msgid "" "network={\n" @@ -88478,12 +89708,12 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:63359 +#: book.translate.xml:63413 msgid "Then:" msgstr "" #. (itstool) path: sect4/screen -#: book.translate.xml:63361 +#: book.translate.xml:63415 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>wpa_supplicant -i <replaceable>wlan0</replaceable> -c /etc/wpa_supplicant.conf</userinput>\n" @@ -88492,12 +89722,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:63369 +#: book.translate.xml:63423 msgid "Ad-hoc Mode" msgstr "對等式 (Ad-hoc)" #. (itstool) path: sect2/para -#: book.translate.xml:63371 +#: book.translate.xml:63425 msgid "" "<acronym>IBSS</acronym> mode, also called ad-hoc mode, is designed for point " "to point connections. For example, to establish an ad-hoc network between " @@ -88506,12 +89736,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:63378 +#: book.translate.xml:63432 msgid "On <systemitem>A</systemitem>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:63380 +#: book.translate.xml:63434 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>ath0</replaceable> wlanmode adhoc</userinput>\n" @@ -88528,21 +89758,21 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:63392 +#: book.translate.xml:63446 msgid "" "The <literal>adhoc</literal> parameter indicates that the interface is " "running in <acronym>IBSS</acronym> mode." msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:63395 +#: book.translate.xml:63449 msgid "" "<systemitem>B</systemitem> should now be able to detect <systemitem>A</" "systemitem>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:63398 +#: book.translate.xml:63452 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>ath0</replaceable> wlanmode adhoc</userinput>\n" @@ -88552,7 +89782,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:63403 +#: book.translate.xml:63457 msgid "" "The <literal>I</literal> in the output confirms that <systemitem>A</" "systemitem> is in ad-hoc mode. Now, configure <systemitem>B</systemitem> " @@ -88560,7 +89790,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:63408 +#: book.translate.xml:63462 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <replaceable>wlan0</replaceable> inet <replaceable>192.168.0.2</replaceable> netmask <replaceable>255.255.255.0</replaceable> ssid <replaceable>freebsdap</replaceable></userinput>\n" @@ -88576,19 +89806,19 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:63419 +#: book.translate.xml:63473 msgid "" "Both <systemitem>A</systemitem> and <systemitem>B</systemitem> are now ready " "to exchange information." msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:63425 +#: book.translate.xml:63479 msgid "FreeBSD Host Access Points" msgstr "FreeBSD 主機存取點" #. (itstool) path: sect2/para -#: book.translate.xml:63427 +#: book.translate.xml:63481 msgid "" "FreeBSD can act as an Access Point (<acronym>AP</acronym>) which eliminates " "the need to buy a hardware <acronym>AP</acronym> or run an ad-hoc network. " @@ -88597,7 +89827,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:63436 +#: book.translate.xml:63490 msgid "" "Before configuring a FreeBSD machine as an <acronym>AP</acronym>, the kernel " "must be configured with the appropriate networking support for the wireless " @@ -88606,7 +89836,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:63443 +#: book.translate.xml:63497 msgid "" "The <acronym>NDIS</acronym> driver wrapper for <trademark class=\"registered" "\">Windows</trademark> drivers does not currently support <acronym>AP</" @@ -88615,14 +89845,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:63450 +#: book.translate.xml:63504 msgid "" "Once wireless networking support is loaded, check if the wireless device " "supports the host-based access point mode, also known as hostap mode:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:63454 +#: book.translate.xml:63508 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>ath0</replaceable></userinput>\n" @@ -88632,7 +89862,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:63459 +#: book.translate.xml:63513 msgid "" "This output displays the card's capabilities. The <literal>HOSTAP</literal> " "word confirms that this wireless card can act as an <acronym>AP</acronym>. " @@ -88642,7 +89872,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:63467 +#: book.translate.xml:63521 msgid "" "The wireless device can only be put into hostap mode during the creation of " "the network pseudo-device, so a previously created device must be destroyed " @@ -88650,19 +89880,19 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:63471 +#: book.translate.xml:63525 #, no-wrap msgid "<prompt>#</prompt> <userinput>ifconfig <replaceable>wlan0</replaceable> destroy</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:63473 +#: book.translate.xml:63527 msgid "" "then regenerated with the correct option before setting the other parameters:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:63476 +#: book.translate.xml:63530 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>ath0</replaceable> wlanmode hostap</userinput>\n" @@ -88670,7 +89900,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:63479 +#: book.translate.xml:63533 msgid "" "Use <citerefentry><refentrytitle>ifconfig</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> again to see the status of the <filename>wlan0</" @@ -88678,7 +89908,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:63482 +#: book.translate.xml:63536 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <replaceable>wlan0</replaceable></userinput>\n" @@ -88693,21 +89923,21 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:63492 +#: book.translate.xml:63546 msgid "" "The <literal>hostap</literal> parameter indicates the interface is running " "in the host-based access point mode." msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:63496 +#: book.translate.xml:63550 msgid "" "The interface configuration can be done automatically at boot time by adding " "the following lines to <filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:63500 +#: book.translate.xml:63554 #, no-wrap msgid "" "wlans_ath0=\"wlan0\"\n" @@ -88716,12 +89946,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:63506 +#: book.translate.xml:63560 msgid "Host-based Access Point Without Authentication or Encryption" msgstr "無認證或加密的 Host-based 存取點" #. (itstool) path: sect3/para -#: book.translate.xml:63509 +#: book.translate.xml:63563 msgid "" "Although it is not recommended to run an <acronym>AP</acronym> without any " "authentication or encryption, this is a simple way to check if the " @@ -88730,14 +89960,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:63515 +#: book.translate.xml:63569 msgid "" "Once the <acronym>AP</acronym> is configured, initiate a scan from another " "wireless machine to find the <acronym>AP</acronym>:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:63519 +#: book.translate.xml:63573 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>ath0</replaceable></userinput>\n" @@ -88747,14 +89977,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:63524 +#: book.translate.xml:63578 msgid "" "The client machine found the <acronym>AP</acronym> and can be associated " "with it:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:63527 +#: book.translate.xml:63581 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <replaceable>wlan0</replaceable> inet <replaceable>192.168.0.2</replaceable> netmask <replaceable>255.255.255.0</replaceable> ssid <replaceable>freebsdap</replaceable></userinput>\n" @@ -88771,12 +90001,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:63541 +#: book.translate.xml:63595 msgid "<acronym>WPA2</acronym> Host-based Access Point" msgstr "<acronym>WPA2</acronym> Host-based 存取點" #. (itstool) path: sect3/para -#: book.translate.xml:63543 +#: book.translate.xml:63597 msgid "" "This section focuses on setting up a FreeBSD access point using the " "<acronym>WPA2</acronym> security protocol. More details regarding " @@ -88785,7 +90015,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:63550 +#: book.translate.xml:63604 msgid "" "The <citerefentry><refentrytitle>hostapd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> daemon is used to deal with client authentication " @@ -88794,7 +90024,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:63555 +#: book.translate.xml:63609 msgid "" "The following configuration operations are performed on the FreeBSD machine " "acting as the <acronym>AP</acronym>. Once the <acronym>AP</acronym> is " @@ -88804,13 +90034,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:63562 +#: book.translate.xml:63616 #, no-wrap msgid "hostapd_enable=\"YES\"" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:63564 +#: book.translate.xml:63618 msgid "" "Before trying to configure <citerefentry><refentrytitle>hostapd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, first configure the " @@ -88818,24 +90048,24 @@ msgid "" msgstr "" #. (itstool) path: sect4/title -#: book.translate.xml:63568 +#: book.translate.xml:63622 msgid "<acronym>WPA2-PSK</acronym>" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:63570 +#: book.translate.xml:63624 msgid "" "<acronym>WPA2-PSK</acronym> is intended for small networks where the use of " "a backend authentication server is not possible or desired." msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:63574 +#: book.translate.xml:63628 msgid "The configuration is done in <filename>/etc/hostapd.conf</filename>:" msgstr "" #. (itstool) path: sect4/programlisting -#: book.translate.xml:63577 +#: book.translate.xml:63631 #, no-wrap msgid "" "interface=wlan0 <co xml:id=\"co-ap-wpapsk-iface\"/>\n" @@ -88850,12 +90080,12 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63589 +#: book.translate.xml:63643 msgid "Wireless interface used for the access point." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63594 +#: book.translate.xml:63648 msgid "" "Level of verbosity used during the execution of " "<citerefentry><refentrytitle>hostapd</refentrytitle><manvolnum>8</" @@ -88864,7 +90094,7 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63601 +#: book.translate.xml:63655 msgid "" "Pathname of the directory used by <citerefentry><refentrytitle>hostapd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> to store domain socket " @@ -88874,19 +90104,19 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63608 +#: book.translate.xml:63662 msgid "The group allowed to access the control interface files." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63613 +#: book.translate.xml:63667 msgid "" "The wireless network name, or <acronym>SSID</acronym>, that will appear in " "wireless scans." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63619 +#: book.translate.xml:63673 msgid "" "Enable <acronym>WPA</acronym> and specify which <acronym>WPA</acronym> " "authentication protocol will be required. A value of <literal>2</literal> " @@ -88896,26 +90126,26 @@ msgid "" msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63630 +#: book.translate.xml:63684 msgid "ASCII passphrase for <acronym>WPA</acronym> authentication." msgstr "" #. (itstool) path: warning/para -#: book.translate.xml:63634 +#: book.translate.xml:63688 msgid "" "Always use strong passwords that are at least 8 characters long and made " "from a rich alphabet so that they will not be easily guessed or attacked." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63642 +#: book.translate.xml:63696 msgid "" "The key management protocol to use. This example sets <acronym>WPA-PSK</" "acronym>." msgstr "" #. (itstool) path: callout/para -#: book.translate.xml:63648 +#: book.translate.xml:63702 msgid "" "Encryption algorithms accepted by the access point. In this example, only " "the <acronym>CCMP</acronym> (<acronym>AES</acronym>) cipher is accepted. " @@ -88925,20 +90155,20 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:63661 +#: book.translate.xml:63715 msgid "" "The next step is to start <citerefentry><refentrytitle>hostapd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>:" msgstr "" #. (itstool) path: sect4/screen -#: book.translate.xml:63663 +#: book.translate.xml:63717 #, no-wrap msgid "<prompt>#</prompt> <userinput>service hostapd forcestart</userinput>" msgstr "" #. (itstool) path: sect4/screen -#: book.translate.xml:63665 +#: book.translate.xml:63719 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <replaceable>wlan0</replaceable></userinput>\n" @@ -88957,7 +90187,7 @@ msgid "" msgstr "" #. (itstool) path: sect4/para -#: book.translate.xml:63679 +#: book.translate.xml:63733 msgid "" "Once the <acronym>AP</acronym> is running, the clients can associate with " "it. See <xref linkend=\"network-wireless-wpa\"/> for more details. It is " @@ -88966,12 +90196,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:63689 +#: book.translate.xml:63743 msgid "<acronym>WEP</acronym> Host-based Access Point" msgstr "<acronym>WEP</acronym> Host-based 存取點" #. (itstool) path: sect3/para -#: book.translate.xml:63691 +#: book.translate.xml:63745 msgid "" "It is not recommended to use <acronym>WEP</acronym> for setting up an " "<acronym>AP</acronym> since there is no authentication mechanism and the " @@ -88981,14 +90211,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:63699 +#: book.translate.xml:63753 msgid "" "The wireless device can now be put into hostap mode and configured with the " "correct <acronym>SSID</acronym> and <acronym>IP</acronym> address:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:63703 +#: book.translate.xml:63757 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>ath0</replaceable> wlanmode hostap</userinput>\n" @@ -88997,7 +90227,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:63709 +#: book.translate.xml:63763 msgid "" "The <literal>weptxkey</literal> indicates which <acronym>WEP</acronym> key " "will be used in the transmission. This example uses the third key as key " @@ -89006,7 +90236,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:63718 +#: book.translate.xml:63772 msgid "" "The <literal>wepkey</literal> sets the selected <acronym>WEP</acronym> key. " "It should be in the format <replaceable>index:key</replaceable>. If the " @@ -89015,7 +90245,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:63727 +#: book.translate.xml:63781 msgid "" "Use <citerefentry><refentrytitle>ifconfig</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> to see the status of the <filename>wlan0</" @@ -89023,7 +90253,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:63730 +#: book.translate.xml:63784 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <replaceable>wlan0</replaceable></userinput>\n" @@ -89038,14 +90268,14 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:63740 +#: book.translate.xml:63794 msgid "" "From another wireless machine, it is now possible to initiate a scan to find " "the <acronym>AP</acronym>:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:63743 +#: book.translate.xml:63797 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>ath0</replaceable></userinput>\n" @@ -89055,7 +90285,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:63748 +#: book.translate.xml:63802 msgid "" "In this example, the client machine found the <acronym>AP</acronym> and can " "associate with it using the correct parameters. See <xref linkend=\"network-" @@ -89063,12 +90293,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:63755 +#: book.translate.xml:63809 msgid "Using Both Wired and Wireless Connections" msgstr "同時使用有線及無線連線" #. (itstool) path: sect2/para -#: book.translate.xml:63757 +#: book.translate.xml:63811 msgid "" "A wired connection provides better performance and reliability, while a " "wireless connection provides flexibility and mobility. Laptop users " @@ -89076,7 +90306,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:63762 +#: book.translate.xml:63816 msgid "" "On FreeBSD, it is possible to combine two or even more network interfaces " "together in a <quote>failover</quote> fashion. This type of configuration " @@ -89086,7 +90316,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:63769 +#: book.translate.xml:63823 msgid "" "Link aggregation and failover is covered in <xref linkend=\"network-" "aggregation\"/> and an example for using both wired and wireless connections " @@ -89094,14 +90324,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:63776 +#: book.translate.xml:63830 msgid "" "This section describes a number of steps to help troubleshoot common " "wireless networking problems." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:63782 +#: book.translate.xml:63836 msgid "" "If the access point is not listed when scanning, check that the " "configuration has not limited the wireless device to a limited set of " @@ -89109,7 +90339,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:63788 +#: book.translate.xml:63842 msgid "" "If the device cannot associate with an access point, verify that the " "configuration matches the settings on the access point. This includes the " @@ -89120,7 +90350,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:63797 +#: book.translate.xml:63851 msgid "" "Debugging support is provided by " "<citerefentry><refentrytitle>wpa_supplicant</refentrytitle><manvolnum>8</" @@ -89129,7 +90359,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:63804 +#: book.translate.xml:63858 msgid "" "Once the system can associate with the access point, diagnose the network " "configuration using tools like <citerefentry><refentrytitle>ping</" @@ -89137,7 +90367,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:63810 +#: book.translate.xml:63864 msgid "" "There are many lower-level debugging tools. Debugging messages can be " "enabled in the 802.11 protocol support layer using " @@ -89148,7 +90378,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/screen -#: book.translate.xml:63817 +#: book.translate.xml:63871 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>wlandebug -i <replaceable>ath0</replaceable> +scan+auth+debug+assoc</userinput>\n" @@ -89156,7 +90386,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:63820 +#: book.translate.xml:63874 msgid "" "Many useful statistics are maintained by the 802.11 layer and " "<command>wlanstats</command>, found in <filename>/usr/src/tools/tools/" @@ -89168,24 +90398,24 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:63831 +#: book.translate.xml:63885 msgid "" "If the above information does not help to clarify the problem, submit a " "problem report and include output from the above tools." msgstr "" #. (itstool) path: info/title -#: book.translate.xml:63839 +#: book.translate.xml:63893 msgid "USB Tethering" msgstr "USB 網路共享" #. (itstool) path: sect1/indexterm -#: book.translate.xml:63842 +#: book.translate.xml:63896 msgid "<primary>tether</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:63846 +#: book.translate.xml:63900 msgid "" "Many cellphones provide the option to share their data connection over USB " "(often called \"tethering\"). This feature uses either the <acronym>RNDIS</" @@ -89195,7 +90425,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:63854 +#: book.translate.xml:63908 msgid "" "<trademark>Android</trademark> devices generally use the " "<citerefentry><refentrytitle>urndis</refentrytitle><manvolnum>4</manvolnum></" @@ -89203,7 +90433,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:63859 +#: book.translate.xml:63913 msgid "" "<trademark class=\"registered\">Apple</trademark> devices use the " "<citerefentry><refentrytitle>ipheth</refentrytitle><manvolnum>4</manvolnum></" @@ -89211,19 +90441,19 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:63863 +#: book.translate.xml:63917 msgid "" "Older devices will often use the <citerefentry><refentrytitle>cdce</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> driver." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:63868 +#: book.translate.xml:63922 msgid "Before attaching a device, load the appropriate driver into the kernel:" msgstr "" #. (itstool) path: sect1/screen -#: book.translate.xml:63871 +#: book.translate.xml:63925 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>kldload if_urndis\n" @@ -89232,7 +90462,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:63875 +#: book.translate.xml:63929 msgid "" "Once the device is attached <literal>ue</literal><replaceable>0</" "replaceable> will be available for use like a normal network device. Be sure " @@ -89240,24 +90470,24 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:63884 +#: book.translate.xml:63938 msgid "Bluetooth" msgstr "藍牙" #. (itstool) path: authorgroup/author -#: book.translate.xml:63887 +#: book.translate.xml:63941 msgid "" "<personname> <firstname>Pav</firstname> <surname>Lucistnik</surname> </" "personname> <contrib>Written by </contrib> <email>pav@FreeBSD.org</email>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:63898 +#: book.translate.xml:63952 msgid "<primary>Bluetooth</primary>" msgstr "<primary>藍牙</primary>" #. (itstool) path: sect1/para -#: book.translate.xml:63902 +#: book.translate.xml:63956 msgid "" "Bluetooth is a wireless technology for creating personal networks operating " "in the 2.4 GHz unlicensed band, with a range of 10 meters. Networks are " @@ -89268,7 +90498,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:63911 +#: book.translate.xml:63965 msgid "" "This section describes the use of a <acronym>USB</acronym> Bluetooth dongle " "on a FreeBSD system. It then describes the various Bluetooth protocols and " @@ -89276,12 +90506,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:63916 +#: book.translate.xml:63970 msgid "Loading Bluetooth Support" msgstr "載入藍牙支援" #. (itstool) path: sect2/para -#: book.translate.xml:63918 +#: book.translate.xml:63972 msgid "" "The Bluetooth stack in FreeBSD is implemented using the " "<citerefentry><refentrytitle>netgraph</refentrytitle><manvolnum>4</" @@ -89303,7 +90533,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:63928 +#: book.translate.xml:63982 msgid "" "Before attaching a device, determine which of the above drivers it uses, " "then load the driver. For example, if the device uses the " @@ -89312,13 +90542,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:63932 +#: book.translate.xml:63986 #, no-wrap msgid "<prompt>#</prompt> <userinput>kldload ng_ubt</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:63934 +#: book.translate.xml:63988 msgid "" "If the Bluetooth device will be attached to the system during system " "startup, the system can be configured to load the module at boot time by " @@ -89326,13 +90556,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:63939 +#: book.translate.xml:63993 #, no-wrap msgid "ng_ubt_load=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:63941 +#: book.translate.xml:63995 msgid "" "Once the driver is loaded, plug in the <acronym>USB</acronym> dongle. If the " "driver load was successful, output similar to the following should appear on " @@ -89340,7 +90570,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:63947 +#: book.translate.xml:64001 #, no-wrap msgid "" "ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2\n" @@ -89350,7 +90580,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:63952 +#: book.translate.xml:64006 msgid "" "To start and stop the Bluetooth stack, use its startup script. It is a good " "idea to stop the stack before unplugging the device. When starting the " @@ -89358,7 +90588,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:63957 +#: book.translate.xml:64011 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>service bluetooth start ubt0</userinput>\n" @@ -89376,17 +90606,17 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:63972 +#: book.translate.xml:64026 msgid "Finding Other Bluetooth Devices" msgstr "尋找其他藍牙裝置" #. (itstool) path: sect2/indexterm -#: book.translate.xml:63974 +#: book.translate.xml:64028 msgid "<primary>HCI</primary>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:63978 +#: book.translate.xml:64032 msgid "" "The Host Controller Interface (<acronym>HCI</acronym>) provides a uniform " "method for accessing Bluetooth baseband capabilities. In FreeBSD, a netgraph " @@ -89396,7 +90626,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:63984 +#: book.translate.xml:64038 msgid "" "One of the most common tasks is discovery of Bluetooth devices within " "<acronym>RF</acronym> proximity. This operation is called <emphasis>inquiry</" @@ -89410,7 +90640,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:63994 +#: book.translate.xml:64048 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>hccontrol -n ubt0hci inquiry</userinput>\n" @@ -89426,7 +90656,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64005 +#: book.translate.xml:64059 msgid "" "The <literal>BD_ADDR</literal> is the unique address of a Bluetooth device, " "similar to the <acronym>MAC</acronym> address of a network card. This " @@ -89438,7 +90668,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:64015 +#: book.translate.xml:64069 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4</userinput>\n" @@ -89447,7 +90677,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64019 +#: book.translate.xml:64073 msgid "" "If an inquiry is performed on a remote Bluetooth device, it will find the " "computer as <quote>your.host.name (ubt0)</quote>. The name assigned to the " @@ -89455,7 +90685,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64024 +#: book.translate.xml:64078 msgid "" "The Bluetooth system provides a point-to-point connection between two " "Bluetooth units, or a point-to-multipoint connection which is shared among " @@ -89464,7 +90694,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:64030 +#: book.translate.xml:64084 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>hccontrol -n ubt0hci read_connection_list</userinput>\n" @@ -89473,7 +90703,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64034 +#: book.translate.xml:64088 msgid "" "A <emphasis>connection handle</emphasis> is useful when termination of the " "baseband connection is required, though it is normally not required to do " @@ -89482,7 +90712,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:64040 +#: book.translate.xml:64094 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>hccontrol -n ubt0hci disconnect 41</userinput>\n" @@ -89491,7 +90721,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64044 +#: book.translate.xml:64098 msgid "" "Type <command>hccontrol help</command> for a complete listing of available " "<acronym>HCI</acronym> commands. Most of the <acronym>HCI</acronym> commands " @@ -89499,12 +90729,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:64051 +#: book.translate.xml:64105 msgid "Device Pairing" msgstr "裝置配對" #. (itstool) path: sect2/para -#: book.translate.xml:64053 +#: book.translate.xml:64107 msgid "" "By default, Bluetooth communication is not authenticated, and any device can " "talk to any other device. A Bluetooth device, such as a cellular phone, may " @@ -89521,7 +90751,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64070 +#: book.translate.xml:64124 msgid "" "The <citerefentry><refentrytitle>hcsecd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> daemon is responsible for handling Bluetooth " @@ -89532,7 +90762,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:64077 +#: book.translate.xml:64131 #, no-wrap msgid "" "device {\n" @@ -89544,7 +90774,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64084 +#: book.translate.xml:64138 msgid "" "The only limitation on <acronym>PIN</acronym> codes is length. Some devices, " "such as Bluetooth headsets, may have a fixed <acronym>PIN</acronym> code " @@ -89560,7 +90790,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64098 +#: book.translate.xml:64152 msgid "" "The following line can be added to <filename>/etc/rc.conf</filename> to " "configure <citerefentry><refentrytitle>hcsecd</refentrytitle><manvolnum>8</" @@ -89568,20 +90798,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:64102 +#: book.translate.xml:64156 #, no-wrap msgid "hcsecd_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64104 +#: book.translate.xml:64158 msgid "" "The following is a sample of the <citerefentry><refentrytitle>hcsecd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> daemon output:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:64107 +#: book.translate.xml:64161 #, no-wrap msgid "" "hcsecd[16484]: Got Link_Key_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4\n" @@ -89593,12 +90823,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:64116 +#: book.translate.xml:64170 msgid "Network Access with <acronym>PPP</acronym> Profiles" msgstr "使用 <acronym>PPP</acronym> Profile 存取網路 " #. (itstool) path: sect2/para -#: book.translate.xml:64119 +#: book.translate.xml:64173 msgid "" "A Dial-Up Networking (<acronym>DUN</acronym>) profile can be used to " "configure a cellular phone as a wireless modem for connecting to a dial-up " @@ -89607,7 +90837,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64125 +#: book.translate.xml:64179 msgid "" "Network access with a <acronym>PPP</acronym> profile can be used to provide " "<acronym>LAN</acronym> access for a single Bluetooth device or multiple " @@ -89617,7 +90847,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64132 +#: book.translate.xml:64186 msgid "" "In FreeBSD, these profiles are implemented with " "<citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></" @@ -89631,7 +90861,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64140 +#: book.translate.xml:64194 msgid "" "In this example, <citerefentry><refentrytitle>rfcomm_pppd</" "refentrytitle><manvolnum>8</manvolnum></citerefentry> is used to open a " @@ -89641,13 +90871,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:64147 +#: book.translate.xml:64201 #, no-wrap msgid "<prompt>#</prompt> <userinput>rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialup</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64149 +#: book.translate.xml:64203 msgid "" "The actual channel number will be obtained from the remote device using the " "<acronym>SDP</acronym> protocol. It is possible to specify the " @@ -89660,7 +90890,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64157 +#: book.translate.xml:64211 msgid "" "In order to provide network access with the <acronym>PPP</acronym> " "<acronym>LAN</acronym> service, <citerefentry><refentrytitle>sdpd</" @@ -89677,35 +90907,35 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:64171 +#: book.translate.xml:64225 #, no-wrap msgid "<prompt>#</prompt> <userinput>rfcomm_pppd -s -C 7 -l rfcomm-server</userinput>" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:64175 +#: book.translate.xml:64229 msgid "Bluetooth Protocols" msgstr "藍牙通訊協定" #. (itstool) path: sect2/para -#: book.translate.xml:64177 +#: book.translate.xml:64231 msgid "" "This section provides an overview of the various Bluetooth protocols, their " "function, and associated utilities." msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:64181 +#: book.translate.xml:64235 msgid "Logical Link Control and Adaptation Protocol (<acronym>L2CAP</acronym>)" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:64184 +#: book.translate.xml:64238 msgid "<primary>L2CAP</primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64188 +#: book.translate.xml:64242 msgid "" "The Logical Link Control and Adaptation Protocol (<acronym>L2CAP</acronym>) " "provides connection-oriented and connectionless data services to upper layer " @@ -89715,7 +90945,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64196 +#: book.translate.xml:64250 msgid "" "<acronym>L2CAP</acronym> is based around the concept of <emphasis>channels</" "emphasis>. A channel is a logical connection on top of a baseband " @@ -89727,7 +90957,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64207 +#: book.translate.xml:64261 msgid "" "In FreeBSD, a netgraph <acronym>L2CAP</acronym> node is created for each " "Bluetooth device. This node is normally connected to the downstream " @@ -89739,7 +90969,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64215 +#: book.translate.xml:64269 msgid "" "A useful command is <citerefentry><refentrytitle>l2ping</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>, which can be used to " @@ -89749,7 +90979,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:64220 +#: book.translate.xml:64274 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>l2ping -a 00:80:37:29:19:a4</userinput>\n" @@ -89760,7 +90990,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64226 +#: book.translate.xml:64280 msgid "" "The <citerefentry><refentrytitle>l2control</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> utility is used to perform various operations on " @@ -89770,7 +91000,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:64232 +#: book.translate.xml:64286 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>l2control -a 00:02:72:00:d4:1a read_channel_list</userinput>\n" @@ -89784,7 +91014,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64241 +#: book.translate.xml:64295 msgid "" "Another diagnostic tool is <citerefentry><refentrytitle>btsockstat</" "refentrytitle><manvolnum>1</manvolnum></citerefentry>. It is similar to " @@ -89796,7 +91026,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:64247 +#: book.translate.xml:64301 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>btsockstat</userinput>\n" @@ -89812,12 +91042,12 @@ msgid "" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:64260 +#: book.translate.xml:64314 msgid "Radio Frequency Communication (<acronym>RFCOMM</acronym>)" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64263 +#: book.translate.xml:64317 msgid "" "The <acronym>RFCOMM</acronym> protocol provides emulation of serial ports " "over the <acronym>L2CAP</acronym> protocol. <acronym>RFCOMM</acronym> is a " @@ -89828,7 +91058,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64272 +#: book.translate.xml:64326 msgid "" "For the purposes of <acronym>RFCOMM</acronym>, a complete communication path " "involves two applications running on the communication endpoints with a " @@ -89839,7 +91069,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64281 +#: book.translate.xml:64335 msgid "" "<acronym>RFCOMM</acronym> is only concerned with the connection between the " "devices in the direct connect case, or between the device and a modem in the " @@ -89849,24 +91079,24 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64289 +#: book.translate.xml:64343 msgid "" "In FreeBSD, <acronym>RFCOMM</acronym> is implemented at the Bluetooth " "sockets layer." msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:64294 +#: book.translate.xml:64348 msgid "Service Discovery Protocol (<acronym>SDP</acronym>)" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:64297 +#: book.translate.xml:64351 msgid "<primary>SDP</primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64301 +#: book.translate.xml:64355 msgid "" "The Service Discovery Protocol (<acronym>SDP</acronym>) provides the means " "for client applications to discover the existence of services provided by " @@ -89876,7 +91106,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64309 +#: book.translate.xml:64363 msgid "" "<acronym>SDP</acronym> involves communication between a <acronym>SDP</" "acronym> server and a <acronym>SDP</acronym> client. The server maintains a " @@ -89892,7 +91122,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64324 +#: book.translate.xml:64378 msgid "" "Normally, a <acronym>SDP</acronym> client searches for services based on " "some desired characteristics of the services. However, there are times when " @@ -89903,7 +91133,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64333 +#: book.translate.xml:64387 msgid "" "The Bluetooth <acronym>SDP</acronym> server, " "<citerefentry><refentrytitle>sdpd</refentrytitle><manvolnum>8</manvolnum></" @@ -89915,7 +91145,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:64339 +#: book.translate.xml:64393 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>sdpcontrol -a 00:01:03:fc:6e:ec browse</userinput>\n" @@ -89943,7 +91173,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64362 +#: book.translate.xml:64416 msgid "" "Note that each service has a list of attributes, such as the " "<acronym>RFCOMM</acronym> channel. Depending on the service, the user might " @@ -89955,13 +91185,13 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:64372 +#: book.translate.xml:64426 #, no-wrap msgid "<prompt>%</prompt> <userinput>sdpcontrol -a 00:01:03:fc:6e:ec search OPUSH</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64374 +#: book.translate.xml:64428 msgid "" "Offering services on FreeBSD to Bluetooth clients is done with the " "<citerefentry><refentrytitle>sdpd</refentrytitle><manvolnum>8</manvolnum></" @@ -89970,26 +91200,26 @@ msgid "" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:64378 +#: book.translate.xml:64432 #, no-wrap msgid "sdpd_enable=\"YES\"" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64380 +#: book.translate.xml:64434 msgid "" "Then the <citerefentry><refentrytitle>sdpd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> daemon can be started with:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:64382 +#: book.translate.xml:64436 #, no-wrap msgid "<prompt>#</prompt> <userinput>service sdpd start</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64384 +#: book.translate.xml:64438 msgid "" "The local server application that wants to provide a Bluetooth service to " "remote clients will register the service with the local <acronym>SDP</" @@ -90000,7 +91230,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64391 +#: book.translate.xml:64445 msgid "" "The list of services registered with the local <acronym>SDP</acronym> server " "can be obtained by issuing a <acronym>SDP</acronym> browse query via the " @@ -90008,23 +91238,23 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:64396 +#: book.translate.xml:64450 #, no-wrap msgid "<prompt>#</prompt> <userinput>sdpcontrol -l browse</userinput>" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:64400 +#: book.translate.xml:64454 msgid "<acronym>OBEX</acronym> Object Push (<acronym>OPUSH</acronym>)" msgstr "" #. (itstool) path: sect3/indexterm -#: book.translate.xml:64403 +#: book.translate.xml:64457 msgid "<primary>OBEX</primary>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64407 +#: book.translate.xml:64461 msgid "" "Object Exchange (<acronym>OBEX</acronym>) is a widely used protocol for " "simple file transfers between mobile devices. Its main use is in infrared " @@ -90035,7 +91265,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64416 +#: book.translate.xml:64470 msgid "" "The <acronym>OBEX</acronym> server and client are implemented by " "<application>obexapp</application>, which can be installed using the " @@ -90043,7 +91273,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64421 +#: book.translate.xml:64475 msgid "" "The <acronym>OBEX</acronym> client is used to push and/or pull objects from " "the <acronym>OBEX</acronym> server. An example object is a business card or " @@ -90060,7 +91290,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:64437 +#: book.translate.xml:64491 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>obexapp -a 00:80:37:29:19:a4 -C IrMC</userinput>\n" @@ -90073,7 +91303,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64445 +#: book.translate.xml:64499 msgid "" "In order to provide the <acronym>OPUSH</acronym> service, " "<citerefentry><refentrytitle>sdpd</refentrytitle><manvolnum>8</manvolnum></" @@ -90088,18 +91318,18 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:64457 +#: book.translate.xml:64511 #, no-wrap msgid "<prompt>#</prompt> <userinput>obexapp -s -C 10</userinput>" msgstr "" #. (itstool) path: sect3/title -#: book.translate.xml:64461 +#: book.translate.xml:64515 msgid "Serial Port Profile (<acronym>SPP</acronym>)" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64463 +#: book.translate.xml:64517 msgid "" "The Serial Port Profile (<acronym>SPP</acronym>) allows Bluetooth devices to " "perform serial cable emulation. This profile allows legacy applications to " @@ -90108,7 +91338,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64469 +#: book.translate.xml:64523 msgid "" "In FreeBSD, <citerefentry><refentrytitle>rfcomm_sppd</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> implements " @@ -90122,7 +91352,7 @@ msgid "" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:64479 +#: book.translate.xml:64533 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>rfcomm_sppd -a 00:07:E0:00:0B:CA -t</userinput>\n" @@ -90131,23 +91361,23 @@ msgid "" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64483 +#: book.translate.xml:64537 msgid "Once connected, the pseudo tty can be used as serial port:" msgstr "" #. (itstool) path: sect3/screen -#: book.translate.xml:64486 +#: book.translate.xml:64540 #, no-wrap msgid "<prompt>#</prompt> <userinput>cu -l /dev/pts/6</userinput>" msgstr "" #. (itstool) path: sect3/para -#: book.translate.xml:64488 +#: book.translate.xml:64542 msgid "The pseudo tty is printed on stdout and can be read by wrapper scripts:" msgstr "" #. (itstool) path: sect3/programlisting -#: book.translate.xml:64491 +#: book.translate.xml:64545 #, no-wrap msgid "" "PTS=`rfcomm_sppd -a 00:07:E0:00:0B:CA -t`\n" @@ -90155,7 +91385,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64499 +#: book.translate.xml:64553 msgid "" "By default, when FreeBSD is accepting a new connection, it tries to perform " "a role switch and become master. Some older Bluetooth devices which do not " @@ -90166,13 +91396,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:64508 +#: book.translate.xml:64562 #, no-wrap msgid "<prompt>#</prompt> <userinput>hccontrol -n ubt0hci write_node_role_switch 0</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64510 +#: book.translate.xml:64564 msgid "" "To display Bluetooth packets, use the third-party package " "<application>hcidump</application>, which can be installed using the " @@ -90184,29 +91414,29 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:64521 +#: book.translate.xml:64575 msgid "Bridging" msgstr "橋接" #. (itstool) path: authorgroup/author -#: book.translate.xml:64524 book.translate.xml:64985 +#: book.translate.xml:64578 book.translate.xml:65039 msgid "" "<personname> <firstname>Andrew</firstname> <surname>Thompson</surname> </" "personname> <contrib>Written by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:64534 +#: book.translate.xml:64588 msgid "<primary><acronym>IP</acronym> subnet</primary>" msgstr "<primary><acronym>IP</acronym> 子網段</primary>" #. (itstool) path: sect1/indexterm -#: book.translate.xml:64537 +#: book.translate.xml:64591 msgid "<primary>bridge</primary>" msgstr "<primary>橋接</primary>" #. (itstool) path: sect1/para -#: book.translate.xml:64541 +#: book.translate.xml:64595 msgid "" "It is sometimes useful to divide a network, such as an Ethernet segment, " "into network segments without having to create <acronym>IP</acronym> subnets " @@ -90215,7 +91445,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:64548 +#: book.translate.xml:64602 msgid "" "A bridge works by learning the <acronym>MAC</acronym> addresses of the " "devices on each of its network interfaces. It forwards traffic between " @@ -90226,17 +91456,17 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:64556 +#: book.translate.xml:64610 msgid "Bridging can be useful in the following situations:" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:64560 +#: book.translate.xml:64614 msgid "Connecting Networks" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:64562 +#: book.translate.xml:64616 msgid "" "The basic operation of a bridge is to join two or more network segments. " "There are many reasons to use a host-based bridge instead of networking " @@ -90246,19 +91476,19 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:64572 +#: book.translate.xml:64626 msgid "Filtering/Traffic Shaping Firewall" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:64574 +#: book.translate.xml:64628 msgid "" "A bridge can be used when firewall functionality is needed without routing " "or Network Address Translation (<acronym>NAT</acronym>)." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:64578 +#: book.translate.xml:64632 msgid "" "An example is a small company that is connected via <acronym>DSL</acronym> " "or <acronym>ISDN</acronym> to an <acronym>ISP</acronym>. There are thirteen " @@ -90269,12 +91499,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:64591 +#: book.translate.xml:64645 msgid "Network Tap" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:64593 +#: book.translate.xml:64647 msgid "" "A bridge can join two network segments in order to inspect all Ethernet " "frames that pass between them using <citerefentry><refentrytitle>bpf</" @@ -90285,12 +91515,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:64602 +#: book.translate.xml:64656 msgid "Layer 2 <acronym>VPN</acronym>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:64604 +#: book.translate.xml:64658 msgid "" "Two Ethernet networks can be joined across an <acronym>IP</acronym> link by " "bridging the networks to an EtherIP tunnel or a " @@ -90299,19 +91529,19 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:64612 +#: book.translate.xml:64666 msgid "Layer 2 Redundancy" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:64614 +#: book.translate.xml:64668 msgid "" "A network can be connected together with multiple links and use the Spanning " "Tree Protocol (<acronym>STP</acronym>) to block redundant paths." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:64621 +#: book.translate.xml:64675 msgid "" "This section describes how to configure a FreeBSD system as a bridge using " "<citerefentry><refentrytitle>if_bridge</refentrytitle><manvolnum>4</" @@ -90321,7 +91551,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:64626 +#: book.translate.xml:64680 msgid "" "Packet filtering can be used with any firewall package that hooks into the " "<citerefentry><refentrytitle>pfil</refentrytitle><manvolnum>9</manvolnum></" @@ -90332,12 +91562,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:64633 +#: book.translate.xml:64687 msgid "Enabling the Bridge" msgstr "開啟橋接" #. (itstool) path: sect2/para -#: book.translate.xml:64635 +#: book.translate.xml:64689 msgid "" "In FreeBSD, <citerefentry><refentrytitle>if_bridge</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> is a kernel module " @@ -90349,14 +91579,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64642 +#: book.translate.xml:64696 msgid "" "The bridge is created using interface cloning. To create the bridge " "interface:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:64645 +#: book.translate.xml:64699 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig bridge create</userinput>\n" @@ -90370,7 +91600,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64654 +#: book.translate.xml:64708 msgid "" "When a bridge interface is created, it is automatically assigned a randomly " "generated Ethernet address. The <literal>maxaddr</literal> and " @@ -90381,7 +91611,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64663 +#: book.translate.xml:64717 msgid "" "Next, specify which network interfaces to add as members of the bridge. For " "the bridge to forward packets, all member interfaces and the bridge need to " @@ -90389,7 +91619,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:64667 +#: book.translate.xml:64721 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig bridge0 addm fxp0 addm fxp1 up</userinput>\n" @@ -90398,7 +91628,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64671 +#: book.translate.xml:64725 msgid "" "The bridge can now forward Ethernet frames between <filename>fxp0</filename> " "and <filename>fxp1</filename>. Add the following lines to <filename>/etc/rc." @@ -90406,7 +91636,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:64676 +#: book.translate.xml:64730 #, no-wrap msgid "" "cloned_interfaces=\"bridge0\"\n" @@ -90416,7 +91646,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64681 +#: book.translate.xml:64735 msgid "" "If the bridge host needs an <acronym>IP</acronym> address, set it on the " "bridge interface, not on the member interfaces. The address can be set " @@ -90425,13 +91655,13 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:64687 +#: book.translate.xml:64741 #, no-wrap msgid "<prompt>#</prompt> <userinput>ifconfig bridge0 inet 192.168.0.1/24</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64689 +#: book.translate.xml:64743 msgid "" "It is also possible to assign an <acronym>IPv6</acronym> address to a bridge " "interface. To make the changes permanent, add the addressing information to " @@ -90439,7 +91669,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:64695 +#: book.translate.xml:64749 msgid "" "When packet filtering is enabled, bridged packets will pass through the " "filter inbound on the originating interface on the bridge interface, and " @@ -90449,7 +91679,7 @@ msgid "" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:64702 +#: book.translate.xml:64756 msgid "" "The bridge has several configurable settings for passing non-<acronym>IP</" "acronym> and <acronym>IP</acronym> packets, and layer2 firewalling with " @@ -90459,12 +91689,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:64710 +#: book.translate.xml:64764 msgid "Enabling Spanning Tree" msgstr "開啟 Spanning Tree" #. (itstool) path: sect2/para -#: book.translate.xml:64712 +#: book.translate.xml:64766 msgid "" "For an Ethernet network to function properly, only one active path can exist " "between two devices. The <acronym>STP</acronym> protocol detects loops and " @@ -90474,7 +91704,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64720 +#: book.translate.xml:64774 msgid "" "The Rapid Spanning Tree Protocol (<acronym>RSTP</acronym> or 802.1w) " "provides backwards compatibility with legacy <acronym>STP</acronym>. " @@ -90486,7 +91716,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64729 +#: book.translate.xml:64783 msgid "" "<acronym>STP</acronym> can be enabled on member interfaces using " "<citerefentry><refentrytitle>ifconfig</refentrytitle><manvolnum>8</" @@ -90496,7 +91726,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:64734 +#: book.translate.xml:64788 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig bridge0 stp fxp0 stp fxp1</userinput>\n" @@ -90514,7 +91744,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64747 +#: book.translate.xml:64801 msgid "" "This bridge has a spanning tree ID of <literal>00:01:02:4b:d4:50</literal> " "and a priority of <literal>32768</literal>. As the <literal>root id</" @@ -90522,12 +91752,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64753 +#: book.translate.xml:64807 msgid "Another bridge on the network also has <acronym>STP</acronym> enabled:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:64756 +#: book.translate.xml:64810 #, no-wrap msgid "" "bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500\n" @@ -90544,7 +91774,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64768 +#: book.translate.xml:64822 msgid "" "The line <literal>root id 00:01:02:4b:d4:50 priority 32768 ifcost 400000 " "port 4</literal> shows that the root bridge is <literal>00:01:02:4b:d4:50</" @@ -90554,12 +91784,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:64777 +#: book.translate.xml:64831 msgid "Bridge Interface Parameters" msgstr "橋接介面參數" #. (itstool) path: sect2/para -#: book.translate.xml:64779 +#: book.translate.xml:64833 msgid "" "Several <command>ifconfig</command> parameters are unique to bridge " "interfaces. This section summarizes some common uses for these parameters. " @@ -90569,12 +91799,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:64786 +#: book.translate.xml:64840 msgid "private" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:64788 +#: book.translate.xml:64842 msgid "" "A private interface does not forward any traffic to any other port that is " "also designated as a private interface. The traffic is blocked " @@ -90584,12 +91814,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:64799 +#: book.translate.xml:64853 msgid "span" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:64801 +#: book.translate.xml:64855 msgid "" "A span port transmits a copy of every Ethernet frame received by the bridge. " "The number of span ports configured on a bridge is unlimited, but if an " @@ -90601,18 +91831,18 @@ msgid "" msgstr "" #. (itstool) path: listitem/screen -#: book.translate.xml:64811 +#: book.translate.xml:64865 #, no-wrap msgid "<prompt>#</prompt> <userinput>ifconfig bridge0 span fxp4</userinput>" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:64816 +#: book.translate.xml:64870 msgid "sticky" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:64818 +#: book.translate.xml:64872 msgid "" "If a bridge member interface is marked as sticky, dynamically learned " "address entries are treated as static entries in the forwarding cache. " @@ -90624,7 +91854,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:64828 +#: book.translate.xml:64882 msgid "" "An example of using sticky addresses is to combine the bridge with " "<acronym>VLAN</acronym>s in order to isolate customer networks without " @@ -90636,7 +91866,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/screen -#: book.translate.xml:64837 +#: book.translate.xml:64891 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig bridge0 addm vlan100 sticky vlan100 addm vlan101 sticky vlan101</userinput>\n" @@ -90644,7 +91874,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:64840 +#: book.translate.xml:64894 msgid "" "In this example, both clients see <systemitem class=\"ipaddress" "\">192.168.0.1</systemitem> as their default gateway. Since the bridge cache " @@ -90653,20 +91883,20 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:64846 +#: book.translate.xml:64900 msgid "" "Any communication between the <acronym>VLAN</acronym>s can be blocked using " "a firewall or, as seen in this example, private interfaces:" msgstr "" #. (itstool) path: listitem/screen -#: book.translate.xml:64850 +#: book.translate.xml:64904 #, no-wrap msgid "<prompt>#</prompt> <userinput>ifconfig bridge0 private vlan100 private vlan101</userinput>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:64852 +#: book.translate.xml:64906 msgid "" "The customers are completely isolated from each other and the full " "<systemitem class=\"netmask\">/24</systemitem> address range can be " @@ -90674,7 +91904,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:64856 +#: book.translate.xml:64910 msgid "" "The number of unique source <acronym>MAC</acronym> addresses behind an " "interface can be limited. Once the limit is reached, packets with unknown " @@ -90683,7 +91913,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:64862 +#: book.translate.xml:64916 msgid "" "The following example sets the maximum number of Ethernet devices for " "<systemitem class=\"fqdomainname\">CustomerA</systemitem> on " @@ -90691,13 +91921,13 @@ msgid "" msgstr "" #. (itstool) path: listitem/screen -#: book.translate.xml:64866 +#: book.translate.xml:64920 #, no-wrap msgid "<prompt>#</prompt> <userinput>ifconfig bridge0 ifmaxaddr vlan100 10</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64871 +#: book.translate.xml:64925 msgid "" "Bridge interfaces also support monitor mode, where the packets are discarded " "after <citerefentry><refentrytitle>bpf</refentrytitle><manvolnum>4</" @@ -90711,7 +91941,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:64880 +#: book.translate.xml:64934 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig bridge0 addm fxp0 addm fxp1 addm fxp2 addm fxp3 monitor up</userinput>\n" @@ -90719,12 +91949,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:64885 +#: book.translate.xml:64939 msgid "<acronym>SNMP</acronym> Monitoring" msgstr "<acronym>SNMP</acronym> 監視" #. (itstool) path: sect2/para -#: book.translate.xml:64887 +#: book.translate.xml:64941 msgid "" "The bridge interface and <acronym>STP</acronym> parameters can be monitored " "via <citerefentry><refentrytitle>bsnmpd</refentrytitle><manvolnum>1</" @@ -90735,20 +91965,20 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64894 +#: book.translate.xml:64948 msgid "" "To enable monitoring on the bridge, uncomment this line in <filename>/etc/" "snmp.config</filename> by removing the beginning <literal>#</literal> symbol:" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:64898 +#: book.translate.xml:64952 #, no-wrap msgid "begemotSnmpdModulePath.\"bridge\" = \"/usr/lib/snmp_bridge.so\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64900 +#: book.translate.xml:64954 msgid "" "Other configuration settings, such as community names and access lists, may " "need to be modified in this file. See <citerefentry><refentrytitle>bsnmpd</" @@ -90759,26 +91989,26 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:64906 +#: book.translate.xml:64960 #, no-wrap msgid "bsnmpd_enable=\"YES\"" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64908 +#: book.translate.xml:64962 msgid "" "Then, start <citerefentry><refentrytitle>bsnmpd</refentrytitle><manvolnum>1</" "manvolnum></citerefentry>:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:64910 +#: book.translate.xml:64964 #, no-wrap msgid "<prompt>#</prompt> <userinput>service bsnmpd start</userinput>" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64912 +#: book.translate.xml:64966 msgid "" "The following examples use the <application>Net-SNMP</application> software " "(<package>net-mgmt/net-snmp</package>) to query a bridge from a client " @@ -90790,7 +92020,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/programlisting -#: book.translate.xml:64922 +#: book.translate.xml:64976 #, no-wrap msgid "" "mibdirs +/usr/share/snmp/mibs\n" @@ -90798,12 +92028,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64925 +#: book.translate.xml:64979 msgid "To monitor a single bridge using the IETF BRIDGE-MIB (RFC4188):" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:64928 +#: book.translate.xml:64982 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>snmpwalk -v 2c -c public bridge1.example.com mib-2.dot1dBridge</userinput>\n" @@ -90825,7 +92055,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64945 +#: book.translate.xml:64999 msgid "" "The <literal>dot1dStpTopChanges.0</literal> value is two, indicating that " "the <acronym>STP</acronym> bridge topology has changed twice. A topology " @@ -90836,14 +92066,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64953 +#: book.translate.xml:65007 msgid "" "To monitor multiple bridge interfaces, the private BEGEMOT-BRIDGE-MIB can be " "used:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:64956 +#: book.translate.xml:65010 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>snmpwalk -v 2c -c public bridge1.example.com</userinput>\n" @@ -90864,14 +92094,14 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:64972 +#: book.translate.xml:65026 msgid "" "To change the bridge interface being monitored via the <literal>mib-2." "dot1dBridge</literal> subtree:" msgstr "" #. (itstool) path: sect2/screen -#: book.translate.xml:64975 +#: book.translate.xml:65029 #, no-wrap msgid "" "<prompt>%</prompt> <userinput>snmpset -v 2c -c private bridge1.example.com</userinput>\n" @@ -90879,42 +92109,42 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:64982 +#: book.translate.xml:65036 msgid "Link Aggregation and Failover" msgstr "Link Aggregation 與容錯移轉" #. (itstool) path: sect1/indexterm -#: book.translate.xml:64995 +#: book.translate.xml:65049 msgid "<primary>lagg</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:64998 +#: book.translate.xml:65052 msgid "<primary>failover</primary>" msgstr "<primary>容錯移轉</primary>" #. (itstool) path: sect1/indexterm -#: book.translate.xml:65001 +#: book.translate.xml:65055 msgid "<primary><acronym>FEC</acronym></primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:65004 +#: book.translate.xml:65058 msgid "<primary><acronym>LACP</acronym></primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:65007 +#: book.translate.xml:65061 msgid "<primary>loadbalance</primary>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:65010 +#: book.translate.xml:65064 msgid "<primary>roundrobin</primary>" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:65014 +#: book.translate.xml:65068 msgid "" "FreeBSD provides the <citerefentry><refentrytitle>lagg</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> interface which can be " @@ -90927,7 +92157,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:65024 +#: book.translate.xml:65078 msgid "" "The aggregation protocols supported by the lagg interface determine which " "ports are used for outgoing traffic and whether or not a specific port " @@ -90937,12 +92167,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:65031 +#: book.translate.xml:65085 msgid "failover" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:65033 +#: book.translate.xml:65087 msgid "" "This mode sends and receives traffic only through the master port. If the " "master port becomes unavailable, the next active port is used. The first " @@ -90953,12 +92183,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:65045 +#: book.translate.xml:65099 msgid "fec / loadbalance" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:65047 +#: book.translate.xml:65101 msgid "" "<trademark class=\"registered\">Cisco</trademark> Fast <trademark class=" "\"registered\">EtherChannel</trademark> (<acronym>FEC</acronym>) is found on " @@ -90969,12 +92199,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:65057 +#: book.translate.xml:65111 msgid "<acronym>lacp</acronym>" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:65059 +#: book.translate.xml:65113 msgid "" "The <trademark class=\"registered\">IEEE</trademark> 802.3ad Link " "Aggregation Control Protocol (<acronym>LACP</acronym>) negotiates a set of " @@ -90988,7 +92218,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:65073 +#: book.translate.xml:65127 msgid "" "<acronym>LACP</acronym> balances outgoing traffic across the active ports " "based on hashed protocol header information and accepts incoming traffic " @@ -90999,12 +92229,12 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: book.translate.xml:65085 +#: book.translate.xml:65139 msgid "roundrobin" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:65087 +#: book.translate.xml:65141 msgid "" "This mode distributes outgoing traffic using a round-robin scheduler through " "all active ports and accepts incoming traffic from any active port. Since " @@ -91012,12 +92242,12 @@ msgid "" msgstr "" #. (itstool) path: sect2/title -#: book.translate.xml:65097 +#: book.translate.xml:65151 msgid "Configuration Examples" msgstr "設定範例" #. (itstool) path: sect2/para -#: book.translate.xml:65099 +#: book.translate.xml:65153 msgid "" "This section demonstrates how to configure a <trademark class=\"registered" "\">Cisco</trademark> switch and a FreeBSD system for <acronym>LACP</acronym> " @@ -91027,7 +92257,7 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:65107 +#: book.translate.xml:65161 msgid "" "<acronym>LACP</acronym> Aggregation with a <trademark class=\"registered" "\">Cisco</trademark> Switch" @@ -91036,7 +92266,7 @@ msgstr "" "<acronym>LACP</acronym> Aggregation" #. (itstool) path: example/para -#: book.translate.xml:65110 +#: book.translate.xml:65164 msgid "" "This example connects two <citerefentry><refentrytitle>fxp</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> Ethernet interfaces on " @@ -91049,7 +92279,7 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:65119 +#: book.translate.xml:65173 msgid "" "Frame ordering is mandatory on Ethernet links and any traffic between two " "stations always flows over the same physical link, limiting the maximum " @@ -91059,7 +92289,7 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:65127 +#: book.translate.xml:65181 msgid "" "On the <trademark class=\"registered\">Cisco</trademark> switch, add the " "<replaceable>FastEthernet0/1</replaceable> and <replaceable>FastEthernet0/2</" @@ -91067,7 +92297,7 @@ msgid "" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:65132 +#: book.translate.xml:65186 #, no-wrap msgid "" "<userinput>interface <replaceable>FastEthernet0/1</replaceable>\n" @@ -91080,7 +92310,7 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:65140 +#: book.translate.xml:65194 msgid "" "On the FreeBSD system, create the <citerefentry><refentrytitle>lagg</" "refentrytitle><manvolnum>4</manvolnum></citerefentry> interface using the " @@ -91090,7 +92320,7 @@ msgid "" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:65147 +#: book.translate.xml:65201 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <replaceable>fxp0</replaceable> up</userinput>\n" @@ -91100,12 +92330,12 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:65152 +#: book.translate.xml:65206 msgid "Next, verify the status of the virtual interface:" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:65154 +#: book.translate.xml:65208 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <literal>lagg<replaceable>0</replaceable></literal></userinput>\n" @@ -91120,7 +92350,7 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:65164 +#: book.translate.xml:65218 msgid "" "Ports marked as <literal>ACTIVE</literal> are part of the <acronym>LAG</" "acronym> that has been negotiated with the remote switch. Traffic will be " @@ -91129,14 +92359,14 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:65172 +#: book.translate.xml:65226 msgid "" "To see the port status on the <trademark class=\"registered\">Cisco</" "trademark> switch:" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:65174 +#: book.translate.xml:65228 #, no-wrap msgid "" "switch# <userinput>show lacp neighbor</userinput>\n" @@ -91155,19 +92385,19 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:65188 +#: book.translate.xml:65242 msgid "For more detail, type <userinput>show lacp neighbor detail</userinput>." msgstr "" #. (itstool) path: example/para -#: book.translate.xml:65191 +#: book.translate.xml:65245 msgid "" "To retain this configuration across reboots, add the following entries to " "<filename>/etc/rc.conf</filename> on the FreeBSD system:" msgstr "" #. (itstool) path: example/programlisting -#: book.translate.xml:65195 +#: book.translate.xml:65249 #, no-wrap msgid "" "ifconfig_<replaceable>fxp0</replaceable>=\"up\"\n" @@ -91177,12 +92407,12 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:65202 +#: book.translate.xml:65256 msgid "Failover Mode" msgstr "容錯移轉模式" #. (itstool) path: example/para -#: book.translate.xml:65204 +#: book.translate.xml:65258 msgid "" "Failover mode can be used to switch over to a secondary interface if the " "link is lost on the master interface. To configure failover, make sure that " @@ -91195,7 +92425,7 @@ msgid "" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:65214 +#: book.translate.xml:65268 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <replaceable>fxp0</replaceable> up</userinput>\n" @@ -91205,12 +92435,12 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:65219 book.translate.xml:65308 +#: book.translate.xml:65273 book.translate.xml:65362 msgid "The virtual interface should look something like this:" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:65222 +#: book.translate.xml:65276 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <literal>lagg<replaceable>0</replaceable></literal></userinput>\n" @@ -91226,7 +92456,7 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:65233 +#: book.translate.xml:65287 msgid "" "Traffic will be transmitted and received on <replaceable>fxp0</replaceable>. " "If the link is lost on <replaceable>fxp0</replaceable>, <replaceable>fxp1</" @@ -91235,14 +92465,14 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:65240 book.translate.xml:65326 +#: book.translate.xml:65294 book.translate.xml:65380 msgid "" "To retain this configuration across reboots, add the following entries to " "<filename>/etc/rc.conf</filename>:" msgstr "" #. (itstool) path: example/programlisting -#: book.translate.xml:65244 +#: book.translate.xml:65298 #, no-wrap msgid "" "ifconfig_<replaceable>fxp0</replaceable>=\"up\"\n" @@ -91252,12 +92482,12 @@ msgid "" msgstr "" #. (itstool) path: example/title -#: book.translate.xml:65251 +#: book.translate.xml:65305 msgid "Failover Mode Between Ethernet and Wireless Interfaces" msgstr "乙太網路與無線介面間的容錯移轉模式" #. (itstool) path: example/para -#: book.translate.xml:65254 +#: book.translate.xml:65308 msgid "" "For laptop users, it is usually desirable to configure the wireless device " "as a secondary which is only used when the Ethernet connection is not " @@ -91269,14 +92499,14 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:65262 +#: book.translate.xml:65316 msgid "" "This is achieved by overriding the physical wireless interface's " "<acronym>MAC</acronym> address with that of the Ethernet interface." msgstr "" #. (itstool) path: example/para -#: book.translate.xml:65266 +#: book.translate.xml:65320 msgid "" "In this example, the Ethernet interface, <replaceable>bge0</replaceable>, is " "the master and the wireless interface, <replaceable>wlan0</replaceable>, is " @@ -91287,7 +92517,7 @@ msgid "" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:65276 +#: book.translate.xml:65330 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <replaceable>bge0</replaceable></userinput>\n" @@ -91301,7 +92531,7 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:65285 +#: book.translate.xml:65339 msgid "" "Replace <replaceable>bge0</replaceable> to match the system's Ethernet " "interface name. The <literal>ether</literal> line will contain the " @@ -91310,26 +92540,26 @@ msgid "" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:65292 +#: book.translate.xml:65346 #, no-wrap msgid "<prompt>#</prompt> <userinput>ifconfig <replaceable>iwn0</replaceable> ether <replaceable>00:21:70:da:ae:37</replaceable></userinput>" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:65294 +#: book.translate.xml:65348 msgid "" "Bring the wireless interface up, but do not set an <acronym>IP</acronym> " "address:" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:65297 +#: book.translate.xml:65351 #, no-wrap msgid "<prompt>#</prompt> <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>iwn0</replaceable> ssid <replaceable>my_router</replaceable> up</userinput>" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:65299 +#: book.translate.xml:65353 msgid "" "Make sure the <replaceable>bge0</replaceable> interface is up, then create " "the <citerefentry><refentrytitle>lagg</refentrytitle><manvolnum>4</" @@ -91338,7 +92568,7 @@ msgid "" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:65304 +#: book.translate.xml:65358 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <replaceable>bge0</replaceable> up</userinput>\n" @@ -91347,7 +92577,7 @@ msgid "" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:65311 +#: book.translate.xml:65365 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>ifconfig <literal>lagg<replaceable>0</replaceable></literal></userinput>\n" @@ -91362,20 +92592,20 @@ msgid "" msgstr "" #. (itstool) path: example/para -#: book.translate.xml:65321 +#: book.translate.xml:65375 msgid "" "Then, start the <acronym>DHCP</acronym> client to obtain an <acronym>IP</" "acronym> address:" msgstr "" #. (itstool) path: example/screen -#: book.translate.xml:65324 +#: book.translate.xml:65378 #, no-wrap msgid "<prompt>#</prompt> <userinput>dhclient <literal>lagg<replaceable>0</replaceable></literal></userinput>" msgstr "" #. (itstool) path: example/programlisting -#: book.translate.xml:65330 +#: book.translate.xml:65384 #, no-wrap msgid "" "ifconfig_bge0=\"up\"\n" @@ -91387,36 +92617,36 @@ msgid "" msgstr "" #. (itstool) path: info/title -#: book.translate.xml:65342 +#: book.translate.xml:65396 msgid "Diskless Operation with <acronym>PXE</acronym>" msgstr "<acronym>PXE</acronym> 無磁碟作業" #. (itstool) path: authorgroup/author -#: book.translate.xml:65345 +#: book.translate.xml:65399 msgid "" "<personname> <firstname>Jean-François</firstname> <surname>Dockès</surname> " "</personname> <contrib>Updated by </contrib>" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:65354 +#: book.translate.xml:65408 msgid "" "<personname> <firstname>Alex</firstname> <surname>Dupre</surname> </" "personname> <contrib>Reorganized and enhanced by </contrib>" msgstr "" #. (itstool) path: sect1/indexterm -#: book.translate.xml:65364 +#: book.translate.xml:65418 msgid "<primary>diskless workstation</primary>" msgstr "<primary>無磁碟工作站</primary>" #. (itstool) path: sect1/indexterm -#: book.translate.xml:65367 +#: book.translate.xml:65421 msgid "<primary>diskless operation</primary>" msgstr "<primary>無磁碟作業</primary>" #. (itstool) path: sect1/para -#: book.translate.xml:65371 +#: book.translate.xml:65425 msgid "" "The <trademark class=\"registered\">Intel</trademark> Preboot eXecution " "Environment (<acronym>PXE</acronym>) allows an operating system to boot over " @@ -91430,7 +92660,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:65382 +#: book.translate.xml:65436 msgid "" "In order to provide the files needed for an operating system to boot over " "the network, a <acronym>PXE</acronym> setup also requires properly " @@ -91439,7 +92669,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:65390 +#: book.translate.xml:65444 msgid "" "Initial parameters, such as an <acronym>IP</acronym> address, executable " "boot filename and location, server name, and root path are obtained from the " @@ -91447,18 +92677,18 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:65397 +#: book.translate.xml:65451 msgid "" "The operating system loader file is booted using <acronym>TFTP</acronym>." msgstr "" #. (itstool) path: listitem/para -#: book.translate.xml:65402 +#: book.translate.xml:65456 msgid "The file systems are loaded using <acronym>NFS</acronym>." msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:65407 +#: book.translate.xml:65461 msgid "" "When a computer <acronym>PXE</acronym> boots, it receives information over " "<acronym>DHCP</acronym> about where to obtain the initial boot loader file. " @@ -91471,7 +92701,7 @@ msgid "" msgstr "" #. (itstool) path: sect1/para -#: book.translate.xml:65418 +#: book.translate.xml:65472 msgid "" "This section describes how to configure these services on a FreeBSD system " "so that other systems can <acronym>PXE</acronym> boot into FreeBSD. Refer to " @@ -91480,25 +92710,25 @@ msgid "" msgstr "" #. (itstool) path: caution/para -#: book.translate.xml:65424 +#: book.translate.xml:65478 msgid "" "As described, the system providing these services is insecure. It should " "live in a protected area of a network and be untrusted by other hosts." msgstr "" #. (itstool) path: info/title -#: book.translate.xml:65431 +#: book.translate.xml:65485 msgid "Setting Up the <acronym>PXE</acronym> Environment" msgstr "設定 <acronym>PXE</acronym> 環境" #. (itstool) path: affiliation/address -#: book.translate.xml:65441 +#: book.translate.xml:65495 #, no-wrap msgid "rodrigc@FreeBSD.org" msgstr "" #. (itstool) path: authorgroup/author -#: book.translate.xml:65435 +#: book.translate.xml:65489 msgid "" "<personname> <firstname>Craig</firstname> <surname>Rodrigues</surname> </" "personname> <affiliation> <_:address-1/> </affiliation> <contrib>Written by " @@ -91506,7 +92736,7 @@ msgid "" msgstr "" #. (itstool) path: sect2/para -#: book.translate.xml:65448 +#: book.translate.xml:65502 msgid "" "The steps shown in this section configure the built-in <acronym>NFS</" "acronym> and <acronym>TFTP</acronym> servers. The next section demonstrates " @@ -91519,14 +92749,14 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:65462 +#: book.translate.xml:65516 msgid "" "Create the root directory which will contain a FreeBSD installation to be " "<acronym>NFS</acronym> mounted:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:65465 +#: book.translate.xml:65519 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>export NFSROOTDIR=/b/tftpboot/FreeBSD/install</userinput>\n" @@ -91534,38 +92764,38 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:65470 +#: book.translate.xml:65524 msgid "" "Enable the <acronym>NFS</acronym> server by adding this line to <filename>/" "etc/rc.conf</filename>:" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:65473 +#: book.translate.xml:65527 #, no-wrap msgid "nfs_server_enable=\"YES\"" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:65477 +#: book.translate.xml:65531 msgid "" "Export the diskless root directory via <acronym>NFS</acronym> by adding the " "following to <filename>/etc/exports</filename>:" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:65481 +#: book.translate.xml:65535 #, no-wrap msgid "/b -ro -alldirs" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:65485 +#: book.translate.xml:65535 msgid "Start the <acronym>NFS</acronym> server:" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:65491 +#: book.translate.xml:65535 msgid "" "Enable <citerefentry><refentrytitle>inetd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry> by adding the following line to <filename>/etc/rc." @@ -91573,20 +92803,20 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:65498 +#: book.translate.xml:65535 msgid "" "Uncomment the following line in <filename>/etc/inetd.conf</filename> by " "making sure it does not start with a <literal>#</literal> symbol:" msgstr "" #. (itstool) path: step/programlisting -#: book.translate.xml:65502 +#: book.translate.xml:65535 #, no-wrap msgid "tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /b/tftpboot" msgstr "" #. (itstool) path: note/para -#: book.translate.xml:65505 +#: book.translate.xml:65535 msgid "" "Some <acronym>PXE</acronym> versions require the <acronym>TCP</acronym> " "version of <acronym>TFTP</acronym>. In this case, uncomment the second " @@ -91594,21 +92824,21 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:65514 +#: book.translate.xml:65535 msgid "" "Start <citerefentry><refentrytitle>inetd</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>:" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:65520 +#: book.translate.xml:65535 msgid "" "Rebuild the FreeBSD kernel and userland (refer to <xref linkend=\"makeworld" "\"/> for more detailed instructions):" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:65523 +#: book.translate.xml:65535 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>cd /usr/src</userinput>\n" @@ -91617,12 +92847,12 @@ msgid "" msgstr "" #. (itstool) path: step/para -#: book.translate.xml:65529 +#: book.translate.xml:65535 msgid "Install FreeBSD into the directory mounted over <acronym>NFS</acronym>:" msgstr "" #. (itstool) path: step/screen -#: book.translate.xml:65532 +#: book.translate.xml:65535 #, no-wrap msgid "" "<prompt>#</prompt> <userinput>make installworld DESTDIR=${NFSROOTDIR}</userinput>\n" @@ -92469,7 +93699,7 @@ msgstr "" #. (itstool) path: sect2/programlisting #: book.translate.xml:65535 #, no-wrap -msgid "gif_interfaces=\"gif<replaceable>0</replaceable>\"" +msgid "cloned_interfaces=\"gif<replaceable>0</replaceable>\"" msgstr "" #. (itstool) path: sect2/para @@ -92484,7 +93714,7 @@ msgstr "" #. (itstool) path: sect2/programlisting #: book.translate.xml:65535 #, no-wrap -msgid "gifconfig_gif0=\"<replaceable>MY_IPv4_ADDR REMOTE_IPv4_ADDR</replaceable>\"" +msgid "cloned_interfaces_gif0=\"<replaceable>MY_IPv4_ADDR REMOTE_IPv4_ADDR</replaceable>\"" msgstr "" #. (itstool) path: sect2/para @@ -95115,7 +96345,7 @@ msgstr "FreeBSD 相關書籍" #. (itstool) path: sect1/para #: book.translate.xml:65535 msgid "International books:" -msgstr "國際書籍:" +msgstr "國際書籍:" #. (itstool) path: listitem/para #: book.translate.xml:65535 @@ -95287,7 +96517,7 @@ msgstr "" #. (itstool) path: sect1/para #: book.translate.xml:65535 msgid "English language books:" -msgstr "英文書籍:" +msgstr "英文書籍:" #. (itstool) path: listitem/para #: book.translate.xml:65535 @@ -102299,6 +103529,19 @@ msgstr "" "完成。" #~ msgid "" +#~ "Finally, users can add their own settings via their personal <filename>." +#~ "fonts.conf</filename> files. To do this, each user should simply create a " +#~ "<filename>~/.fonts.conf</filename>. This file must also be in XML format." +#~ msgstr "" +#~ "最後,使用者可以透過個人的 <filename>.fonts.conf</filename> 檔案來加入自己" +#~ "的設定。要加入個人設定,每位使用者只需簡單的建立 <filename>~/.fonts.conf</" +#~ "filename>,這個檔案也同樣需要為 XML 格式。" + +#~ msgid "<trademark>VirtualBox</trademark> Guest Additions on a FreeBSD Guest" +#~ msgstr "" +#~ "安裝 <trademark>VirtualBox</trademark> Guest Additions 於 FreeBSD 客端" + +#~ msgid "" #~ "A FreeBSD installation will require a minimum 64 MB of <acronym>RAM</" #~ "acronym> and 1.5 GB of free hard drive space for the most minimal " #~ "installation. However, that is a <emphasis>minimal</emphasis> install, " |