CVS はこれらの操作を実行するために rsh プロトコルを用いますので、 遠隔側の使用者のホストはローカルの使用者の接続を許可する .rhosts を持つ必要があります。
例えば、あなたがローカルマシン toe.example.com の利用者 mozart であり、サーバマシンは faun.example.org であると しましょう。faun では、以下の行を bach のホームディレクトリ の .rhosts ファイルに書いてください:
toe.example.com mozart
そして、rsh
の動作を次の行で確認します。
rsh -l bach faun.example.org '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
は、
既定では CRLF を LF に換えるので不適当です。
cvs の OS/2 版はこれを回避するため、
rsh
に `-b' を渡して切り抜けていますが、
標準的な rsh
でないプログラムを黙認する形になるので、
将来は別のやり方になるでしょう。
CVS_RSH
に SSH
等の rsh
の代替物を設定した場合、
この節の残りの .rhosts の使用説明などは、
おそらく不適当でしょうから、
各 rsh
の代替物の文書資料を参照して下さい。
例を続けます。仮に faun.example.org の リポジトリ /usr/local/cvsroot/ 中の モジュール foo を利用したい場合には、 もう準備はできています:
cvs -d :ext:bach@faun.example.org:/usr/local/cvsroot checkout foo
(クライアント側とサーバ側で、使用者名が同じ場合には、 bach@ を省略することが出来ます。)