Chapter 19. The Cutting Edge: FreeBSD-current and FreeBSD-stable

Table of Contents
19.1. 使用 FreeBSD Current
19.2. 使用 FreeBSD 的穩定版
19.3. 透過網路來對 Source Trees 進行同步化
19.4. 利用 make world 來重建整個系統

FreeBSD 是個持續發展中的作業系統。 對於喜歡追求刺激的使用者而言, 有很多方法可以使您的系統和最新的發展中版本保持同步。 注意:並非每個人都適合這麼做! 本章的內容可以幫助您決定到底應該要追隨著發展中版本, 或是要使用穩定版。

19.1. 使用 FreeBSD Current

Contributed by Jordan K. Hubbard .

19.1.1. 什麼是 FreeBSD-current?

就像它字面上的意思一樣,FreeBSD-current 就是 FreeBSD 的每日工作版。內容包括正在發展中、實驗中、還有一些過渡時期的程式, 這些程式都有可能被放進下一個正式發行版中。 通常我們每天都會去編譯 FreeBSD-current 的程式, 但是有時候程式還是有可能會出問題。通常這些問題都會儘快解決, 但是有時候這些問題可能會帶來麻煩, 在新功能加入的 24 小時之內也都有可能出狀況。

19.1.2. 誰需要 FreeBSD-current?

FreeBSD-current 的使用者主要是下面這三類人:

  1. 正在發展程式的人員,對他們來說,保持 ``current'' 是絕對必要的。

  2. FreeBSD 的測試人員,他們花時間去檢查各種問題, 以確保 FreeBSD-current 能夠儘可能地維持在最穩定的狀態。 同時這些測試人員也能夠對 FreeBSD 的變革和未來的方向提出建言。

  3. FreeBSD 的一般使用者,他們很少去注意系統的變化, FreeBSD 的一般使用者,他們很少去注意系統的變化, 而非拿來執行) 。 這些人有時候也會提出建議或是貢獻他們所寫的程式碼。

19.1.3. FreeBSD-current not什麼?

  1. 您為了想成為您附近夥伴中第一個使用某新功能的人, 所以您把 FreeBSD-current 試為取得搶鮮版的捷徑。

  2. 修補漏洞的便捷方法。

  3. 我們會負責提供 ``官方支援''。 我們會儘力幫助那三類 ``正當的'' FreeBSD-current 使用者,但是我們 沒時間 為他們提供技術支援。我們會這麼做不是因為我們很惡劣, 或是因為我們不想幫助大家(如果我們是這樣的人, 我們也不會為 FreeBSD 努力了) ,實在是因為我們無法每天回答 400 個問題,同時 為 FreeBSD 而努力! 我可以確定的一點就是,如果給各位選擇到底是要回答問題或是增進 FreeBSD 的能力,大多數人都會選擇增進 FreeBSD 的能力。

19.1.4. 使用 FreeBSD-current

  1. 加入 FreeBSD-current mailing list 和 FreeBSD CVS commit message mailing list 這兩個通信論壇。 這不止是一個建議而已,而是 您必需要做到的。 如果您沒有加入 FreeBSD-current 通信論壇, 您就無法知道其他人對現在的系統有什麼意見,也可能因此而陷入困境, 而這個問題是其他人早就發現的,甚至已經解決的了。 更重要的是,您可能會錯過一些能令您的系統保持穩定的重要公告。

    則讓您知道其他人對系統做變更時所寫下來的記錄, 同時也會附上關於可能產生問題的適當資訊,這是一個值得去訂閱的通信論壇。

    如果您想要加入這些論壇的話,只要寫一封信給 ,把下面這些放在您信件的 body:

        subscribe freebsd-current
        subscribe cvs-all
    您也可以寫上 help,則 Majordomo 就會送一篇關於如何訂閱所有我們所提供的通信論壇, 以及如何取消訂閱的完整說明給您。

  2. ftp.FreeBSD.ORG 取得原始程式。 您可以從下面三種方法選一種來用:

    1. 使用 CTM。 除非您的 TCP/IP 連線很順暢, 不然這是最好的方法。

    2. 使用 cvsup 程式, 這個 supfile 設定檔。 這是我們第二推薦的方法,它可以讓您只抓一次完整的程式, 以後都只抓改變過的部份而已。很多人都把 cvsup 放在 cron 裡定期執行,這樣能夠確保程式會自動更新。 如果您想使用這個方法,只要:

          # pkg_add -f \
      ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz
    3. 使用 ftp。 FreeBSD-current 的 source tree 通常都會放在: ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current 我們使用的是 wu-ftpd , 它能讓您在抓整個 source tree 時使用 compress/tar 。 例如您想抓:

          usr.bin/lex

      您可以:

          ftp> cd usr.bin
          ftp> get lex.tar.Z
      則它會自動把整個目錄做成一個 compressed tar file 給您。

  3. 基本上來說,如果您想要快速且立即取得整個原始程式碼, 而且不考慮佔用頻寬的話,您可以使用 cvsup 或是 ftp。其他人就應該使用 CTM

    如果您拿這些程式是為了要拿來跑而不是拿來看的話,我們建議您 整個 current 都抓回去,不要只抓一部份。 這是因為這些程式互相都有關聯性,如果您只想編譯其中的部份程式的話, 我保證您一定會遇到困難。

    在您編譯 current 之前,請先仔細閱讀 /usr/src 下的 Makefile 。 您在昇級的過程中,至少要執行過一次 make world 。當我們在進行下一個 release 的時候, 閱讀 FreeBSD-current mailing list 可以讓您在這方面跟上大家的腳步。

  4. 有話要說出來!如果您正在執行 FreeBSD-current, 我們希望知道您對它有什麼意見, 特別是您對增強能力方面的建議或是錯誤的修正。 如果您在建議時能附上相關程式碼的話那真是太棒了!