最初, 戻る, 進む, 最後, 目次 に行く。


4.6.1 rsh で接続する

CVS は `rsh' プロトコルを用いて動作します。 この時サーバ側の使用者の `.rhosts' に、 クライアント側の使用者の利用許可を記述する必要があります。

例えば、 仮にあなたをクライアント側のマシン `anklet.grunge.com' の使用者 `mozart' だとし、 サーバ側のマシンは `chainsaw.brickyard.com' であるとします。 この時、次の行を `chainsaw' の使用者 `bach' のホーム・ディレクトリの ファイル `.rhosts' に記述して下さい。

anklet.grunge.com  mozart

そして、rsh の動作を次の行で確認します。

rsh -l bach chainsaw.brickyard.com 'echo $PATH'

次に rsh が、 サーバを発見できるかどうか確認する必要があります。 上記の例で rsh が表示したパスの中に、 サーバである cvs のあるディレクトリが 含まれているかどうか確認して下さい。 `.login'`.profile' でなく、 `.bashrc', `.cshrc' 等に パスを設定する必要があります。 同時に、クライアント側で環境変数 CVS_SERVER に、 `/usr/local/bin/cvs-1.6' などと、 使用したいサーバ名を設定できます。

`inetd.conf' を編集したり、 CVS のサーバ・デーモンを走らせる必要はありません。

rsh 経由で $CVSROOT を利用するときに 指定できる接続経路は二つあります。 :server: を指定した場合、 CVS が内部実装した rsh のクライアントが用いられますが、 移植版では利用できないものもあります。 :ext: を指定した場合、外部の rsh プログラムが用いられます。 rsh が既定となっていますが、 サーバを利用できる他のプログラムを呼び出す場合は、 環境変数 CVS_RSH に設定して下さい (例えば HP-UX 9 では、 rsh が少々異なるため remsh を用いて下さい)。 指定するプログラムは、データを変更しないで送受信できなくてはいけません。 例えば Windows NT の rsh は、 既定では CRLFLF に換えるので不適当です。 CVS の OS/2 版はこれを回避するため、 rsh`-b' を渡して切り抜けていますが、 標準的な rsh でないプログラムを黙認する形になるので、 将来は別のやり方になるでしょう。 CVS_RSHSSH 等の rsh の代替物を設定した場合、 この節の残りの `.rhosts' の使用説明などは、 おそらく不適当でしょうから、 各 rsh の代替物の文書資料を参照して下さい。

例を続けて、仮に `chainsaw.brickyard.com' の リポジトリ `/usr/local/cvsroot/' 中の モジュール `foo' を利用したい場合には、 次の様にします:

cvs -d :ext:bach@chainsaw.brickyard.com:/usr/local/cvsroot checkout foo

(クライアント側とサーバ側で、使用者名が同じ場合には、 `bach@' を省略することが出来ます。)


最初, 戻る, 進む, 最後, 目次 に行く。