GNU/Linux的話,安裝時就會裝進去了,如果你是第一次安裝的話會問你 repository在那裡?總之先不要理會錯誤訊息,先把程式裝起來,等到後面 再來做configuration。用
$ which cvs |
$ mount -t iso9660 /dev/cdrom /cdrom $ cd /cdrom/RPMS $ rpm -i cvs-xxxx.rpm |
$ gzip -d cvs-xxxx.tar.gz |tar xvf - $ cd cvs-xxxx $ configure --prefix=/dir/you/want/to/install $ make $ make install |
cvs是網路應用程式,有三個重要的網路設定檔
CVS 網路設定檔
inetd是等在電腦內的背景程序(daemon)。他看到有telnet要求, 就去叫 telnetd來服務,有CVS要求就去叫cvs來服務,有的系統用xinetd, 請自行修改/etc/xinetd.conf。應該要有這一行
2401 stream tcp nowait root /usr/local/bin/cvs cvs -f --allow-root=/var/cvsroot pserver |
/usr/local/bin/cvs |
cvs -f --allow-root=/var/cvsroot pserver |
/etc/inetd.conf最好這樣子,如果你要用symbolic名字來代表 2401這個是cvs server請加
cvspserver 2401/tcp |
cvspserver stream tcp nowait root /usr/local/bin/cvs cvs -f --allow-root=/var/cvsroot pserver |
因為有的公司是由NIS來管理的,你的/etc/nsswitch.conf裡面在 搜尋services這個檔案時,其實可能不是你本地的/etc/services而是 某個地方的services檔案,如果這個遠方的services檔案裡面沒有 cvspserver,你的inetd就不認得了,如果你是在公司內,請確定一 下你的整體NIS環境。
cvs init會創造出儲存櫃子來,給下面的命令
$ cvs -d /var/cvsroot init |
CVS可以設定存取權限,CVS內定密碼檔在$CVSROOT/CVSROOT/passwd,格式是
bach:ULtgRLXo7NRxs spwang:1sOp854gDF3DY melissa:tGX1fS8sun6rY:pubcvs |
除了存取權限外,可進一步設讀寫權限,在$CVSROOT/CVSROOT下可以有 兩個檔案 $CVSROOT/CVSROOT/readers 裡面的人名只有read權力,其他人有write權力。 $CVSROOT/CVSROOT/writers 裡面的人有write權力,其他人只有read權力。 格式就是
nick cyril |
要存取CVS櫃子必須要告訴CVS要怎樣存取,因此要先設環境變數CVSROOT, 他的格式是
:method:user@hostname:/path/to/repository |
local: 櫃子在本地 server: 用rsh的方法 ext: 用rsh的方法也可以設定CVS_RSH讓他用ssh比較安全 pserver: 有權限的password方法 kserver: 對你在網路上的封包傳遞加密的方法 |
因為目前只有pserver可以提供read only,read/write權限的控制。 所以最常用的設定是像這個樣子
:pserver:cyril@debian.comc.com:/var/cvsroot |
$ export CVSROOT=:pserver:cyril@debian.comc.com:/var/cvsroot |
$ cvs -d :pserver:cyril@debian.comc.com:/var/cvsroot cvs_command |