當前位置:編程學習大全網 - 源碼下載 - CTM的意思

CTM的意思

A.4 使用 CTM

CTM 是保持遠程目錄樹和中央服務器目錄樹同步的壹種方法。它被開發用於 FreeBSD 的源代碼樹,雖然其他人隨著時間推移會發現它可以用於其他目的。當前幾乎沒有,也或者只有很少的文檔講述創建 deltas 的步驟, 所以如果您希望使用 CTM 去做其它事情, 請聯系 ctm-users 郵件列表了解更多信息。

A.4.1 為什麽我該使用 CTM?

CTM 會給您壹份 FreeBSD 源代碼樹的本地拷貝。代碼樹有很多的 “flavors” 可用。不管您是希望跟蹤完整的 CVS 樹還是只是壹個分支, CTM 都會給您提供信息。 如果您是 FreeBSD 上的壹個活躍的開發者,但是缺乏或者不存在 TCP/IP 連接,或者只是希望把變化自動發送給您, CTM 就是適合您的。對於最積極的分支 您將會每天獲得三個以上的 deltas。 然而,您應該考慮通過郵件來自動發送。 升級的大小總是保證盡可能的小。 通常小於 5K,也偶然(十分之壹可能)會有 10-50K,也不時地有個大的 100K+ 甚至更大的。

您也需要讓自己了解直接和開發代碼而不是預發行版本打交道的各種警告。這種情況會很顯著,如果您選擇了 “current” 代碼的話。強烈建議您閱讀和 FreeBSD 保持同步。

A.4.2 使用 CTM 我需要做什麽?

您需要兩樣東西:CTM 程序,還有初始的 deltas 來 feed it(達到 “current” 級別)。

CTM 程序從版本 2.0 發布以來 已經是 FreeBSD 的壹部分了,如果您有壹份源代碼拷貝的話它位於 /usr/src/usr.sbin/ctm。

您餵給 CTM 的 “deltas” 可以有兩種方式,FTP 或者 email。 如果您有普通的訪問 Internet 的 FTP 權限, 那麽下面的 FTP 站點支持訪問 CTM:

ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/

或者看看這壹小節鏡像。

FTP 訪問相關的目錄並取得 README 文件,從那裏開始。

如果您希望通過 email 得到您的 deltas:

訂閱壹個 CTM 分發列表。 ctm-cvs-cur 支持完整的 CVS 樹。 ctm-src-cur 支持最新的開發分支。 ctm-src-4 支持 4.X 發行分支, 等等。。(如果您不知道如何訂閱郵件列表, 點擊上面的列表名或者到 http://lists.FreeBSD.org/mailman/listinfo 點擊您希望訂閱的列表。列表頁包含了所有必要的訂閱指導。)

當您開始接收到您郵件中的 CTM 升級時,您可以使用 ctm_rmail 程序來解壓並應用它們。事實上如果您想要讓進程以全自動的形式運行的話,您可以通過在 /etc/aliases 中設置直接使用 ctm_rmail 程序。 查看 ctm_rmail 手冊頁了解更多細節。

註意: 不管您使用什麽方法得到 CTM deltas,您都應該訂閱 ctm-announce 郵件列表。 以後會有單獨的地方提交有關 CTM 系統的操作的公告。點擊上面的郵件列表名並按照指示訂閱郵件列表。

A.4.3 第壹次使用 CTM

在您開始使用 CTM delta 之前,您需要獲得壹個起始點。

首先您應該確定您已經有了什麽。每個人都可以從壹個“空”目錄開始。您必須用壹個初始的 “空的” delta 來開始您的 CTM 支持樹。曾經為了您的便利這些 “起始” deltas 被有意的通過 CD 來發行,然而現在已經不這樣做了。

因為代碼樹有數十兆字節,您應該更喜歡從手頭上已經有的東西開始。如果您有壹張 -RELEASE CD 光盤,您可以從裏面拷貝或者解壓縮壹份初始代碼出來。這會節省非常多的數據傳輸量。

您會發現這些“初始的” deltas 名字的數字後面都有個 X (比如 src-cur.3210XEmpty.gz)。 後面加壹個 X 的設計符合您的初始 “seed” 的由來。 Empty 是壹個空目錄。通常壹個基本的從 Empty 開始的轉換由 100 個 deltas 構成。順便說壹下,他們都很大!70 到 80 兆字節的 gzip 壓縮的數據對於 XEmpty deltas 是很平常的。

壹旦您已經選定了壹個基本的 delta 開始,您就需要比這個數高的所有的 delta。

A.4.4 在您的日常生活中使用 CTM

要應用 deltas,簡單的鍵入:

# cd /where/ever/you/want/the/stuff

# ctm -v -v /where/you/store/your/deltas/src-xxx.*

CTM 能夠理解被 gzip 壓縮的 deltas,所以您不需要先 gunzip 他們,這可以節省磁盤空間。

除非覺得整個過程非常可靠, CTM 不會涉及到您的代碼樹的。您也可以使用 -c 標記來校驗 delta,這樣 CTM 就不會涉及代碼樹; 它會只校驗 delta 的完整性看看是否可以安全的用於您的當前代碼樹。

CTM 還有其他的壹些參數,查看手冊頁或者源代碼了解更多信息。

這真的就是全部的事情了。每次得到壹個新的 delta,就通過 CTM 運行它來保證您的代碼是最新的。

如果這些 deltas 很難重新下載的話不要刪除它們。有些東西壞掉的時候您會想到保留它們的。 即使您只有軟盤,也請考慮使用 fdwrite 來做壹份拷貝。

A.4.5 維持您本地的變動

作為壹名開發者喜歡實驗,改動代碼樹中的文件。 CTM 用壹種受限的方式支持本地修改:再檢查文件 foo 存在之前,首先查找 foo.ctm。如果這個文件存在, CTM 會對它操作而不是 foo。

這種行為給我們提供了壹種簡單的方式來維持本地的改動: 只要復制您計劃修改的文件並用 .ctm 的後綴重新命名。 然後就可以自由的修改代碼了,CTM 會更新 .ctm 文件到最新版本。

A.4.6 其他有趣的 CTM 選項

A.4.6.1 正確的找出哪些將被更新

您可以確定變動列表, CTM 可以做到,在您的代碼庫上使用 CTM 的 -l 選項。

這很有用如果您想要保存改動的日誌, pre- 或者 post- 用各種風格處理修改的文件的紀錄, 或者僅僅是想感受壹下孩子般的瘋狂。

A.4.6.2 在升級前制作備份

有時您可能想備份將要被 CTM 升級所改動的所有文件。

指定 -B backup-file 選項會導致 CTM 備份將要被給定的 CTM delta 改動的所有文件到 backup-file。

A.4.6.3 限定受升級影響的文件

有時您可能對限定壹個給定的 CTM 升級的範圍感興趣,也有可能想知道怎樣從壹列 deltas 中解壓縮壹部分文件。

您可以通過使用 -e 和 -x 選項指定過濾規則表達式來控制 CTM 即將對之操作的文件列表。

例如,要從您保存的CTM deltas 集裏解壓縮出壹個最新的 lib/libc/Makefile 文件,運行這個命令:

# cd /where/ever/you/want/to/extract/it/

# ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*

對於每壹個在 CTM delta 中指定的文件,-e 和 -x 選項按照命令行給定的順序應用。文件只有在所有的 -e 和 -x 被應用之後標記為合格之後 才能被 CTM 操作。

A.4.7 CTM 未來的計劃

其中幾項:

在 CTM 中使用壹些認證方式, 這樣來允許察覺冒充的 CTM 補丁。

整理 CTM 的選項, 它們變得雜亂而違反直覺了。

A.4.8 雜項

也有壹系列的 ports collection 的 deltas,但是人們對它的興致還沒有那麽高。

A.4.9 CTM 鏡像

CTM/FreeBSD 可以在下面的鏡像站點通過匿名 FTP 下載。如果您選擇通過匿名 FTP 獲取 CTM,請試著使用壹個離您較近的站點。

如果有問題,請聯系 ctm-users 郵件列表。

加利福尼亞州,海灣地區,官方源代碼

ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/

南非,舊的 deltas 的備份服務器

ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/

中國臺灣

ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/

ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/

ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/

如果您在您附近找不到鏡像或者鏡像不完整, 試著使用搜索引擎比如 alltheweb.

回答者:晴天下雨888 - 見習魔法師 三級

  • 上一篇:易語言源代碼
  • 下一篇:我的世界minecraft殺死末影龍之後的對話的翻譯
  • copyright 2024編程學習大全網