본문 바로가기

Technical/Development

Linux cvs repository 복구


왠지 모르게 cvs의 설정과 복구과정에 대해 헛갈려 하는 cvs 사용자들을 위해 작성

cvs 서버의 장애로 
1. 새로운 머신에 cvs server를 설치하고
2. repository를 초기화 한 후
3. Local PC의 최종버전의 파일들을 밀어 넣는
방법으로 복구하는 과정이다

1. cvs server 설치(root)

# apt-get install cvs cvsd xinetd openssl
ubuntu가 아닌 Suse, Centos(or Fedora)는 zypper, yum 등을 통해서 설치

# groupadd cvsgrp
# useradd -M -g cvsgrp -s /bin/false cvs

2. Repository 초기화

# mkdir /home/cvs

# cvs -d /home/cvs init => /home/cvs/CVSROOT 생성

# chmod 744 /home/cvs/CVSROOT/config
# vi /home/cvs/CVSROOT/config
=> #SystemAuth=no 라인의 #을 제거

# ls -l /etc/xinetd.d/cvspserver => 파일 확인
# netstat -an | grep 2401 => port open 확인
# cat /etc/services | grep 2401 => 서비스 확인

# openssl passwd password
9as8dfkj.w2 => password를 암호화한 문자열(copy)

# vi /home/cvs/CVSROOT/passwd
loginid:9as8dfkj.w2:cvs

# chown -R cvs.cvsgrp /home/cvs
# service xinetd restart
# cvs -d :pserver:loginid@ip_address:/home/cvs login => 로그인 가능 확인

3. Check out 받아서 사용하던 Local file들로 CVS 복구

복구해서 밀어 넣을 파일들이 있는 폴더가 c:\cvs_dir\Source1 이라고 하면
# mkdir /home/cvs/Source1

Local PC에 cvs client(tortoisecvs 등)가 깔려 있다고 가정하고
탐색기에서 새로 체크아웃 받아서 앞으로 사용할 새로운 cvs 홈디렉토리를 생성(C:\cvs_dir_new 라고 가정)

탐색기에서 cvs_dir_new에 대해서 Source1 폴더 생성
Source1 폴더 마우스 우클릭,  CVS -> Make New module 클릭
모듈명(Source1)을 확인, OK를 선택하면 해당 폴더 아래에 CVS디렉토리가 자동으로 생성

복사해 넣을 파일들이 저장된 Source1 내의 모든 파일을 새로운 폴더(C:\cvs_dir_new\Source1) 로 복사

복사해 넣은 디렉토리와 파일들을 add & commit 해 서 밀어 넣는 작업을 각각 반복