Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
cvsupd mirror settings
[go: Go Back, main page]

cvsupd mirror settings

cvsup と cvs との区別もつかない人は出直してください。

お断り

FreeBSD, OpenBSD, NetBSD の cvsup mirror を立てるためのメモです。 NetBSD に関しては2002年12月以降の src 統合の状態を前提にしています。

この二つの設定は独立である。ここをハッキリさせておかないと混乱する。 上流からは *,v だけでなく、cvsupd の設定ファイルも取ってくるからである。

前提事項

準備

上流の選択

6GB 以上のファイルを引っ張ってくるのだから、 注意して上流の cvsup サーバを選択しなくてはならない。

FreeBSD

国内公式ミラーが複数あるので、 CVSup サーバの負荷状況 と routing を参考にして選ぶといい。

OpenBSD

国内公式ミラーの cvsup.jp.openbsd.org か cvsup.allbsd.org を使うといい。ネットワーク的に近い方を使おう。

NetBSD

国内公式ミラーの cvsup.jp.netbsd.org を使ってはいけない。 ほとんど常に高負荷になっており、不安定なこともしばしば。 cvsup.allbsd.orgがオススメ。

レポジトリを上流から取ってくる

mirror するためのブツを取ってこなくてはいけない。 置き場は以下のようにしたが、ディスクに余裕があればどこだっていい。 使うときには symlink を張るからだ。

freebsd-supfile, netbsd-supfile, openbsd-supfile を使って cvsup で持ってこよう。 cvsupd mirror をやろうなんて人は単純な supfile なんぞ自前で書けると思うが念のため。

帯域にもよるが初回はかなり時間がかかる。仕掛けてから寝るといい。 「そんなもんすでに持ってるよ」という人は次へ行こう。

$PREFIX/etc/cvsup/ の構築

$PREFIX/etc/cvsup/prefixes/

配布物への symlink を張る、下流へ配るために。 distrib.self は設定ファイルを配るために必要。

    % mkdir /usr/local/etc/cvsup/prefixes
    % cd /usr/local/etc/cvsup/prefixes
    % sudo ln -s SKIP FreeBSD-gnats.current
    % sudo ln -s SKIP FreeBSD-mail.current
    % sudo ln -s SKIP FreeBSD-www.current
    % sudo ln -s /export/cvsup/FreeBSD FreeBSD.cvs 
    % sudo ln -s /export/cvsup/NetBSD NetBSD.cvs 
    % sudo ln -s /export/cvsup/OpenBSD OpenBSD.cvs 
    % sudo ln -s .. distrib.self
    

$PREFIX/etc/cvsup/cvsupd.access

アクセス制限設定。

$PREFIX/etc/cvsup/sup.client/

名前はは変更可能。cvsupd -s の引数と揃っていればよい。

設定ファイルを上流から取ってくる

ありがたいことに設定ファイルを cvsup で配っているので取ってくるだけ。 FreeBSD と NetBSD は公式だが、 OpenBSD は cvsup.jp.openbsd.org が非公式にサービスしている。

サクっと distrib-freebsd-supfile, distrib-netbsd-supfile distrib-openbsd-supfile を使って cvsup で持ってこよう。 この supfile は freebsd-supfile などとはコメントアウトの仕方を変えているだけの代物なのだが。

下記のディレクトリに設定ファイルを置かれることになる。 中身を見れば prefixes で symlink 張りまくった理由もわかる。

cvsupd の設定

sup を複数作っているので -c の後にに並べることに注意する。 動作確認後に rc.local か rc.d/ に仕込む。

    if [ -d /usr/local/etc/cvsup/sup ]; then
    echo -n ' cvsupd'
    /usr/bin/su -f -m cvsup -c \
    "/usr/local/sbin/cvsupd -e -C 4 -c sup:sup-netbsd:sup-openbsd -l @daemon -b /usr/local/etc/cvsup -s sup.client" \
    > /dev/null 2>&1
    fi
    

ディレクトリ構成 ($PREFIX/etc/cvsup 以下)

以降は特に変更しても痛い目をみないもの

cron で回す

もう適当に上流から引っ張ってくる cvsup を cron で回してください。 permission と owner に気をつけて。

関連研究

Copyright © 2003 TAKAHASHI Kaoru All Rights Reserved.
$Date: 2005-04-07 16:33:46 +0900 (Thu, 07 Apr 2005) $