CVS Server
1.先查看是否安裝cvs
#rpm -qa | grep cvs
一般安裝在 /usr/bin/cvs,
如果未安裝,到www.cvshome.org下載一個最新的rpm安裝即可
一般安裝在 /usr/bin/cvs,
如果未安裝,到www.cvshome.org下載一個最新的rpm安裝即可
2.建立cvs user group,便於管理cvs User
#groupadd cvs
#groupadd cvs
3.建立cvsroot User,屬於cvs組(組名必須為cvs),根目錄為/home/cvsroot,
不允許 login
#useradd -g cvs -s /sbin/nologin cvsroot
不允許 login
#useradd -g cvs -s /sbin/nologin cvsroot
4.改變/home/cvsroot的目錄屬性
#chmod 775 /home/cvsroot
#chmod 775 /home/cvsroot
5.初始化cvs source,此操作產生目錄 /home/cvsroot/CVSROOT,
其下為一些初始化檔
#cvs -d /home/cvsroot init
其下為一些初始化檔
#cvs -d /home/cvsroot init
6.Create可以login CVS服務的用戶及密碼,需要創建檔passwd
#vi /home/cvsroot/CVSROOT/passwd
檔內容如下:
dawei:xxxxx:cvsroot
dawei為username
注意:cvs user 和 server user是可以不一樣的
#vi /home/cvsroot/CVSROOT/passwd
檔內容如下:
dawei:xxxxx:cvsroot
dawei為username
注意:cvs user 和 server user是可以不一樣的
7.xxxxxx為密碼,由以下檔產生:
#vi /home/cvsroot/passwdgen.pl passwdgen.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} ";
#vi /home/cvsroot/passwdgen.pl passwdgen.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} ";
8.如果密碼設為:123456,則敲入:
#./passwdgen.pl "123456"
電腦會產生一組加密密碼例如是ABCDEF 把她複製下來
#vi /home/cvsroot/CVSROOT/passwd
把XXXXXX修改成ABCDEF9.加入cvs service
#vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service
10.修改設定黨
#vi /etc/xinetd.d/cvs
主要修改的有
disable = no
server_args = -f --allow-root=/home/cvsroot pserver
# bind = 127.0.0.1
修改完成後變成
主要修改的有
disable = no
server_args = -f --allow-root=/home/cvsroot pserver
# bind = 127.0.0.1
修改完成後變成
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/cvsroot pserver
# bind = 127.0.0.1
}
11.重新啟動
#/etc/rc.d/init.d/xinetd restart
若出現沒有 xinetd,yum即可
#yum install xinetd
12.檢查cvspserver服務是否已經啟動
#netstat -l |grep cvspserver
其結果如下:
tcp 0 0 *:cvspserver *:* LISTEN
CVS client
有兩種方式
第一種 只接打
#cvs -d ":pserver:username@X.X.X.X:/home/export" login
第二種 寫在~/.bash_profile內
#vi ~/.bash_profile
內容如下
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export CVSROOT=:pserver:dawei@10.74.11.36:/home/cvsroot
是增加export CVSROOT=:pserver:username@X.X.X.X:/home/cvsroot
X.X.X.X 是server ip
修改完成之後
#cvs login
會跑出
Logging in to :pserver:lin@10.74.11.36:2401/home/cvsroot
CVS password:
打完密碼就可以了
若遇到 No route to host
可能是防火牆沒關
在你的目錄底下
#ls -all
應該會出現.cvspass黨
#cat .cvspass
/1 :pserver:lin@10.74.11.36:2401/home/cvsroot A4Kw1"R
這是記錄著你登入的資訊,這資料會一直存在,除非你把它刪掉或其他。
#cvs import -m "CVS demo test" da r0 start
此時在server就會多出da這個資料夾
再把此資料夾在check out
#cvs co da or #cvs checkout da
#ls
就會發現多個da
#cvs status da or #cvs st da
#cd da#cvs status da or #cvs st da
#ls
你就會看到一個CVS的資料夾
#cd CVS
#ls
就會看到Entries Repository Root
先來看Repository
#cat Repository
就是你倉庫的名稱
#cat ROOT
就是你登入的資訊
#cat Entries
目前版本 寫入時間(格林威治)
#pwd
/home/dawei/da
#vi test /建立一個文字檔
hello word /裡面內容
#cvs add test /加入到server 會幫你查詢看看是否有重複的檔名
cvs add: scheduling file `test' for addition
cvs add: use 'cvs commit' to add this file permanently
#cvs ci test
or #cvs ci -m "增加一列註解" test
ci 是存入之意,-m 後面接續本次存入的記錄訊息,主要目的,是用來讓自己及合作伙伴,將來能對這次的修改動作有跡可循。若您沒有加 -m "記錄訊息" 也無妨,cvs 會主動叫出 vi,要求您必須輸入記錄訊息,如以下操作畫面:
"增加一列註解"
CVS: ----------------------------------------------------------------------
CVS: Enter Log. Lines beginning with `CVS:' are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Modified Files:
CVS: test
CVS: ----------------------------------------------------------------------按 wq 存檔離開, 出現以下畫面:
RCS file: /home/cvsroot/da/test,v
done
Checking in test;
/home/cvsroot/da/test,v <-- test
initial revision: 1.1
done
參考文獻RCS file: /home/cvsroot/da/test,v
done
Checking in test;
/home/cvsroot/da/test,v <-- test
initial revision: 1.1
done
沒有留言:
張貼留言