`
sovolee
  • 浏览: 25296 次
  • 性别: Icon_minigender_1
  • 来自: 长春
最近访客 更多访客>>
社区版块
存档分类
最新评论

AS4 CVS使用配置

阅读更多
一、CVS服务器的安装

首先确认系统中是否安装CVS服务:
[root@localhost /]# rpm -qa|grep cvs
cvs-1.11.2-cvshome.7x.1
如果命令输出类似于上面的输出则说明系统已经安装有cvs,否则就需要从安装光盘中安装cvs的rpm包,或者到http://www.cvshome.org下载。

1、建立 CVSROOT

目录,因为这里涉及到用户对CVSROOT里的文件读写的权限问题,所以比较简单的方法是建立一个组,然后再建立一个属于该组的帐户,而且以后有读写权限的用户都要属于该组。假设我们建一个组叫cvs,用户名是cvsroot。建组和用户的命令如下

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

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

2、建立CVS仓库,用cvsroot 用户登陆,用下面命令:

$cvs -d /home/cvsroot init

3、仍然是 cvsroot 用户,修改 /home/cvsroot (CVSROOT)的权限,赋与同组人有读写的权限: 

$chmod 775 -R /home/cvsroot

4、用root登录,加入cvs服务(我的redhath7.3缺省就有cvs服务,所以不用加)

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

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 = cvsroot
  server = /usr/bin/cvs
  server_args = -f --allow-root=/home/cvsroot pserver
  log_on_failure += USERID
}

重新启动inetd或者xinetd:
/etc/rc.d/init.d/xinetd restart

检查cvspserver服务是否已经启动
[root@localhost /]# netstat -lnp|grep 2401
tcp        0      0 0.0.0.0:2401            0.0.0.0:*               LISTEN      1041/xinetd 
则说明cvs服务器已经运行。

二、管理CVS服务器

服务器可以用了,现在大家最关心的就是如何管理服务器,比如,我想让一些人有读和/或写 CVS 仓库的权限,但是不想给它系统权限怎么办呢?

不难,在 cvs 管理员用户(在我这里是 cvsroot 用户)的家目录里有一个 CVSROOT 目录,这个目录里有三个配置文件,passwd, readers, writers,我们可以通过设置这三个文件来配置 CVS 服务器,下面分别介绍这几个文件的作用:

passwd:cvs 用户的用户列表文件,它的格式很象 shadow 文件:

{cvs 用户名}:[加密的口令]:[等效系统用户名]

readers:有 cvs 读权限的用户列表文件。就是一个一维列表。在这个文件中的用户对 cvs只有读权限。

writers:有 cvs 写权限的用户的列表文件。和 readers 一样,是一个一维列表。在这个文件中的用户对 cvs 有写权限。

上面三个文件在缺省安装的时候可能都不存在,需要我们自己创建,好吧,现在还是让我们用一个例子来教学吧。假设我们有下面几个用户需要使用 cvs:

laser, gumpwu, henry, betty, anonymous。

其中 laser 和 gumpwu 是系统用户,而 henry, betty, anonymous 我们都不想给系统用户权限,并且 betty 和 anonymous 都是只读用户,而且 anonymous 更是连口令都没有。

然后编辑 cvs 管理员家目录里 CVSROOT/passwd 文件(cvsroot用户),加入下面几行:

laser:$xxefajfka;faffa33:cvsroot
gumpwu:$ajfaal;323r0ofeeanv:cvsroot
henry:$fajkdpaieje:cvsroot
betty:fjkal;ffjieinfn/:cvsroot
anonymous::cvsroot

注意:上面的第二个字段(分隔符为 :)是密文口令。

密码可以有以下方法生成
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";

如果需要密码为:some,则敲入:
./passwdgen.pl some
(注意passwdgen.pl要先设为可执行chmod +x /home/cvsroot/passwdgen.pl)
回车即可得到加密密码,用其替换passwd文件中的passwd部分就可以了


编辑 readers 文件,加入下面几行:
anonymous
betty

编辑 writers 文件,加入下面几行:

laser
gumpwu
henry

注意:writers中的用户不能在readers中,要不然不能上传更新文件。


对于使用CVS的用户要修改它的环境变量,例如laser用户的环境变量,打开/home/laser(laser的宿主目录)下的.bash_profile文件,加入

CVSROOT=/home/cvsroot
export CVSROOT

用laser登陆就可以建立CVS项目,如果要root使用,可以修改/etc/profile文件。


现在我们各项都设置好了,那么怎么用呢,我在这里写一个最简单的(估计也是最常用的)命令介绍:

首先,建立一个新的CVS项目,一般我们都已经有一些项目文件了,这样我们可以用下面步骤生成一个新的CVS项目:

进入到你的已有项目的目录,比如叫 cvstest:

$cd  cvstest
运行命令:
$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仓库了。

  建立CVS仓库的文件夹应该是“干净”的文件夹,即只包括源码文件和描述的文件加,而不应该包括编译过的文件代码等!
分享到:
评论

相关推荐

    REL AS4 CVS安装及命令

    #### 二、CVS在Red Hat AS 4上的安装与配置 ##### 1. 查看是否已安装CVS 首先确认系统上是否已经安装了CVS。可以通过以下命令进行检查: ``` rpm -qa | grep cvs ``` 如果未安装,可以从官方网站下载最新版本的RPM...

    Eclipse+cvs配置说明

    在Eclipse的CVS配置中,勾选“CVSNT Clients”下的“Respond as cvs1.11.2 to version request”选项。这是为了确保Eclipse与CVSNT之间的兼容性,因为不同版本的CVS可能存在通信协议的差异。 5. **连接到CVS仓库**...

    Windows下Eclipse3.4之cvs安装配置pdf

    4. **导入CVS项目**:在Eclipse的“File”菜单中选择“Import”,然后选择“CVS” > “Checkout as Project”。输入CVS库的位置,选择要导入的项目,Eclipse会自动从CVS服务器获取项目源码。 5. **配置CVS资源**:...

    windows下cvs服务器安装配置(详)

    ### Windows 下 CVS 服务器安装配置详解 #### 一、引言 CVS(Concurrent Versions System)是一款开源的版本控制系统,被广泛应用于软件开发过程中的源代码管理。本篇文章将详细介绍如何在Windows环境下安装和配置...

    Eclipse3[1].4之CVS的安装与配置.pdf

    ### Eclipse 3.4 中 CVS 的安装与配置详解 #### 一、CVS服务器端的安装配置 **1. 下载CVS服务器端软件** 首先,需要下载CVS服务器端软件,当前最新版本为 cvsnt-2.5.03.2382。可以从官方网站 ...

    cvs客户端配置及相关问题

    - **设置模块名称**:继续点击“Next”,在下一个界面中选择“Use Project Name As Module Name”,这样项目的名称就会作为CVS中的模块名称。 - **完成分享**:再次点击“Next”并完成配置后,点击“Finish”按钮...

    CVS配置.doc

    ### CVS配置与使用详解 CVS(Concurrent Versions System)是一种源代码版本控制系统,主要用于软件开发过程中的版本管理和协作。本文将基于“CVS配置.doc”文档内容,深入解析CVS的安装、配置及在Eclipse环境下的...

    MyEclipse CVS配置详解 本人亲自操刀-震惊世界

    标题与描述均聚焦于"MyEclipse CVS配置详解"这一核心主题,强调了版本控制在团队开发中的重要性,尤其突出了CVS作为一款优秀的开源版本控制软件的角色,以及Eclipse平台对其内置支持所带来的便利。接下来,我们将...

    MyEclipse插件安装之CVS使用安装

    在开始使用CVS之前,我们需要确保已经正确安装并配置了CVS环境。具体步骤如下: 1. **安装CVS客户端**: - 首先下载并安装CVS客户端,如CVSNT等。安装完成后可以通过`CVSNT Control Panel > Repository ...

    CVS使用详解中文文档

    - 在CVS中,需要配置连接到仓库的参数,如选择连接类型(如Pserver)、设置仓库路径、主机地址、用户名以及CVSROOT。 3. **CVS项目管理** - **创建新项目上传至CVS** - 首先,创建一个新的工程,设置工程名称和...

    CVS安装与用户配置流程文档

    三、CVS配置流程 1. 创建仓库:例如创建名为“dir_php”的仓库,用于存放网站文件。 2. 打开CVSNT控制面板,选择Repository configuration选项卡,配置仓库路径。 3. 在Server Settings选项卡中,设置运行方式...

    windows下cvs服务器安装配置

    在配置兼容性方面,特别是在"Compatibility"标签下,勾选"Respond as cvs1.11.2 head version request",确保非CVSNT客户端(如Eclipse)能正常通信。 接下来,你需要设置用户访问权限。在"CVS Control Panel"的...

    eclipse下cvs使用

    本文将详细介绍如何在Eclipse中配置并使用CVS,包括基本配置流程以及常用操作。 ##### 基本配置: 1. **启动Eclipse**:首先确保Eclipse已安装并正常运行。 2. **显示CVS Repositories视图**: - 打开Eclipse,...

    cvsnt+tortoisecvs服务器端配置详解

    在测试【cvs连接成功】时,可以使用pserver协议进行连接,通过修改cRun as选项为管理员账户,然后在命令行中输入相应的cvs命令。如果能正确显示仓库文件列表,说明连接成功。 至于【创建归属于特定用户的目录模块】...

    Linux下CVS服务器的配置.doc

    4. **安装CVS**: 进入解压后的目录,并执行以下命令进行安装: ```bash # ./configure --prefix=你的安装目录 && make && make install ``` #### 二、创建CVS用户组与用户 接下来需要创建专门的CVS用户组和...

    MyEclipse使用CVS

    4. **CVS操作** - **签出(Checkout)**:通过右键点击项目,选择"Team" -> "Checkout from CVS",可以选择要签出的分支或标签。 - **提交(Commit)**:修改代码后,可以右键点击文件,选择"Team" -> "Commit"。...

Global site tag (gtag.js) - Google Analytics