1 准备
在安装之前,首先通过运行下面命令查看系统上是否已经安装了CVS:
这是我系统上输出的内容:
说明系统上已经安装了CVS,要卸载再安装新的版本或者重新安装。可以输入如下命令进行卸载:
这时系统输出如下提示:
warning: /etc/xinetd.d/cvs saved as /etc/xinetd.d/cvs.rpmsave
这是什么系统已经将CVS卸载,并将CVS的配置文件/etc/xinetd.d/cvs保存为副本文件/etc/xinetd.d/cvs.rpmsave。
2 安装
作为管理员用户登录,运行下面命令安装:
root# cd /home/soft/Fedora4_x86_64_RPMS/
root# rpm –ivh cvs-1.11.19-8.x86_64.rpm
系统的输出如下:
warning: cvs-1.11.19-8.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Preparing... ########################################### [100%]
1:cvs ########################################### [100%]
3 配置
3.1 创建组和用户
首先创建一个cvs组和一个cvsroot用户:
root# groupadd cvs
root# useradd –g cvs –p cvsroot cvsroot
3.2 设置权限
为CVS创建一个根目录来存放代码,这里我们使用的是/home/globus/cvsroot最为我们的根目录。然后为该目录设置相应的读写权限和所有权限。
root# mkdir /home/globus/cvsroot
root# -R chown cvsroot.cvs /home/globus/cvsroot
root# -R chmod 771 /home/globus/cvsroot
3.3 添加系统变量CVSROOT
设置CVSROOT系统变量用来记录CVS的根目录,这样可以方便以后我的使用。编辑/etc/profile文件,添加下面一行:
export CVSROOT=/home/globus/cvsroot
3.4 设置CVS服务端口
查看/etc/services文件,看是否有如下两行代码。如果没有需要加入。不过通常在安装CVS的时候会自动加入。
cvspserver 2401/tcp # CVS client/server operations
cvspserver 2401/udp # CVS client/server operations
3.5 修改CVS配置文件
修改/etc/xinetd.d/cvs文件,该文件是CVS的配置文件。
# default: off
# description: The CVS service can record the history of your source
# files. CVS stores all the versions of a file in a single
# file in a clever way that only stores the differences
# between versions.
service cvspserver
{
disable = yes
port = 2401
socket_type = stream
protocol = tcp
wait = no
user = root
passenv = PATH
server = /usr/bin/cvs
env = HOME=/var/cvs
server_args = -f --allow-root=/var/cvs pserver
# bind = 127.0.0.1
}
修改后的结果如下,其中黑体字是表示需要修改的地方。
# default: off
# description: The CVS service can record the history of your source
# files. CVS stores all the versions of a file in a single
# file in a clever way that only stores the differences
# between versions.
service cvspserver
{
disable = no
port = 2401
socket_type = stream
protocol = tcp
wait = no
user = root
passenv = PATH
server = /usr/bin/cvs
# env = HOME=/var/cvs
server_args = -f --allow-root=/home/globus/cvsroot pserver
# bind = 127.0.0.1
}
注:很多网上的文章介绍时说需要建立/etc/xinetd.d/cvspserver文件,但是经过我的试验,对我们安装的CVS版本来说是不需要的。并且这样作是不起任何作用的。
3.6 添加CVS的用户
3.6.1 向CVS中添加系统用户(不推荐)
接下来,需要把使用CVS的用户添加到当前的cvs组中。可以通过修改/etc/group文件或者使用命令的方式进行。
a.通过编辑文件:打开文件/etc/group,在该文件下找到类似下面的一行代码:
其中数字可能不是516,这个跟你系统有关。在这里,我们可以在“冒号”后面添加允许使用该CVS的系统用户,多个用户可以使用“逗号”分开。看起来类似下面的代码:
cvs:x:516:czb,huangqin,sqh,wangjian,wtj
b.通过命令:
注:我们不推荐使用这种方法。因为遇到一个问题:如果用户A导入了一个模块,而其它用户无权checkout。这里可能是我们配置上出了问题,但是采用下面的方法可以解决。
3.6.2 向CVS中添加非系统用户
我们这里假设要向CVS系统中添加一个grid用户,该用户的口令是test。那么,可以通过下面的步骤进行添加。
1.编写passwdgen.pl文件
首先,编写Perl脚本文件:
#!/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} ";
该文件用来生成一个经过加密的口令。
为了方便地让CVS系统中的所有用户生成自己的口令,建议为该文件添加执行权限。并且可以将该文件放在大家有权限访问的目录下。
2.生成用户口令
然后,为使用CVS系统的用户生成加密的口令。处于安全的考虑,我们可以让CVS用户通过上面的脚本文件生成自己的加密口令。并将这个加密口令发送给管理员。
运行下面的命令,为grid用户生成加密的口令:
user$ ./passwdgen.pl test
IIjgs2WRpImsU
这时,用户可以将生成的加密口令“IIjgs2WRpImsU”发送给CVS管理员。
3.编写passwd文件
该文件用来存放CVS系统的用户的信息,位于$CVSROOT/CVSROOT目录下面。它的格式如下:
l username:用来访问CVS系统的用户名
l userpwd:收到的用户的加密口令
l sysuser:操作系统中存在的有权访问$CVSROOT目录的用户,这里是cvsroot
我们得到的结果如下:
grid:IIjgs2WrpImsU:cvsroot
此时,我们就完成了向系统中添加grid用户的过程,并且该用户的口令是test。
3.7 添加模块
通过编辑$CVSROOT/CVSROOT目录下面的modules文件为CVS建立模块。
在CVS系统中,存在三种形式的模块:alias模块、regular模块和ampersand模块。它们的不同在于它们将repository中的文件映射到工作目录(本地)中文件的方式不一样。
l alias模块
这是最简单的一种,其格式如下:
mname –a aliases...
其中,mname指的是模块名,而aliases指的是其它的模块名或者路径名。
l regular模块
该模块的书写格式如下:
mname [options] dir [files...]
该模块定义所有位于dir目录下的文件到mname代表的模块中。其中,dir是参照$CVSROOT的一个相对路径。此外,如果后面跟上具体的files,则表示将dir目录下的files文件加入到模块中。
l ampersand模块
该模块的书写格式如下:
mname [options] &module...
这样可以引用其它的module。
这里,我们使用最为简单的alias模块,定义如下:
这样,我们就可以在Wincvs中看到grid模块了。
3.8 重启CVS
最后,重新启动CVS服务,确保刚才的修改被执行。
root# /etc/rc.d/init.d/xinetd restart
如果系统输入以下信息,表示服务重新启动了。
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
4 测试
接下来我们可以在Windows下用wincvs客户端进行登录进行测试。
注:这里面需要注意的是,设置wincvs的CVSROOT时应该是这样:
wtj@202.115.30.191:/home/globus/cvsroot
在/home/globus/cvsroot后面没有“/”。
posted on 2005-10-16 16:34
思考 阅读(3485)
评论(0) 编辑 收藏 所属分类:
其他技术文章 、
Linux技术