2.9.2 Verbindungen mit rsh
CVS nutzt das `rsh' Protokoll, um diese
Operationen durchzuführen, daher wird auf dem Rechner
des entfernten Benutzers eine Datei `.rhosts'
benötigt, die dem lokalen Benutzer Zugriffsrechte
eintäumt.
Nehmen Sie zum Beispiel an, sie wären der Benutzer
`mozart' auf dem lokalen Rechner
`toe.example.com', und der Server sei
`faun.example.org'. Auf faun schreiben Sie die
folgende Zeile in die Datei `.rhosts' in
`bach''s Arbeitsverzechnis:
Danach prüfen Sie, ob rsh funktioniert. Dazu
starten Sie
| | rsh -l bach faun.example.org 'echo $PATH'
|
Als nächstes vergewissern sie sich, daß
rsh den Server findet. Der Pfad, den rsh
in obigem Beispiel ausgegeben hat, muß das
Verzeichnis mit dem Programm cvs (welches das
Server--Programm ist) enthalten. Sie müssen den Pfad
in der Datei `.bashrc', `.cshrc',
etc. setzen, aber nicht in `.login' oder
`.profile'. Alternativ können sie die
Umgebungsvariable CVS_SERVER auf dem
Client--Rechner auf den Dateinamen des
Server--Programms setzen, das sie verwenden möchten,
zum Beispiel `/usr/local/bin/cvs-1.6'.
Die Datei `inetd.conf' braucht nicht verändert
zu werden. Ebenso braucht kein CVS--Server--Daemon
gestartet zu werden.
Es gibt zwei Zugriffsmethoden für rsh, die in
CVSROOT verwendet werden. :server:
bezeichnet einen internen rsh--Client, der nur von
manchen CVS Portierungen unterstützt wird.
:ext: bezeichnet ein externes rsh Programm. Die
Voreinstellung hierfür ist rsh, aber man kann
die Umgebungsvariable CVS_RSH setzen, um ein
anderes Programm aufzurufen, welches auf den entfernten
Server zugreifen kann (z.B. remsh unter HP-UX 9,
weil rsh (dort) etwas anderes ist). Dieses
Programm muß Daten von und zu dem Server übertragen
können, ohne diese zu verändern. So ist z.B. das
Windows NT rsh nicht geeignet, weil es
standardmäßig zwischen CRLF und LF
konvertiert. Die OS/2 CVS Portierung hat einen Hack,
der `-b' an rsh übergibt, um dieses
Problem zu umgehen. Aber da der Trick Probleme mit
anderen Programmen als dem Standard rsh
verursachen könnte, wird der Hack in späteren
Versionen vielleicht nicht mehr vorhanden sein. Wenn
die Umgebungsvariable CVS_RSH auf SSH
oder einen anderen rsh--Ersatz gesetzt wird, machen die
Anweisungen bezüglich `.rhosts' usw. im Rest
dieses Abschnitts wahrscheinlich keinen Sinn
mehr. Ziehen sie in diesem Fall die Dokumentation zu
ihren rsh--Ersatz zu Rat.
Fahren wir mit dem Beispiel fort. Angenommen, sie
wollen auf das Modul `foo' im Repository
`/usr/local/cvsroot/' auf der Maschine
`faun.example.org' zugreifen. Starten sie
| | cvs -d :ext:bach@faun.example.org:/usr/local/cvsroot checkout foo
|
(Den Benutzernamen `bach@' kann man weglassen,
wenn er für den lokalen und den entfernten Rechner
identisch ist.)
|