当前位置:  技术问答>linux和unix

★★★★★牛人请进,cvs的配置问题,完全解决问题者再开贴给300分★★★★★

    来源: 互联网  发布时间:2015-06-16

    本文导语:  我按如下步骤进行配置: 1:我用的是linux redhat9.0  2:建立了cvs用户组  groupadd cvs 3.建立cvs组的cvsroot用户和所属的目录  useradd -g cvs -G cvs -d/home/cvsroot cvsroot 4:为cvsroot用户添加密码  passwd cvsroot 5:改变/home/cvs...

我按如下步骤进行配置:
1:我用的是linux redhat9.0 

2:建立了cvs用户组 

groupadd cvs

3.建立cvs组的cvsroot用户和所属的目录 

useradd -g cvs -G cvs -d/home/cvsroot cvsroot



4:为cvsroot用户添加密码 

passwd cvsroot

5:改变/home/cvsroot的目录属性 

chmod 775 /home/cvsroot

6:初始化cvs源码库,此操作生成目录/home/cvsroot/CVSROOT,其下为一些初始化文件 

cvs -d/home/cvsroot init


7:创建可以登陆cvs服务的用户及密码,需要创建文件passwd 

vi /home/cvsroot/CVSROOT/passwd


文件内容如下: 

cvsadmin:cvspassword:cvsroot 

8.加入cvs服务(我的redhath9缺省就有cvs服务,所以不用加) 

vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service

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

我的redhat9使用的是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
}


10.重新启动inetd或者xinetd: 

/etc/rc.d/init.d/xinetd restart



11.检查cvspserver服务是否已经启动 

netstat -l |grep cvspserver



结果如下: 

tcp 0 0 *:cvspserver *:* LISTEN



以上结果全部通过,但我在客户端登录时:
cvs -d :pserver:cvsadmin@210.42.25.218:/home/cvsroot login

输入密码后:显示如下错误,高手指点我前面有什么配置错误吗??
cvs [login aborted]: Error reading from server 210.42.25.218: 0: No such file or directory

|
你的问题我想是:
1。登录时用户名不是你建立的用户名
你建立的用户是cvsroot,可是登录时用的cvsadmin
应该是cvs -d :pserver:cvsroot@210.42.25.218:/home/cvsroot login
2.密码的问题
创建可以登陆cvs服务的用户及密码,需要创建文件passwd
  vi /home/cvsroot/CVSROOT/passwd
 文件内容如下:
 cvsroot:xxxxx:cvsroot

用vi,
$ 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"; 

假定你设置的cvsroot的密码是"some"

然后输入:
$perl passwdgen.pl "some" 回车即可得到加密密码x,用x替换passwd文件中的xxxxxx 

然后
$/etc/rc.d/init.d/xinetd restart重新登录应该没有什么问题了,呵呵,我当时整了一整天才搞定的

|
安装cvs后服务器和客户端就都安装了,主要是需要配置服务器端:
1.查看是否安装cvs(我的redhat7.3缺省是装了的)
 rpm -qa|grep cvs
 一般安装在/usr/bin/cvs,如果未安装,到www.cvshome.org下载一个最新的rpm安装即可

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

3.建立cvs组的cvsroot用户和所属的目录
 useradd -g cvs -G cvs -d /home/cvsroot cvsroot

4.为cvsroot用户添加密码
 passwd cvsroot

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

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

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

8.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";

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

10.加入cvs服务(我的redhath7.3缺省就有cvs服务,所以不用加)
 vi /etc/services
 cvspserver 2401/tcp #pserver cvs service
 cvspserver 2401/udp #pserver cvs service 

11.cvs服务由inted来唤起,因此需要改动inetd提供的服务,如果你的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
  }
12.重新启动inetd或者xinetd:
 /etc/rc.d/init.d/xinetd restart

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

14.试用:
  cvs -d :pserver:weiqiong@202.204.114.37:/home/cvsroot login
  敲入命令回车后提示输入weiqiong的密码,你按照自己设置的密码输入,如果没有什么错误信息出现就是成功了(我的机器IP地址是202.204.114.37,也可以用localhost) 

|
root 权限; 
CVS软件,请找到相关的rpm,tgz,deb 等包装上,或者到 
http://www.cvshome.org/CVS/Dev/code
下载原程序编译安装,这里我不准备介绍它的安装,请参考CVS自身的文档安装.我使用Slackware的tgz包,安装的命令是
#installpkg cvs*.tgz
其他包请参考对应包管理工具的命令. 
一定的系统资源,要有一定内存(32M就能工作得很好),要一定的磁盘空间,看你的项目的大小和多少而定. 
架设CVS服务器: 
建立 CVSROOT 目录,因为这里涉及到用户对CVSROOT里的文件读写的权限问题,所以比较简单的方法是建立一个组,然后再建立一个属于该组的帐户,而且以后有读写权限的用户都要属于该组.假设我们建一个组叫cvs,用户名是cvsroot.建组和用户的命令如下 
  

#groupadd cvs
#adduser cvsroot 
 

生成的用户家目录在/home/cvsroot(根据自己的系统调整) 
 

用 cvsroot 用户登陆,修改 /home/cvsroot (CVSROOT)的权限,赋与同组人有读写的权限: 
  

$chmod 771 . (或者770应该也可以) 
注意:这一部分工作是按照文档说明做的,是否一定需要这样没有试验,我会在做试验后在以后版本的教程说得仔细一点.如果您有这方面的经验请提供给我,谢谢.
 

建立CVS仓库,(仍然是 cvsroot 用户),用下面命令: 
  

$cvs    -d /home/cvsroot init 
 

以root身份登陆,修改 /etc/inetd.conf(使用 xinetd 的系统没有此文件)和 /etc/services, 
如果用的是 inetd 的系统,在 /etc/inetd.conf 里加入:
cvsserver    stream    tcp    nowait    root    /usr/bin/cvs    cvs -f  --allow-root=/home/cvsroot pserver

说明:上面的行是单独一整行,/usr/bin/cvs 应该是你的cvs版本的命令路径,请根据自己的系统调整./home/cvsroot 是你建立的CVSROOT的路径,也请根据上面建立目录的部分的内容做调整. 

如果是使用 xinetd 的系统,需要在 /etc/xinetd.d/ 目录下创建文件 cvspserver(此名字可以自己定义),内容如下: 


# default: on
# description: The cvs server sessions;

service cvsserver
{
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/cvsroot pserver
log_on_failure += USERID
only_from = 192.168.0.0/24



其中only_from是用来限制访问的,可以根据实际情况不要或者修改。修改该文件权限: 


# chmod 644 cvspserver


在/etc/services里加入: 


cvsserver    2401/tcp 

说明:cvsserver 是任意的名称,但是不能和已有的服务重名,也要和上面修改 /etc/inetd.conf 那行的第一项一致.这里我用的是 CVS 的口令认证方式,CVS 还有其他认证方式,我没有做试验,如果您有经验,请补充,谢谢.
 

添加可以使用 CVS 服务的用户到 cvs 组: 
以 root 身份修改 /etc/group,把需要使用 CVS 的用户名加到 cvs 组里,比如我想让用户 laser 和gumpwu 能够使用 CVS 服务,那么修改以后的 /etc/group 应该有下面这样一行: 
cvs:x:105:laser,gumpwu


在你的系统上GID可能不是105,没有关系.主要是要把laser和gumpwu用逗号分隔开写在最后一个冒号后面.当然,象RedHat等分发版有类似linuxconf这样的工具的话,用工具做这件事会更简单些.

重起inetd使修改生效: 
  

#killall -HUP inetd 
如果使用的是 xinetd 的系统:


# /etc/rc.d/init.d/xined restart


    
 
 

您可能感兴趣的文章:

  • 紧急!一个有关CVS的非常重要的问题!所有人熟悉CVS的都进来看看吧!
  • cvs问题:请问cvs服务器是装在nt下好,还是linux/unix下好!
  • 配置cvs问题,已检查到cvs启动了,但使用带密码的登录方式却出错
  • CVS版本问题
  • 关于CVS列举当前存在的项目的问题?
  • 急,急,关于CVS问题?
  • cvs登录问题求助.
  • cvs的问题
  • 在linux在安装CVS碰到个问题想请教下
  • 请教Dev-C++和CVS搭配使用的问题
  • cvs -commit问题
  • cvs login的问题 急!!!!
  • 关于LINUX下CVS的问题.
  • Linux 下面CVS安装问题求助(急)
  • 关于cvs的问题
  • cvs的问题,急急急!!!
  • redhat8上配置cvs问题
  • 请帮忙,有关cvs check out的问题
  • 配置以及登陆CVS遇到问题,求教!!!!!!!!!!!
  • Linux下CVS仓库的问题?菜鸟在线急等人来解答??
  • 重新配置cvs
  • cvs配置问题
  • linux 下 cvs 服务器配置(在线等)
  • CVS 配置 求救
  • suse配置CVS服务器,很多命令没有,是怎么回事情啊?
  • 关于CVS服务器配置求助
  • cvs服务器的配置
  • CVS的配置问题。
  • CVS配置的问题?在线等人帮忙
  • 那位大哥有Solaris下安装配置cvs的具体步骤,我先谢了!!!!
  • 请问在debian下配置cvs的问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux 上安装cvs(解决100分相送)
  • Android上的CVS服务器 Pocket CVS
  • cvs 快速导出工具 cvs-fast-export
  • CVS的Java客户端包 Java CVS Client
  • 有没有CVS for sco open server 5.05 版的?我 从CVS官方网站下载 cvs-1.11.5.tar.gz
  • 启动CVS服务器后,CVS的后台服务进程叫什么名?
  • 各位大虾:配好cvs服务器后,telnet ,结果提示:cvs invalid option --o,然后连接被关闭,怎么回事?
  • cvs / cvsup / rsync , 关于cvs库的使用、备份、镜像 < 专题讨论 >
  • 如何将现有的一台CVS服务器里的项目文件,备份到另一台CVS服务器里呢?
  • 请问:从CVS上提东西时,老是提示cvs [checkout aborted]: or set the CVSROOT environment variable.,这怎么办啊
  • cvs在release的时候告诉我can't create lock file or deretory "c:/cvsrepo/test/report/#cvs.lock
  • 求CVS用法
  • 【cvs提问】我定义了一个模块,可是在co的时候出现如下错误!
  • cvs紧急求救!!!
  • 关于安装cvs服务器,装好就结贴!!!
  • 怎样用cvs下载源码?急啊!!!!!!
  • cvs请教
  • cvs checkout出错?!
  • 如何使用代理访问CVS?
  • 紧急求助:请教在如何将一个文件夹上传到CVS上去
  • 关于CVS的设置


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3