您的位置:軟件測試 > 開源軟件測試 > 開源配置管理工具 > cvs
CVS服務器的安裝和使用
作者:網絡轉載 發(fā)布時間:[ 2013/1/6 15:43:40 ] 推薦標簽:

    CVS 是 Concurrent Version System(并行版本系統(tǒng))的縮寫,用于版本管理.如果大家曾經參與過多人協(xié)作開發(fā)的項目,大家肯定有這樣的痛苦經歷:由于多個人同時修改同一個文件, 自己辛辛苦苦修改的程序被別人徹底刪除了.另外,如果你的軟件/程序已經發(fā)布了三個版本, 而這時候用戶需要你修改第二個版本的東西,也許你會因為只保留了新版本而痛哭流涕。還有是你對程序做了一些修改,但是修改很少,你只想給遠方的同事發(fā)一個兩個版本之間的差別文件,這樣可以免于郵箱不夠大,網速太慢之類的問題.為了解決類似這樣的問題,以及諸如生成補丁文件,歷史版本修改等,一幫黑客(褒義)在原先 Unix 體系里很成熟的 SCCS 和 RCS 的基礎上,開發(fā)了 CVS。(SCCS:Source Code Control System,RCS:Revision Control System)。
    CVS 的基本工作思路是這樣的:在一臺服務器上建立一個倉庫,倉庫里可以存放許多不同項目的源程序。由倉庫管理員統(tǒng)一管理這些源程序.這樣,好象只有一個人在修改文件一樣.避免了沖突.每個用戶在使用倉庫之前,首先要把倉庫里的項目文件下載到本地。用戶做的任何修改首先都是在本地進行,然后用 cvs 命令進行提交,由 cvs 倉庫管理員統(tǒng)一 修改.這樣可以做到跟蹤文件變化,沖突控制等等.

    由于 CVS 是典型的 C/S 結構的軟件,因此它也分成服務器端和客戶端兩部分。不過大多數CVS 軟件都把它們合二為一了。我們這里分別從服務器和客戶端的角度討論cvs的使用。


Cvs服務器安裝


首先確保系統(tǒng)安裝有cvs:
[root@mail xinetd.d]# rpm -qa|grep cvs
cvs-1.11.1p1-3
如果命令輸出類似于上面的輸出則說明系統(tǒng)已經安裝有cvs,否則需要從安裝光盤中安裝cvs的rpm包。


一 創(chuàng)建CVS屬主用戶:
# useradd -d /cvsroot cvs
# chmod 771 /cv sroot


二、建立CVS倉庫(初始化cvs)


# su cvs
$ cvs -d /cvsroot init
$exit
#


四、啟動cvs服務器


在/etc/xinetd.d/目錄下創(chuàng)建文件cvspserver,內容如下:
# default: on
# description: The cvs server sessions;


service cvspserver
{
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/cvsroot pserver
log_on_failure += USERID
only_from = 192.168.0.0/24
}
其中only_from是用來限制訪問的,可以根據實際情況不要或者修改。
修改該文件權限:
# chmod 644 cvspserver
然后重新啟動xinetd:
# /etc/rc.d/init.d/xined restart
然后察看cvs服務器是否已經運行:
[root@mail xinetd.d]# netstat -lnp|grep 2401
tcp 0 0 0.0.0.0:2401 0.0.0.0:* LISTEN 7866/xinetd
則說明cvs服務器已經運行。


五、創(chuàng)建用來訪問cvs的用戶

前面創(chuàng)建的cvs用戶是cvs倉庫管理用戶,而為了讓用戶訪問則還需要一個訪問用戶:
# useradd cvspub
# usemod -G cvs cvspub
這里添加了一個用戶cvspub,并且將該用戶添加到cvs組中。


六、管理cvs服務器

    管理 cvs 服務器.服務器可以用了,現在大家關心的是如何管理服務器,比如,我想讓一些人有讀和/或寫 CVS 倉庫的權限,但是不想給它系統(tǒng)權限怎么辦呢?不難,cvs初始化結束以后,在管理員用戶(這里是cvs用戶)的主目錄里有一個 CVSROOT 目錄,這個目錄里有三個配置文件:passwd, readers, writers。我們可以通過設置這三個文件來配置 CVS 服務器,下面分別介紹這幾個文件的作用:
passwd:cvs 用戶的用戶列表文件,它的格式很象 shadow 文件:
{cvs 用戶名}:[加密的口令]:[等效系統(tǒng)用戶名]
    如果你希望一個用戶只是 cvs 用戶,而不是系統(tǒng)用戶,那么你要設置這個文件,剛剛安裝完 之后這個文件可能不存在,你需要以cvs管理員身份(su cvs)用戶手工創(chuàng)建,當然要按照上面格式;第二個字段是該用戶的加密口令,是用 crypt (3) 加密的,你可以自己寫一個程序來做加密,也可以用兩個偷懶的方法:先創(chuàng)建一個系統(tǒng)用戶,名字和 cvs 用戶一樣,口令是準備給它的 cvs 用戶口令,創(chuàng)建完之后從 /etc/shadow 把該用戶第二個字段拷貝過來,然后 再把這個用戶刪除.這個方法對付數量少的用戶比較方便,人一多不合適了,而且還有沖突條件(race condition)的安全隱患,還要 root 權限,實在不怎么樣,不過權益之計而已;另外一個方法是利用apche的htpasswd命令創(chuàng)建passwd用戶,添加用戶只需要htpasswd passwd username即可添加用戶到passwd文件中,不過需要在文件中對應行的后添加一個":"冒號和對應的等效系統(tǒng)用戶名;好的是自己編寫一個程序了來生成這個passwd文件了。

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