aboutsummaryrefslogtreecommitdiff
path: root/ja/handbook/ctm.sgml
blob: c83dcf4644a66a526c6fe04855fd30a87fabf531 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
<!-- $Id: ctm.sgml,v 1.10 1997-09-22 18:22:30 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.20 -->
<!--
# 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;.  更新: 16-Mar-1995.</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-current''のローカルコピーを得ることが
        できます. もしあなたがFreeBSDのアクティブな開発者であるにもかかわらず
        お粗末なTCP/IP接続しか持っていなかったり, またはTCP/IP接続が
        行なえないとしたら, <tt/CTM/はそんなあなたのために作られたのです.
        あなたは一日あたり四つまでのデルタを転送する必要があるでしょう
        (またはそれを自動的にメールで受けとることができます). 
        デルタのサイズは常にできるだけ小さく保たれています. 
        大抵の場合5KBよりも小さく,
        たまに(10回に1回程度)10-50KBになり, ときおり100KBかもっと大きくなる
        でしょう.

        ``current''のソースを追いかけるのに, 
        様々な注意に気を付けておく必要もあるでしょう. そのためには
        <ref id="current" name="最新のカレントを追いかける">を読むことを
        お勧めします.

    <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/ファイルを入手し, そこから
        スタートしてください.

        もし電子メールにしかアクセスできない もしくはFTPの使用が制限され
        ているなら, e-mailでデルタを入手したいと思うかもしれません.

        メーリングリスト``ctm-src-cur''に参加するために&a.majordomo
        へメールを送ってください. (もし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/ デルタを使い始めるためには, 特別な「ベース」デルタを
        入手する必要があるでしょう. これは以降作られる全てのデルタの
        出発点となるものです. 

        ベースデルタは数字に付け加えられた``<tt/A/''によって認識することが
        出来ます(例えば, <tt/src-cur.0341A.gz/).
        規則としてベースデルタは100デルタ毎に作られるので, 次のベースデルタ
        は<tt/src-cur.0400A.gz/となるでしょう.  ところで, ベースデルタは
        とても大きいです! 25MBから30 MB の<tt/gzip/されたデータ, というのが
        ベースデルタとしては普通です.

<!--
        もし2.0-RELEASEの<tt/srcdist/を持っているのなら, 代わりに
        <tt/src-cur.0372R20.gz/ファイルを入手するといいでしょう. この
        ファイルはたったの4MBしかなく, これにより2.0-RELEASEのソースか
        らレベル 372 のソースを得ることができます.
-->

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

    <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>