• <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>

            Khan's Notebook GCC/GNU/Linux Delphi/Window Java/Anywhere

            路漫漫,長修遠,我們不能沒有錢
            隨筆 - 173, 文章 - 0, 評論 - 257, 引用 - 0
            數(shù)據(jù)加載中……

            CVS 服務器的安裝配置以及使用 redhat9

            CVS 服務器的安裝配置以及使用 redhat9

            作者: Khan
            時間: 2006-1-9
            環(huán)境: 服務器 Redhat 9.1? ,客戶端 :window 2000 pro

            因為有個項目要多人合作,所以選擇了cvs, 其實有其他選擇,如subversion,但是資料少所以只有使用這個
            早上9:00 - 15:00 終于配置完了服務器端和客戶端,并建立了一個倉庫使用,就將一些安裝使用的心得歸納
            了下來

            一 CVS服務器的安裝:
            1.查看你的操作系統(tǒng)上是否安裝了CVS:
            #> rpm -qa|grep cvs

            2.建立cvs用戶組:

            #> groupadd cvs

            3.建立cvs組的cvsroot用戶和所屬的目錄:

            #> useradd cvsroot -g cvs

            4.為cvsroot用戶添加密碼:

            #> passwd cvsroot

            5.改變 /cvsroot/ 的目錄屬性:

            #> chmod –R 770 /cvsroot

            6.改變用戶登陸身份:

            #> su cvsroot

            7.開始創(chuàng)建單個項目:

            #> cd /home/cvsroot
            #> mkdir smscgw
            #> mkdir smgp

            8.開始建立倉庫:
            這里我建立了兩個倉庫,用以介紹用戶名,密碼的設置方法
            cvs –d /home/cvsroot/smscgw init
            cvs –d /home/cvsroot/smgp init
            #> chmod –R 770 ./smscgw/ ./smgp/

            9.建立CVS服務啟動文件,我們使用xinetd方式:

            #> su - root 切換到root用戶身份
            #> cd /etc/xinetd.d
            #> vi 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/smscgw --allow-root=/home/cvsroot/smgp pserver
            ? log_on_failure += USERID
            }

            10.加入cvs服務:

            #>vi /etc/services

            cvspserver 2401/tcp #pserver cvs service
            cvspserver 2401/udp #pserver cvs service
            11。啟動cvs服務:

            #> /etc/init.d/xinetd restart

            12.檢查cvspserver服務是否已經(jīng)啟動:

            #> netstat -l |grep cvspserver
            應該有如下結(jié)果:

            tcp 0 0 *:cvspserver *:* LISTEN


            二.CVS服務的用戶管理:
            1.創(chuàng)建可以登陸cvs服務器的用戶名和密碼:

            #> su cvsroot
            #> vi /home/cvsroot/smscgw/CVSROOT/passwd

            trotter:*****:cvsroot
            mimi:*****:cvsroot

            #>vi /home/cvsroot/smgp/CVSROOT/passwd

            trotter:*****:cvsroot
            gary:*****:cvsroot

            這兩個文件的意思是有trotter,mimi,gary三個cvs用戶,mimi擁有smscgw的使用權(quán)限,gary擁有smgp的使用權(quán)限,trotter擁有project1和project2的使用權(quán)限。登陸后的權(quán)限是cvsroot權(quán)限。
            注意:這里的cvs用戶和系統(tǒng)用戶是不同的。

            2.*****為密碼,由以下文件生成:

            #> vi /home/cvsroot/smscgw/passwd.pl

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

            #>chmod a+x ./passwd.pl

            3.如果你想生成一個密碼是"123456",則:

            #> /cvsroot/passwd.pl "123456"

            回車即可得到加密密碼,用其替換passwd文件中的*****

            4.配置倉庫
            以smscgw倉庫為例
            #> cvs –d /home/cvsroot/smscgw init 這個指令執(zhí)行成功的話,會產(chǎn)生/home/cvsroot/smscgw/CVSROOT這個目錄

            編輯modules模塊文件(直接在服務器上用vi編輯,也可以用cvs客戶端將CVSROOT導出后,本地編輯,然后提交)
            #> vi /home/cvsroot/smscgw/CVSROOT/modules

            # Three different line formats are valid:
            #?? ?key?? ?-a??? aliases...
            #?? ?key [options] directory
            #?? ?key [options] directory files...
            #
            #????? 模塊名   [options] ?
            ?????? SMSCGW??? -a???????? smscgw3

            # 其他選項
            # Where "options" are composed of:
            #?? ?-i prog?? ??? ?Run "prog" on "cvs commit" from top-level of module.
            #?? ?-o prog?? ??? ?Run "prog" on "cvs checkout" of module.
            #?? ?-e prog?? ??? ?Run "prog" on "cvs export" of module.
            #?? ?-t prog?? ??? ?Run "prog" on "cvs rtag" of module.
            #?? ?-u prog?? ??? ?Run "prog" on "cvs update" of module.
            #?? ?-d dir?? ??? ?Place module in directory "dir" instead of module name.
            #?? ?-l?? ??? ?Top-level directory only -- do not recurse.
            #
            # NOTE:? If you change any of the "Run" options above, you'll have to
            # release and re-checkout any working directories of these modules.
            #
            # And "directory" is a path to a directory relative to $CVSROOT.
            #
            # The "-a" option specifies an alias.? An alias is interpreted as if
            # everything on the right of the "-a" had been typed on the command line.
            #
            # You can encode a module within a module by using the special '&'
            # character to interpose another module into the current module.? This
            # can be useful for creating a module that consists of many directories
            # spread out over the entire source repository.


            三.使用

            1.將本地工程導入到遠程倉庫
            以windows 下的cvs客戶端為例,我使用的是TortoiseCVS 這個軟件,一個嵌入Explorer的客戶端
            在你需要導入到服務器的工程目錄上點鼠標右鍵,選擇 cvs-->創(chuàng)建新模塊
            選擇協(xié)議,輸入帳號密碼,端口,倉庫文件夾,模塊名
            也可以選擇在CVSROOT輸入框中輸入:pserver:username:password@ip:port/home/cvsroot/repository/smscgw
            注意目錄結(jié)構(gòu)父目錄和子目錄最好不要重名,也就是說最好不要出現(xiàn) smscgw/smscgw這樣的目錄結(jié)構(gòu)

            輸入完以后選擇 "確定"
            成功導入,該文件夾會有一個綠色的小標志,進入該目錄,鼠標右鍵 "CVS添加",將需要導入的文件添加到倉庫

            2.將遠程倉庫導出到本地

            在任何一個目錄下 鼠標右鍵 CVS取出
            輸入相應的信息, 選擇"確定"

            posted on 2006-01-12 09:53 Khan 閱讀(1021) 評論(0)  編輯 收藏 引用 所屬分類: 周邊技術(shù)

            久久夜色精品国产欧美乱| 欧美亚洲日本久久精品| 看久久久久久a级毛片| 国产精品九九九久久九九| 国产精品欧美久久久久天天影视| 久久久久亚洲AV综合波多野结衣 | 久久精品成人欧美大片| 婷婷久久精品国产| 国产V综合V亚洲欧美久久| 久久激情五月丁香伊人| 亚洲狠狠婷婷综合久久蜜芽| 国产高潮久久免费观看| 亚洲AV无一区二区三区久久| 久久精品一区二区影院| 久久夜色精品国产噜噜亚洲AV | 久久99精品久久久久久久不卡| 成人精品一区二区久久久| 国产99久久久国产精品小说| 91精品国产91久久久久久青草| 国色天香久久久久久久小说 | 潮喷大喷水系列无码久久精品| 久久夜色精品国产| 岛国搬运www久久| 久久99中文字幕久久| 无码久久精品国产亚洲Av影片| 亚洲国产精品嫩草影院久久| 久久精品国产精品青草| 久久ww精品w免费人成| 亚洲人成精品久久久久| 久久综合亚洲色HEZYO社区| 久久人人爽人爽人人爽av | 国产∨亚洲V天堂无码久久久| 成人综合久久精品色婷婷| 无码国内精品久久人妻麻豆按摩| 久久综合丝袜日本网| 久久久久久综合一区中文字幕| 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 久久99国产综合精品免费| 日日噜噜夜夜狠狠久久丁香五月| 狠狠色丁香久久婷婷综合蜜芽五月 | 久久人人爽人人爽人人片AV高清|