cvs服务器在redhat 9.0上的建立以及应该注意的问题
搞了半天,终于把cvs服务器建立起来,原来不能启动服务的原因就是pserver文件有问题,我原来是拷贝网页上的文件内容,这在行末会加上一些换行符,导致服务不能启动,后来用vi编辑器建立一个文件,手工输入才搞定。真是超级郁闷,这么点小问题搞了老半天才搞定。以后要吸取教训。最后在其他的机子上用wincvs checkout的时候,出现如下的错误提示:
cvs server: Updating ffmpeg
cvs server: failed to create lock directory for `/home/cvsroot/ffmpeg' (/home/cvsroot/ffmpeg/#cvs.lock): Permission denied
cvs server: failed to obtain dir lock in repository `/home/cvsroot/ffmpeg'
cvs [server aborted]: read lock failed - giving up
***** CVS exited normally with code 1 *****
仔细检查才发现是用户的权限不够,于是在服务器上切换到root用户
[root@icas3 root]# chown -R cvsadmin.cvs /home/cvsroot
这才完全搞定,于是把运行的一些命令在下面列出,做个文档
在redhat 9.0下cvs自带的,查询方式rpm -qa |grep cvs
[root@icas3 root]# groupadd cvs
[root@icas3 root]# useradd -g cvs -d /home/cvsroot cvsadmin
[root@icas3 root]# passwd cvsadmin
Changing password for user cvsadmin.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@icas3 root]# su - cvsadmin
[cvsadmin@icas3 cvsroot]$ more /etc/services|grep cvspserver
cvspserver 2401/tcp # CVS client/server operations
cvspserver 2401/udp # CVS client/server operations
[cvsadmin@icas3 cvsroot]$ exit
[root@icas3 root]# vi /etc/xinetd.d/cvspserver
note:一下内容要用文本编辑器,手工输入,"="两边加空格,不要复制网页上的文字,否则无法启动
service cvspserver
{
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvsroot pserver
log_on_failure += USERID
}
:wq
[cvsadmin@icas3 cvsroot]$ vi /etc/profile
CVSROOT=/home/cvsroot
export CVSROOT
:wq
[root@icas3 root]# source /etc/profile
[root@icas3 root]# cvs init
[root@icas3 root]# service xinetd restart
[root@icas3 root]# netstat -lnp|grep 2401
tcp 0 0 0.0.0.0:2401 0.0.0.0:* LISTEN 2999/xinetd
[root@icas3 root]# cvs -d:pserver:cvsadmin@10.22.64.217:/home/cvsroot login
Logging in to :pserver:cvsadmin@10.22.64.217:2401/home/cvsroot CVS password:
[root@icas3 root]#
接下来向CVS添加新的项目模块,在我的机子上在root目录下有ffmpeg这个工程目录,现在要把它添加到CVS中
[root@icas3 root]#cd /root/ffmpeg
[root@icas3 root]#cvs import -m "this is a ffmpeg project" ffmpeg nbu start
其中:
-m参数后面的字串是描述文本,对项目进行描述,如果不加 -m 参数,那么cvs会自动运行一个编辑器(一般是vi,但是可以通过修改环境变量EDITOR来改成你喜欢用的编辑器)让你输入信息,ffmpeg 是项目名称(实际上是仓库名,在CVS服务器上会存储在以这个名字命名的仓库里)
nbu是这个厂商标记.
start 是每次 import 标识文件的输入层次的标记。
下面就可以把进行login和checkout了
命令:
cvs -d:pserver:cvsadmin@10.22.64.217:/home/cvsroot login
cvs checkout ffmpeg