pkgsrc 바이너리 패키지
pkgsrc에 대해 흔히들 오해하는 것 중 하나가, pkgsrc에서는 패키지를 항상 소스로부터 직접 컴파일해서 설치해야한다는 것이다. 하긴 pkgsrc란 이름 자체가 소스(src)가 있어야만 할 것 같은 인상을 주긴 하지만, 실상은 pkgsrc는 소스를 컴파일해서 패키지를 만들 수도, 이미 만들어진 바이너리 패키지를 설치할 수도 있다. 아무래도 소스 기반으로 쓰고 있는 사용자들이 많다 보니, 그쪽 지원이 더 잘 되는 것은 사실이지만, pkgsrc에 어느 정도 경험이 있는 사람이라면 바이너리 패키지를 쓰는 것도 어렵지 않다.
바이너리 패키지를 쓰기 위한 첫째 조건은 바이너리 패키지가 있어야 한다는 것이다. 언뜻 듣기엔 당연한 것 같지만, 워낙 대부분의 사람들이 소스 기반으로 쓰고 있는 터라, 바이너리 전용인 많은 리눅스 배포판들처럼 바이너리 패키지가 잘 제공되지 않기 때문이다. NetBSD 프로젝트 자체에서 체계적으로 바이너리 패키지를 만들지 않고, 몇몇 개발자들이 자신들이 사용하는 환경에서 바이너리 패키지를 만들어 공개하고 있기에 더욱 그렇다. 하지만 많이 쓰이는 i386이나 amd64 포트의 경우는 바이너리 패키지가 비교적 잘 관리되고 있으며, pkgsrc 안정 브랜치를 기반으로 정기적으로 갱신되고 있다.
바이너리 패키지는 NetBSD 프로젝트의 FTP 써버에서 받을 수 있다. 운영 체제, 아키텍쳐 별로 다른 디렉토리가 마련되어 있으므로 원하는 디렉토리에서 패키지를 받아서 쓰면 된다. 며칠 전 발표된 2008Q3의 경우, NetBSD/i386용 패키지는 ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/4.0_2008Q3/에, NetBSD/amd64용 패키지는 ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/amd64/4.0_2008Q3/에 있다. All 디렉토리 밑에 모든 패키지가 들어가 있으므로, 원하는 패키지를 골라 설치하면 된다. 4.0에서 만든 패키지이지만 4.0.1은 4.0과 호환되므로 4.0.1에서 써도 무방하다. 패키지를 설치할때는 pkg_add 명령 뒤에 URL을 바로 인자로 주면, 해당 패키지 설치에 필요한 모든 패키지를 자동으로 받아서 설치한다. 예를 들어, NetBSD/i386에서 emacs를 설치하고 싶으면 다음과 같이 한다.
% pkg_add ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/4.0_2008Q3/All/emacs-22.1nb6.tgz
설치하고자 하는 패키지가 몇 개 안 된다면 모르겠지만, 이런 식으로 매번 긴 URL을 써 주는 것은 상당히 번거로운 일이다. 바이너리 패키지를 자주 쓴다면 아예 그 위치를 환경 변수로 지정해 줄 수 있다. PKG_PATH란 변수를 만들어 그 값을 "ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/4.0_2008Q3/All"로 설정하면, 이후 바이너리 패키지를 설치하려 할 때 패키지 이름만 써 주면 된다.
% pkg_add emacs
간단하지 않은가? “make clean; make install“은 잊어버려도
좋다. 네트워크를 통해 패키지를 받은 시간 정도는 컴파일하는데에 걸리는
시간에 비하면 새발의 피다. 이제 NetBSD를 설치하고 데스크탑 환경을
보기까지 하염없이 컴파일 메시지만 바라보고 있지 않아도 된다.
물론 바이너리 패키지에도 단점은 있다. 컴파일시에 줄 수 있는 각종 옵션을 지정할 수 없다는 점이다. 평소 옵션을 통해 패키지를 입맛대로 바꿔쓰기를 좋아하는 사람이라면 바이너리 패키지로는 만족할 수 없을 것이다. 바이너리 패키지는 언제나 기본 옵션값대로만 만들어지기 때문이다. 방법이 없는 것은 아니다. 다른 옵션을 쓰고 싶으면 해당 패키지를 직접 만들어 쓰면 된다. pkgsrc의 장점은 소스를 컴파일하든 바이너리 패키지를 컴파일하든 사용자가 원하는대로 할 수 있다는 것이다. 다만 몇몇 패키지의 경우 그 패키지가 사용하는 다른 패키지들과 같은 옵션을 주어야만 동작하는 것들이 있으므로 주의할 필요가 있다.
이제 바이너리 패키지도 준비되어 있으므로 NetBSD를 써보고자 했던 사람들에게는 최신의 NetBSD와 최신의 패키지를 바로 설치해볼 수 있는 절호의 기회이다. 토렌트로 NetBSD 4.0.1을 받고 바이너리 패키지로 kde나 gnome-platform 패키지를 설치하면 윈도우즈 설치보다 훨씬 짧은 시간에 멋진 NetBSD 데스크탑의 주인이 될 수 있을 것이다.