FreeBSD CVSup服務(wù)器建設(shè)指南
版本 2.0
作者 黃冬(hdcola@bj1860.net)
1. 前言 1
2. 安裝CVSup Mirror服務(wù)器 1
3. 停止與啟動cvsupd 3
1. 前言
不知正在看這個文章的你是不是一個FreeBSD fan或是xxBSD fan,呵呵,寫這個文章的我是一個的FreeBSD fan。我正在使用的FreeBSD是5.0版本,從使用的第一個FreeBSD到現(xiàn)在,讓我喜愛的功能莫過于FreeBSD提供的CVSup服務(wù)了。這個服務(wù)能讓我們快速的更新操作系統(tǒng)、更新操作系統(tǒng)中的軟件、更新出現(xiàn)的漏洞和補(bǔ)丁。想來用了FreeBSD這么久了,沒有幾張光盤(我裝的4.x都是由一個很早的4.3光盤裝的,而5.x都是由一個朋友送的5.0 DP1 cvsup上來的),這其實(shí)都是cvsup帶來的好處呀。
想必經(jīng)常cvsup –g –L 2 xxxxx-supfile之后大家都需要等不少時間罷。一是網(wǎng)絡(luò)連接速度慢,二是先cvsup完ports-supfile后還需要cvsup stable-supfile兩把下來怎么樣也需要近半小時的時間。如果你的網(wǎng)內(nèi)有幾臺或是幾十臺機(jī)器時,網(wǎng)絡(luò)流量和使用的更新時間想必不小了。說了這么多,這好的解決之道是:自己架一個CVSup服務(wù)器!本文會帶著你一步步的架設(shè)自己的CVSup服務(wù)器,讓你可以享受一把飛速cvsup的樂趣。
如果你安裝時發(fā)現(xiàn)有什么問題可以到http://www.huangdong.com/bbs中的BSD版來一起討論。如果你的服務(wù)器足夠好,哪么也可以發(fā)布到這里為大家服務(wù),希望國內(nèi)能多幾個穩(wěn)定并能更新及時的cvsup服務(wù)器。
2. 安裝CVSup Mirror服務(wù)器
先是安裝CVSup Mirror服務(wù)器軟件:
cd /usr/ports/net/cvsup-mirror
make
在執(zhí)行make時它會問你許多問題,我們一個個的來回答它:
Master site for your updates [cvsup-master.freebsd.org]?cvsup.huangdong.com
輸入你的cvsup mirror的來源,也是外部網(wǎng)的cvsup服務(wù)器,在國內(nèi)我一般會推薦cvsup.freebsd.org、cvsup2.freebsd.org、cn.freebsd.org。由于它是一個中轉(zhuǎn)站,所以速度是否快不是很重要了。我內(nèi)網(wǎng)的服務(wù)器也會使用我外網(wǎng)的鏡像服務(wù)器的地址如cvsup.huangdong.com。
How many hours between updates of your files [1]?
多久上外部的cvsup服務(wù)器更新一次。默認(rèn)的一小時其實(shí)已經(jīng)足夠了。
Do you wish to mirror the main source repository [y]?
是否鏡像源代碼。呵呵,src是該鏡像的部分了,當(dāng)然要y了。
Where would you like to put it [/home/ncvs]? /home/cvsupmirror/ncvs
源代碼存到哪里。我一般會放到/home/cvsupmirror/ncvs中。
Do you wish to mirror the installed World Wide Web data [y]?
是否鏡像FreeBSD的Web站點(diǎn)。哈哈,內(nèi)網(wǎng)的兄弟們正為到國外慢而發(fā)愁呢,這好,讓這一臺機(jī)器發(fā)愁好了。
Where would you like to put it [/usr/local/www]? /home/cvsupmirror/www
web站點(diǎn)存到哪里。我一般會放到/home/cvsupmirror/www中,因?yàn)?usr/local/www是我正式網(wǎng)站的數(shù)據(jù)喲。
Do you wish to mirror the GNATS bug tracking database [y]?n
是否鏡像GNATS的bug跟蹤數(shù)據(jù)庫。對于更新來講,這個不重要,還是讓他們慢慢去www.freebsd.org自己查罷。建議選n,因?yàn)閷?shí)在不常用。
Do you wish to mirror the mailing list archive [y]?n
是否鏡像mail list的文章。以前鏡像過,后來知道錯了,這里的文章好多多呀,更新的內(nèi)容每天也幾千封mail呢。建議選n。
Unique unprivileged user ID for running the client [cvsupin]?
客戶端連接使用的用戶ID。用默認(rèn)的cvsupin很好了。
Unique unprivileged group ID for running the client [cvsupin]?
客戶端連接使用的組ID。用默認(rèn)的cvsupin很好了。
Unique unprivileged user ID for running the server [cvsup]?
服務(wù)器使用的用戶ID。用默認(rèn)的cvsup好了。
Unique unprivileged group ID for running the server [cvsup]?
服務(wù)器使用的組ID。用默認(rèn)的cvsup好了。
Syslog facility for the server log [daemon]?
將服務(wù)器日志記入Syslog的設(shè)施。使用默認(rèn)的daemon。
Maximum simultaneous client connections [8]?20
大的客戶連接數(shù)。這個看你的內(nèi)存和CPU以 及硬盤了。我通常設(shè)置為20,是我內(nèi)部網(wǎng)更新機(jī)器的可能大并發(fā)。
所有的問題回答完后輸入:
make install
make clean
將cvsup mirror裝入系統(tǒng)中,同時它會加入新的用戶帳戶和用戶組,同時為crontab中加入新的每小時的同步設(shè)置。
3. 停止與啟動cvsupd
可以通過/usr/local/etc/rc.d中的cvsupd.sh來啟動或停止cvsup服務(wù)器?梢酝ㄟ^編輯/etc/crontab中的/usr/local/etc/cvsup/update.sh命令執(zhí)行時間設(shè)置來改變更新頻率。
/usr/local/etc/rc.d/cvsupd.sh start
來啟動cvsup服務(wù)器。
/usr/local/etc/rc.d/cvsupd.sh stop
來停止cvsup服務(wù)器。
可以通過執(zhí)行
/usr/local/etc/cvsup/update.sh
來即時更新所有的cvsup服務(wù)器的內(nèi)容。更新時的新日志會記入/var/log/cvsup.log中。
4. 說明事項(xiàng)
有一些小的FAQ列在這里:
第一次進(jìn)行update時需要很久的時間,會從服務(wù)器上更新下來很多東西,需要的時間會很久,要有些心理準(zhǔn)備呀。
如果你在ncvs/distrib/cvsup/sup中沒有看到所有的ports-xxx(你會更新的ports的條目)、src-xxx(你會更新的src的條目)、www目錄時,你的客戶端連接上來時都會報錯的。解決辦法很簡單,接著update,到全部全了為止。
下來的www有什么用呀?很簡單的,我是將我的內(nèi)部網(wǎng)的服務(wù)器設(shè)置成了FreeBSD的鏡像站,方法也很簡單。通過ports中的apache13或是apache2安裝Apache服務(wù)器,刪除/usr/local/www/data,再使用root執(zhí)行:ln –s /usr/local/www/data /home/cvsupmirror/www可以了。這樣每天能看到新的FreeBSD站了。