免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1584 | 回复: 0
打印 上一主题 下一主题

在 linux 上架设 FreeBSD CVSup mirror [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-04-17 20:08 |只看该作者 |倒序浏览
前一段学校里面我原来架设的 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
${facility}.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 ${lock} /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,应该没啥问题。基本的过程就是这样了,做完这个好些天了,现在凭印象和系统上装好的样子写,难免有遗漏,有问题告诉我哦,嘿嘿。

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/5602/showart_21828.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP