23.4. 追蹤開發分支

FreeBSD 有兩個開發分支:FreeBSD-CURRENT 及 FreeBSD-STABLE。

本節將說明每個分支及其的特定使用者,也會說明如何在各別分支維持系統為最新版。

23.4.1. 使用 FreeBSD-CURRENT

FreeBSD-CURRENT 是 FreeBSD 開發的 最前線,FreeBSD-CURRENT 的使用者需具備較強的技術能力。技術能力較弱的使用者應改追蹤 FreeBSD-STABLE 開發分支。

FreeBSD-CURRENT 是 FreeBSD 最新的原始碼,其中包括正在進行的開發工作、實驗性的變更以及不一定會在下一個官方發行版出現的過渡機制。 雖然 FreeBSD 開發者每天編譯 FreeBSD-CURRENT 原始碼,但仍可能有短暫時間原始碼是無法編譯的。雖然這些問題會儘快被解決,但是無論 FreeBSD-CURRENT 帶來災難或是新功能,同步原始碼時都要考量這個問題。

FreeBSD-CURRENT 主要給下以三種族群:

  1. 致力於開發某一部份原始碼樹的 FreeBSD 社群成員。

  2. FreeBSD 社群成員中活耀的測試人員。 他們願意花時間解決問題,對 FreeBSD 的變更及大方向提出專業建議並送交修補。

  3. 隨時關注的使用者,使用目前原始碼做為參考用途,或是偶爾提供意見或貢獻原始碼。

不應將 FreeBSD-CURRENT 當做下一個發行版前取得新功能的快速途徑,因為尚未發行的功能並未被完整測試,很可能有問題。這也不是一個快速取得問題修正的方式,因為任何已知的問題修正有可能產生新的問題。 使用 FreeBSD-CURRENT 不在 官方支援 的範圍內。

若要追蹤 FreeBSD-CURRENT:

  1. 加入 freebsd-currentsvn-src-head 郵遞論壇。這是 重要 的,是為了要了解目前人們對於系統目前狀態的評論並接收有關 FreeBSD-CURRENT 目前狀態的重要公告。

    svn-src-head 郵遞論壇會記錄每一次修改的提交項目,以及可能產生的副作用的相關資訊。

    要加入這兩個郵遞論壇,請前往 http://lists.FreeBSD.org/mailman/listinfo 點選要訂閱的郵遞論壇,並依照網頁指示的步驟操作。要追蹤整個原始碼樹,不單只有 FreeBSD-CURRENT 的變更,可訂閱 svn-src-all 郵遞論壇。

  2. 同步 FreeBSD-CURRENT 原始碼。 通常會使用 svn 自列於 節 A.3.6, “Subversion 鏡像站” 中的其中一個 Subversion 鏡像站的 head 分支中取出 -CURRENT 的程式碼。

  3. 考量到檔案庫的大小,部份使用者選擇只同步他們有興趣或貢獻修補的部份原始碼。然而, 計劃要從原始碼編譯整個作業系統的使用者須下載 全部 的 FreeBSD-CURRENT,不可只有選擇的部份。

    編譯 FreeBSD-CURRENT 前,請仔細地閱讀 /usr/src/Makefile 並依照 節 23.6, “重新編譯 World” 的指示操作。 閱讀 FreeBSD-CURRENT 郵遞論壇 以及 /usr/src/UPDATING 來了解升級的相關資訊,有時會含有升級下一個發行版的必要資訊。

  4. 積極!很鼓勵 FreeBSD-CURRENT 使用者發表他們對加強哪些功能或是修復哪些錯誤的建議。 如果您在建議時能附上相關程式碼的話, 那真是太棒了!

23.4.2. 使用 FreeBSD-STABLE

主要發行版便是使用 FreeBSD-STABLE 這個開發分支所產生。變更進入這個分支的速度比較慢,並假設這些變更已經先在 FreeBSD-CURRENT 測試過。但這 仍然 是一個開發分支,而且 FreeBSD-STABLE 的原始碼在任何時候都有可能不適合一般的使用。它只是另一個開發分支,並非專門提供給終端使用者使用。若沒有替代資源可供測試的使用者應該改使用最新的 FreeBSD 發行版。

有興趣追蹤或對 FreeBSD 開發流程貢獻的人,尤其是對 FreeBSD 接下來的發行版相關內容有興趣的人,應該考慮追蹤 FreeBSD-STABLE。

儘管 FreeBSD-STABLE 分支應該在任何時候均能正確編譯、執行,但是並不保証不會有問題。因為使用 FreeBSD-STABLE 的人比 FreeBSD-CURRENT 多,有時無可避免地會在 FreeBSD-STABLE 發現在 FreeBSD-CURRENT 並非顯而易見的錯誤和極端的狀況。也因此,我們並不建議盲目追蹤 FreeBSD-STABLE。 特別重要的是 不要 在尚未使用開發或測試環境對程式碼做完整的測試之前,升級任何上線的伺服器為 FreeBSD-STABLE。

若要追蹤 FreeBSD-STABLE:

  1. 加入 freebsd-stable 郵遞論壇來隨時瞭解 FreeBSD-STABLE 編譯的相依關係或是任何其他需特別注意的議題。開發者在評估一些有爭議的修正或更新時,也會先在這裡發信公告,讓使用者有機會可以對提案的更改提出問題。

    加入 svn 相關郵遞論壇來追蹤該分支的修訂。 例如,要追蹤 9-STABLE 分支的使用者應該加入 svn-src-stable-9 郵遞論壇。這個郵遞論壇會記錄每一次修改的提交項目,以及可能產生的副作用的相關資訊。

    要加入這兩個郵遞論壇,請前往 http://lists.FreeBSD.org/mailman/listinfo 點選要訂閱的郵遞論壇,並依照網頁指示的步驟操作。要追蹤整個原始碼樹,不單只有 FreeBSD-CURRENT 的變更,可訂閱 svn-src-all 郵遞論壇。

  2. 要安裝新的 FreeBSD-STABLE 系統, 可從 FreeBSD 鏡像站 或從 FreeBSD-STABLE 每個月的快照 (Snapshot) 來安裝最新的 FreeBSD-STABLE 發行版。請參考 www.freebsd.org/snapshots 來取得更多有關快照的資訊。

    要編譯或升級已經安裝的 FreeBSD 系統至 FreeBSD-STABLE,可使用 svn 來取得欲安裝分支的原始碼。分支的名稱列在 www.freebsd.org/releng,例如 stable/9

  3. 在編譯或升級到 FreeBSD-STABLE 之前 , 請仔細閱讀 /usr/src/Makefile 並依照 節 23.6, “重新編譯 World” 的指示操作。閱讀 FreeBSD-STABLE 郵遞論壇 以及 /usr/src/UPDATING 來了解升級的相關資訊,有時會含有升級下一個發行版的必要資訊。

本文及其他文件,可由此下載: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

若有 FreeBSD 方面疑問,請先閱讀 FreeBSD 相關文件,如不能解決的話,再洽詢 <questions@FreeBSD.org>。

關於本文件的問題,請洽詢 <doc@FreeBSD.org>。