Redhat linux下cvs的安装配置
通常情况下,RH linux缺省安装了cvs。
可以查看是否安装cvs
#rpm -qa|grep cvs
如果安装了,就会返回已安装的cvs版本号
#cvs-1.11.2-25
如果未安装,到www.cvshome.org下载一个最新的rpm安装即可
创建用户cvs
#useradd cvs
为cvs用户添加密码
#passwd cvs
创建目录来放需要导入的源代码库
#mkdir /home/cvs/cvsroot
修改目录归属
#chown -R cvs:cvs /home/cvs/cvsroot
1.初始化cvs源代码库,此操作生成目录/home/cvsroot/CVSROOT,其下为一些初始化文件
#cvs -d /home/cvs/cvsroot init
也可以将cvsroot目录建在别的地方
#cvs -d /space/cvsroot init
*加入cvs服务(缺省安装的通常缺省就有cvs服务)
#vi /etc/services
#cvspserver 2401/tcp #pserver cvs service
#cvspserver 2401/udp #pserver cvs service
2.把cvs服务放到xinetd系统服务中
#cd /etc/xinetd.d
#vi cvspserver
文件内容:
service cvspserver
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvs/cvsroot pserver
log_on_failure += USERID
disable = no
}
确认/etc/services文件中,有cvspserver关键词,并分配了端口,如:cvspserver 2401/tcp
重新启动xinetd:
#/etc/rc.d/init.d/xinetd restart
*检查cvspserver服务是否已经启动
#netstat -l |grep cvspserver
应该有如下结果,表明cvs服务器安装成功:
tcp 0 0 *:cvspserver *:* LISTEN
3.登录cvs服务器(如服务器IP是192.168.2.253):
另一台linux机器执行下列命令:
#export CVSROOT=:pserver:cvs@192.168.2.253:2401//space/cvsroot
#cvs login
输入密码,没有出错提示表示登陆成功.
如果想在一个linux系统上建多个源代码库,分别提供cvs服务。重复上面步骤就可以了。
第1步时候要注意使用一个不同路径。
第2步放到xinetd系统服务中稍微麻烦点。/etc/xinetd.d目录下要生成一个新的任务配置文件,
例如cvspserver1,文件中service名称一定要区分第一个,例如service
cvspserver1,server_args做相应变动。还要在/etc/services文件中,加入新的服务端口号,
例如:cvspserver1 2402/tcp。重新启动xinetd服务.
第3步测试时候,可以这样设定:
#export CVSROOT=:pserver:cvs@192.168.2.253:2402/usr/local/source1
客户端需要设置CVSROOT变量,下次登陆cvs的时候不用输入路径
如客户端有用户guo,在/HOME/guo目录的文件.bash_profile中加入:
CVSROOT=:pserver:cvs@202.204.114.37:/home/cvs/cvsroot
export CVSROOT
键入命令使变量设置马上生效:
#source /home/weiqiong/.bash_profile
导入源代码,如果所有的代码都在目录/home/guo/source下
#cd ~/source
#cvs import -m "initial code" test guo start
这样服务器上生成目录/home/cvs/cvsroot/test中为源代码库
----------------------------------------------------------------
又摘抄了一点
linux cvs 安装配置
一、以root用户登录,安装cvs,此处可参考安装文档
二、创建cvs组:
# groupadd cvs
三、创建cvs主用户:
# useradd –g cvs cvsroot
# passwd cvsroot
四、创建cvs的主目录:
mkdir /home/cvsroot
五、修改/home/cvsroot目录的属组为cvsroot用户和cvs组权限为770使同组成员可以读写该目录:
# chown cvsroot /home/cvsroot
# chgrp cvs /home/cvsroot
# chmod 770 /home/cvsroot
六、6.初始化cvs源代码库,此操作生成目录/home/cvsroot/CVSROOT,其下为一些初始化文件
# cvs -d /home/cvsroot init
七、加入cvs服务,修改/etc/services,如果没有如下两行,则添加
cvspserver 2401/tcp # CVS client/server operations
cvspserver 2401/udp # CVS client/server operations
八、如果使用的是xinetd方式,所以在xinetd.d目录下添加需要启动的服务,则在该目录添加文件cvspserver,此名字必须与services
文件中一致
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/local/cvs/bin/cvs
server_args = -f --allow-root=/home/cvsroot pserver
log_on_failure += USERID
}
其中/usr/local/cvs/bin/cvs为cvs命令的执行路径
九、重新启动xinetd:
/etc/rc.d/init.d/xinetd restart
十、检查cvspserver服务是否已经启动
netstat -l |grep cvspserver
应该有如下结果:
tcp 0 0 *:cvspserver *:* LISTEN
十一、试用:
cvs -d :pserver:用户名@localhost:/home/cvsroot login
敲入命令回车后提示输入用户名的密码,你按照自己设置的密码输入,如果没有什么错误信息出现就是成功了
十二、添加cvs用户:
创建可以登陆cvs服务的用户及密码,需要创建文件passwd
vi /home/cvsroot/CVSROOT/passwd
文件内容如下:
test1:xxxxxx:cvsroot
test2:xxxxxx:cvsroot
此文件的意思是test1和test2两个用户可以登陆cvs服务器,登陆后其权限为用户cvsroot的权限
注意:cvs用户和服务器用户是可以不一样的
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}/n";
+++++ 可以使用/apache/bin/htpasswd 生成 +++++++
十三、系统其它用户如果应用cvs,则将用户的主属组设为cvs即可
修改/etc/passwd文件
十四、添加cvs路径:
PATH=$PATH:/usr/local/cvs/bin
export PATH
CVSROOT=/home/cvsroot
export CVSROOT
其中/usr/local/cvs/bin为cvs的命令路径
至此,cvs配置已全部完成,系统其它用户以可应用cvs命令,如果应用命令cvs ci等有目录不可写等错误,
则修改/home/cvsroot目录下对应的目录权限即可