Chapter 1 前言、一般問題

Ying-Chieh Liao

歡迎使用 FreeBSD 4.X-6.X FAQ!

跟其他 Usenet 上的 FAQ 一樣,這份文件涵蓋了有關 FreeBSD 這套作業 系統最常被問到的問題 (當然包括了回答!)。雖然說我們本來的目的是為了 減少網路頻寬的浪費以及避免同樣的問題一再出現,但事實上 FAQ 已經被視 為是一種值得閱讀的文件資源。

我們已經儘可能地使這份 FAQ 更豐富了。如果您對如何改善、進步方面有任 何建議,請隨時寄電子郵件給 FreeBSD 文件計畫的郵遞論壇

1.1. 什麼是 FreeBSD?
1.2. 發展 FreeBSD 的目的是什麼?
1.3. FreeBSD 版權有任何限制嗎?
1.4. FreeBSD 可以取代我現在在用的作業系統嗎?
1.5. 為什麼要叫做 FreeBSD?
1.6. FreeBSD 及 NetBSD, OpenBSD 以及其他 open source BSD 作業系統之間有何不同之處呢?
1.7. 最新版的 FreeBSD 是那一版?
1.8. 什麼是 FreeBSD-CURRENT?
1.9. 什麼是 FreeBSD-STABLE?
1.10. FreeBSD 版本命名原則是什麼呢?
1.11. 每次新的 FreeBSD 將於什麼時候推出?
1.12. 誰負責 FreeBSD 的發展?
1.13. 我要如何取得 FreeBSD?
1.14. 我要如何去查詢、提交問題回報(Problem Report,簡稱PR)資料庫呢?
1.15. 還有其他有關 FreeBSD 的資訊嗎?

1.1. 什麼是 FreeBSD?

簡單地來說,FreeBSD 是一套可以在 Alpha/AXP, AMD64 及 Intel® EM64T, i386™ IA-64, PC-98, UltraSPARC® 上執行的 UN*X-like 作業系統,它是根據 U.C. Berkeley 所開發出來的 “4.4BSD-Lite”,並加上了許多 “4.4BSD-Lite2” 的增強功能。它同時也間接使用了 U.C. Berkeley 所開發出來並由 William Jolitz 移植到 i386 的 “Net/2”,也就是 “386BSD”,不過現在 386BSD 的程式碼只剩下極少數還留 存在 FreeBSD 中。您可以在 FreeBSD 首頁找到有關 什麼是 FreeBSD 以及它可以幫您做些什麼的相關資訊。

FreeBSD 已被廣泛地被世界各地的公司行號、ISP、研究人員、電腦 專家、學生,以及家庭用戶所使用,用在工作、教育以及娛樂上。

如果想看關於 FreeBSD 更深入的資料,請看 FreeBSD 使用手冊

1.2. 發展 FreeBSD 的目的是什麼?

FreeBSD 計畫的目的是提供可以任意使用且沒有限制的軟體。我們在 程式碼 (以及計晝本身) 上付出了大量心血,當然不會介意來點金錢上的 回饋,不過我們絕對不會如此堅持。我們相信我們首要的 “任務” 就是提供程式碼給每一個使用者,不管他們打算用 來幹嘛;這麼一來,這些程式碼才能被用在最多地方,也才能發揮它們最 大的利益。我們相信這就是自由軟體最基本的目標之一,而且我們會盡全 力去支持它。

在我們 source tree 中有部份的程式碼是採用所謂的GPL或是 LGPL 版權宣告,雖然這些版權宣告是用來保障而非限制使用者的權 利,畢竟是不那麼自由了些。由於這些 GPL 的軟體在商業使用上會引起 非常複雜的版權問題,因此只要有機會,我們會盡量以採用比較鬆的 FreeBSD 版權的軟體來取代這些 GPL 版權宣告的軟體。

1.3. FreeBSD 版權有任何限制嗎?

有的。但是這並不是限制你怎麼去使用這些程式碼,而是你怎麼看待 FreeBSD 這個計畫。如果你有版權焦慮症的話,請閱讀 版權本文。簡單地來說,這份版權的重點可以條列如下。

  • 請勿宣稱是您寫了這個程式。

  • 如果它出問題了,不要控告我們。

1.4. FreeBSD 可以取代我現在在用的作業系統嗎?

對大部份的人來說是這樣沒錯,但事實上這問題並沒有這麼好回 答。

大部份的人並不是真正在使用一個作業系統。他們使用的是應用程式 ;而那些應用程式才是真正用到作業系統的東西。FreeBSD 是設計用來提 供一個強韌且功能完整的作業環境給應用程式來執行。它支援了多種瀏覽 器,辦公室套件軟體,電子郵件閱讀軟體,繪圖程式,程式設計環境,網 路伺服器軟體,以及幾乎所有你想要的東西。大部份的程式都可以靠Ports Collection來管 理。

但是如果你想要使用的應用程式只能在某個特定的作業系統上面執行 的話,你就不能輕易地把它換掉,或者指望在 FreeBSD 上有很相似的應用 程式才有機會。如果你想要的是一個強健的辦公室或是網路伺服器,或是 一部穩定的工作站,或是想在不被中斷的環境下工作的話,FreeBSD 無疑 是您的最佳選擇。世界各地有很多使用者,包括初學或資深的 UNIX® 管理 人員都選用 FreeBSD 當他們唯一的桌上作業系統。

如果你是從其他的 UNIX 環境轉換到 FreeBSD 的話,基本上是大同小 異的。但是如果你之前用的是圖形界面的作業系統,例如說是 Windows® 或是 比較古老的 Mac OS® 的話,可能就要多花一點時間來學習怎麼用 UNIX 的 方法來做事。你可以從這份 FAQ 和 FreeBSD 使用手冊 來入門。

1.5. 為什麼要叫做 FreeBSD?

  • 您可以免費使用它,即使是用於商業用途。

  • 整個 FreeBSD 作業系統完整的原始程式都可以免費取得,而且不 管是在使用,散佈或是整合進其他程式等各方面也只受到最小的限 制 (不論是否用於商業用途)。

  • 任何人都可以自由地把他對系統的改良或錯誤修正的程式碼加入 source tree 之中 (當然要符合幾個先決條件)。

  • 特別值得注意的是這裡的 “free” 出現了兩次,而且它們 的意思是不一樣的:一種代表 “免費”,另一種代表 “自由”。您可以拿 FreeBSD 去做任何您想要做的事,除了一些 例外,例如您宣稱 FreeBSD 是您寫的。

1.6. FreeBSD 及 NetBSD, OpenBSD 以及其他 open source BSD 作業系統之間有何不同之處呢?

James Howard 在 DaemonNews 上寫了 The BSD Family Tree 的文件,裡面說明了這些歷史淵源及這些 *BSD 家族計畫之間的差異。

1.7. 最新版的 FreeBSD 是那一版?

就 FreeBSD 目前的發展而言,有三個主要發展分支(其中兩個仍持續有在出 RELEASE 的活動): 由 5-STABLE 所發行(release)的 5.X 系列、 由 6-STABLE 所發行(release)的 6.X 系列這兩個分支。

在 5.3 release 之前,4.X 系列仍屬 -STABLE 分支。 自從 5.3 開始,5.X 系列開始規劃新的 -STABLE 分支發展重點, 而 4.X 將只著重在重大問題上(比如:漏洞修補、安全維護)以及所謂的 "extended support" ,不再會有新的突破性發展。另一方面,5-STABLE 分支雖然仍將繼續發行,但是由於它只是 “legacy” 過渡期分支, 所以大多數主力都已轉移到 6-STABLE 繼續開發。

於 May 2006 所發行的 6.1 版是目前最新的 6-STABLE 分支; 而於 May 2006 所發行的 5.5 版則是目前最新的 5-STABLE 分支。

簡單地來說,-STABLE 的主要訴求對象是對於 穩定性及低變異性的需求遠勝過對最新 -CURRENT snapshot 中特別新功能的需求,例如 ISP 或公司行號的使用者。這兩個 branch 都有可能會產生 release 版,但只有當你能接受 -CURRENT 遠比 -STABLE 容易更動這一點,才應該用 -CURRENT

Release 版每幾個月才會發 行一次。雖然如此,有很多人和 FreeBSD 原始碼同步更新(詳見 FreeBSD-CURRENTFreeBSD-STABLE 的相關問題),但因為原始碼 是一直不斷地在變動的,所以如果要這麼做的話得要花上更多的精 力。

其他更多相關 FreeBSD 發行情報,可由 FreeBSD 網站上的 Release Engineering 得知

1.8. 什麼是 FreeBSD-CURRENT?

FreeBSD-CURRENT 指的是正在發展中的作業系統版本,它終將在適當的時機成為 FreeBSD-STABLE 分支。它實在是只適合給系統發展者以及有毅力的業餘愛好者使用 。如果想要得到有關如何使用 -CURRENT 的深入資訊,請參考 使用手冊相關部份

如果您對作業系統本身並不是很熟悉,或是您沒辦法分辨您遇到的問 題是真的發生了問題亦或是暫時性的小狀況,那麼您就不應該使用 FreeBSD-CURRENT。這個分支的程式碼有時候變動得很快,而且可能會因此 而使您有好幾天的時間無法更新您的系統。我們假設使用 FreeBSD-CURRENT 的使用者都有能力去分析他們所遇到的問題並且只回報 真正的問題而非“小狀況”。如果您在 -CURRENT mailing list 中提到類似“make world 造成一些有關 groups 的錯 誤”之類的問題的話,也許會被其他人輕視。

我們每天都會根據目前 -CURRENT 和 -STABLE 的狀況對這兩個分支各 發行一個snapshot 版。有的時候甚至還會發行可供取得的版本。發表這些 snapshot 的目的在於:

  • 測試最新版的安裝程式。

  • 提供一個簡單的方法給那些喜歡使用 -CURRENT 或是 -STABLE 但 是沒有時間和頻寬去每天昇級的使用者。

  • 為了替我們發展中的程式保留一個固定的參考點,以防止我們未 來造成不幸。(雖然一般而言 CVS 可以防止類似這種的可怕事件 :)

  • 為了確保所有需要測試的新功能都可以得到最多的測試。

我們不對 -CURRENT snapshot 做任何形式的“品質保 證”。如果你想要的是一個穩定且經過充分測試過的系統的話, 最好選擇使用完整 release 的版本,或是使用 -STABLE snapshots。

您可以直接從 ftp://current.FreeBSD.org/pub/FreeBSD/snapshots/ 取得 -CURRENT 的 snapshot release

對每個有在活動的分支而言,平均每天都會產生一次 snapshots。

1.9. 什麼是 FreeBSD-STABLE?

回溯到 FreeBSD 2.0.5 剛發表的時候,我們決定把 FreeBSD 的發展 分成兩支。一支叫做 -STABLE ,我們只對它做錯誤修正及小幅度的修改 (這是給 ISP 和商業公司等,對實驗中功能不感興趣的單位所使用的)。 另外一支叫做 -CURRENT,從 2.0 版發行以後,就不斷地朝著 6.0-RELEASE (含後續的版本)前進著。

6-STABLE 分支是從 6.0-RELEASE 開始(5-STABLE 分支算是 5.3-RELEASE 之後才開始的), 然後原本的 FreeBSD-CURRENT 就會成為 7-CURRENT。

下面就是版本演進的示意圖:

                 2.0
                  |
                  |
                  |  [2.1-STABLE]
 *BRANCH*       2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7.1  [2.1-STABLE ends]
                  |                            (Mar 1997)
                  |
                  |
                  |  [2.2-STABLE]
 *BRANCH*       2.2.1 -> 2.2.2-RELEASE -> 2.2.5 -> 2.2.6 -> 2.2.7 -> 2.2.8 [end]
                  |       (Mar 1997)    (Oct 97) (Apr 98) (Jul 98) (Dec 98)
                  |
                  |
               3.0-SNAPs  (started Q1 1997)
                  |
                  |
               3.0-RELEASE (Oct 1998)
                  |
                  |  [3.0-STABLE]
 *BRANCH*      3.1-RELEASE  (Feb 1999) -> 3.2 -> 3.3 -> 3.4 -> 3.5 -> 3.5.1
                  |                     (May 1999) (Sep 1999) (Dec 1999) (June 2000) (July 2000)
                  |
                  |  [4.0-STABLE]
 *BRANCH*        4.0  (Mar 2000) -> 4.1 -> 4.1.1 -> 4.2 -> 4.3 -> 4.4 -> ... -> 4.11
                  |
                  |              (July 2000)   (Sep 2000)   (Nov 2000)          (Jan 2005)
                  |
                  |  [5.0-STABLE]
 *BRANCH*        5.0  (2001) -> 5.1 -> 5.2 -> 5.3 -> 5.4 -> 5.5
                  |
                  |             (2001)         (Nov 2004) (May 2005)(May 2006)
                  |
                  |  [6.0-STABLE]
 *BRANCH*        6.0  (Nov 2005) -> 6.1... -> future 6.x releases...
                  |
                  |             (May 2006)
                 \|/
                  +
          [7.0-CURRENT continues]

2.2-STABLE 這個分支隨著 2.2.8 的發表而功成身退。3-STABLE 這個 分支則是結束在 3.5.1 發表之後,它也是 3.X 的最後一次發表。之後除了 安全漏洞的後續修正之外,這些分支就幾乎沒有再更動過。 而 4-STABLE、5-STABLE 分支的支援將仍持續一段時間(4-STABLE 是持續到 2007/01/31), 但主要焦點僅在於安全方面的漏洞、臭蟲及其他嚴重問題的修補。

6-STABLE 是目前正在發展中的 -STABLE 分支。6-STABLE 的最新的一 次發表是在 May 2006 發行的 6.1-RELEASE。

7-CURRENT 這個分支是 FreeBSD 的 -CURRENT 分支,仍然不斷地在發展當中。 如果想要知道更多關於這個分支的資訊的話,請參考 什麼是 FreeBSD-CURRENT?

1.10. FreeBSD 版本命名原則是什麼呢?

您可能會看到以下幾種 FreeBSD 的版本名稱:

  • 1) 4.4.2-RELEASE、4.4-BETA: 最前面的數字 A.B.C 裡,A 表示主要的作業系統版本(Major),B 表示 次要的作業系統版本(Minor),C 表示些微修正版本(Patch)。後面的英文 表示是否為正式版,通常是測試版(ALPHA、BETA、GAMMA)、正式版(RELEASE)。

  • 2) 6.0-STABLE、7.0-CURRENT: 通常 FreeBSD 會有一個以發展新功能為主的版本,稱為 CURRENT,目前的 CURRENT 版本是 7.0;FreeBSD 也會有一個以維護穩定性及系統安全為主 的版本,稱為 STABLE,目前 STABLE 的版本是 6.0。雖然如此,並不代表 STABLE 就沒有新功能,也不代表 CURRENT 就不穩定不安全,這兩個版本 是相輔相成的,而且終有一天 7.0-CURRENT 會變成 7.0-STABLE,而開始 8.0-CURRENT 的發展。不過一般來說,由於 CURRENT 系統開發的速度相當 快,跟 STABLE 相比較不穩定,而且最好是有相當經驗的使用者才來使用。 如果是商業環境或是伺服器站台,最好還是跑 STABLE 與 RELEASE 比較好。 由於 STABLE 與 CURRENT 都是一直在開發維護中的版本,因此沒有一個 特定的數字版本可以稱呼,因此通常我們會以編譯日期來代表是哪個時候 的 STABLE 或 CURRENT,例如「4.4-STABLE、編譯日期 2001/10/08」。

  • 3) 5.0-011025-SNAP、4.2-010816-RELENG: SNAP 與 RELENG 並不是正式發行的版本,其中 3.0-970625-SNAP 表示是 在 2001 年 10 月 25 日發行的 5.0 測試版(SNAPshot),通常是指 CURRENT 的版本。而 4.2-010816-RELENG 表示是在 2001 年 8 月 16 日發行的 4.2 非正式的穩定版,通常是指 STABLE 的版本。 通常 FreeBSD 核心小組會不定時釋出 SNAP 以供測試,然後有一天 SNAP 會變成 ALPHA->BETA->GAMMA,再來是 RELEASE,而後可能會有不定時的 RELENG 以供測試使用,但是 RELENG 的穩定性通常又比前期的 RELEASE 來的好。

您要是習慣微軟的術語,這樣說好了,SNAP 是開發期間的內部流出版, 那個日期(011025)就是Build Number,而 ALPHA 與 BETA 是搶鮮版, RELEASE(RELENG 勉強也算)是正式版,這樣應該了解了吧。

1.11. 每次新的 FreeBSD 將於什麼時候推出?

一般而言,Release Engineering Team 平均每四個月發行一次 release,每次新版本的發表時程都會事先公告, 相關的開發人員就會知道,什麼時候該先把手邊的計劃完成並且測試過, 此外,這些更動都已經完整地測試過,且不會影響系統穩定度。 雖然,等這些好東西進入 -STABLE 的時間令人等得有些不耐煩, 但是大多數的使用者都認為這種謹慎的態度是 FreeBSD 最好的優點之一。

有關發行情報的更多細節部分(包括 release 的行程表、進度),都可在 FreeBSD 網站上的 發行情報 上面獲得。

為了滿足那些需要 (或想要) 新鮮刺激感的使用者, 上面(-CURRENT的部分)已經提到我們每天都會發行 snapshots 版可供使用。

1.12. 誰負責 FreeBSD 的發展?

如果是一些有關 FreeBSD 計畫的關鍵性決定,像是整個計畫的走向 或是決定誰可以改 source tree 裡的程式碼這類的事,是由一個由 9 個 人所組成的 core team 來決定。而有另一群超過 300 個人的 commiters 有權利可以直接修改 FreeBSD 的 source tree。

無論如何,大多數的改變都會事前在 mailing lists 先討論過,而且不分角色,每個人都可以參與討論。

1.13. 我要如何取得 FreeBSD?

每個 FreeBSD 的重要版本都可以經由匿名 ftp 從 FreeBSD FTP 站取得:

  • 如果需要 6-STABLE 的最新版,也就是 6.1-RELEASE,請到 6.1-RELEASE 這個目錄

  • 7-CURRENT Snapshot 通常也是每天都會做一份,這是從 -CURRENT 分支做出來的, 主要是為了提供給那些熱心的測試者和開發人員。

  • 如果需要 5-STABLE 的最新版,也就是 5.5-RELEASE,請到 5.5-RELEASE 這個目錄

  • 5.X、6X snapshots 通常每天都會做一份。

FreeBSD 的 CD、DVD,還有其他取得方式可以在 使用手冊 中找到解答。

1.14. 我要如何去查詢、提交問題回報(Problem Report,簡稱PR)資料庫呢?

所有使用者的變更要求都可以經由網頁介面的 PR查詢介面 來察看 (或是回報) 我們的錯誤回報資料庫。

也可以使用 send-pr(1) 這個指令透過電子郵件來回報問題、要求變更。 或者是經由 網頁介面的 PR 來送出問題回報。

然而,在您回報問題之前,請先閱讀 如何撰寫 FreeBSD 的問題回報單,這是一篇告訴你怎樣才能寫出一篇真正有用的 問題回報單。

1.15. 還有其他有關 FreeBSD 的資訊嗎?

詳見 FreeBSD 網站上的 文件 列表。

This, and other documents, can be downloaded from ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

For questions about FreeBSD, read the documentation before contacting <questions@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.