내가 생각하는 최적화된 프로그래밍 환경을 구축하기 위한 방법을 설명하고 있다.
컴파일은 리눅스에서 하며, 프로그램 코딩은 윈도우에서 한다.
결국 리눅스와 윈도우로 총 2 대가 필요한 데, 2 대가 안된다면 VMware 를 사용하여 마스터(=윈도우), 호스트(=리눅스)로 구축할 수 있다.
여기서는 VMware 를 이용한 방법을 설명한다. 어짜피 물리적으로 2 대의 컴퓨터가 있는 경우에도 세팅 방법은 거의 같다.

개발 환경 목표

앞에서 언급했지만, 이 문서는 최종적으로 다음이 가능한 환경을 구축하는 방법에 대해서 설명한다.

  1. 리눅스에서 개발 디렉토리를 삼바로 공유하면, 윈도우에서 네트워크 드라이버로 접근하여 sourceinsight 를 사용하여 프로그래밍을 한다.
  2. pytty 로 리눅스에 접속하여, 컴파일하며 리눅스에서는 서브버전(svn)을 서비스 한다.
  3. 윈도우에서 TortoiseSVN 를 사용하여 리눅스 상의 소스코드 저장소에 커밋한다.
  4. 이 사실은 리눅스 상에 구축된 trac 에 업데이트되며, 새로운 사항을 추가하거나 웹 상으로 볼 수 있다.
  5. doxygen 을 이용하여, 소스코드를 문서화 시킨다.

구축 환경은 다음과 같다.

Master OS 윈도우(windows 2003)
Host OS 리눅스(debian-testing), IP(192.168.16.128)
H/W IBM ThinkPad X40
S/W sourceinsight, putty, TortoiseSVN, doxygen, subversion, trac, apache

VMware 를 이용해서 데비안을 설치하는 과정은 생략한다.

서브버전 설치하기

리눅스에서 서브버전을 설치한다.

#apt-get install subversion

윈도우에서 TortoiseSVN 를 설치해야 한다. 리눅스에서 설치한 서브버전이 서버라면, 윈도우에서 설치하는 TortoiseSVN 은 클라이언트라고 보면 된다. 리눅스에 설치된 저장소에 접근하여 커밋이나 체크아웃을 할 수 있다. 현재 최신버전은 1.5.0.13316 로서, http://tortoisesvn.net/downloads 에서 다운 받을 수 있다. 한글 언어팩 또한 제공하고 있다. 역시 다운 받아 설치한다.
설치를 했으면, 리눅스쪽에 저장소를 생성해야 한다. 참고로 이 문서에서 설명하는 프로젝트 이름은 scvos 이며, 위치는 /opt/svn/scvos 이다.

#cd /opt/svn
#svnadmin create scvos

저장소를 만들었다면, 이에 대한 설정을 해야 한다. /opt/svn/scvos/conf 디렉토리 아래에 svnserve.conf, passwd, authz 파일이 있다.
svnserve.conf 파일은 아래와 같이 추가한다.

[general]
anon-access = none
auth-access = write
password-db = passwd

passwd 파일은 아래와 같이 추가한다.

[users]
fat81 = 1234

authz 파일은 아래와 같이 추가한다.

[repository:/opt/svn]
fat81 = rw

서브버전을 재시작한다.

#ps aux|grep svnserve
#kill <PID>
#svnserve -d -r /opt/svn

제대로 설정이 되었는지 확인을 위해, 윈도우에서 TortoiseSVN 를 실행하여 접속해본다.
마우스 오른쪽 버튼을 누르고, 'TortoiseSVN → 저장소 브라우저' 를 선택한다. 주소창에 'svn://192.168.16.128/scvos/' 를 입력한다. 로그인 창이 뜨면, passwd 파일에 추가했던 내용을 입력한다. 제대로 입력했다면, 접속되어 디렉토리가 보일 것이다.
이제 저장소에 디렉토리를 추가해보자! 'svn://192.168.16.128/scvos' 를 선택하고 마우스 오른쪽 버튼을 누르고, '폴더 생성' 항목을 선택한다. 이름을 'tags' 라고 정하고, 로그에서는 'tags 디렉토리 생성' 이라고 적는다. 이런 식으로 trunk, branches 디렉토리를 추가한다.

이번에는 간단한 소스 파일을 추가해보자. 디렉토리를 하나만들고, 그 안에 hello.c 라는 파일을 만든다. 그 디렉토리 안에서 마우스 오른쪽 버튼을 누르고, '임포트' 항목을 선택한다. 저장할 저장소를 선택하면 된다.

Trac 설치하기

Trac 사용하기 문서를 참고하기 바란다. 여기서 주의할 점은 svn 과 trac 메인 디렉토리가 각각 /opt/svn, /opt/trac 이라는 것이다.

삼바 설치하기

삼바와 설정을 위해 아래와 같이 설치한다.

#apt-get install samba
#apt-get install swat

설치 후에 swat 을 이용하여 공유할 디렉토리를 설정한다. 여기서는 /srv 디렉토리를 administrator 이라는 사용자 계정으로 공유하도록 했다.
다음은 smb.conf 파일이다.

[global]
	server string = %h server
	security = SHARE
	update encrypted = Yes
	obey pam restrictions = Yes
	passdb backend = tdbsam
	pam password change = Yes
	passwd program = /usr/bin/passwd %u
	passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
	username map = administrator
	unix password sync = Yes
	syslog = 0
	log file = /var/log/samba/log.%m
	max log size = 1000
	dns proxy = No
	ldap ssl = no
	panic action = /usr/share/samba/panic-action %d
	username = administrator
	valid users = administrator
	admin users = administrator
	read list = administrator
	write list = administrator
	printer admin = administrator
 
[homes]
	comment = Home Directories
	path = /srv
	read only = No
	create mask = 0700
	directory mask = 0700
 
[printers]
	comment = All Printers
	path = /var/spool/samba
	create mask = 0700
	printable = Yes
	browseable = No
 
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/printers

윈도우에서 네트워크 드라이버로 등록한 뒤에, 체크아웃을 해보자. 파일을 추가해보고, 커밋해보자.
그리고 trac 에서 적용되었는지 확인해보자.

문서화 구축하기

https://www.doxygen.nl/index.html 를 참고하기 바란다. Doxygen 에서는 함수의 호출 상황과 헤더 파일의 포함관계를 그림 파일로 표시해줄 수 있다.
이 기능을 사용하기 위해서 graphviz 를 설치해야 한다.

  • computer/programming/프로그래밍_환경_구축하기.txt
  • Last modified: 3 years ago
  • by likewind