doc/ja/handbook/ctm.sgml
1997-10-21 14:18:46 +00:00

278 lines
12 KiB
Text

<!-- $Id: ctm.sgml,v 1.12 1997-10-21 14:18:46 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.22 -->
<!--
# This is the sgml version of the ctm.FAQ file.
#
# Converted by Ollivier Robert <roberto@FreeBSD.ORG>
#
#
# ----------------------------------------------------------------------------
# "THE BEER-WARE LICENSE" (Revision 42):
# <phk@login.dknet.dk> wrote this file. As long as you retain this notice you
# can do whatever you want with this stuff. If we meet some day, and you think
# this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
# ----------------------------------------------------------------------------
#
-->
<sect1><heading>CTM<label id="ctm"></heading>
<p><em>原作: &a.phk;. 更新: 19-October-1997.</em>
<p><em>訳: &a.hanai;<newline>13 September 1997.</em>
<tt/CTM/ はリモートのディレクトリツリーを中央のツリーに同期させるための
手段です. これはFreeBSDのソースツリーの配布を行なうために開発されまし
たが, 時が経つにつれて別の目的にも有用であることがわかるかも
しれません. デルタを作り出す処理に関するドキュメントは現在ほとんど
ありません. 従って, もしあなたが<tt/CTM/ を他のことに使いたいなら
&a.phk;にさらなる情報を問い合わせてください.
<sect2><heading>なぜ<tt/CTM/を使うの?</heading>
<p><tt/CTM/ を使うことにより FreeBSD ソースツリーのローカルコピー
を手にいれることができます.
ソースツリーが使えることの魅力は数多くあります. 完全な cvs
ツリーを追いかけるにしても, ひとつのブランチを追いかける
にしても <tt/CTM/ は必要な情報を与えてくれます.
もしあなたがFreeBSDのアクティブな開発者であるにもかかわらず
お粗末なTCP/IP接続しか持っていなかったり, またはTCP/IP接続が
行なえないとしたら, あるいは単に変更が自動的に送られてきて
ほしいというのであれば <tt/CTM/はそんなあなたのために
作られたのです.
アクティブなブランチでは1日に最大三つまでのデルタを受け取る必
要があります. これが自動的に e-mail で送られてくるという方法を
ぜひ検討してみてください.
デルタのサイズは常にできるだけ小さく保たれています.
大抵の場合5KBよりも小さく,
たまに(10回に1回程度)10-50KBになり, ときおり100KBかもっと大きくなる
でしょう.
開発ソースから直接に得られたものを使うことについては, あらかじめ
パッケージにされたリリースとは違い, いろいろと注意することが
あります. これは特に ``current'' のソースを選んでいるときは
重要です.
<ref id="current" name="最新の FreeBSDを追いかける">を読むことを
お勧めします.
<sect2><heading><tt/CTM/を使うには何が必要?</heading>
<p>二つのものが必要でしょう: ``<tt/CTM/'' プログラムとそれに与える
(``current''レベルを得るための)最初のデルタです.
<tt/CTM/ プログラムはバージョン2.0のリリース以来FreeBSDの一部にな
りました. もしソースのコピーを持っているなら
<tt>/usr/src/usr.sbin/<tt/CTM/</tt>にあります.
もしFreeBSDの2.0以前のバージョンなら, 最新の<tt/CTM/のソースを直接
<url
url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current/src/usr.sbin/ctm">
から入手できます.
<tt/CTM/に与える「デルタ」は二つの方法, FTPまたはe-mail, で得ること
ができます.
もしインターネットにFTPアクセスできるなら, 次のFTPサイト:
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/CTM">
または、その<ref id="mirrors-ctm" name="ミラーサイト">が<tt/CTM/
へのアクセスをサポートします.
適切なディレクトリにFTPして<tt/README/ファイルを入手し, そこから
スタートしてください.
e-mail によってデルタを得たいという場合は:
<tt/CTM/ 配布メーリングリストのいずれかに参加するために
&a.majordomo へ subscribe のメールを送ってください.
``ctm-cvs-cur'' は完全な cvs ツリー をサポートします.
``ctm-src-cur'' は開発先端ブランチをサポートします
``ctm-src-2_2'' は 2.2 リリースのブランチのサポートです.
(もしmajordomoを使って参加する方法を知らない
のであれば, 最初に``help''という語を含むメッセージを送ってください.
- 使い方の説明が送られてくるでしょう.)
メールで<tt/CTM/による更新ファイルを受け取り始めると, 中身を取り出して使用
するために<tt/ctm_rmail/プログラムを使うかもしれません. それを完全
に自動で行ないたいなら, <tt>/etc/aliases</tt>から<tt/ctm_rmail/プロ
グラムを直接使うこともできます.
さらに詳しいことは<tt/ctm_rmail/ manページを御覧ください.
<bf/注/: <tt/CTM/デルタを得るためにどの方法を使うのであっても,
<tt/ctm-announce@FreeBSD.ORG/メーリングリストに参加するべきです.
このメーリングリストは将来的には<tt/CTM/システムの操作に関する
アナウンスがポストされる唯一の場になるでしょう.
メーリングリストに加わるためには``<tt/subscribe ctm-announce/''
と書いた一行だけのメールを &a.majordomo へ送ってください.
<sect2><heading>はじめて<tt/CTM/を使い始める</heading>
<p><tt/CTM/ デルタを使い始めるためには, これは以降作られる全ての
デルタの出発点を手にいれる必要があります.
最初にあなたが何をすでに持っているかをはっきりさせましょう.
すべての人は 「空」のディレクトリからはじめることができます.
しかし, ツリーは何10MB もの大きさですから, すでに手元にある
何かから始めたいでしょう. RELEASE CD を持っているのなら,
それからコピー, 展開を行って初期ツリーにすることができます.
これでデータの転送は大幅に少なくなります.
適切な出発点が決まれば, その出発点を <tt/CTM/ が
維持するツリーへ変換するための「移行」初期デルタを使う必要が
あります.
移行デルタは番号の後ろに``<tt/X/''をつけたものがそうです
(たとえば<tt/src-cur.3210XEmpty.gz/).
``<tt/X/'' の後ろは最初の開始ポイントに対応します. ``Empty'' は
空のディレクトリ, ``R225''は 2.2.5R に対応する, などです.
ルールとして ``Empty'' からの移行デルタは 100 デルタごとに
作られます.
ところで, これらは非常に大きいです! ``XEmpty''のデルタは
25 から 30 MBの gzip で圧縮されたデータというのが普通です.
一度スタートするためのベースデルタを得ると, それに続く多数の
全てのデルタも必要になるでしょう.
<sect2><heading><tt/CTM/を日常で使う</heading>
<p>デルタを適用するためには, 単に
<tscreen><verb>
cd /where/ever/you/want/the/stuff
ctm -v -v /where/you/store/your/deltas/src-cur.*
</verb></tscreen>
とします.
<p>
<tt/CTM/ はどれが<tt/gzip/されているか理解します. 従って最初に
gunzipしておく必要はありません. ディスクの節約にもなります.
全体の処理に関して確信するまでは<tt/CTM/は(ソース)ツリーに対して
何もしません.
また, デルタを確かめるためには``<tt/-c/''フラグを使うことができます.
このフラグがあると<tt/CTM/はツリーに対して実際には何も行ないません.
単にデルタの完全性を確認し, 現在のツリーに問題なく使用できるかを確認
するだけです.
<tt/CTM/には他にもオプションがあります. 詳細に関しては
マニュアルページを参照するかソースを見てください.
もし誰かが「ユーザ インターフェース」の部分に関して助けてくれるなら
私はとても嬉しいです. なぜならどういうオプションが何を, どのよう
に, いつ行なうようにするべきか決めかねているからです.
以上でやることは本当に全部です. 新しいデルタを入手した時には,
ソースを最新のものにするためにそれを<tt/CTM/に通すだけです.
もしデルタを再ダウンロードするのが骨の折れる作業であれば, デルタを
消さないでおいてください.
なにかおかしなことが起こった場合には置いておけば良かった
と思うかもしれません. もしフロッピーディスクしか持っていない状況
であってもコピーを取るのに<tt/fdwrite/を使うことを考えてください.
<sect2><heading>ローカルの変更を保存する</heading>
<p>
開発者としてはソースツリー中のファイルを使って実験したり変更したく
なるものです. CTM はローカルの変更を制限つきでサポートします:
ファイル <tt>foo</tt> の存在をチェックする前に, <tt>foo.ctm</tt>
を参照しにいきます. このファイルが存在する場合, CTM は <tt>foo</tt>
の代りにこれを処理します.
<p>
この動作はローカルの変更を保持する簡単な手段を提供します:
単に変更したいファイルを拡張子 <tt>.ctm</tt> 付きのファイル名で
コピーするだけです. あとは自由にコードをハックでき, <tt>.ctm</tt>
ファイルの方は CTM が最新状態に保ってくれます.
<sect2><heading>CTM のその他の面白いオプション</heading>
<sect3><heading>更新で変更されるファイルを正確に知る</heading>
<p>
CTM のソースリポジトリに対する変更のリストを ``<tt>-l</tt>''
オプションを使って決定することができます.
<p>
これは, 変更のログを保存したい, 変更されたファイルをなんらかの方法で
前・後処理したい, または単にこだわりたい :-) 場合には,
役に立つでしょう.
<sect3><heading>更新前にバックアップを取る</heading>
<p>
CTM の更新によって変更されるファイルすべてのバックアップを
取りたくなることがあります.
<p>
``<tt>-B backup-file</tt>'' オプションを指定すると CTM は
デルタで変更されるファイルすべてを <tt>backup-file</tt>
としてバックアップするようになります.
<sect3><heading>更新で変更されるファイルを制限する</heading>
<p>
CTM の更新の範囲を制限したり一連のデルタのからほんの数ファイルを
抽出したくなることがあります.
<p>
``<tt>-e</tt>'' と ``<tt>-x</tt>'' オプションを用い正規表現を
指定することで, CTM が処理するファイルのリストを制御することが
できます.
<p>
例えば, <tt>lib/libc/Makefile</tt> の最新のコピーを保存してある
CTM デルタのコレクションから抽出するには, 以下のコマンドを実行します.
<tscreen><verb>
cd /where/ever/you/want/to/extract/it/
ctm -e '^lib/libc/Makefile' ~ctm/src-cur.*
</verb></tscreen>
<p>
CTM デルタで指定されたファイルごとに, ``<tt>-e</tt>'' そして
``<tt>-x</tt>'' オプションがコマンドラインで指定された順序で
適用されます. すべての``<tt>-e</tt>'' そして `<tt>-x</tt>''
オプションが適用された後に更新対象と選択された場合に限り,
CTM はそのファイルを処理します.
<sect2><heading><tt/CTM/の将来計画</heading>
<p>
重要なもの
<itemize>
<item>
なんらかの CTM システムへの認証機構を用い, 不正な CTM の更新の
検出を可能とする.
<item>
<tt/CTM/へのオプションを整理する. さもないと混乱し, 直観に反したもの
になります.
</itemize>
残念なことに私は非常に忙しいです. 従ってこれを行なうどんな手助け
でも歓迎します. その際, 自分が何をやりたいかを私に
言うのを忘れずに.
<sect2><heading>その他</heading>
<p>
「DESに染まった」(例えば, 国外への持ち出しが規制された)ソースは
まったく含まれません. 手に入るのは「国際」バージョンだけです.
もし興味のある人が多いようであれば, 我々は``<tt/sec-cur/''シーケンスも
セットアップするつもりです.
<!--
もしあなたがFreeBSDに対して頻繁なまたは価値のある貢献をしている
のであれば, 私は特別なサービス, 一つには<tt/ftp/か<tt/rcp/によるあなた
の近くのマシンへの配布, をしたいと思うでしょう.
これには時間がかかるので, あなたがこれを受けるに値する必要があります.
しかし, あなたにその価値があるなら, 私は喜んでそうするでしょう.
-->
<tt/ports/コレクションに対するデルタのシーケンスもあります. しかし,
まだあまり興味は持たれていないようです. もしこれに対するメーリング
リストが欲しい時も私に言ってください. 我々はセットアップすることを
考えます.
<!--
もしあなたがコミット特権を持っているか, または同様にFreeBSDコアチーム
からその必要ありと認められていれば, CVSリポジトリツリーへの
アクセスも同じ手段で得ることができます. 詳細は&a.phk;へ聞いてください.
-->
<sect2><heading>ありがとう!</heading>
<p>
<descrip>
<tag/&a.bde;/
辛辣なペンと価値のないコメントに対して.
<tag/&a.sos;/
よく辛抱してくれました.
<tag/Stephen McKay/
<tt/ctm_&lsqb;rs&rsqb;mail/を書いてくれました. とても感謝して
います.
<tag/&a.jkh/
彼が頑固として譲らなかったため, 私もこの <tt/CTM/ をもっと良いものに
しないわけにはいきませんでした. 彼の頑固さに感謝します.
<tag/ユーザの人みんな/
気に入ってくれることを願っています...
</descrip>