aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/zh-tw
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/zh-tw')
-rw-r--r--documentation/content/zh-tw/books/developers-handbook/bibliography/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/developers-handbook/introduction/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/developers-handbook/ipv6/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/developers-handbook/kernelbuild/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/developers-handbook/kerneldebug/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/developers-handbook/l10n/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/developers-handbook/parti.adoc2
-rw-r--r--documentation/content/zh-tw/books/developers-handbook/partii.adoc2
-rw-r--r--documentation/content/zh-tw/books/developers-handbook/partiii.adoc2
-rw-r--r--documentation/content/zh-tw/books/developers-handbook/partiv.adoc2
-rw-r--r--documentation/content/zh-tw/books/developers-handbook/partv.adoc2
-rw-r--r--documentation/content/zh-tw/books/developers-handbook/policies/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/developers-handbook/secure/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/developers-handbook/sockets/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/developers-handbook/testing/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/developers-handbook/tools/_index.adoc18
-rw-r--r--documentation/content/zh-tw/books/developers-handbook/x86/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/faq/_index.adoc89
-rw-r--r--documentation/content/zh-tw/books/handbook/_index.adoc5
-rw-r--r--documentation/content/zh-tw/books/handbook/advanced-networking/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/audit/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/basics/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/bibliography/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/book.adoc4
-rw-r--r--documentation/content/zh-tw/books/handbook/boot/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/bsdinstall/_index.adoc4
-rw-r--r--documentation/content/zh-tw/books/handbook/config/_index.adoc4
-rw-r--r--documentation/content/zh-tw/books/handbook/cutting-edge/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/desktop/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/disks/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/dtrace/_index.adoc110
-rw-r--r--documentation/content/zh-tw/books/handbook/eresources/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/filesystems/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/firewalls/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/geom/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/introduction/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/jails/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/kernelconfig/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/l10n/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/linuxemu/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/mac/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/mail/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/mirrors/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/multimedia/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/network-servers/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/parti.adoc4
-rw-r--r--documentation/content/zh-tw/books/handbook/partii.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/partiii.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/partiv.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/partv.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/pgpkeys/_index.adoc5
-rw-r--r--documentation/content/zh-tw/books/handbook/ports/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/ppp-and-slip/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/preface/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/printing/_index.adoc7
-rw-r--r--documentation/content/zh-tw/books/handbook/security/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/serialcomms/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/usb-device-mode/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/virtualization/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/x11/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/handbook/zfs/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/porters-handbook/flavors/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/porters-handbook/keeping-up/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/porters-handbook/makefiles/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/porters-handbook/new-port/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/porters-handbook/order/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/porters-handbook/pkg-files/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/porters-handbook/plist/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/porters-handbook/porting-dads/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/porters-handbook/porting-samplem/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/porters-handbook/porting-why/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/porters-handbook/quick-porting/_index.adoc125
-rw-r--r--documentation/content/zh-tw/books/porters-handbook/security/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/porters-handbook/slow-porting/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/porters-handbook/special/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/porters-handbook/testing/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/porters-handbook/upgrading/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/porters-handbook/uses/_index.adoc2
-rw-r--r--documentation/content/zh-tw/books/porters-handbook/versions/_index.adoc2
79 files changed, 295 insertions, 216 deletions
diff --git a/documentation/content/zh-tw/books/developers-handbook/bibliography/_index.adoc b/documentation/content/zh-tw/books/developers-handbook/bibliography/_index.adoc
index 442f8b345a..f93e2197cf 100644
--- a/documentation/content/zh-tw/books/developers-handbook/bibliography/_index.adoc
+++ b/documentation/content/zh-tw/books/developers-handbook/bibliography/_index.adoc
@@ -3,7 +3,7 @@ title: 附錄
prev: books/developers-handbook/partv
showBookMenu: true
weight: 17
-path: "/books/developers-handbook/"
+path: "/books/developers-handbook/bibliography/"
---
[bibliography]
diff --git a/documentation/content/zh-tw/books/developers-handbook/introduction/_index.adoc b/documentation/content/zh-tw/books/developers-handbook/introduction/_index.adoc
index 8fcb16070e..3cc3fbfd4e 100644
--- a/documentation/content/zh-tw/books/developers-handbook/introduction/_index.adoc
+++ b/documentation/content/zh-tw/books/developers-handbook/introduction/_index.adoc
@@ -7,7 +7,7 @@ prev: books/developers-handbook/parti
next: books/developers-handbook/tools
showBookMenu: true
weight: 2
-path: "/books/developers-handbook/"
+path: "/books/developers-handbook/introduction/"
---
[[introduction]]
diff --git a/documentation/content/zh-tw/books/developers-handbook/ipv6/_index.adoc b/documentation/content/zh-tw/books/developers-handbook/ipv6/_index.adoc
index f1c02793b1..60bf3b80d0 100644
--- a/documentation/content/zh-tw/books/developers-handbook/ipv6/_index.adoc
+++ b/documentation/content/zh-tw/books/developers-handbook/ipv6/_index.adoc
@@ -6,7 +6,7 @@ prev: books/developers-handbook/sockets
next: books/developers-handbook/partiii
showBookMenu: true
weight: 10
-path: "/books/developers-handbook/"
+path: "/books/developers-handbook/ipv6/"
---
[[ipv6]]
diff --git a/documentation/content/zh-tw/books/developers-handbook/kernelbuild/_index.adoc b/documentation/content/zh-tw/books/developers-handbook/kernelbuild/_index.adoc
index d7782a9e42..7c76cec0b3 100644
--- a/documentation/content/zh-tw/books/developers-handbook/kernelbuild/_index.adoc
+++ b/documentation/content/zh-tw/books/developers-handbook/kernelbuild/_index.adoc
@@ -4,7 +4,7 @@ prev: books/developers-handbook/partiii
next: books/developers-handbook/kerneldebug
showBookMenu: true
weight: 12
-path: "/books/developers-handbook/"
+path: "/books/developers-handbook/kernelbuild/"
---
[[kernelbuild]]
diff --git a/documentation/content/zh-tw/books/developers-handbook/kerneldebug/_index.adoc b/documentation/content/zh-tw/books/developers-handbook/kerneldebug/_index.adoc
index 94d59be2da..441b7dde82 100644
--- a/documentation/content/zh-tw/books/developers-handbook/kerneldebug/_index.adoc
+++ b/documentation/content/zh-tw/books/developers-handbook/kerneldebug/_index.adoc
@@ -8,7 +8,7 @@ prev: books/developers-handbook/kernelbuild
next: books/developers-handbook/partiv
showBookMenu: true
weight: 13
-path: "/books/developers-handbook/"
+path: "/books/developers-handbook/kerneldebug/"
---
[[kerneldebug]]
diff --git a/documentation/content/zh-tw/books/developers-handbook/l10n/_index.adoc b/documentation/content/zh-tw/books/developers-handbook/l10n/_index.adoc
index 0848105b58..414c014759 100644
--- a/documentation/content/zh-tw/books/developers-handbook/l10n/_index.adoc
+++ b/documentation/content/zh-tw/books/developers-handbook/l10n/_index.adoc
@@ -4,7 +4,7 @@ prev: books/developers-handbook/secure
next: books/developers-handbook/policies
showBookMenu: true
weight: 5
-path: "/books/developers-handbook/"
+path: "/books/developers-handbook/l10n/"
---
[[l10n]]
diff --git a/documentation/content/zh-tw/books/developers-handbook/parti.adoc b/documentation/content/zh-tw/books/developers-handbook/parti.adoc
index 72a08e0d9d..783f5e2200 100644
--- a/documentation/content/zh-tw/books/developers-handbook/parti.adoc
+++ b/documentation/content/zh-tw/books/developers-handbook/parti.adoc
@@ -4,7 +4,7 @@ prev: books/developers-handbook
next: books/developers-handbook/introduction
showBookMenu: true
weight: 1
-path: "/books/developers-handbook/"
+path: "/books/developers-handbook/parti/"
---
[[basics]]
diff --git a/documentation/content/zh-tw/books/developers-handbook/partii.adoc b/documentation/content/zh-tw/books/developers-handbook/partii.adoc
index 03a58d6aef..80a5302492 100644
--- a/documentation/content/zh-tw/books/developers-handbook/partii.adoc
+++ b/documentation/content/zh-tw/books/developers-handbook/partii.adoc
@@ -4,7 +4,7 @@ prev: books/developers-handbook/testing
next: books/developers-handbook/sockets
showBookMenu: true
weight: 8
-path: "/books/developers-handbook/"
+path: "/books/developers-handbook/partii/"
---
[[ipc]]
diff --git a/documentation/content/zh-tw/books/developers-handbook/partiii.adoc b/documentation/content/zh-tw/books/developers-handbook/partiii.adoc
index 3ea3bb3b6c..b45141077b 100644
--- a/documentation/content/zh-tw/books/developers-handbook/partiii.adoc
+++ b/documentation/content/zh-tw/books/developers-handbook/partiii.adoc
@@ -4,7 +4,7 @@ prev: books/developers-handbook/ipv6
next: books/developers-handbook/kernelbuild
showBookMenu: true
weight: 11
-path: "/books/developers-handbook/"
+path: "/books/developers-handbook/partiii/"
---
[[kernel]]
diff --git a/documentation/content/zh-tw/books/developers-handbook/partiv.adoc b/documentation/content/zh-tw/books/developers-handbook/partiv.adoc
index e868878d34..f0a5f23d50 100644
--- a/documentation/content/zh-tw/books/developers-handbook/partiv.adoc
+++ b/documentation/content/zh-tw/books/developers-handbook/partiv.adoc
@@ -4,7 +4,7 @@ prev: books/developers-handbook/kerneldebug
next: books/developers-handbook/x86
showBookMenu: true
weight: 14
-path: "/books/developers-handbook/"
+path: "/books/developers-handbook/partiv/"
---
[[architectures]]
diff --git a/documentation/content/zh-tw/books/developers-handbook/partv.adoc b/documentation/content/zh-tw/books/developers-handbook/partv.adoc
index 8c1d1474e1..4794f4bd89 100644
--- a/documentation/content/zh-tw/books/developers-handbook/partv.adoc
+++ b/documentation/content/zh-tw/books/developers-handbook/partv.adoc
@@ -4,7 +4,7 @@ prev: books/developers-handbook/x86
next: books/developers-handbook/bibliography
showBookMenu: true
weight: 16
-path: "/books/developers-handbook/"
+path: "/books/developers-handbook/partv/"
---
[[appendices]]
diff --git a/documentation/content/zh-tw/books/developers-handbook/policies/_index.adoc b/documentation/content/zh-tw/books/developers-handbook/policies/_index.adoc
index 3109411508..d4e2669f5a 100644
--- a/documentation/content/zh-tw/books/developers-handbook/policies/_index.adoc
+++ b/documentation/content/zh-tw/books/developers-handbook/policies/_index.adoc
@@ -7,7 +7,7 @@ prev: books/developers-handbook/l10n
next: books/developers-handbook/testing
showBookMenu: true
weight: 6
-path: "/books/developers-handbook/"
+path: "/books/developers-handbook/policies/"
---
[[policies]]
diff --git a/documentation/content/zh-tw/books/developers-handbook/secure/_index.adoc b/documentation/content/zh-tw/books/developers-handbook/secure/_index.adoc
index fd5b8dfe8d..36f47601ea 100644
--- a/documentation/content/zh-tw/books/developers-handbook/secure/_index.adoc
+++ b/documentation/content/zh-tw/books/developers-handbook/secure/_index.adoc
@@ -6,7 +6,7 @@ prev: books/developers-handbook/tools
next: books/developers-handbook/l10n
showBookMenu: true
weight: 4
-path: "/books/developers-handbook/"
+path: "/books/developers-handbook/secure/"
---
[[secure]]
diff --git a/documentation/content/zh-tw/books/developers-handbook/sockets/_index.adoc b/documentation/content/zh-tw/books/developers-handbook/sockets/_index.adoc
index 0083f0747c..f0d0d03677 100644
--- a/documentation/content/zh-tw/books/developers-handbook/sockets/_index.adoc
+++ b/documentation/content/zh-tw/books/developers-handbook/sockets/_index.adoc
@@ -6,7 +6,7 @@ prev: books/developers-handbook/partii
next: books/developers-handbook/ipv6
showBookMenu: true
weight: 9
-path: "/books/developers-handbook/"
+path: "/books/developers-handbook/sockets/"
---
[[sockets]]
diff --git a/documentation/content/zh-tw/books/developers-handbook/testing/_index.adoc b/documentation/content/zh-tw/books/developers-handbook/testing/_index.adoc
index 036a191084..72c5f3f28c 100644
--- a/documentation/content/zh-tw/books/developers-handbook/testing/_index.adoc
+++ b/documentation/content/zh-tw/books/developers-handbook/testing/_index.adoc
@@ -4,7 +4,7 @@ prev: books/developers-handbook/policies
next: books/developers-handbook/partii
showBookMenu: true
weight: 7
-path: "/books/developers-handbook/"
+path: "/books/developers-handbook/testing/"
---
[[testing]]
diff --git a/documentation/content/zh-tw/books/developers-handbook/tools/_index.adoc b/documentation/content/zh-tw/books/developers-handbook/tools/_index.adoc
index ce490709d9..bddf68a885 100644
--- a/documentation/content/zh-tw/books/developers-handbook/tools/_index.adoc
+++ b/documentation/content/zh-tw/books/developers-handbook/tools/_index.adoc
@@ -7,7 +7,7 @@ prev: books/developers-handbook/introduction
next: books/developers-handbook/secure
showBookMenu: true
weight: 3
-path: "/books/developers-handbook/"
+path: "/books/developers-handbook/tools/"
---
[[tools]]
@@ -792,9 +792,12 @@ The `lldb` command displays the stack frame every time we go into or out of a fu
==== Examining a Core File with lldb
-A core file is basically a file which contains the complete state of the process when it crashed. In "the good old days", programmers had to print out hex listings of core files and sweat over machine code manuals, but now life is a bit easier. Incidentally, under FreeBSD and other 4.4BSD systems, a core file is called [.filename]#progname.core# instead of just [.filename]#core#, to make it clearer which program a core file belongs to.
+A core file is basically a file which contains the complete state of the process when it crashed.
+In "the good old days", programmers had to print out hex listings of core files and sweat over machine code manuals, but now life is a bit easier.
+Incidentally, under FreeBSD and other 4.4BSD systems, a core file is called [.filename]#progname.core# instead of just [.filename]#core#, to make it clearer which program a core file belongs to.
-To examine a core file, specify the name of the core file in addition to the program itself. Instead of starting up `lldb` in the usual way, type `lldb -c _progname_.core -- _progname_`
+To examine a core file, specify the name of the core file in addition to the program itself.
+Instead of starting up `lldb` in the usual way, type `lldb -c _progname_.core \-- _progname_`.
The debugger will display something like this:
@@ -806,7 +809,10 @@ Core file '/home/pauamma/tmp/[.filename]#progname.core#' (x86_64) was loaded.
(lldb)
....
-In this case, the program was called [.filename]#progname#, so the core file is called [.filename]#progname.core#. The debugger does not display why the program crashed or where. For this, use `thread backtrace all`. This will also show how the function where the program dumped core was called.
+In this case, the program was called [.filename]#progname#, so the core file is called [.filename]#progname.core#.
+The debugger does not display why the program crashed or where.
+For this, use `thread backtrace all`.
+This will also show how the function where the program dumped core was called.
[source,shell,subs="verbatim,quotes"]
....
@@ -818,7 +824,9 @@ In this case, the program was called [.filename]#progname#, so the core file is
(lldb)
....
-`SIGSEGV` indicates that the program tried to access memory (run code or read/write data usually) at a location that does not belong to it, but does not give any specifics. For that, look at the source code at line 10 of file temp2.c, in `bazz()`. The backtrace also says that in this case, `bazz()` was called from `main()`.
+`SIGSEGV` indicates that the program tried to access memory (run code or read/write data usually) at a location that does not belong to it, but does not give any specifics.
+For that, look at the source code at line 10 of file temp2.c, in `bazz()`.
+The backtrace also says that in this case, `bazz()` was called from `main()`.
==== Attaching to a Running Program with lldb
diff --git a/documentation/content/zh-tw/books/developers-handbook/x86/_index.adoc b/documentation/content/zh-tw/books/developers-handbook/x86/_index.adoc
index 48bcad9abe..75dbe64c69 100644
--- a/documentation/content/zh-tw/books/developers-handbook/x86/_index.adoc
+++ b/documentation/content/zh-tw/books/developers-handbook/x86/_index.adoc
@@ -4,7 +4,7 @@ prev: books/developers-handbook/partiv
next: books/developers-handbook/partv
showBookMenu: true
weight: 15
-path: "/books/developers-handbook/"
+path: "/books/developers-handbook/x86/"
---
[[x86]]
diff --git a/documentation/content/zh-tw/books/faq/_index.adoc b/documentation/content/zh-tw/books/faq/_index.adoc
index 99d6ee1744..7f9eb8fe5b 100644
--- a/documentation/content/zh-tw/books/faq/_index.adoc
+++ b/documentation/content/zh-tw/books/faq/_index.adoc
@@ -1,8 +1,8 @@
---
-title: FreeBSD 11.X and 12.X 常見問答集
+title: FreeBSD 12.X and 13.X 常見問答集
authors:
- author: FreeBSD 文件計畫
-copyright: 1995-2020 The FreeBSD Documentation Project
+copyright: 1995-2022 The FreeBSD Documentation Project
trademarks: ["freebsd", "ibm", "ieee", "adobe", "intel", "linux", "microsoft", "opengroup", "sun", "netbsd", "general"]
isIndex: true
---
@@ -57,7 +57,7 @@ endif::[]
[.abstract-title]
摘要
-這份文件是 FreeBSD {rel-relx} 和 {rel2-relx} 常見問答集 ( (FAQ) )。我們盡可能地讓這份 FAQ 提供有用的資訊 ; 如果您有任何改善建議,請寄到 http://lists.FreeBSD.org/mailman/listinfo/freebsd-doc[FreeBSD 文件計畫郵件論壇]。
+這份文件是 FreeBSD {rel-relx} 和 {rel2-relx} 常見問答集 ( (FAQ) )。我們盡可能地讓這份 FAQ 提供有用的資訊 ; 如果您有任何改善建議,請寄到 https://lists.freebsd.org/subscription/freebsd-doc[FreeBSD 文件計畫郵件論壇]。
本文件的最新版本可由 extref:{faq}[FreeBSD 網站]取得。 也可以由 https://download.freebsd.org/doc/[FreeBSD FTP 伺服器] 以 HTTP 下載單一大型 link:.[HTML] 檔或是其他格式的檔案。
@@ -101,7 +101,7 @@ FreeBSD 計畫的目的是提供可以任意使用且沒有限制的穩定快速
但是如果你想要使用的應用程式只能在某個特定的作業系統上面執行 的話,你就不能輕易地把它換掉,或者指望在 FreeBSD 上有很相似的應用程式才有機會。如果你想要的是一個強健的辦公室或是網路伺服器,或是一部穩定的工作站,FreeBSD 無疑是您的最佳選擇。世界各地有很多使用者,包括初學或資深的 UNIX(TM) 管理人員都選用 FreeBSD 當他們唯一的桌上作業系統。
-如果你是從其他的 UNIX(TM)-like 環境轉換到 FreeBSD 的話會很熟悉。 Windows(TM) 或是 Mac OS(TM) 的使用者可能會對 https://www.trueos.org[TrueOS] 有興趣,他是基於 FreeBSD 的一個桌面環境發行版,非UNIX(TM) 使用者可能就要多花一點時間來學習怎麼用 UNIX(TM) 的 方法來做事。你可以從這份 FAQ 和 extref:{handbook}[FreeBSD 使用手冊] 來入門。
+如果你是從其他的 UNIX(TM)-like 環境轉換到 FreeBSD 的話會很熟悉。 Windows(TM) 或是 Mac OS(TM) 的使用者可能會對 https://www.ghostbsd.org[GhostBSD] 、 https://www.midnightbsd.org[MidnightBSD] 、 https://www.nomadbsd.org[NomadBSD] 有興趣,他是基於 FreeBSD 的一個桌面環境發行版,非UNIX(TM) 使用者可能就要多花一點時間來學習怎麼用 UNIX(TM) 的 方法來做事。你可以從這份 FAQ 和 extref:{handbook}[FreeBSD 使用手冊] 來入門。
=== 為什麼要叫做 FreeBSD?
@@ -113,11 +113,11 @@ FreeBSD 計畫的目的是提供可以任意使用且沒有限制的穩定快速
=== FreeBSD 及 NetBSD, OpenBSD 以及其他 open source BSD 作業系統之間有何不同之處呢?
-James Howard 寫了一篇關於不同計畫的差異和歷史淵源的好文章叫 https://jameshoward.us/archive/the-bsd-family-tree/[The BSD Family Tree] 可以回答這個問題。雖然有些資訊有點過時,但是關於歷史淵源的部份仍是相當正確的。
+James Howard 寫了一篇關於不同計畫的差異和歷史淵源的好文章叫 https://jameshoward.us/archive/bsd-family-tree/[The BSD Family Tree] 可以回答這個問題。雖然有些資訊有點過時,但是關於歷史淵源的部份仍是相當正確的。
時至今日,大部分的 BSD 家族仍是共用修補和程式碼的。這些 BSD 家族有著共同的祖先。
- FreeBSD 的設計目的如 <<FreeBSD-goals>> 所述。其他 BSD 家族的設計目的如下所述:
+FreeBSD 的設計目的如 https://docs.freebsd.org/zh-tw/books/faq/#FreeBSD-goals[發展 FreeBSD 計畫的目的是什麼] 所述。其他 BSD 家族的設計目的如下所述:
* OpenBSD 目標在作業系統的安全性。OpenBSD團隊寫的 man:ssh[1] 和 man:pf[4] 都移植到了 FreeBSD。
* NetBSD 目標在易於移植到其他的硬體平台。
@@ -125,9 +125,9 @@ James Howard 寫了一篇關於不同計畫的差異和歷史淵源的好文章
=== 最新版的 FreeBSD 是那一版?
-在 FreeBSD 開發的任何時間點,都有多個平行的分支。12._X_ releases 是從 _12-STABLE_ 分支而來,而 11._X_ releases 是從 _11-STABLE_ 分支而來。
+在 FreeBSD 開發的任何時間點,都有多個平行的分支。13._X_ releases 是從 _13-STABLE_ 分支而來,而 12._X_ releases 是從 _12-STABLE_ 分支而來。
-在 9.0 之前,11.__X__ 系列仍屬 __-STABLE__分支。 然而從13.__X__ 發行開始,11.__X__ 將只著重在重大問題上(比如:漏洞修補、安全維護)以及所謂的 "extended support" 。
+在 12.0 之前,12.__X__ 系列仍屬 __-STABLE__分支。 然而從14.__X__ 發行開始,12.__X__ 將只著重在重大問題上(比如:漏洞修補、安全維護)以及所謂的 "extended support" 。
Version link:ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/12.0-RELEASE/[12.0] is the latest release from the _12-STABLE_ branch; it was released in December 2018. Version link:ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/10.4-RELEASE/[10.4] is the latest release from the _11-STABLE_ branch; it was released in October 2017.
@@ -137,38 +137,43 @@ Releases 版 <<release-freq,每幾個月>> 才會發行一次。 雖然如此,
=== 什麼是 FreeBSD-CURRENT?
-extref:{handbook}updating-upgrading[FreeBSD-CURRENT, current] 指的是正在發展中的作業系統版本,它終將在適當的時機成為 FreeBSD-STABLE 分支。它實在是只適合給系統發展者以及有毅力的業餘愛好者使用 。如果想要得到有關如何使用__-CURRENT__的深入資訊,請參考extref:{handbook}[使用手冊]的extref:{handbook}updating-upgrading[相關部份, current]。
+extref:{handbook}[FreeBSD-CURRENT, current] 指的是正在發展中的作業系統版本,它終將在適當的時機成為 FreeBSD-STABLE 分支。它實在是只適合給系統發展者以及有毅力的業餘愛好者使用 。如果想要得到有關如何使用__-CURRENT__的深入資訊,請參考extref:{handbook}[使用手冊]的extref:{handbook}[相關部份, current]。
如果您對 FreeBSD 本身並不是很熟悉那麼您就不應該使用FreeBSD-CURRENT。 這個分支的程式碼有時候變動得很快,而且可能會因此 而使您有好幾天的時間無法更新您的系統。我們假設使用 FreeBSD-CURRENT 的使用者都有能力去分析他們所遇到的問題,除錯,並且回報問題。
-我們每天都會根據目前 _-CURRENT_ 和 _-STABLE_ 的狀況對這兩個分支各發行一個 https://www.FreeBSD.org/snapshots/[snapshot] 版。發表這些 snapshot 的目的在於:
+=== 什麼是 FreeBSD-STABLE ?
-* 測試最新版的安裝程式。
-* 提供一個簡單的方法給那些喜歡使用 _-CURRENT_ 或是 _-STABLE_ 但是沒有時間和頻寬去每天昇級的使用者。
-* 為了替我們發展中的程式保留一個固定的參考點,以防止我們未來不幸搞砸了。(雖然一般而言 Subversion 可以防止類似這種的可怕事件)
-* 為了確保所有需要測試的新功能或修正都可以得到最多的測試。
+__FreeBSD-STABLE__ 是由主要發行版這個開發分支來的。他的變動較慢,而且一般來說假設他們都已經先在FreeBSD-CURRENT測試過了。然而在任何時候,FreeBSD-STABLE的原始碼仍有可能不一定適合一般用途,因為他可能包含在 FreeBSD-CURRENT 沒有發現到的錯誤。沒有能力和資源的使用者應該改使用 FreeBSD 正式發行版。另一方面,_FreeBSD-CURRENT_ 從2.0開始就是另一個分支。
-我們不對 _-CURRENT_ snapshot 做任何目的的 "品質保證" 。如果你想要的是一個穩定且經過充分測試過的系統的話, 最好選擇使用完整 releases.
+更多關於開發分支的資訊請見 "extref:{handbook}[FreeBSD Release Engineering: Creating the Release Branch]" ,分支的開發狀態和接下來的發行計畫時間表可以在 https://www.FreeBSD.org/releng[Release Engineering 資訊] 找到。
-您可以直接從 https://www.FreeBSD.org/snapshots/[snapshot] 取得 -CURRENT 的 snapshot release。
+link:https://www.freebsd.org/releases/12.3R/announce/[12.3] 版本是 12-STABLE 分支最新的正式發行版本,在 2021年12月7日發行。link:https://www.freebsd.org/releases/13.1R/announce/[13.1] 版本是 13-stable 分支最新的正式發行版本,在 2022年5月16日發行。
-對每個有在活動的分支而言,都會定期產生一次 snapshots。
+=== 每次新的 FreeBSD 將於什麼時候推出?
-=== 什麼是 FreeBSD-STABLE ?
+一般而言,Release Engineering Team mailto:re@FreeBSD.org[<re@FreeBSD.org>] 約每18個月發行一次主要發行版本,約平均每8個月發行一次次要發行版本。每次新版本的發表時程都會事先公告, 相關的開發人員就會知道,什麼時候該先把手邊的計劃完成並且測試過, 此外,這些更動都已經完整地測試過,確保新功能不會影響系統的穩定度。 雖然,等這些好東西進入__-STABLE__ 的時間令人等得有些不耐煩, 但是大多數的使用者都認為這種謹慎的態度是 FreeBSD 最好的優點之一。
+
+有關發行情報的更多細節部分(包括 release 的行程表、進度),都可在 FreeBSD 網站上的 https://www.FreeBSD.org/releng/[發行情報] 上面獲得。
-回溯到 FreeBSD 2.0.5 剛發表的時候,我們決定把 FreeBSD 的發展 分成兩支。一支叫做 extref:{handbook}updating-upgrading[-STABLE, stable],另一支叫 extref:{handbook}updating-upgrading[-CURRENT, current]。主要發行版是由__FreeBSD-STABLE__ 這個開發分支而來。他的變動較慢,而且一般來說假設他們都已經先在FreeBSD-CURRENT測試過了。然而在任何時候,FreeBSD-STABLE的原始碼仍有可能不一定適合一般用途,因為他可能包含在 FreeBSD-CURRENT 沒有發現到的錯誤。沒有能力和資源的使用者應該改使用 FreeBSD 正式發行版。_FreeBSD-CURRENT_ 從2.0開始就是另一個分支,一直到12.0-RELEASE和之後的版本都還是。更多關於開發分支的資訊請見 "extref:{handbook}[FreeBSD Release Engineering: Creating the Release Branch]" ,分支的開發狀態和接下來的發行計畫時間表可以在 https://www.FreeBSD.org/releng[Release Engineering 資訊] 找到。
+為了滿足那些需要 (或想要) 新鮮刺激感的使用者,上面已經提到我們每周都會發行 snapshots 版可供使用。
-12.0-STABLE 是目前正在發展中的 _-STABLE_ 分支。最新的 12.0-STABLE 是在 2018年12月發行的 12.0-RELEASE。
+=== FreeBSD snapshots 版本什麼時候推出?
-_12-CURRENT_ 這個分支是 FreeBSD 的 _-CURRENT_ 分支,仍然不斷地在發展當中。 如果想要知道更多關於這個分支的資訊的話,請參考 <<current,什麼是 FreeBSD-CURRENT?>> 。
+我們會根據目前__-CURRENT__ 和 __-STABLE__ 的狀況發行 link:https://www.freebsd.org/snapshots/[snapshot] 版。發表這些 snapshot 的目的在於:
-=== 每次新的 FreeBSD 將於什麼時候推出?
+* 測試最新版的安裝程式。
-一般而言,Release Engineering Team mailto:re@FreeBSD.org[re@FreeBSD.org] 約每18個月發行一次主要發行版本,約平均每8個月發行一次次要發行版本。每次新版本的發表時程都會事先公告, 相關的開發人員就會知道,什麼時候該先把手邊的計劃完成並且測試過, 此外,這些更動都已經完整地測試過,確保新功能不會影響系統的穩定度。 雖然,等這些好東西進入__-STABLE__ 的時間令人等得有些不耐煩, 但是大多數的使用者都認為這種謹慎的態度是 FreeBSD 最好的優點之一。
+* 提供一個簡單的方法給那些喜歡使用 __-CURRENT__ 或是 __-STABLE__ 但是沒有時間和頻寬去每天升級的使用者。
-有關發行情報的更多細節部分(包括 release 的行程表、進度),都可在 FreeBSD 網站上的 https://www.FreeBSD.org/releng/[發行情報] 上面獲得。
+* 為了替我們發展中的程式保留一個固定的參考點,以防止我們未來不幸搞砸了。(雖然一般而言 Subversion 可以防止類似者種的可怕事件)。
+
+* 為了確保所有需要測試的新功能或修正都可以得到最多的測試。
-為了滿足那些需要 (或想要) 新鮮刺激感的使用者, 上面已經提到我們每周都會發行 snapshots 版可供使用。
+我們不對 __-CURRENT__ snapshot 做任何的 "品質保證" 。如果你想要的是一個穩定且經過充分測試過的系統的話,最好選擇使用完整 releases。
+
+您可以從 link:https://www.freebsd.org/snapshots/[snapshot] 取得 snapshot release。
+
+對每個有在活動的分支,都會定期產生官方的 snapshots。
=== 誰負責 FreeBSD 的發展?
@@ -178,11 +183,13 @@ _12-CURRENT_ 這個分支是 FreeBSD 的 _-CURRENT_ 分支,仍然不斷地在
=== 我要如何取得 FreeBSD?
-Every significant release of FreeBSD is available via anonymous FTP from the link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[FreeBSD FTP site]:
+所有受到支援的版本都在 link:https://www.freebsd.org/where/[FreeBSD release locator pag]e:
+
+* 最新的 __13-STABLE__ 和 13.1-RELEASE 正式發行版本在 link:https://www.freebsd.org/where/#download-rel131[the appropriate architecture and installation mode for 13.1-RELEASE]。
+
+* 最新的 __11-STABLE__ 和 10.4-RELEASE 正式發行版本在 link:https://www.freebsd.org/where/#download-rel123[the appropriate architecture and installation mode for 12.3-RELEASE]。
-* The latest _12-STABLE_ release, 12.0-RELEASE can be found in the link:ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/12.0-RELEASE/[12.0-RELEASE directory].
* <<current,-CURRENT>> 和 <<stable,-STABLE>> 分支的link:https://www.FreeBSD.org/snapshots/[Snapshot]版本通常每個月會做一次, 主要是為了提供給那些熱心的測試者和開發人員。
-* The latest _11-STABLE_ release, 10.4-RELEASE can be found in the link:ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/10.4-RELEASE/[10.4-RELEASE directory].
FreeBSD 的 CD、DVD,還有其他取得方式可以在 extref:{handbook}mirrors[the Handbook, mirrors] 中找到解答。
@@ -295,28 +302,17 @@ FreeBSD 文件計畫已陸續發表了相當廣泛範圍的文件,可在 https
|`pdf`
| Adobe's PDF 格式
-|`ps`
-|PostScript(TM)
-
-|`rtf`
-|Microsoft(TM) 的 RTF 格式
-
|`txt`
|純文字
|===
+
-[NOTE]
-====
-當用 Word 讀取 RTF 格式時,頁碼並不會被自動更新。在開啟檔案後按下kbd:[Ctrl+A], kbd:[Ctrl+End], kbd:[F9] 來更新頁碼。
-====
-
* 壓縮和打包方式
.. 當採用 `html-split` 格式時,檔案先透過 man:tar[1] 工具來進行打包。接著再將產生出來的 [.filename]#.tar# 檔接透過第二點所述的壓縮方式壓縮。
.. 其他的格式都是單一個檔案。例如 [.filename]#article.pdf#、[.filename]#book.html# ,以此類推。
+
這些檔案接著透過 `zip` 或 `bz2` 來壓縮。 man:tar[1] 工具可用來解壓縮這些檔案。
+
-因此 PostScript(TM) 版本的手冊經過 `bzip2` 壓縮後會存成一個叫做 [.filename]#book.ps.bz2# 的檔案,並位於 [.filename]#handbook/# 資料夾。
+因此 PDF 版本的手冊經過 `bzip2` 壓縮後會存成一個叫做 [.filename]#book.ps.bz2# 的檔案,並位於 [.filename]#handbook/# 資料夾。
在選取格式與壓縮方式後,下載壓縮後的檔案並解壓縮,再把文件複製到想要的地方。
@@ -332,20 +328,11 @@ FreeBSD 文件計畫已陸續發表了相當廣泛範圍的文件,可在 https
=== 哪裡有關於 FreeBSD 的郵遞論壇(mailing lists)呢? 有哪些可以使用的 FreeBSD 新聞群組(news groups)呢?
-請參考FreeBSD 使用手冊上的 extref:{handbook}eresources[郵件論壇 (mailing-lists), eresources-mail] 。
+請參考 FreeBSD 使用者手冊上的 link:https://docs.freebsd.org/en/books/handbook/eresources/#eresources-mail[郵件論壇 (mailing-lists)] 和 link:https://docs.freebsd.org/en/books/handbook/eresources/#eresources-news[新聞群組 (news-groups)] 。
=== 有 FreeBSD IRC (Internet Relay Chat)頻道嗎?
-有的,大部分的 IRC 主機都有 FreeBSD 聊天頻道:
-
-* http://www.efnet.org/index.php[EFNet] 上的 `#FreeBSDhelp` 頻道專門用來幫助 FreeBSD 使用著
-* http://freenode.net/[Freenode] 上的 ``\#FreeBSD`` 頻道是一個有許多使用者的一般求助頻道。這個頻道時常聊一些題外話,但主要還是讓使用者問 FreeBSD 相關問題的地方。其他使用者可以協助解答一些基本的問題,並請盡量提供使用手冊的參考或是提供連結來提供更深入的資訊。雖然這個頻道有來自世界各地的使用者,但這是一個英文為主的頻道。非母語人士應該以英文提問,並在必要的時候移駕到 ``##freebsd-lang`` 頻道。
-* http://www.dal.net/[DALNET] 的``#FreeBSD`` 頻道,可由 `irc.dal.net` (位於美國)及``irc.eu.dal.net`` (位於歐洲)進入。
-* http://www.undernet.org/[UNDERNET] 上的 ``#FreeBSD`` 頻道可由 `us.undernet.org`(位於美國)及 `eu.undernet.org` (位於歐洲)進入。由於這是個輔助新手用的頻道, 請記得閱讀別人向你提及的連結或檔案。
-* http://www.rusnet.org.ru/[RUSNET] 上的 ``#FreeBSD`` 頻道是俄語國家的 FreeBSD 使用者頻道。 這裡同時也是一般交流的討論好去處。
-* http://freenode.net/[Freenode] 上的 ``#bsdchat`` 頻道是一個正體中文(UTF-8 編碼)頻道專門用來幫助 FreeBSD 使用著。這裡也歡迎一般非技術的交流討論。
-
-The FreeBSD wiki has a https://wiki.freebsd.org/IRC/Channels[good list] of IRC channels.
+有的,大部分的 IRC 主機都有 FreeBSD 聊天頻道, FreeBSD wiki 有最新的 https://wiki.freebsd.org/IRC/Channels[list of IRC channels] 。
每個頻道都是不同且互相獨立的。因為他們的聊天風格不同,您可以每個都試試看來找到適合您的頻道。
diff --git a/documentation/content/zh-tw/books/handbook/_index.adoc b/documentation/content/zh-tw/books/handbook/_index.adoc
index 1a02a43878..435ad9f832 100644
--- a/documentation/content/zh-tw/books/handbook/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/_index.adoc
@@ -44,8 +44,9 @@ endif::[]
[.abstract-title]
摘要
-歡迎使用 FreeBSD! 本使用手冊涵蓋範圍包括了 _FreeBSD 12.0-RELEASE_ 與 _FreeBSD 11.3-RELEASE_ 的安裝與平日操作的說明。 這份使用手冊是很多人的集體創作,而且仍然『持續不斷』的進行中,因此部份章節可能尚未仍未完成,如果您有興趣協助本計畫的話,請寄電子郵件至 http://lists.FreeBSD.org/mailman/listinfo/freebsd-doc[FreeBSD 文件專案郵遞論壇]。
+歡迎使用 FreeBSD! 本使用手冊涵蓋範圍包括了 _FreeBSD {rel140-current}-RELEASE, {rel132-current}-RELEASE_ 與 _FreeBSD {rel124-current}-RELEASE_ 的安裝與平日操作的說明。 這份使用手冊是很多人的集體創作,而且仍然『持續不斷』的進行中,因此部份章節可能尚未仍未完成,如果您有興趣協助本計畫的話,請寄電子郵件至 {freebsd-doc}[FreeBSD 文件專案郵遞論壇]。
+
+在 https://www.FreeBSD.org/[FreeBSD 網站] 可以找到本手冊的最新版本,舊版文件可從 https://docs.FreeBSD.org/doc/[https://docs.FreeBSD.org/doc/] 取得。本文件也提供各種格式與不同壓縮方式的版本可自 https://download.freebsd.org/doc/[FreeBSD 下載伺服器] 或是其中一個 link:./mirrors#mirrors[鏡像網站] 下載。 此外,您可在 link:https://www.FreeBSD.org/search/[搜尋頁面] 中搜尋本文件或其他文件的資料。
-在 https://www.FreeBSD.org/[FreeBSD 網站] 可以找到本手冊的最新版本,舊版文件可從 https://docs.FreeBSD.org/doc/[https://docs.FreeBSD.org/doc/] 取得。本文件也提供各種格式與不同壓縮方式的版本可自 https://download.freebsd.org/doc/[FreeBSD FTP 伺服器] 或是其中一個 <<mirrors-ftp,鏡像網站>> 下載。 列印出來的實體書面資料可在 https://www.freebsdmall.com/[FreeBSD 商城] 購買。 此外,您可在 https://www.FreeBSD.org/search/[搜尋頁面] 中搜尋本文件或其他文件的資料。
'''
diff --git a/documentation/content/zh-tw/books/handbook/advanced-networking/_index.adoc b/documentation/content/zh-tw/books/handbook/advanced-networking/_index.adoc
index cef31954c7..454b227297 100644
--- a/documentation/content/zh-tw/books/handbook/advanced-networking/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/advanced-networking/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/firewalls
next: books/handbook/partv
showBookMenu: true
weight: 36
-path: "/books/handbook/"
+path: "/books/handbook/advanced-networking/"
---
[[advanced-networking]]
diff --git a/documentation/content/zh-tw/books/handbook/audit/_index.adoc b/documentation/content/zh-tw/books/handbook/audit/_index.adoc
index fb876dd2df..986e886a27 100644
--- a/documentation/content/zh-tw/books/handbook/audit/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/audit/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/mac
next: books/handbook/disks
showBookMenu: true
weight: 20
-path: "/books/handbook/"
+path: "/books/handbook/audit/"
---
[[audit]]
diff --git a/documentation/content/zh-tw/books/handbook/basics/_index.adoc b/documentation/content/zh-tw/books/handbook/basics/_index.adoc
index e5916c61bf..4a058c47e9 100644
--- a/documentation/content/zh-tw/books/handbook/basics/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/basics/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/bsdinstall
next: books/handbook/ports
showBookMenu: true
weight: 5
-path: "/books/handbook/"
+path: "/books/handbook/basics/"
---
[[basics]]
diff --git a/documentation/content/zh-tw/books/handbook/bibliography/_index.adoc b/documentation/content/zh-tw/books/handbook/bibliography/_index.adoc
index 5e0fee5c48..9e07cee3e5 100644
--- a/documentation/content/zh-tw/books/handbook/bibliography/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/bibliography/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/mirrors
next: books/handbook/eresources
showBookMenu: true
weight: 39
-path: "/books/handbook/"
+path: "/books/handbook/bibliography/"
---
[appendix]
diff --git a/documentation/content/zh-tw/books/handbook/book.adoc b/documentation/content/zh-tw/books/handbook/book.adoc
index 784efc639c..64b7e3d0ee 100644
--- a/documentation/content/zh-tw/books/handbook/book.adoc
+++ b/documentation/content/zh-tw/books/handbook/book.adoc
@@ -46,9 +46,9 @@ endif::[]
[abstract]
摘要
-歡迎使用 FreeBSD! 本使用手冊涵蓋範圍包括了 _FreeBSD 12.0-RELEASE_ 與 _FreeBSD 11.3-RELEASE_ 的安裝與平日操作的說明。 這份使用手冊是很多人的集體創作,而且仍然『持續不斷』的進行中,因此部份章節可能尚未仍未完成,如果您有興趣協助本計畫的話,請寄電子郵件至 http://lists.FreeBSD.org/mailman/listinfo/freebsd-doc[FreeBSD 文件專案郵遞論壇]。
+歡迎使用 FreeBSD! 本使用手冊涵蓋範圍包括了 _FreeBSD {rel140-current}-RELEASE, {rel132-current}-RELEASE_ 與 _FreeBSD {rel124-current}-RELEASE_ 的安裝與平日操作的說明。 這份使用手冊是很多人的集體創作,而且仍然『持續不斷』的進行中,因此部份章節可能尚未仍未完成,如果您有興趣協助本計畫的話,請寄電子郵件至 {freebsd-doc}[FreeBSD 文件專案郵遞論壇]。
-在 https://www.FreeBSD.org/[FreeBSD 網站] 可以找到本手冊的最新版本,舊版文件可從 https://docs.FreeBSD.org/doc/[https://docs.FreeBSD.org/doc/] 取得。本文件也提供各種格式與不同壓縮方式的版本可自 https://download.freebsd.org/doc/[FreeBSD FTP 伺服器] 或是其中一個 <<mirrors-ftp,鏡像網站>> 下載。 列印出來的實體書面資料可在 https://www.freebsdmall.com/[FreeBSD 商城] 購買。 此外,您可在 https://www.FreeBSD.org/search/[搜尋頁面] 中搜尋本文件或其他文件的資料。
+在 https://www.FreeBSD.org/[FreeBSD 網站] 可以找到本手冊的最新版本,舊版文件可從 https://docs.FreeBSD.org/doc/[https://docs.FreeBSD.org/doc/] 取得。本文件也提供各種格式與不同壓縮方式的版本可自 https://download.freebsd.org/doc/[FreeBSD 下載伺服器] 或是其中一個 link:./mirrors#mirrors[鏡像網站] 下載。 此外,您可在 link:https://www.FreeBSD.org/search/[搜尋頁面] 中搜尋本文件或其他文件的資料。
'''
diff --git a/documentation/content/zh-tw/books/handbook/boot/_index.adoc b/documentation/content/zh-tw/books/handbook/boot/_index.adoc
index 64772a0bc1..7d0eb15270 100644
--- a/documentation/content/zh-tw/books/handbook/boot/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/boot/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/config
next: books/handbook/security
showBookMenu: true
weight: 16
-path: "/books/handbook/"
+path: "/books/handbook/boot/"
---
[[boot]]
diff --git a/documentation/content/zh-tw/books/handbook/bsdinstall/_index.adoc b/documentation/content/zh-tw/books/handbook/bsdinstall/_index.adoc
index d10f6f5f48..a39a5c1920 100644
--- a/documentation/content/zh-tw/books/handbook/bsdinstall/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/bsdinstall/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/introduction
next: books/handbook/basics
showBookMenu: true
weight: 4
-path: "/books/handbook/"
+path: "/books/handbook/bsdinstall/"
---
[[bsdinstall]]
@@ -167,7 +167,7 @@ FreeBSD 開機啟動程式需要主分割區或是 GPT 分割區。如果所有
FreeBSD 安裝程式並不是一個可以在其他作業系統上執行的應用程式,反而您需要下載 FreeBSD 安裝檔,燒錄安裝檔到符合其檔案類型與大小的媒體 (CD, DVD 或 USB),然後開機從插入的媒體來安裝。
-FreeBSD 的安裝檔可於 https://www.FreeBSD.org/where/#download[www.freebsd.org/where/#download] 取得。安裝檔的名稱由 FreeBSD 發佈版本、架構、以及檔案類型所組成,舉例,要從 DVD 安裝 FreeBSD 10.2 到 amd64 的系統,需下載 [.filename]#FreeBSD-10.2-RELEASE-amd64-dvd1.iso#,並燒錄這個檔案到 DVD,然後使用插入 DVD 來開機。
+FreeBSD 的安裝檔可於 link:https://www.FreeBSD.org/where/#download[www.freebsd.org/where/#download] 取得。安裝檔的名稱由 FreeBSD 發佈版本、架構、以及檔案類型所組成,舉例,要從 DVD 安裝 FreeBSD 10.2 到 amd64 的系統,需下載 [.filename]#FreeBSD-10.2-RELEASE-amd64-dvd1.iso#,並燒錄這個檔案到 DVD,然後使用插入 DVD 來開機。
安裝檔有許多種可用的格式,格式會依據電腦架構及媒體類型的不同而異。
diff --git a/documentation/content/zh-tw/books/handbook/config/_index.adoc b/documentation/content/zh-tw/books/handbook/config/_index.adoc
index 6a1cc4ef4f..40edbd322d 100644
--- a/documentation/content/zh-tw/books/handbook/config/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/config/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/partiii
next: books/handbook/boot
showBookMenu: true
weight: 15
-path: "/books/handbook/"
+path: "/books/handbook/config/"
---
[[config-tuning]]
@@ -1559,5 +1559,5 @@ Most FreeBSD developers watch the http://lists.FreeBSD.org/mailman/listinfo/free
More information about ACPI may be found in the following locations:
* The FreeBSD ACPI Mailing List Archives (https://lists.freebsd.org/pipermail/freebsd-acpi/[https://lists.freebsd.org/pipermail/freebsd-acpi/])
-* The ACPI 2.0 Specification (http://acpi.info/spec.htm[http://acpi.info/spec.htm])
+* The https://uefi.org/specifications#ACPI[ACPI Specification]
* man:acpi[4], man:acpi_thermal[4], man:acpidump[8], man:iasl[8], and man:acpidb[8]
diff --git a/documentation/content/zh-tw/books/handbook/cutting-edge/_index.adoc b/documentation/content/zh-tw/books/handbook/cutting-edge/_index.adoc
index 076ae0fddd..2bdb0ef431 100644
--- a/documentation/content/zh-tw/books/handbook/cutting-edge/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/cutting-edge/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/l10n
next: books/handbook/dtrace
showBookMenu: true
weight: 27
-path: "/books/handbook/"
+path: "/books/handbook/cutting-edge/"
---
[[updating-upgrading]]
diff --git a/documentation/content/zh-tw/books/handbook/desktop/_index.adoc b/documentation/content/zh-tw/books/handbook/desktop/_index.adoc
index 44d7d869c3..e2db611d66 100644
--- a/documentation/content/zh-tw/books/handbook/desktop/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/desktop/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/partii
next: books/handbook/multimedia
showBookMenu: true
weight: 9
-path: "/books/handbook/"
+path: "/books/handbook/desktop/"
---
[[desktop]]
diff --git a/documentation/content/zh-tw/books/handbook/disks/_index.adoc b/documentation/content/zh-tw/books/handbook/disks/_index.adoc
index 4b1f4c59a8..e12e7478ad 100644
--- a/documentation/content/zh-tw/books/handbook/disks/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/disks/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/audit
next: books/handbook/geom
showBookMenu: true
weight: 21
-path: "/books/handbook/"
+path: "/books/handbook/disks/"
---
[[disks]]
diff --git a/documentation/content/zh-tw/books/handbook/dtrace/_index.adoc b/documentation/content/zh-tw/books/handbook/dtrace/_index.adoc
index d9fdbbd683..81fa1ca79e 100644
--- a/documentation/content/zh-tw/books/handbook/dtrace/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/dtrace/_index.adoc
@@ -3,9 +3,12 @@ title: 章 24. DTrace
part: 部 III. 系統管理
prev: books/handbook/cutting-edge
next: books/handbook/usb-device-mode
+description: This chapter explains how to use DTrace in FreeBSD
+tags: ["DTrace", "features", "guide", "tutorial", "kldload"]
showBookMenu: true
-weight: 28
-path: "/books/handbook/"
+weight: 30
+path: "/books/handbook/dtrace/"
+aliases: ["/en/books/handbook/dtrace-implementation/","/en/books/handbook/dtrace-enable/","/en/books/handbook/dtrace-using/"]
---
[[dtrace]]
@@ -49,49 +52,69 @@ endif::[]
[[dtrace-synopsis]]
== 概述
-DTrace, also known as Dynamic Tracing, was developed by Sun(TM) as a tool for locating performance bottlenecks in production and pre-production systems. In addition to diagnosing performance problems, DTrace can be used to help investigate and debug unexpected behavior in both the FreeBSD kernel and in userland programs.
+DTrace,又被稱作 Dynamic Tracing ,由 Sun(TM) 開發,用在生產 (production) 跟預生產 (pre-production) 系統中找出效能瓶頸的工具。
+除了診斷性能問題外,DTrace 還可以用於查詢以及除錯 FreeBSD 核心和使用者層級程式的未預期行為。
-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 to take advantage of its capabilities. Users can author their own utilities using the DTrace D Language, allowing them to customize their profiling based on specific needs.
+DTrace 是一個卓越的分析工具,具有一系列令人驚豔、用於診斷系統問題的功能。
+它還可以執行預先寫好的腳本,以使用其功能。
+使用者可以用 DTrace D 語言編寫自己的工具,從而允許他們根據特定的需求客製化。
-The FreeBSD implementation provides full support for kernel DTrace and experimental support for userland DTrace. Userland DTrace allows users to perform function boundary tracing for userland programs using the `pid` provider, and to insert static probes into userland programs for later tracing. Some ports, such as package:databases/postgres-server[] and package:lang/php56[] have a DTrace option to enable static probes. FreeBSD 10.0-RELEASE has reasonably good userland DTrace support, but it is not considered production ready. In particular, it is possible to crash traced programs.
+FreeBSD 實做提供對核心層級的 DTrace 全面的支援,以及對使用者層級的 DTrace 實驗性的支援。
+使用者層級的 DTrace 允許使用者使用 `pid` 執行函式邊界追蹤 (function boundary tracing),並將 static probes 插入到使用者程式以供之後追蹤。
+一些 ports,像是 package:databases/postgresql12-server[] 和 package:lang/php74[] 提供 DTrace 選項,以提供 static probes 功能。
-The official guide to DTrace is maintained by the Illumos project at http://dtrace.org/guide[DTrace Guide].
+DTrace 的官方指南由 Illumos 維護,在 http://dtrace.org/guide[DTrace Guide]。
讀完這章,您將了解:
-* What DTrace is and what features it provides.
-* Differences between the Solaris(TM) DTrace implementation and the one provided by FreeBSD.
-* How to enable and use DTrace on FreeBSD.
+* 什麼是 DTrace 以及其提供的功能。
+* Solaris(TM) 實做的 DTrace 跟 FreeBSD 提供的 DTrace 之間的不同之處。
+* 如何在 FreeBSD 上啟用和使用 DTrace。
在開始閱讀這章之前,您需要:
* 了解 UNIX(TM) 及 FreeBSD 基礎 (crossref:basics[basics,FreeBSD 基礎])。
-* Have some familiarity with security and how it pertains to FreeBSD (crossref:security[security,安全性]).
+* 了解安全性以及其跟 FreeBSD 的關係 (crossref:security[security,安全性])。
[[dtrace-implementation]]
== 實作差異
-While the DTrace in FreeBSD is similar to that found in Solaris(TM), differences do exist. The primary difference is that in FreeBSD, DTrace is implemented as a set of kernel modules and DTrace can not be used until the modules are loaded. To load all of the necessary modules:
+雖然 FreeBSD 的 DTrace 和 Solaris(TM) 的 DTrace 類似,但是還是有存在差異。
+最重要的區別為,在 FreeBSD 中,DTrace 是作為一組核心模組 (kernel modules) 實做的,並且在載入模組之前無法使用。
+要載入所有需要的模組:
[source,shell]
....
# kldload dtraceall
....
-Beginning with FreeBSD 10.0-RELEASE, the modules are automatically loaded when `dtrace` is run.
+從 FreeBSD 10.0-RELEASE 之後,模組會在執行 `dtrace` 時自動載入。
-FreeBSD uses the `DDB_CTF` kernel option to enable support for loading CTF data from kernel modules and the kernel itself. CTF is the Solaris(TM) Compact C Type Format which encapsulates a reduced form of debugging information similar to DWARF and the venerable stabs. CTF data is added to binaries by the `ctfconvert` and `ctfmerge` build tools. The `ctfconvert` utility parses DWARFELF debug sections created by the compiler and `ctfmerge` merges CTFELF sections from objects into either executables or shared libraries.
+FreeBSD 使用 `DDB_CTF` 核心選項來支援從核心模組和核心本身載入 `CTF` 資料。
+`CTF` 是 Solaris(TM) Compact C Type Format,它封裝了一種簡化形式的除錯資訊,類似於 `DWARF` 和 古老的 stabs。
+`CTF` 資料通過`ctfconvert` and `ctfmerge` 建構工具,加入到二進制文件中。
+`ctfconvert` 工具分析編譯器創建的 `DWARF``ELF` 除錯部份,而 `ctfmerge` 將目標的 `CTF``ELF` 部份合併到執行檔或函式庫中。
-Some different providers exist for FreeBSD than for Solaris(TM). Most notable is the `dtmalloc` provider, which allows tracing `malloc()` by type in the FreeBSD kernel. Some of the providers found in Solaris(TM), such as `cpc` and `mib`, are not present in FreeBSD. These may appear in future versions of FreeBSD. Moreover, some of the providers available in both operating systems are not compatible, in the sense that their probes have different argument types. Thus, D scripts written on Solaris(TM) may or may not work unmodified on FreeBSD, and vice versa.
+與 Solaris(TM) 相比,FreeBSD 存在一些不同的 providers。
+最值得注意的是 `dtmalloc` provider 允許在 FreeBSD 核心中按照類型 (type) 追蹤 `malloc()`。
+Solaris(TM) 中的一些 providers,例如 `cpc` 和 `mib`,在 FreeBSD 中則不存在。
+這些可能會在 FreeBSD 未來的版本中出現。
+此外,兩個作業系統中一些可用的 providers 是不相容的,因為他們具有不同的參數類型。
+因此,在 Solaris(TM) 上拓寫的 `D` 腳本在未經修改的情況下可能可以或不可以在 FreeBSD 上執行,反之亦然。
-Due to security differences, only `root` may use DTrace on FreeBSD. Solaris(TM) has a few low level security checks which do not yet exist in FreeBSD. As such, the [.filename]#/dev/dtrace/dtrace# is strictly limited to `root`.
+因為安全的差異,只有 `root` 可以在 FreeBSD 上使用 DTrace。
+Solaris(TM) 擁有一些 FreeBSD 中還不存在的低階 (low level) 安全檢查。
+因此 [.filename]#/dev/dtrace/dtrace# 被嚴格限制成 `root`。
-DTrace falls under the Common Development and Distribution License (CDDL) license. To view this license on FreeBSD, see [.filename]#/usr/src/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE# or view it online at http://opensource.org/licenses/CDDL-1.0[http://opensource.org/licenses/CDDL-1.0]. While a FreeBSD kernel with DTrace support is BSD licensed, the CDDL is used when the modules are distributed in binary form or the binaries are loaded.
+DTrace 使用 Common Development and Distribution License (`CDDL`) 授權。
+要在 FreeBSD 上查看此授權, 請參閱 [.filename]#/usr/src/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE# 或者在 http://opensource.org/licenses/CDDL-1.0[http://opensource.org/licenses/CDDL-1.0] 線上查看。
+雖然具有 DTrace 支援的 FreeBSD 核心使用 `BSD` 授權,但當模組使用二進制形式或者二進制文件發布時,將使用 `CDDL` 授權。
[[dtrace-enable]]
== 開啟 DTrace 支援
-In FreeBSD 9.2 and 10.0, DTrace support is built into the [.filename]#GENERIC# kernel. Users of earlier versions of FreeBSD or who prefer to statically compile in DTrace support should add the following lines to a custom kernel configuration file and recompile the kernel using the instructions in crossref:kernelconfig[kernelconfig,設定 FreeBSD 核心]:
+在 FreeBSD 9.2 和 10.0 中,DTrace 內建於 [.filename]#GENERIC# 核心裡。
+FreeBSD 早期版本的使用者或喜歡在 DTrace 支援下靜態編譯的使用者應加入下列幾行到客製化核心配置文件,並根據 crossref:kernelconfig[kernelconfig,Configuring the FreeBSD Kernel] 中的說明重新編譯核心:
[.programlisting]
....
@@ -101,52 +124,69 @@ makeoptions DEBUG=-g
makeoptions WITH_CTF=1
....
-Users of the AMD64 architecture should also add this line:
+AMD64 架構的使用者應加入下列幾行:
[.programlisting]
....
options KDTRACE_FRAME
....
-This option provides support for FBT. While DTrace will work without this option, there will be limited support for function boundary tracing.
+此選項提供對 `FBT` 的支援,
+雖然 DTrace 可以在沒有此選項的情況下運作,但對函式邊界追蹤的支援有限。
-Once the FreeBSD system has rebooted into the new kernel, or the DTrace kernel modules have been loaded using `kldload dtraceall`, the system will need support for the Korn shell as the DTrace Toolkit has several utilities written in `ksh`. Make sure that the package:shells/ksh93[] package or port is installed. It is also possible to run these tools under package:shells/pdksh[] or package:shells/mksh[].
+一旦 FreeBSD 系統使用新的核心重新啟動,或者使用 `kldload dtraceall` 載入 DTrace 核心模組後,系統需要支援 Korn shell,因為 DTrace 工具箱有幾個用 `ksh` 拓寫的工具。
+確保已經安裝 package:shells/ksh93[] 套件或者 port,
+也可以在 package:shells/pdksh[] 或者 package:shells/mksh[] 下執行這些工具。
-Finally, install the current DTrace Toolkit, a collection of ready-made scripts for collecting system information. There are scripts to check open files, memory, CPU usage, and a lot more. FreeBSD 10 installs a few of these scripts into [.filename]#/usr/shared/dtrace#. On other FreeBSD versions, or to install the full DTrace Toolkit, use the package:sysutils/dtrace-toolkit[] package or port.
+最後,安裝目前的 DTrace 工具箱,這是一組用於收集系統資訊的現成腳本,
+有一些腳本可以檢查打開的文件、記憶體、`CPU` 使用情況等等。
+FreeBSD 10 將其中一些腳本安裝在 [.filename]#/usr/share/dtrace# 中。
+在其他 FreeBSD 的版本中,要安裝 DTrace 工具箱,請使用 package:sysutils/dtrace-toolkit[] 套件或者 port。
[NOTE]
====
-The scripts found in [.filename]#/usr/shared/dtrace# have been specifically ported to FreeBSD. Not all of the scripts found in the DTrace Toolkit will work as-is on FreeBSD and some scripts may require some effort in order for them to work on FreeBSD.
+[.filename]#/usr/share/dtrace# 中的腳本已專門移植到 FreeBSD,
+並非所有在 DTrace 工具箱中的所有腳本都能在 FreeBSD 上按照原樣運作,一些腳本可能需要一些修改才能在 FreeBSD 上運作。
====
-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 depth discussion of the language is beyond the scope of this document. It is covered extensively in the http://www.dtrace.org/guide[Illumos Dynamic Tracing Guide].
+DTrace 工具箱包含許多使用 DTrace 特殊語言的腳本,
+這種語言被稱為 D 語言,它與 C++ 非常類似,
+對於該語言的深度討論超出了此文件的範圍,
+他在 http://www.dtrace.org/guide[Illumos Dynamic Tracing Guide] 有廣泛的介紹。
[[dtrace-using]]
== 使用 DTrace
-DTrace scripts consist of a list of one or more _probes_, or instrumentation points, where each probe is associated with an action. Whenever the condition for a probe is met, the associated action is executed. For example, an action may occur when a file is opened, a process is started, or a line of code is executed. The action might be to log some information or to modify context variables. The reading and writing of context variables allows probes to share information and to cooperatively analyze the correlation of different events.
+DTrace 腳本由一個或多個 _probes_ 或檢查點 (instrumentation points) 的列表組成,其中每個 probe 都與一個行為有關,
+只要能滿足 probe 的條件,就會執行相關的行為,
+舉例來說,打開文件、啟動一個行程或執行一行程式。
+該行為可能是紀錄一些資訊,或修改上下文變數 (context variables),
+上下文變數的讀寫允許 probes 分享資訊和共同分析不同事件的相關性。
-To view all probes, the administrator can execute the following command:
+想要查看所有的 probes,系統管理員可以執行以下指令:
[source,shell]
....
# dtrace -l | more
....
-Each probe has an `ID`, a `PROVIDER` (dtrace or fbt), a `MODULE`, and a `FUNCTION NAME`. Refer to man:dtrace[1] for more information about this command.
+每個 probe 都有一個 `ID`、一個 `PROVIDER` (dtrace 或者 fbt)、一個 `MODULE` 和一個 `FUNCTION NAME`。
+有關此指令的更多資訊,請參閱 man:dtrace[1]。
-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# and [.filename]#procsystime# scripts.
+本節中的例子概述如何使用 DTrace 工具箱中完全支援的兩個腳本: [.filename]#hotkernel# 和 [.filename]#procsystime# 腳本。
-The [.filename]#hotkernel# script is designed to identify which function is using the most kernel time. It will produce output similar to the following:
+[.filename]#hotkernel# 腳本設計成觀察哪個函式使用的核心時間最多,
+它會產生類似於以下內容的輸出:
[source,shell]
....
-# cd /usr/shared/dtrace/toolkit
+# cd /usr/local/share/dtrace-toolkit
# ./hotkernel
Sampling... Hit Ctrl-C to end.
....
-As instructed, use the kbd:[Ctrl+C] key combination to stop the process. Upon termination, the script will display a list of kernel functions and timing information, sorting the output in increasing order of time:
+按照說明,使用 kbd:[Ctrl+C] 組合鍵停止行程,
+中止後,腳本將顯示一整列的核心函式和時間資訊,按照時間遞增排序:
[source,shell]
....
@@ -178,7 +218,8 @@ kernel`sched_idletd 137 0.3%
0xc10981a5 42139 99.3%
....
-This script will also work with kernel modules. To use this feature, run the script with `-m`:
+此腳本也是用於核心模組,
+要使用此功能,請使用 `-m` 執行腳本:
[source,shell]
....
@@ -200,7 +241,10 @@ kernel 874 0.4%
0xc10981a5 213781 99.6%
....
-The [.filename]#procsystime# script captures and prints the system call time usage for a given process ID (PID) or process name. In the following example, a new instance of [.filename]#/bin/csh# was spawned. Then, [.filename]#procsystime# was executed and remained waiting while a few commands were typed on the other incarnation of `csh`. These are the results of this test:
+[.filename]#procsystime# 抓取和輸出系統調用時間,給設定行程 ID (PID) 或行程名稱的行程。
+在以下的例子中,生成了 [.filename]#/bin/csh# 新物件,
+然後,[.filename]#procsystime# 被執行並一直等待,同時在 `csh` 的另一個化身上輸入一些指令,
+以下是本次測試的結果:
[source,shell]
....
@@ -231,4 +275,4 @@ Elapsed Times for processes csh,
read 3988049784
....
-As shown, the `read()` system call used the most time in nanoseconds while the `getpid()` system call used the least amount of time.
+如圖所示,`read()` 系統調用使用的時間最多(以奈秒為單位),而 `getpid()` 系統調用使用的時間最少。
diff --git a/documentation/content/zh-tw/books/handbook/eresources/_index.adoc b/documentation/content/zh-tw/books/handbook/eresources/_index.adoc
index 0bca4547c8..9d621f4ec1 100644
--- a/documentation/content/zh-tw/books/handbook/eresources/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/eresources/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/bibliography
next: books/handbook/pgpkeys
showBookMenu: true
weight: 40
-path: "/books/handbook/"
+path: "/books/handbook/eresources/"
---
[appendix]
diff --git a/documentation/content/zh-tw/books/handbook/filesystems/_index.adoc b/documentation/content/zh-tw/books/handbook/filesystems/_index.adoc
index a883c0f5ee..7eedc888a4 100644
--- a/documentation/content/zh-tw/books/handbook/filesystems/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/filesystems/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/zfs
next: books/handbook/virtualization
showBookMenu: true
weight: 24
-path: "/books/handbook/"
+path: "/books/handbook/filesystems/"
---
[[filesystems]]
diff --git a/documentation/content/zh-tw/books/handbook/firewalls/_index.adoc b/documentation/content/zh-tw/books/handbook/firewalls/_index.adoc
index 099b45e041..9174820d05 100644
--- a/documentation/content/zh-tw/books/handbook/firewalls/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/firewalls/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/network-servers
next: books/handbook/advanced-networking
showBookMenu: true
weight: 35
-path: "/books/handbook/"
+path: "/books/handbook/firewalls/"
---
[[firewalls]]
diff --git a/documentation/content/zh-tw/books/handbook/geom/_index.adoc b/documentation/content/zh-tw/books/handbook/geom/_index.adoc
index e8963f6601..a897210232 100644
--- a/documentation/content/zh-tw/books/handbook/geom/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/geom/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/disks
next: books/handbook/zfs
showBookMenu: true
weight: 22
-path: "/books/handbook/"
+path: "/books/handbook/geom/"
---
[[geom]]
diff --git a/documentation/content/zh-tw/books/handbook/introduction/_index.adoc b/documentation/content/zh-tw/books/handbook/introduction/_index.adoc
index f882ecd504..fc7b0d02f7 100644
--- a/documentation/content/zh-tw/books/handbook/introduction/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/introduction/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/parti
next: books/handbook/bsdinstall
showBookMenu: true
weight: 3
-path: "/books/handbook/"
+path: "/books/handbook/introduction/"
---
[[introduction]]
diff --git a/documentation/content/zh-tw/books/handbook/jails/_index.adoc b/documentation/content/zh-tw/books/handbook/jails/_index.adoc
index 099ce18fb5..cf7fceb488 100644
--- a/documentation/content/zh-tw/books/handbook/jails/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/jails/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/security
next: books/handbook/mac
showBookMenu: true
weight: 18
-path: "/books/handbook/"
+path: "/books/handbook/jails/"
---
[[jails]]
diff --git a/documentation/content/zh-tw/books/handbook/kernelconfig/_index.adoc b/documentation/content/zh-tw/books/handbook/kernelconfig/_index.adoc
index 3c571dfb66..928fba6ae1 100644
--- a/documentation/content/zh-tw/books/handbook/kernelconfig/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/kernelconfig/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/multimedia
next: books/handbook/printing
showBookMenu: true
weight: 11
-path: "/books/handbook/"
+path: "/books/handbook/kernelconfig/"
---
[[kernelconfig]]
diff --git a/documentation/content/zh-tw/books/handbook/l10n/_index.adoc b/documentation/content/zh-tw/books/handbook/l10n/_index.adoc
index 94475386fb..f13e50d983 100644
--- a/documentation/content/zh-tw/books/handbook/l10n/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/l10n/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/virtualization
next: books/handbook/cutting-edge
showBookMenu: true
weight: 26
-path: "/books/handbook/"
+path: "/books/handbook/l10n/"
---
[[l10n]]
diff --git a/documentation/content/zh-tw/books/handbook/linuxemu/_index.adoc b/documentation/content/zh-tw/books/handbook/linuxemu/_index.adoc
index 8f18d31e71..3ed1347f6c 100644
--- a/documentation/content/zh-tw/books/handbook/linuxemu/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/linuxemu/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/printing
next: books/handbook/partiii
showBookMenu: true
weight: 13
-path: "/books/handbook/"
+path: "/books/handbook/linuxemu/"
---
[[linuxemu]]
diff --git a/documentation/content/zh-tw/books/handbook/mac/_index.adoc b/documentation/content/zh-tw/books/handbook/mac/_index.adoc
index a1b36f5908..67821758b1 100644
--- a/documentation/content/zh-tw/books/handbook/mac/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/mac/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/jails
next: books/handbook/audit
showBookMenu: true
weight: 19
-path: "/books/handbook/"
+path: "/books/handbook/mac/"
---
[[mac]]
diff --git a/documentation/content/zh-tw/books/handbook/mail/_index.adoc b/documentation/content/zh-tw/books/handbook/mail/_index.adoc
index 9ec558af65..a282679c98 100644
--- a/documentation/content/zh-tw/books/handbook/mail/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/mail/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/ppp-and-slip
next: books/handbook/network-servers
showBookMenu: true
weight: 33
-path: "/books/handbook/"
+path: "/books/handbook/mail/"
---
[[mail]]
diff --git a/documentation/content/zh-tw/books/handbook/mirrors/_index.adoc b/documentation/content/zh-tw/books/handbook/mirrors/_index.adoc
index 007eb77fdc..996172d452 100644
--- a/documentation/content/zh-tw/books/handbook/mirrors/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/mirrors/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/partv
next: books/handbook/bibliography
showBookMenu: true
weight: 38
-path: "/books/handbook/"
+path: "/books/handbook/mirrors/"
---
[appendix]
diff --git a/documentation/content/zh-tw/books/handbook/multimedia/_index.adoc b/documentation/content/zh-tw/books/handbook/multimedia/_index.adoc
index 030183ac5a..cdb453fddb 100644
--- a/documentation/content/zh-tw/books/handbook/multimedia/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/multimedia/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/desktop
next: books/handbook/kernelconfig
showBookMenu: true
weight: 10
-path: "/books/handbook/"
+path: "/books/handbook/multimedia/"
---
[[multimedia]]
diff --git a/documentation/content/zh-tw/books/handbook/network-servers/_index.adoc b/documentation/content/zh-tw/books/handbook/network-servers/_index.adoc
index a92d7276b5..f10b246cba 100644
--- a/documentation/content/zh-tw/books/handbook/network-servers/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/network-servers/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/mail
next: books/handbook/firewalls
showBookMenu: true
weight: 34
-path: "/books/handbook/"
+path: "/books/handbook/network-servers/"
---
[[network-servers]]
diff --git a/documentation/content/zh-tw/books/handbook/parti.adoc b/documentation/content/zh-tw/books/handbook/parti.adoc
index b098987271..48cb7235fd 100644
--- a/documentation/content/zh-tw/books/handbook/parti.adoc
+++ b/documentation/content/zh-tw/books/handbook/parti.adoc
@@ -4,7 +4,7 @@ prev: books/handbook/preface
next: books/handbook/introduction
showBookMenu: true
weight: 2
-path: "/books/handbook/"
+path: "/books/handbook/parti/"
---
[[getting-started]]
@@ -14,7 +14,7 @@ path: "/books/handbook/"
* 介紹 FreeBSD 給您。
* 在安裝過程給您指引。
-* T教您 UNIX(R) 的基礎及原理。
+* 教您 UNIX(R) 的基礎及原理。
* 展示給您看如何安裝豐富的 FreeBSD 的應用軟體。
* 向您介紹 X,UNIX(R) 的視窗系統以及詳細的桌面環境設定,讓您更有生產力。
diff --git a/documentation/content/zh-tw/books/handbook/partii.adoc b/documentation/content/zh-tw/books/handbook/partii.adoc
index 3bec77ce37..830be41ffc 100644
--- a/documentation/content/zh-tw/books/handbook/partii.adoc
+++ b/documentation/content/zh-tw/books/handbook/partii.adoc
@@ -4,7 +4,7 @@ prev: books/handbook/x11
next: books/handbook/desktop
showBookMenu: true
weight: 8
-path: "/books/handbook/"
+path: "/books/handbook/partii/"
---
[[common-tasks]]
diff --git a/documentation/content/zh-tw/books/handbook/partiii.adoc b/documentation/content/zh-tw/books/handbook/partiii.adoc
index 4771d5bfe9..d3fa37dd10 100644
--- a/documentation/content/zh-tw/books/handbook/partiii.adoc
+++ b/documentation/content/zh-tw/books/handbook/partiii.adoc
@@ -4,7 +4,7 @@ prev: books/handbook/linuxemu
next: books/handbook/config
showBookMenu: true
weight: 14
-path: "/books/handbook/"
+path: "/books/handbook/partiii/"
---
[[system-administration]]
diff --git a/documentation/content/zh-tw/books/handbook/partiv.adoc b/documentation/content/zh-tw/books/handbook/partiv.adoc
index 1497dfa983..66882fb1db 100644
--- a/documentation/content/zh-tw/books/handbook/partiv.adoc
+++ b/documentation/content/zh-tw/books/handbook/partiv.adoc
@@ -4,7 +4,7 @@ prev: books/handbook/usb-device-mode
next: books/handbook/serialcomms
showBookMenu: true
weight: 30
-path: "/books/handbook/"
+path: "/books/handbook/partiv/"
---
[[network-communication]]
diff --git a/documentation/content/zh-tw/books/handbook/partv.adoc b/documentation/content/zh-tw/books/handbook/partv.adoc
index 8d99637027..ab9cb22bb5 100644
--- a/documentation/content/zh-tw/books/handbook/partv.adoc
+++ b/documentation/content/zh-tw/books/handbook/partv.adoc
@@ -4,7 +4,7 @@ prev: books/handbook/advanced-networking
next: books/handbook/mirrors
showBookMenu: true
weight: 37
-path: "/books/handbook/"
+path: "/books/handbook/partv/"
---
[[appendices]]
diff --git a/documentation/content/zh-tw/books/handbook/pgpkeys/_index.adoc b/documentation/content/zh-tw/books/handbook/pgpkeys/_index.adoc
index 8b720a3bc4..15cac036f7 100644
--- a/documentation/content/zh-tw/books/handbook/pgpkeys/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/pgpkeys/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/eresources
next: books/handbook/freebsd-glossary
showBookMenu: true
weight: 41
-path: "/books/handbook/"
+path: "/books/handbook/pgpkeys/"
---
[appendix]
@@ -59,9 +59,6 @@ The OpenPGP keys of the `FreeBSD.org` officers are shown here. These keys can be
=== {security-officer-name} `<{security-officer-email}>`
include::{pgpkeys-path}static/pgpkeys/security-officer.key[]
-=== {secteam-secretary-name} `<{secteam-secretary-email}>`
-include::{pgpkeys-path}static/pgpkeys/secteam-secretary.key[]
-
=== {core-secretary-name} `<{core-secretary-email}>`
include::{pgpkeys-path}static/pgpkeys/core-secretary.key[]
diff --git a/documentation/content/zh-tw/books/handbook/ports/_index.adoc b/documentation/content/zh-tw/books/handbook/ports/_index.adoc
index f670305b0f..084eaf6756 100644
--- a/documentation/content/zh-tw/books/handbook/ports/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/ports/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/basics
next: books/handbook/x11
showBookMenu: true
weight: 6
-path: "/books/handbook/"
+path: "/books/handbook/ports/"
---
[[ports]]
diff --git a/documentation/content/zh-tw/books/handbook/ppp-and-slip/_index.adoc b/documentation/content/zh-tw/books/handbook/ppp-and-slip/_index.adoc
index 0535949470..a30c588aba 100644
--- a/documentation/content/zh-tw/books/handbook/ppp-and-slip/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/ppp-and-slip/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/serialcomms
next: books/handbook/mail
showBookMenu: true
weight: 32
-path: "/books/handbook/"
+path: "/books/handbook/ppp-and-slip/"
---
[[ppp-and-slip]]
diff --git a/documentation/content/zh-tw/books/handbook/preface/_index.adoc b/documentation/content/zh-tw/books/handbook/preface/_index.adoc
index 67be68d7a9..61d54b6f0b 100644
--- a/documentation/content/zh-tw/books/handbook/preface/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/preface/_index.adoc
@@ -4,7 +4,7 @@ prev: books/handbook/
next: books/handbook/parti
showBookMenu: true
weight: 1
-path: "/books/handbook/"
+path: "/books/handbook/preface/"
---
[preface]
diff --git a/documentation/content/zh-tw/books/handbook/printing/_index.adoc b/documentation/content/zh-tw/books/handbook/printing/_index.adoc
index 07e78a7b61..2b5d278b27 100644
--- a/documentation/content/zh-tw/books/handbook/printing/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/printing/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/kernelconfig
next: books/handbook/linuxemu
showBookMenu: true
weight: 12
-path: "/books/handbook/"
+path: "/books/handbook/printing/"
---
[[printing]]
@@ -507,11 +507,6 @@ Modify [.filename]#/etc/printcap# to use this new input filter:
Test the filter by printing PostScript(TM) and plain text files.
-[[printing-lpd-filters-othersmart]]
-==== 其他智慧過濾器
-
-Writing a filter that detects many different types of input and formats them correctly is challenging. package:print/apsfilter[] from the Ports Collection is a smart "magic" filter that detects dozens of file types and automatically converts them to the PDL understood by the printer. See http://www.apsfilter.org[] for more details.
-
[[printing-lpd-queues]]
=== 多序列
diff --git a/documentation/content/zh-tw/books/handbook/security/_index.adoc b/documentation/content/zh-tw/books/handbook/security/_index.adoc
index 375953bdaa..39098ca1b5 100644
--- a/documentation/content/zh-tw/books/handbook/security/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/security/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/boot
next: books/handbook/jails
showBookMenu: true
weight: 17
-path: "/books/handbook/"
+path: "/books/handbook/security/"
---
[[security]]
diff --git a/documentation/content/zh-tw/books/handbook/serialcomms/_index.adoc b/documentation/content/zh-tw/books/handbook/serialcomms/_index.adoc
index d246a93ba9..f2c67743a9 100644
--- a/documentation/content/zh-tw/books/handbook/serialcomms/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/serialcomms/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/partiv
next: books/handbook/ppp-and-slip
showBookMenu: true
weight: 31
-path: "/books/handbook/"
+path: "/books/handbook/serialcomms/"
---
[[serialcomms]]
diff --git a/documentation/content/zh-tw/books/handbook/usb-device-mode/_index.adoc b/documentation/content/zh-tw/books/handbook/usb-device-mode/_index.adoc
index 3ff5c75c01..fba569fd57 100644
--- a/documentation/content/zh-tw/books/handbook/usb-device-mode/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/usb-device-mode/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/dtrace
next: books/handbook/partiv
showBookMenu: true
weight: 29
-path: "/books/handbook/"
+path: "/books/handbook/usb-device-mode/"
---
[[usb-device-mode]]
diff --git a/documentation/content/zh-tw/books/handbook/virtualization/_index.adoc b/documentation/content/zh-tw/books/handbook/virtualization/_index.adoc
index 0e3b9a1220..b78e604669 100644
--- a/documentation/content/zh-tw/books/handbook/virtualization/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/virtualization/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/filesystems
next: books/handbook/l10n
showBookMenu: true
weight: 25
-path: "/books/handbook/"
+path: "/books/handbook/virtualization/"
---
[[virtualization]]
diff --git a/documentation/content/zh-tw/books/handbook/x11/_index.adoc b/documentation/content/zh-tw/books/handbook/x11/_index.adoc
index fffe3809cf..419c07c1ce 100644
--- a/documentation/content/zh-tw/books/handbook/x11/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/x11/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/ports
next: books/handbook/partii
showBookMenu: true
weight: 7
-path: "/books/handbook/"
+path: "/books/handbook/x11/"
---
[[x11]]
diff --git a/documentation/content/zh-tw/books/handbook/zfs/_index.adoc b/documentation/content/zh-tw/books/handbook/zfs/_index.adoc
index f8aa244612..be3030f16d 100644
--- a/documentation/content/zh-tw/books/handbook/zfs/_index.adoc
+++ b/documentation/content/zh-tw/books/handbook/zfs/_index.adoc
@@ -5,7 +5,7 @@ prev: books/handbook/geom
next: books/handbook/filesystems
showBookMenu: true
weight: 23
-path: "/books/handbook/"
+path: "/books/handbook/zfs/"
---
[[zfs]]
diff --git a/documentation/content/zh-tw/books/porters-handbook/flavors/_index.adoc b/documentation/content/zh-tw/books/porters-handbook/flavors/_index.adoc
index 46bace6d07..89b2df77ee 100644
--- a/documentation/content/zh-tw/books/porters-handbook/flavors/_index.adoc
+++ b/documentation/content/zh-tw/books/porters-handbook/flavors/_index.adoc
@@ -6,7 +6,7 @@ description: Flavors are a way to have multiple variations of a port
tags: ["Ports", "Flavors", "introduction", "how-to", "guide"]
showBookMenu: true
weight: 7
-path: "/books/porters-handbook/"
+path: "/books/porters-handbook/flavors/"
---
[[flavors]]
diff --git a/documentation/content/zh-tw/books/porters-handbook/keeping-up/_index.adoc b/documentation/content/zh-tw/books/porters-handbook/keeping-up/_index.adoc
index 2a8cf3e639..4c35d71be1 100644
--- a/documentation/content/zh-tw/books/porters-handbook/keeping-up/_index.adoc
+++ b/documentation/content/zh-tw/books/porters-handbook/keeping-up/_index.adoc
@@ -6,7 +6,7 @@ description: How to keep up the FreeBSD Ports Collection
tags: ["keeping up", "ports", "updating", "FreshPorts"]
showBookMenu: true
weight: 16
-path: "/books/porters-handbook/"
+path: "/books/porters-handbook/keeping-up/"
---
[[keeping-up]]
diff --git a/documentation/content/zh-tw/books/porters-handbook/makefiles/_index.adoc b/documentation/content/zh-tw/books/porters-handbook/makefiles/_index.adoc
index 5d2f4cd1b7..79f992fba8 100644
--- a/documentation/content/zh-tw/books/porters-handbook/makefiles/_index.adoc
+++ b/documentation/content/zh-tw/books/porters-handbook/makefiles/_index.adoc
@@ -6,7 +6,7 @@ description: Configuring the Makefile for FreeBSD Ports
tags: ["makefiles", "configuring", "naming", "versions"]
showBookMenu: true
weight: 5
-path: "/books/porters-handbook/"
+path: "/books/porters-handbook/makefiles/"
---
[[makefiles]]
diff --git a/documentation/content/zh-tw/books/porters-handbook/new-port/_index.adoc b/documentation/content/zh-tw/books/porters-handbook/new-port/_index.adoc
index 7787f301bf..20c774da8a 100644
--- a/documentation/content/zh-tw/books/porters-handbook/new-port/_index.adoc
+++ b/documentation/content/zh-tw/books/porters-handbook/new-port/_index.adoc
@@ -4,7 +4,7 @@ prev: books/porters-handbook/porting-why
next: books/porters-handbook/quick-porting
showBookMenu: true
weight: 2
-path: "/books/porters-handbook/"
+path: "/books/porters-handbook/new-port/"
---
[[own-port]]
diff --git a/documentation/content/zh-tw/books/porters-handbook/order/_index.adoc b/documentation/content/zh-tw/books/porters-handbook/order/_index.adoc
index 057119bed6..2f032a678d 100644
--- a/documentation/content/zh-tw/books/porters-handbook/order/_index.adoc
+++ b/documentation/content/zh-tw/books/porters-handbook/order/_index.adoc
@@ -6,7 +6,7 @@ description: Order of Variables in FreeBSD Port Makefiles
tags: ["order", "PORTNAME", "PATCHFILES", "MAINTAINER", "LICENSE", "dependencies", "USES"]
showBookMenu: true
weight: 15
-path: "/books/porters-handbook/"
+path: "/books/porters-handbook/order/"
---
[[porting-order]]
diff --git a/documentation/content/zh-tw/books/porters-handbook/pkg-files/_index.adoc b/documentation/content/zh-tw/books/porters-handbook/pkg-files/_index.adoc
index 969e0b9f43..35c9bb111e 100644
--- a/documentation/content/zh-tw/books/porters-handbook/pkg-files/_index.adoc
+++ b/documentation/content/zh-tw/books/porters-handbook/pkg-files/_index.adoc
@@ -6,7 +6,7 @@ description: Tricks about the pkg-* files
tags: ["pkg", "pkg-message", "UCL", "pkg-install", "pkg-deinstall"]
showBookMenu: true
weight: 9
-path: "/books/porters-handbook/"
+path: "/books/porters-handbook/pkg-files/"
---
[[pkg-files]]
diff --git a/documentation/content/zh-tw/books/porters-handbook/plist/_index.adoc b/documentation/content/zh-tw/books/porters-handbook/plist/_index.adoc
index 7ee24afc97..fbf74d8e4c 100644
--- a/documentation/content/zh-tw/books/porters-handbook/plist/_index.adoc
+++ b/documentation/content/zh-tw/books/porters-handbook/plist/_index.adoc
@@ -6,7 +6,7 @@ description: Advanced pkg-plist Practices
tags: ["pkg-plist", "practices", "configuration"]
showBookMenu: true
weight: 8
-path: "/books/porters-handbook/"
+path: "/books/porters-handbook/plist/"
---
[[plist]]
diff --git a/documentation/content/zh-tw/books/porters-handbook/porting-dads/_index.adoc b/documentation/content/zh-tw/books/porters-handbook/porting-dads/_index.adoc
index 9693c0ca93..3daf331e37 100644
--- a/documentation/content/zh-tw/books/porters-handbook/porting-dads/_index.adoc
+++ b/documentation/content/zh-tw/books/porters-handbook/porting-dads/_index.adoc
@@ -6,7 +6,7 @@ description: A list of common dos and don'ts that are encountered during the Fre
tags: ["dos", "don'ts", "porting", "ports", "guide"]
showBookMenu: true
weight: 13
-path: "/books/porters-handbook/"
+path: "/books/porters-handbook/porting-dads/"
---
[[porting-dads]]
diff --git a/documentation/content/zh-tw/books/porters-handbook/porting-samplem/_index.adoc b/documentation/content/zh-tw/books/porters-handbook/porting-samplem/_index.adoc
index 2a247922c2..bc88ad70fe 100644
--- a/documentation/content/zh-tw/books/porters-handbook/porting-samplem/_index.adoc
+++ b/documentation/content/zh-tw/books/porters-handbook/porting-samplem/_index.adoc
@@ -6,7 +6,7 @@ description: A sample Makefile that can be used to create a new FreeBSD Port
tags: ["sample", "makefile"]
showBookMenu: true
weight: 14
-path: "/books/porters-handbook/"
+path: "/books/porters-handbook/porting-samplem/"
---
[[porting-samplem]]
diff --git a/documentation/content/zh-tw/books/porters-handbook/porting-why/_index.adoc b/documentation/content/zh-tw/books/porters-handbook/porting-why/_index.adoc
index 554ff030b4..121670197d 100644
--- a/documentation/content/zh-tw/books/porters-handbook/porting-why/_index.adoc
+++ b/documentation/content/zh-tw/books/porters-handbook/porting-why/_index.adoc
@@ -4,7 +4,7 @@ prev: books/porters-handbook/
next: books/porters-handbook/new-port
showBookMenu: true
weight: 1
-path: "/books/porters-handbook/"
+path: "/books/porters-handbook/porting-why/"
---
[[why-port]]
diff --git a/documentation/content/zh-tw/books/porters-handbook/quick-porting/_index.adoc b/documentation/content/zh-tw/books/porters-handbook/quick-porting/_index.adoc
index bdab09bdc5..21fd475eb4 100644
--- a/documentation/content/zh-tw/books/porters-handbook/quick-porting/_index.adoc
+++ b/documentation/content/zh-tw/books/porters-handbook/quick-porting/_index.adoc
@@ -4,7 +4,7 @@ prev: books/porters-handbook/new-port
next: books/porters-handbook/slow-porting
showBookMenu: true
weight: 3
-path: "/books/porters-handbook/"
+path: "/books/porters-handbook/quick-porting/"
---
[[quick-porting]]
@@ -56,7 +56,7 @@ endif::[]
[NOTE]
====
-It is recommended to set the `DEVELOPER` man:make[1] variable in [.filename]#/etc/make.conf# before getting into porting.
+在 porting 之前,建議在 [.filename]#/etc/make.conf# 設定 `DEVELOPER` man:make[1] 變數。
[source,shell]
....
@@ -64,7 +64,7 @@ It is recommended to set the `DEVELOPER` man:make[1] variable in [.filename]#/et
# echo DEVELOPER=yes >> /etc/make.conf
....
-This setting enables the "developer mode" that displays deprecation warnings and activates some further quality checks on calling `make`.
+這個設定開啟了 "developer mode" ,顯示已棄用警告並在使用 `make` 時檢查品質。
====
[[porting-makefile]]
@@ -87,12 +87,7 @@ COMMENT= Cat chasing a mouse all over the screen
.include <bsd.port.mk>
....
-[NOTE]
-====
-In some cases, the [.filename]#Makefile# of an existing port may contain additional lines in the header, such as the name of the port and the date it was created. This additional information has been declared obsolete, and is being phased out.
-====
-
-嗯,大致就是這樣,看看你已經領略多少了呢? 看到 `$FreeBSD: head/zh_TW.UTF-8/books/porters-handbook/book.xml 48496 2016-03-29 01:37:53Z kevlo $` 這一行的話,別想太多 ,當該 port 正式進入 port tree 時, Subversion 就會自動轉換為相關字串囉。 有關這點的細節部份,可以參閱 <<porting-samplem,sample Makefile>> 章節。
+嘗試了解此檔案,有關這點的細節部份,可以參閱 crossref:porting-samplem[porting-samplem,sample Makefile] 章節。
[[porting-desc]]
== 撰寫說明檔
@@ -107,29 +102,17 @@ In some cases, the [.filename]#Makefile# of an existing port may contain additio
[NOTE]
====
請注意,這檔_絕非_「該軟體的說明手冊」或是「如何編譯、使用該 port 的說明」! _若是從該軟體的 [.filename]#README# 或 manpage 直接複製過來的話,請注意_。他們常常不是正確的 port 描述或是格式並不適合。例如,manpage會對齊空白,這用monospace字型來看會特別糟糕。
-====
-A well-written [.filename]#pkg-descr# describes the port completely enough that users would not have to consult the documentation or visit the website to understand what the software does, how it can be useful, or what particularly nice features it has. Mentioning certain requirements like a graphical toolkit, heavy dependencies, runtime environment, or implementation languages help users decide whether this port will work for them.
+另一方面, [.filename]#pkg-descr# 的內容必須比 crossref:makefiles[makefile-comment,COMMENT line from the Makefile] 還要詳細,要能詳細解釋此 port 相關的內容。
+====
-Include a URL to the official WWW homepage. Prepend _one_ of the websites (pick the most common one) with `WWW:` (followed by single space) so that automated tools will work correctly. If the URI is the root of the website or directory, it must be terminated with a slash.
+一個良好的 [.filename]#pkg-descr# 可以讓使用者清楚的了解軟體的功能而無須查詢文件或者訪問網站,提及特定的需求像是圖形工具、依賴、執行的環境跟實作的語言,能大大的幫助使用者了解這個 port 是怎麼運作的。
[NOTE]
====
-If the listed webpage for a port is not available, try to search the Internet first to see if the official site moved, was renamed, or is hosted elsewhere.
+過去在 #pkg-descr# 文件最後一行引入的 URL 已經移到 [.filename]#Makefile# 裡面了。
====
-這是 [.filename]#pkg-descr# 內容的例子 :
-
-[.programlisting]
-....
-This is a port of oneko, in which a cat chases a poor mouse all over
-the screen.
- :
-(etc.)
-
-WWW: http://www.oneko.org/
-....
-
[[porting-pkg-plist]]
=== [.filename]#pkg-plist#
@@ -174,15 +157,23 @@ PLIST_FILES= bin/oneko \
[NOTE]
====
-Usage of `PLIST_FILES` should not be abused. When looking for the origin of a file, people usually try to grep through the [.filename]#pkg-plist# files in the ports tree. Listing files in `PLIST_FILES` in the [.filename]#Makefile# makes that search more difficult.
+`PLIST_FILES` 的使用不應該被濫用,人們通常透過在 ports tree 的 [.filename]#pkg-plist# 文件來了解 port ,在 [.filename]#Makefile# 中使用 `PLIST_FILES` 敘述會增加搜尋的難度。
====
[TIP]
====
-If a port needs to create an empty directory, or creates directories outside of [.filename]#${PREFIX}# during installation, refer to crossref:plist[plist-dir-cleaning, Cleaning Up Empty Directories] for more information.
+如果 port 需要創建空的目錄,或者安裝時在 [.filename]#${PREFIX}# 之外創建目錄,請參考 crossref:plist[plist-dir-cleaning, Cleaning Up Empty Directories] 來獲得更多資訊。
+====
+
+[TIP]
====
+因為 `PLIST_FILES` 是 man:make[1] 的變數,任何在此條目的 sapce 都必須被引入。舉例來說,如果使用 man:pkg-create[8] 和 crossref:plist[plist-keywords, Expanding Package List with Keywords] 描述的關鍵字,以下的條目必須被引入。
-然而,使用這個方法列出 port 的檔案和目錄是必須付出代價: 不能使用 man:pkg-create[8] 和 crossref:plist[plist-keywords, Expanding Package List with Keywords] 描述的關鍵字。 因此,這招僅適用於較簡單的 port ,以及簡化該 port 的作法。 此外,這招還有一個好處:可以減少 ports collection 的整體檔案總數。 所以,在考慮是否要用 [.filename]#pkg-plist# 之前, 可以先斟酌這個替代方案看看。
+[.programlisting]
+....
+PLIST_FILES= "@sample ${ETCDIR}/oneko.conf.sample"
+....
+====
後面會介紹到如何運用 [.filename]#pkg-plist#、 `PLIST_FILES` 這些技巧以因應crossref:plist[plist,更複雜的狀況]。
@@ -198,10 +189,10 @@ If a port needs to create an empty directory, or creates directories outside of
* 若該 port 沒裝的東西,不要列在 [.filename]#pkg-plist# 內。
* 若該 port 有裝的東西,請務必列在 [.filename]#pkg-plist# 內。
-* The port can be installed using the `install` target. This verifies that the install script works correctly.
-* The port can be deinstalled properly using the `deinstall` target. This verifies that the deinstall script works correctly.
-* The port does not access network resources after the `fetch` target. This is important for package builders, such as package:ports-mgmt/poudriere[].
-* Make sure that `make package` can be run as a normal user (that is, not as `root`). If that fails, `NEED_ROOT=yes` must be added to the port [.filename]#Makefile#.
+* port 可以透過 `install` 來安裝,這可以確保安裝的 script 是正常運作的。
+* port 可以透過 `uninstall` 來移除,這可以確保安裝的 script 是正常運作的。
+* port 只有在 `featch` 目標時才能使用網路,這對 package builders 很重要,像是 package:ports-mgmt/poudriere[].
+* 確保 `make package` 可以被一般使用者執行 (也就是說,非 `root` 使用者),如果上述執行失敗,軟體很可能需要修改,請參考 crossref:uses[uses-fakeroot,`fakeroot`] 和 crossref:uses[uses-uidfix,`uidfix`]。
[.procedure]
====
@@ -218,32 +209,88 @@ If a port needs to create an empty directory, or creates directories outside of
確認在任何階段都沒有任何警告出現。
-Thorough automated testing can be done with package:ports-mgmt/tinderbox[] or package:ports-mgmt/poudriere[] from the Ports Collection. These applications maintain `jails` where all of the steps shown above can be tested without affecting the state of the host system.
+可以透過 package:ports-mgmt/tinderbox[] 或者 Ports Collection 的 package:ports-mgmt/poudriere[] 工具來完成自動化測試,參考 crossref:testing[testing-poudriere,Poudriere] 獲得更多的資訊。她維護 `jails` ,可以在不影響系統的情況下執行上述所有的測試。
[[porting-portlint]]
== 以 `portlint` 來作檢查 Port
請用 `portlint` 來檢查該 port 是否有遵循我們的規則。 package:ports-mgmt/portlint[] 是 ports collection 的其中一個套件。 它主要可以用來檢驗 <<porting-samplem,Makefile>> 內容是否正確以及 <<porting-pkgname,package>> 是否有正確命名。
+[IMPORTANT]
+====
+不要盲目的相信 `portlint` 的輸出,他是一個 static lint 工具,並且有可能會出錯。
+====
+
[[porting-submitting]]
== 提交新的 Port
提交新的 Port 前,請閱讀 <<porting-dads,DOs and DON'Ts>> 章節。
-現在你很高興終於打造出 port 來囉,唯一剩下要做的就是把它正式放到 FreeBSD ports tree 內,才能讓每個人都能分享使用這個 port。 我們不需要 [.filename]#work# 目錄或是檔名像 [.filename]#pkgname.tgz# 的 package ,請現在刪除他們。
+現在你很高興終於打造出 port 來囉,唯一剩下要做的就是把它正式放到 FreeBSD ports tree 內,才能讓每個人都能分享使用這個 port。
-Next, build the man:shar[1] file. Assuming the port is called `oneko`, `cd` to the directory above where the `oneko` directory is located, and then type: `shar find oneko > oneko.shar`
+[IMPORTANT]
+====
+我們不需要 [.filename]#work# 目錄或是檔名像 [.filename]#pkgname.tgz# 的 package ,請現在刪除他們。
+====
-To submit [.filename]#oneko.shar#, use the https://bugs.freebsd.org/submit/[bug submit form] (category `Ports Tree`). Add a short description of the program to the Description field of the PR (perhaps a short version of `COMMENT`), and do not forget to add [.filename]#oneko.shar# as an attachment.
+下一步,創建一個 man:patch[1] ,一個文件,假設此 port 叫做 `oneko` 並且屬於 `games` 類別。
-[NOTE]
+[[porting-submitting-diff]]
+.為新的 Port 創建 [.filename]#.diff#
+[example]
====
-Giving a good description in the summary of the problem report makes the work of port committers a lot easier. We prefer something like "New port: _category_/_portname__short description of the port_" for new ports. Using this scheme makes it easier and faster to begin the work of committing the new port.
+透過 `git add .` 加入所有的檔案,然後透過 `git diff` 來檢查不同處,如下。
+
+[source,shell]
+....
+% git add .
+% git diff --staged
+....
+
+確保所有需要的檔案都被引入了,將更改提交到你本地分支並使用 `git format-patch` 產生 patch。
+
+[source,shell]
+....
+% git commit
+% git format-patch origin/main
+....
+
+使用 `git format-patch` 產生的 patch 會包含作者以及電子郵件,讓其他開發者更容易使用 (with `git am`) 以及給予回饋。
+
+
+[IMPORTANT]
+****
+為了讓開發者更容易在他們的 ports tree 使用此 patch ,請基於你的 ports tree 來產生 [.filename]#.diff# 。
+****
+
====
-再次強調一點:_不必附上原始 source 的 distfile ,也就是 [.filename]#work# 目錄。 同時,也不必附上 `make package` 時產生的 package_。新的 port 請使用 man:shar[1] ,不要用 man:diff[1] 。
+透過 https://bugs.freebsd.org/submit/[bug submission form] 繳交 [.filename]#oneko.diff# 。使用 "Ports & Packages" 產品和 "Individual Port(s)" 組件,然後跟著這裡的教學走,在 PR 的描述欄位 (也許是較短的 `COMMENT` ) 加入簡短的敘述,並且記得在附件中加入 [.filename]#oneko.diff# 。
+
+[NOTE]
+====
+在問題回報系統中給一個好的總結可以讓 port 開發者更輕鬆的處理此 port ,我們預期的描述形式為 "[NEW PORT] _category/portname short description of the port_" ,使用此形式能讓我們更快的部屬新的 port 。
+====
送出 port 之後,請耐心等候佳音。 有時候可能需要等個幾天或幾個月時間,才會在 FreeBSD ports tree 上正式出現。 等待中的 port PR 清單可以在 http://www.FreeBSD.org/cgi/query-pr-summary.cgi?category=ports[] 查閱。
+在搜尋表單中選擇 _Open_ and _Ports & Packages_ 來獲得 _open_ port PRs 的清單。
+
在看過新的 port 之後,如果需要的話,我們會回覆您,然後會將它提交到 port tree 。 您的大名會被列在 extref:{contributors}[Additional FreeBSD Contributors, contrib-additional] 列表上,以及其他檔案中。
+也可以透過 man:shar[1] 檔案來提交 port ,請使用之前 `oneko` port 的例子。
+
+.為新的 Port 創建 [.filename]#.shar#
+[[porting-submitting-shar]]
+[example]
+====
+前往 port 所在的目錄,使用 `tar`創建 shar archive:
+
+[source,shell]
+....
+% cd ..
+% tar cf oneko.shar --format shar oneko
+....
+====
+
+可以使用跟提交 [.filename]#oneko.diff# 一樣的方式來提交 [.filename]#oneko.shar# 。 \ No newline at end of file
diff --git a/documentation/content/zh-tw/books/porters-handbook/security/_index.adoc b/documentation/content/zh-tw/books/porters-handbook/security/_index.adoc
index ac663489ae..48b1fbaa40 100644
--- a/documentation/content/zh-tw/books/porters-handbook/security/_index.adoc
+++ b/documentation/content/zh-tw/books/porters-handbook/security/_index.adoc
@@ -6,7 +6,7 @@ description: Security instructions when making a FreeBSD Port
tags: ["security", "porting", "ports", "VuXML"]
showBookMenu: true
weight: 12
-path: "/books/porters-handbook/"
+path: "/books/porters-handbook/security/"
---
[[security]]
diff --git a/documentation/content/zh-tw/books/porters-handbook/slow-porting/_index.adoc b/documentation/content/zh-tw/books/porters-handbook/slow-porting/_index.adoc
index 3e7c6c62b3..8d1969ce40 100644
--- a/documentation/content/zh-tw/books/porters-handbook/slow-porting/_index.adoc
+++ b/documentation/content/zh-tw/books/porters-handbook/slow-porting/_index.adoc
@@ -4,7 +4,7 @@ prev: books/porters-handbook/quick-porting
next: books/porters-handbook/makefiles
showBookMenu: true
weight: 4
-path: "/books/porters-handbook/"
+path: "/books/porters-handbook/slow-porting/"
---
[[slow-porting]]
diff --git a/documentation/content/zh-tw/books/porters-handbook/special/_index.adoc b/documentation/content/zh-tw/books/porters-handbook/special/_index.adoc
index a7ad7f9aad..b1d06bf88b 100644
--- a/documentation/content/zh-tw/books/porters-handbook/special/_index.adoc
+++ b/documentation/content/zh-tw/books/porters-handbook/special/_index.adoc
@@ -6,7 +6,7 @@ description: Special considerations when creating a new FreeBSD Port
tags: ["special considerations", "Handling Symbolic Links", "Bundled Libraries"]
showBookMenu: true
weight: 6
-path: "/books/porters-handbook/"
+path: "/books/porters-handbook/special/"
---
[[special]]
diff --git a/documentation/content/zh-tw/books/porters-handbook/testing/_index.adoc b/documentation/content/zh-tw/books/porters-handbook/testing/_index.adoc
index c32e4205ac..e60c62b01e 100644
--- a/documentation/content/zh-tw/books/porters-handbook/testing/_index.adoc
+++ b/documentation/content/zh-tw/books/porters-handbook/testing/_index.adoc
@@ -6,7 +6,7 @@ description: Testing a FreeBSD Port
tags: ["testing", "port", "Portclippy", "Portfmt", "Portlint", "Poudriere", "sets"]
showBookMenu: true
weight: 10
-path: "/books/porters-handbook/"
+path: "/books/porters-handbook/testing/"
---
[[testing]]
diff --git a/documentation/content/zh-tw/books/porters-handbook/upgrading/_index.adoc b/documentation/content/zh-tw/books/porters-handbook/upgrading/_index.adoc
index e420cb5b6b..ad3de83418 100644
--- a/documentation/content/zh-tw/books/porters-handbook/upgrading/_index.adoc
+++ b/documentation/content/zh-tw/books/porters-handbook/upgrading/_index.adoc
@@ -6,7 +6,7 @@ description: Upgrading a FreeBSD Port
tags: ["upgrading", "port", "git"]
showBookMenu: true
weight: 11
-path: "/books/porters-handbook/"
+path: "/books/porters-handbook/upgrading/"
---
[[port-upgrading]]
diff --git a/documentation/content/zh-tw/books/porters-handbook/uses/_index.adoc b/documentation/content/zh-tw/books/porters-handbook/uses/_index.adoc
index 2c28bcb748..6556996bd5 100644
--- a/documentation/content/zh-tw/books/porters-handbook/uses/_index.adoc
+++ b/documentation/content/zh-tw/books/porters-handbook/uses/_index.adoc
@@ -6,7 +6,7 @@ description: USES macros make it easy to declare requirements and settings for a
tags: ["uses", "macros", "introduction", "guide"]
showBookMenu: true
weight: 17
-path: "/books/porters-handbook/"
+path: "/books/porters-handbook/uses/"
---
[[uses]]
diff --git a/documentation/content/zh-tw/books/porters-handbook/versions/_index.adoc b/documentation/content/zh-tw/books/porters-handbook/versions/_index.adoc
index 3ec6e54eb4..3b34d785fb 100644
--- a/documentation/content/zh-tw/books/porters-handbook/versions/_index.adoc
+++ b/documentation/content/zh-tw/books/porters-handbook/versions/_index.adoc
@@ -5,7 +5,7 @@ description: A list of changes into the sys/param.h file
tags: ["FreeBSD versions"]
showBookMenu: true
weight: 18
-path: "/books/porters-handbook/"
+path: "/books/porters-handbook/versions/"
---
[[versions]]