您的位置:首页 > 运维架构 > Linux

Linux CVS资料收集

2007-09-30 19:58 429 查看
1、安装CVS
首先确定系统中没有安装CVS,如果没有则安装:<br>
yum install cvs

2、确认系统中是否安装xinetd,在Fedora 6中这个没有默认安装。如果没有安装则安装:
yum install xinetd

3、修改/etc/xinetd.d/cvs

[root@fc6 CVSROOT]# cat /etc/xinetd.d/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 = 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=/shanmin/cvs pserver
# bind = 127.0.0.1
}

4、初始化cvs服务
cvs -d /shanmin/cvs init
注:这个路径要和/etc/xinetd.d/cvs中的一致,并且可以随便根据自己的需要定制.

5、增加用户
groupadd cvs
useradd cvsroot -g cvs

6、设置目录权限
chmod 777 /shanmin/cvs

7、修改/shanmin/cvs/CVSROOT/config文件
[root@fc6 CVSROOT]# cat config
# Set this to "no" if pserver shouldn't check system users/passwords
#SystemAuth=no

# Put CVS lock files in this directory rather than directly in the repository.
#LockDir=/var/lock/cvs

# Set `TopLevelAdmin' to `yes' to create a CVS directory at the top
# level of the new working directory when using the `cvs checkout'
# command.
#TopLevelAdmin=no

# Set `LogHistory' to `all' or `TOEFWUPCGMAR' to log all transactions to the
# history file, or a subset as needed (ie `TMAR' logs all write operations)
#LogHistory=TOEFWUPCGMAR

# Set `RereadLogAfterVerify' to `always' (the default) to allow the verifymsg
# script to change the log message. Set it to `stat' to force CVS to verify
# that the file has changed before reading it (this can take up to an extra
# second per directory being committed, so it is not recommended for large
# repositories. Set it to `never' (the previous CVS behavior) to prevent
# verifymsg scripts from changing the log message.
#RereadLogAfterVerify=always

注:这个更改是为了用户验证的时候忽略系统用户,这样可以避免建立很多的系统帐户,而影响安全性。

8、增加/shanmin/cvs/CVSROOT/passwd文件
[root@fc6 CVSROOT]# cat passwd
shanmin:woXRXXMqwnmWs:cvsroot
注:这个密码文件中第2段是md5的密码。多个用户为每行一个.

9、增加/shanmin/cvs/CVSROOT/readers文件
这个文件中存储着所有只读用户的用户名,一行一个.

10、增加/shanmin/cvs/CVSROOT/writers文件
这个文件中存储着所有可写权限的用户名,一行一个.
注:同一个用户不要在/shanmin/cvs/CVSROOT/readers和/shanmin/cvs/CVSROOT/writers中都填写,如果都填写则以/shanmin/cvs/CVSROOT/readers中的为准。

11、关闭SELinux
[root@~]#setenforce 0
注:CVS和SELinux有“冲突”,必须关闭,不然客户端会提示没有权限。

12、启动服务
service xinetd start

13、防火墙开2401端口

14、服务端安装完成。

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目录下对应的目录权限即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: