<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-49  評論-67  文章-27  trackbacks-0

    1 準備

    在安裝之前,首先通過運行下面命令查看系統上是否已經安裝了CVS

    root# rpm –q cvs

    這是我系統上輸出的內容:

    cvs-1.11.19-8

    說明系統上已經安裝了CVS,要卸載再安裝新的版本或者重新安裝。可以輸入如下命令進行卸載:

    root# rpm –e cvs

    這時系統輸出如下提示:

    warning: /etc/xinetd.d/cvs saved as /etc/xinetd.d/cvs.rpmsave

    這是什么系統已經將CVS卸載,并將CVS的配置文件/etc/xinetd.d/cvs保存為副本文件/etc/xinetd.d/cvs.rpmsave

    2 安裝

    作為管理員用戶登錄,運行下面命令安裝:

    root# cd /home/soft/Fedora4_x86_64_RPMS/

    root# rpm –ivh cvs-1.11.19-8.x86_64.rpm

    系統的輸出如下:

    warning: cvs-1.11.19-8.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2

    Preparing...                ########################################### [100%]

       1:cvs                    ########################################### [100%]

    3 配置

    3.1 創建組和用戶

    首先創建一個cvs組和一個cvsroot用戶:

    root# groupadd cvs

    root# useradd –g cvs –p cvsroot cvsroot

    3.2 設置權限

    CVS創建一個根目錄來存放代碼,這里我們使用的是/home/globus/cvsroot最為我們的根目錄。然后為該目錄設置相應的讀寫權限和所有權限。

    root# mkdir /home/globus/cvsroot

    root# -R chown cvsroot.cvs /home/globus/cvsroot

    root# -R chmod 771 /home/globus/cvsroot

    3.3 添加系統變量CVSROOT

    設置CVSROOT系統變量用來記錄CVS的根目錄,這樣可以方便以后我的使用。編輯/etc/profile文件,添加下面一行:

    export CVSROOT=/home/globus/cvsroot

    3.4 設置CVS服務端口

    查看/etc/services文件,看是否有如下兩行代碼。如果沒有需要加入。不過通常在安裝CVS的時候會自動加入。

    cvspserver      2401/tcp              # CVS client/server operations

    cvspserver      2401/udp              # CVS client/server operations

    3.5 修改CVS配置文件

    修改/etc/xinetd.d/cvs文件,該文件是CVS的配置文件。

     

    # default: off

    # description: The CVS service can record the history of your source

    #              files. CVS stores all the versions of a file in a single

    #              file in a clever way that only stores the differences

    #              between versions.

    service cvspserver

    {

            disable                 = yes

            port                    = 2401

            socket_type             = stream

            protocol                = tcp

            wait                    = no

            user                    = root

            passenv                 = PATH

            server                  = /usr/bin/cvs

            env                     = HOME=/var/cvs

            server_args             = -f --allow-root=/var/cvs pserver

    #       bind                    = 127.0.0.1

    }

    修改后的結果如下,其中黑體字是表示需要修改的地方。

    # default: off

    # description: The CVS service can record the history of your source

    #              files. CVS stores all the versions of a file in a single

    #              file in a clever way that only stores the differences

    #              between versions.

    service cvspserver

    {

            disable            = no

            port                    = 2401

            socket_type             = stream

            protocol                = tcp

            wait                    = no

            user                    = root

            passenv                 = PATH

            server                  = /usr/bin/cvs

    #      env                     = HOME=/var/cvs

            server_args    = -f --allow-root=/home/globus/cvsroot pserver

    #       bind                    = 127.0.0.1

    }

    很多網上的文章介紹時說需要建立/etc/xinetd.d/cvspserver文件但是經過我的試驗對我們安裝的CVS版本來說是不需要的。并且這樣作是不起任何作用的。

    3.6 添加CVS的用戶

    3.6.1 CVS中添加系統用戶(不推薦)

    接下來,需要把使用CVS的用戶添加到當前的cvs組中。可以通過修改/etc/group文件或者使用命令的方式進行。

    a.通過編輯文件:打開文件/etc/group,在該文件下找到類似下面的一行代碼:

    cvs:x:516:

    其中數字可能不是516,這個跟你系統有關。在這里,我們可以在“冒號”后面添加允許使用該CVS的系統用戶,多個用戶可以使用“逗號”分開。看起來類似下面的代碼:

    cvs:x:516:czb,huangqin,sqh,wangjian,wtj

    b.通過命令:

    root# usermod –G cvs czb

    注:我們不推薦使用這種方法。因為遇到一個問題:如果用戶A導入了一個模塊,而其它用戶無權checkout。這里可能是我們配置上出了問題,但是采用下面的方法可以解決。

    3.6.2 CVS中添加非系統用戶

    我們這里假設要向CVS系統中添加一個grid用戶,該用戶的口令是test。那么,可以通過下面的步驟進行添加。

    1.編寫passwdgen.pl文件

    首先,編寫Perl腳本文件:

    #!/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} ";

    該文件用來生成一個經過加密的口令。

    為了方便地讓CVS系統中的所有用戶生成自己的口令,建議為該文件添加執行權限。并且可以將該文件放在大家有權限訪問的目錄下。

    2.生成用戶口令

    然后,為使用CVS系統的用戶生成加密的口令。處于安全的考慮,我們可以讓CVS用戶通過上面的腳本文件生成自己的加密口令。并將這個加密口令發送給管理員。

    運行下面的命令,為grid戶生成加密的口令:

    user$ ./passwdgen.pl test

    IIjgs2WRpImsU

    這時,用戶可以將生成的加密口令“IIjgs2WRpImsU”發送給CVS管理員。

    3.編寫passwd文件

    該文件用來存放CVS系統的用戶的信息,位于$CVSROOT/CVSROOT目錄下面。它的格式如下

    username:userpwd:sysuser

    l           username:用來訪問CVS系統的用戶名

    l           userpwd:收到的用戶的加密口令

    l           sysuser:操作系統中存在的有權訪問$CVSROOT目錄的用戶,這里是cvsroot

    我們得到的結果如下:

    grid:IIjgs2WrpImsU:cvsroot

    此時,我們就完成了向系統中添加grid用戶的過程,并且該用戶的口令是test

    3.7 添加模塊

    通過編輯$CVSROOT/CVSROOT目錄下面的modules文件為CVS建立模塊。

    CVS系統中,存在三種形式的模塊:alias模塊、regular模塊和ampersand模塊。它們的不同在于它們將repository中的文件映射到工作目錄(本地)中文件的方式不一樣。

    l           alias模塊

    這是最簡單的一種,其格式如下:

    mname –a aliases...

    其中,mname指的是模塊名,而aliases指的是其它的模塊名或者路徑名。

    l           regular模塊

    該模塊的書寫格式如下:

    mname [options] dir [files...]

    該模塊定義所有位于dir目錄下的文件到mname代表的模塊中。其中,dir是參照$CVSROOT的一個相對路徑。此外,如果后面跟上具體的files,則表示將dir目錄下的files文件加入到模塊中。

    l           ampersand模塊

    該模塊的書寫格式如下:

    mname [options] &module...

    這樣可以引用其它的module

    這里,我們使用最為簡單的alias模塊,定義如下:

    grid grid

    這樣,我們就可以在Wincvs中看到grid模塊了。

    3.8 重啟CVS

    最后,重新啟動CVS服務,確保剛才的修改被執行。

    root# /etc/rc.d/init.d/xinetd restart

    如果系統輸入以下信息,表示服務重新啟動了。

    Stopping xinetd:                                           [  OK  ]

    Starting xinetd:                                           [  OK  ]

    4 測試

    接下來我們可以在Windows下用wincvs客戶端進行登錄進行測試。

    注:這里面需要注意的是,設置wincvsCVSROOT時應該是這樣:

    wtj@202.115.30.191:/home/globus/cvsroot

    /home/globus/cvsroot后面沒有“/”。

    posted on 2005-10-16 16:34 思考 閱讀(3509) 評論(0)  編輯  收藏 所屬分類: 其他技術文章Linux技術
    主站蜘蛛池模板: 中文字幕久精品免费视频| 国产亚洲精品美女久久久久久下载| 视频免费在线观看| 亚洲日本中文字幕天堂网| 免费大片av手机看片| 亚洲精品视频免费| 美女网站在线观看视频免费的| 国产成人亚洲影院在线观看| 久久毛片免费看一区二区三区| 亚洲一区爱区精品无码| 色欲色香天天天综合网站免费| 日韩精品一区二区亚洲AV观看 | 亚洲精品国产精品乱码在线观看| yy一级毛片免费视频| 77777亚洲午夜久久多人| 日韩av无码免费播放| 亚洲综合精品香蕉久久网97| 免费能直接在线观看黄的视频| 国产亚洲福利在线视频| 亚洲av无码成人精品区| 三级网站免费观看| 亚洲国产日韩在线一区| 日本一区免费电影| a级毛片免费播放| 亚洲国产精品成人综合色在线婷婷| 曰批全过程免费视频在线观看| 国产成人精品日本亚洲语音 | 在线免费观看韩国a视频| 特级毛片在线大全免费播放| 亚洲精品国产精品乱码视色| 1000部拍拍拍18勿入免费凤凰福利| 亚洲色大18成人网站WWW在线播放| 免费观看亚洲人成网站| 免费播放在线日本感人片| 亚洲婷婷在线视频| 亚洲av无码专区在线观看素人| 午夜影院免费观看| 激情婷婷成人亚洲综合| 亚洲AV美女一区二区三区| 在线观看免费成人| 久久九九全国免费|