2011년 1월 10일 월요일

윈도우 환경에서 CVS를 SSH를 통해 사용하기

제목이 살짝 귀찮은데, 윈도우 환경에서 CVS를 이용하는데 만약 ssh를 이용한다면 그냥 쓸 수가 없다. ssh도 없고 rsh도 없을테니까. 뭐 단순하겠지만, cvs는 유닉스 환경에서 발전해 온 터라 개랄(?)같은 윈도우의 CUI에서는 다른 방법을 동원해야 한다. 물론 tortoise-cvs나 eclipse의 CVS환경을 이용한다면 이 포스트는 신경 안 써도 된다.

(뭐 사실 요즘 세상에 CVS는 많이 사장되고 있는 느낌이지만 우리 회사는 아직도 쓰고 있으니...;;)

내 경우는 eclipse에서 :extssh:로 받아놓은 소스 트리를 emacs에서 이용하려니 unknown method 오류가 뜨는 바람에 이 방법을 찾아보게 되었다.

참고한 문서는 http://mentalized.net/journal/2004/11/01/setting_up_cvs_over_ssh_on_windows_2000xp/ 이니 한글이 싫으면 여길 보는 것도 추천.

1. 준비

putty(iPutty 등 한글화된 환경도 관계없다) 설치: 패키지로 몽땅. plink나 puttygen 같은게 다 필요하다.

cvs: 뭐 적당히 알아서 구할 것. 검색해보면 쏟아진다. 보통은 CVSNT라는 놈을 추천하더라.

putty로 ssh를 이용해 원격 호스트에 자동으로 접속되게 설정하기: 이것도 찾아서 직접 설정하라. 귀찮다. 인증서 만들고 등록하는 과정이다.

plink path 추가: 윈도우 환경 설정의 PATH 항목에 putty(plink도 같이 있는 디렉토리)가 설치된 경로를 추가한다. 필수는 아니지만 안해두면 타이핑으로 삽질할 가능성이 있으니 미리 해 두길 추천.

2. Putty Session

Putty의 세션 이름을 잘 지어야 한다. 예를 들어 blah@blahblah.net 으로 접속한다면 blahblah.net을 세션 이름으로 정해야 한다.

3. Plink Test

plink 버전에 따라 틀릴수도 있지만 내 경우 다음 커맨드로 연결이 잘 되는 것을 확인하였다.
plink -load SESSION_NAME
SESSION_NAME은 Putty session의 이름이다. 실행하면 원격 호스트에 접속되면서 익숙한 터미널 환경이 표시되는데, 불행히도 터미널 캐릭터가 깨지기 때문에 윈도우의 cmd에서는 제대로 된 활용을 포기하자.

4. CVS_RSH 설정

윈도우 환경 변수로 CVS_RSH를 plink로 설정한다. cmd에서 테스트로 세팅해보려면
set CVS_RSH=plink
커맨드로 임시로 설정할 수 있다. (cmd를 닫으면 사라지니 주의)

5. cvs 연결 테스트
cvs -d :ext:blah@blahblah.net:/home/cvs version
위 예제는 cvs를 좀 써 본 이들이라면 알아볼 수 있을 것이다. UserID@HostName 이런 패턴이나 cvs 홈 디렉토리 정하는 걸 모르면 cvs를 쓸 수가 없으니...

여기서 blahblah.net이라는 부분에 주의. 위의 2번 항목에서 putty session 이름을 호스트명과 동일하게 설정하라는 이유가 이것에 있다. 작동원리는 CVS_RSH에 설정된 항목을 이 putty session 이름으로 연결해서 작동한다는 것이기 때문이다.

뭐 이해안되면 포기. 난 내가 이 글을 썼으니 이해가 된다. 아하하하하하하!!!

(변태이므로 욕하면 좋아합니다...)

댓글 없음 :