cvs服务器端配置/客户端使用

Tama ·
更新时间:2024-11-13
· 775 次阅读

(本文在redhat 7.3/8.0/9.0上测试通过)

安装cvs的rpm包后,服务器和客户端都安装了,首先配置服务器端:

1.查看是否安装cvs rpm -qa | grep cvs 一般安装在/usr/bin/cvs,如果未安装,到www.cvshome.org下载一个新的rpm安装即可

2.建立cvs用户组,便于管理cvs用户 groupadd cvs

3.建立cvsroot用户,属于cvs组(组名必须为cvs),根目录为/home/cvsroot,不许登陆 useradd -g cvs -s /sbin/nologin cvsroot

4.改变/home/cvsroot的目录属性 chmod 775 /home/cvsroot

5.初始化cvs源代码库,此操作生成目录/home/cvsroot/CVSROOT,其下为一些初始化文件 cvs -d /home/cvsroot init

6.创建可以登陆cvs服务的用户及密码,需要创建文件passwd vi /home/cvsroot/CVSROOT/passwd 文件内容如下: weiqiong:xxxxxx:cvsroot chenxu:xxxxxx:cvsroot 此文件的意思是weiqiong和chenxu两个用户可以登陆cvs服务器,登陆后其权限为用户cvsroot的权限 注意:cvs用户和服务器用户是可以不一样的

7.xxxxxx为密码,由以下文件生成: vi /home/cvsroot/passwdgen.pl 文件内容: #!/usr/bin/perl srand (time()); my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))"; my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);

my $plaintext = shift; my $crypttext = crypt ($plaintext, $salt); print "${crypttext} ";

8.如果需要密码为:123456,则敲入: passwdgen.pl "123456" 回车即可得到加密密码,用其替换passwd文件中的xxxxxx

9.加入cvs服务(一般的redhat上缺省有cvs服务,所以不用加) vi /etc/services cvspserver 2401/tcp #pserver cvs service cvspserver 2401/udp #pserver cvs service

10.一般cvs服务由inted来唤起,因此需要改动.netd提供的服务,如果你的redhat使用的是inetd方式, 则在文件/etc/inetd.conf中加入如下的内容: cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver

redhat7.3以上使用的是xinetd方式,所以在xinetd.d目录下添加需要启动的服务: cd /etc/xinetd.d vi cvspserver 文件内容: service cvspserver { disable = no flags = REUSE socket_type = stream wait = no user = root server = /usr/bin/cvs server_args = -f --allow-root=/home/cvsroot pserver log_on_failure += USERID } 11.重新启动inetd或者xinetd: /etc/rc.d/init.d/xinetd restart

12.检查cvspserver服务是否已经启动 netstat -l |grep cvspserver 应该有如下结果: tcp 0 0 *:cvspserver *:* LISTEN

--------------------------------------------- 以上是服务器端配置,下面是客户端使用。为简便,本例中在本机上使用,但下列步骤适用于任何cvs客户机。 1.设置系统环境变量(设cvs服务器IP为192.168.0.2,本例中为本机IP) 设置CVSROOT环境变量: 修改~/.bash_profile,加入一行 export CVSROOT=:pserver:weiqiong@192.168.0.2:/home/cvsroot 然后运行命令 . ~/.bash_profile。

2.使用: cvs login 敲入命令回车后提示输入weiqiong的密码,你按照自己设置的密码输入,如果没有什么错误信息出现是成功了。

3.导入旧的工程: 假定工程在/root/old/proj1/目录中,则 cd /root/old/proj1 cvs import -m "new project proj1" proj1 vendortag releasetag 回车,系统会提示工程建立完毕。

4.从cvs服务器上导出cvs工程: 假定要将工程放在/root/new/目录下,则 cd /root/new cvs co proj1 回车,系统会提示工程顺利导出,出现目录/root/new/proj1,里面的文件是你要修改的文件。

5.提交文件: 修改/root/new/proj1/a.c后,需要提交修改 cd /root/new/proj1 cvs ci -m "comments here" a.c 回车,系统会提示文件顺利提交。

6.取回新版本文件: 如果自己的/root/new/proj1/a.c取回后,没有修改,但是服务器端的a.c被他人修改了,则需要更新本地拷贝 cd /root/new/proj1 cvs update a.c 回车,系统会提示文件顺利更新。

7.查看文件当前状态: cd /root/new/proj1 cvs status a.c 回车,系统会显示文件的当前状态。

8.比较文件的新旧版本变化: 如果要比较1.2版和1.3版的区别: cd /root/new/proj1 cvs diff -r1.2 -r1.3 a.c 回车,系统会显示文件的区别。 如果要比较1.2版和当前版本的区别: cd /root/new/proj1 cvs diff -r1.2 a.c 回车,系统会显示文件的区别。

9.查看文件被修改的记录: cd /root/new/proj1 cvs log a.c 回车,系统会显示所有提交过程中-m选项所提交的文字。

10.注意: cvs服务器上的用户(本文中是cvsroot用户)必须是cvs组的才能用,如果还是报repository找不到,在客户端用户的home目录下touch文件.cvspass,文件是空的,但是当你login一次服务器后自动有内容了。



客户端 cvs

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章