在 RedHat Linux 7 上安装 CVS
CVS 版本 1.11.1.3 可能已经缺省安装在您的 RedHat Linux 7 上了。要检查是否已安装了 CVS,请输入命令 rpm -qa|grep 'cvs'
。如果返回的是 cvs-1.11.1-3
,就意味着已经安装了 CVS。
如果这条命令没返回任何内容,您就需要安装 CVS。CVS rpm 通常位于 RedHat Linux 7 分发版的安装 CD #2 上的 RedHat/RPMS
目录中。将该 CD 安装到 /mnt/cdrom
后,使用 rpm
命令安装 CVS:rpm -i /mnt/cdrom/RedHat/RPMS/cvs-1.11.1p1-3.i386rpm
建立 CVS 用户帐户和组
- 以 root 用户的身份登录。
- 创建一个名为
cvs
的用户,让这个用户使用 cvs
作为他的主组。
- 创建将在 Application Developer 中使用 cvs 的用户。本文使用
cvsdev1
和 cvsdev2
。
- 使用
cvs
的开发者可以使用他们的私有组作为他们的主组。例如,cvsdev1
的主组是 cvsdev1
,但要确保他们还属于 cvs
组。
建立文件夹和资源库
- 以用户
cvs
的身份登录。
- 在 cvs 自己的主目录(即
/home/cvs
/)下创建一个名为 repository
的目录。
- 设置目录
/home/cvs/repository
的访问级别和访问模式:chmod 770 /home/cvs/repository
- 设置目录
/home/cvs/repository
的 setgid 位:chmod g+s /home/cvs/repository
说明:在一个目录中创建文件时,该文件缺省情况下属于其所有者的主组。设置了目录的 setgid
位后,新文件将与该目录属于相同的组,而不属于其所有者的主组。例如,如果用户 cvsdev1
在目录 /home/cvs/repository
中创建了一些文件,则这些文件将属于 cvs
组而不是它的主组 cvsdev1
。
这一步至关重要,因为它使 CVS 用户能够检出其他用户创建的文件。如果这一步没完成,那么当您检出另一个用户创建的文件时,操作将失败,并发出下面这条消息:
Failed to create lock directory for /home/cvs/repository/...
: Permission denied.
Failed to obtain dir lock in repository /home/cvs/repository/...
- 初始化资源库:
cvs -d /home/cvs/repository init
- 注销用户
cvs
。
修改 xinetd 服务以启用 pserver 协议
- 以 root 用户的身份登录。
- 在目录
/etc/xinetd.d
中创建一个名为 cvspserver
的文件,文件内容如下:
# default: off
# description: An cvs server.
service cvspserver
{
disable = no
socket_type = stream
protocol = tcp
user = root
wait = no
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvs/repository pserver
log_on_success +=USERID
log_on_failure += USERID
}
- 打开
/etc/services
并核实存在下面这两行代码。如果不存在,则添加它们:
cvspserver 2401/tcp # CVS client/server operations
cvspserver 2401/udp # CVS client/server operations
- 重新启动
xinetd
服务:
service xinetd restart
建立用户环境
- 打开文件
/etc/profile
。您应该能在该文件中看到下面这些行:
USER='id -un'
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
- 在环境变量 MAIL 后添加一行内容:
CVSROOT=":pserver:$USER@localhost:/home/cvs/repository"
- 在该文件中,您还应该看到这样一行:
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
- 修改这一行并将 CVSROOT 添加到导出(export)列表中,如下所示:
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC CVSROOT
用本地用户测试安装
- Developer 1 以
cvsdev1
的身份登录。
- 通过输入下面的命令来确保环境变量是正确的:
echo $CVSROOT
它应该返回与用户名有关的象下面这样的结果:
:pserver:cvsdev1@localhost:/home/cvs/repository
- 用下面的命令登录 CVS:
cvs login
您将被提示提供密码。输入您的 Linux 密码。
- 创建一个名为
project1
的目录:
mkdir project1
- 在目录
project1
中创建一个名为 Test.java
的文件,文件内容如下:
public class Test{
public String sayHello(String name){
return "Hello"+name;
}
}
- 使用这些命令将
Test.java
导入到 CVS 资源库中的模块 project1
:
cd /home/cvsdev1/project1
cvs import -m "import Test.java" project1 wsadgroup release1_0
CVS 导入操作完成后,您应该会看到一条这样的消息:
N project1/Test.java
No conflicts created by this import
- 备份您的源代码:
cd
mv project1 project1.sav
- 从 CVS 资源库检出
project1
:
cd
cvs checkout project1
您应该会看到在 /home/cvsdev1
下创建了一个名为 project1
的新目录,该目录下有一个文件 Test.java
和一个目录 CVS
。
- Developer 2 以
cvsdev2
的身份登录。
cvsdev2
登录 CVS:
cvs login
cvsdev2
从 CVS 检出 project1
:
cvs checkout project1
您应该会看到这样一条来自 CVS 的消息:
cvs server:Updating project1
U project1/Test.java
- 向
Test.java
(位于目录 project1
中)添加一个新方法:
public String sayBye(String name){
return "Bye, " + name;
}
- 把
Test.java
检入到资源库中:
cvs commit -m "checkin Test.java" Test.java
您应该会看到这样一条来自 CVS 的消息:
Checking in Test.java;
/home/cvs/repository/project1/Test.java, v <-- Test.java
new revision: 1.2; previous revision: 1.1
done
用户 cvsdev1
用下面这些命令捕获 cvsdev2
所做的更改:
cd /home/cvsdev1/project1
cvs update Test.java
您应该会看到这样一条来自 CVS 的消息:
U Test.java
您可以用编辑器打开 Test.java
来查看 cvsdev2
所做的更新。
用 Application Developer 测试安装
- 打开 Team Perspective,选择 Repositories 视图并在工作台(Workbench)中选择 File => New => Other。在 CVS 类别中选择 Repository Location 并单击 Next。完成资源库位置向导。下面简要描述了向导的这个面板上的 CVS 术语:
- Connection type
- 您想用来连接到 CVS 服务器的协议。缺省值是 pserver,它代表密码服务器协议。这是我们刚才在 RedHat Linux 7 中设置的连接类型。
- User name
- 您用来登录到 CVS 服务器中的用户名。例如我们刚才在 RedHat Linux 7 中定义的 cvs 组中的 cvsdev1 或 cvsdev2。
- Host name
- 您想连接到的服务器的机器名。它将是 RedHat Linux 机器的主机名或 IP 地址。
- Repository path
- 服务器上的资源库位置的全限定路径。对于我们的安装和配置,它将是:
/home/cvs/repository
。
- CVS location
- Application Developer 用来连接到资源库的完整位置。当您填好前面几个字段时,它将被动态构建。
- Validate on finish
- 它在返回到 IDE 前测试资源库连接。请一直启用它作为第一次连接性测试。
图 1.
- 单击 Finish。如果 Application Developer 能够连接到 CVS 服务器,您将被提示提供该用户标识的密码。请参见下图 2。
图 2.
一旦用户标识和密码通过验证,您就会返回到 Repositories 视图,并且该视图上多了一个 Application Developer 连接到的新资源库条目。
- 展开 Streams => HEAD => project1,您就可以看到版本为分发版 1.2 的
Test.java
,这与我们在“用本地用户测试安装”这一节的第 13 步中看到的一致。
图 3.
- 右键单击
Test.java
并选择 Show in Resource History。在 Resource History 视图中,您可以看到 cvsdev1
何时对 Test.java
进行了第一次修订,在代码发生更改后,cvsdev2
何时把 Test.java
检入到了资源库中。
图 4.
图 5.
5. 最后,右键单击 project1
并选择 Add to Workspace。您们就可以开始对 Application Developer 中的 project1
进行操作了!
图 6.
结束语
本文已经描述了如何在 RedHat Linux 中配置 CVS。我希望这篇文章会对您有所帮助,并欢迎所有的反馈。
分享到:
相关推荐
在Redhat LINUX5.0操作系统上安装Oracle 10g、Tomcat5和JDK是一项技术性较强的任务,涉及到多个层面的知识点。首先,我们来详细解析这些关键组件的安装和配置过程。 1. **Oracle 10g安装**: Oracle 10g是一款关系...
本篇文章将详细讲解如何在Red Hat Linux Enterprise 5上安装并配置CVS。 一、CVS介绍 CVS是一个集中式的版本控制系统,允许多个开发者同时工作在同一份代码库上,并且能够跟踪每个开发者对文件的修改。CVS提供冲突...
在安装 RedHat Linux 9.0 之前,需要检查硬件支持和确认安装方式。 1. 检查硬件支持 Linux 目前支持几乎所有的处理器(CPU),包括老式的处理器和新式的处理器。另外,Linux 也支持大部分的主流硬件,包括显卡、...
RedHat Linux安装图解RedHat Linux安装图解RedHat Linux安装图解RedHat Linux安装图解
RedHat Linux操作系统作为企业级的Linux发行版,在安装过程中有着严格的规范要求,以确保系统的稳定性和安全性。本文将详细阐述RedHat Linux操作系统的安装规范。 首先,进行安装之前,系统管理员需要对当前的硬件...
在RedHat Linux上安装配置防火墙系统
redhat linux安装使用指南 redhat linux安装使用指南
在redhat linux es4上安装informix11.5过程
vmware下redhat linux9 的详细安装步骤
在Red Hat Linux系统中,KDE(K Desktop Environment)和GNOME是两种广泛使用的桌面环境。默认情况下,Red Hat安装的是GNOME,但用户可以根据需求安装KDE来提供不同的用户体验。KDE以其丰富的特性和高度可定制性而受...
在安装过程中,如果遇到依赖性问题,RPM会尝试解决它们。如果缺少必要的依赖,你需要手动查找并安装这些依赖。例如,如果提示缺少`libstdc++.so.6`,则需要安装`libstdc++` RPM包。 安装完成后,你可以通过运行以下...
在安装过程中,系统会自动识别硬件并安装相应的驱动,包括网络设备。在设置网络连接时,输入之前记录的网络配置信息。一旦所有设置完成,安装程序将开始复制文件并安装系统。安装完毕后,系统会引导至初始配置阶段,...
RedHat Linux9.0安装图解 全程图解
深圳信盈达嵌入式Linux培训资料,RedHat Linux虚拟机7.0安装(另有鼠标释放工具的安装过程)
在安装步骤中,文章详细介绍了每个步骤的详细过程,包括启动安装程序、CD 媒体检测、欢迎界面、语言选择、键盘配置、安装号码、磁盘分区设置和分区设置等步骤。每个步骤都配有相应的图示,以帮助读者更好地理解安装...
综上所述,RedHat Linux 9.0的安装不仅涉及硬件准备、媒体测试、语言与键盘布局的选择、鼠标配置、安装类型确定以及磁盘分区等步骤,更重要的是,它提供了一个高度定制化、安全稳定的平台,满足不同场景下的使用需求...
Redhat Linux9上手动安装DB2,详细说明了方法及步骤
在安装了所有必需的依赖之后,可以开始编译安装ffmpeg了。返回到ffmpeg源码目录: ```bash cd /usr/myffmpegproject/ffmpeg-0.8.5 ``` 配置并编译ffmpeg: ```bash ./configure --prefix=/usr --enable-shared --...