1.
安装cvs包。
rpm -ivh
/mnt/cdrom/RedHat/RPMS/cvs-1.11.2-10.i386.rpm
2.
检查/etc/service中是存在含下面两行内容,如果不存在,则加入进去。
cvspserver 2401/tcp # CVS client/server operations
cvspserver 2401/udp # CVS client/server operations
3.
创建一个目录作为cvsserver的根目录。
mkdir -p
/cvs/cvsroot
4.
编辑文件/etc/xinetd.d/cvspserver,其内容如下:
service
cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f
--allow-root=/cvs/cvsroot pserver
log_on_failure += USERID
}
注:
a)
这里-allow-root参数的值应该和前面创建的cvsserver的根目录一致。否则后面login时会出现: no such repository的错误。
b)
flags的标志是用于setsockopt设置socket的一些属性,这里的REUSE表示socket关闭后可以立即重用,而不用等到超时后才能重用。
5.
重新起动xinetd服务:
service
xinetd restart
6.
测试cvs 服务器是否正常起动了:
telnet
localhost cvspserver
若连接成功,则表明正常起动了。
7.
初始化cvs 服务器。
cvs -d
/cvs/cvsroot/ init
8.
进入cvs根目录,接下来做些基本设置,后面的步骤都在该目录中进行的。
cd /cvs/cvsroot/CVSROOT/
9.
创建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);
"${crypttext}\n";
10. 在系统中建立一个cvs用用户组。
groupadd cvs
11. 在系统中增加一个用户:
useradd -g
cvs -G cvs cvsroot
并用passwd修改初始密码。
12. 创建一个名为passwd的文件,它是cvs用来作为登录验证用的,其格式如下:
cvs用户名:密码:对应系统中的用户名
密码是用前面创建的passwdgen.pl加密过的。如:
cvsroot:oBEprU5CtgrpU:cvsroot
jim:oBEprU5CtgrpU:cvsroot
mike:oBEprU5CtgrpU:cvsroot
这里有三个cvs用户: cvsroot、jim和mike,都对应于系统用户cvsroot。
13. 创建一个文件readers,可以在里面列出只读用户。如:
mike
14. 创建一个文件writers,可以在里面列出读写用户。如:
jim
15. 修改cvs根目录的所有者和权限。
chown
cvsroot.cvs /cvs/cvsroot/ -R
chown 775 /cvs/cvsroot/
-R
16. 设置CVSROOT环境变量,登录cvs作为操作。
export
CVSROOT=:pserver:jim@localhost:/cvs/cvsroot
cvs login
(输入jim的密码)
17. OK了,我们import一个项目测试一下:
cd /root/lab/gui/glib-2.8.0
cvs import -m
"for test purpose only" glib init start