您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源配置管理工具 > cvs
教你用Linux作CVS服務(wù)器
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/1/28 13:41:26 ] 推薦標(biāo)簽:

軟件庫(kù)的備份與移動(dòng)

備份軟件庫(kù)中的文件和備份其他文件并沒(méi)有不同,但你需要一個(gè)備份工具開(kāi)鎖住CVS.這樣,你必須先注冊(cè)一個(gè)可以讀取軟件庫(kù)的用戶,打開(kāi)CVS軟件庫(kù), 你需要編輯`#cvs.rfl’文件.

當(dāng)你想用一備份的軟庫(kù),恢復(fù)原來(lái)的庫(kù)時(shí),如果原庫(kù)在你備份后作過(guò)改動(dòng).CVS將報(bào)錯(cuò).你必須按以下的步驟來(lái)

? 得到一個(gè)新的工作目錄

? 拷貝上一次提交失敗的文件(,當(dāng)然不能拷貝CVS的目錄文件)

? 在新目錄下工作,使用cvs update 或cvs diff 等命令指出那些作過(guò)改動(dòng),在使用cvs commit 將改動(dòng)保存到軟件庫(kù).

你如果想移動(dòng)一個(gè)軟件庫(kù)到其他地方也很簡(jiǎn)單.簡(jiǎn)單的方法是將向要移動(dòng)的目錄創(chuàng)到一個(gè)新的目錄中去.如果你想重新使用原來(lái)的目錄的話,只能手工修改`CVS/Repository' 和 `CVS/Root',除非你精于此道,否則不建議使用.

4.2 CVS 的遠(yuǎn)程用戶管理

作為一個(gè)CVS 服務(wù)器,應(yīng)該滿足兩點(diǎn).首先保證軟件庫(kù)有足夠大的空間. 其次保證有不小于32M 的內(nèi)存, 服務(wù)器為每一個(gè)連接它的用戶產(chǎn)生兩個(gè)進(jìn)程,在子進(jìn)程上的花銷較小.但如果網(wǎng)絡(luò)帶寬不夠,在父進(jìn)程上的花銷是巨大的.

另外一個(gè)大的花銷是diff 文件,當(dāng)源文件很大時(shí),對(duì)他進(jìn)行驗(yàn)證或檢測(cè)的花銷也很大.

遠(yuǎn)程用戶的登錄認(rèn)證方式

以rsh為例行遠(yuǎn)程登錄

Cvs 服務(wù)器使用rsh 允許用戶連接時(shí)應(yīng)該配置.rshosts ,假設(shè)在遠(yuǎn)程主機(jī)tom.exsample.com 上的用戶tom 需要連接到 funame.simple.com 這個(gè)cvs 服務(wù)器上工作.應(yīng)該編輯服務(wù)器端的bach 目錄的.rshosts ,在其中加入

Tom.exsample.com tom

客戶端可運(yùn)行 rsh –l bach funame.simple.com ‘ echo @PATH

以確定自己可以連接到CVS 服務(wù)器上,并且客戶應(yīng)將顯示的這個(gè)路徑寫(xiě)入 .bashrc 或 cshrc (而不是.logiin 或.profile.)

除此之外,客戶端還可以定義環(huán)境變量CVS_SEVER.來(lái)定義主機(jī)的位置. 在服務(wù)器端,修改/etc/.neted.conf文件,來(lái)告訴服務(wù)器,在獲得特定端口的連接時(shí),運(yùn)行cvssever .這個(gè)端口號(hào)缺省值是:2041.當(dāng)然為了不再每次使用時(shí)都要進(jìn)行設(shè)置,可以在用戶端通過(guò)定義環(huán)境變量 CVS_AUTH_PORT來(lái)使用.

如客戶端的ineted 允許使用原始調(diào)用,只需在/etc/ineted.conf 文件中添加下面的句子即可 2401 stream tcp nowait root/usr/local/bin/cvs cvs –f –allow –root=/cvsroot pserver

另外還可以用- T 選項(xiàng)來(lái)定義緩沖目錄.

—allow – root 定義了可供用戶使用的軟件庫(kù),如果服務(wù)器上有更多的軟件庫(kù)需要重新使用這個(gè)句子. 另外,內(nèi)部用戶可以這樣定義環(huán)境變量CVSROOT

:pseve:usr@funam.simple.com:/cvsroot

其中 usr是用戶名(linux系統(tǒng)的)funam.simple.com 是cvs 服務(wù)器,并假設(shè) /cvsroot是軟件庫(kù)的目錄名.遠(yuǎn)程用戶可用下面的形式:

:etx:psever:usr@funam.silple.com:/cvsroot

:etx: 定義了是遠(yuǎn)程用戶,其余同上.

如果客戶的ineted 采用一般調(diào)用,只需在 /etc/seveice 中加入下面這一句:

cvspsever 2401/tcp

重新啟動(dòng)ineted 使其讀取初始化文件即可.

CVS 對(duì)于用戶的管理.在缺省狀態(tài)下(如用telnet登陸),是和linux 系統(tǒng)使用同樣的用戶名與密碼.即:只要你登陸linux 系統(tǒng),擁有 $CVSROOT的只讀權(quán)限..當(dāng)然,對(duì)某一軟件的開(kāi)發(fā)者來(lái)說(shuō)必須擁有相對(duì)應(yīng)目錄的讀寫(xiě)權(quán)限,才能完成源代碼的升級(jí)等工作.因此,CVS 也提供了自己的用戶認(rèn)證體系以更加方便的管理用戶.

在服務(wù)器端的$CVSROOT/CVSROOT 下可以有一個(gè)passwd 文件(可以用環(huán)境變量CVS_PASSFILE 來(lái)定義.)來(lái)記錄cvs的用戶信息.他采用的是和linux etc/passwd 同樣的組織形式 .同樣,它的passwold 也是經(jīng)過(guò)linux標(biāo)準(zhǔn)加密方式的.下面是一個(gè) passwd 的內(nèi)容

anyone:

tom:xyzkue

mary:yuio:pubcvs

第一行的意思是,當(dāng)用anyone 的身份登錄時(shí),不需要任何密碼.即使打入空串也可以.當(dāng)然在這種方式下你得到的可能只是只讀權(quán).第二行的意思是, tom 登錄時(shí)需要敲入passwold.該passworld 加密后是xyzkue.以這種方式登錄后.一般可以獲得較高的權(quán)限.

第三行的意思是,當(dāng)mary 登錄時(shí)需要敲入密碼.進(jìn)入和系統(tǒng)用戶相同的軟件庫(kù).這樣作的目的是因?yàn)?cvs 將紀(jì)錄它的用戶在軟件庫(kù)中的所有的動(dòng)作.定義和系統(tǒng)使用者不同的身份.使用cvs.

例如;使用用戶tom可以用以下的方式登錄:

$cvs –d :etx:tom@funam.simple.com:/cvsroot login

(如果tom 這個(gè)用戶名在遠(yuǎn)端可內(nèi)部是相同的,則tom@ 還可以省略)

同時(shí),可以使用cvs loginout 將所有的環(huán)境變量撤銷.

使用GASSAPI 接入

CVS 還支持使用 GASSAPI 的TCP 直接接入.在使用安轉(zhuǎn)之前,需要將CVS 重新編譯以獲得 GASSAPI 的支持.運(yùn)用 –with –gassapi 來(lái)連接,或者用-a 選向來(lái)連接.使用GASSAPI 的認(rèn)證等方式余地一種方式相同.

但在登錄時(shí).需要重新定義$CVSROOT 如:

$cvs –d :gsever:usr@cvssever.com:/cvsroot login

使用kerberos 直接連接

簡(jiǎn)單的使用rsh 的方法如上說(shuō)述.這種方法的主要特點(diǎn)是所有數(shù)據(jù)都通過(guò)一個(gè)額外的程序.非常費(fèi)時(shí).如果安裝了kerberos.可以直接用TCP 連接.

同樣CVS 需要重新編譯以獲得keberos的支持可用--with-krb4 來(lái)連接.這樣傳輸?shù)臄?shù)據(jù)是沒(méi)有加密的.如果要獲得安全.必須在服務(wù)端和客戶端都用`--enable-encryption來(lái)連接.此時(shí),你應(yīng)用通用的變量-x來(lái)要求加密.

在服務(wù)端需要編輯inetd.conf 來(lái)運(yùn)行cvs kserver .客戶端的缺省端口號(hào)是1999,如果想用其他端口號(hào).需在用戶端定義CVS_CLIENT_PORT

此時(shí)的登錄命令應(yīng)是

cvs -d :kserver:faun.example.org:/usr/local/cvsroot checkout foo

用fork連接

用這方式,可以通過(guò)遠(yuǎn)程協(xié)議連接本地硬盤的軟件庫(kù).換句話說(shuō),他能和:local:有相同的功能用這種方式的登錄命令是

cvs -d :fork:/usr/local/cvsroot login

和用:etx:一樣.缺省的主機(jī)名是cvs

上一頁(yè)12345678下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd