NetBSD 공작소

시작하며

NetBSD를 처음 접한 것은 2000년 여름에 참가한 한 워크샵에서였다. 네트워크 장비용 보드에 운영 체제를 설치하는 실습을 하고 있었는데, 피씨에서 NetBSD를 보드용으로 크로스컴파일한 후 보드에 올리는 과정을 거쳐야했다. 그때까지 줄곧 리눅스를 컴파일해가며 쓰긴 했지만, 데스크탑용으로만 써 온 탓에, 한 기계에서 전혀 다른 기계용으로 컴파일을 하는 크로스컴파일이란 것이 무척 신기하게 보였다. 게다가 손바닥만한 보드에서 돌아가는 NetBSD는 나의 호기심을 자극하기에 충분했다. 그 후 리눅스를 설치해 사용하던 노트북 컴퓨터에서 사운드 카드가 제대로 동작하지 않는다는 구실로 리눅스를 NetBSD로 갈아 엎으면서 NetBSD와의 본격적인 동거가 시작되었다.

내 컴퓨터에 직접 깔아본 NetBSD는 결코 만만하지 않았다. 설치 과정부터 불친절하기 짝이 없는 메시지로 일관해서, 설치 내내 인터넷을 뒤져 각 화면의 의미를 파악해야 했고, 설치를 간신히 마친 후에는 십년전에나 보았던 twm이 덜컥 튀어나와 나를 당혹스럽게 했다. pkgsrc로 이것저것 패키지를 깔아주고 나서야 간신히 쓸만한 환경이 되었다. 다행히도 사운드 카드는 리눅스에서보다 훨씬 매끄럽게 동작했다. 그러나 그 만족감은 그리 오래 가지 않았다. 한글을 쓰려하자 곳곳에서 암초가 튀어나왔다. 유니코드 한글은 애초에 지원되지 않았고, 터미널용 프로그램들에서는 모두 한글이 깨져 나왔으며, X 윈도우에서도 아미를 이용해 몇몇 프로그램에서 간신히 한글 입력을 할 수 있는 정도였다. 하지만 그런 총체적인 난관들이 오히려 도전해보고자 하는 욕구를 키웠고, 결국 소스 코드를 붙잡고 씨름하는 날들이 시작되었다. 문제점을 하나하나 해결할 때마다 NetBSD의 버그 관리 시스템을 통해 보고를 했고, 그런 보고가 수십개가 쌓이다보니 결국 귀찮게 굴지 말고 직접 커밋하라는 얘기를 듣기에 이르렀다.

수년이 지난 지금, 내가 관리하는 랩의 대부분의 기계에서 NetBSD가 돌아가고 있다. 1.6에서 4.0으로 버젼이 올라가는 동안 쌓인 많은 발전 덕택에, 이제는 한글 사용에도 별 무리가 없고, 다른 운영 체제와 견주어도 기능면에서 그다지 밀리지 않는 수준에 올랐다. 하지만 편의성 차원에서는 아직도 많이 떨어지는 것이 사실이고, 써드파티 프로그램들의 경우 딱 맞물려 돌아가지 못하고 뭔가 삐걱대는 느낌이 종종 든다. 허나 이런 점들이 NetBSD를 재미있게 만드는 요소이다. 모든 것이 완벽한 운영 체제는 한낱 도구에 불과할 뿐이다. 그걸 바탕으로 다른 일을 하는 사람들에게는 좋을지 모르나, 그 자체를 뜯어보고 고쳐보기를 원하는 사람에게는 별로 매력이 없다. 물론 완벽하지 못하다는 것만으로는 재미있는 운영 체제가 될 수 없다. 진정으로 NetBSD를 재미있게 만들어주는 것은 개발 환경이다. 언제 어디서나 소스를 보고 이것 저것 건드려 볼 수 있기 때문에 완벽하지 못한 결점들이 장점이 되는 것이다. NetBSD를 돌려 보기 위해서는 좋은 컴퓨터를 갖출 필요가 없다. 수십개의 플랫폼에 이식하면서 다듬어진 크로스컴파일 환경 덕택에 어떤 운영 체제를 쓰더라도 기본 컴파일 환경만 갖춰지면 거기서 NetBSD를 컴파일할 수 있다. 그렇게 만든 NetBSD를 실제로 돌려보는 것은 몇년째 먼지를 뒤집어쓰고 쳐박혀있는 굼벵이같은 컴퓨터여도 괜찮고, QEMUGXemul같은 가상 기계를 쓸 수도 있다. 써드파티 프로그램들도 pkgsrc를 통해 모두 컴파일해서 설치하는 방식이므로, 손쉽게 패치를 만들어 적용해볼 수 있다. pkgsrc 자체도 이식성이 뛰어나, 리눅스나 솔라리스는 물론 맥 오에스 텐이나 윈도우즈에서도 쓸 수 있다. 결국 어느 운영 체제를 쓰든 NetBSD나 pkgsrc에서 지원하는 프로그램들을 마음대로 고치고 컴파일해 볼 수 있는 환경이 마련되는 것이다.

안타깝게도 NetBSD의 이런 장점들은 그다지 잘 알려져있지 않다. NetBSD를 직접 써보지 못한 대부분의 사람들에게 NetBSD는 불친절하고 불편한 운영 체제일 뿐이다. 하지만 단순한 도구로써의 운영 체제를 찾는 것이 아니라 재밌게 갖고 놀 수 있는 운영 체제를 찾는다면 NetBSD는 최고의 운영 체제이다. 이 곳에서는 그런 사람들과 함께 NetBSD를 즐길 수 있는 주제들을 찾아보려 한다. 무선 인터넷 공유기부터 홈 미디어 서버까지 NetBSD로 만들 수 있는 것이면 어떤 것이든 좋다. 집구석에서 놀고 있는 기계 한대, 그리고 운영 체제에 대한 호기심과 열정만 있으면 된다.

답글 없음 »

답글이 없습니다.

이 글의 답글을 위한 RSS 피드 트랙백 URL

답글 남기기