CVSupdを動かす
cvsup-mirrorのインストール
例によってportsからインストールします。makeでいくつかの設定をして、make installでそれらの設定ファイルをインストールしてくれます。またcvsupがシステムにないときはインストールしてくれます。cvsupとcvsupinという二つのユーザも自動的に作ってくれます。デフォルトでのリポジトリの保存先は/home/ncvsとなります。ちなみにリポジトリのサイズは以下の通りです。目安にしてください。
# du -h -d 1
23M ./CVSROOT
616K ./distrib
126M ./doc
336M ./ports
1.1M ./projects
1.0G ./src
34M ./www
1.5G .
インストールをします。簡単に日本語訳もつけました。意訳もあるのでできるだけ原文を見て判断してください。また、以下の設定では全てのデータを取ってくるようになっていますが、私はGNATSデータベースとメイリングリストのデータは取ってきていません。
# cd /usr/ports/net/cvsup-mirror
# make
===> Extracting for cvsup-mirror-1.2
>> No MD5 checksum file.
===> Patching for cvsup-mirror-1.2
===> Configuring for cvsup-mirror-1.2
I am going to ask you a few questions so that I can set up your FreeBSD
mirror configuration. Every question has a [default] answer. To accept
the default, just press ENTER.
FreeBSDのMirrorをセット・アップすることができるように、いくつかの質問をします。すべての質問は[デフォルト]を持っています。デフォルトを選択するには、ENTERを押してください。
At this point, I am just gathering information. I will not touch your
system until you type "make install".
この時点では、情報を集めているだけです。「make install」をタイプするまで、システムに変更は加えません。
Master site for your updates [cvsup-master.freebsd.org]? cvsup.jp.freebsd.org
最新のソースを持ってくるマスターサイトはどこにしますか?
How many hours between updates of your files [1]? 24
最新のソースを何時間ごとに更新しますか?
Now you must decide which sets of files you wish to make available from
your mirror site. You can choose any combination, and you can put each
set anywhere you want to on your disks. Although each set is optional,
we strongly encourage every mirror site to carry at least the main source
repository.
それでは、あなたのミラーサイトから利用可能にしたいファイルセットを決定しなければなりません。どんなコンビネーションも選ぶことができます、また、ディスク上のどのような場所にでもセットを置くことができます。各セットはオプションですが、私たちはすべてのミラーサイトに少なくともメインソースリポジトリを入手することを強く勧めます。
Do you wish to mirror the main source repository [y]?
メインソースリポジトリをミラーしますか?
Where would you like to put it [/home/ncvs]?
リポジトリをどこに置きますか?
Do you wish to mirror the installed World Wide Web data [y]?
WWWのデータをミラーしますか?
Where would you like to put it [/usr/local/www]?
WWWのデータをどこに置きますか?
Do you wish to mirror the GNATS bug tracking database [y]?
GNATSバグデータベースをミラーしますか?
Note: the location for this must match "*/gnats", and "gnats"
must be a true subdirectory, not a symbolic link.
GNATSのデータのための場所は"*/gnats"でなければならず、そして"gnats"はシンボリックリンクではなく真のディレクトリでなければなりません。
Where would you like to put it [/home/gnats]?
GNATSバグデータベースをどこに置きますか?
Do you wish to mirror the mailing list archive [y]?
メイリングリストのアーカイブをミラーしますか?
Where would you like to put it [/home/mail]?
メイリングリストのアーカイブはどこに置きますか?
Now, a few questions so that I can set up your CVSup server properly.
それでは、CVSupサーバを適切に設定できるようにいくつかの質問をします。
For security reasons, both the CVSup client and server should run under
their own unique user and group IDs. These IDs should have no special
access privileges. Normally, the user:group "cvsupin:cvsupin"
is used for the client and "cvsup:cvsup" is used for the server,
but you can choose other names if you wish. At "make install"
time, I will create the users and groups, if they don't already exist.
セキュリティの理由のために、CVSupクライアントおよびサーバーの両方はユニークなユーザおよびグループIDの下で走るべきです。 これらのIDは特別のアクセス権を持ってはなりません。通常ユーザ:グループ「cvsupin:cvsupin」はクライアントのために使用されます。また、「cvsup:cvsup」はサーバーのために使用されます。しかし、望むならば他の名前を設定することもできます。それらがまだ存在しない場合、"make
install"を実行する際に、ユーザおよびグループを作ります。
Use unique user and group IDs for these. Do not use "nobody",
"nonroot", or "nogroup".
CVSupサーバ、クライアントのためにユニークなユーザIP、グループIDを利用しなさい。"nobody", "nonroot",
or "nogroup"などは使ってはいけません。
Unique unprivileged user ID for running the client [cvsupin]?
クライアントのための非特権ユーザIDは?
Unique unprivileged group ID for running the client [cvsupin]?
クライアントのための非特権グループIDは?
Unique unprivileged user ID for running the server [cvsup]?
サーバのための非特権ユーザIDは?
Unique unprivileged group ID for running the server [cvsup]?
サーバのための非特権グループIDは?
The CVSup server does its logging via syslog. At "make install"time,
I will set up the logging for you, if necessary. I will use the "!program"
feature of syslog to keep your CVSup log messages separate from the
messages of your other daemons.
CVSupサーバーは、syslogによってログを記録します。必要ならば"make install"を実行する際に ロギングの設定を行います。CVSupサーバはログをほかのデーモンのメッセージと分けるためにsyslogの"!program"フィーチャーを使用します。
Syslog facility for the server log [daemon]?
CVSupサーバのログのSyslogのファシリティはどうするか?
You can control the load on your machine by limiting the number of clients
that the CVSup server will serve at once. CVSup won't load your network
especially heavily, but it is more CPU and disk intensive than most
other file server software.
CVSupサーバが一度に許可する接続数を制限することによって、マシンのロードをコントロールすることができます。CVSupはあなたのネットワークを特に極度にロードしないでしょうが、CVSupはほとんどのファイル・サーバ・ソフトウェアよりCPUやディスクに集中します。
Maximum simultaneous client connections [8]?
最大接続許可数は?
Building the "config.sh" file ... Done.
Building the "cvsupd.access" file ... Done.
make install
# make install
を実行すると、ユーザ・グループが作成され、/home/ncvs、/home/cvsupinが作成されます。また、/usr/local/etc/cvsup以下に設定ファイルが置かれます。また、syslogの設定やcronの設定も同時に行われます。
あとは
# /usr/local/etc/rc.d/cvsupd.sh start
を実行するだけでOKです。クライアントからも接続可能となります。/usr/local/etc/cvsup/update.shを実行することでリポジトリをとりに行ってくれます(これがcronから呼び出されます)。
実は初めて設定したときはなぜかうまくいかなかったのですが、そのときのメモを消失してしまったので、どのようにして直したのかは今となっては分からないままです。
/usr/local/etc/cvsup/cvsupd.accessで接続の制御ができるようです。また、CVSリポジトリをとりに行っているときのsupfileは以下の感じです(/usr/local/etc/cvsup/supfile)。なお、update.shは/usr/local/etc/cvsup/config.shを読み込んでソースを取りに行くサーバ名を指定した上で、以下のsupfileを利用しているようです。
*default delete use-rel-suffix umask=002
cvs-all release=cvs prefix=prefixes/FreeBSD.cvs
gnats release=current prefix=prefixes/FreeBSD-gnats.current
www release=current prefix=prefixes/FreeBSD-www.current
mail-archive release=current prefix=prefixes/FreeBSD-mail.current
distrib release=self prefix=prefixes/distrib.self
以上で説明を終わります。
cvsupクライアントを用いてソースを最新のものにする方法は、cvsupで最新のソースに、を参照してください。
