您的位置:軟件測試 > 開源軟件測試 > 開源配置管理工具 > cvs
linux 架設 FreeBSD CVSup mirror
作者:網(wǎng)絡轉(zhuǎn)載 發(fā)布時間:[ 2012/12/27 14:25:38 ] 推薦標簽:

前一段學校里面我原來架設的 FreeBSD CVSup mirror 服務器停止服務了,因為機器被搬走了:p,很想再搞一個,但是可惜校內(nèi)沒有什么我可以用的機器是用 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 的,所以不用擔心會出現(xiàn)什么依賴性問題。編譯安裝過程中要注意的是 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.aclearcase/" target="_blank" >ccess
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/ 下的相關文件:)
創(chuàng)建需要的目錄:
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 的內(nèi)容放在正確的地方:
按照 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 都給上適當?shù)臋嘞?br /> 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 上執(zhí)行
首先要安裝 jot 命令,搜索得到:
http://freshmeat.net/projects/bsd-jot/
提供了 jot 的 rpm,這個命令是 BSD 基本系統(tǒng)的一部分,RedHat 默認是沒有的
裝好了修改 update.sh 中 jot 的路徑,改為 /usr/local/bin/jot
還有這樣一行:
lockf -t 0 $ /bin/sh << 'E*O*F'
看上去不是很重要,注釋掉了。
E*O*F
也無法識別,注釋掉了。
設定 crontab 讓他定時執(zhí)行
23 * * * * /usr/local/etc/cvsup/update.sh
ok,差不多了,有問題再看看日志吧,手動執(zhí)行 /usr/local/etc/cvsup/update.sh,注意用全路徑,呵呵,沒有錯誤更新吧,啟動 cvsupd 找個客戶連一下,到 /var/log/ 下面看看 log,應該沒啥問題;镜倪^程是這樣了,做完這個好些天了,現(xiàn)在憑印象和系統(tǒng)上裝好的樣子寫,難免有遺漏,有問題告訴我哦,嘿嘿。

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd