当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 在 linux 上架设 FreeBSD CVSup mirror

Unix/Linux
FreeBSD 数据转移办法
Freebsd 下运行QQ For Linux 的方法
FreeBSD, Debian, CentOS一个网卡绑定多个IP
freebsd下切换到root下 su: Sorry 的解决办法
Freebsd挂载光驱和软驱
FREEBSD下运行调试asterisk
一些 freebsd 的常用命令
笔记本上安装freebsd的小知识
FreeBSD系统下添加中文字体
FreeBSD挂载DOS分区,正确显示中文
FreeBSD挂载DOS分区时显示中文的方法
freebsd7.0安装系统图解(最新版)
服务器的时间同步设置方法
FreeBSD FTP 的架设教程
FreeBSD mpd VPN服务器安装步骤
更新FreeBSD Port Tree的几种方法小结
portupgrade 中文手册(翻译)
freebsd 服务器 ARP绑定脚本
在Ubuntu系统中定制 Compiz Fusion 特效
Ubuntu 7.10 绑定IP及MAC地址

Unix/Linux 中的 在 linux 上架设 FreeBSD CVSup mirror


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 122 ::
收藏到网摘: n/a

前一段学校里面我原来架设的 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.accessdrwxr-xr-x 2 root root 4096 6月 7 16:22 prefixesdrwxr-xr-x 101 cvsupin cvsupin 4096 6月 7 19:04 supdrwxr-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.shconfig.sh 和 cvsupd.access 是 ports 中 make 可以生成的,可以直接利用。supfile 和 update.sh 存在于 ports/net/cvsup-mirror/files 文件夹。因为都是脚本文件,所以直接采取复制的政策。一切都可以参考 ports/net/cvsup-mirror/ 下的相关文件:)创建需要的目录:mkdir -p /usr/local/etc/cvsup/prefixesmkdir -p /usr/local/etc/cvsup/sup.client/distribmkdir -p /usr/local/etc/cvsup/supmkdir -p /usr/local/etc/rc.dmkdir -p /home/cvsupmirror/ncvsmkdir -p /home/cvsupmirror/www拷贝必须的文件:cp work/config.sh /usr/local/etc/cvsup/config.shcp work/cvsupd.access /usr/local/etc/cvsup/cvsupd.accesscp files/update.sh /usr/local/etc/cvsup/update.shcp files/supfile /usr/local/etc/cvsup/supfilecp files/refuse.self /usr/local/etc/cvsup/sup.client/distrib/refuse.selfcp files/cvsupd.sh /usr/local/etc/rc.d/cvsupd.shcp /dev/null /usr/local/etc/cvsup/.start_server做链接,保证你的 cvsup 的内容放在正确的地方:按照 config.sh 中的设置,注意必须前后一致。ln -sf /home/cvsupmirror/ncvs /usr/local/etc/cvsup/prefixes/FreeBSD.cvsln -sf /home/cvsupmirror/www /usr/local/etc/cvsup/prefixes/FreeBSD-www.currentln -sf /usr/local/etc/cvsup/prefixes/.. /usr/local/etc/cvsup/prefixes/distrib.selfln -sf SKIP /usr/local/etc/cvsup/prefixes/FreeBSD-gnats.currentln -sf SKIP /usr/local/etc/cvsup/prefixes/FreeBSD-mail.current添加组 cvsup 和 cvsupin,添加用户 cvsup 和 cvsupin。都没有 shell,cvsup 没有主目录,cvsupin 建一个在 /home 好了。mkdir -p /home/cvsupin/.cvsuptouch /home/cvsupin/.cvsup/auth把 /home/cvsupin 和 /home/cvsupmirror 都给上适当的权限ll /homedrwx------ 3 cvsupin cvsupin 4096 6月 7 16:12 cvsupindrwxr-xr-x 4 root root 4096 6月 7 19:06 cvsupmirrorll /home/cvsupmirrordrwxr-xr-x 14 cvsupin cvsupin 4096 6月 7 19:56 ncvsdrwxr-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 supdrwxr-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.shok,差不多了,有问题再看看日志吧,手动执行 /usr/local/etc/cvsup/update.sh,注意用全路径,呵呵,没有错误就更新吧,启动 cvsupd 找个客户连一下,到 /var/log/ 下面看看 log,应该没啥问题。基本的过程就是这样了,做完这个好些天了,现在凭印象和系统上装好的样子写,难免有遗漏,有问题告诉我哦,嘿嘿。