[OpenBSD]

CVSync


目次


CVSync とは ?

CVSync は、リモートサーバ上のマスタ cvs(1) リポジトリからソースツリーを配布したり、更新したりするためのソフトウェアパッケージです。 OpenBSD のソースは、カナダの中央開発機上の CVS リポジトリでメンテナンスされています。 CVSync を使用して、OpenBSD ユーザは、 簡単に自分自身のソースツリーを更新することができます。

CVSync はプルモデルと呼ばれる更新方法を使用しています。プルモデルでは、 それぞれのクライアントはサーバに、更新が必要かどうか、そしてそれはいつなのか を問い合わせます。サーバはクライアントからの更新要求を受動的に待機します。 このように、すべての更新はクライアント側から行われ、決してサーバ側から頼まれてもいない更新を行うことはありません。 ユーザは、更新するために手動で CVSync クライアントを実行するか、これを自動的に、定期的に実行させるために cron(8) ジョブを設定しなければなりません。

CVSync という用語は、このとおりに大文字で始まり、このソフトウェアパッケージ全体のことを 指しています。その主要な構成部品は、それぞれのユーザマシン上で実行されるクライアント cvsync と、また、それぞれの OpenBSD CVSync ミラーサイト上で実行されるサーバ cvsyncd です。

CVSyncsup(1)CVSup より高速かつ柔軟であることを意図しています。

OpenBSD プロジェクトでは、現状で以下の 5 個のソースリポジトリを持っています。

CVS とは ?

CVS は OpenBSD のソースツリーを管理するために使用されているソースコードコントロールシステムです。 これについてのより詳しいことは、こちらに記述されています。 CVS と CVSync は完全に異なるプログラムであるということに注意してください。 CVS は、リモートのファイルアクセスに使用することができますが、 ネットワーク経由で大規模なソースツリーの配布を行うように最適化されているわけではありません。 一方で、CVSync は桁違いに簡単に、より効果的にこの目的を達成することができます。

CVSync を使い始めるために

もし、CVSync の実行だけに専念したい場合には、自分のマシンの net/cvsync の ports から構築する代わりに、 ftp ミラーサイトから cvsync の packages をダウンロードすることをお勧めします。

CVSync についてのより詳しい情報は、 プロジェクトのホームページを参照してください。

OpenBSD のリポジトリを CVSync でミラーするためには、 以下の設定ファイルを使用することができるはずです。

	config {
	    hostname anoncvs.de.openbsd.org
	    # If your network link is a T1 or faster, comment out the following line.
	    compress
	    collection {
		name openbsd release rcs
		prefix /cvs
		umask 002
	    }
	}

これは、anoncvs.de.openbsd.org から、ローカルリポジトリへのグループ書き込み可能なパーミッションの umask(2) で、すべての OpenBSD のディストリビューションの更新を CVSync に検出させる設定です。

このファイルを cvs-syncfile としてセーブするものとして、 cvsync を起動するために以下のコマンドを使用します。

        cvsync -c cvs-syncfile

CVS を使用したソースツリーの更新

まず、CVSync されたリポジトリのいずれかひとつを単純にチェックアウトしましょう。 Korn/Bourne シェルでは以下のようにします。

        # cd /usr
        # CVSROOT=/cvs cvs checkout src

csh 系のシェルでは以下のようにします。

        # cd /usr
        # setenv CVSROOT /cvs
        # cvs checkout src

上記の操作で、ほとんどの現在のソースがチェックアウトされます。多くの方は、 特にシステムにパッチを適用する場合にリリースのソースが必要になるだけでしょう。 リリースのソースをチェックアウトするためには、たとえば以下の例のように、 コマンドにタグを指定する必要があります。

        # cd /usr
        # cvs checkout -rOPENBSD_3_5 src

これが 3.4 でしたら、OPENBSD_3_4 のようにしてください。

利用可能な CVSync サーバ

以下の CVSync サーバが利用可能です。

注: もし、あなたのサーバが、不正確な情報や知らない情報で ここにリストアップされていた場合、 beck@openbsd.orgnaddy@openbsd.org に御連絡ください。

あなたは、どのサーバが最も自分に近いところにあるのかを見つけるために、 traceroute(8) を使いたいと思うかも知れません。 サーバに関する問題は、問題のサーバのメンテナに報告すべきです。

2005 年 12 月 12 日時点では、CVS リポジトリのサイズは以下のとおりです。

openbsd-ports - 204MB
openbsd-src - 1369MB
openbsd-www - 236MB
openbsd-x11 - 200MB
openbsd-xf4 - 531MB
openbsd-cvsroot - 301MB

全体のリポジトリのサイズは、 現状では、年間 400MB 程度の割合で増加しています。

重要な注意事項: 誰もが知っておくべきこととして、暗号ソフトウェアに関しては 若干の問題があります。

OpenBSD プロジェクトでは、さらなる CVSync サーバを募集しています。 ですので、もし、あなたがこれに興味があるなら、設定の詳細に関して、ぜひ Christian Weisgerber に連絡を取ってください。


OpenBSD www@openbsd.org
$OpenBSD: cvsync.html,v 1.13 2006/01/10 06:01:40 saad Exp $