Linux平台上CVS服务器的配置与测试(3)

3)重启xinetd服务,使配置生效

重启xinetd

debian:/etc/xinetd.d# /etc/init.d/xinetd restart

Stopping internet superserver: xinetd.

Starting internet superserver: xinetd.

确定cvspserver是否启动

debian:/etc/xinetd.d# netstat -l | grep cvspserver

tcp        0      0 *:cvspserver            *:*                     LISTEN

至此,CVS服务器配置全部完成,下面进行测试。

二.客户端测试

客户端的测试包括本地测试和远程测试。

1.本地测试上面我们已经用root用户checkout测试过了。

具体方法就是:

debian:/home# export CVSROOT=/home/cvsroot/

debian:/home# cvs login

如果没有提示出错的话,就代表成功了。

但如果在pserver启动以后,再用同种方法进行本地测试的话,就有问题了,提示如下:

debian:/home# cvs login

cvs login: can only use `login' command with the 'pserver' method

cvs [login aborted]: CVSROOT: /home/cvsroot/

提示的意思是说,现在这能使用通过pserver验证的方式登录服务器了。那么,在配置完pserver服务器后,本地和远程登录的方法就一样了,都要通过pserver验证。下面介绍远程登录的方法,同样适用于本地登录。

2.远程测试的方法如下:

1)CVS服务器端IP:192.168.1.248。使用另外一台主机,同样是Debian GNU/Linux,同样保证安装了CVS,IP为:192.168.1.244。 通过Windows下WinCVS同样可以登录。

客户端主机使用非root用户,我的用户名为david.

首先建立环境变量CVSROOT,以用户cvSUSEr1登录:

david@debian:~$ export CVSROOT=:pserver:cvsuser1@192.168.1.248:/home/cvsroot

然后登录

david@debian:~$ cvs login

如果没有错误提示,则代表成功登录CVS服务器。

但我这里出现了一个提示:

david@debian:~$ cvs login

Logging in to: :pserver:cvsuser1@192.168.1.248:2401/home/cvsroot

CVS password:

cvs login: CVS password file /home/david/.cvspass does not exist - creating a new file

该问题就是在客户端登录时要在HOME目录下有个.cvspass的文件即可。因此,解决方法就是在/home/david/下:

david@debian:~$ touch .cvspass

再次登录就没有提示了。本地登录也可以采用这种方法,或者将服务器的IP地址改为localhost.

2)检出模块

我们上面已经建立了一个仓库了,usbprj.我们在客户端将该模块checkout:

david@debian:~$ cvs checkout usbprj

cvs checkout: Updating usbprj

U usbprj/Makefile

U usbprj/Module.symvers

U usbprj/test.c

U usbprj/usb-skeleton.c

则在当前目录下生成目录usbprj.

进入该目录,可以对该目录执行文件的修改,添加,然后可以用commit命令对修改后的进行提交。具体CVS的操作,可以看CVS的手册,这里不再多说。

还有一个问题,我们这里CVS服务器有两个用户,cvsuser1和cvsuser2.如果需要对这两个用户设置不同的权限。可以在服务器端/home/cvsroot/CVSROOT/下建立两个文件,readers和writers。文件中每一行可写一个用户名。readers里面的用户具有只读权限,writers里面的用户具有可读可写权限。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwyyws.html