cvs 安装

Cvs服务器安装  首先确保系统安装有cvs:
  [root@mail xinetd.d]# rpm -qa|grep cvs
  cvs-1.11.1p1-3
  如果命令输出类似于上面的输出则说明系统已经安装有cvs,否则就需要从安装光盘中安装cvs的rpm包。
  一 创建CVS属主用户:
  # useradd -d /cvsroot cvs
  # chmod 771 /cv sroot
  二、建立CVS仓库(初始化cvs)
  # su cvs
  $ cvs -d /cvsroot init
  $exit
  #
  四、启动cvs服务器
  在/etc/xinetd.d/目录下创建文件cvspserver,内容如下:
  # default: on
  # description: The cvs server sessions;
  service cvspserver
  {
  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
  然后重新启动xinetd:
  # /etc/rc.d/init.d/xined restart
  然后察看cvs服务器是否已经运行:
  [root@mail xinetd.d]# netstat -lnp|grep 2401
  tcp 0 0 0.0.0.0:2401 0.0.0.0:* LISTEN 7866/xinetd
  则说明cvs服务器已经运行。
  五、创建用来访问cvs的用户
  前面创建的cvs用户是cvs仓库管理用户,而为了让用户访问则还需要一个访问用户:
  # useradd cvspub
  # usemod –G cvs cvspub
  这里添加了一个用户cvspub,并且将该用户添加到cvs组中。
  六、管理cvs服务器
  管理 cvs 服务器.服务器可以用了,现在大家最关心的就是如何管理服务器,比如,我想让一些人有读和/或写 CVS 仓库的权限,但是不想给它系统权限怎么办呢?不难,cvs初始化结束以后,在管理员用户(这里是cvs用户)的主目录里有一个 CVSROOT 目录,这个目录里有三个配置文件:passwd, readers, writers。我们可以通过设置这三个文件来配置 CVS 服务器,下面分别介绍这几个文件的作用:
  passwd:cvs 用户的用户列表文件,它的格式很象 shadow 文件:
  {cvs 用户名}:[加密的口令]:[等效系统用户名]
  如果你希望一个用户只是 cvs 用户,而不是系统用户,那么你就要设置这个文件,刚刚安装完之后这个文件可能不存在,你需要以cvs管理员身份(su cvs)用户手工创建,当然要按照上面格式;
  第二个字段是该用户的加密口令,就是用 crypt (3) 加密的,你可以自己写一个程序来做加密,也可以用两个偷懒的方法:先创建一个系统用户,名字和 cvs 用户一样,口令就是准备给它的 cvs 用户口令,创建完之后从 /etc/shadow 把该用户第二个字段拷贝过来,然后 再把这个用户删除.这个方法对付数量少的用户比较方便,人一多就不合适了,而且还有冲突条件(race condition)的安全隐患,还要 root 权限,实在不怎么样,不过权益之计而已;另外一个方法就是利用apche的htpasswd命令创建passwd用户,添加用户只需要htpasswd passwd username即可添加用户到passwd文件中,不过需要在文件中对应行的最后添加一个“:”冒号和对应的等效系统用户名;最好的就是自己编写一个程序了来生成这个passwd文件了。
  第三个字段就是等效系统用户名,实际上就是赋与一个 cvs 用户一个等效的系统用户的权限,看下面的例子你就明白它的功能了。
  readers:有 cvs 读权限的用户列表文件,就是一个一维列表。在这个文件中的用户对 cvs
  只有读权限。
  writers:有 cvs 写权限的用户的列表文件,和 readers 一样,是一个一维列表。在这个文件中的用户对 cvs 有写权限。
  上面三个文件在缺省安装的时候可能都不存在,需要我们自己创建,好吧,现在还是让我们用一个例子来教学吧.假设我们有下面几个用户需要使用 cvs:
  cvsuser1, cvsuser2, henry, betty, anonymous
  其中 laser 和 gumpwu 是系统用户,而henry, betty, anonymous 我们都不想给系统用户权限,并且 betty 和 anonymous 都是只读用户,而且 anonymous 更是连口令都没有。
  然后编辑 cvs 管理员家目录里 CVSROOT/passwd 文件,加入下面几行:
  laser:$xxefajfka;faffa33:cvspub
  gumpwu:$ajfaal;323r0ofeeanv:cvspub
  henry:$fajkdpaieje:cvspub
  betty:fjkal;ffjieinfn/:cvspub
  anonymous::cvspub
  注意:上面的第二个字段(分隔符为 :)是密文口令,你要用程序或者用我的土办法生成。
  编辑 readers 文件,加入下面几行:
  anonymous
  betty
  编辑 writer 文件,加入下面几行:
  laser
  gumpwu
  henry
  这样就 ok 了,你再用几个用户分别登陆测试,就会发现一切都 ok 了。这里面的原理和说明我想就不多说了,其实很简单,和系统管理用户的概念是一样的。
  七、建立新的CVS项目
  一般我们都已经有一个或多个项目了,这样我们可以用下面步骤生成一个新的CVS项目。
  将一个工程文件置于CVs中进行版本控制,在CVS 术语中称作导入(import)。从名字上就可以看出,在导入前需要为此作些准备工作。
  输入操作的基本要求是有个“干净”的目录结构。“干净”的意思是不需要版本控制的文件都被移走了(如编译生成的文件,备份文件等等)。如果工程已经开始一段时间了,这就显得很重要。在目录中也许有些是不打算将其置于版本控制下的文件,但是又想将他们放在这里,这种情况下,你要在输入之前将它们移走,然后再移回来。
  注意的是CVS 认为空目录是不存在的。如果想增加一个既不包含文件又不包含子目录的目录,需要在其下创建一个哑文件。建议你创建一个名为 README.txt 的文件,其内容为对目录的简要说明。
  进入到已有项目的目录,比如叫 cvstest:
  $cd cvstest
  运行命令将项目文件导入到cvs仓库中:
  $cvs import -m "this is a cvstest project" cvstest v_0_0_1 start
  说明:import 是cvs的命令之一,表示向cvs仓库输入项目文件.
  -m参数后面的字串是描述文本,对项目进行描述,如果不加 -m 参数,那么cvs会自动运行一个编辑器(一般是vi,但是可以通过修改环境变量EDITOR来改成你喜欢用的编辑器)让你输入信息,cvstest 是项目名称(实际上是仓库名,在CVS服务器上会存储在以这个名字命名的仓库里)
  v_0_0_1是这个分支的总标记.没啥用(或曰不常用)
  start 是每次 import 标识文件的输入层次的标记,没啥用。
  这样我们就建立了一个CVS仓库了,然后,我们可以把这个测试项目的文件删除,试验如何从仓库获取文件这会在后面的客户端文章进行说明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值