CVS 代表協(xié)作版本系統(tǒng);這是一個將一組文件放在層次目錄樹中以保持同步的系統(tǒng)。人們可以從 CVS 服務(wù)器上更新他們的本地層次樹副本,并將修改的結(jié)果或新文件發(fā)回;或者刪除舊文件。
CVS 基于客戶端/服務(wù)器的行為使得其可容納多用戶,構(gòu)成網(wǎng)絡(luò)也很方便。這一特性使得 CVS 成為位于不同地點的人同時處理數(shù)據(jù)文件(特別是程序的源代碼)時的。
所有重要的免費軟件項目都使用 CVS 作為其程序員之間的中心點,以便能夠綜合各程序員的改進和更改。這些項目包括: Gnome, KDE, The GIMP, Wine, 等等。
所以,理所當(dāng)然的,MandrakeSoft 也使用 CVS 作為其自身的開發(fā)管理平臺。
下面是我自己在配置CVS服務(wù)器和客戶端的一點步驟總結(jié),希望能幫你節(jié)省時間,一步到位^-^
配置服務(wù)器的全部步驟如下:
1:我用的是linux redhat9.0
2:建立了cvs用戶組
groupadd cvs
3.建立cvs組的cvsroot用戶和所屬的目錄
useradd -g cvs -G cvs -d/home/cvsroot cvsroot
4:為cvsroot用戶添加密碼
passwd cvsroot
5:改變/home/cvsroot的目錄屬性
chmod 775 /home/cvsroot
6:初始化cvs源碼庫,此操作生成目錄/home/cvsroot/CVSROOT,其下為一些初始化文件
cvs -d/home/cvsroot init
7:創(chuàng)建可以登陸cvs服務(wù)的用戶及密碼,需要創(chuàng)建文件passwd
vi /home/cvsroot/CVSROOT/passwd
文件內(nèi)容如下:
steven:xxxxx:cvsroot
8.xxxxxx為密碼,由以下文件生成: vi /home/cvsroot/passwdgen.pl 文件內(nèi)容:
#!/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} ";
9.如果需要密碼為:some,則敲入: passwdgen.pl "some" 回車即可得到加密密碼,用其替換passwd文件中的xxxxxx
10.加入cvs服務(wù)(我的redhath9缺省有cvs服務(wù),所以不用加)
vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service
11.cvs服務(wù)由inted來喚起,因此需要改動inetd提供的服務(wù),我的redhat使用的是inetd 方式則在文件/etc/inetd.conf中加入如下的內(nèi)容:cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver