CVS 전용의 제한된 SSH 환경 만들기

developer.oss.or.kr 서버의 cvs 환경을 세팅한 얘기를 조금 흐흐~

소스포지나 BerliOS, 사바나 같은 곳에서는 개발자들을 위해서 ssh기반의 CVS_RSH를 제공해 주고 있는데, 소스포지와 BerliOS는 chroot된 ssh로 cvs를 돌리고 있고, 사바나는 subversion로 직접 ssh1 프로토콜을 제공해 주고 있습니다. oss에서는 그냥 소스포지 스타일로 간단하게 하기로 했습니다.

우선 기본은 openssh에 [WWW]chroot패치를 했고, (요건 pkgsrc로 깔았습니다. 므흐흐) 요 sshd는 [FreshPorts]security/pam_ldap 을 이용하도록 설정했습니다. LDAP은 다른 머신에 OpenLDAP을 깔아둔 걸로 썼는데, 2.1이 무지 빠르군요. 와와~ pam_ldap의 유저 관리는 [FreshPorts]sysutils/cpu 를 쓰도록 했는데, FreeBSD의 [FreeBSDMan]pw 를 기반으로 한 거라서 사용법도 무지 쉽고. 유저 넣고 고치는 것도 모두 1줄로 쉽게 되네요~

그리고, 이제 실제 서버 안에는 cvs를 몽창 static으로 컴파일해서 chroot안의 /bin에 넣고, cvswrap이라는 간단한 래퍼를 만들어서 쉘 대신 쓸 수 있도록 했습니다. 그래서 사용자의 홈 디렉토리는 /jail/./home (중간에 /./가 들어가는 부분에서 chroot)로 되어있고 쉘은 /bin/cvswrap으로 지정했는데, 하나 문제는 openssh가 원래 chroot를 지원하는 게 아니다보니, 쉘이 없으면 끊겨버려서 바깥쪽에도 /bin/cvswrap을 만들기는 해야하는군요;;

cvswrap 소스는 일단 [WWW]요렇게 짜 놓았는데, 헛점이 있지 않을까 혹시 심심하신 분은 함 봐주세용 므흐;; 그래서, 최종적으로는 cvsroot는 jail안에 존재하고, jail 안에는 바이너리는 cvs와 cvswrap만 있도록 하고, libc같은 것들은 전혀 없도록 하였습니다. (말은 jail이지만 레드햇 7.2이기 때문에.. [FreeBSDMan]jail 과는 다름 =3) rsync도 이런식으로 제공할까 고민 중입니다~ 므흐;

그나저나, 레드햇 gcc는 static으로 컴파일만 하면 libc를 전부 다 들고 들어가는 바람에 바이너리 크기가 너무 크군요 –;;

레드햇 7.2에서는

프비 5.1에서는

Ports-Rookies

NetBSD의 [WWW]pkgsrc-wip와 비슷한 커미터가 아닌 메인테이너들을 위한 공간이 드디어 FreeBSD에도 생겼습니다. 최근, 커미터들이 별로 관심없어 하는 포트들이 몇달이 지나도 커밋 안된다는 것에 대한 불만이 자주 나오면서, 그에 대한 해결책으로 새로 들어온 커미터인 Oliver Eikemeier (eik@)가 소스포지에 프로젝트를 개설했군요.

여기서는 current/라는 포트 카테고리가 별도로 나와서, 포트루키 프로젝트 내에 있는 것들은 이 카테고리 안에서 유지된다고 합니다. 그리고, 포트루키에서 많이 검증된 포트들은 포트루키 프로젝트에 참여하는 커미터들에 의해서 정식 포트에 들어가게 될 예정이라고 합니다.

우리나라에는 커미터가 아닌 메인테이너가 거의 없어서 (2명 있던가요.. 홀리님과 netj님 :)) 그다지 필요한 분이 많이 있을 것 같지는 않지만, 포트 문턱이 낮아졌다는 점에서는 기대가 되는군요~

FreeBSD 5-CURRENT make world 경보~

오늘 Kirk McKusick씨의 statfs 64비트 확장 커밋으로 인해, -CURRENT의 어제자 바이너리와 오늘 이후 커널이 호환되지 않게되었습니다. 따라서, 단순히 make world하면 df나 ls, zsh 등등 [FreeBSDMan]statfs 를 사용하는 수많은 프로그램이 Bad System Call로 죽어버리게 됩니다. -CURRENT 사용자들은 꼭 이번 빌드에서는 정상적인 make world 순서로 하셔야되겠습니당.

  • mergemaster -p

  • make buildworld kernel

  • 새 커널의 싱글모드로 리붓

  • mergemaster

  • make installworld

  • 멀티 유저모드로 전환

  • 계란은 한 바구니에 모아 담지 않는다

    6. 성공하는 선수는 동시에 여러 여자에게 도전한다

    성공하는 ‘선수’들과 인터뷰하고 그들을 따라하면서 우리는 한 가지 충격적인 사실을 알게되었다. ‘선수’는 한 번에 한 여자에게만 접근하는 것은 아무에게도 접근하지 않는 것만큼 쓸모 없는 짓이라고 생각한다.

    어째서. 대체, 왜? 한 번에 한 여자에게만 접근하면 만약의 경우에 기댈 곳이 없기 때문이다. 달걀을 한 바구니에 담지 않는 것과 같은 이치라고나 할까. 연애하고 _사랑을 나눌 수 있는 상대가 오직 한 여자뿐이라면 절대 마음 편하게 접근할 수 없다. 잘못되면 어쩌나 하는 걱정 때문에 어쩔 수 없이 그 여자에게 매달리게 된다. 하지만 여자는 자신에게 매달리는 남자를 좋아하지 않는다._ 그래서 한두번 데이트를 하고 나면 두 사람 사이는 점점 멀어진다. 안절부절 못하는 여러분 때문에 여자는 달아나 버리고 여러분은 또 한 번 자신에게 실망하게 된다.

    우리의 훈련생도 대부분 그런 실수를 경험했다. 성공하는 ‘선수’들을 아무리 따라 해도 한 여자에게만 접근해서는 절대 연애에 성공할 수 없다.

    요즘 열심히 읽고 있는 «실용연애전서:남자용» 중에서. :) (요 부분은 ‘전면전 데이트’에 들어가기 전 ‘탐색전 데이트’에 해당하는 섹션에 있는 말입니다.)

    구글님의 데스크탑 바

    우리의 영명한 교주이신 구글님이 우리에게 또 문명의 이기를 안겨주셨습니다. ㅡ.ㅜ 이름하여 [WWW]구글 데스크탑 바. 우연히 [WWW]FreeNode에서 들었는데, 윈도우용임에도 불구하고 모두들 찬사를 아끼지 않은 흑흑~ 이제 윈도우에서의 삶이 백배 편해졌군요. ;;

    0311-googledesktopbar1.png

    그냥 데스크탑에 딱 입력창을 만들어서 바로 입력하면 미니창이 떠서 거기서 검색결과를 보여주는데.. 이거 검색 속도가 장난이 아닙니다. 아무래도 인터넷 익스플로러 플러그인을 미리 띄워놓고 SW_HIDE만 시켜놓고 있다가 보여주는 듯 한데, 메모리야 먹던 말던 결과가 이렇게 빨리나온다면야! +_+. 단축키는 Alt-Ctrl-G 인데, 클립보드에 뭐가 있으면 클립보드를 디폴트로 박아줍니다. 세상에 이제 파여버드는 찬밥; _-_

    여기서 끝나는게 아닙니다. 진가는 바로 커스텀 서치! 사용자가 서치 URL을 직접 지정할 수 있게 되어있는 것입니다. 와와~~

    0311-googledesktopbar2.png

    이런식으로 자기 사이트에다가 검색어 들어갈 부분에 ”””{1}”””을 써주면 거기에 쏙 들어가서 그 URL을 띄워줍니다. 자기가 뭐 필요한 기능이 있으면 cgi짜서 직접 집어넣어도 되고.. 아아 이제 구글 데스크탑 플러그인 없어서 이제 프비는 못 쓰겠군요 (;;;;;)

    그나저나, 이런 기능이 애플은 물론이고 X11에서도 구현이 꽤 어렵다는 게 좀 아쉽네요.. Gecko를 쓰더라도.. bonobo.. (상상만해도;;; =3 =33)

    Redhat위에서 Zoularis 쓰기

    www.oss.or.kr하는 분들이 CVS서버 세팅을 좀 도와달라고 하시기에, 딱 들어갔습니다. 므흐흐.. 그런데, 레드햇 7.1 엔터프라이즈 인지라.. rpm이나 뭐 레드햇은 하나도 몰라서.. 프로그램을 깔 수가 없어서 (사실은 시도는 해 봤지만 디펜던시 에러에 좌절..), 그냥 이참에 [WWW]Zoularis를 깔아봤습니다. 부트스트랩 바이너리는 슬랙웨어용만 제공되고 있는데, 그냥 소스로 받아다가 하면 레드햇 7.1에서도 그럭저럭 잘 되는군요. 그런데, 레드햇에 들어있는 md5.h가 zoularis의 md5.h와 타입이 충돌나서 pkg-install/lib/plist.c랑 pkg-install/create/pl.c 던가 두군데에서 md5.h가 없다고 바꿔줘야 컴파일이 됩니다.

    일단 부트스트랩이 끝나면, /usr/pkg에 zoularis 기본 툴들이 깔리는데 반드시 /usr/pkg/bin과 /usr/pkg/sbin을 PATH 맨 앞쪽에 놔야합니당. 안 그러면, /usr/bin/ftp가 다운로드 프로그램에 걸려서 fetch 명령이 안 먹습니다. 흐흐.. 그리고, 한 머신에서는 [FreeBSDMan]dc 가 없다는 곳도 있었는데, pkgsrc/math/bc 를 깔다보면 dc가 나오는데 그걸 /usr/pkg/bin/dc에 옮겨놓고 /etc/mk.conf에 dc 패스를 바꿔줬습니다. 므흐흐;;

    참, 그리고 또 중요한게 /etc/mk.conf에 ZOULARISBASE=/usr/pkg를 안 쓰면 또 안 되는게 제법 많더군요.. 제법 간단히 리눅스에서도 졸라리스 성공!

    므흐흐;; zoularis깔고 나니 레드햇도 안방처럼 느껴지는 게 제법 쓸 만하군요~

    5.2 프리즈 대비 대량 포트 업데이트

    5.2 프리즈가 일주일 앞으로 다가와서, 미리 관리하는 포트들을 모두 최신 버전으로 업데이트 했습니다. 이번엔 웬일로 개발자들이 다 부지런해서 업데이트된게 무지 많군요 -ㅁ-;

    포트

    새 버전

    주요 변동

    [FreshPorts]archivers/py-tarfile

    0.7

    2.0과 2.1도 지원하기 시작

    [FreshPorts]astro/py-metar

    0.6

    프론트엔드 재구현 (pymeta2로 실행파일이 바뀜)

    [FreshPorts]audio/py-mad

    0.5.1

    메인터넌스 릴리즈

    [FreshPorts]audio/py-xmms

    2.00

    모듈에서 패키지로 재구성되면서 기능 추가됨

    [FreshPorts]audio/py-serial

    2.0

    프러덕션 릴리즈 (변화는 별로 없음)

    [FreshPorts]devel/pyrex

    0.9

    익스텐션 객체간 상속, C 메소드 지원 시작

    [FreshPorts]devel/scons

    0.94

    버그픽스 릴리즈

    [FreshPorts]ftp/py-curl

    7.10.8

    curl 업데이트에 따른 따라잡기

    [FreshPorts]irc/py-irclib

    0.4.1

    메인터넌스 릴리즈

    [FreshPorts]korean/gdick

    0.8.1

    발음듣기 지원

    [FreshPorts]korean/nabi

    0.10

    euc-kr 로켈 지원 개선, GNOME 의존성 제거

    [FreshPorts]net/liferea

    0.4.4

    속도 개선

    [FreshPorts]www/mod_pcgi2

    2.0.2

    스켈러빌러티 개선

    이것 외에 [FreshPorts]graphics/py-magick 도 추가되었습니다. 이녀석은 [FreshPorts]graphics/ImageMagick 을 파이썬에서 라이브러리로 부를 수 있는 녀석인데, 사실상 이미지 매직의 거의 모든 기능을 지원하고 있어서 [FreshPorts]graphics/netpbm[FreshPorts]graphics/py-imaging 같은 것 안 쓰고도 쉽게 이미지를 조작할 수 있게 되었습니다. 믓흥~

    한글 푸티 0.53b.h3

    윈도우용 오픈소스 SSH 터미널 [WWW]PuTTY의 다섯번째 한글 지역화 릴리즈인 0.53b.h3을 릴리즈했습니다. :)

    이번에는 메시지까지 몽땅 지역화를 했습니다. PuTTY가 원래 다국어지원이 가능한 구조가 아니기에 직접 문자열을 교체하는 방법을 썼는데, 문자열 교체하는 방법으로 gettext처럼 번역할 수 있게 gottext.py란 걸 만들긴 했는데, 소스가 정리되는 대로 이것도 공개하도록 하겠습니다. 므흐흐;;

    이번엔 인스톨러 패키지와 zip으로 실행파일만 몽땅 묶인 것, putty.exe, pscp.exe, psftp.exe 셋의 실행파일 압축버전 세가지로 바이너리를 배포합니다. 소스는 CR/LF 문제 때문에 지금 diff를 뜨면 전체가 다 떠져버리고 있어서.. 좀 손봐서 diff만 배포하도록 하겠습니다. 으흐흐

    전체 인스톨러는 언인스톨도 간단하고, 레지스트리도 특별히 더럽히는 것이 없으니 되도록이면 전체 인스톨러로 사용해 주세요 :)

    호가~~든~

    0311-hoegaarden.jpg

    므흐흐.. 오늘 식량을 구하러 갔다가 우연히 편의점에 호가든이 있는 것을 발견했습니다.! 제일 좋아하는 맥주이기에 덥썩~ 아 이 부드러운 맛이란.. ^_^*

    (사진은 실물이 아니라 연출된 아이북 위의 호가든 라이터입니다. 1년 전엔가 받은 건데 비흡연자이다보니 벽에 못 붙일 때나 -.-;;)

    기여입학제

    [WWW]한겨레 기사에 따르면 연대에 이어, 고대, 게이오, 와세다도 기여입학제를 공동으로 추진할 뜻을 밝혔다고 합니다. (이들 대학들은 한-일 4개대 경기대회 멤버이기도 합니다)

    당연히, 많은 수의 시민단체와 타대학 교수협의회 같은 곳에서는 학벌주의 조장, 대학의 이기주의적 행동, 돈으로 다 되는 세상 만들기 같은 이유를 들면서 반대를 하고 있습니다. 그러나, 한편 해당 학교들의 재학생들이나 교수들은 대체로 환영하는 입장인데, (작년인가 재작년의 총학생회도 찬성했었는데, 지금 총학은 어떤지 모르겠군요) 저도 전적으로 기여 입학제에 찬성합니다! 꺄아~

    우선, 기여입학제는 고등학생들과 입시관련 학부모들에게는 굉장히 불평등을 느끼는 일이 될 수도 있습니다. 그렇지만, 기여입학은 당연히 정원외이며, 전체 정원에 비하면 극소수 (0.5%도 안되는..)에 불과하기 때문에 입시에 영향을 특별히 많이 준다고 볼 수도 없고, 그들의 직계존속들이 그정도의 기여를 했다면 당연히 보상을 해줘야 하겠다고 봅니다. 므흐;; 사실 20억원 있는 사람이라면 거의 바보라도 과외비 때려부어서 대학을 보낼래도 보낼 수 있을만한 돈인데, 과외비 낭비하는 것보다는 그냥 차라리 들여보내주고 대학 발전에 기여하는 편이 낫지 않을까 싶군요. 돈많고 실력 안 되는 학생이 한 명들어와서 똑똑하고 돈 없는 학생들 200명이 여유있게 학교를 다니거나, 2000명이 보다 나은 환경에서 수업을 들을 수 있다면 당연히 좋지 않을까 싶군요 -.-; 맨날 150~200명짜리 대형강의만 듣는 공대생들 정말 불쌍합니다~ 10~15명짜리 토론식 강의 들어보니 정말 눈물 나더군요. 흑흑 이렇게 재미있을 수 있는 수업을 그렇게 재미없게 했다니..

    다른 학교의 교수들도 많이 신경을 쓰고 있는데, 아무래도 기여를 받기 힘들만한 학교에서는 연고대의 기득권 굳히기식 학벌주의라고 볼 만하기도 하지만, 장기적으로 우리나라에 국제적 경쟁력이 있는 학교를 몇몇 만들기 위해서는 어쩔 수 없지 않을까 싶군요. 서울대같이 엄청난 재정지원으로 정부가 학교를 몇개나 유지할 수 있겠습니까. 그냥 기여금으로 자립할 수 있는 학교들을 몇 개 키워주는 것이.. 으흐흐… 아무래도, 유능한 연구자와 교수들의 수는 한정되어있다는 점에서, 타대학 교수들이 원하는 대로 국내 사립 대학들의 하향평준화를 단행한다면, 몇십년 뒤에는 4년제 학교들이 다같이 직업양성학교로 변신해서, 진짜 학문이 하고 싶어서 대학가는 사람은 외국으로 날아가야 할 일이 생기지 않을까 싶군요. -.-; 역사적으로, 이공계 대학들은 재정확충이 학교의 질적향상에 엄청난 도움이 되었습니다. 현재의 연대도, 문과대, 상경대, 법대의 수입이 이공계로 지원되고 있는 형편이긴 하지만, 40~50년대 분자생물학계의 기초를 닦은 유명한 대학들은 단백질의 분리를 위한 초원심분리기나 아미노산 연구에서 15N의 관찰을 위한 질량분광계, 입자가속기 같은 초고가의 장비의 유무에 따라서 소속 연구자, 학생들의 성과가 결정되다시피 했고 여전히 많은 과학 분야에서 그런 편인 것을 생각해 보면 역시 기여입학제 원츄입니다~*

    그나저나, 연대는 맨날 돈생기면 꽃밭 만들고 괜히 쓸데없는 공사 막 하는데 -.- 제대로 된 데 좀 공개하면서 쓰면 좋겠군요..