사실은 광고를 하나 하려고 글을 씁니다.
개인적으로 한국에서 오픈소스에 대한 저작권을 가지고 있으며,
그걸 활용하는 기업을 자세히 살펴본적은 없습니다.
이번에 런치패드( http://launchpad.net/ )에 큐브리드( http://launchpad.net/~cubrid ) 팀이 생겼습니다.
이 큐브리드 팀에 가입하면서 데비안(우분투) 패키징을 해봤는데요.
처음으로 어떤 기업의 제품을 패키징해 보는 일이었습니다.
패키징이 이전에 하듯이(작은 프로그램들만 직접 debian 디렉토리를 만들어 패키징을 해보았습니다.
컴파일 시간은 대부분 5분 내외) 한 방에 되었다면, 사실 그냥 패키징을 하고
별의미없이, "끝"이라고 외치고 끝났을지도 모릅니다.
그런데 큐브리드를 패키징 하면서, 패키징을 하는 과정상의 사소한 경고를 떠나,
패키징 자체가 안되는 문제에 직면하면서, 거의 2주동안 패키징에 매달렸었습니다.
물론 제 개인 컴퓨터에서는 두어번의 실패끝에 패키징이 되었지만,
런치패드에 올리는 과정에서 configure 옵션을 런치패드에서 default로 주는 플래그 셋팅상의 문제로
런치패드에만 무려 20여번이나 업로드를 했었고, 그 20여번이 다 패키징 실패로 돌아갔습니다.
이 실패기록 말고도, 이후에 제 시스템에 pbuilder( https://wiki.ubuntu.com/PbuilderHowto )를 구축하면서,
업로드 시간은 줄였지만, 여전히 패키징 실패로 돌아간 것을 합하면, 약 40여번의 실패였습니다.
‘도대체 뭐가 문제지?’ 하고 패키징 문법부터, 원소스 코드까지 살펴보고,
데비안 패키징 문서를 다시 정독하기 시작했습니다.
그리고, 혹시나 제가 가진 문제에 대한 해결책을 누군가가 알고 있을까 싶어서,
큐브리드팀 메일링도 여러번 작성했었습니다.( https://lists.launchpad.net/cubrid/ )
많은 분들이 조언을 해주셨고, 결국은 패키징에 성공했지만
amd64 시스템에서는 여전히 패키징이 되지 않았습니다.
대충 어떤 문제인지 감은 잡히지만, 제가 i386 시스템을 가진 개인이라, 그것도 컴퓨터와 무관한 직업을 가지고 있어서,
amd64에서 우분투 시스템을 가지고 테스트해 볼 방법은 없었습니다.
다행히 hanirc의 우분투방의 거북이님(다시 한 번 감사하다는 말씀을 드리고 싶습니다.)께서 기꺼히 시스템을 내어주셨고,
열어주신 ssh로 접속해서 테스트를 끝내고, 어제부터 amd64 시스템까지도 포괄할 수 있는
패키징을 할 수 있었습니다.
이제부터는 소소한 작동상의 문제
(현재는 큐브리드 원소스자체는 손을 안될 생각입니다. 패키지쪽만 손볼 예정입니다.
하지만 패키징 자체에서도 원소스를 손대지 않고, 부분적이기는 합니다만, 제어하는 방법이 있습니다. 이번에 배웠죠 )
같은 부분만 손을 보면될 것 같습니다.
(물론, 패키지가 개인적인 용도가 아니라 배포를 위한 거라, 배포를 하고, 피드백을 받고,
패키지 원래의 목적(제 목적이 아니라, 패키지가 생겨난 목적)에 부합하기 위해서는 좀 더 시간이 필요하리라 생각됩니다.)
이번 패키징 동안 감기도 걸리고, 몸 상태도 별로 안 좋았었고, 그리고 많이 배운 시간이라 특별히 기억에 남는 작업이었습니다.
2주가 지난 지금 패키징도 성공적으로 되었고, 감기도 거의 낳아서 기분이 매우 좋습니다.
2주간의 시간을 좀 정리하고 싶은 마음도 조금도 있으니, 이렇게 정리를 하고…
이제 부터 광고에 들어갑니다.
(제가 알고 있는 만큼 설명하자면,) 큐브리드는 관계지향형 데이타베이스라고 알고 있습니다.
사람들에게 물어보니, mysql이나 오라클과 비슷하다고 하더군요.
여기에 오시는 많은 분들 중에 서버를 구축하거나 하는 일을 배우고 싶어서 오시는 분들도 많다고 알고 있습니다.
이번 기회에 서버를 구축할 때 mysql이나 오라클도 중요하겠지만, 큐브리드로 데이타베이스를 구축해보는건 어떨까요?
사실 제가 큐브리드를 올바르게 패키징 했는지도 정확히 테스트 해보지 못했습니다.
제가 서버와는 아무런 관계가 없는 직업을 가졌고, 더더군다나 컴퓨터도 무관한 직업이라,
하드코어한 테스트는 해보지 못했습니다.
기껏 해본건, 큐브리드가 정상작동을 하는지, 그리고 DB가 생성되는지 정도만 테스트 해봤습니다.
큐브리드 소스에 대해서는 개발자분들이 계시니, 하드코어하게 테스트도 하고, 사용자로 부터
피드백을 받겠지만, 제가 한 패키징에 대해서는 테스트도 진전이 없고, 피드백도 없습니다.
시간이 되시거나, 큐브리드를 한 번 배워보고 싶다고 생각하시는 분들은 런치패드에 패키징된
큐브리드를 한 번 사용해 보세요.
앞에 제목에서 ‘오픈소스의 장점과 큐브리드…’ 라고 거창하게 붙였습니만…
오픈소스의 장점에 대해서는 제가 앞에서 말하지 않았군요.
여기서 오픈소스의 장점에 대해 구구절절히 말하자는게 아니라,
큐브리드 소스가 오픈되어 있으니, 저같은 사람들이 들어붙고, 이런저런 작업도 해보고,
그리고, [b:3o494gmh]이렇게 광고도 하니 이게 오픈소스의 장점중 하나가 아니겠습니까![/b:3o494gmh]
런치패드에서 설치법…
터미널을 여시고,
[code:3o494gmh]sudo add-apt-repository ppa:cubrid[/code:3o494gmh]
라고 입력해서, 큐브리드팀 저장소 자신의 컴퓨터에 등록합니다.
그리고,
[code:3o494gmh]sudo apt-get install cubrid[/code:3o494gmh]
라고 하면 설치가 됩니다.
큐브리드 기본 설치 디렉토리는 /opt/cubrid/ 입니다.
컴퓨터 실행시에 PATH 등을 지정하게끔 패키징이 되어 있습니다.
일단 재부팅을 하던 말든 일단 테스트만 해보시기 위해서는
[code:3o494gmh]sudo -i[/code:3o494gmh]
하셔서 루트권한을 획득하시고,
[code:3o494gmh]CUBRID=/opt/cubrid
CUBRID_DATABASES=$CUBRID/databases
LD_LIBRARY_PATH=$CUBRID/lib:$LD_LIBRARY_PATH
PATH=$CUBRID/bin:$CUBRID/cubridmanager:$PATH
export CUBRID CUBRID_DATABASES LD_LIBRARY_PATH PATH[/code:3o494gmh]
하시면 되겠습니다. 그리고, 나서
페이지의 [b:3o494gmh]cubrid service start[/b:3o494gmh] 항목부터 따라하시면 됩니다.
잘 되신다면, http://www.cubrid.com/zbxe/developer 의 메뉴얼이나
튜토리얼을 살펴보시며 사용하시면 됩니다.
참, 하나 깜빡한게 있습니다! 주말이다 보니 런치패드 저장소에 전세계의 많은 사람들이 업로드를 하는군요.
그래서 지금 글을 적고 있는 이 순간, 런치패드에서는 (현재 제가 다시 수정한 버전 5가) 10시간 후에 패키지 빌딩에 들어간다고 합니다.
빌딩시간이 약 30분 동안이니 10시간 30분 후에 패키지가 완성되어 나오겠네요.
지금 amd64와 lpia 시스템에서는 빌딩이 끝났고, i386은 10시간 후쯤에 결과물이 나올 것 같습니다.
1월 24일 아침 10시쯤이 되겠군요.(경험상으로는 10시간 남았다고는 하지만 이전에 빌딩이 되더군요. 물론 지금 버전 4는 만나보실 수 있습니다. )
혹시나 빌딩이 완성되었는지에 대해 보시려면,
위 링크에 들어가시면 보실 수 있습니다.