This is an archive of past FreeBSD releases; it's part of the FreeBSD Documentation Archive.

CTM を使う

A.4. CTM を使う

訳: Hiroyuki HANAI , 1997 年 9 月 13 日.

CTM はリモートのディレクトリツリーを中央のツリーに同期させるための 手段です. これはFreeBSDのソースツリーの配布を行なうために開発されまし たが, 時が経つにつれて別の目的にも有用であることがわかるかも しれません. デルタを作り出す処理に関するドキュメントは現在ほとんど ありません. 従って, もしあなたがCTM を他のことに使いたいなら Poul-Henning Kamp にさらなる情報を問い合わせてください.

A.4.1. なぜCTMを使うの?

CTM を使うことにより FreeBSD ソースツリーのローカルコピーを手にいれることができます. ソースツリーが使えることの魅力は数多くあります. 完全な cvs ツリーを追いかけるにしても, ひとつのブランチを追いかける にしても CTM は必要な情報を与えてくれます. もしあなたがFreeBSDのアクティブな開発者であるにもかかわらず お粗末なTCP/IP接続しか持っていなかったり, またはTCP/IP接続が 行なえないとしたら, あるいは単に変更が自動的に送られてきて ほしいというのであれば CTM はそんなあなたのために 作られたのです. アクティブなブランチでは 1 日に最大三つまでのデルタを受け取る必要があります. これが自動的に e-mail で送られてくるという方法を ぜひ検討してみてください. デルタのサイズは常にできるだけ小さく保たれています. 大抵の場合5KBよりも小さく, たまに(10回に1回程度)10-50KBになり, ときおり100KBかもっと大きくなるでしょう.

開発ソースから直接に得られたものを使うことについては, あらかじめパッケージにされたリリースとは違い, いろいろと注意することが あります. これは特に ``current'' のソースを選んでいるときは重要です. 最新の FreeBSD を追いかけるを読むことをお勧めします.

A.4.2. CTMを使うには何が必要?

二つのものが必要でしょう: CTM プログラムとそれに与える (``current'' レベルを得るための)最初のデルタです.

CTM プログラムはバージョン2.0のリリース以来FreeBSDの一部にな りました. もしソースのコピーを持っているなら /usr/src/usr.sbin/CTMにあります.

もしFreeBSDの2.0以前のバージョンなら, 最新のCTMのソースを直接

ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/src/usr.sbin/ctm/

から入手できます. CTM に与える ``デルタ'' は二つの方法, FTPまたはe-mail, で得ること ができます. もしインターネットにFTPアクセスできるなら, 次のFTPサイト:

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

または, その ミラーサイトCTM へのアクセスをサポートします.

適切なディレクトリに FTP して README ファイルを入手し, そこからスタートしてください.

e-mail によってデルタを得たいという場合は:

CTM 配布メーリングリストのいずれかに参加するために へ subscribe のメールを送ってください. ``ctm-cvs-cur'' は完全な cvs ツリー をサポートします. ``ctm-src-cur'' は開発先端ブランチをサポートします ``ctm-src-2_2'' は 2.2 リリースのブランチのサポートです. (もし majordomo を使って参加する方法を知らないのであれば, 最初に help という語を含むメッセージを送ってください. -- 使い方の説明が送られてくるでしょう.)

メールで CTM による更新ファイルを受け取り始めると, 中身を取り出して使用 するために ctm_rmail プログラムを使うかもしれません. それを完全 に自動で行ないたいなら, /etc/aliases から ctm_rmailプロ グラムを直接使うこともできます. さらに詳しいことはctm_rmail manページを御覧ください.

Note: CTM デルタを得るためにどの方法を使うのであっても, メーリングリストに参加するべきです. このメーリングリストは将来的には CTMシステムの操作に関する アナウンスがポストされる唯一の場になるでしょう. メーリングリストに加わるためにはsubscribe ctm-announce と書いた一行だけのメールを へ送ってください.

A.4.3. はじめてCTMを使い始める

CTM デルタを使い始めるためには, これは以降作られる全ての デルタの出発点を手にいれる必要があります.

最初にあなたが何をすでに持っているかをはっきりさせましょう. すべての人は ``空''のディレクトリから始めなければなりません. ツリーをサポートしてるあなたの CTM を稼働するためには 指定した``空'' のデルタを使う必要があります. いくつかの分岐点 では, あなたの都合により CD 内に分配されている``スタータ'' デルタを使用できるようになっています. しかしながら, これは 頻繁に行われることではありません.

適切な出発点が決まれば, その出発点を CTM が 維持するツリーへ変換するための ``スタータ'' 初期デルタを使う必要が あります.

移行デルタは番号の後ろに X をつけたものがそうです (たとえばsrc-cur.3210XEmpty.gz). X の後ろは最初の開始ポイントに対応します. Empty は 空のディレクトリです. ルールとして Empty からの移行デルタは 100 デルタごとに 作られます. ところで, これらは非常に大きいです! XEmptyのデルタは 数十MBの gzip で圧縮されたデータというのが普通です.

一度スタートするためのベースデルタを得ると, それに続く多数の全てのデルタも必要になるでしょう.

A.4.4. CTMを日常で使う

デルタを適用するためには, 単に

    # cd /where/ever/you/want/the/stuff
    # ctm -v -v /where/you/store/your/deltas/src-xxx.*

とします.

CTM はどれがgzipされているか理解します. 従って最初に gunzipしておく必要はありません. ディスクの節約にもなります.

全体の処理に関して確信するまでは CTM は(ソース)ツリーに対して 何もしません. また, デルタを確かめるためには -c フラグを使うことができます. このフラグがあると CTM はツリーに対して実際には何も行ないません. 単にデルタの完全性を確認し, 現在のツリーに問題なく使用できるかを確認 するだけです.

CTM には他にもオプションがあります. 詳細に関しては マニュアルページを参照するかソースを見てください.

もし誰かが ``ユーザ インターフェース'' の部分に関して助けてくれるなら私はとても嬉しいです. なぜならどういうオプションが何を, どのように, いつ行なうようにするべきか決めかねているからです.

以上でやることは本当に全部です. 新しいデルタを入手した時には, ソースを最新のものにするためにそれを CTMに通すだけです.

もしデルタを再ダウンロードするのが 骨の折れる作業であれば, デルタを 消さないでおいてください. なにかおかしなことが起こった場合には置いておけば良かった と思うかもしれません. もしフロッピーディスクしか持っていない状況 であってもコピーを取るのに fdwriteを使うことを考えてください.

A.4.5. ローカルの変更を保存する

開発者としてはソースツリー中のファイルを 使って実験したり変更したく なるものです. CTM はローカルの変更を制限つきでサポートします: ファイル foo の存在をチェックする前に, foo.ctm を参照しにいきます. このファイルが存在する場合, CTM は foo の代りにこれを処理します.

この動作はローカルの変更を保持する簡単な手段を 提供します: 単に変更したいファイルを拡張子 .ctm 付きのファイル名で コピーするだけです. あとは自由にコードをハックでき, .ctm ファイルの方は CTM が最新状態に保ってくれます.

A.4.6. CTM のその他の面白いオプション

A.4.6.1. 更新で変更されるファイルを正確に知る

CTM のソースリポジトリに対する変更のリストを -l オプションを使って決定することができます.

これは, 変更のログを保存したい, 変更されたファイルをなんらかの方法で 前・後処理したい, または単にこだわりたい :-) 場合には, 役に立つでしょう.

A.4.6.2. 更新前にバックアップを取る

CTM の更新によって変更されるファイルすべてのバックアップを 取りたくなることがあります.

-B backup-file オプションを指定すると CTM は デルタで変更されるファイルすべてを backup-file としてバックアップするようになります.

A.4.6.3. 更新で変更されるファイルを制限する

CTM の更新の範囲を制限したり一連のデルタのから ほんの数ファイルを抽出したくなることがあります.

-e-x オプションを用い正規表現を指定することで, CTM が処理するファイルのリストを制御することが できます.

例えば, lib/libc/Makefile の最新のコピーを保存してある CTM デルタのコレクションから抽出するには, 以下のコマンドを実行します.

    # cd /where/ever/you/want/to/extract/it/
    # ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*

CTM デルタで指定されたファイルごとに, -e そして -x オプションがコマンドラインで指定された順序で適用されます. すべての-e そして -x オプションが適用された後に更新対象と選択された場合に限り, CTM はそのファイルを処理します.

A.4.7. CTMの将来計画

重要なもの

A.4.8. その他

ports コレクションに対するデルタもあるのですが, これに興味を持っている人はまだ少ないようです. もしこれに対するメーリングリストが欲しい時はセットアップを行ないますので, わたしの方まで連絡ください.

A.4.9. CTM サイト

CTM/FreeBSD は以下のミラーサイトから anonymous FTP によって入手できます. もし CTM を anonymous FTP によって手にいれる場合は, 近くのサイトを利用するようにしてください.

何か問題がある場合は, Poul-Henning Kamp に連絡してください.

カリフォルニア, サンフランシスコ近辺, 公式なソース

ドイツ, トリエル

南アフリカ, ctm, sup, CVSupなどの古い差分ファイルのバックアップサーバ

台湾/中華民国, チャーイー(嘉義)

近くにミラーサイトがない場合やミラーが不完全な場合は, http://ftpsearch.ntnu.no/ftpsearchFTP search を試してください. FTP search はノルウェーの Trondheim にある, フリーの素晴らしい アーカイブサーバです.