歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

配置CVS服務器和客戶端完全解析

  CVS 代表協作版本系統;這是一個將一組文件放在層次目錄樹中以保持同步的系統。人們可以從 CVS 服務器上更新他們的本地層次樹副本,並將修改的結果或新文件發回;或者刪除舊文件。 CVS 基於客戶端/服務器的行為使得其可容納多用戶,構成網絡也很方便。這一特性使得 CVS 成為位於不同地點的人同時處理數據文件(特別是程序的源代碼)時的首選。 所有重要的免費軟件項目都使用 CVS 作為其程序員之間的中心點,以便能夠綜合各程序員的改進和更改。這些項目包括: Gnome, KDE, The GIMP, Wine, 等等。 所以,理所當然的,MandrakeSoft 也使用 CVS 作為其自身的開發管理平台。 下面是我自己在配置CVS服務器和客戶端的一點步驟總結,希望能幫你節省時間,一步到位^-^ 配置服務器的全部步驟如下: 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:創建可以登陸cvs服務的用戶及密碼,需要創建文件passwd vi /home/cvsroot/CVSROOT/passwd 文件內容如下: steven:xxxxx:cvsroot 8.xxxxxx為密碼,由以下文件生成: vi /home/cvsroot/passwdgen.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}\n"; 9.如果需要密碼為:some,則敲入: passwdgen.pl "some" 回車即可得到加密密碼,用其替換passwd文件中的xxxxxx 10.加入cvs服務(我的redhath9缺省就有cvs服務,所以不用加) vi /etc/services cvspserver 2401/tcp #pserver cvs service cvspserver 2401/udp #pserver cvs service 11.cvs服務由inted來喚起,因此需要改動inetd提供的服務,我的redhat使用的是inetd 方式則在文件/etc/inetd.conf中加入如下的內容:cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver 我的redhat9使用的是xinetd方式,所以在xinetd.d目錄下添加需要啟動的服務: cd /etc/xinetd.d vi cvspserver 文件內容: service cvspserver { disable = no flags = REUSE socket_type = stream wait = no


user = root server = /usr/bin/cvs server_args = -f --allow-root=/home/cvsroot pserver log_on_failure += USERID } 12.重新啟動inetd或者xinetd: /etc/rc.d/init.d/xinetd restart 13.檢查cvspserver服務是否已經啟動 netstat -l grep cvspserver 結果如下: tcp 0 0 *:cvspserver *:* LISTEN 以上結果全部通過,但是在我的客戶機(redhat9)上執行 cvs -d :pserver:[email protected]:/home/cvsroot login 輸入密碼後,返回connection confuse信息 補: cvs -d :pserver:[email protected]:/home/cvsroot login 輸入密碼後,沒有收到任何消息,即表示成功 ^_^ no news is a good news!! 在客戶端,設置環境變量如下: eXPort CVS_RSH=ssh export CVSROOT=:pserver:username@ip:/home/cvsroot 你可以 echo $CVS_RSH ssh echo $CVSROOT :pserver:username@ip:/home/cvsroot 這樣你在客戶端就可以直接輸入 cvs login登陸了 其它操作都可以直接cvs command 了



export CVSROOT=:pserver:username@ip:/home/cvsroot 你可以 echo $CVS_RSH ssh echo $CVSROOT :pserver:username@ip:/home/cvsroot 這樣你在客戶端就可以直接輸入 cvs login登陸了 其它操作都可以直接cvs command 了



Copyright © Linux教程網 All Rights Reserved