1 準備
在安裝之前,首先通過運行下面命令查看系統上是否已經安裝了CVS:
這是我系統上輸出的內容:
說明系統上已經安裝了CVS,要卸載再安裝新的版本或者重新安裝。可以輸入如下命令進行卸載:
這時系統輸出如下提示:
warning: /etc/xinetd.d/cvs saved as /etc/xinetd.d/cvs.rpmsave
這是什么系統已經將CVS卸載,并將CVS的配置文件/etc/xinetd.d/cvs保存為副本文件/etc/xinetd.d/cvs.rpmsave。
2 安裝
作為管理員用戶登錄,運行下面命令安裝:
root# cd /home/soft/Fedora4_x86_64_RPMS/
root# rpm –ivh cvs-1.11.19-8.x86_64.rpm
系統的輸出如下:
warning: cvs-1.11.19-8.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Preparing... ########################################### [100%]
1:cvs ########################################### [100%]
3 配置
3.1 創建組和用戶
首先創建一個cvs組和一個cvsroot用戶:
root# groupadd cvs
root# useradd –g cvs –p cvsroot cvsroot
3.2 設置權限
為CVS創建一個根目錄來存放代碼,這里我們使用的是/home/globus/cvsroot最為我們的根目錄。然后為該目錄設置相應的讀寫權限和所有權限。
root# mkdir /home/globus/cvsroot
root# -R chown cvsroot.cvs /home/globus/cvsroot
root# -R chmod 771 /home/globus/cvsroot
3.3 添加系統變量CVSROOT
設置CVSROOT系統變量用來記錄CVS的根目錄,這樣可以方便以后我的使用。編輯/etc/profile文件,添加下面一行:
export CVSROOT=/home/globus/cvsroot
3.4 設置CVS服務端口
查看/etc/services文件,看是否有如下兩行代碼。如果沒有需要加入。不過通常在安裝CVS的時候會自動加入。
cvspserver 2401/tcp # CVS client/server operations
cvspserver 2401/udp # CVS client/server operations
3.5 修改CVS配置文件
修改/etc/xinetd.d/cvs文件,該文件是CVS的配置文件。
# default: off
# description: The CVS service can record the history of your source
# files. CVS stores all the versions of a file in a single
# file in a clever way that only stores the differences
# between versions.
service cvspserver
{
disable = yes
port = 2401
socket_type = stream
protocol = tcp
wait = no
user = root
passenv = PATH
server = /usr/bin/cvs
env = HOME=/var/cvs
server_args = -f --allow-root=/var/cvs pserver
# bind = 127.0.0.1
}
修改后的結果如下,其中黑體字是表示需要修改的地方。
# default: off
# description: The CVS service can record the history of your source
# files. CVS stores all the versions of a file in a single
# file in a clever way that only stores the differences
# between versions.
service cvspserver
{
disable = no
port = 2401
socket_type = stream
protocol = tcp
wait = no
user = root
passenv = PATH
server = /usr/bin/cvs
# env = HOME=/var/cvs
server_args = -f --allow-root=/home/globus/cvsroot pserver
# bind = 127.0.0.1
}
注:很多網上的文章介紹時說需要建立/etc/xinetd.d/cvspserver文件,但是經過我的試驗,對我們安裝的CVS版本來說是不需要的。并且這樣作是不起任何作用的。
3.6 添加CVS的用戶
3.6.1 向CVS中添加系統用戶(不推薦)
接下來,需要把使用CVS的用戶添加到當前的cvs組中。可以通過修改/etc/group文件或者使用命令的方式進行。
a.通過編輯文件:打開文件/etc/group,在該文件下找到類似下面的一行代碼:
其中數字可能不是516,這個跟你系統有關。在這里,我們可以在“冒號”后面添加允許使用該CVS的系統用戶,多個用戶可以使用“逗號”分開。看起來類似下面的代碼:
cvs:x:516:czb,huangqin,sqh,wangjian,wtj
b.通過命令:
注:我們不推薦使用這種方法。因為遇到一個問題:如果用戶A導入了一個模塊,而其它用戶無權checkout。這里可能是我們配置上出了問題,但是采用下面的方法可以解決。
3.6.2 向CVS中添加非系統用戶
我們這里假設要向CVS系統中添加一個grid用戶,該用戶的口令是test。那么,可以通過下面的步驟進行添加。
1.編寫passwdgen.pl文件
首先,編寫Perl腳本文件:
#!/usr/bin/perl
srand (time());
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
my $plaintext = shift;
my $crypttext = crypt ($plaintext, $salt);
print "${crypttext} ";
該文件用來生成一個經過加密的口令。
為了方便地讓CVS系統中的所有用戶生成自己的口令,建議為該文件添加執行權限。并且可以將該文件放在大家有權限訪問的目錄下。
2.生成用戶口令
然后,為使用CVS系統的用戶生成加密的口令。處于安全的考慮,我們可以讓CVS用戶通過上面的腳本文件生成自己的加密口令。并將這個加密口令發送給管理員。
運行下面的命令,為grid用戶生成加密的口令:
user$ ./passwdgen.pl test
IIjgs2WRpImsU
這時,用戶可以將生成的加密口令“IIjgs2WRpImsU”發送給CVS管理員。
3.編寫passwd文件
該文件用來存放CVS系統的用戶的信息,位于$CVSROOT/CVSROOT目錄下面。它的格式如下:
l username:用來訪問CVS系統的用戶名
l userpwd:收到的用戶的加密口令
l sysuser:操作系統中存在的有權訪問$CVSROOT目錄的用戶,這里是cvsroot
我們得到的結果如下:
grid:IIjgs2WrpImsU:cvsroot
此時,我們就完成了向系統中添加grid用戶的過程,并且該用戶的口令是test。
3.7 添加模塊
通過編輯$CVSROOT/CVSROOT目錄下面的modules文件為CVS建立模塊。
在CVS系統中,存在三種形式的模塊:alias模塊、regular模塊和ampersand模塊。它們的不同在于它們將repository中的文件映射到工作目錄(本地)中文件的方式不一樣。
l alias模塊
這是最簡單的一種,其格式如下:
mname –a aliases...
其中,mname指的是模塊名,而aliases指的是其它的模塊名或者路徑名。
l regular模塊
該模塊的書寫格式如下:
mname [options] dir [files...]
該模塊定義所有位于dir目錄下的文件到mname代表的模塊中。其中,dir是參照$CVSROOT的一個相對路徑。此外,如果后面跟上具體的files,則表示將dir目錄下的files文件加入到模塊中。
l ampersand模塊
該模塊的書寫格式如下:
mname [options] &module...
這樣可以引用其它的module。
這里,我們使用最為簡單的alias模塊,定義如下:
這樣,我們就可以在Wincvs中看到grid模塊了。
3.8 重啟CVS
最后,重新啟動CVS服務,確保剛才的修改被執行。
root# /etc/rc.d/init.d/xinetd restart
如果系統輸入以下信息,表示服務重新啟動了。
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
4 測試
接下來我們可以在Windows下用wincvs客戶端進行登錄進行測試。
注:這里面需要注意的是,設置wincvs的CVSROOT時應該是這樣:
wtj@202.115.30.191:/home/globus/cvsroot
在/home/globus/cvsroot后面沒有“/”。
posted on 2005-10-16 16:34
思考 閱讀(3509)
評論(0) 編輯 收藏 所屬分類:
其他技術文章 、
Linux技術