개발 프로젝트 진행 시, 웬만한 프로젝트는 대부분 팀을 이뤄서 하게 된다.
그럴 때, 버전 관리가 필수적인데, 필요한 프로그램이 CVS이다.
CVS의 정의
CVS(Current Versions System, 동시 버전 시스템)은 소프트웨어 프로젝트를 진행할 때, 파일로 이뤄진 모든 작업과 변화를 추적해서 여러 개발자가 협력적이고 효율적으로 작업을 할 수 있게 한다. CVS는 GPL(GNU General Public License, GNU 일반 공중 허가서) 하에서 배포되는 오픈 소스 프로그램이다.
CVS 설치
1. CVS 설치 여부 확인
$ cvs -version
위 방법으로 확인이 가능하다. CVS가 설치되어 있다면 버전 정보가 보일 것이다.
설치되어 있지 않다면 CVS를 먼저 설치해야한다.
2. CVS 설치
CVS는 http://ftp.gnu.org/non-gnu/cvs/binary/stable/x86-linux/RPMS/i386/에서 패키지를 다운받을 수 있다.
CVS 리눅스 계정 추가
CVS를 관리할 계정을 생성해야 한다. 계정을 따로 생성하지 않고 관리해도 되지만 따로 계정을 두고 관리하는 것이 관리 차원에서 효율적이다.
추가되는 사용자 계정의 홈 디렉토리가 CVS의 저장소가 될 것이다.
$ useradd -g cvs cvs - cvs 그룹에 계정 추가
$ passwd cvs - cvs 계정 패스워드 설정
CVS 저장소(repository) 설정
여러 명이 동시에 작업해야 하므로 공통으로 저장할 장소가 필요하다. 그 장소를 저장소(repository)라고 부르며 CVS의 전반적인 설정 파일, 버전 관리에 관련된 정보, 파일 별 작업 기록 등이 저장된다. 설정 파일 및 작업 기록은 CVS 프로그램이 자동으로 관리하므로 사용자가 건드릴 필요는 전혀 없다.
/home/cvs 디렉토리를 CVS 저장소로 초기화한다. -d 옵션은 저장소가 될 디렉토리 경로를 지정하기 위한 옵션이고, 'init'은 저장소를 초기화하기 위한 cvs 명령어이다.
명령어 실행 후 /home/cvs 디렉토리를 확인해 보면 'CVSROOT'라는 이름의 디렉토리가 생성되어 있으며 각종 설정 파일이 그 디렉토리 내에 들어있다는 것을 알 수 있다.
CVS 디렉토리 사용 권한 설정
설정했던 디렉토리를 cvs 계정이 사용 가능하도록 지정해 준다.
$ chmod 770 /home/cvs /home/cvs/CVSROOT
CVS 서비스 설정
1. 2041 포트 확인
CVS 전용 계정으로 관리하는 경우 클라이언트는 CVS 서버에 pserver 프로토콜을 사용해 접근한다. 이 프로토콜을 사용하려면 몇 가지 준비 사항이 필요하다.
우선 pserver 프로토콜이 사용하는 포트가 사용 가능하게 설정되어 있는지 확인한다.
이 명령어의 결과가 출력이 된다면 pserver 프로토콜을 사용할 준비가 되어 있는 것이다.
2. pserver 환경 파일 작성
pserver 프로토콜을 사용하기 위해서는 환경 파일을 작성해야 한다. 슈퍼 데몬인 xinetd를 사용하는 경우 우선 /etc/xinetd.d 디렉토리에 cvspserver 파일이 있는지 확인하고 없으면 파일을 만든다.
새 파일로 vi 에디터가 뜨면 다음 내용을 입력한다.
{
disable = no
flag = REUSE
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvs pserver
log_on_failure += USERID
}
--allow-root는 cvs 저장소가 /home/cvs 임을 명시하기 위해서 사용된다.
만약에 새로운 프로젝트 project1을 생성하였을 경우, 이 프로젝트는 /home/cvs/project1 디렉토리에 저장된다.
cvspserver 파일 편집을 완료했으면 저장 후 xinetd 서비스를 재시작한다.
CVS 전용 사용자 계정 추가
CVS 사용자 계정은 실제로 프로젝트를 진행하는 팀원 개개인의 계정이다. 팀원들은 이 계정을 통해 프로젝트 파일에 접근해서 작업을 수행할 것이다.
CVS 계정을 더 쉽게 추가하기 위해 /usr/local/bin 디렉토리에 cvspasswdgen 파일을 생성하고 다음의 내용을 스크립트를 기록한다.
#!/usr/bin/perl
($u, $p)=@ARGV;
@d=(A..Z,a..z);
$s=$d[rand(52)].$d[rand(52)];
print $u.":".crypt($p, $s).":cvs\n"
이어서 cvspasswdgen 파일에 대해 다음과 같이 실행 권한을 부여한다.
이제 다음과 같은 명령어로 CVS 전용 사용자 계정을 추가할 수 있다. cvspasswdgen 명령어의 첫 번째 파라미터는 사용자 계정 이름이고, 두 번째 파라미터는 해당 계정의 패스워드이다.
$ cvspasswdgen cvsuser1 cvsuser1_passwd >> passwd
위 명령어를 입력하면 passwd 파일에 계정 정보가 입력될 것이다. 이제 이클립스와 같은 IDE에서 CVS 전용 계정을 통해 접속하면 된다.
다음 번에는 프로젝트 초기화에 대해서 정리해 봐야지.
굿 정리잘되어있군요!
답글삭제