Next: , Previous: Server requirements, Up: Remote repositories


2.9.2 rsh で接続する

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 は、 既定では CRLFLF に換えるので不適当です。 cvs の OS/2 版はこれを回避するため、 rsh に ‘-b’ を渡して切り抜けていますが、 標準的な rsh でないプログラムを黙認する形になるので、 将来は別のやり方になるでしょう。 CVS_RSHSSH 等の rsh の代替物を設定した場合、 この節の残りの .rhosts の使用説明などは、 おそらく不適当でしょうから、 各 rsh の代替物の文書資料を参照して下さい。

例を続けます。仮に faun.example.org の リポジトリ /usr/local/cvsroot/ 中の モジュール foo を利用したい場合には、 もう準備はできています:

     cvs -d :ext:bach@faun.example.org:/usr/local/cvsroot checkout foo

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