1. CVS란?
요즘 웬만한 프로그래밍 프로젝트 작업을 할때 다수가 모여서 작업을 합니다.
큰 프로젝트일수록 많은 사람이 참여하게 되는 데 여기서
'어떻게 각각의 작업을 일관성 있게 서로 충돌이 없도록 할것인가?'에 대해 고민하게 되죠.
그리고 그러한 문제를 해결하기위해 나온것이 바로 CVS입니다.
CVS는 하나의 저장소에 각 팀원들의 코딩같은 작업을 저장하고 바로바로 업데이트 할수 있으며
다른 버전으로 나누거나(branch) 다른 버전들을 합칠(merge)수 있습니다.
또한 CVS는 도둑맞거나 한꺼번에 날려버릴 위험이 적고 사무실이 아닌 다른 곳에서도 사용이 가능합니다.
2. 페도라에 CVS를 설치하기.
1) 우선 자신이 잘 볼수있는 곳에 잘 알아 볼수 있도록 cvs라는 폴더를 만듭니다.
/home에 생성하는 것이 좋겠습니다.
cd /home
mkdir cvs
만약 위에 두가지 명령어쓰는 것이 귀찮다면
mkdir /home/cvs
2) 생성한 cvs폴더에 들어가서 cvs를 초기화를 하시면 됩니다.
cvs-d /home/cvs init
이후 ls /home/cvs를 사용하여 cvs폴더안에 CVSROOT가 생긴것을 확인합니다.
3) 이렇게 초기화한후 cvs 저장 디렉토리에 대한 cvs유저의 접근권한을 설정합니다.
adduser cvs
chown root.cvs /home/cvs -R
chmod 770 /home/cvs -R
여기서 770은 ug+rwx로 바꿔도 상관없습니다.
아무튼 이렇게 유저 권한을 설정했으면 CVS그룹을 등록합니다.
chgrp -R cvs /home/cvs
chmod ug+rwx /home/cvs /home/cvs/CVSROOT
마찬가지로 ug+rwx는 770과 같은 소리니 자기 취향에 맞게 쓰길 바란다.
4) 이제 CVS서버에 인증을 거쳐 프로젝트 파일을 받아올때 인증에 유효한 CVS사용자 등록을 하자.
참고로 이 등록된 사용자는 실제 시스템 사용 권한을 가지고 있는 것이 아니라 단지 CVS서버만이
인지하는 사용자입니다.
htpasswd -nb 자신이 사용하고자 하는 아이디(저는 kai라고 하겠습니다) 비밀번호(저는 1234)
알겠지만 아이디와 비밀번호는 띄어 써야 합니다.
htpasswd -nb kai 1234
라고 명령어를 입력하면 그 밑에 (자신이 입력한 아이디):(이상한 글자)가 뜨는 것을 확인할 수 있습니다.
그 예로 아래와 같이 뜰겁니다. 물론 이건 예니까 사용하시는 사용자분과 저는 다르겠죠?
(예)kai:fbKDs51PpZHwo
이제 여기서부터가 중요합니다. 지금 사용하시고 계시는 터미널에서 다른 터미널을 하나 더 열어주세요.
그러면 터미널이 두개가 될겁니다. 그럼 저는 원래 있던 터미널을 '터미널1'이라고 부르고
나중에 열어놓은 터미널을 '터미널2'라고 하겠습니다.
터미널2에서 vi로 /home/cvs/CVSROOT/passwd를 생성내지는 열어봅니다.
그러면 아마도 아무것도 없을것이고 뭐라고 있으면 그것은 냅두고 밑에 추가를 합니다.
(자신의 아이디):(터미널1에서 자신의 아이디옆 이상은 문자열):cvs
라고 입력합니다.(여기서:부분은 띄어쓰기를 하지 않습니다.)
아까 터미널1에 kai:fbKDs51PpZHwo를 바로 이곳에 삽입할 겁니다.
(터미널2를 연다.)
vi /home/cvs/CVSROOT/passwd
kai:fbKDs51PpZHwo:cvs를 입력
입력을 마치셨으면 저장하고 나옵니다. 단! 여기서 이상한 문자열은 쉐도우 기법에 의한 여러분이
적어놓으신 비밀번호의 다른 모습이니까 하나도 틀리지 않게 적으셔야 합니다.
5)이후 CVS서버를 실행하기위해서는 /etc/xinetd.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/cvs pserver
}
라고 입력하시고 저장하시면 됩니다.
만약 cvs가 설치되어 있으신 분의 경우 /etc/xinetd.d폴더의 cvs파일에서 disable를 yes에서 no로,
server 경로를 /home/cvs로 바꾸시면 됩니다. 쉽게 생각해서 위와 같이 만드시면 됩니다.
그러나 저기서 안건들었던 부분은 그냥 놔두세요. 가령 bind = 127.0.0.1 이라고 되있는 부분은 그냥 놔둡니다.
6) 이제 파일 작성을 끝냈으면 xinetd 슈퍼데몬을 재시작합니다.
service xinetd restart
라고 명령어를 치시면 뭔가가 [ok]라고 뜨면서 데몬이 재시작을 합니다.
그러면 cvspserver가 잘 돌아가고 있는지 cvspserver의 포트인 2401포트를 검색해 봅니다.
netstat -an | grep 2401
이렇게 명령어를 입력했을 경우
tcp 0 0 :::2401 :::* LIST
EN
이런식으로 뜨면 성공입니다.
'개발 > shell' 카테고리의 다른 글
리눅스에서 CVS 설치 (0) | 2012.02.05 |
---|---|
cvs설치 (0) | 2012.02.05 |
리눅스 버전,cpu, memory, disk 확인하기 (0) | 2012.02.05 |
PATH 설정 (0) | 2012.02.05 |
tail 명령어 (0) | 2012.02.05 |