 |
在 linux 上架设 FreeBSD CVSup mirror |
|
| 在 linux 上架设 FreeBSD CVSup mirror |
|
| 作者:未知 文章来源:网络收集 点击数: 更新时间:2006-3-24 11:40:16
|
| 前一段学校里面我原来架设的 FreeBSD CVSup mirror 服务器停止服务了,因为机器被搬走了:p,很想再搞一个,但是可惜校内没有什么我可以用的机器是用 FreeBSD 的,我有权限的机器有 AIX,linux,windows,最后想了半天决定在 linux 上装一下试一试,先搜索没找到什么相关资料,本来嘛,没有多少人会有这么 bt 的想法,除了我:p。 试验平台,RedHat Linux 9。因为 AIX 平台我没有 root 权限,为了避免太多的麻烦。。 首先应该安装 cvsup,因为 CVSup mirror 是完全依赖于 cvsup 工作的,安装 cvsup 有 ezm3 的依赖,ezm3 的主页在这里:http://www.polstra.com/projects/freeware/ezm3/ 最新的版本是 1.1,配合最新的 cvsup 软件,也应该安装新的 1.1 版本。下载源代码编译安装,不用考虑依赖性,因为没有什么其他东西会依赖 ezm3 和 cvsup 的,所以不用担心会出现什么依赖性问题。编译安装过程中要注意的是 ezm3 的编译安装过程是不可分的,所以需要使用有 root 权限的用户。编译安装需要的时间不短,耐心等一等了。之后编译安装 cvsup,一切都很顺利。 分析 FreeBSD 平台上装好的 cvsup-mirror 以及 cvsup-mirror 的 ports,/usr/local/etc/cvsup 下面应该有这样的文件(夹): -rwxr-xr-x 1 root root 312 6月 7 20:10 config.sh -rw-r--r-- 1 root root 154 6月 7 15:51 cvsupd.access drwxr-xr-x 2 root root 4096 6月 7 16:22 prefixes drwxr-xr-x 101 cvsupin cvsupin 4096 6月 7 19:04 sup drwxr-xr-x 5 cvsupin cvsupin 4096 6月 7 19:57 sup.client -rw-r--r-- 1 root root 404 6月 7 15:53 supfile -rwxr-xr-x 1 root root 1574 6月 7 20:11 update.sh config.sh 和 cvsupd.access 是 ports 中 make 可以生成的,可以直接利用。supfile 和 update.sh 存在于 ports/net/cvsup-mirror/files 文件夹。因为都是脚本文件,所以直接采取复制的政策。 一切都可以参考 ports/net/cvsup-mirror/ 下的相关文件:) 创建需要的目录: mkdir -p /usr/local/etc/cvsup/prefixes mkdir -p /usr/local/etc/cvsup/sup.client/distrib mkdir -p /usr/local/etc/cvsup/sup mkdir -p /usr/local/etc/rc.d mkdir -p /home/cvsupmirror/ncvs mkdir -p /home/cvsupmirror/www 拷贝必须的文件: cp work/config.sh /usr/local/etc/cvsup/config.sh cp work/cvsupd.access /usr/local/etc/cvsup/cvsupd.access cp files/update.sh /usr/local/etc/cvsup/update.sh cp files/supfile /usr/local/etc/cvsup/supfile cp files/refuse.self /usr/local/etc/cvsup/sup.client/distrib/refuse.self cp files/cvsupd.sh /usr/local/etc/rc.d/cvsupd.sh cp /dev/null /usr/local/etc/cvsup/.start_server 做链接,保证你的 cvsup 的内容放在正确的地方: 按照 config.sh 中的设置,注意必须前后一致。 ln -sf /home/cvsupmirror/ncvs /usr/local/etc/cvsup/prefixes/FreeBSD.cvs ln -sf /home/cvsupmirror/www /usr/local/etc/cvsup/prefixes/FreeBSD-www.current ln -sf /usr/local/etc/cvsup/prefixes/.. /usr/local/etc/cvsup/prefixes/distrib.self ln -sf SKIP /usr/local/etc/cvsup/prefixes/FreeBSD-gnats.current ln -sf SKIP /usr/local/etc/cvsup/prefixes/FreeBSD-mail.current 添加组 cvsup 和 cvsupin,添加用户 cvsup 和 cvsupin。 都没有 shell,cvsup 没有主目录,cvsupin 建一个在 /home 好了。 mkdir -p /home/cvsupin/.cvsup touch /home/cvsupin/.cvsup/auth 把 /home/cvsupin 和 /home/cvsupmirror 都给上适当的权限 ll /home drwx------ 3 cvsupin cvsupin 4096 6月 7 16:12 cvsupin drwxr-xr-x 4 root root 4096 6月 7 19:06 cvsupmirror ll /home/cvsupmirror drwxr-xr-x 14 cvsupin cvsupin 4096 6月 7 19:56 ncvs drwxr-xr-x 3 cvsupin cvsupin 4096 6月 7 19:57 www 还有 /usr/local/etc/cvsup 里面的两个及其子目录: drwxr-xr-x 101 cvsupin cvsupin 4096 6月 7 19:04 sup drwxr-xr-x 5 cvsupin cvsupin 4096 6月 7 19:57 sup.client 设置日志记录: 在 /etc/syslog.conf 中添加: !cvsupd $.info /var/log/cvsupd.log 注意 update.sh 需要做些更改才能在 linux 上执行 首先要安装 jot 命令,搜索得到: http://freshmeat.net/projects/bsd-jot/ 提供了 jot 的 rpm,这个命令是 BSD 基本系统的一部分,RedHat 默认是没有的 装好了修改 update.sh 中 jot 的路径,改为 /usr/local/bin/jot 还有这样一行: lockf -t 0 $ /bin/sh << 'E*O*F' 看上去不是很重要,注释掉了。 E*O*F 也无法识别,注释掉了。 设定 crontab 让他定时执行 23 * * * * /usr/local/etc/cvsup/update.sh ok,差不多了,有问题再看看日志吧,手动执行 /usr/local/etc/cvsup/update.sh,注意用全路径,呵呵,没有错误就更新吧,启动 cvsupd 找个客户连一下,到 /var/log/ 下面看看 log,应该没啥问题。基本的过程就是这样了,做完这个好些天了,现在凭印象和系统上装好的样子写,难免有遗漏,有问题告诉我哦,嘿 [1] [2] 下一页
|
|
[ 收藏此页到: 天天|和讯|博采|ViVi|狐摘|我摘|天极 ] 文章录入:kinda 责任编辑:kinda |
|
上一篇文章: 一个很简单但是最常用的SED例子:UNIXDOS文本格式转换 下一篇文章: CICS FOR WINDOWS |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |