青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

大龍的博客

常用鏈接

統(tǒng)計(jì)

最新評(píng)論

CVS服務(wù)器設(shè)置指南

     Red Hat Linux 8.0和9.0上測(cè)試通過。

服務(wù)器的安裝略過不提,因?yàn)榘惭b了開發(fā)工具的話默認(rèn)就已經(jīng)有了CVS。就算沒有,更新軟件包就可以搞定,除非你一定要安裝最新版本。

1.首先創(chuàng)建用于CVS的組和用戶:

代碼:
#groupadd cvs
#useradd cvsroot -g cvs
#passwd cvsroot


OK,用戶已經(jīng)建立好了,cvsroot就是我們做CVS操作使用的。

2.修改配置文件

代碼:
#more /etc/services | grep cvspserver


看看是否有

代碼:
cvspserver 2401/tcp #CVS client/server operations
cvspserver 2401/udp #CVS client/server operations


這2行。系統(tǒng)自帶了CVS時(shí),這2行也已經(jīng)有了,只需要確認(rèn)一下。如果沒有,請(qǐng)自己加上去。
然后必須創(chuàng)建啟動(dòng)腳本:

代碼:
#vi /etc/xinet.d/cvspserver


內(nèi)容如下

代碼:
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_success += USERID
log_on_failure += USERID
}


其中server指定CVS可執(zhí)行文件路徑,默認(rèn)安裝就是/usr/bin/cvs。server_args指定源代碼庫(kù)路徑及認(rèn)證方式等,例子中把源代碼存放在cvsroot的主目錄中,也可以另外指定路徑,但必須注意權(quán)限設(shè)置,pserver是密碼認(rèn)證方式,這種方式的安全性要差一些,但操作起來比較簡(jiǎn)單。請(qǐng)注意每行等號(hào)左右都有一個(gè)空格,否則無(wú)法啟動(dòng)服務(wù)。

3.初始化CVS
切換到cvsroot用戶,然后進(jìn)行初始化:

代碼:
#cvs -d /home/cvsroot init


這個(gè)路徑應(yīng)該與cvspserver文件中指定的路徑相同,初始化后會(huì)在此路徑下面創(chuàng)建CVSROOT目錄,存放用于CVS管理的一些文件。此時(shí)重新啟動(dòng)xinetd服務(wù),CVS服務(wù)器應(yīng)該能夠啟動(dòng)了。

代碼:
#service xinetd restart


當(dāng)然,重新啟動(dòng)計(jì)算機(jī)也可以。確認(rèn)是否啟動(dòng):

代碼:
#netstat -l | grep cvspserver


如果能看到

代碼:
tcp 0 0 *:cvspserver *:* LISTEN


說明已經(jīng)正常啟動(dòng),沒有的話請(qǐng)重新檢查配置過程是否有錯(cuò)誤或者遺漏。最后還必須檢查防火墻的設(shè)置,把2401端口打開。

4.用戶管理
CVS默認(rèn)使用系統(tǒng)用戶登錄,為了系統(tǒng)安全性的考慮也可以使用獨(dú)立的用戶管理。CVS用戶名和密碼保存在CVSROOT目錄下的passwd文件中,格式為:

代碼:
用戶名:密碼:系統(tǒng)用戶


也就是說,它把CVS用戶映射到系統(tǒng)用戶,這樣我們就可以通過系統(tǒng)用戶的權(quán)限設(shè)置來分配給用戶不同的權(quán)限,而不需要讓用戶知道系統(tǒng)用戶名和密碼。
passwd文件默認(rèn)并不存在,我們必須自己創(chuàng)建。文件中的密碼字段使用MD5加密,不幸的是CVS沒有提供添加用戶名的命令,所以我們借用Apache的命令來完成這項(xiàng)工作:

代碼:
#htpasswd passwd username


這個(gè)命令為username指定密碼,并保存在passwd中,文件不存在時(shí)會(huì)自動(dòng)創(chuàng)建。htpasswd命令不是為CVS而設(shè),因此總有一些遺憾,它不能自動(dòng)添加映射到的用戶名,不過沒關(guān)系,我們?cè)O(shè)置好密碼后,自己把這部分加上。我的做法是映射到cvsroot用戶,如果需要映射其他的用戶,請(qǐng)注意給相應(yīng)的目錄設(shè)置好權(quán)限,否則CVS用戶可能無(wú)法訪問源代碼倉(cāng)庫(kù)。
要徹底防止使用系統(tǒng)帳號(hào)登陸,可以編輯CVSROOT目錄下的config文件,把

代碼:
#SystemAuth=no


這一行前面的#去掉,CVS就不會(huì)驗(yàn)證系統(tǒng)用戶了,否則當(dāng)用戶名不在passwd文件中時(shí),CVS會(huì)進(jìn)行系統(tǒng)用戶的驗(yàn)證。
此外還必須配置讀寫權(quán)限,使用CVSROOT目錄下的readers和writers文件進(jìn)行這個(gè)工作。這2個(gè)文件默認(rèn)也是沒有的,沒關(guān)系,自己創(chuàng)建就可以了。readers文件記錄擁有只讀權(quán)限的用戶名,每行一個(gè)用戶;writers文件記錄擁有讀寫權(quán)限的用戶名,也是每行一個(gè)用戶。注意,readers文件比writers優(yōu)先,也就是說出現(xiàn)在readers中的用戶將會(huì)是只讀的,不管writers文件中是否存在該用戶。

配置完畢,先測(cè)試一下:

代碼:
#cvs -d “:pserver:username@127.0.0.1:/home/cvsroot” login


這里假設(shè)用戶名是username,本機(jī)登陸。出現(xiàn)密碼提示,輸入正確的密碼后,登陸成功。如果提示訪問被拒絕,請(qǐng)檢查用戶權(quán)限、目錄權(quán)限以及防火墻設(shè)置。建議設(shè)置環(huán)境變量CVSROOT:

代碼:
#export CVSROOT=:pserver:username@127.0.0.1:/home/cvsroot


以后就不需要輸入-d參數(shù)了,但-d參數(shù)會(huì)覆蓋這個(gè)環(huán)境變量的設(shè)置。

5.源代碼倉(cāng)庫(kù)的備份和移動(dòng)
基本上,CVS的源代碼倉(cāng)庫(kù)沒有什么特別之處,完全可以用文件備份的方式進(jìn)行備份。需要注意的只是,應(yīng)該確認(rèn)備份的過程中沒有用戶提交修改,具體的做法可以是停止CVS服務(wù)器或者使用鎖等等。恢復(fù)時(shí)只需要把這些文件按原來的目錄結(jié)構(gòu)存放好,因?yàn)镃VS的每一個(gè)模塊都是單獨(dú)的一個(gè)目錄,與其他模塊和目錄沒有任何瓜葛,相當(dāng)方便。甚至只需要在倉(cāng)庫(kù)中刪除一個(gè)目錄或者文件,便可以刪除該模塊的一些內(nèi)容,不過并不建議這么做,使用CVS的刪除功能將會(huì)有一個(gè)歷史記錄,而對(duì)倉(cāng)庫(kù)的直接刪除不留任何痕跡,這對(duì)項(xiàng)目管理是不利的。移動(dòng)倉(cāng)庫(kù)與備份相似,只需要把該模塊的目錄移動(dòng)到新的路徑,便可以使用了。
如果不幸在備份之后有過一些修改并且執(zhí)行了提交,當(dāng)服務(wù)器出現(xiàn)問題需要恢復(fù)源代碼倉(cāng)庫(kù)時(shí),開發(fā)者提交新的修改就會(huì)出現(xiàn)版本不一致的錯(cuò)誤。此時(shí)只需要把CVS相關(guān)的目錄和文件刪除,即可把新的修改提交。

6.更進(jìn)一步的管理
CVSROOT目錄下還有很多其他功能,其中最重要的就是modules文件。這個(gè)文件定義了源代碼庫(kù)的模塊,下面是一個(gè)例子:

代碼:
Linux Linux
Kernel Linux/kernel


這個(gè)文件的內(nèi)容按行排列,每一行定義一個(gè)模塊,首先是模塊名,然后是模塊路徑,這是相對(duì)于CVS根目錄的路徑。它定義了兩個(gè)模塊,第一個(gè)是Linux模塊,它位于Linux目錄中,第二個(gè)是Kernel模塊,這是Linux模塊的子模塊。
modules文件并非必須的,它的作用相當(dāng)于一個(gè)索引,部分CVS客戶端軟件通過它可以快速找到相應(yīng)的模塊,比如WinCVS。

7.協(xié)同開發(fā)的問題
默認(rèn)方式下,CVS允許多個(gè)用戶編輯同一個(gè)文件,這對(duì)一個(gè)協(xié)作良好的團(tuán)隊(duì)來說不會(huì)有什么問題,因?yàn)槎鄠€(gè)開發(fā)者同時(shí)修改同一個(gè)文件的同一部分是不正常的,這在項(xiàng)目管理中就應(yīng)該避免,出現(xiàn)這種情況說明項(xiàng)目組內(nèi)部沒有統(tǒng)一意見。而多個(gè)開發(fā)者修改文件的不同部分,CVS可以很好的管理。
如果覺得這種方式難以控制,CVS也提供了解決辦法,可以使用cvs admin -l進(jìn)行鎖定,這樣一個(gè)開發(fā)者正在做修改時(shí)CVS就不會(huì)允許其他用戶checkout。這里順便說明一下文件格式的問題,對(duì)于文本格式,CVS可以進(jìn)行歷史記錄比較、版本合并等工作,而二進(jìn)制文件不支持這個(gè)操作,比如word文檔、圖片等就應(yīng)該以二進(jìn)制方式提交。對(duì)于二進(jìn)制方式,由于無(wú)法進(jìn)行合并,在無(wú)法保證只有一個(gè)用戶修改文件的情況下,建議使用加鎖方式進(jìn)行修改。必須注意的是,修改完畢記得解鎖。
從1.6版本開始,CVS引入了監(jiān)視的概念,這個(gè)功能可以讓用戶隨時(shí)了解當(dāng)前誰(shuí)在修改文件,并且CVS可以自動(dòng)發(fā)送郵件給每一個(gè)監(jiān)視的用戶告知最新的更新。

8.建立多個(gè)源代碼倉(cāng)庫(kù)
如果需要管理多個(gè)開發(fā)組,而這些開發(fā)組之間不能互相訪問,可以有2個(gè)辦法:
a.共用一個(gè)端口,需要修改cvspserver文件,給server_args指定多個(gè)源代碼路徑,即多個(gè)—allow-root參數(shù)。由于xinetd的server_args長(zhǎng)度有限制,可以在cvspserver文件中把服務(wù)器的設(shè)置重定向到另外一個(gè)文件,如:

代碼:
server = /home/cvsroot/cvs.run


然后創(chuàng)建/home/cvsroot/cvs.run文件,該文件必須可執(zhí)行,內(nèi)容格式為:

代碼:
#!/bin/bash
/usr/bin/cvs -f \
--allow-root=/home/cvsroot/src1 \
--allow-root=/home/cvsroot/src2 \
pserver


注意此時(shí)源代碼倉(cāng)庫(kù)不再是/home/cvsroot,進(jìn)行初始化的時(shí)候要分別對(duì)這兩個(gè)倉(cāng)庫(kù)路徑進(jìn)行初始化,而不再對(duì)/home/cvsroot路徑進(jìn)行初始化。
b.采用不同的端口提供服務(wù)
重復(fù)第2步和第3步,為不同的源代碼倉(cāng)庫(kù)創(chuàng)建不同服務(wù)名的啟動(dòng)腳本,并為這些服務(wù)名指定不同的端口,初始化時(shí)也必須分別進(jìn)行初始化。

posted on 2007-09-17 11:36 大龍 閱讀(294) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品久久中文| 亚欧成人精品| 欧美午夜精品久久久久久人妖| 久久精品亚洲精品国产欧美kt∨| 亚洲一区二区欧美| 这里只有精品视频在线| 日韩系列欧美系列| 中日韩美女免费视频网址在线观看 | 欧美午夜精品久久久久久超碰| 欧美视频免费在线| 国产精品人人爽人人做我的可爱| 国产精品理论片| 韩日精品视频一区| 亚洲精品1区2区| 一本大道久久a久久综合婷婷| 一区二区精品在线观看| 欧美在线播放视频| 欧美成人日韩| 一区二区高清在线观看| 久久www成人_看片免费不卡| 欧美va亚洲va国产综合| 国产精品免费aⅴ片在线观看| 国产综合视频| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 国产精品国产三级国产专播精品人| 欧美精品一区二区久久婷婷| 国产精品大片wwwwww| 国产一区二区三区免费在线观看| 亚洲级视频在线观看免费1级| 亚洲先锋成人| 欧美88av| 午夜视频一区二区| 欧美成人自拍| 国产一区二区三区在线观看视频 | 午夜一区二区三区在线观看| 鲁大师影院一区二区三区| 国产精品国产三级国产aⅴ浪潮| 在线欧美福利| 国产一区二区三区的电影| 亚洲一区二区成人| 欧美岛国在线观看| 久久精品国产第一区二区三区最新章节| 欧美日韩另类视频| 亚洲精品自在在线观看| 麻豆成人精品| 欧美一级播放| 国产精品美女一区二区在线观看| 9久草视频在线视频精品| 免费欧美在线视频| 欧美一区亚洲一区| 国产拍揄自揄精品视频麻豆| 亚洲一区二区免费看| 亚洲黄色一区| 久久久久国色av免费观看性色| 国产精品一区久久| 午夜精品一区二区三区四区| 日韩午夜在线电影| 午夜老司机精品| 国产在线欧美| 亚洲欧美视频在线观看| 亚洲国产一区在线| 美女黄网久久| 亚洲国产欧美在线| 欧美福利电影在线观看| 久久久久久久网站| 在线观看国产精品淫| 久久中文字幕一区| 久久久久一区二区三区四区| 激情欧美丁香| 欧美激情一区三区| 欧美激情第10页| 日韩写真在线| 一区二区三区欧美激情| 国产精品高清一区二区三区| 欧美亚洲午夜视频在线观看| 亚洲欧美日韩成人| 极品尤物av久久免费看| 免费成人你懂的| 免费亚洲一区| 999在线观看精品免费不卡网站| 亚洲国产小视频在线观看| 亚洲精品日韩精品| 国产欧美不卡| 亚洲自拍三区| 亚洲欧美日产图| 伊人久久大香线蕉av超碰演员| 欧美成va人片在线观看| 欧美精品在线免费| 欧美一区二区日韩一区二区| 久久精品最新地址| 日韩一级片网址| 亚洲欧美视频在线| 尤妮丝一区二区裸体视频| 亚洲黄色一区二区三区| 国产精自产拍久久久久久| 蜜臀av性久久久久蜜臀aⅴ| 久久精品国产一区二区三区| 亚洲三级电影在线观看| 国产精品久久毛片a| 欧美一区二区三区视频| 性18欧美另类| 亚洲精品在线电影| 午夜精品福利视频| 亚洲日本va午夜在线电影| 在线一区二区视频| 亚洲第一黄色| 午夜欧美大尺度福利影院在线看| 亚洲激情二区| 亚洲一区二区三区乱码aⅴ| 亚洲国产精品成人综合色在线婷婷 | 亚洲成人资源| 亚洲一区二区三区午夜| 亚洲国产日韩欧美在线99 | 欧美日韩你懂的| 久久久久久久精| 国产精品多人| 亚洲精品国产精品国自产在线| 国产欧美视频一区二区| 亚洲精品午夜| 亚洲经典视频在线观看| 欧美在线免费一级片| 亚洲欧美高清| 欧美精品三级在线观看| 欧美成人精品一区二区| 国产在线观看一区| 亚洲女ⅴideoshd黑人| 一区二区三区.www| 欧美福利网址| 久久日韩粉嫩一区二区三区| 国产精品视频1区| 在线一区观看| 亚洲欧美电影院| 国产精品久久久久毛片大屁完整版| 亚洲国产日韩一级| 亚洲精品乱码久久久久久蜜桃91 | 国产在线观看一区| 亚洲性人人天天夜夜摸| 日韩亚洲欧美一区| 欧美国产激情| 欧美电影免费观看网站| 黄色国产精品一区二区三区| 西西裸体人体做爰大胆久久久| 亚洲欧美视频在线观看| 国产精品亚洲综合色区韩国| 亚洲女同在线| 久久精品国产免费看久久精品| 国产日韩欧美91| 久久xxxx| 欧美成人亚洲成人| 亚洲免费电影在线| 欧美揉bbbbb揉bbbbb| 亚洲一区二区黄色| 欧美在线观看一区二区| 国产一区二区电影在线观看 | 亚洲综合视频1区| 亚洲性感美女99在线| 国产精品久久久久久久免费软件| 亚洲午夜一区二区三区| 久久免费国产精品| 亚洲国产欧洲综合997久久| 欧美片网站免费| 中日韩视频在线观看| 久久精品一本| 亚洲精品国产精品乱码不99按摩| 欧美日韩hd| 欧美一级艳片视频免费观看| 欧美成人免费大片| 亚洲午夜精品福利| 国产伦精品一区二区三区照片91| 欧美在线视频免费观看| 欧美jizzhd精品欧美喷水| 一本色道**综合亚洲精品蜜桃冫| 国产精品久久久久久妇女6080| 久久九九电影| 日韩一级网站| 美女脱光内衣内裤视频久久影院| 夜夜狂射影院欧美极品| 国产欧美日韩91| 欧美激情bt| 欧美在线一二三区| 亚洲理伦在线| 免费久久精品视频| 亚洲欧美影院| 亚洲美女黄色片| 一区在线视频观看| 国产精品人人爽人人做我的可爱| 欧美大片一区二区三区| 欧美在线综合| 亚洲一区二区欧美| 亚洲人成网站色ww在线| 久久精品91| 亚洲欧美三级伦理| 一个色综合av| 亚洲九九九在线观看| 激情久久五月| 韩国自拍一区| 国产亚洲激情| 欧美天天在线| 欧美日韩三区| 欧美另类极品videosbest最新版本|