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

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

            CVS 服務(wù)器的安裝配置以及使用 redhat9

            CVS 服務(wù)器的安裝配置以及使用 redhat9

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

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

            一 CVS服務(wù)器的安裝:
            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.開始建立倉庫:
            這里我建立了兩個倉庫,用以介紹用戶名,密碼的設(shè)置方法
            cvs –d /home/cvsroot/smscgw init
            cvs –d /home/cvsroot/smgp init
            #> chmod –R 770 ./smscgw/ ./smgp/

            9.建立CVS服務(wù)啟動文件,我們使用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服務(wù):

            #>vi /etc/services

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

            #> /etc/init.d/xinetd restart

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

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

            tcp 0 0 *:cvspserver *:* LISTEN


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

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

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

            2.將遠(yuǎn)程倉庫導(dǎo)出到本地

            在任何一個目錄下 鼠標(biāo)右鍵 CVS取出
            輸入相應(yīng)的信息, 選擇"確定"

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

            91精品国产综合久久香蕉 | 九九久久99综合一区二区| 合区精品久久久中文字幕一区| 国产精品gz久久久| 久久久久久久久久久久久久| 久久精品亚洲AV久久久无码| 久久久久久久人妻无码中文字幕爆| 2020久久精品国产免费| 性做久久久久久免费观看| 久久亚洲AV成人无码| 国产精品久久久久jk制服| 国产视频久久| 久久综合亚洲欧美成人| 国产成人精品久久亚洲高清不卡| 亚洲va久久久久| 99久久99久久精品国产片果冻| 亚洲&#228;v永久无码精品天堂久久| 久久亚洲AV无码精品色午夜麻豆| 久久精品国产福利国产秒| 99精品久久久久久久婷婷| 99久久免费只有精品国产| 偷偷做久久久久网站| www亚洲欲色成人久久精品| 久久久久亚洲精品无码蜜桃| 亚洲AⅤ优女AV综合久久久| 国产亚洲婷婷香蕉久久精品| 久久久久久久97| 亚洲精品无码久久久久AV麻豆| 国产欧美久久久精品| 午夜精品久久久久久99热| 欧美国产成人久久精品| 久久se精品一区二区影院 | 99久久精品国产麻豆| 97香蕉久久夜色精品国产| 久久成人18免费网站| 久久午夜电影网| 国内精品久久久久影院优 | 久久成人国产精品二三区| 久久久噜噜噜久久中文福利| 亚洲va久久久噜噜噜久久| 狠狠色噜噜色狠狠狠综合久久|