CVS在Linux中的配置和使用

來源:互聯網
上載者:User

 

 

第一部分 CVS伺服器的配置

1、    CVS簡述:

CVS是Concurrent Versions System的縮寫,它是目前比較流行與優秀的版本管理與控制工具,它深受大多數開發人員與系統管理的喜愛,同時也是用來管理其它日常文檔(如word工作文檔之類)的一個強有力的工具。這一部分將對CVS伺服器的安裝、配置與使用方法進行簡單、扼要的介紹,以協助大家儘快的使用CVS來進行一些版本的管理與控制工作。

 

2、    CVS伺服器的安裝

預設情況下,CVS在Redhat Linux中已經安裝,這一點可以通過在Linux命令列的情況下運行:

rpm –q cvs

如果出現CVS的版本資訊就證明已經安裝成功了。

CVS伺服器安裝包可以從網上的很多地方下載,也可以到CVS的官方網站進行下載。根據你所使用的系統,下載相應的版本,然後進行安裝。因為我們的項目是在Redhat Linux下使用CVS伺服器進行版本管理,所以本文將主要基於Redhat Linux進行介紹。首先下載CVS伺服器的rpm包,當然也可以下載其它方式的包如來源程式包,然後採用以下命令進行安裝:

rpm -ivh cvs-1.11.1p1-7.rpm

 

3、    CVS伺服器的配置

       安裝完之後的第一件事就是要配置CVS伺服器的設定檔,使其能正常的工作。首先在/etc/services檔案中添加cvspserver,使其成為Linux的一種服務也就是cvs伺服器常式的入口,配置如下:

cvspserver          2401/tcp                           # cvs client/server operations

cvspserver          2401/udp                          # cvs client/server operations

如果檔案中已經存在上面的兩行文字,就不用添加了。

 

4、    配置xinetd,用xinetd來啟動CVS驗證伺服器:

進入到/etc/xinetd.d/目錄,然後編輯一個文字檔,名字一定要與/etc/services中的入口名字cvspserver一致,所以這裡用cvspserver作為檔案名稱,檔案的內容如下所示:

service cvspserver

{

        disable = no

        flags = REUSE

       socket_type = stream

        wait = no

        user = root

        server = /usr/bin/cvs

        server_args = -f --allow-root=/usr/cvsroot pserver

        log_on_failure += USERID

}

編輯檔案之後測試cvspserver服務是否配置成功。

執行

/etc/init.d/xinetd restart

重新啟動服務,啟動成功之後,執行下面的語句,驗證服務是否啟動正常:

telnet localhost 2401

如果出現如下字樣:

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

輸入hi,會繼續輸出如下字樣

cvs [pserver aborted]: bad auth protocol start: hi

 

Connection closed by foreign host.

出現以上的現象表示CVS使用者驗證伺服器已經配置成功。

如果出現如下字樣,表示配置不成功,請重新檢查以上的配置:

Trying 127.0.0.1...

telnet: connect to address 127.0.0.1: Connection refused

 

5、    配置CVS使用者:

首先建立一個使用者組cvs,可以使用groupadd或者addgroup命名,也可以直接編輯/etc/group檔案添加這個組,然後添加一個使用者cvsuser:

groupadd cvs

 

useradd cvsuser –g cvs

 

passwd cvsuser

 

設定新的密碼。

 

在/usr目錄下建立cvsroot目錄(也可以在其它的目錄下建,但是應該和cvspserver檔案中的選項一致),然後修改/usr/cvsroot的屬主及屬性:

 

cd /usr

mkdir cvsroot

chown –R cvsuser:cvs cvsroot

chmod –R 771 cvsroot

 

6、    初始化CVS伺服器

安裝完CVS伺服器之後的另一件重要的事情就是要初始化CVS伺服器的根目錄,以後建立的CVS項目都將建立在這個目錄下,採用的命令如下:

cvs –d /usr/cvsroot init

如果沒有任何提示,表示初始化成功。初始化成功之後,會在/usr/cvsroot目錄中建立CVSROOT目錄,目錄中有如下檔案:

-r--r--r--    1 root     root          493 Apr 5 20:19 checkoutlist

-r--r--r--    1 root     root          693 Apr 5 20:19 checkoutlist,v

-r--r--r--    1 root     root          760 Apr 5 20:19 commitinfo

-r--r--r--    1 root     root          960 Apr 5 20:19 commitinfo,v

-r--r--r--    1 root     root          527 Apr 5 20:19 config

-r--r--r--    1 root     root          727 Apr 5 20:19 config,v

-r--r--r--    1 root     root          753 Apr 5 20:19 cvswrappers

-r--r--r--    1 root     root          953 Apr 5 20:19 cvswrappers,v

-r--r--r--    1 root     root         1025 Apr 5 20:19 editinfo

-r--r--r--    1 root     root         1225 Apr 5 20:19 editinfo,v

drwxrwxr-x    2 root     root         4096 Apr 5 20:19 Emptydir

-rw-rw-rw-    1 root     root            0 Apr 5 20:19 history

-r--r--r--    1 root     root         1141 Apr 5 20:19 loginfo

-r--r--r--    1 root     root         1341 Apr 5 20:19 loginfo,v

-r--r--r--    1 root     root         1151 Apr 5 20:19 modules

-r--r--r--    1 root     root         1351 Apr 5 20:19 modules,v

-r--r--r--    1 root     root          564 Apr 5 20:19 notify

-r--r--r--    1 root     root          764 Apr 5 20:19 notify,v

-r--r--r--    1 root     root          649 Apr 5 20:19 rcsinfo

-r--r--r--    1 root     root          849 Apr 5 20:19 rcsinfo,v

-r--r--r--    1 root     root          879 Apr 5 20:19 taginfo

-r--r--r--    1 root     root         1079 Apr 5 20:19 taginfo,v

-rw-rw-rw-    1 root     root            0 Apr 5 20:19 val-tags

-r--r--r--    1 root     root         1026 Apr 5 20:19 verifymsg

-r--r--r--    1 root     root         1226 Apr 5 20:19 verifymsg,v

 

這樣目錄/usr/cvsroot就成為CVS伺服器的根目錄,以後建立的目錄都將預設的存放在這個目錄下。

7、    登入cvs伺服器(在Linux或其它Unix系統下進行登入的情況):

輸入如下命令:

cvs -d :pserver:cvsuser@localhost:/usr/cvsroot login

提示輸入密碼,輸入上面設定的密碼,如果沒有任何提示,就證明成功登入了

登入成功之後在目前使用者的$HOME目錄中產生.cvspass檔案,可以利用vi對檔案進行察看。

由於以“.”開頭的檔案在Linux中是隱藏的,所以可以利用如下命令進行察看:

ls –a

這個檔案記載了使用者的登入資訊。執行登出命令可以刪除該檔案中的登入資訊

cvs -d :pserver:cvsuser@localhost:/usr/cvsroot logout

 

下面對登入命令的文法進行說明:

其中,:pserver表示採用pserver方式進行使用者登入認證,一般的CVS伺服器都採用這種方式,當然也可以採用其它方式,具體參考相應的資料;

:cvsuser表示要登入的使用者名稱,只要是cvs組的成員都可以,如:cvsuser;

@host表示要登入的伺服器,可以是DNS名,也可以是IP地址,如:192.168.0.1;

:/usr/cvsroot表示CVS在伺服器上的目錄,也可以是其它目錄(由第6中你所指定的用來做init初始化的目錄決定);

提示:

a、也可以把export CVSROOT=:pserver:cvsuser@192.168.0.1:/usr/cvsroot這一句直接寫在使用者的初始設定檔案中(如:.bash_profile),這樣使用者每次登入時,只需輸入:

cvs login

然後輸入相應的口令就可以登入到cvs伺服器上。
b、如果是本地登入,可以直接把export CVSROOT=/usr/cvsroot這一句寫在使用者的初始設定檔案如:/etc/profile中;然後執行如下命令使環境變數生效:

source /etc/profile

 

8、    向CVS添加新的項目模組

一般我們都已經有一個或多重專案了,這樣我們可以用下面步驟產生一個新的CVS項目。將一個工程檔案置於CVS中進資料列版本設定,在CVS 術語中稱作匯入(import)。從名字上就可以看出,在匯入前需要為此作些準備工作。

輸入操作的基本要求是有個"乾淨"的目錄結構。"乾淨"的意思是不需要版本控制的檔案都被移走了(如編譯產生的檔案,備份檔案等等)。如果工程已經開始一段時間了,這就顯得很重要。在目錄中也許有些是不打算將其置於版本控制下的檔案,但是又想將他們放在這裡,這種情況下,你要在輸入之前將它們移走,然後再移回來。

注意的是CVS 認為空白目錄是不存在的。如果想增加一個既不包含檔案又不包含子目錄的目錄,需要在其下建立一個啞檔案。建議你建立一個名為 README.txt 的檔案,其內容為對目錄的簡要說明。

進入到已有項目的目錄,比如叫 cvstest:

cd /home/cvsuser/cvstest

運行命令將專案檔匯入到cvs倉庫中:

cvs import -m "this is a cvstest project" cvstest tengtu start                                                                        

 

說明:import 是cvs的命令之一,表示向cvs倉庫輸入專案檔.

   -m參數後面的字串是描述文本,對項目進行描述,如果不加 -m 參數,那麼cvs會自動運行一個編輯器(一般是vi,但是可以通過修改環境變數EDITOR來改成你喜歡用的編輯器)讓你輸入資訊,cvstest

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.