本文讲述的是如何在 FreeBSD 上安装 CVS 服务器. 为方便讲解, 这里假定代码库位于 cvs.example.com.
登陆到该服务器有两种命令方式: ext 和 pserver 方式. 下面我们将对这两种方式分别作讲解.
一. ext 方式
$ cvs -d :ext:abc@cvs.example.com:/usr/local/cvsroot checkout .
这种方式不需要服务器提供任何服务. 应用简单. 缺点是每次 cvs 命令都要输入密码. 如:
$ cvs up
Password:
用久了是有点麻烦.
二. pserver 方式
$ cvs -d :pserver:abc@cvs.example.com:/usr/local/cvsroot login
这种方式是最常用的. 每次更新, 提交, 删除等命令执行时不需要输入密码.
下面要讲解的是如何在 cvs 服务器 cvs.example.com 上启用 pserver 方法. 实现步骤如下:
1. 确保该服务在服务名数据库中存在.
检查 /etc/services 文件, 确认如下入口存在
cvspserver 2401/tcp
2. 通过 inetd 启动该服务.
检查 /etc/inetd.conf 文件, 将有如下一行:
# cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/usr/local/cvsroot pserver
将位于行首的注释去掉.
3. 检查 inetd 进程是否已经起动
# ps aux | grep inetd
有类似如下一行时:
root 1079 0.0 0.1 3240 1400 ?? Is 6:55PM 0:00.00 /usr/sbin/inetd
要重启 inetd. 方式如下:
首选:
# killall -hup inetd
备选:
# kill -9 1079
# /usr/sbin/inetd
备用命令
端口查看 (可用于检查 cvs pserver 缺省端口 2401 是否已经开放):
# sockstat -4
常用的方案是这样. 网上还有用 xinetd 的. 但笔者没有用到, 故在此不作缀述.