CVS 代表協作版本系統;這是一個將一組文件放在層次目錄樹中以保持同步的系統。人們可以從 CVS 服務器上更新他們的本地層次樹副本,並將修改的結果或新文件發回;或者刪除舊文件。 CVS 基於客戶端/服務器的行爲使得其可容納多用戶,構成網絡也很方便。
下面是我自己在配置CVS服務器和客戶端的一點步驟總結,希望能幫你節省時間,一步到位^-^
配置服務器的全部步驟如下:
首先確認一下是否安裝cvs服務:
#rpm -qa|grep cvs
如出現cvs版本號說明安裝成功.
否則到http://www.cvshome.org去下載rpm包.
安裝 --已經裝好的跳到下一步
rpm –ivh cvsnt-2.0.58d-1.i386.rpm(rpm包名)
1:我用的是Mandrivia linux 2006 free,安裝系統的時候選擇上了CVS的安裝包
2:建立了cvs用戶組
#groupadd cvs(如出現沒有groupadd命令,請用root帳號)
3:與etc 同級目錄下(其實就是掛載點/下)建立一個cvs目錄
# mkdir cvs
3.建立cvs組的cvsroot用戶和所屬的目錄
#useradd -g cvs -G cvs -d/cvs cvsroot
4:爲cvsroot用戶添加密碼
#passwd cvsroot
5:改變/cvs的目錄屬性
#chmod 775 /cvs
6:初始化cvs源碼庫,此操作生成目錄/cvs/CVSROOT,其下爲一些初始化文件
#cvs -d/cvs init
7:創建可以登陸cvs服務的用戶及密碼,需要創建文件passwd
#vi /cvs/CVSROOT/passwd
文件內容如下:
username:xxxxx:cvsroot
8.xxxxxx爲密碼,
獲得方法:編輯passwd.pl文件:#> vi /cvsroot/passwd.pl,內容如下:
#!/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}/t/n";
#>chmod a+x passwd.pl
9. 如果你想生成一個密碼是“123456”,則:
#> ./passwd.pl “123456”
回車即可得到加密密碼,用其替換passwd文件中的xxxxxx
10.加入cvs服務(我的Mandrivia 2006缺省就有cvs服務,所以不用加)
#vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service
11.我的Mandrivia 2006使用的是xinetd方式已經 有了cvs服務,如果沒開啓服務只需要修改一下cvs文件,
如果是自己安裝的rpm包的話,在xinetd.d目錄下添加需要啓動的服務:
#cd /etc/xinetd.d
#vi cvspserver
文件內容:
service cvspserver
{
disable = no
socket_type = stream
wait = no
user = root
env = HOME=
server = /usr/bin/cvs
server_args = -f --allow-root=/cvs pserver
}
12.重新啓動xinetd:
/etc/rc.d/init.d/xinetd restart
13.檢查cvspserver服務是否已經啓動
#netstat -l |grep cvspserver
結果如下:
tcp 0 0 *:cvspserver *:* LISTEN
以上結果全部通過,但是在我的客戶機(redhat9)上執行
14.測試:
ip地址得到:
#ifconfig
#export CVSROOT=:pserver:username@ip:/cvs
這樣你在客戶端就可以直接輸入
#cvs login
下面是我自己在配置CVS服務器和客戶端的一點步驟總結,希望能幫你節省時間,一步到位^-^
配置服務器的全部步驟如下:
首先確認一下是否安裝cvs服務:
#rpm -qa|grep cvs
如出現cvs版本號說明安裝成功.
否則到http://www.cvshome.org去下載rpm包.
安裝 --已經裝好的跳到下一步
rpm –ivh cvsnt-2.0.58d-1.i386.rpm(rpm包名)
1:我用的是Mandrivia linux 2006 free,安裝系統的時候選擇上了CVS的安裝包
2:建立了cvs用戶組
#groupadd cvs(如出現沒有groupadd命令,請用root帳號)
3:與etc 同級目錄下(其實就是掛載點/下)建立一個cvs目錄
# mkdir cvs
3.建立cvs組的cvsroot用戶和所屬的目錄
#useradd -g cvs -G cvs -d/cvs cvsroot
4:爲cvsroot用戶添加密碼
#passwd cvsroot
5:改變/cvs的目錄屬性
#chmod 775 /cvs
6:初始化cvs源碼庫,此操作生成目錄/cvs/CVSROOT,其下爲一些初始化文件
#cvs -d/cvs init
7:創建可以登陸cvs服務的用戶及密碼,需要創建文件passwd
#vi /cvs/CVSROOT/passwd
文件內容如下:
username:xxxxx:cvsroot
8.xxxxxx爲密碼,
獲得方法:編輯passwd.pl文件:#> vi /cvsroot/passwd.pl,內容如下:
#!/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}/t/n";
#>chmod a+x passwd.pl
9. 如果你想生成一個密碼是“123456”,則:
#> ./passwd.pl “123456”
回車即可得到加密密碼,用其替換passwd文件中的xxxxxx
10.加入cvs服務(我的Mandrivia 2006缺省就有cvs服務,所以不用加)
#vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service
11.我的Mandrivia 2006使用的是xinetd方式已經 有了cvs服務,如果沒開啓服務只需要修改一下cvs文件,
如果是自己安裝的rpm包的話,在xinetd.d目錄下添加需要啓動的服務:
#cd /etc/xinetd.d
#vi cvspserver
文件內容:
service cvspserver
{
disable = no
socket_type = stream
wait = no
user = root
env = HOME=
server = /usr/bin/cvs
server_args = -f --allow-root=/cvs pserver
}
12.重新啓動xinetd:
/etc/rc.d/init.d/xinetd restart
13.檢查cvspserver服務是否已經啓動
#netstat -l |grep cvspserver
結果如下:
tcp 0 0 *:cvspserver *:* LISTEN
以上結果全部通過,但是在我的客戶機(redhat9)上執行
14.測試:
ip地址得到:
#ifconfig
#export CVSROOT=:pserver:username@ip:/cvs
這樣你在客戶端就可以直接輸入
#cvs login