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 原始碼。 通常會使用 svnlite 自列於 節 A.3.6, “Subversion 鏡像站” 中的其中一個 Subversion 鏡像站的 head 分支中取出 -CURRENT 的程式碼。

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

    編譯 FreeBSD-CURRENT 前,請仔細地閱讀 /usr/src/Makefile 並依照 節 23.5, “從原始碼更新 FreeBSD” 的指示操作。 閱讀 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 點選要訂閱的郵遞論壇,並依照網頁指示的步驟操作。要追蹤整個原始碼樹的變更,可訂閱 svn-src-all 郵遞論壇。

  2. 要安裝新的 FreeBSD-STABLE 系統,可安裝在 FreeBSD 鏡像站 中最近的 FreeBSD-STABLE 發佈版或使用每月使用 FreeBSD-STABLE 所編譯的快照 (Snapshot),請參考 www.freebsd.org/snapshots 取得更多有關快照的資訊。

    要編譯或升級已有的 FreeBSD 系統到 FreeBSD-STABLE 可使用 svn 來取出欲升級的分支程式碼,可用分支的名稱如:stable/9 會列在 www.freebsd.org/releng

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

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

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

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