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

大龍的博客

常用鏈接

統計

最新評論

CVS服務器設置指南

     Red Hat Linux 8.0和9.0上測試通過。

服務器的安裝略過不提,因為安裝了開發工具的話默認就已經有了CVS。就算沒有,更新軟件包就可以搞定,除非你一定要安裝最新版本。

1.首先創建用于CVS的組和用戶:

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


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

2.修改配置文件

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


看看是否有

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


這2行。系統自帶了CVS時,這2行也已經有了,只需要確認一下。如果沒有,請自己加上去。
然后必須創建啟動腳本:

代碼:
#vi /etc/xinet.d/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_success += USERID
log_on_failure += USERID
}


其中server指定CVS可執行文件路徑,默認安裝就是/usr/bin/cvs。server_args指定源代碼庫路徑及認證方式等,例子中把源代碼存放在cvsroot的主目錄中,也可以另外指定路徑,但必須注意權限設置,pserver是密碼認證方式,這種方式的安全性要差一些,但操作起來比較簡單。請注意每行等號左右都有一個空格,否則無法啟動服務。

3.初始化CVS
切換到cvsroot用戶,然后進行初始化:

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


這個路徑應該與cvspserver文件中指定的路徑相同,初始化后會在此路徑下面創建CVSROOT目錄,存放用于CVS管理的一些文件。此時重新啟動xinetd服務,CVS服務器應該能夠啟動了。

代碼:
#service xinetd restart


當然,重新啟動計算機也可以。確認是否啟動:

代碼:
#netstat -l | grep cvspserver


如果能看到

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


說明已經正常啟動,沒有的話請重新檢查配置過程是否有錯誤或者遺漏。最后還必須檢查防火墻的設置,把2401端口打開。

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

代碼:
用戶名:密碼:系統用戶


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

代碼:
#htpasswd passwd username


這個命令為username指定密碼,并保存在passwd中,文件不存在時會自動創建。htpasswd命令不是為CVS而設,因此總有一些遺憾,它不能自動添加映射到的用戶名,不過沒關系,我們設置好密碼后,自己把這部分加上。我的做法是映射到cvsroot用戶,如果需要映射其他的用戶,請注意給相應的目錄設置好權限,否則CVS用戶可能無法訪問源代碼倉庫。
要徹底防止使用系統帳號登陸,可以編輯CVSROOT目錄下的config文件,把

代碼:
#SystemAuth=no


這一行前面的#去掉,CVS就不會驗證系統用戶了,否則當用戶名不在passwd文件中時,CVS會進行系統用戶的驗證。
此外還必須配置讀寫權限,使用CVSROOT目錄下的readers和writers文件進行這個工作。這2個文件默認也是沒有的,沒關系,自己創建就可以了。readers文件記錄擁有只讀權限的用戶名,每行一個用戶;writers文件記錄擁有讀寫權限的用戶名,也是每行一個用戶。注意,readers文件比writers優先,也就是說出現在readers中的用戶將會是只讀的,不管writers文件中是否存在該用戶。

配置完畢,先測試一下:

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


這里假設用戶名是username,本機登陸。出現密碼提示,輸入正確的密碼后,登陸成功。如果提示訪問被拒絕,請檢查用戶權限、目錄權限以及防火墻設置。建議設置環境變量CVSROOT:

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


以后就不需要輸入-d參數了,但-d參數會覆蓋這個環境變量的設置。

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

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

代碼:
Linux Linux
Kernel Linux/kernel


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

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

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

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


然后創建/home/cvsroot/cvs.run文件,該文件必須可執行,內容格式為:

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


注意此時源代碼倉庫不再是/home/cvsroot,進行初始化的時候要分別對這兩個倉庫路徑進行初始化,而不再對/home/cvsroot路徑進行初始化。
b.采用不同的端口提供服務
重復第2步和第3步,為不同的源代碼倉庫創建不同服務名的啟動腳本,并為這些服務名指定不同的端口,初始化時也必須分別進行初始化。

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


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   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>
            亚洲欧美国产日韩天堂区| 一本到12不卡视频在线dvd| 久久天堂成人| 毛片一区二区| 国产一区二区三区黄| 亚洲天堂网在线观看| 亚洲国产精品成人综合色在线婷婷| 欧美亚洲综合在线| 国产精品免费看| 亚洲天堂男人| 亚洲精品免费一二三区| 老司机精品视频一区二区三区| 欧美成人国产va精品日本一级| 欧美韩国日本综合| 久久麻豆一区二区| 欧美精品色综合| 亚洲人成在线播放| 欧美电影打屁股sp| 久久尤物视频| 樱桃视频在线观看一区| 久久免费视频在线观看| 欧美一区二区视频观看视频| 国产精品综合色区在线观看| 新67194成人永久网站| 国产精品99久久不卡二区| 欧美日韩一区二区视频在线观看 | 亚洲精品久久| 欧美成年人视频| 亚洲国产另类精品专区| 男女精品网站| 免费视频一区二区三区在线观看| 在线视频国产日韩| 欧美大学生性色视频| 免费在线亚洲欧美| 亚洲精品裸体| 91久久精品美女高潮| 欧美精品v日韩精品v韩国精品v | 亚洲精品小视频| 亚洲国产精彩中文乱码av在线播放| 久久综合网hezyo| 亚洲精品黄色| 日韩视频第一页| 欧美日韩亚洲视频| 亚洲女人小视频在线观看| 亚洲综合色激情五月| 国产日韩欧美电影在线观看| 久久亚洲精品一区二区| 久久综合色婷婷| 亚洲理论电影网| 日韩一级精品视频在线观看| 国产精品久久久| 久久精品免费| 久久在精品线影院精品国产| 日韩视频在线观看免费| 一本色道久久综合亚洲精品婷婷 | 久久久91精品国产一区二区三区| 久久黄色影院| 亚洲精品一区二区三区蜜桃久| 亚洲免费不卡| 国产日产欧美一区| 欧美成人dvd在线视频| 欧美精品www| 欧美一区二区视频免费观看| 久久久av网站| 亚洲美女精品久久| 亚洲一区视频在线| 在线不卡欧美| 日韩视频在线观看| 国产精品美女久久久久久免费| 久久躁日日躁aaaaxxxx| 欧美区亚洲区| 久久久久久尹人网香蕉| 欧美电影免费观看高清| 亚洲欧美日韩一区二区在线| 久久精品国产综合| 一区二区成人精品 | 国产精品嫩草影院一区二区| 久久三级福利| 欧美日韩精品一区| 久久久成人精品| 欧美猛交免费看| 久久精品欧洲| 欧美日韩国产999| 久久久久久噜噜噜久久久精品| 欧美激情一区二区| 久久久久久久久久码影片| 欧美另类99xxxxx| 久久久亚洲精品一区二区三区 | 久久av免费一区| 99在线精品观看| 久久精品九九| 亚洲一区二区三区国产| 久久久精品一品道一区| 亚洲一级二级| 久久综合电影一区| 亚洲欧美一区二区激情| 你懂的视频一区二区| 欧美在线视频观看免费网站| 欧美精品一二三| 久久久噜噜噜久久中文字幕色伊伊| 欧美日韩一级大片网址| 欧美成人激情视频免费观看| 国产精品视频午夜| 亚洲精品无人区| 在线观看视频免费一区二区三区| 亚洲午夜91| 亚洲免费观看视频| 久久久综合香蕉尹人综合网| 羞羞漫画18久久大片| 欧美久久久久久蜜桃| 男女精品网站| 韩国av一区二区三区四区| 这里只有精品视频| 亚洲作爱视频| 欧美+亚洲+精品+三区| 久久深夜福利| 国产欧美视频在线观看| 一本一本久久| 一本一道久久综合狠狠老精东影业 | 欧美精品一卡| 欧美成人精品一区二区三区| 国产亚洲在线观看| 亚洲午夜视频在线观看| 一本色道久久综合| 欧美高清视频一区二区三区在线观看| 久久五月激情| 国产一区二区三区在线观看网站| 国产精品99久久久久久久女警| 99视频国产精品免费观看| 男女精品网站| 亚洲第一成人在线| 在线免费不卡视频| 久久精品国产亚洲一区二区三区 | 亚洲视频在线观看网站| 一本久久综合亚洲鲁鲁| 欧美激情精品久久久久久黑人 | 欧美黄色精品| 久久婷婷蜜乳一本欲蜜臀| 国产精品亚洲综合一区在线观看| 99精品黄色片免费大全| 99ri日韩精品视频| 欧美高清视频在线| 亚洲高清久久| 亚洲另类自拍| 欧美连裤袜在线视频| 亚洲欧洲另类国产综合| 最新中文字幕一区二区三区| 另类欧美日韩国产在线| 欧美91视频| 最新成人av网站| 欧美成人精品三级在线观看 | 欧美一区二区高清| 欧美在线日韩在线| 国内精品久久久久国产盗摄免费观看完整版 | 欧美在线观看一二区| 久久精品毛片| 一色屋精品亚洲香蕉网站| 久久久久国色av免费看影院| 欧美成人免费网| 亚洲精品一区二区三区av| 欧美人与禽猛交乱配视频| 99re66热这里只有精品4| 亚洲一区日韩在线| 国产精品免费区二区三区观看| 亚洲欧美激情一区| 久久久久久亚洲精品中文字幕| 在线看日韩欧美| 欧美精品成人一区二区在线观看| 亚洲免费观看高清在线观看| 亚洲男同1069视频| 国产亚洲精品久久久| 久久久久久久国产| 亚洲激情综合| 亚洲综合国产激情另类一区| 国产婷婷精品| 老司机免费视频久久| 亚洲毛片播放| 欧美一区二区三区在线观看视频| 精品电影在线观看| 欧美精品一区二区久久婷婷| 亚洲无吗在线| 麻豆久久婷婷| 夜夜嗨av一区二区三区中文字幕| 国产精品久久999| 久久精品欧美日韩| 91久久国产综合久久| 午夜精品久久久99热福利| 精品88久久久久88久久久| 欧美久久久久久久| 午夜一区不卡| 亚洲福利视频网| 亚洲欧美日韩专区| 在线成人欧美| 国产精品国产三级国产专播品爱网| 欧美综合国产| 亚洲免费不卡| 久热精品视频在线| 在线视频欧美日韩精品| 国产综合欧美| 欧美三级网址|