‘관리’에 관한 글모음

올해의 두번째 안정 브랜치를 내놓기 위해 pkgsrc가 동결에 들어갔습니다. 당분간은 새로운 패키지 추가나 pkgsrc 내부의 변경은 자제하고, 버그 수정에 주력하게 됩니다.

이번 브랜치에서는 무엇보다도 루비 관련 패키지들이 대폭 개선됩니다. 우선 루비 패키지 자체가 1.8.7.22로 갱신되면서 Mac OS X에서의 빌드 문제 등이 다 사라졌고, 대부분의 루비 패키지들을 pkgsrc 차원에서 루비젬을 이용하여 설치하도록 바뀌어서 앞으로 새 루비 패키지의 추가 및 기존 패키지의 갱신이 간단해졌습니다. 그 덕에 이번 브랜치에는 루비 온 레일즈를 포함한 대부분의 루비 패키지가 최신 버젼으로 제공될 겁니다.

새 브랜치는 7월 초쯤 보실 수 있습니다.

NetBSD 4.0이 드디어 나왔습니다. 안정 브래치가 생성된 후 꼬박 일년이 걸렸군요. 중간에 한번 안정브랜치를 통째로 갈아엎는 일이 생기는 바람에 많이 늦어졌습니다. 3.0과 비교해보면 2년마다 새 버젼이 나오는 셈인데, 하루가 다르게 새로운 기능들이 추가되는걸 생각하면 좀 더 자주 새 버젼을 발표하는게 좋지 않을까 합니다. 다만 그러려면 안정 브랜치 관리에 들어가는 시간과 노력이 커질테니, 자발적인 참여로 이루어지는 오픈소스 프로젝트에서는 감당하기 힘들어질 수도 있겠죠.

CVS에서는 netbsd-4-0-RELEASE 태그로 받으시면 됩니다.

참고로, 이 글이 이 사이트에 쓰는 마지막 글이 될 지도 모르겠습니다. 호스팅하는 기계의 사정으로 다른곳으로 옮겨야해서요. 새로 옮겨갈 곳은 리소스 제한이 심해서, 루비 온 레일즈 애플리케이션을 돌리기는 쉽지 않을 듯 합니다. 피드버너의 XML 피드 주소는 그대로 유지할 예정입니다.

(12월 17일) 옮겼습니다.

NetBSD 4.0 정식 발표에 한발 더 다가섰습니다. RC2 발표 이후 바뀐 내용들은 CHANGES-4.0 파일에서 볼 수 있습니다. 아직 netbsd-4 브랜치에 반영되지 않은 풀업이 좀 남아 있어서, 바로 4.0으로 갈지, 아니면 한번 더 RC를 거칠지는 모르겠네요.

pkgsrc의 2007년 세 번째 안정 브랜치가 나왔습니다. 이번에는 Joerg Sonnenberger씨가 구글 Summer of Code 프로젝트로 만든 새 벌크 빌드 시스템을 추가하고, pkg_* 명령들을 개선하느라 시간이 좀 더 걸렸습니다. 지난번 안정 브랜치 발표때보다 일주일정도 늦어졌네요. 이번 브랜치는 특히나 pkgsrc의 탄생 10주년을 기념하는 브랜치여서 특별히 안정성에 주의를 기울이다보니 동결기간도 길었습니다.

tar 파일이 준비되는대로 메일링 리스트를 통해 공식 발표가 있을겁니다. 새 pkg_install에는 기존에는 별도 패키지로 제공되었던 audit-packages의 기능이 포함되어 있고 속도고 이전 버젼보다 많이 빨라졌으니, 개별 패키지만 업데이트해가며 쓰시던 분들이라도 이번엔 pkg_install을 업데이트하는 것을 권장합니다.

NetBSD 4.0 RC2가 나왔습니다. 최근 source-changes 메일링 리스트를 보면 netbsd-4 브랜치의 풀업이 부쩍 늘었는데요, 대부분은 Juan Pardines씨가 처리하고 있습니다. 사실 한 달 전쯤 4.0 RC1이 나오고나서 한동안 별로 진척이 없었는데, 4.0 출시가 하염없이 늦어지는 것을 보고 분개한 Pardines씨가 릴리스 엔지니어링팀에 직접 자원해서 밀어붙이고 있습니다. 역시 누군가 총대를 멜 사람이 있어야 일이 진행이 되는군요. 이제 굵직한 버그는 대부분 해결되었고, 이대로라면 10월중으로 4.0을 볼 수 있을지도 모르겠습니다.

pkgsrc의 2007년 제2사분기 안정 브랜치가 나왔습니다. 최근의 벌크 빌드 결과에 따르면 패키지 숫자도 7000개를 넘어섰습니다. 가장 큰 변화는 역시 맥에서 디스크 이미지를 만들지 않고도 부트스트랩 및 설치가 가능하도록 한 점입니다. 이번 브랜치에서는 디스크 이미지 방식을 놔 둔채로 시험적으로 추가가 되었지만, 제3사분기 안정 브랜치에서는 아예 디스크 이미지 방식을 완전히 없애버릴 계획입니다. 그때는 바이너리 부트스트랩 키트도 .pkg로 배포하게 되지 않을까 생각합니다. 사실 지금 바로 사용해도 큰 문제는 없습니다. 제가 2년 넘게 그런 식으로 써 왔거든요. 맥의 파일시스템에서 대소문자를 구분하지 않아서 생기는 문제는 발견하는 족족 고쳐서 이제는 거의 남아있지 않습니다. 지난 브랜치에 비해 많은 패키지들이 추가, 갱신되었으므로 안정 브랜치를 쓰고 계시다면 꼭 업데이트하실 것을 권합니다.

어제 NetBSD 3.1과 3.0 브랜치에 릴리스 노트가 추가되었더군요. 3.1.1과 3.0.3의 정식 발표가 임박한 모양입니다. 마지막 숫자가 하나씩 올라가는만큼, 일반적인 기능 추가보다는 꼭 필요한 보안이나 안정성과 관련된 중요한 것들만 고친 버젼입니다. 3.1이나 3.0.2를 쓰고 계신 분들은 업그레이드 준비를 하셔야겠습니다.

다음은 3.1.1에서 바뀐 내용입니다.

  • 씨게이트 ST3160811A 드라이버 수정
  • 커널 패닉을 일으키던 블럭 크기가 0인 압축 이미지를 거부
  • NULL 포인터로 인한 커널 패닉 문제 해결
  • dhcpd.conf(5)의 get-lease-hostnames 옵션 수정
  • ipfilter에서 TCP 윈도우 스케일링 수정
  • quota를 쓰는 파일시스템의 스냅샷 생성시 커널 패닉 방지
  • dump(8)에서 -X를 쓸 경우 코어덤프 문제 해결
  • ftpd(8)에서 문제 발생 소지가 있던 glob(3)의 버퍼 넘침 문제 해결(SA2006-027)
  • X11의 Render 및 DBE에서 정수 오버플로우 문제 해결(SA2007-002)
  • BIND의 서비스 거부 취약점 수정(SA2007-003)
  • iso(4)의 버퍼 넘침 문제 해결(SA2007-004)
  • file(1)의 정수 언더플로우 및 오버플로우 문제 해결(CVE 2007-1536, 2799)
  • X11의 정수 오버플로우 문제 해결(CVE 2007-1003, 1351, 1352, 1667)
  • racoon(8)의 서비스 거부 취약점 수정
  • 서비스 거부 공격에 쓰일 수 있는 IPv6 패킷 사용 금지
  • 업그레이드시 etcupdate(8)의 문제점 해결
  • 시간대 정보 tzdata2007f로 변경
  • /etc/postfix/post-install을 실행 가능한 파일로 변경
  • su(1)로 인한 혼돈을 막기 위해 passwd(1)이 암호 변경한 계정을 출력하도록 함

(6월 29일) 정식으로 발표되었습니다. CVS에는 반영이 되었고, 웹사이트에도 곧 올라올겁니다.

NetBSD의 수많은 포트들중에서 가장 많이 쓰이는 포트는 단연코 i386일 겁니다. NetBSD의 뿌리중 한 축이 386BSD인 만큼 역사도 가장 오래되었죠. 그러나 이제는 i386 포트에서 더 이상 i386을 지원하지 않습니다. 물론 여기서 말하는 i386은 인텔 80386입니다. i486 이상은 계속 지원합니다. :) 학교 전산실에서 XT 갖고 놀던 시절에 집에 386 샀다고 자랑하는 친구들을 부러워하곤 했었는데, 어느새 386은 토스터만도 못한 기종이 되어버렸나봅니다.

맥에서 pkgsrc를 쓰는데에 관심이 있으신 분들께 반가운 소식입니다. pkgsrc가 맥(Darwin)을 지원한다고는 하지만 실제로 설치해서 사용하려면 상당히 귀찮은 과정을 거쳐야 했습니다. 다른 유닉스 기반 시스템의 경우 사분기마다 배포되는 pkgsrc-2007Q1.tar.gz를 받거나 CVS로 직접 받아서 부트스트랩 과정만 거치면 바로 사용이 가능한 반면, 맥에서는 별도의 디스크 이미지를 만드는 과정을 거치도록 권하고 있습니다. 이유는 맥의 기본 파일 시스템이 대소문자를 구분하지 않는다는 점 때문입니다. 이로 인해 pkgsrc의 몇몇 디렉토리(deve/cvs와 devel/CVS 등)가 충돌이 생겨서 제대로 체크아웃을 할 수 없고, 결국 궁여지책으로 생각해낸 방법이 대소문자가 구분되는 파일 시스템을 디스크 이미지(.dmg)로 만들어서, 그 이미지를 마운트해서 쓰는 방법입니다. 이렇게 하면 대소문자 충돌은 피할 수 있지만, 이미지 크기를 미리 예상해서 적당한 크기로 만들어 주어야 하고 매번 마운트를 해야 하는 번거로움이 따릅니다. 사실 pkgsrc를 맥 사용자들에게 마음놓고 권할 수 없는 가장 큰 이유가 이거였죠.

다행히 지난 pkgsrcCon를 계기로 Amitai Schlair씨를 필두로 한 맥을 쓰는 몇몇 pkgsrc 개발자들이 본격적으로 pkgsrc 개선에 뛰어들기로 해서 앞으로 많은 발전이 있을 것으로 예상이 됩니다. 첫번째 임무는 pkgsrc의 대소문자 충돌을 완전히 제거하는 것입니다. pkgsrc-users 메일링 리스트를 구독하시는 분들께서는 몇몇 디렉토리 이름이 바뀐다는 메시지를 보셨을 겁니다. 그 작업은 전부 완료되어서 이제 CVS에서 체크아웃할때 보이는 문제는 완전히 사라졌습니다. 아직 LOCALBASE(/usr/pkg)나 VARBASE(/var) 등에서의 대소문자 문제는 남아있을 수 있지만, 대부분의 패키지는 별 이상없이 동작합니다. 디스크 이미지를 만들 필요만 없어져도 아마 MacPorts보다는 낫다고 할 수 있을겁니다. 기회가 되면 맥에서 쓸 수 있는 다른 패키지 시스템(MacPorts, Fink)과 비교를 해보도록 하겠습니다.

pkgsrc의 2006년 제4사분기 안정 브랜치가 나왔습니다. 원래 지난달에 나왔어야 하는데, 이번에는 12월 27일부터 29일 사이에 열린 pkgsrc Hackathon의 결과를 모두 반영하느라 좀 늦어졌네요. 이번 브랜치의 가장 큰 변화는 X 윈도우 관련 패키지들이 세분화된 것입니다. 기존에는 통째로 설치해야 했던 것을 X.org의 modular X11 패키지들로 나누어서 보다 세밀한 의존성 지정이 가능해졌습니다. 다만 이 패키지들은 아직 충분한 시험을 거치지 않았으므로 안정화되려면 좀 더 두고봐야 할 겁니다.

그 밖에 제가 작업한 것으로는 Ruby on Rails 관련 패키지를 추가한 것과 맥에서 X 윈도우 없이 Gtk 기반 프로그램을 쓸 수 있도록 한 것이 있습니다. Ruby on Rails는 www/rails 패키지를 설치하면 됩니다. 지금 이 사이트도 www/rails와 www/mongrel의 조합으로 운영하고 있습니다. 맥에서 Gtk 기반 프로그램을 쓰는 것은 이전에도 몇 번 언급한 적이 있는데요, 이번 안정브랜치에는 그간 작업한 내용이 모두 반영되어 있습니다.