대략 2004~2005년경에 수많은 프로젝트들이 CVS에서 Subversion으로 옮겨갔는데
거의 종교개혁 수준으로 다들 10년 넘게 쓰던 걸 갑자기 화아아악~ 바꾸는게 상당히 무서웠었죠. :)
파이썬 프로젝트도 마찬가지로 2005년 7월에 약간 늦게 svn으로 바꿔서 지금은
파이썬 sys모듈에 svn 리비전 번호가 문자열로 들어갈 정도로 잘(?) 운용되고 있습니다.
FreeBSD는 커널, 유저랜드 유틸리티 전체와 포트, 문서까지 포함하고 있는 거대 프로젝트이다보니
뭘 해도 쉽지가 않은데요. 역시 그래서 그 유명한 bikeshedding의 원조답게 수차례
결론 없는 토론을 거의 반년에 한 번씩 거듭한 끝에, 드디어 얼마 전에 svn으로 이주가 완전히
끝났습니다. (링크는
svn에서 최초 커밋)
물론 이전의 토론 과정에서는 hg, git, darcs, bazaar를 비롯한 수많은 SCM들의 변호사들이 등장해서
굉장한 토론이 꾸준히 있었지만,
분산SCM들은 분산 개발의 편리를 위해서 역사가 긴 대형 프로젝트에는 적합하지 않은 면이 많고,
CVS는 그 동안 너무 문제점들이 많이 누적돼와서 결국엔 svn이 채택되었습니다.
또한 hgsvn이나 git-svn, svk 같은 툴들이 있어서 개발자들이 개인 취향에 따라 다르게 쓸 수
있다는 것도 아이러니하게 svn에 큰 점수를 줬습니다.
BSDCan에서 subversion으로 이사를 주장했던
Peter Wemm이 FreeBSD에서 내부적으로 꼭 필요한
기능 (예를 들어 키워드 자동 치환, 로그 템플릿) 들을 직접 수정해서 패치를 올리고, 일일이 변환하고
잘못된 점이 있나 확인하고, 다시 잘못된 것 수정하고, 기존 커미터들을 위한 svn 가이드도 작성한
끝에 무사히 이사가 끝났습니다.
새 저장고와 관련된 것들은 대부분 http://svn.freebsd.org에
연결돼 있어서 구경하실 수 있습니다. :)
댓글 3 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
가족, 친구를 포함한 일반인들과 대화하려면 상당히 필수품 중의
하나가 되어버린 네이트온. 얼마
전에 리눅스용과 맥용이 공개돼서 KLDP에서도 한동안 이슈가 됐었는데요.
그동안 pidgin용 nateon
플러그인을 쓰다가, 자꾸 gaim/pidgin을 업데이트할 때마다 자꾸
컴파일이 안 되거나 안 돌거나 그러는 일이 발생하고 그룹 대화가
안 된다거나 몇 가지 불편한 점이 있어서 호기심에 한번 리눅스용을
깔아 봤습니다.
네이트온 리눅스용은 버전 번호가 1.0 베타임에도, 웬만한 프로그램들 0.1 버전보다도 못한 빌드체계/배포구조로 되어 있어서 리눅스가 아닌 플랫폼에서 빌드하기는 간단하지 않았지만, 다행히도 automake/autoconf를 직접 안 하고 리눅스에서 한 것을 FreeBSD로 들고 와서 넣어서 돌리니 그런대로 잘 되더군요; 결국 수 시간 작업 끝에 포트를 하나 만들었습니다. :)

하나 조심하셔야할 점은, knateon이 GPLv3로 배포되어서 쓰는 것은 자유이기는 하지만, KNateOn 네이트온 서비스 약관에 보면 이런 조항이 있어서, FreeBSD 사용하다가 계정이 막히거나 할 수도 있으니, FreeBSD에서 쓰고 있다고 어디 가서 티내시면 안 됩니다. -ㅇ-;; 조용히 리눅스 쓰고 있다고.. ;; 으흐;
제7조 (서버 접속 관련)
.. 중략 ..
④ 회사는 다음 각 호의 경우 서버 접속을 중단시킬 수 있습니다.
1. 회사의 접속허가를 받지 않은 경우
2. 리눅스(Linux) 운영체제 외 다른 운영체제를 통해 서버에 접속하는 경우
.. 하략 ..
-- knateon 소스코드이용및서버접속약관 중 (오자는 제가 임의로 수정하였습니다.)
댓글 1 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
OpenBSD Journal에 따르면 NetBSD와 OpenBSD에서 드디어 베이스에 BSD라이선스로 된 컴파일러를 도입했다고 합니다. 베이스에서 GPL 소프트웨어를 빼려고 해도, 도저히 엄두가 안 나게 만드는 가장 큰 무서운 장벽 gcc를 언젠가는 넘을 수 있게 해 주는 굉장히 희망적인 소식이 아닐 수 없습니다!
이번에 들어온 컴파일러 이름을 듣고 깜짝 놀랐는데요, 저는 당연히 오래전부터 FreeBSD쪽 사람들 몇 명이 개발해왔던 TenDRA가 뭔가 진척이 있었나 했더니, Anders Magnusson이란 NetBSD개발자가 PDP에서 돌아가던 컴파일러를 이어받아서 개발한거군요. (그런데 이름에 gnu가 들어갑니다 -ㅇ-;;)
아직 FreeBSD에는 포팅되지 않아서 실행해보지는 못했지만, 대략 소스를 둘러보면 아직 지원 언어는 C밖에 없는 것 같고, 포트란도 디렉토리는 만들어 놨군요. 아키텍처는 x86, m16c, mips, pdp10, nova가 있으니 아직 gcc를 완전히 대체하는 것까지는 멀었지만 벌써 컴파일 속도가 5~10배 빠르다고 하니 기대가 됩니다. (아무래도 앞으로 점점 느려지겠지만요;)
댓글 3 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
약간 늦은 감은 있지만, 오늘 드디어 파이썬 2.5.1이 디폴트로 바꾸었습니다.
그동안 2.4.4로 쓰느라 여간 답답하지가 않았는데, 7개월 정도에
걸쳐서 띄엄띄엄 작업해서, 오늘 겨우 넣었네요. 이른바 메가커밋!
지난번 버전까지는 저 혼자 모든 파이썬 관련된 작업을 했었는데,
이번 버전부터는 python@ 팀을 꾸려서 다른 팀원들과 함께 하고
있습니다. 처음에는 팀원들 중에 커미터가 아닌 사람도 몇 있었는데
워낙 기근에 허덕이는 커미터 구인난 때문에, 어느새 다 커미터가
돼 버렸네요. -o-;
파이썬 2.5가 나오고 벌써 9개월이나 지난 후에 된 것이라 지난 버전들보다 엄청 늦음에도 불구하고, 우분투 리눅스를 제외한 다른 오픈소스 시스템들에서는 여전히 2.4인 것을 보면, 2.4가 굉장히 만족스럽거나, 이제 파이썬 버전이 올라가도 그다지 개발자들 관심을 안 끌거나.. 지난 업데이트와는 좀 다른 것 같네요. NetBSD나 OpenBSD같은 경우에도 아직 2.4를 쓰고 있구요.
작업 도중 가장 힘들었던 것이, egg-info 문제인데, 갑자기 모든 distutils 패키지들이 엉뚱한 파일을 하나씩 다 설치하는 데 파일이름이 제각각이어서 수동으로 지정하는 방법 밖에는 없었습니다.
그래서 1000개에 달하는 파이썬 관련 패키지에 수천에 달하는 의존성 패키지를 다 가져다가 빌드해서 설치하는 파일 이름을 얻은 다음 그걸 적용하는 바람에 이번에 패치된 파일이 444개입니다.
총 7번의 포트 클러스터 빌드를 통해 검증한 덕에, 최종적으로 커밋된 포트에서는 초기에 발생했던 1000개 이상의 문제가 대부분 수정되었습니다.
그리고, Py_ssize_t 문제도 빠질 수가 없는데요, 파이썬 2.5부터 원래 int로 사용하던 크기 관련 변수들이 모두 Py_ssize_t로 바뀌는 바람에 amd64 같은 아키텍처에서 API가 안 맞아서 빌드하다가 죽거나 심지어 설치 다 하고 돌아가다가 죽는 문제가 발생했습니다. 가능한 한 많은 테스트로 수정을 하기는 했지만, 여전히 몇몇 패키지에서는 문제가 남아있는 것 같네요. 앞으로 보고되는대로 수정할 계획입니다.
이번 업데이트에서 (포트 측면에서) 수정된 사항들은 다음과 같습니다.
- egg-info 지원 추가: 파이썬 2.5부터 distutils로 설치되는 모든 프로그램들이 egg-info파일을 설치합니다. egg-info 파일의 경우 웬만하면 고칠 일은 없지만, 필요한 경우 PYDISTUTILS_PKGNAME과 PYDISTUTILS_PKGVERSION으로 조절해서 이름을 맞춰줘야 합니다.
- easy-install 지원 추가: 그동안 django를 필두로 해서 수많은 웹 관련 패키지들이 setuptools를 도입해 왔는데, 이번에 포트 전역적으로 setuptools지원이 추가되었습니다. USE_PYDISTUTILS= easy_install 로 적어주면 자동으로 egg위치 같은 것이 처리됩니다. pkg-plist에서는 %%PYEASYINSTALL_EGG%%로 해주면 egg 이름이 대체됩니다.
- 디폴트 버전 마음대로 선택 가능: 지금까지는 포트에서 지정하는 버전 한 가지만 디폴트로 쓸 수 있었지만, 이제 PYTHON_DEFAULT_VERSION을 /etc/make.conf에 지정해서 디폴트 버전을 바꿀 수 있습니다. 아무리 세상이 바뀌어도 나는 무조건 2.3을 디폴트로 쓰겠다 하시는 분들도 편하게 2.3을 디폴트로 적용할 수 있습니다. 대부분의 경우에는 자동인식 되기 때문에 따로 설정할 필요는 없습니다.
댓글 4 개
|
트랙백 0 개 (보낼곳)
| 태그
python
freebsd
애자일 이야기에 올라온 7월까지만 일한다면?이란 글을 읽다가, 인용한 그림을 보고 흠칫 놀랐습니다. 어디선가 많이 본 패턴이 보이는데, 으흠~~ 일을 적게하는 나라들에 유독 FreeBSD에서 굉장히 활동이 많은 국가들이 집중되어 있던 것입니다! 그래, 일을 적게 시켜야 뭘 하든 할 것이 아닌가 싶어서 과연 근무시간과 오픈소스 활동과의 상관 관계에 대해 조사를 해 봤습니다.
뭘 조사하느냐를 결정해야 하는데, 메일링리스트를 보는 것도 좋겠지만, 메일링 리스트는 언어의 제약이 굉장히 많이 작용할 것 같아서 FreeBSD의 PR 데이터베이스를 쓰기로 했습니다. 아무래도, 그냥 패치만 보내도 되고 비교적 짧게 적어도 되니까 꼭 올릴 사람들을 올릴 것 같아서~ :)
그래서, 모든 PR 자료를 cvsup으로 받은 다음에 로컬에서 간단하게 뒤져서 분석했습니다. 너무 오래된 자료들은 빼기 위해서 #40000이후만 넣었는데, 40000번이 올라온 것이 대략 2002년 6월 정도 됩니다. 그 이후에 올라온 69374개의 PR 중에서 Received헤더와 From헤더를 토대로 보낸 사람이 사는 국가를 추정했는데, 미국은 FreeBSD 서버들이 미국에 있어서 IP구별이 힘들어서 통계에서 제외하였고, 영국도 알 수 없는 이유로 GeoIP로 검출되지 않았습니다. 결국 남은 것은 총 100개 국가에서 모두 46304개의 PR이 나왔고, 얘네들을 대상으로 분석하기로 했습니다. (사용한 스크립트)

FreeBSD PR수와 근로시간
우선, 대충 생각해 봐도 인구와 활동양은 비례하는 관계가 어느 정도 있을 것이기 때문에, 활동량을 국가의 인구(위키백과에 올라가 있는 최근 자료를 사용)로 나눈 것과 작업량의 상관 관계를 계산했더니 -0.54가 나왔습니다. 아주 높은 것은 아니지만, 그래도 적당히 상관관계가 있다는 것을 암시하는 것 같은 느낌이 오네요~ (위 그래프에서 대충 경향이 약간 있는 것 같죠? 'ㅇ')
그 외에도 생각해 보면, 먹고 살기 힘들면 오픈소스 하기가 힘들테니, GDP하고도 어느 정도 관련있지 않을까 해서 계산해 보니까 0.52가 나오네요. 그래서, 한 번 얘네들을 묶어서 예측할 수 있도록 식을 만들어 봤습니다. 우선은 대충 기분으로 이렇게~

Pr=FreeBSD PR수, W=근로시간, G=GDP, Pop=인구
선형 최소자승법을 쓸 수 있게 약간 풀고 넘기고 하면,

Pr=FreeBSD PR수, W=근로시간, G=GDP, Pop=인구
그래서, 이놈을 스크립트를 짜서 분석해 보면, 각각의 계수가 k1=-1.51, k2=14.7, k3=3135.7, k4=-30172.4 정도 나옵니다. (사용한 스크립트) log G가 보통 10내외 인 것을 감안하면, W는 -로 100내외 정도 영향을 미치고, log(GDP)는 상당히 많은 영향을 미쳤군요. 흐흐 역시 샘플이 적어서 식이 좀 이상합니다. -ㅇ-; =3=3

인구1000만명당 FreeBSD PR수와시간의 관계, (붉은색은 예측 기대값)
그래도 대충 그래프 보면 뭔가 보이긴 하죠? ;; 빨간색은 위에서 근사식으로 만든 것을 다시 적용한 값인데, 마음대로 이름을 OBFI라고 붙여봅니다. -O-; 대충 1000만명당 PR 개수 순으로 정렬했을 때, 일하는 시간은 증가하는 경향을 보이고 OBFI는 감소하는 경향이 나타납니다. (상관계수는 0.618)
대충 빨간색보다 파란색이 위에 있는 나라는 환경에 비해 오픈소스 (여기서는 FreeBSD) 활동이 많고, 반대의 경우에는 환경에 비해 활동이 적다고 볼 수 있겠습니다. 일본이나 독일이 오픈소스에서 그렇게 활동을 많이 하는 것 처럼 보여도, 그래프에서는 별로 튀어 나오지 않는 것이 사실은 인구빨인 게 들통났군요~ 그리고, FreeBSD가 유난히 강세인 덴마크와 네덜란드가 역시 예측된 값과 엄청난 차이를 보여주고, 한국과 멕시코는 역시 약세입니다. 그런데, PR을 대상으로 해서 그런지, 아니면 주로 유럽이 대상이라 그런지 생각보다 언어는 그다지 문제가 안 되는 것 같네요. 영어를 주로 쓰는 호주나 뉴질랜드라고 다른 국가들에 비해 특별이 더 튀거나 그런 경향은 없는 것 같습니다. 러시아나 중국이 끼였으면 좀 더 분석이 좋았을텐데 OECD자료이다 보니, 없는게 아쉽네요.

일을 많이 시켜서 오픈소스 못하는 우리나라~
인구 순으로 하면 우리나라도 OECD에서 상당히 높은데, 앞으로 S모기업이나 L모기업 같은 곳을 비롯하여 사회 전반적으로 사원들이 젊은 시절에도 좀 여유롭고 즐겁고 발전하는 삶을 살게 근로시간을 줄여주면 오픈소스 뿐만 아니라, 인문학도 살고, 좋아지지 않을까 생각해 봅니다. 회사일 말고도 재미있는 것이 얼마나 많은데~
소수의 자료만 갖고 작업한 것이라 통계적으로 그다지 정확한 편은 아니지만 너그럽게 글자만 읽은 셈치고 잊어 주세요 =3=3 흐흐
일러두기 -- 아일랜드와 아이슬란드도 인구가 너무 적어서 통계에서 제외했습니다.
댓글 10 개
|
트랙백 1 개 (보낼곳)
| 태그
freebsd
computer
요즘 리눅스 사용자들은 창 들고 흔들흔들 정도는 해 줘야
화면이 좀 뽀대가 나는 것 같아서, 부러움에 한번 큰맘 먹고
Beryl을 깔았습니다.
일단 Beryl을 쓰자면 Xorg를 포트에 없는 새 버전으로 올려야
한다기에, FreeBSD 위키에
있는 설명을 보고, 실험 중인 git 곳간에서 포트를 받아다가
설치했습니다. 포트 전체를 다 갖다놔서 생각보다는 편하더군요~
게다가 beryl도 포트로 만들어놔서 간단~ :)
결국 6시간의 빌드 끝에, xorg, gnome, beryl 모두 빌드하고,
nvidia 드라이버를 적당히 세팅해서 올려서 이런 화면이 짠!
그러나.. 무엇이 문제인지, 클릭하면 거의 1분에 1프레임씩 지나가고 키보드로 우다다 쳐도 업데이트가 전혀 안 되다가 마우스 클릭 해 주면 그제야 10초 있다가 보여주고 그래서.. 눈물을 머금고 나왔습니다. CPU를 많이 쓰는 상태도 아니고, glx설정은 대체로 제대로 되어있는 것 같은데 이상하더군요..
혹시 투지가 있으신 분은 시도해 보시고, 성공하시면 방법을 알려주세요. +_+
==> 이후에 패치를 하나 추가해 주니까 멋지게 돌아다니네요 +_+ 와와~~~
댓글 8 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd

지난 대안언어축제에서 아마도 가장 긴 여운을 남겼던 것은 아무래도 마지막 자기 포부를 말하고 주변에서 환호성으로 축하해 주는 것이었습니다. 그게 원래 할 계획이 있었던 것이 아니라, 그 전날 다음 날 회고를 안 지겹고 인상에 남고 흥미롭고 지쳤을 때도 다 같이 좋은 분위기에서 참여할 수 있는 걸 찾기 위해 열심히 찾아낸 끝에 나온 아이디어였습니다. 그게 갑자기 뚝 떨어진 게 아니라, 뭘 할지 무척 고심을 하다가, 여유있게 어슬렁거리던 창준형이 갑자기 "비장의 무기를 준비했지!" 하고 자신있게 스으윽 꺼낸 것이 바로 Creative Whack Pack 이었습니다. 카드를 몇장 들고 보고 있으려니 갑자기 승범이가 "이게 좋을 것 같아요!" 그러더니 막 아이디어를 쏟아내는데... 흐흐 무척 탐나서, 돌아와서 바로 아마존에 주문해서 구입~ 마침 결제하려고 보니 아마존에서 할인 기간이라고 수퍼 세이버 시핑을 하는데 뭘 더 사면 싸다고 추천을 해주길래 Innovative Whack Pack도 샀지요. 순간 아마존의 상술에 속아서 -ㅅ-;
음 하여간, 요새는 FreeBSD의 파이썬 포트 때문에 무척 고생을 하고 있었습니다. 거의 1주일 넘게 거의 모든 여유시간을 포트 고치는데 쓰고 있는데도 아직도 고칠 게 200개 넘게 남았군요. =_=;;; 이번에 어찌하다가 6.2을 위한 포트 프리즈 직전에 파이썬을 2.5로 업데이트하게 되었는데, 그게 알고보니 대략 4가지 정도 되는 다양한 문제를 만들게 돼서, 파이썬을 쓰는 다른 포트들이 거의 500개 남짓 깨져버린 것이었습니다. 당연히 수많은 사람들이 메일링 리스트에서 난리가 나고, 포트매니저들도 말하고 그러지 그랬냐고 핀잔도 주고.. 아하하; 파이썬 2.2, 2.3, 2.4도 늘 프리즈 직전에 임포트 했었는데.. 관성이 문제를 일으키는군요 --;
점점 문제가 마치 괴혼에서 쓰레기 굴리듯이 불어나서, 2.4로 돌리느냐 문제를 계속 고치느냐 고민을 하고 있던 중에, Innovative Whack Pack을 한번 써 볼까 하고 손에 들었습니다. 사실 카드를 사긴 했지만, 학교 수업들을 다 순수과학 2학년 전공 과목을 듣다보니 쓸 일이 전혀 없더군요. 그래서 일단 마구 섞고, 3장을 뽑았습니다. 나온 것이 위의 3장~ insight 면에는 그림과 Heraclitus의 짧은 경구들이 있습니다. 그리고, strategy 면엔 밑의 문장이..
짧게 요약해 보면,
- Donkeys prefer garbage to gold: 지금 열심히 하는 게 나중에도 중요한 일일까? 어떤 상황이 되면 그 가치가 변할까? 지금 생각하고 있는게 나중에는 쓸 모가 없어지지 않을까?
- When there is no sun, we can see the evening stars: 문제에서 떨어져 봐라. 지금 해결하려는 문제에서 떨어져서 잠시 쉬면서 생각해 보았는가?
- Sea water is both pure and polluted: for fish it's drinkable and life-giving; for humans undrinkable and destructive: 문맥을 바꿔보아라. 어떤 다른 문맥에서 니 생각을 다르게 생각해 봤니? 의미가 어떻게 변하니?
그래.. 가만 생각해 보니, 지금 포트를 열심히 욕먹어가면서 고쳐봐야 뭐 나중에는 별로 티도 안 날 것이고, 지금 남들이 고이 보지 않아서 조바심내가면서 하고 있는 포트 작업들도, 프리즈 기간이 아니라 그냥 평상 시 같았으면 잘한다고 고맙다고 그럴 작업이었던 것입니다. 으흐흐. 그래 파이썬 2.5를 넣어야 된다는 것을 먼저 불변의 목적으로 딱 박아두고 모든 것을 생각하고 있었는데, 그냥 빼버려도 별 상관 없을 것 같다고 생각하니 홀가분하고 좋습니다. ^_^* 이제는 프리즈 기간 직전에 이런 짓 안 해야겠습니다;;;
평소에 포팅을 하다 보면, 문제를 해결하는 방법이 무척 많은데, 뭘 선택해야할 지 고민할 때가 많습니다. 그래서, 포팅할 때 고려해야 할 때 선택이나 아이디어에 도움이 될 만한 것들을 모아서 portlint 같은 데서 엉뚱하게 한 개 씩 출력해줘도 좋지 않을까 생각을 해 봤습니다; 그런데 아무래도 카드로 만들어야 뽀대가.. 흐흐;
댓글 8 개
|
트랙백 0 개 (보낼곳)
| 태그
python
freebsd
life
최근에 BSD사용자들의 지역, 하드웨어, 버전 분포를 정확히 파악하기 위한
bsdstats프로젝트가 시작되었습니다.
그런데, 오늘 freebsd-advocacy 메일링리스트에
한국은 미국보다 (인터넷 호스트수가) 앞서려고 할 정도면서 왜 FreeBSD 기계가 1대도 없을까?하는 의문이 올라왔습니다.
저도 귀찮아서 안 하고 있었는데 저걸 보니 돌려야겠군요. --;
BSD사용자들은 bsdstats 사이트에 가셔서 스크립트를 받으셔서 관리하는
기계에 등록시켜 주세요~
FreeBSD에서는 root권한으로
$ cd /etc/periodic/monthly
$ fetch http://www.bsdstats.org/downloads/300.statistics
$ chmod 555 300.statistics
$ sha256 300.statistics
SHA256 (300.statistics) = 9c44684c9049501ef578c6dd05bad5a1c0eb9b41b5898e0d3f29ffbb215f96f1
$ echo 'monthly_statistics_enable="YES"' >> /etc/periodic.conf
$ /etc/periodic/monthly/300.statistics
To protect against abuse, the initial challenge/response phase
contains a 15 minute pause. Please be patient while this time
limit elapses
이렇게 하시면 됩니다.
댓글 17 개
|
트랙백 2 개 (보낼곳)
| 태그
freebsd
항상 ssh로 서버에 접속해서 메일도 확인하고 채팅도 하고,
간단한 계산도 하고, 실험도 해보고 하는 일상적인 생활에서
학교나 게임방, 병원 같은 데서 아무나 쓰라고 내놓은 컴퓨터에서
ssh 패스워드를 입력하기란 찝찝하기가 짝이 없습니다.
뭔가 깔려있는 프로그램도 수백만개에다가.. 이거 바이러스
잡는 프로그램도 한 5개씩 깔려있는데 그놈들이 뭔가 더 바이러스
같아 보이고.. 그나마 치료도 안 될 것 같고.. 키보드 입력하는
걸 누가 사진 찍고 있을 것 같은 기분도 들고.. -ㅇ-;
그래서 지난 겨울에는 opiekey로 미리 일회용 패스워드를 여러개 뽑아서 종이에 인쇄해 다녔는데, 이게 또 맨날 까먹고 패스워드 다 됐을 때 보충해 놓지 않으면
접속하지 못하고, 종이에 적어다니다보니 잃어버릴 위험도 있고
해서 어제 전화기용 OPIE 제너레이터를 만들어 봤습니다.
요즘 세상이 좋아져서 자바 문법도 모르는데 IDE가 시키는 대로만 하니까 뚝딱 되더군요. (난생 처음 짜본 자바 프로그램 -O-;;)
SKT 전화 쓰시는 분들은 한번 해보세용. 다운로드는 무료인데, 데이터 요금은 듭니다. (데이터 무제한 요금제이면 안 들고..)
처음 자바를 하는데 도움을 많이 주신 랫쓰님께 큰 감사 드립니다~ ^.^
싸이월드도 OPIE 지원하라~~ (먼산)
댓글 11 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
computer
요즘 굴림체를 합법적으로 쓰는 방법으로 네이버 사전체가 인기를 얻고 있습니다. 상당히 좋은 품질의 비트맵 글꼴을 포함하고 있고, 라이선스도
OS 제한 없이 아무데서나 쓸 수 있게 하고 있어서 썩 괜찮은
선택인 것 같습니다. 흐흐
포트로 등록하기 위해서, 조금 쳐다봤는데 NSIS 인스톨러로 되어있어서 exe를 실행해야 하게 되어있네요~ 그래서 FreeBSD에서
풀 방법을 찾아보다가, p7zip에서 NSIS 설치파일을 풀 수 있다는 것을 발견했습니다.
그런데, p7zip이 C++ 프로그램에 템플릿을 와장창 써버리는 바람에..
컴파일이 어찌나 느린지.. 그래서 포트에서 잽싸게 설치하는 데
문제가 좀 많아서 결국은 디버거로 한참 뚫어져라 쳐다봐서,
파이썬으로 p7zip에서 하는 짓과 비슷하게 한번 만들어 봤습니다.
>>> import urllib, zlib, md5
>>> URL = 'http://cndic.naver.com/font.nhn?menu=download'
>>> tcmp = urllib.urlopen(URL).read()[60703:14721246]
>>> uncmp = zlib.decompress(tcmp, -zlib.MAX_WBITS)
>>> md5.md5(uncmp).hexdigest()
'd4b2f7fafb16bca61f02108359e029bb'
>>> open('naverdic.ttf', 'w').write(uncmp)
p7zip은 없고 python이 있으시면 요 방법으로 간단하게 풀어보세요~ -O-
댓글 7 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
computer
FreeBSD 사용자 중에 경제적인 여유가 되시는 분들은 Ruslan을 도와주세요 페이지를 한 번 봐 주세요~
Ruslan Ermilov(ru@)는 우크라이나에 사는 FreeBSD 소스/포트 커미터입니다. 주로 베이스 툴과 라이브러리, 네트워크 관련 부분에서 FreeBSD에서 빼놓을 수 없는 중요한 개발자로 오랫동안 활동해 왔습니다. 그런데, Ruslan의 배우자가 오랫동안 암 투병 생활을 하다가, 결국 모스크바에 가서 수술을 받기로 했지만, 비용이 많이 들어서 심각한 걱정이 많다고 합니다.
FreeBSD 개발자들은 대부분 현업 개발자나 엔지니어들이다 보니, 현실 세계에서 어려운 사람도 드물지 않게 있습니다. 그동안 문제를 주변의 도움으로 극복한 사람도 있었고, 결국은 탈출하지 못하고 안 좋은 결과가 있었던 사람도 있었지만, 여러 헌신적인 노력을 보여주었던 그들의 노력에 힘을 주는 의미에서 경제적인 여유가 있으신 FreeBSD 사용자 분들은 약간의 도움을 부탁드립니다~
좋은 결과 있기를~ ^^
댓글 3 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
rrdtool은 버전 1.2로 올라가면서 트루타입 글꼴을 직접 그리는 것으로 완전히 전환을 하는 덕에, 라틴이 아닌 글자를 그릴 수 있는 기능이 들어갔습니다. 그렇지만, 이 기능이 mbstowcs(3)을
이용해서 멀티바이트 문자열을 와이드캐릭터 문자열로 바꿨기 때문에,
와이드캐릭터가 유니코드가 아닌 플랫폼에서는 엉뚱한 글자가 출력되는
버그가 있었습니다.
POSIX 표준에서는 wchar_t에 글자를 유니코드로 저장하는 것을 강제로 하지 않고 있기 때문에, FreeBSD나 MacOS X 같은 플랫폼들은 wchar_t에 각 인코딩에서 가장 표현력이 높은 단순한 내부 형태로 저장하고 있습니다. 예를 들어 EUC-KR에서 '한'은 C7 D1인데, 이것을 리눅스와 솔라리스에서는 '한'의 유니코드 표현인 D55C로 저장하지만, FreeBSD에서는 C7D1로 저장합니다. 따라서, mbstowcs를 유니코드가 출력이 된다고 가정하고 쓰는 것은 잘못된 사용이라, FreeBSD에서 한글을 못 쓰게 된 것입니다.
그래서, 마침 그냥 주말에 시험전증후군의 영향으로 산만해진 틈을 타서, 학교 중도 잔여좌석 그래프를 그리는 rrd 그래프를 하나 그려 보면서, 제목과 범례에 한글로 나오게 패치를 해 봤습니다. --;
흐흐.. 패치는 그냥 일단은 mbstowcs를 매크로로 덮어버리는 방법으로;;
업스트림하기 위해서는 automake에 iconv 검출하는 부분을 넣어 줘야하는데.. 이거 참 automake를 오랜만에 보려니 머리가 아찔한게 --;;;; ㅠ.ㅠ.ㅠ
--- 그러나 --- 패치를 다 하고 보니, FreeBSD에서도 UTF-8 로캘을 쓰면 wchar_t에 유니코드로 저장을 하기 때문에, 알고 보면 setlocale만 제대로 하게 패치하면 되는 것이었는데.. 괜히 오바해서 엉뚱한 것까지 해버렸네요 -O-;; 그래도 혹시나 euc-kr 쓰시는 분들을 위해;; _-_
댓글 5 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
작년에도 굉장한 인기를 끌었던 Google Summer of Code가 올해도 더욱 더 커진 규모로 시행될 계획이라고 합니다. 이미 FreeBSD 프로젝트나 파이썬 소프트웨어 재단같은 멘터 기관들은 내부적으로 멘터들을 모으고 프로젝트 아이디어들을 모으느라 부산하게 움직이고 있습니다.
올해도 작년과 같이 각 단위당 학생 4500달러, 멘터 500달러로 상금을 주고 둘에게 각각 구글 티셔츠를 1벌씩 준다고 합니다;; 작년에도 프로젝트들이 대다수가 성공해서 상금을 받아간 것을 보면, 올해도 결과들이 무척 기대가 됩니다. 올해는 한국에서도 많이 참가해서 커밋로그에서 많이 보게 되었으면 좋겠네요~ 5월 1일 부터 참가 접수가 시작되고, 5월 8일에 참가 접수 완료해서 5월 22일에 멘터-학생 매치가 완료된 뒤에 발표가 나서 시작한다고 합니다.
약간 좀 거시기한 것은, 6월 말까지 중간까지 진행해서 중간 보고를 하기 때문에 한국의 학사일정하고는 안 맞아서 정작 설렁설렁 다니는 학생이 아니면 일정 맞추기가 쉽지가 않긴 한데.. 흐흐.. 아쉽네요~ (저도 7월까지 빡시게 여름학기를;;;)
댓글 8 개
|
트랙백 0 개 (보낼곳)
| 태그
python
freebsd
computer
예전에 회사에서 일할 때, 초당 30만건 정도 들어오는 자료의 빈도를 세서 누적 데이터를 기준으로 5분, 1시간, 1일, 1주, 1달, 1년 최다 순서로 100개 정도씩을 보여주는 루틴을 만들 일이 있었습니다. 그 때는 뭐 회사 프로젝트도 검수 기간도 다 끝나고 영 제값 못 받고 한다고 생각하는 프로젝트였기 때문에, 그냥 대충 가장 단순하게 막 구현을 했더니 오방 느려서 하드웨어빨로 버티고 있었습니다. 나중에는 각 샘플링 별로 상위 10배수를 뽑아서 나머지를 버리는 등의 튜닝을 약간 해서, 처리속도가 데이터 들어오는 것을 못 따라가는 문제를 약간 해결해야하긴 했습니다. :)
물론 이렇게 하면, 정확한 이산 데이터를 합해서 하기 때문에 아주 정확한 자료를 얻을 수 있다는 장점은 있지만, 통계 기간에 들어가는 샘플의 수가 워낙 많기 때문에 속도의 문제나 기간의 제한 등 여러가지 문제가 산적해 있었습니다. 특히 가장 문제는, 샘플 저장 수를 줄이기 위해서 장기간의 통계용 샘플들은 정밀도를 줄여서 5분 데이터를 모두 모아서 1시간 데이터로 만드는 등의 작업을 거치기 때문에, 업데이트가 바로바로 되지 않는 문제가 있었습니다. 그래서, 그때는 그냥 뭐 병특도 끝나가고 해서 대충 넘어 갔는데 -ㅇ-, 얼마전에 여자친구 숙제를 도와주다가, 커널에서 load average 계산하는 방법을 보고서 이것을 게시판의 "최근 뜨거운 글 100개 목록"이나, 네트워크 장비들의 "최근 다발 접속 IP 100개" 같은 통계에 쓰면 좋겠다는 생각이 들었습니다. +_+ 벌써 다른 데서는 다 쓰고 있었는지도 모르겠지만; 이렇게 되면 보통 하듯이 하루 단위로 리셋되지 않고 부드럽게 꾸준히 업데이트되기 때문에 비교적 부하를 줄이면서도 쓸만한 데이터를 얻을 수 있지 않을까 싶네요~
그래서, 그 방법이 무엇이냐!
간단히 요약해서 다음 수식으로~

커널 소스코드에서는 sys/kern/kern_synch.c 부분에 있습니다.
x가 로드이고, s가 새로 들어오는 샘플, window가 원하는 통계 기간의 샘플 수 입니다. 이렇게 하게 되면, 새로 들어오는 샘플은 1-1/exp(1/window) 의 비율로 들어가고 그 다음부터는 1/exp(1/window)가 계속 곱해져서 살짜쿵씩 사그라듭니다. 적당히 원하는 보존 기간을 지나가면 무시할 수 있을 만큼의 비율로 없어지기 때문에, 데이터 값 1개만 유지하고서도 이산형 데이터 모두를 저장하는 부담을 줄일 수 있다는 점에서 그런대로 쓸만한 방법인 것 같네요. +_+
그래서, 과연 이 놈이 진짜로는 어떻게 없어지나 그래프를 한 번 그려 봤습니다. (x 축이 축적 횟수, y축이 최종 데이터의 반영 비율, 샘플 누적 목표는 10으로 했을 때)

그래서 대략 계산해 보면, 10개까지의 데이터들의 반영 비율이 63% 정도 되고, 2배수인 20개까지의 비율의 합이 86%정도 됩니다.
정확한 데이터는 아니지만, 데이터 계산을 연속적으로 할 수 있고 연산/저장량이 많이 줄어든다는 점이 장점이겠습니다.
그런데, 커널에서는 부동소수점 연산을 피하기 때문에, 이런 계산을 좀 더 재미있는 방법으로 하고 있는데, 이것도 한 번 눈여겨 볼 만합니다. :) 커널 소스의 cexp라는 fixpt_t형 배열에는 exp(-1/샘플수)의 값이 미리 계산이 되어 있어서 그냥 곱하기만 하면 되게 되어있기 때문에 e 계산이나 나누기를 하지 않아도 됩니다. 그리고, 사실은 이놈이 부동소수점형이 아니라, CPU에서는 정수형으로 취급되는 고정소수점형이라는 것~ 32비트 중에서 왼쪽 21비트를 정수영역, 나머지 11비트를 소수점영역으로 쓰는데, 1<<11 * 소수 이렇게 하면 간단하게 소수점 이하라도 쉽게 변환이 되고, 덧셈 뺄셈도 생각해 보면 그냥 정수 덧셈,나눗셈 인스트럭션으로 될 것을 알 수 있습니다. 그리고, 곱셈도 가능한데 둘을 곱한 다음에 소수 영역 길이인 11비트만 오른쪽으로 시프트 해주면 고정소수점 곱하기 한 것처럼 됩니다. (물론, 손으로 써보면 쉽게 증명이 됩니다. :) 후배한테 자랑했더니 요새는 학교에서 이런 것도 가르쳐 준다는군요 -.-;)
뭐 하여간.. 전에 회사에서 바쁘던 와중에 검색을 할 때는 좋은 아이디어가 딱히 안 떠오르고, 검색을 해 봐도 딱히 좋은 알고리즘이 안 떠올랐는데, 계속 곱하기만 해도 줄어든다는 것을 떠올리지 못한 것은.. 아무래도 수학 공부를 안 해서일까요 -.-a 그래서 이번 학기에 공수 불끈! +_+
댓글 25 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
computer
어제 릴리스된 파이썬 2.4.3으로 lang/python 포트를 업데이트 했습니다. 이번에는 얼마 전에 lang/python-devel 포트에서 시험적으로 적용했던 pkg-plist 줄여쓰기를 메인 포트에서도 한 번 적용해 봤습니다. 원래 py, pyc, pyo를 모두 pkg-plist에 적어 두고 있었는데, 용량이 너무 커져서 파이썬 포트들만 모두 합쳐도 이제 1MiB가 넘어가는 판국이 되어서 pyc와 pyo를 빼고 awk로 중간에 처리를 하도록 해버렸더니 60KiB정도가 줄었습니다. :) 그리고, NO_NIS는 있으면서도 PORTMAP은 안 끈 시스템에서 설치하다가 파일이 없다고 에러나는 것도 rpcgen 대신 ypcat을 체크하도록 해서 고쳤습니다.
파이썬 2.4.3은 아주 마이너한 버그 패치들만 들어가 있기 때문에, 기능적으로는 특별히 볼 만한 것은 없지만, Coverity와 refleak check, buildbot 등 파이썬 개발팀에서 최근에 사용하기 시작한 완성도 높이기 덕택에, 자잘한 버그들이 정말 많이 수정되었습니다. (예를 들어 PyObject_Unicode(NULL) 하면 세그폴트 나버리는 문제라던지..) 완성도 관련이나 릴리스 자동화, 막판의 버그 픽스와 하위 호환성의 충돌과 관련해서 좀 더 깊숙히 할 얘기가 있는데 2.4.3 릴리스와 관련된 뒷얘기들은 다음 기회에 다시 자세히~
그나저나, 지금 확인해 보니 아직 넷비, 우분투, 젠투, 데비안, 페도라에는 2.4.3이 안 들어간 걸 봐서는 이번엔 프비가 대략 1등? ^_^;; =3=33 (시험 전날 공부는 안 하고 이런거나 --;;)
댓글 9 개
|
트랙백 0 개 (보낼곳)
| 태그
python
freebsd
오랜만에 FreeBSD 관련해서 뭔가를 쓰는군요. ^.^
지금 열심히 릴리스 엔지니어링 막바지 작업이 진행되고 있는
FreeBSD 6.1에 관심이 많으실 듯 합니다. 유명무실했던
5.x대 릴리스를 딪고 일어서서 이제 본격적으로 안정버전 대열로
들어갈 6.1은 FreeBSD의 역사에서 매우 중요한 역할을 할 듯 합니다.
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
모 뉴스 사이트를 읽다가 발견 :-) 크로스오버 오피스가 그동안 리눅스에서만 잘 되고 있었는데, FreeBSD에서도 리눅스에 설치된 것을 복사해와서 쓰는 방법이 올라왔군요.
(아쉽게도 요새는 오피스를 쓸 일이 별로 없어서;)
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
그동안 버전 관리를 안 하고, 저자의 하드디스크를 rsync하는
방식으로 희한하게 배포를 해 왔던 Io가 엊그제부터 분산 버전 관리 시스템인 darcs를 쓰기 시작했습니다. (그동안 소스코드 버전관리를 안 한 이유는 여기에 적힌 까다로운 조건을 만족하는 것을 찾느라 그랬답니다.) darcs는 haskell로 작성되어 있고, 엄청나게 속도가 느린 것을 제외하면 기능상으로는 흠잡을 것 없이 아주 뛰어난 버전 관리 시스템인 것 같은데, 개인적으로 너무 불편한 것이 아직 ghc가 FreeBSD/amd64로 포팅이 안 되는 바람에, 제 컴퓨터에서는 쓸 수 없다는.. 그런 문제가 있었습니다. 흑흑 Y_Y 다들 커밋한거 받아보고서는 좋다~ 느리다~ 걱정된다~ 하고 있는데 amd64쓰는 죄로 소스도 못 받아보고 완전 왕따가 돼서..
그래서 amd64의 32비트 에뮬레이션 기능을 이용해 보려고 이렇게 저렇게 한참 노력해 봤지만, 동적 링킹에서는 도저히 어떻게 하는지 감이 잘 안 와서.. 결국은 포기하고 i386 머신에서 정적 링크를 해서 만든 패키지를 그냥 amd64에 까는 방법으로 했습니다.
그래서 결과로 나온 darcs-1.0.5.tbz 으흐흐.. 혹시 저처럼 또 왕따당하는 분이 있으실까봐 올려 봅니다. 그런데, ghc가 -static을 넣으면 정적 링크를 해 주는 것처럼 매뉴얼에는 써 있는데, 한참을 해 봐도 정적 링크를 안 해주더군요. 그래서 결국에는 ghc를 verbose mode로 돌려서 나오는 링크 커맨드를 그대로 쳐서 -static만 추가해서 하는 방법으로.. =.=
댓글 2 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
중간고사도 끝나고, 이제 막 조발표와 프로젝트의 시즌이 다가왔습니다. 원래 바쁠 때 딴짓이 더 많이 생각나는 법이라, 올해가 가기 전에 실용주의 프로그래머 권고안의 "1년에 새로운 언어 1개씩 배우기"를 실천해볼까 하는 생각이 갑자기 들었습니다. -,.-; 그래서 io를 한번 보자하는 생각이 들어서 다운로드를 찾아봤는데, 배포하고 있는 바이너리 중 FreeBSD용이 4.x용에다가 i386용이라 7.0에 amd64인 제 컴퓨터에서는 아무리 호환성 라이브러리를 설치해 봐도 돌아가지를 않아서, 그렇게 난해하다는 io 직접 빌드하기를 한번 시도해 봤습니다.
한참동안 "이야.. 자연으로 돌아갔구나"하는 심정으로 Makefile을 수정해보면서 빌드하고 나니 그냥 다른 사람들 삽질도 줄여줄 생각으로 포트로 만들어 버렸습니다. lang/io로 등록했으니, 혹시 io 빌드의 압박으로 접해보지 못한 분은 한번 설치해 보셔도 좋을 듯~ -O- 기본 타입 튜토리얼만 한번 쳐 봤는데 색다른 맛이 있어서 기분 전환에 많은 도움이 되는군요. :)
댓글 3 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
computer
오랫동안 진행됐던 새로운 FreeBSD 로고 투표 결과가 공식적으로 발표 되었군요. 8월초부터 초기 선정 패널로 참가하면서 800개 정도 되는 후보군에서 고르다보니까 저 로고가 상당히 그래도 예쁘게 보이는데, 처음부터 저 로고를 보는 분들은 좀 맘에 안 드는 경우도 있는 모양입니다. 그래서, 개발자들 사이에서도 로고 싫다 그냥 데몬만 쓰자 하는 사람도 있고.. 흐흐.. 그래도 일단 선정이 된 이상은 웹페이지, CD 디자인 등에서 많이 쓰이게 될 것 같군요. 저도 이제 명함을 붉은색 계열로 바꿔야겠군요 -O-;;
그리고, 방금 FreeBSD 6.0 릴리스 CVS 태그가 완전히 찍혔습니다.
이제 별 이변이 없는 한은 FreeBSD 6.0-RELEASE가 2~3일 안에 나오게 되었습니다. :) 5.0이 개발 브랜치에서의 릴리스가 좀 빛을 못 받았던 것을 생각해 보면, 6.0은 그 부분을 만회한 4.0 처럼 성숙하고 사랑받는 릴리스가 되기를 기원합니다.
댓글 7 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
10월 29일 토요일에 Hello FreeBSD 세미나에 참가했습니다. Hello FreeBSD는 색다르게도 IRC 채널이 기반이 된 세미나인데, 차대협님과 여러 도우미분들의 노력으로 오프라인 커뮤니티들에 비해 전혀 손색이 없는 괜찮은 행사로 치루어졌습니다.
제가 발표한 내용은 FreeBSD를 개괄적으로 소개하는 부분인데,
역사, 특성/장점, 구성, 업데이트, 기여방법, 브랜칭, 일정 등을
소개하였습니다. 원래는 개발 과정 등도 소개하려고 했었지만
미리 시간 구성을 좀 해보니까 도저히 시간이 안 맞아서, 빼고
나니까 대충 시간을 맞춰서 끝낼 수 있었습니다. (시간을
맞추는데 도움을 준 타이머에게 감사드립니다. ㅎ;;)
이번 행사에서 야후 코리아의 뽀빠이님께서 야후에서 FreeBSD를
어떻게 쓰는가에 대한 얘기를 발표하셨는데, 검열되어 나온
내용이라 충격적인 것은 없었지만 그래도 "무엇이 다른가"에 대한
부분은 신비속에 싸여있는 야후의 자체 변경사항이 어떤 것인지
이해하는데 많은 도움이 되었습니다.
저는 그 뒤에 좀 있다가 시험공부의 압박으로 일찍 빠져나왔는데,
마침 불꽃놀이 때문에 차가 너무 막히고 해서, 지하철을 탔더니
여의도 지하철에 사람이 그렇게 많이 탄 것도 처음 봤습니다.
사람이 꽉 들어차서 완전 출근길 2호선을 방불케하는..
드디어 오늘 중간고사 마지막 시험이 끝나는데... 끝나서 즐겁다기 보다는 앞으로 남은 조별 발표/프로젝트 들이 걱정이 태산이군요.
흐어어어어.. ㅠ.ㅠ
하여간, 그동안 FreeBSD 관련 행사가 유난히 한국에서 별로 없었는데, 오랜만에 이렇게 많은 FreeBSD 사용자와 만나게 되어서 즐거웠습니다. :) 그리고, 발표 잘 하라고 응원해준 스니와 정훈이에게 감사. ^^
댓글 3 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
life
10월 29일에 개최될 예정인 Hello FreeBSD 세미나에서 발표할 자료를 만들었습니다.
웹에 떠돌아다니는 여러 프리젠테이션들과 머리 속에 흩어져 있는
정보를 참고로 하여 극히 일부만~ 으흐흐

발표 자료 다운로드 (pdf 포맷)
제가 주최하는 행사가 아니라, 구체적으로 어떤 형식으로 진행될 지는 잘 모르겠지만, FreeBSD관련 행사가 정말 오랜만에 있는 것이니만큼 FreeBSD에 관심 있는 분들이 많이 오셨으면 좋겠습니다.
그동안 많은 행사가 개발자 중심의 세미나였던 반면에 이 세미나는 내용을 봐서는 SE들을 위한 행사인 것 같네요~
댓글 3 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
Google Summer of Code 프로젝트 중의 하나였던 FreeBSD 웹 사이트 프로젝트가 거의 완료되어서, 실제 사이트로 올라왔군요.
뭔가 개발자들만 바글바글한 해키시하던 이미지에서 회사같은 이미지로 바뀌게 되어서 나름대로 경영진들한테는 신뢰감을 줄 것 같기도 하네요. 으흐흐~ 초기화면에서 두번 클릭만에 ISO 파일을 다운로드 받을 수 있다는 점도 실행차를 줄였다는 점에서 매우 큰 발전이라고 생각됩니다. -O- (수업시간에 배운 말을 써먹어 본다 =3=3)
FreeBSD 로고는 거의 막바지에 다다랐는데, 로고 후보로 나온게 ""모두 다 맘에 안 든다 원래대로 가자!"라고 주장하는 사람들이 대거 등장해서 과연 어떻게 될 지 모르겠군요.. 으흐;;
댓글 1 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
다른 OS들은 대체로 "게으른 사람들을 위한 OS"라고 표명하면서
그냥 놔두고 가끔 엔터만 쳐주면 된다는 것을 자랑으로 합니다.
그런데, FreeBSD는 아무래도 "게으른 사람들에 의한 OS"라서,
FreeBSD 개발자들의 편의를 위한 것이 대체로 사용자 편의성보다
우선하는 분위기 입니다. 므흐흐. :) 흔하지 않은 특징이라는
것이 아주 맘에 듭니다. =3=3
그러다가 이제는 포트 메인테이너들이 새 버전 나왔는지
가끔 홈페이지 들어가 보는 것조차 귀찮아져서, 직접 안 가고도
새 버전이 나오면 포트 메인테이너에게 알려주는 서비스가
시작되었습니다. edwin@이 만든 이 스크립트는, 기록된
웹 사이트와 배포 ftp 목록, http URL 추측 등의 온갖
주먹구구식 방법을 동원해서 새로운 버전이 나왔는지 체크를
합니다. 결과는 메일로 통보되지만, 웹으로도 확인할 수 있습니다.
예를 들면, 제 포트 중에 새 버전이 나온 것은 여기를 보면 확인할 수 있는데, 지금 23개가 아웃데이트돼서
아웃데이트 순위로 5위를 먹었습니다. --; 그런데, 파이썬 포트들 중에 슬레이브 포트로 돼서 버전이 안 올라간 것들이 있어서 상당히 억울합니다. 우워우워!
다른 패키지 시스템 개발자들도 이것 응용해서 도입하면 유용하겠군요..
댓글 7 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
오픈룩 서버는 올해 초에 옵테론으로 바뀌었고,
얼마 전에 추석 기념으로 동생 컴퓨터를 업그레이드 하면서
집 데스크탑도 셈프론64로 바꿨습니다. 그래서, 이제 명실공히
amd64 유저가 되었는데! (이히히)
amd64를 쓰자니 가장 불편한게, 한국에 FreeBSD/amd64 미러가
하나도 없어서 항상 메인 사이트에서 땡겨와야 돼서 무지
느리다는 문제가 있었습니다.
그래서, 세계로 나아가는 티이님의 스토리지 원조를 받아
amd64 미러 사이트를 구축했습니다. 주소는 openlook.org 입니다.
바이너리류 파일은 amd64 플랫폼 것만 들어있고, 바이너리가
아닌 것은 모두 미러되어 있습니다.
사실 엊그제 미러링을 시작했는데, 아직도 싱크중이라, ISO이미지는
아직도 덜 되었네요.. 으흐흐.. 아무래도 다 하면 80GB는 넘을
것 같은....
한국에 사는 amd64 유저분들은 많이 쓰시기 바랍니다. 으흐흐;
댓글 11 개
|
트랙백 0 개 (보낼곳)
| 태그
openlook
freebsd
썬에서 파는 소형 웹서버용 시스템이자 웹서버 관리 UI인
코발트가 FreeBSD로 포팅 되었다고 합니다.
이름은 RAQdevil.
이번 작업은 지난번 FreeBSD v. Linux 테크TV 방송에 나왔던
매트 올랜더씨의 회사인 OffMyServer에서 지원한 것이라고
합니다.
코발트 하드웨어가 크게 성능이 좋다거나 뭐 다른게 좋다기 보다는
그저 크기가 작고 관리 UI가 시스템을 모르는 사람들도 쉽게
관리할 수 있다는 점에서 많은 인기를 끌어 왔는데, 리눅스 뿐만
아니라 FreeBSD에서도 코발트 UI를 돌릴 수 있다는 점에서 활용
용도가 많이 늘어날 수 있을 것 같네요. 웹 호스팅 업체들이나
간단한 솔루션 판매 업체들도 관리 UI를 직접 다 만들 필요 없이
코발트 UI에다가 필요한 부분만 약간 수정해서 넣어줄 수도 있고..
오픈소스라서 아주 유용할 듯 합니다. :)
댓글 1 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
구글 Summer of Code 프로젝트에 선정된 FreeBSD 학생(?)이
원래 계획대로 FreeBSD로 sshfs를 작업을 한 것이 상당히 진척이
있었다고 합니다.
원래 계획은 sshfs를 직접 구현을 하는
것이었으나, 그게 상당히 노가다 작업인 것을 눈치채고, 리눅스에서
sshfs용으로 많이 쓰이는 FUSE 유저랜드 파일시스템 프레임워크를
FreeBSD로 포팅하는 것으로 대체를 한다고 하는군요. 그렇게 되면
FUSE에서 지원되는 sshfs나 gmailfs같은 여러 유저랜드 파일 시스템을
쓸 수 있게 돼서 여러모로 확장 가능성이 높아져서 괜찮을 것 같기는 합니다. :)
그렇지만, FUSE의 커널 부분이 GPL로 선언되어 있는 이상, FreeBSD 커널에 디폴트로 들어올 수가 없게 되었다고 볼 수 있습니다.
게다가 현재 소스 트리에서 gnu/ 쪽을 점점 줄이려는 추세라,
그냥 포트에서 관리될 것 같아서 결국은 커널에서 빌드도 잘 안되는
경우도 많아질 것 같고, 앞으로 험난한 길을 걷게 될 것 같네요.
댓글 1 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
오랫동안 깨져있어서 9월 22일에 지워지기로 예정되어 있었던
korean/imhangul
포트를 고치고 0.9.12로 업데이트 했습니다.
사실 저도 nabi는 안 쓰고 imhangul만 쓰기는 하는데 여러모로
귀찮아서 DEPRECATED랑 BROKEN만 지우고 인스톨하고 그랬었는데-.-
6.0 코드프리즈가 오늘부터 시작이라 뭔가 위기감이 와서 메인테이너인
최준호님의 승인도 안 받고 그냥 막 밀어넣어버렸네요. 으흐흐
그래서. 6.0에서는 아무래도 pkg_add -r ko-imhangul하면 한글 입력이 되겠지용~
그리고 최환진님의 각고의 노력 끝에 이제 gaim에서도 마지막 글자가
안 짤리고 입력이 잘 된답니다. 으흐흐흐 어찌나 좋은지~
댓글 3 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
네덜란드의 희한한 영혼을 가진 두명의 해커가 FreeBSD를 X-Box에 포팅했다고 발표했습니다. 소개문에 따르면, 3년 전쯤에 NetBSD 쪽에서 만우절 농담으로 X-Box로 포팅했다는 것이 나왔었는데, 안타깝게(too shame) 보였는 모양입니다. 흐흣.
X-Box에 리눅스를 깔때 쓰는게 크롬웰이라는 부트로더 바이오스가 있나본데, 그놈이 원래 리눅스만 지원하다가 이번 포팅을 하면서 크롬웰에 ELF 커널 로딩을 지원하도록 패치를 해서 이제 FreeBSD외에도 ELF 포맷을 쓰는 여러 OS들을 쉽게 포팅할 수 있게 된 것 같네요.
X-Box가 그렇게 조용하다고 하는데, 왠지 집에 공유기 대신 X-Box나 하나.. 크히히~
댓글 3 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
FreeBSD에서 오랫동안 사용해 왔던 비스티 로고가 악마라는 이유로 지속적으로 기독교계의 사용자들에게 많은 거부감을 주고 있었다는 문제때문에, 올해 초에 새로운 로고를 만드는 공모전을 하였습니다. 얼마 전에 로고 공모가 마감되어서 700개가 좀 넘는 로고가 최종 접수되었습니다.
깔끔한 디자인도 있고, 대충 만든 것도 있고.. 심지어 파워포인트로 만들어서 올린 상상을 초월하는 사람들도 있었지만.. 하여간 현재 심사위원들이 음청나게 많은 로고들을 하나하나 가려내면서 로고를 고르고 있습니다. 저도 로고에 무척 관심이 많아서 심사위원으로 참가를 했는데, 한 2~3개 정도가 매우 마음에 드는 깜찍한 것을 발견했습니다. 흐흐. 티셔츠에 이것 로고로 새기면 넷비 로고보다 훨씬 깜찍할 것 같아서, 벌써 투표 결과가 어떻게 될지 무척이나 기대가 됩니다. 자세한 사항은 아직은 공개되지 않았기때문에 말씀드릴 수는 없지만, 역시 아이디어가 굉장한 사람들이 몇 있네요. 이렇게 활용할 줄이야.. :)
초기 투표는 8월 초에 마감되고, 중간에 저작권 관련 작업들을 거쳐서 최종적으로는 9월 초에 발표될 예정이라고 합니다.
댓글 4 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
FreeBSD에서는 새로운 커미터를 뽑을 때, 기존의 커미터가
멘터가 되어서 계정 생성, 커밋 리뷰, 문화에 대한 적응 등에
도움을 주게 되어 있습니다. 보통 새로운 커미터를 추천한 사람이
멘터가 되는데, 그렇지 않은 경우도 있긴 합니다.
제가 FreeBSD 커미터가 될 때는 2002년 6월엔가 최준호님께서 멘터가 되셔서 들어가게 되었습니다. 거의 이제 3년이 넘었는데 아직 새로운 커미터를 멘터링할 기회가 한 번도 없었네요. 흐흐. 그러다가, 얼마 전부터 갑자기 파이썬 포트에 대한 PR을 1주에 수십개를 저한테 보내는 사람이 하나 생겼는데, 아이고 이거 귀찮아서 어떻게 하나 고민을 하다가, 보내 주는 패치가 상당한 수준이고 bsd.port.mk 구조까지도 hack해서 쓰는 이상한 패치를 보내줄 정도로 내부 지식이 있고 열정이 있는 것 같았습니다. 그래서, PR 통계를 보니, 이 사람이 Ports Fury를 빼고는 최근 PR 순위가 2위이길래 처음으로 커미터로 추천했고, 어제 portmgr팀에서 승인이 났습니다. 옛날에는 새로 커미터 들어오는데 막 몇달씩 걸리고 그랬는데, 요새는 승인이 이틀, 계정 30분 해서 이거 3일만에 완전히 CVSROOT/access에 커밋까지 다 돼버렸네요. 흐흐.
하여간, 처음으로 제 멘티가 된 러시아에 사는 Vsevolod Stakhov씨 축하합니다! (라고는 하지만 한국어를 알 리가 없.. -.-;) 이름이 외우기 상당히 힘들었는데 이제 어느 정도 메일 안 보고도 이름을 알 수 있을 것 같네요; 아하하;
댓글 11 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
오늘 파이썬에 FreeBSD 7 지원을 추가했습니다. :)
포트에 있는 Python 2.4, Python 2.5, Python 2.3, Python 2.2, Python 2.1에는 아직 백포트되지는 않았지만, 몇몇 분들이 패치를 보내주셔서 테스트 작업 중이니 오늘 밤중으로 포트에서도 FreeBSD 7에서 파이썬을 쓸 수 있을 듯 합니다. :)
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
python
freebsd
며칠 전에 FreeBSD 소스 커미터가 되신 김정욱님(jkim)과 메일을 주고 받다가 전에 최준호님과 찾아봤던 ko_KR.eucKR에서의 Vim 커서 이동 문제를 얘기했습니다. 그 당시에는 mblen(3)이 FreeBSD에서만 에러난 상황에서 stateful하게 구현되어 있는데,
POSIX에서는 그런 상황이 명시적으로 정의되어 있지 않아서, FreeBSD가 잘못한건지 vim이 잘못한건지 잘 모르겠다는 판단을 하였습니다. 그런데, 김종욱님께서 표준에 정의되지 않은 행동방식에 의존적인 사용을 하는 vim의 잘못이라고 말씀을 해 주시는군요. 아앗. 그럴수가. 그렇게 생각할 수도 있구나. 하며 순간 백년묵은 체증이 사라지는 듯한.. ;;
vim은 패치가 엄청나게 자주 나오고 포트에서도 다 그걸 넣는 편이라, 따로 vim 포트에서 로컬 패치를 넣을 필요는 없을 것 같고 그냥 메인스트림에 바로 넣기로 마음먹고 버그 보고 메일을 보냈습니다. 일본 사람들도 한참 두리번하다가 해결 못한 것인데 곧 고쳐지면 좋겠군요~ :)
댓글 6 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
요새 말년이라 이것 저것 일이 많아서 글 쓸 여유가 잘 없군요. 으흐흐.
그동안 광복절 기념으로 릴리스할 예정으로 작업이 활발하게 진행되고 있었던 FreeBSD 6.0이 드디어 내일 스테이블 브랜치가 됩니다. 즉, 현재 프리즈되어있는 HEAD에서 RELENG_6가 갈라져 나와서, 이제 RELENG_6 브랜치로 세팅하면 6.0-PRERELEASE로 나오게 되겠죠~
이번 6.0에서는 5.x에서 안정버전이지만 아직 많이 채택되지 않은 상태였으니, 이제 6.0이 안정버전으로 들어가면 그냥 4에서 6으로 건너뛰는 곳도 꽤 되지 않을까 합니다. 흐흐. FreeBSD 6의 여러가지 새로운 것들에 대해서는 최근에 OSNews에 올라왔던 jhb, rwatson, scottl의 인터뷰에서 아주 잘 설명되어 있습니다.
Summer of Code에서 FreeBSD에 추천한 프로젝트가 모두 20개인데, BSD 인스톨러 통합, FreeSBIE 통합, UFS 저널링, CVSUp C 프로젝트, GEOM 저널링, MacOS launchd 통합, 커널 메타언어 등 솔깃한 것들이 많이 올라왔는데, 한 반정도만 성공해도 FreeBSD 7이 굉장히 재미있어질 것 같네요~ :)
댓글 2 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
요새 여러모로 일이 많아서 좀 바빠서 메일을 통 못 읽다가, 밀린 CVS 메일을 보다보니 재미있는 게 여러개 있군요.. :)
구글 Summer of Code 프로젝트
구글 Summer of Code에 FreeBSD가 멘터로 활동할 여러가지 주제들이 목록으로 정리되어 올라왔습니다. Xen지원이나 BSD Installer 통합, CVSUp을 C로 재작성하는 일, UFS 저널링 지원 추가 같은 것들이 매우 흥미로워 보입니다. :) 저는 개인적으로는 BSD iconv를 유저랜드에 통합하고 kiconv에 DBCS/SBCS 외에 가변 바이트 지원을 추가하는 작업에 관심이 많은데 학생이 아니라 참가도 못하고~ 병특 끝나기 전이라 시간도 없을 것 같고~ 이히히;
WPA 클라이언트 베이스로
BSD 할아버지들 중에서 가장 활발한 활동을 하고 있는 샘 아저씨가 드디어 WPA 지원을 베이스에 넣었습니다. :) 이름은 wpa_supplicant입니당. EAP-TTLS까지도 언급이 되어 있는 걸 봐서 아직 써보지는 않았지만 매우 기대가 되는군요. :)
ISC dhclient에서 OpenBSD dhclient로 교체
FreeBSD에서 오랫동안 쓰던 ISC dhcpd에 포함되어 있는 dhclient를 이제 OpenBSD의 dhclient로 교체하였습니다. contrib이 아니라 그냥 베이스에 머지해버릴 정도로 강한 애착이.. 흐;
Kip Macy가 커미터로~
FreeBSD로 Xen을 포팅하는 작업을 오랫동안 열심히 추진하던 Kip Macy가 그동안 그 분야를 잘 아는 커미터가 없는 통에 커밋권한을 못 얻고 있다가 최근에 드디어 소스 커미터로 들어오게 되었습니다. 드디어 FreeBSD도 Xen의 문명 혜택을 받게 되겠군요. ^.^
므해해해
댓글 3 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
FreeBSD 6.0 릴리스를 위한 오랫동안의 열띤 토론 끝에, 이제 다음 주에 코드 프리즈가 시작됩니다. 구체적인 일정은 다음과 같이 잡혀 있는데, 물론 실제로 진행되다가 복병을 만나면 좀 늦어지겠죠. :)
- 2005년 6월 10일: 피쳐 프리즈, 코드 슬러시 (약한 프리즈)
- 2005년 7월 10일: RELENG_6 브랜치 (여기부터는 releng팀 승인이 있어야 커밋 가능)
- 2005년 8월 1일: RELENG_6_0 브랜치 (6.0 릴리스 브랜치)
- 2005년 8월 15일: FreeBSD 6.0 릴리스
광복절 기념 릴리스인가 보군요. :)
댓글 2 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
엊그제 Gentoo/FreeBSD 프로젝트 개발자 중의 한 명이 제게 메일을 보내 왔습니다. 그 내용은 Gentoo의 패키지 관리 툴이 아무래도 파이썬으로 되어 있다보니 파이썬으로 대체로 다 만들어야 하는데, 리눅스에는 없고 FreeBSD에만 있는 파일의 chflags 속성 관리를 위해서 원래는 자기들이 직접 패치한 것을 쓰고 있었는데, py-freebsd가 좋아서 바꿔보려고 한다는 말이었습니다. :)
뭐 다른 것은 다 괜찮은데, os.stat()에서 st_flags를 읽어오고 싶은데, 파이썬에서 제공을 하지 않는 속성이다보니 참 애매한 상황이라 이를 py-freebsd에서 제공해 달라는 것인데, 가만 생각해보니 py-freebsd에서 지원해 줄 수도 있겠지만 지원하게 되면 소스가 상당히 지저분해질 것 같아서 그냥 파이썬을 고쳐서 커밋해 주고, 그것 백포트 해서 쓰라고 답장을 보내버렸습니다. ;;
이제 Gentoo 소스에 import freebsd 없나 잘 봐 보세용. 이히히 =3=33
댓글 1 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
얼마 전에 회사에서 새로운 서버를 세팅하면서, 데비안에 없는 패키지 몇 개를 깔끔하게 설치하기 위해 방법을 알아보던 중, 회사 동료인 상현씨의 조언으로 checkinstall를 이용해서 설치하게 되었습니다. checkinstall은 인스톨하는 도중에 preload된 동적 라이브러리가 파일 변경사항을 로그로 남겨서, 그 로그를 기반으로 마치 패키지를 이용해서 깐 것처럼 해 주는 도구이더군요. 물론 바이너리 패키지도 만들어 주고 해서, 패키징되지 않은 프로그램을 임시로 재빠르게 깔아야하는 경우에 매우 편리했습니다.
사실 예전에 autoplist.py라고 ktrace기반의 pkg-plist 자동 생성기를 만들었습니다. 그런데, 당시 FreeBSD의 베이스가 정적 링크되어 있었기에 LD_PRELOAD 트릭을 사용할 수가 없어서 ktrace를 기반으로하다보니 너무 부하가 심해서 mozilla같은 대형 포트를 깔 때에는 거의 5분 이상이 걸리는데다 로그를 남기는 하드디스크 용량도 너무 많이 들고 해서 아주 간단한 포트 외에는 쓰기가 힘들었습니다.
FreeBSD는 그래도 간단한 임시 포트를 만들기가 데비안에 비해서는 쉬운 편이긴 하지만, 아무래도 pkg-plist 만드는 압박이 있기에 FreeBSD에도 그런 것이 있으면 삶을 활기차게 사는 데에 큰 도움이 되겠구나. 하는 생각이 들었습니다. :) 이제 FreeBSD도 베이스가 완전 동적으로 되었기에, FreeBSD 사용자도 이제 젖과 꿀이 흐르는 자동 plist 생성의 세계로! 그런데, 우선 인스톨 로그를 위한 sysutils/installwatch포트가 워낙 오래된 것이어서 그런지, 5.x에서는 log 심볼의 중복이라던지 여러가지 문제점으로 계속 버스에러로 죽었는데 그 문제를 약간 추적해서 수정해서 메인테이너에게 보냈습니다. (아직 커밋되지는 않았습니다.)
그래서 그걸 이용해서 결국 주말에 pkg_trackinst와 pkg_genplist를 LD_PRELOAD기반으로 만들었습니다.
우선, pkg_trackinst는 패키징이 안 되어있는 소프트웨어를 make install할 때에 당시에 설치되는 파일들을 분석해서 자동으로 패키지로 설치한 것처럼 만들어주고 바이너리 패키지도 만들어서 다른데서도 똑같이 설치할 수 있도록 만들어주는 도구입니다.
그리고, pkg_genplist는 다른 패키징은 다 끝나고 pkg-plist파일만 생성하면 끝나는 상태에서 pkg-plist를 자동으로 생성해 주는 도구입니다.
pkg_trackinst는 오늘까지 만든 부분에서 거의 잘 돌아가고 있지만, 아직 pkg_genplist는 mtree를 사용하지 않고 있어서, 중복된 파일도 막 올려대고 특히 manpage쪽이 문제가 많이 있습니다. 그렇지만, 주말도 거의 끝난데다가.. 다른 시스템들에서도 잘 돌아가는지 보고 싶어서 일단 버전 0.1을 릴리스했습니다. (파이썬 2.4, FreeBSD 5.2이상이 필요하고, 앞에 언급된 installwatch 포트 패치가 적용되어 있어야 합니다.)
패키지 만드는 법이 귀찮지만 pkg_delete는 하고 싶은 분이나 plist 만드는 것이 귀찮아진 분들 한번씩 테스트해봐 주세용. :)
댓글 4 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
FreeBSD 개발자 메일링 리스트에 새 FreeBSD기반 운영체제라고 Kylin에 대해서 메일이 올라 왔습니다. 그런데, 웹 페이지를 아무리 꼼꼼히 읽어봐도.. 딱히 FreeBSD기반도 아닌 것이.. 매뉴얼을 봐도 다 리눅스 명령어이고.. 아무래도 리눅스처럼 보이는데.. 으흐; -O-
그 메일 쓰레드에 다른 개발자가 답글로 새로운 다른 프로젝트를 찾았다고 글을 올렸는데, 바로 PC-BSD 였습니다. PC-BSD는 그래픽 인스톨러를 넣고 X 환경을 간단하도록 튜닝한 FreeBSD 배포본인 듯 합니다. 일단, 웹 사이트를 정탐해 보니까, 아무래도 웹 사이트 스타일이 FreeSBIE랑 비슷한게.. 비슷한 사람들이 만든 것일까 했는데, 그냥 다른 사람들인 듯 합니다.
아직 그래픽 인스톨러는 아직 아나콘다보다는 좀 안 예쁘기는 합니다마는, 그래도 데비안 그래픽 인스톨러보다는 예쁘(;; -ㅇ-)군요.. 흐흐흐; PC-BSD는 FreeSBIE와는 다르게, KDE를 기본으로 쓰고 있는데, GNOME 인스톨은 따로 특별히 지원하고 있지는 않은 듯 합니다. FreeSBIE는 xfce와 wmaker를 지원하고, PC-BSD는 KDE를 지원하니.. 이제 그놈 기반 인스톨러만 하나 나오면 좋겠는데.. ^_^
그런데, 기왕 BSD 인스톨러면 BSD 라이선스를 썼으면 좋았을텐데, 신비롭게도.. 인스톨러를 GPL로 해놨네요.. (그럼 그냥 젠투 인스톨러로 만들 것이지~ -O-;; =3=33)
댓글 2 개
|
트랙백 1 개 (보낼곳)
| 태그
freebsd
서버를 세팅하던 도중에 jail안에 사용자를 몽땅 다 넣어버리려고, chroot 패치를 할까 하다가, 요새 jail에서 jail_attach도 지원하고 하길래, 간단하게 jail 패치로 바꿔 봤습니다.
요렇게 하면 chroot보다 리소스 제한을 좀 더 섬세하게 할 수 있고, top나 ps같은 것도 jail 안의 것만 볼 수 있도록 제한됩니다. 이히히 :)
--- crypto/openssh/session.c.orig Tue Apr 20 18:46:40 2004
+++ crypto/openssh/session.c Sun Apr 3 15:59:05 2005
@@ -1262,6 +1262,12 @@
}
}
+#include <jail.h>
+
+#define JAIL 1
+#define JAILPREFIX "/thunderbluff/"
+#define JAILIDFILE "/var/run/jail_thunderbluff.id"
+
/* Set login name, uid, gid, and groups. */
void
do_setusercontext(struct passwd *pw)
@@ -1275,6 +1281,25 @@
if (setpcred(pw->pw_name, (char **)NULL) == -1)
fatal("Failed to set process credentials");
#endif /* HAVE_SETPCRED */
+
+#ifdef JAIL
+ if (strncmp(pw->pw_dir, JAILPREFIX "/",
+ sizeof(JAILPREFIX)) == 0) {
+ FILE *fp;
+ int jailid = -1;
+ fp = fopen(JAILIDFILE, "r");
+ if (fp == NULL)
+ fatal("Couldn't open " JAILIDFILE);
+ fscanf(fp, "%d", &jailid);
+ fclose(fp);
+ if (jailid == -1)
+ fatal("Invalid argument on " JAILIDFILE);
+ if (jail_attach(jailid) != 0)
+ fatal("Failed to get into the jail");
+ pw->pw_dir += sizeof(JAILPREFIX) - 1;
+ }
+#endif /* JAIL */
+
#ifdef HAVE_LOGIN_CAP
# ifdef __bsdi__
setpgid(0, 0);
댓글 2 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
지난 2주 정도 출퇴근길 지하철에서 작업한(4호선 만세!) 결과물인 py-freebsd 0.9를 릴리스했습니다. 역시나 아직도 프비 포트가 프리즈 중이기 때문에 포트는 올리지 못했고 그냥 타볼만 올렸네요. =.=;
py-freebsd는 원래 2002년 5월에 그냥 잠시 장난으로 만들어 본 것인데, 파이썬에서 기본적으로 제공되지 않은 FreeBSD 시스템/커널 함수들을 접근하기 위한 모듈입니다. 그동안은 별로 쓰는 사람도 없고.. 저도 그냥 잊고 있었는데, 요새 FreeBSD에서 베이스에 스크립트 언어를 넣자는 토론도 진지하게 올라오고 해서, 점점 파이썬이 인기를 얻고 있는 듯해서 슬그머니.. 다시 업그레이드를 했습니다. 흐흣. 원래는 0.2였지만, 이번에는 1.0을 대비해서 0.9로 바로 올렸습니다.
이번 버전에서는 예전에 벼르고 있었던 기능 2가지를 중점적으로 작업했습니다. 바로 kqueue와 sysctl입니다. kqueue의 경우에는 기존에 devel/py-kqueue에 Doug White가 만들어 놓은 것이 있었지만, 상당히 오래 전에 만들어져서 오랫동안 관리되지 않은 바람에, 현대 파이썬 스타일과는 많이 다르고, kqueue의 막강 기능 중 하나인 udata를 사용하기가 어려운 점이 있었던 것을 개선해서 포함시켰습니다.
그리고, sysctl은 귀찮게 시스템 명령어를 셸 호출해서 쓰던걸 이제 간단하게 데이터 타입 깔끔하게 직접 호출할 수 있도록 만들었습니다. :)
In [1]: sysctl('net.inet.udp')
Out[1]:
['net.inet.udp.checksum',
'net.inet.udp.stats',
'net.inet.udp.maxdgram',
'net.inet.udp.recvspace',
'net.inet.udp.pcblist',
'net.inet.udp.log_in_vain',
'net.inet.udp.blackhole',
'net.inet.udp.strict_mcast_mship',
'net.inet.udp.getcred']
In [2]: sysctl('net.inet.udp.maxdgram')
Out[2]: 9216
In [3]: sysctl('net.inet.udp.maxdgram', 9000)
Out[3]: 9216
In [4]: sysctl('net.inet.udp.maxdgram', 9216)
Out[4]: 9000
In [5]: sysctldescr('net.inet.udp.maxdgram')
Out[5]: 'Maximum outgoing UDP datagram size'
으흐흐~ 사실 업그레이드 작업을 처음 시작했을 때에는 pyrex로 하려고 거의 대부분 함수를 pyrex로 다시 썼는데, 아무래도 작업의 특성 상 C 코드나 pyrex 코드나 결국은 1:1 대응이 될 정도로 비슷한데, 사실 pyrex 자체의 제약사항도 있고해서 오히려 C로 그냥 줄줄이 풀어 쓰는게 더 편한 곳이 제법 있어서, 고심 끝에 그냥 일일이 C로 쓰는 것으로 작업을 해버렸습니다. ;; pyrex가 생각보다는 용도가 제한이 많이 되는 것 같네요.. 간단한 래핑이라고 해도 ctypes가 있고.. 복잡한 메모리 할당이나 구조체 작업이 일어나는 것들은 C만큼이나 복잡하고.. 으흐~ 뭐 어쩔 수 없네용;
프리즈가 풀리면 바로 업그레이드! FreeBSD 사용하시는 분들은 FreeBSD FTP에서 미리 받아서 한번 테스트해 주세요. :) 4.7이상, 2.3이상을 지원합니다.
댓글 7 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
파이썬을 위한 FreeBSD 플랫폼 라이브러리/커널 인터페이스 바인딩인 py-freebsd을 그동안 버려두고 있었다가, 최근에 쓰겠다는 사람이 나타나서 좀 버전업을 해 볼까 해 보고 있습니다. 흐흐 (그동안은 쓰는 사람이 없어서 --;) 몇 년전까지만 해도 별로 신경을 안 썼던 퇴행 검사(regression test) 코드들을 요새는 뭔가 새로 추가하거나 변경만 하면 넣는 분위기가 되어서, 몇몇 개발자들이 인터페이스 테스트 코드를 작성하기는 해야하는데, C로 일일이 스크립팅하려니 귀찮기가 짝이 없어서 파이썬으로 작성할까 생각해보고 있다고 합니다. :)
py-freebsd는 원래 완전 쌩노가다 코드로 직접 다 작성되어 있었는데, 제공하는 함수가 30개를 넘고, 상수 200개 정도에 이제 업그레이드하면서 cd(4)나 cam(4)같은 것들을 C 확장 타입으로 만들려고 하니까 이런 중복 작업으로 점철된 노가다 작업에 회의감이 느껴져서 친도가 안 나갔었습니다. 그 뒤로 벌써 거의 3년이 지났는데, 예전에 사람들이 좋다고 칭찬하던 pyrex가 생각나서, "그래 한번 도전해 보는거야!"
우선, py-freebsd에서 가장 간단한 함수인 getosreldate(3)를 해 봤는데. 오우. 단 몇 줄에 되는군요! (다른 데서 봤지만 직접 해보니 새로운 감동이;;;;)
cdef extern int c_getosreldate "getosreldate" ()
def getosreldate():
cdef int reldate
reldate = c_getosreldate()
if reldate == -1:
raise OSErrorFromErrno()
return reldate
흐흐 물론 SWIG에 비하면 복잡한 방법이기는 하지만, 별도의 파이썬측 모듈을 만들지 않고도 섬세한 리턴값 제어나 입력값 가공이 가능하다는 점은 아주 감동적이라, 아직까지 pyrex로 안 바꾼 것이 참 후회가 되는군요 흐흐.. 그래서 py-freebsd에서 제공하고 있는 대부분의 함수들을 순조롭게 pyrex용으로 바꾸어서 거의 원래 노력형(;;) C 소스에 비해 20%정도의 양으로 줄어버렸습니다~ :)
pyrex가 실제 활용하고 있는 사람들에게서 피드백을 많이 받아서 진짜로 필요한 것에 대한 대처가 많은지 의외로 뭔가 하려고 딱 마음을 먹었을 때 막히는 게 없었는데, 꼽아보자면 이런 것들이 있었습니다.
- C스타일 include가 제공된다: 사실 별 것은 아니지만.. 아무래도 FreeBSD C 라이브러리는 네임스페이스가 그냥 평면 구조이기 때문에, 모듈 안에 여러 단계를 나누기가 애매해서, 하나의 C 모듈 안에 모두 들어가는 것이 좋았는데, C 스타일 include를 제공해 줘서, 소스 길이를 적당히 유지하면서도 대형 모듈을 만들 수 있었습니다.
- 트릭이 매뉴얼에 언급이 돼 있다;; 예를 들면 플랫폼에 따라서 크기가 일정하지 않은 자료형으로 되어있는 정수형 매크로를 다루기 위해서, cdef extern int를 from header 블럭 안에 써버리면, 사실 타입은 신경 안 쓰기 때문에, 별 문제 없이 넘어간다는 팁 같은 것이 아예 매뉴얼에 써 있어서, pyrex에서 제공해 주는 것만으로는 해결하기가 쉽지 않은 상황들을 어렵지 않게 편법을 이용해서 빠져나갈 수 있었습니다;; py-freebsd에서도 함수로 cdef extern해놓고서는 중간에 C 헤더 파일을 하나 include 해버려서 거기서 매크로로 선언하는 트릭을 하나.. :)
- 사소한 난감함에 대한 배려: FreeBSD의 statfs시스템콜은 struct statfs를 사용하기도 하고, 구현해야하는 파이썬측 함수 이름도 statfs이다보니, 삼중으로 네임 스페이스가 충돌하는데, 이런 경우에 대한 대처가 되어 있었고, 음청나게 많은 enum같은 다른 부분에서도 뭔가 난감하다 싶으면 어렵지 않게 문서에서 해결책을 찾을 수가 있었습니다.
- 널널하고 친숙한 문법: C 문법과 파이썬 문법을 절묘하게 섞어놔서, 매뉴얼을 안 보고도 대충 이렇게 쓰면 되겠지 하고 쓰면 다 되는게 참 신기할 정도로 잘 만들어 뒀군요. :)
한편, py-freebsd의 고유 특징인 것 같기도 하지만, 다른 곳에서도 쓰일 법한 것들인데 고려가 되지 않아서 불편한 것도 제법 있었습니다.
- 그때 그때 다른 struct 멤버: OS 버전이 올라가면서 빠진 멤버나 버전이 올라가면서 생긴 멤버 같은 것들을 처리해 주기 위해서 C에서의 전처리자로 뽑아주는 것이 뭔가 필요한데, 이런 것을 하기 위한 방법이 딱히 없어서, setup.py에서 struct 정의를 한번 훑어서 그 결과를 pyrex에서 include하는 방식으로 일단은 해결했습니다. --;
- 엄청나게 많은 상수를 간단하게 정의하기: 커널 API 함수들이다 보니, 특성상 정수형 상수가 엄청나게 많은데, 이런 것도 또 OS 버전에 따라 있기도 하고 없기도 하고, 게다가 그냥 정의하기에는 상수 1개를 정의하기 위해서 3줄씩 써줘야 하기 때문에, 상수 목록을 만들기도 힘들고 관리하기도 힘든 단점이 있어서, 이것도 결국은 간단하게 함수 호출하는 형식으로 pyrex 소스에 적어두면 setup.py에서 컴파일 전에 소스를 스캔해서, 실제 헤더 파일에 있는지 확인해서 있는 것만 cdef extern을 별도의 파일에 넣어서 include하는 방법으로 해결했습니다.. 아주 찝찝하네요 흐~;;
- 워닝이 너무 많아~: 어차피 generate한 소스이니까 워닝이 좀 나더라도 크게 문제가 되는 것은 없지만.. 그래도 워닝이 너무 많이 나서 참 컴파일하고 있기가 불안하다는 문제는 존재합니다. --;;;;;
몇가지 사소한 난점은 있긴 했지만, 그래도 전반적으로 바꾸고 보니 유지보수도 쉬울 것 같고, 앞으로 새로운 기능을 추가하는 것도 재미있을 것 같아서 굉장히 보람이 있습니다. :) pyrex 좋아!
댓글 2 개
|
트랙백 0 개 (보낼곳)
| 태그
python
freebsd

dakiller6님께서 BSDForum에서 제작하신 컵을 하나 선물 받았습니다. 예쁘네요. ^^ 아주 튼튼해서 한번은 떨어뜨려도 안 깨질 것 같은 데 엄청난 포장에 쌓여서 와서 놀랐습니다. 감사합니다. :)
전~~에 FreeBSD Mall에서 샀던 FreeBSD 스테인리스 머그컵은 이제 설거지하다가 다 벗겨져서 원래 FreeBSD 컵인지도 모르게 돼 버렸는데, FreeBSD 새 로고가 나오면 새로운 컵을 하나~~ (-O-)
댓글 4 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
life
오늘 드디어 FreeBSD에도
NLS 지원이 들어왔습니다.
리눅스에서 프로그램이 세그폴트 먹으면 "프로그램이 죽었습니다." 뭐 이런 식으로 나와서 섬뜩하게 만드는데, 이제 FreeBSD에서도 이런 식으로 메시지를 보여줄 수 있는 프레임웍이 갖춰져서, 한국어 번역만 넣으면 strerror에 대한 한국어 메시지를 보여줄 수 있게 되었군요. :) 물론 libc외에 일반 프로그램들도 이제 libc에 지원이 들어갔으니 별로 어렵지 않게 한국어 NLS 지원을 넣을 수 있지 않을까 합니다. 그런데, 들어오고 나서 잠시 또 NLS를 뺀 경우에 빌드가 안 되고 뭐 그런 문제가 있어서 임시로 다시 NLS가 빌드에서는 빠졌는데 해결이 되면 곧 들어오겠지요~
이제 FreeBSD 6부터는 "명령 또는 파일이 없습니다." 에러 메시지를 볼 수 있겠군요. 크크 (자자 번역합시다~ -ㅇ-)
댓글 5 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
얼마 전에 trac을 깔고 돌아다니다가 trac 홈페이지에서
urwid라는 파이썬 기반의 curses 툴킷이 나온 것을 알게 되었습니다.
curses, slang 바인딩이 있기는 하지만, 그렇게 많이 쓰이고 있지 않고 혹시 쓰일 일이 있더라도 보통은 파이썬에서는 pebrot 처럼 그냥 만들어서 쓰고 그랬었지요. 아무래도 slang이나 curses 바인딩은 파이써닉하게 만들기가 힘들어서였을까요. 이제는 pebrot같은 curses 프로그램을 쉽게 파이썬스러운 코드로 만들 수 있게 되었군요 +_+

게다가 한글도 잘 됩니다!. 많은 curses 기반 프로그램들에서 속썩이고 있는 입력창에서의 한글 커서 이동 문제나 입력하는 문제도 모두 해결된 듯이 보입니다. 게다가 예제 소스들을 보면 아주 다들 그냥 간단하게 각 위젯을 인스턴스 목록에만 넣어주면 표시해주고 그래서 curses 생짜 프로그래밍하고는 완전히 달라지는군요. newt안에 들어있는 snack 모듈처럼 생뚱망뚱한 클래스라서 클래스 해제 순서만 바뀌어도 죽거나 그러지도 않구요~
이걸로 간단한 관리 콘솔 프로그램 아주 좋을 것 같습니다. 이히히. dselect같은 UI를 가진 포트 관리툴이나 한번 만들어볼까 생각도 --;
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
올해 초 언젠가 부터 5에서 vim의 커서가 한글 위에서 제대로 안 움직이고, 신택스 하이라이트도 제대로 동작하지 않고 있습니다. 저는 그냥 이것 저것 해 보다가, LC_CTYPE=C로 하면 되는 것을 발견해서 우선 셸 스크립트로 감싸서 쓰고 있었지만.. 얼마전 코드 페스트에서 최준호님도 같은 문제에 고심하고 계신 것을 알고, 같이 옆에서 좀 뒤져 보았더니, 일본 사람들도 같은 문제가 있고 이미 여러가지 해결 방법을 찾고 있었던 것을 찾을 수 있었습니다.
자세히 읽어본 결과, FreeBSD의
mblen함수는 EINVAL (incomplete multibyte sequence)를 발생시킬 때 이전에 들어온 글자를 저장하는 방식으로 되어 있습니다. 즉,
iconv에서 커서를 안 넣은 상태 처럼 다음 바이트를 넣어 주면 진행을 할 수 있는 방법으로 구현되어 있는 상황입니다. 그러나 반면, 리눅스의 구현은 EINVAL이 리턴되는 상황이면 state도 변환되지 않고, 다음 바이트를 입력하는 상태가 아니라 이전 바이트와 다음 바이트를 묶어서 한꺼번에 날려야 하는 구현으로 되어 있습니다. 그런데, vim은 리눅스의 구현을 기준으로 그냥 mblen에 있는 state를 따로 생각하지 않고 항상 1바이트씩 mblen을 하도록 되어 있어서, FreeBSD에서는 state가 계속 왔다갔다 해서 생긴 문제이군용.
이 문제에 대해서, POSIX의
mblen에 대한 정의는 아무리 곱씹어 읽어보아도, EINVAL을 리턴하는 상황에서 state를 저장해야 할 지 아니면 그냥 무시해야할 지는 해석이 어렵군요. 우흑흑.
일단 이 vim문제를 해결하기 위한 여러가지 방법을 나열해 보자면,
FreeBSD mblen함수를 EINVAL을 리턴할 때 state를 저장하지 않도록 한다. (lib/libc/locale/euc.c 의 mbrtowc에서 return -2 위의 state 저장부분 삭제)
vim의 mbyte.c에서 mblen으로 다음 글자 계산하는 부분에서 mblen 들어가기 전에 항상 state를 초기화 해준다.
vim의 mbyte.c에서 mblen을 읽을 때 항상 MB_CUR_MAX 길이로 줘서, 최대한 길이를 계산할 수 있도록 한다.
각각의 방법 중 하나만 적용해도 되기는 하지만.. 나름대로 다 장단점이 있고, 표준에 완전히 맞는 것이 어느 것인지 매우 혼란스럽군요 -.-;; 그래서 생각한 다른 방법은..
흐.. -o- 고치는 방법은 다들 간단한데.. 어느 것이 제대로 된 것인지 알 수가 없어서... (아이고)
댓글 3 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
FreeBSD를 기반으로 한 라이브CD 배포본인
FreeSBIE가 1.1을 릴리스했습니다. 이번 FreeSBIE 1.1은 FreeBSD 5.3을 기반으로 했으며, XFCE와 fluxbox를 지원합니다. 그리고 다른 라이브씨디들과 마찬가지로 이번 1.1부터는 인스톨러를 지원하기 시작했습니다. 그래서 총 4가지 방법을 지원하게 되었습니다.
일단 다운로드! 이번 버전의 용량은 596MB인데, ftp 미러가 상당히 많지만 사실 ftp로는 받을 필요는 별로 없고
torrent 파일을 제공해 줍니다.
net/py-bittorrent등의 bittorrent 클라이언트를 깔고 다운로드를 하면 되는데, 저는 350KB/s정도 속도로 꾸준히 받아지더군요. +_+ 역시 차세대 배포 미디어로의 bittorrent는 정말 최상입니다 만세!
우선, FreeSBIE로 부팅하면 인상적인것이 splashscreen_bmp.ko를 로딩하는 것이 부팅 과정 중의 상당수를 차지한다는 것인데, 꾸준히 기다려 보면 멋있는 BMP 화면보호기가 나옵니다. --; (역시 라이브 씨디는 뽀대..) 그리고 요즘 논란이 되고 있는 부트로더의 비스티가 컬러로 나옵니다. 므흐흐~

부트로더 이후의 화면은 일상적인 FreeBSD 부팅 화면과 매우 비슷하고, 그 다음에 이렇게 자동으로 네트워크 세팅과 하드웨어 드라이브 로드 부분이 나옵니다. 그 다음에는 키보드 맵 선택이 나오고 그 다음에 뭘로 띄울 것인지 물어보는 화면이 나옵니다.
여기서 xfce를 선택하면 상당히 미려해진 xfce를 볼 수 있는데, 기본 세팅이라 테마를 좀 조절했는지 전에 보던 xfce보다 좀 더 예쁘더군요. 흐흐
전체 보기

멋있어요♡ 이제 멋진 GUI 인스톨러만 나오면 되겠어요. 흐흐
BSD사용자라면 하나쯤은 꼭 구워두고 키보드 밑에 숨겨둬야할 필수품!
댓글 5 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
거의 4년동안 개발브랜치였던 5가 이제 스테이블로 갔기에, 이제 슬슬 새로운 소원들이 나오기 시작했습니다. FreeBSD 5의 릴리스 엔지니어인 Scott Long이 앞으로 1년간 FreeBSD 6나 7에 새로 들어왔으면 하는 기능의 목록을 올렸는데 역시나 반응이 뜨겁습니다. +_+ 요즘 내부 개발자 메일링에서는 부트 화면에서 데몬을 없애야 종교적인 거부감을 갖고 있는 사람에게 나쁜 감정을 안 줄 수 있다고 투표도 하고 막 싸우고 있는데.. 그에 비해서 생산적인 토론 같군요.. 흐흐
원래 Scott Long의 의견과 다른 사람들의 80개 정도 되는 답변의 양상을 대충 요약해 보면,
키보드 멀티플렉서: 현재 FreeBSD에서는 동시에 키보드를 1개밖에 쓸 수 없습니다. 따라서, PS/2 키보드를 기본으로 커널에서 설정해 놓았으면 USB키보드는 원격에서 kbdcontrol로 바꿔주지 않으면 못쓰는 난감한 일이 있는데, 키보드 멀티플렉서를 넣어서 여러개의 키보드를 동시에 쓸 수 있도록 하자는 의견입니다. 이 의견에 대해서는 역시나 또 multi-kiosk 환경을 위해서 그냥 여러개를 따로따로 쓸 수도 있게도 해야한다는 답변도 있고.. 이미 들어와 있는데 완성이 안 돼있다는 얘기도 있고.. NetBSD의 wscons를 훔쳐오자는 사람도 있군요. 흐흐. 어떻게 되던 키보드 멀티플렉서는 정말 꼭 있어야 할 기능일 듯 합니다 -o-;
새로운 인스톨러: FreeBSD 인스톨러인 sysinstall은 93년에 처음 나왔을 당시 선풍적인 인기를 끌어, 다른 대부분의 오픈소스 배포본들에게 강한 영향을 주었지만, 현재로써는 FreeBSD 인스톨러의 확장이 어려운 구조나 10년여 쌓인 문제들 때문에, 싹 새로 안 만들고서는 해결되기 어려운 국제화 문제 같은 것들이 난감합니다.
DragonFlyBSD에서는 1.0부터 새로운 인스톨러를 선보이고 있습니다. 이 인스톨러에서는 sysinstall과 비슷한 curses기반의 환경과, 인스톨러가 웹서버를 띄워서 CGI로 원격의 웹 브라우저에서 설치를 하는 방법을 제공하고 있는데, 많은 사람들이 이에 감동하고 있군요..
여기에 대한 다른 사람들의 의견은 역시나 sysinstall이 최고다 더 뜯어 고치지 마라 이런 말도 있고,DragonFlyBSD의 인스톨러도 국제화 지원 안 하기는 마찬가지 아니냐는 의견도 있고, X 기반의 쌔끈한 GUI 인스톨러도 있으면 좋겠다는 의견도 있습니다. 흐흐;
아예 인스톨러는 anaconda처럼 스크립트 언어 기반으로 작성되어야 다양한 환경에 맞춰서 쉽게 인스톨러를 고칠 수 있지 않을까 싶군요.
PCI Express 지원: FreeBSD는 자체 PCI Express 지원이 아직 없어서 PCI-X 카드를 끼우더라도 호환성 모드로만 동작하게 됩니다. 따라서, 기가비트 네트워크 같은 것에서 많은 불이익을 당할 수가 있는데, Scott는 PCI-X지원을 다음 릴리스에서 꼭 넣었으면 하는 듯 합니다.
저널링 파일 시스템: 그동안 BSD동네에서는 우리도 저널링 하자! 하는 사람들에 대해서 softupdate를 개선하면 저널링 충분히 따라 잡을 수 있다는 사람들에게 완전히 압도돼서 저널링 얘기도 못 꺼내고, JFS, XFS 등으로 포팅한다고 선언한 사람들은 몇년이 지나도 소식도 없고 ReiserFS만 근근히 최근에 나왔죠. Scott은 UFS에 저널링을 넣던지, 아니면 GPL이 아닌 다른 저널링 파일시스템들을 찾아봐서 넣었으면 좋겠다라고 합니다.
클러스터 파일 시스템: 최근에RedHat이 대표적인 SAN업체인 Sistina를 합병하면서 GFS를 다시 오픈소스로 풀었는데, 이런 종류의 소스들을 참조해서 FreeBSD 자체에 클러스터 파일 시스템을 넣자고 하고 있습니다. 이게 들어가게되면 아무래도 야후같은 대형 호스팅 업체들에서 호스팅할 컨텐트들을 일일이 동기화하거나 NFS같은 구리구리한 파일 시스템에서 서비스할 필요가 없어지고, SAN 장비에도 FreeBSD가 본격적으로 도입되겠지용.
Kris는 맨날 패키지 빌드해서 다른데로 옮겨댕기기 귀찮다. 클러스터 파일 시스템이 지원되면 패키지 빌더들을 모두 묶어버리면 진짜 좋겠다 이런 의견을 올렸고, 다른 사람들은 OpenAFS가 이미 충분히 좋은데 다른 것을 굳이 또 만들 필요가 있겠느냐라고 주장하지만, Garrett은 AFS는 클러스터링에 적합한 컨커런시 모델이 아니라 그냥 분산을 해 줄 뿐이라고 그러는군요.
CAM 보완, iSCSI 지원 추가: 현재의 CAM은 너무 parallel-SCSI에 치중되어 있어서, parallel-SCSI에나 통하는 코드들이 CAM에 몰아 들어가 있어서 다른 서브레이어의 버스들이 상대적으로 더러운 방법을 쓰고 있다고 합니다. 그래서, CAM을 좀 중립적이고 깔끔한 소스로 개선하고, iSCSI지원을 별도로 추가하면 좋겠다고 합니다.
Scott의 희망사항들에 덧붙여서 Poul-Henning도 몇가지를 더 올렸는데 이런 것들이 있습니다.
온라인/오프라인 미디어에 더 많은 글을: FreeBSD와 관련된 글을 보다 많은 미디어에 게제해서 좀 더 뜬것처럼 보이자! 이런 .. 흐흐;
학교에서 FreeBSD로 많은 것을: 현재 대부분의 대학 OS 수업은 Linux와 Windows의 구조를 기반으로 되어있습니다. 좀 더 많은 수업에 FreeBSD를 쓸 수 있게 하고, OS와는 큰 관계가 없는 과학/수학 연산 분야에서도 FreeBSD를 많이 쓰도록 하면 좋겠~
PR 다루는 사람이 많아지도록: 현재는 PR을 다루는 사람의 수도 아주 적고, 포트가 아니면 그나마 몇달동안 답변이 안 달리는 경우도 많은데 PR에 답해서 어려움을 느끼는 사용자들을 대해 주는 것도 중요!
www.freebsd.org 페이지를 좀 더 동적이고 재미있게: 현재 FreeBSD 홈페이지 대문은 몇년째 큰 변화 없이 그냥 릴리스 번호나 올라가고 있는데, 첫 화면에서 최근 변화를 쭈욱 볼 수 있고 좀 더 재미있게 해서 자주 방문할 수 있또록 하자는..
BSDcon에 많은 사람들을 참여시킴: 미니 컨퍼런스도 많이 마련하고 해서, 현재 리눅스 유저 그룹들에 비해 압도적으로 적은 컨퍼런스 수를 늘리자 하는 의견입니다.
FreeBSD 재단의 연구 지원: FreeBSD 재단에서 연구/코딩의 재정적 지원을 해 줘서 개발자들이 3,6,12개월동안 따로 돈을 안 벌고도 자기가 하고 싶은 분야에 대해서 집중적으로 노력을 쏟을 수 있도록 해 주자는..
Poul-Henning은 사회적인 위시 리스트를 많이 쏟아냈군요. 흐흐. 대체로 그 이후의 의견들은 GUI 인스톨러가 나오면 툴킷은 뭐를 쓸 것이냐, 비디오 카드를 못 잡으면 어떻게 할 것이냐.. FreeSBIE를 기반으로 하면 FreeBSD에서도 쉽게 X띄우고 GUI인스톨러를 띄울 수 있다.. 이런 뻔히 예상되는 전개가 나오고 있습니다. ;;
그래도 이제 5가 릴리스된 덕분에, 이런 희망도 얘기해 보고 좋군요.
중간에 나온 얘기 중에서는 suspend-to-disk 즉 윈도우 용어로는 hibernate기능도 참 중요해 보입니다. 흐흐.. 저는 아무래도 국제화쪽에서 BSD iconv가 베이스에 들어가는 게 가장 필요해 보입니다. --; 복학하면 꼭 해야징 -ㅇ-;
댓글 7 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
FreeBSD ports의 구시대 유물 중 가장 어리숙했던
/usr/ports/INDEX가 드디어 포트에서 지워졌습니다.
아..
이제 아련한 asami씨의 소인수분해 놀이,
marcus의"ports freeze baby"도
희미한 Attic에서나 볼 수 있게 되었습니다.
이제 ports에서도 pkgsrc처럼 make index를 하거나
아니면 make fetchindex로 서버에서 자동 빌드된 인덱스를 가져와야 합니다.
오래된 포트 정보를 보여주고,"그래 이건 원래 이런 거야."하고
야릇한 감정을 느끼던 시절도 이제 옛 이야기가 되었습니다.
있으나 마나 했던 make upgrade도 가고,
슬프도록 이상했던 INDEX도 가고..
이제 portupgrade -a 쳐놓고 넋 놓고 한나절 기다리면
업그레이드 되어있는 말쑥한 포트만 남았습니다.
(아멘 -ㅇ-)
댓글 3 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
흐흐.. 여전히 야근하고 바로 외근갔다가 또 집에서 잠자고 출근해서 야근하고 또 외근가는 루프를 돌고 있는 중이라 블로그를 계속 쓸 여유가 잘 안 나네요;; 흐흐
바이오에 프비를~
오늘은 이번에 산 랩탑에다가 윈도우쪽 세팅은 완료하고, 프비를 인스톨했습니다~ 그런데, 갖고 있는 프비 씨디가 4.0 4.1 4.8 4.9 5.1 뭐 이런 상황이라;; 어쩔 수 없이 5.1을 깔았습니다. -o- 일단 설치는 깔끔하게 잘 되고 속도도 빨랐습니다~ (역시 바이오! ... ;;) 다 깔고 나서, 5-STABLE로 올리려고 빌드를 해 놓고 놀러 나갔다 그냥 퇴근 해서는.. 이제 집에서 월드와 커널을 인스톨하고 그놈 빌드하려고 들어가서.. 무심코make installkernel installworld... 하고서는 TV에서 하는 이종격투기를 보고 있었는데, 흘끗 터미날을 봤더니으아아앗!!!Bus error.. 헉. 5.1과 5.3은 바이너리 호환성이 없다는 것을 깜빡하고 그냥 설치를 해 버렸군요. 우어.
=.= 바이너리 비호환의 위력
덕분에, 덮여 씌워진 libc, libutil등 기본 라이브러리와 /bin /sbin등으로 인해 ls, sh, cat, ftp, fetch 를 비롯해 거의 대부분의 바이너리가 안 되는 상황..;; ls도 안 되는 상황이라echo /usr/bin/*해서, 할 수 있는 일이 뭔지 대충 실행을 해 보니.. 되는 것이라고는 gzip, cc, gunzip, tar 정도 밖에.. uudecode나 cat도 없었기에 다른데서 바이너리를 터미널에 붙여넣기 해서 써 넣을 수도 없는 노릇이고.. 혹시나 해서 sysinstall에서 바이너리 재인스톨을 해 보았지만, 1메가를 읽은 뒤에 write error가.. =.=;;
그래 복구엔 고양이!
-
그래서, 일단 네트워크 접근이 가능한 가장 작은 프로그램 중의 하나인 netcat을 돌릴 방법을 곰곰히 생각해 보니.. 소스를 붙여넣어서 cc로 컴파일을 하면 될 것 같았습니다.
-
그런데! netcat조차도 소스가 2000라인이 넘기 때문에 echo"소스"> netcat.c 해서 붙여넣기엔 제법 압박이..; 그래서 우선 cat를 복구하기로 했는데, cat도 소스가 한 300라인 되는데"랑'가 있어서 여러모로 echo로 붙여넣기엔 불편했;;
-
결국은 우선은 4줄 정도로 20000바이트를 stdin에서 읽어서 stdout으로 뿌리는 프로그램을 만들어서 echo로 붙여 넣은 다음에 (나름대로 minicat;;) cat을 컴파일해 넣었습니다.
-
우선 cat을 복구했으니 그 다음엔 netcat을 붙여넣기 해서 netcat을 빌드했습니다.
net/netcat에 있는 소스를 make patch한 다음에 netcat.c와 generic.h를 붙여넣어서.. 흐흐;
-
그 다음에는 5.1-RELEASE의 바이너리를 풀어서 전송을 하려고 했는데, 이리저리 찾아보니 ftp.tw.freebsd.org 가 거의 유일한 5.1이 살아있는 미러군용.
-
그래서 우선 복구할 바이오에서는nc -l -p 8888 | tar -C / -xzvf -하고, 보내는 호스트에서cat base.[ab]* | nc 호스트명 8888해서 /bin /sbin /usr/lib/ /usr/bin /usr/sbin을 복구했습니다.
-
이제 정상으로 ㅠ.ㅠ
므흐흐. 5.3-RELEASE!
그래서 이제 복구된 곳에서 tar로 한꺼번에 복사하기 수법으로 installworld를 해서 이제 5.3-RELEASE가 됐습니다~ 흐흐흐 +_+
sumomo(perky):~% uname -a
FreeBSD sumomo.openlook.org 5.3-RELEASE FreeBSD 5.3-RELEASE #0: Fri Nov 5 20:26:08 KST 2004 root@sumomo.openlook.org:/usr/obj/usr/src/sys/GENERIC i386
댓글 8 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
웹 디자이너들은 꼭 파일을 달라면 alz로 묶어서 줍니다. 이건 대체 풀 방법도 마땅찮고 윈도우에서도 XP에 내장된 셸 압축 프로그램으로도 안 되고 해서 참 짜증나기가 이루 말할 데가 없는데.. 흐흐 그래서
archivers/alz2zip 을 전에 한번 그냥 장난으로 만들었다가.. 오히려 그런 제대로 돌아가지도 않는 스크립트를 왜 포트에 넣었냐는 핀잔이나 ;; -ㅇ-
하여간
unalz라는 유틸리티가 포터블하도록 POSIX에서도 컴파일 가능하게 포팅되었다고 하기에, (게다가 BSD라이센스로) 밤샘 도중에 잠시 짬을 내서 포트로 만들어서 넣었습니다.
archivers/unalz 흐흐 별로 복잡한 alz는 안 해봤지만 전에 디자이너한테 받은 alz는 잘 풀리는군요; -O-
그리고 이제 별로 alz2zip은 쓸모가 없어져서 지웠습니당~
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
원래 1주일 예정이었지만, 실제로는 엄청나게 길어졌던 5.3 릴리스를 위한 포트 프리즈가 반쯤 풀렸습니다. 이번 5.3 릴리스 엔지니어링 과정은 정말로 별의 별 문제가 다 발생해서 계속 지연되고 있는데, 포트에서도 막판 soversion 범프, bind9 업데이트 등등이 있었고, 소스쪽에서는 이상한 곳에서 쓰레드가 행 돼 버리는 문제라던지, gdb 문제라던지 뭐 이것저것 늘 봐왔던 꼭 essay topic generator같은 류의 생성기로도 만들 수 있을 것 같은 문제들이 골고루 나왔습니다.;;
5.3 스테이블 태그는 몇가지 MFC로 인해서 약간 지연되고 있고 늦어도 11월 중에는 나올 것 같군요. 그동안 바쁘기도 하고 approval받기도 귀찮고 해서 쌓아뒀던 패치들을 넣어야 겠네요; 파이썬도 서지원님께서 2.4b1 릴리스를 막고 있던 치명적인 문제를 수정하시는 덕분에 곧 릴리스가 될 듯 합니다.
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
드디어 고대하던 그 책 D&I of FreeBSD가 도착했습니다! 미리 아마존에 예약을 했는데도 꽤 늦게 도착을 했네요.. 영업일 3~5일이라더니 실제로는 8일째에 도착을.. ㅠ.ㅠ
아아 처음 딱 받은 소감은?
오우. 뭔가 패키징이 감동입니다. 역시 국내 배송과 해외 배송은 좀 다른 걸까요.. 비닐 공기 팩으로 꽉 채우고 책 자체도 안 움직이게 골판지를 대서 비닐에 싸놨군요. 전에 아마존 재팬에서 DVD 살 적에는 제법 허술하게 와서 실망 했었는데.. 흐흐. 역시 책이라 그런지 10만원 이하라 그런지 관세는 따로 없군요. 표지가 검은색에 오렌지라 4.4BSD 책 보다 뭔가 뽀대가 납니다. -O-
전체적인 구성은?
책 안의 디자인은 4.4BSD 책과 거의 똑같습니다. groff류의 툴들을 쓴 게 그대로 그냥 개정된 것이라 그런지.. 여전히 글자는 좀 지나치게 빡빡한 면이 있고 한데.. 뭐 빡빡한 대신 내용에 비해 얇아져서 그런대로 들고 다니면서 보기도 좋은 것 같은 것으로 위안을.. 흐흐; 역시 4.4BSD 책의 후속편 답게, 많은 부분에서 4.4BSD책을 기반으로 쓴 흔적이 남아 있습니다. 그렇지만 아무래도 세월이 많이 지나고 내부 구조가 바뀌다보니 뒷부분으로 갈 수록 새로 쓴 부분이 많아져서, 전체적으로 보면 FreeBSD 5.2 커널의 반 정도는 커버하고 있다고 볼 수 있겠네요. 이번에 실질적으로 내용을 쓴 Neville-Neil씨가 원래 글을 잘 쓰는지, 딱딱하고 지루하기 짝이 없는 4.4BSD 책의 문체에서 많이 벗어나서 쉽고 눈에 잘 들어오는 문체로 대폭 개선된 듯 해서 아주 읽기가 편합니다.
FreeBSD 고유의 업데이트들은 잘 반영이 되었는가?
우선, 최근에 등장한 FreeBSD 고유의 디자인들인 CAM, GEOM, ULE scheduler에 대해서는 어느정도 잘 다루고 있고 특히 softupdate와 UFS2에 대한 내용은 최근 업데이트까지 모두 아주 자세히 설명하고 있습니다. 그런데, KSE, netgraph, kld, 802.11, ipfw, acpi 같은 부분은 제법 관심이 있을 만한 주제인데도 빠져 있어서 조금 아쉽군요.
책의 난이도 및 구성의 품질은?
책의 난이도는 4.4BSD 책보다는 설명이 쉽게 되어 있어서 이제 어느정도 학부 교재로도 쓸 만큼 되었습니다. (앞쪽 책 소개란에 학부 교재로 쓰면 어떤 숙제가 좋은 가 얘기도..;;) 그런데 아무래도 OS의 기초부터 뭔가 다루는 책은 아니니까.. 그냥 부교재 정도로.. -o-; 비슷한 소재의 책 중에서 단연 최고의 인기인 《Solaris Internals》에 비해서는 FreeBSD 고유의 독창적인 디자인들과 FreeBSD를 소재로 쓰여져 있다는 장점은 있지만, 여전히 Solaris Internals가 그림이 훨씬 알기 쉽게 그려져 있고 설명이 친절해서, FreeBSD에 애착이 있는 독자가 아니라면 그냥 《Solaris Internals》가 읽기 좋을 것 같다는 생각이 듭니다. 책 중 8페이지가 연속으로 그림, 소스, 표 전혀 없이 본문만 연속될 때는 마치 오픈룩 블로그처럼 삭막하다는 압박감이 느껴지는군요. -O-
예~ 전체적으로 지난 버전에 비해 개선되고 재미있어졌지만 약간 아쉬운 점도 있습니다. 그래도 BSD 사용자라면 꼭 한 권쯤은 사 둬야 할 책인 듯 하네요. 버스에서 슬쩍슬쩍 읽어보는데도, 참 "아 내가 이렇게 생긴 OS를 쓰고 있었군~!"하는 느낌이 새록새록.. (4.4BSD는 좀 읽다가 포기 --;;)
댓글 10 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
FreeBSD 5의 첫번째 안정버전 릴리스인
5.3의 Beta1이 나왔습니다. 아직 5.3에서도 완전하지 않은 기능들이 많이 있지만, 그래도 계속 CURRENT로 남겨둬 봐야 계속 불안정한 것들이 들어올 것이니 언젠가는 적당히 STABLE로.. 흐흐.. 아직 SMP지원에 문제가 있기 때문에 SMP 사용자는 BETA2까지 기다리 라는군요.
이제 openlook도 5.3-BETA1로 올려야겠군요~
참, 그리고 Python 2.4a2는 9월 2일에 나올 예정입니다.
댓글 2 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
어제 갑자기 이상한 해외 결제 하나가 핸드폰 신용카드 결제 알림 SMS로 왔는데~ 뭔가 가격이 꽤 쎄길래 궁금했었는데. 드디어, 몇달 전에 예약한 D&I of FreeBSD
[ISBN-0201702452]가 출고되면서 결제된 것이군요! 이히이히. 일단 기본적인 배송 방법은 뭔가 기다리기가 지루할 것 같아서, 중간 속도의 배송 방법으로 했는데, 8월 9일~8월 13일 도착 예정 이라는군요. 아이 설레서 잠을 못 자겠넹. 크크;
댓글 6 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
몇주 전쯤에 커런트에 gcc 3.4가 들어오면서, gcc 마이너 버전이 올라갈 때마다 있는 행사인 포트 대량 깨짐이 일어났습니다. gcc가 점점 더 문법이 빡빡해 지는 것 같군요.. 3.0에서 3.1로 올라갈 때는 정말 엄청났던 기억이 납니다 흐흐; (2.95에서 3.0으로는 빌드 고치는 PR 만 수십개를 올려서 한달만에 포트 커미터가 된 사람이 여럿 나올 정도였긴 하지만;; )
이번에 제 포트 중에서는
graphics/py-gdchart 와
archivers/py-lzma 가 깨졌다고 kris가 벤또를 통해서 알려왔는데, py-gdchart는 switch문 안에서 default뒤에 스테이트먼트 없이 그냥 끝내는 바람에 에러가 났던 것이고.. (이게 왜 그동안은 컴파일 됐던 것이지 흐흐;;) py-lzma의 경우에는 무지 신기한 에러라서 고치긴 했는데 왜 이렇게 하면 고쳐지는지 이해도 못 하고 있습니다. (사실은 C++을 할 줄 몰라서;;)
그게 어떤거냐면~ 소스가 대충 이렇게 되어있습니다.
template <int aNumMoveBits>
class CBitModel
{
public:
UINT32 Probability;
void UpdateModel(UINT32 symbol)
{
(중략)
Probability -= (Probability) >> aNumMoveBits; // <= *여기1*
}
};
template <int aNumMoveBits>
class CBitEncoder: public CBitModel<aNumMoveBits>
{
public:
void Encode(CEncoder *encoder, UINT32 symbol)
{
encoder->EncodeBit(Probability, kNumBitModelTotalBits, symbol);
UpdateModel(symbol); // <= *여기2*
}
(후략)
정말 이상하게도 *여기1* 부분에서 Probability가 멤버임에도 불구하고 그냥 Probability라고 쓰면 undefined라고 에러가 납니다. 그래서 this->Probability로 고치는 걸로 해결했는데.. --;; 왜 그러면 또 되는지~ 흐흐.. 그리고 *여기2* 부분에서도 UpdateModel이 부모 클래스인 CBitModel의 메쏘드인데도 또 undefined라고 그래서.. 그것도 this->UpdateModel로.. 우엑~ gcc 3.4의 미스터리인지.. 원래 템플릿을 쓰면 그런건지 잘 모르겠네요 *.*
댓글 2 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
최근 FreeBSD에 프랑스인 개발자들이 엄청나게 불어나면서, 한 사람 한 사람 들어올 때 마다 다른 프랑스인 개발자들이 세계 정복이 다가오고 있다면서 아주 프랑스어판을 한번씩 만들어 버립니다. 흐흐; 그런데, 프랑스인이 많긴 많은데, 진짜로 많은가 이번엔 Ruslan이 직접
calendar.freebsd를 기반으로 통계를 냈군요.. 물론 여기에 등록 안 한 개발자들도 있기 때문에 약간 모자라는 값이긴 하지만.
출생 국가별
미국
55
일본
19
소련(연방국가 전체 합계)
18
독일
17
영국
12
프랑스, 오스트레일리아
7
캐나다
6
중화민국(대만)
5
덴마크
5
아일랜드
4
네덜란드, 남아프리카공화국, 이탈리아, 오스트리아
3
에스파냐, 그리스, 브라질, 벨기에, 대한민국
2
짐바브웨, 스웨덴, 중국, 노르웨이, 핀란드, 동아프리카, 불가리아
1
FreeBSD 개발자가 지금 350명쯤 되니까 대충 1/3정도만 계산된 수치이군요..
Ruslan은 그 외에 출생월, 출생년 별로도 통계를 냈는데 이렇게 나왔습니다.
5월
22
7월
21
3월
21
2월
20
8월
17
1월
16
6월
14
4월
14
9월
12
12월
10
10월
10
11월
9
9,10,11,12월이 다른 달에 비해 현저히 낮게 나온 걸 보면 뭔가 가을~겨울 사이에 태어난 사람들은 FreeBSD 개발자가 되기에 뭔가 어려운 것이 있나봅니다;;
그리고, 생년 별로는
(상위 10년만 뽑은 것)
1976년생
16
1978년생
14
1972년생
14
1974년생
13
1981년생
12
1980년생
12
1977년생
11
1970년생
8
1979년생
7
1983년생
6
평균 연령은 30.65살이고 가장 나이가 많은 사람은 Greg Lehey가 1948년 9월생, 가장 어린 사람은 Hiten M. Pandya가 1986년 9월생입니다.
댓글 2 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
오늘 드디어 한국 사람으로는 최초로 소스 커미터로
편용현씨(yongari@)가 등록되었습니다. 그동안 pf 포팅을 하시면서 Max Laier를 통해서 소스를 넣고 계셨는데, 이제 쉽게 pf 커밋을 직접 하실 수 있게 되었군요.
developers@에 보내신 소개말씀에 따르면 네트워크 스택, 패킷 필터링, 디바이스 드라이버와 sparc64포팅에 주로 관심이 많이 있으시다고 그러시는군요. 멘터는 5.x 릴리스 엔지니어인 Scott Long씨가 맡아 주고, 아마 sparc64부분에서 Jake Burkholder씨가 코-멘터링하는 것 같습니다.
이제 다음엔 도큐먼트 커미터가 나올 차례인가요?
댓글 1 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
유난히 BSD계에는 많은 쫓겨난 싸움꾼의 두번째 창조적 성과물인 DragonFly BSD를 깔아 봤습니다. 사실 2월에 python에 DragonFly BSD지원을 넣어 달라는 버그리포트가 올라와서 깔아보려고 시도는 했지만, 열심히 손으로 설치해서 (젠투보다는 쉬웠지만;;) 결국 최근 소스트리로 올리고 나니 랜카드가 안 잡히는 문제 때문에 못 쓰고 있다가, 이번에 인스톨러를 포함한 1.0 릴리스가 되었다기에 드디어 한번 깔아 봤습니다.
무슨 인력이 그렇게 많이 남아돌아서 좋은 프비 인스톨러 놔두고 또 만드나 하고 생각을 했었는데, 아 역시 괜히 새로 만든 것은 아니었더군요.
프비 인스톨러는 인스톨러와 관리 툴이 통합된 형태라 처음 설치하는 사람에게는 혼란만 줄 뿐.. Standard로 들어가세요.. 해도 불친절하기는 마찬가지인 여러가지 요소가 섞여 있었던 것이 사실입니다. (물론 처음 나왔을 때는 엄청난 센세이션을..
)
우선 DragonFly BSD 1.0을 넣고 부팅을 하면 로그인 프롬프트가 뜹니다. (떵~) DragonFly BSD 인스톨 씨디는 사실은 라이브씨디 겸용이라 그냥 부팅해서 쓰기도 된다는 것이었습니다. -O-; 요즘은 역시 라이브씨디 겸용 인스톨러가 유행이라 그런 것인지 -ㅇ-;
일단 로그인 프롬프트에서 installer 계정으로 로그인 하면 인스톨러가 뜹니다. (G모 배포판처럼 싱글모드에서 셸 프롬프트 띄워주는 것 보다는 좀 친절하군요;;) DragonFly BSD의 인스톨러는 좀 친절해진 NetBSD 2.0 인스톨러를 아주 쏙 빼닮았습니다. 물론 약간 스타일이 좀 NetBSD 스타일이긴 하지만, DragonFly BSD 인스톨러는 dialog 스타일을 그대로 쓰는 바람에 Debian이나 FreeBSD와 비슷해서 스타일 면에서는 좀 더 친숙하군요.
그리고, 프비 인스톨러는 거의 대부분이 선택지가 엄청나게 많고, 시스템을 갖추었지만 실제로 처음 쓰는 사람한테는 별로 도움 안 되는 말만 가득하고, 가이드가 없는 반면에, DragonFly BSD는 모르는 사람은 선택할 화면도 안 보여주는 인터페이스를 갖추어서 제 생각에는 프비도 나중에 DragonFly BSD 인스톨러로 바꾸면 좋겠다 하는 생각을 해 봅니다. (특히나 요즘은 jkh 세력이 거의 없으니..) 므흐흐
인스톨러에서 가장 마음에 들었던 것은 아무래도 사용자 설정과 디스크 파티션인데, 프비 인터페이스는 아주 누가 "FreeBSD가 좋다고 해서 깔아보려고 해요. 인스톨 하고 있는데 뭐하라고 하는지 모르겠어요" 하면 설명하기도 난감한.. "절대로 슬라이스 편집기에서는 W를 누르지 마세요" 뭐 이런 소리나 해야하는 게 답답했는데 DFBSD 인스톨러 만세입니다.
그 외에 인스톨 하고 나서의 OS는 사실 FreeBSD 4랑 아직은 거의 똑같아서.. 뭐가 다른지 알 수가 없네요 --; 포트 이름도 거의 똑같아서 그냥 pkg_add로.. 쭈우욱 깔고.. -O-; 하여간 앞으로 패키징 시스템도 데비안 비슷한 바이너리 친화적 시스템으로 바꾼다는데 기대가 됩니다.
댓글 4 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
아이고 ;_; 게으르기가 참 한이 없어서 많은 분들이 요청했던 7월 1일 FreeBSD 포트 세미나 자료를 이제서야 올립니다.
세미나 프리젠테이션
최근의 아크로뱃 리더나 Apple Preview, Ghostview 등으로 보실 수 있습니다. (gpdf나 옛날 버전의 아크로뱃 리더로는 안 보입니다.) 사실 많은 부분이 그냥 시연으로 진행됐기 때문에 프리젠테이션 자료에는 별게 없습니다. ^^;;;
댓글 1 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
잘생기고 영민한 커미터인 Tim Robbins가 최근에
멀티바이트 지원을 정규표현식 라이브러리를 비롯한 tr, grep, sed 등의 베이스 유틸리티들에 넣었습니다. 이로써 이제 grep같은 곳에서 정규식을 쓸 때 ^광*고*를? 이렇게 한글도 글자 단위 매칭이 가능하게 되었습니다. 만세르~ 흐흐 +_+
댓글 2 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
오는 7월 1일 (목요일) 오후 8시에 신촌에 있는 토즈 아트레온점에서
FreeBSD 포트 작은 세미나를 합니다. 흐흐 요즘 파이썬 마을에서도 자주 하고 맛 들렸군요~
이번 작은 세미나에서는
-
포트 만들기 (유형에 따라)
-
포트 업데이트하기
-
포트 고치기
-
PR보내기
-
포트 동네 관습
에 대해서 해 보려고 합니다. 뒷풀이에서는 KLDP Codefest때 Ports/pkgsrc 세션을 할지에 대해서 얘기도 하고.. BSD 관련 오프모임은 정말 오랜만이니까 재미있지 않을까 합니다. BSD 포럼에 꼭 신청하시고 오세요~
댓글 3 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
marcus의 커밋 메시지에 따르면 엊그제의
David Xu씨의 쓰레드 시그널 수정으로 이제 FreeBSD-CURRENT와 4.X에서도 mono를 쓸 수가 있게 됐다고 합니다. 그동안은 4.X에서만 돼서 mono 쓰고 싶으면 리눅스 에뮬레이션가지고 난리를 쳐야 했었는데, 정말 잘 됐네요~ (사실은 몇번 libgc를 고쳐 보려고 시도는 해 봤지만 쓰레드 시그널 버그는 코드를 봐도 동에 번쩍 서에 번쩍이라...;; )
그런데, 사실 해 보니까, marcus의 말과는 달리, 제 컴퓨터에서는 제대로 안 되는 것입니다. 흑흑. 우선 6월 12일 이후의 current로 올린 다음에, 포트도 올리고, ~/.wapi도 지우고 새로 빌드했는데, 여전히 mono(mini)는 jit 코드에서 무한루프를 돌고, mint는 잘 돌아갑니다. 게다가, 설치하면서 install -s로 설치를 하는데, 이게 뭔가 이상한지 strip 되면 다음과 같은 에러메시지를..
alice(perky):~% mono
/libexec/ld-elf.so.1: mono: Shared object has no run-time symbol table
아이고 ;_;
그래서 일단은, strip 안 하도록 하고, mint를 mono에 symbolic link해서 쓰고 있는데 --; 하여간 그렇게라도 하니 잘 돼서 좋습니다;; 으흐흐.. 그래서 그 감동을 영원히 간직하기 위해 Don Box의 명저인 《Essential .NET, Volume I: The Common Language Runtime》
[ISBN-0201734117]를 하나 덜컥 주문해 버렸습니다. 이히;; -O-;
댓글 5 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
2년에 한 번씩 9명을 뽑는 FreeBSD 코어팀 선거가 이제 지난 주에 지원이 마감됐고 오늘부터 7월 6일까지 투표가 있게 됩니다. 그래서 투표하는 서버에 접속해 봤는데 23명이나 출마했군요~ 투표는 ssh로 투표 서버에 접속해서 각 후보들의 statement 글을 읽고 투표를 하는 식으로 이뤄지는데, 물론 커맨드 라인 방식으로
less 로 연설문을 읽고,
vi 로 #로 주석처리된 후보자 목록에서 9명의 #를 빼 주면 그 사람한테 투표된 것으로 처리됩니다. (흐흐흐..)
후보자들 연설이 전부 1000라인이 넘어서.. 이것 다 읽을 생각하니 깜깜하군요~ 거의 광역단체장/시/군/구의회 선거할 때 시골 할머니 된 기분; 근데 아무래도 평소에 파이썬 쓴다고 판단되는 사람이랑 잘 생긴 사람한테 x가 가는군요.. (vi에서 #지우려는 x ..) -O-;;
댓글 5 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
최근
NetCraft에 올라온 호스팅 통계 결과에 따르면, 현재 인터넷에서 FreeBSD로 웹 서비스를 하고 있는 사이트가 250만을 넘어섰다고 합니다.~
기사 번역
"""
FreeBSD는 인터넷에서 사용되는 경쟁 운영체제들의 성공담을 얘기할 때 쉽게 지나쳐지는 경향이 있습니다. 그렇지만, 호스팅 회사들의 강력한 지원이 있고, 2003년 7월 이후 100만개 이상의 호스트네임, 50만개 이상의 사이트가 새로 FreeBSD를 채택하였습니다.
그 이유는 바로 10개에서 많게는 1000개 이상의 사이트가 하나의 시스템으로 묶여서 관리되는 공용 호스팅 시스템들의 관리자들이 FreeBSD를 설치하는 것 때문입니다. FreeBSD는 웹이 생긴 이래 대형 공유 호스팅의 동의어로 인식돼 왔습니다. 그리고 현재는 가장 큰 호스팅 회사들과 공생 관계에 있습니다.
인터넷에서 FreeBSD를 사용하는 사이트의 반 이상이 사실 FreeBSD 기반의 호스팅 회사들 20군데에서 운영하는 것입니다. 그리고, FreeBSD 사이트가 작년부터 늘어난 이유도 바로 Yahoo!의 공유 호스팅의 성장에 크게 영향을 받았습니다. Yahoo는 FreeBSD 프로젝트와 가장 강력한 유대관계를 맺고 있습니다. FreeBSD 프로젝트 서버들을 호스팅해 주고 있고 FreeBSD 코어 팀 중 한 명을 프로젝트에 모든 시간을 쏟을 수 있도록 고용하고 있습니다. 또한, FreeBSD 호스팅 사이트 수로 네번째인 Pair Networks는 최근 FreeBSD의 한 개발자에게 20000달러를 기부하여 개발을 계속 할 수 있도록 하였습니다.
"""
댓글 8 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
FreeBSD에 드디어
emulators/qemu 포트가 들어왔습니다.
예전에 한 번 시도는 해 봤었는데, 올라온 패치가 무척 오래된 거라, 새로 들어온 엄청난 양의 코드와 컨플릭트가 나서.. 몇 줄 고쳐보다가 끝이 안 보여서 그만뒀었는데, 이 역경을 물리치고 모두 패치해낸 사람이 등장했네요~; qemu에서 배포하고 있는 리눅스 이미지를 해보니 터미날에서도 아주 잘 돌아가고, knoppix 이미지를 띄워보니 GUI도 잘 되네요~ 크크. Windows는 아직 설치 안 해 봤는데 잘 될 것 같은 분위기입니다.
knoppix로 데비안을 깔려면 다음과 같이 하면 됩니다.
% wget ... knoppix를 다운 받는다.
% truncate -s +2048M knoppixhdd # 하드 이미지를 만든다.
% sudo qemu -hda knoppixhdd -cdrom 씨디이미지 -boot d -m 128
흐흐흐~ 간단하고 속도도 빠르고 좋습니다. ^_^
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
그동안 Jacques A. Vidrine (nectar)씨의 많은 노력으로 드디어 FreeBSD에서 POSIX 표준 문서를 manpage나 Handbook 등에 그대로 사용할 수 있게 되었습니다. FreeBSD는 5부터 IEEE 1003.1 POSIX 준수를 위해 많은 노력을 하고 있는데, POSIX 문서를 그대로 갖고 와서 문서로 사용할 수 있게 되기 때문에, 문서화 작업의 수고를 훨씬 덜 수 있게 되었습니다.
이제 뭔가 만들고 나서 매뉴얼 쓰기가 귀찮아서 못 넣고 있다는 핑계를 못 대게 생겼네요~~ 크크; ☞
기사 링크
댓글 1 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
OS계의 명저 중의 하나인 4.4BSD Design and Implementations
[ISBN-0201549794]의 후속편인 The Design and Implementation of the FreeBSD Operating System 가 드디어 출판이 임박하여 아마존에서 예약 판매를 시작했습니다. 4.4BSD .. 의 저자이자 살아있는 BSD인 McKusick씨와 Windriver에 있다가 최근에는 독립 컨설턴트로 일하는 George V. Neville-Neil씨가 같이 지은 책인데, FreeBSD 5.3에 맞춰서 완전히 개정한 책이라 무척이나 기대가 됩니다. 그동안 매뉴얼을 열심히 짓기는 했지만 보기는 여간 힘들지가 않았던 FreeBSD Kernel쪽에 대해 드디어 쉽게 이해할 수 있는 책이 나오는 것 같아서 무척 기쁩니다.
구체적인 책 내용에 대해서는
McKusick씨의 홈페이지에서 볼 수 있습니다.
이제 내년에 복학하면 운영체제 과목을 듣긴 들어야 하는데.. 기왕 리눅스 책 보다는 이 책으로 배웠으면 참 좋겠는데~~ (꿈이 야무진..;;)
댓글 5 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
이히히 오늘 포트 5개를 추가해서, 메인테인 하는 포트가 모두
101개가 되었습니다.
오늘 추가한 포트는
archivers/py-lzma
7Zip에서 쓰는 bzip2을 능가하는 막강한 압축률을 자랑하는 압축 라이브러리
devel/libsigsegv
SIGSEGV났을 때 복구작업을 한 다음에 딴 짓을 하는 SIGSEGV의 신기원을 연 라이브러리
devel/py-logilab-common
pylint와 pyreverse를 만든 logilab에서 쓰는 베이스 라이브러리
devel/pylint
pychecker의 대부분 기능을 지원하고 더 많은 코드 검사를 해 주는 툴
devel/py-reverse
파이썬 코드의 리버스 엔지니어링을 도와주는 툴
입니다.
스포츠신문에 퍼키 100포트 클럽 가입 이라도.. --;;;; (혼자 들떴다;; ) -ㅇ-;;
댓글 1 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
http://www.FreeBSD.org/ports/INDEX http://www.FreeBSD.org/ports/INDEX-5 드디어 드문드문 1~2달에 한번씩 업데이트돼서 실제로 맨날 포트 올리는 열성FreeBSD당원들에겐 무의미한 존재였던 INDEX가 이제 곧 공식적으로 배포가 되게 되었습니다. 아직은 베타상태이고, 거의 매시간 올라갈 예정이라고 합니다. (와와~~)
이제 크론에 등록해서 생생한 포트를 낼름~
댓글 37 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
드디어 FreeBSD/ARM이
CVS에 들어왔습니다. 캬~ 일단 SA1110을 지원하고 추후에 XScale도 지원할 예정이라는군요! 다시 암보드 하나 사고 싶어서 활활 타오르는군요~~♨
댓글 6 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
어제 XFree86 4.4RC2에서 갈라져 나온
X.org Foundation의 X11R6.7.0이 포트에 많이들 들어왔길래 뭔가 삽질을 갈구하는 마음이 생겨서, 한번 괜히 잘 돌아가는 XFree86 4.3.0을 엎고 xorg로 깔아봤습니다. -.-;;
아직 메타포트가 없어서 라이브러리 하나 없다고 하면 또 라이브러리 포트 가서 설치하고 그래야하는 삽질에 한 3시간 걸렸는데.. --;; 결국은 띄우긴 띄웠는데, 뭔가 꿈과 희망이 넘치는 세상이 3차원으로 빙글빙글 돌면 좋았을텐데 원래 보던 화면하고 똑같네요. -O-; (그리고 원래 가상 데스크탑 바꾸는 키로 쓰던 Meta키가 갑자기 안 먹는다는 ㅡ.ㅜ) 으흐흐 뭐 일단 하드웨어 호환성이 아주 좋아졌다고 하니 뭐 ;;
아직은 정식으로 port.mk에 지원이 들어간 것이 아니라서, 의존성도 수동으로 다 고쳐줘야하고 메타포트가 없어서 설치도 굉장히 괴롭습니다. 그리고, 아직 clients와 fonts가 없어서 으흐~ 곧 들어오겠죠~
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
한참 전에 들어온 것 같은데, 그 전에는 별로 신경쓰고 있지 않다가, 며칠 전에 어느 FreeBSD사용자가
lang/python 포트를 OPTIONS를 쓰게 고친 패치를 보내줘서 한번 써보게 되었습니다. ( 게으르긴 ;; )
make config가 생각보다 아주 괜찮은 듯 합니다. 흐흐 원래 포트에서 쓰던 WITHOUT_XXX WITH_XXX 등등은 빌드할 때 매 단계마다 넣어줘야해서 깜빡하면 잊어버리고, 다음에 업글할때도 portupgrade 설정 파일에 안 넣으면 또 넣어줘야하고 엄청 귀찮은데, 이제 아예 OPTIONS에 다음과 같이 써주면, on/off가 /var/db/ports 에 저장이 돼서 자동으로 들어오네요.
OPTIONS= THREADS "Enable thread support" on \
HUGE_STACK_SIZE "Use a larger thread stack" off \
UCS2 "Use UCS2 instead of UCS4 for unicode support" off \
PYMALLOC "Uses python's internal malloc" on
그래서 요게 들어있는 포트에서 make config 명령을 쳐주면 전에 다른 포트에서 쓰던 다이얼로그가 나옵니다. (물론 BATCH=yes면 디폴트 옵션으로.) 이야 드디어 OpenBSD나 Gentoo에서만 있던 이 화려한 옵션 선택이 드디어 포트에도 크크;
그런데, 혹시나 싶어서
x11/zenity 를 환경변수에 DIALOG로 저장해놓고 해봤더니!!!!
(안 뜹니다.) 두둥... ㅠ.ㅠ 좀 더 삽질해보고 zenity로 화려판 포트 옵션 설정을 꼭!!
--> 이후 얘기 -->
ganadist님의 도움으로 make config DIALOG=gdialog라고 하면 되는 것을 발견했습니다. 흐흐; gdialog라고 dialog랑 똑같은 인터페이스를 벌써 만들어 놨군요..
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
오랜만에 make world를 했더니 전에 한달 전쯤인가 프리뷰가 나왔듯이, BSD Tar가 들어왔네요! 꺄아아아. 이히히 고생하신 Tim Kientzie씨에게 찬사를~
옵션은 GNU tar과 거의 호환되는군요. 그동안 꽤 오랫동안 GNU tar이 들어와 있었기 때문에 하위호환성때문에 어쩔 수 없겠지요.. 그런데, 아직은 GNU tar를 완전히 몰아낸 것은 아니고 /usr/bin/bsdtar로 깔려서 당분간은 호환성 테스트를 좀 거칠 것 같습니다. 적당히 내부에서 사용되는 툴들의 GNU tar 의존적인 옵션들 제거가 끝나면 GNU tar대신 BSD tar이 들어갈 수 있겠지요~
/etc/make.conf에 TAR=/usr/bin/bsdtar 을 넣고 포트 몇개를 다운받아 봤는데, 잘 풀리는군요. 사실 뭐 큰 아카이브는 안 풀어봐서 잘 모르겠습니다.
GNU tar과의 주요 차이점은, -l와 -o옵션이 GNU tar과는 다르게 동작하는데, 이것은 GNU tar의 버그이고, BSD tar는 POSIX를 따른다는군요. 그리고, bzip2와 gzip이 외부로 호출되는 GNU tar과는 달리 BSD tar은 라이브러리로 불러버리기 때문에 파이프 오버헤드가 줄어들어서 더 빠를 수도 있다고 합니다.~
앞으로 grep과 sort도 어서 BSDL 기반으로 바뀌기를 기대해 봅니다. +_+
댓글 5 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
리눅스에 있는 최고로 탐나는 소프트웨어라면 단연
valgrind! BSD 개발자라면 누구나 질투를~~ 흐흐.. BSD에 valgrind가 있으면 효율이 100배 올라갈거야! 하는 생각도 해보고요.. ㅠ.ㅠ
그런데, 한 2달 전쯤에 cvs에서 Doug Rabson씨가 libc의 버그 하나를 valgrind로 잡았다는 것입니다. 헛~~ valgrind로 디버깅했다니! 그래서 일제히 사람들이 눈치를 채고 벌떼처럼 일어나서 와와~ 공개하라~ 했었는데, 드디어 공개되었네요!! http://www.rabson.org/#valgrind
정말 괜찮네요. 어느정도 실행도 되고 잘 되는 것 같네요. 근데 아직 포팅이 안 끝났다는데~~ 얼른 업스트림됐으면 싶은.. 흐흐..
miffy(perky):~% valgrind --tool=memcheck ls 2>&1|tail
utest
var
www
www.old
==27615==
==27615== ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0)
==27615== malloc/free: in use at exit: 157799 bytes in 13 blocks.
==27615== malloc/free: 116 allocs, 103 frees, 202673 bytes allocated.
==27615== For a detailed leak analysis, rerun with: --leak-check=yes
==27615== For counts of detected errors, rerun with: -v
케헤헤~
댓글 4 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
4-STABLE 브랜치의 마지막 릴리즈가 될 지도 모르는 4.10 릴리즈를 위한 코드 프리즈가 오늘(MDT기준 정오, 한국시간 목요일 오전 4시) 시작됩니다. 그리고 포트 프리즈는 4월 20일 (UTC기준 자정, 한국시간 4월 20일 오전 9시)에 1주일 정도 한다고 합니다.
4.10 릴리즈는 메인터넌스 릴리즈로 기능상으로는 큰 변화가 없습니다. USB랑 일부 드라이버들이 업데이트 되었고,
libmap.conf 정도 바뀐 것 밖에 없지 않을까 싶군요. 으흐흐.
아직 구체적인 릴리즈 엔지니어링 일정은 잡히지 않았고, 아마도 5월초에 발표될 수 있지 않을까 싶습니다. 이번 릴리즈의 가장 bikeshed-prone 한 사항이었던 __FreeBSD_version은 아마도 그냥 49A... 정도로 되지 않을까 생각되지만.. 으음.. 결판이 나 봐야.. =3 =33
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
으흐흐. 그동안 같은 플래그인 줄 알고 있었던 -fPIC와 -fpic가 서로 다른 것이었군요. 최근 한 cvs-all 메일에서 David O'Brien씨가 역시 옛날 툴체인 메인테이너답게 이런 구석진 것을 알려주는 군요. 흐흐
문제의 메일
대략 요약하면, -fpic는 global offset table (GOT)을 통해 심볼들을 액세스하는데 기계에 따라서 정해진 한계가 있어서 이게 경우에 따라서는 실패할 수도 있다는군요. 그렇지만, 성공하면 -fPIC에 비해 더 적은 속도 저하를 얻을 수 있고, -fPIC는 크기에 상관이 없는 대신 엄청난 속도 저하가~~~ 흐흐 그런데 i386에서는 -fPIC나 -fpic나 똑같아서;;
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
OpenBSD에서 구현된 파이어월인 pf가 FreeBSD에 커밋되었습니다. 편용헌님께서 많은 수고를 하셔서, 국내에서도 많이 알려져 있죠.
이로써 프비는 베이스에 무려 세종류의 파이어월을 갖게 되었습니다. ipfw{,2}와 ipfilter, 그리고 pf!
아직 pf를 안 써봐서 잘은 모르겠지만.. 뭔가 이름이 짧아서(?) 좋아보이는군요; 어쨌건 pf의 임포트를 계기로 ipfw의 Luigi가 아주 불쾌한 듯 답글을 막 올리고 David Malone도 나와서 얘기하는군요.. 으흐흐.. 대체로 ipfw 옹호자가 좀 더 많은 듯 하긴 한데.. 하늘에 태양이 세개 떠 있으니 어떻게 될지~ 흥미진진 합니다 -ㅇ-
그외에, 아시다시피 FreeBSD에는 쓰레드 라이브러리도 세종류가 있는데 libc_r, libpthread, libthr 이 셋은 경쟁관계는 아니지만.. 하여간.. 프비는 3을 좋아하는지도 모릅니다.. (..) 스크립트 언어도 perl, python, ruby이고... 데스크탑도 GNOME, KDE, XFce이고.. (다 끌어 모아서, 억지로 바득바득 우겨봄.. ;; )
아 컴파일러도 세개네요 gcc, icc, TenDRA... (이젠 더 갖다 붙여 볼 게 없다..;; )
댓글 8 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
Python쪽에서 코어 개발자 메일링리스트의 이슈를 요약해서 보여주는
Python-dev Summary는 정말 메일링리스트에 직접 참여하지 않거나 잠시 아주 바빠서 메일을 못 읽었을 때에도 있었던 일을 요약해주는 정말 좋은 서비스였습니다.
이제 FreeBSD-src에서도 이런 좋은 서비스가 생겼습니다. 만세!
뭔가 공식적인 것은 아니고 어떤 사용자가 개인적으로 추진하는 것인 듯 한데, python-dev summary와 똑같이 python-docutils를 사용하여
reStructuredText형식으로 공개하는군요. 뭔가 익숙한 포맷이다 했더니.. 흐흐.. FreeBSD-current 메일링 리스트를 일일이 구독하기 힘든 분들은 꼭 요놈을 받아보면 좋을 듯 합니다. 개인적으로는 루비판인 프비에 파이썬 툴이 하나 더 사용되었다는 점에서 매우 즐겁습니다.
http://www.xl0.org/FreeBSD/
댓글 4 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
요즘 포트가 바뀌는 게 무지 많습니다. 흐흐.. 좋아좋아~ 가보자구~ ;; -o-
-
드디어 -lpthread가 디폴트 쓰레드 라이브러리로: 엊그제 블로그에서 베이스가 변경되었는 것을 알려드렸는데, 이제 포트에서도 디폴트로 CURRENT에서는 -lpthread를 사용하도록 되었습니다. 그런데, 약간 몇개 뻑난다는 보고는 있기는 한데, 저는 대체로 잘 되네요. 흐뭇.
-
gettext 포트가 업그레이드 되었습니다. gettext가 최근에 포트가 gettext-old로 바뀌면서 portupgrade하기가 좀 난감했는데, 이제 USE_GETTEXT가 들어오면서 어느정도 간단하게 업그레이드가 되도록 되었습니다. 그래도 잘 안 되시면 portupgrade -fo gettext-old gettext 하시면 됩니다.
-
bsd.php.mk 서브시스템 추가. 드디어 PHP도 간단하게 써드파티 포트들을 추가할 수 있게 되었습니다. WITH_PHP_CLI=yes USE_PHP=yes 등의 옵션을 예쁘게 지원합니다.
-
펄 기본 버전이 5.8로 업글! 펄 사용자들의 오랜 숙원인 펄 5.8이 드디어 디폴트로 들어왔습니다. 사실 안 써서 5.6이랑 5.8이랑 뭐가 다른지는 잘 모르겠습니다. -O-
-
NetBSD/OpenBSD 지원 제거. 사실 뭐 제대로 지원되지도 않았지만, 형식적으로나마 있었던 NetBSD/OpenBSD 지원이 포트에서 완전히 빠졌습니다. 이로써 프비 포트는 완전히 프비 전용으로!
얼마전에 rcNG도 NetBSD 지원이 빠졌구요.
-
CHANGES 본격 가동. 이번부터 /usr/src/UPDATING 역할을 하는 /usr/ports/CHANGES가 본격적으로 가동되었습니다. marcus가 이번 변경사항에 대한 코멘트를 쓴 것이죵.
앞으로 포트의 큰 변동사항은 거기에 기록됩니다.
-
USE_SIZE가 디폴트로! 이제 앞으로는 NetBSD처럼 distfiles의 파일 크기도 체크합니다. 파일 크기 체크의 영향으로 받기 전에 용량을 체크한다던지, 덜 받은 파일 마저 받기를 한다던지하는 몇가지 더 유익한 기능을 쓸 수 있게 되었습니다.
댓글 5 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
포트에서 아주 불편했던 것 중 하나인, 업그레이드 때 보존이 제대로 되지 않는 WITH/WITHOUT 옵션들이 있었습니다. 아무대로 make 옵션으로만 임시로 쓰다보니.. 하여간, 며칠 전부터 이제 포트에서도 /var/db/ports에 포트 옵션을 기록하게 되었습니다. 그래서 포트를 깔 때 주었던 WITH, WITHOUT 옵션을 /var/db/ports/options/xxx-1.2_3 이런 파일에 기록해 둔다는 형태인데, 옵션들을 일일이 포트자체에 변수로 나열해 줘야하기 때문에, 아직 많은 포트에서 지원되지는 않습니다. 그리고, 이 옵션 체크가 bsd.port.pre.mk를 인클루드한 다음에 이뤄져야하는데, 정작 USE_PYTHON=yes나 USE_GNOME= gtk20같은 옵션들을 위해 WITH_PYTHON=yes나 WITH_GNOME=yes같은 옵션을 쓰는 경우에는 bsd.port.pre.mk 앞에 또 써 줘야하기 때문에, 이게 순서가 안 맞아서 이런 경우가 지원이 불가능합니다. 게다가, 어찌나 지저분한지.. 흐흐. 과연 고쳐질 수 있을지 모르겠네요.. 이러다가 include가 3개로 늘어나는게 아닌지 --; 기왕 하는김에 NetBSD처럼 빌드링크를 직접 인클루드하게 하는 것도 좋을 것 같고..
요즘 추가되고 있는 포트 옵션들을 보면, 필요해서 추가되는 것이기는 하지만, 너무 지저분해지는 게 아닌가 싶은게 많습니다. 아예 DarwinPorts처럼 뭔가 애플리케이션 차원의 깔끔한 포트를 만들어 봤으면 하는 기분에 DarwinPorts를 프비에서 또 한번 돌려 봅니다. -.-;
댓글 2 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
드디어 어제 CURRENT에서 KSE가 디폴트 pthread 라이브러리로 들어갔습니다. 그동안 libkse로 임시로 이름이 바뀌어 있었는데, 어느정도 안정성이 인정이 되어서 본격적으로 5-STABLE로 들어가기 위한 전초 작업으로 최종적으로 5 브랜치에 들어갈 것들을 모두 디폴트로 바꾸고 있는 과정의 일환입니다. (ULE 스케줄러와 KSE, USE_KQUEUE 등) 아직 포트가 KSE 지원에 본격적으로 대비하고 있지 않기 때문에, 포트에서 libpthread를 적용하지 않은 프로그램들은 libc_r을 링크하지 못하도록 하기 위해서
libmap.conf 에 c_r을 pthread로 연결토록 해 주어야 합니다. 그리고, 이제
cc 에서도 -pthread 옵션이 곧 없어질 계획이기 때문에, FreeBSD 5 지원을 위해서라면 -pthread옵션을 빼고 라이브러리를 -lpthread를 링크해 주시면 됩니다. ULE와 KSE를 같이 쓰면 HTT에서 성능 향상이 꽤 나온다고 합니다. (예전에는 HTT켜면 오히려 더 느려졌었지만 -.-) 참고로 아직 KSE는 i386, ia64, amd64에서만 정상동작하기 때문에, Tier-1 플랫폼 중에서도 sparc64와 alpha는 앞으로도 당분간은 libc_r을 쓰고 있게 되는데, Tier-1 플랫폼 기준을 위반한다는 느낌을 지울 수가 없군요. 프비가 그럼 그렇지~ ;;; -ㅇ-
여하간 KSE 만세!
댓글 2 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
프비 최근 동향을 몇가지 알려드립니다~
-
FreeBSD 5.2.1이 곧 릴리즈될 계획입니다. 5.2에서 발견된 몇몇 랜카드와 몇몇 ata카드와의 비호환성을 고치고 포트에서도 몇가지 치명적인 버그를 고친 릴리즈입니다. CD 벤더들도 5.2는 판매하지 않고 5.2.1을 바로 판매할 것이라고 합니다.
-
POSIX를 man으로 인용하는 계획이 추진 중입니다. 최근 리눅스쪽에서 POSIX의 man을 인용할 수 있도록 허락을 받았는데, 프비에서도 POSIX man을 쓸 수 있도록 추진중입니다. 앞으로 양질의 manpage를 많이 얻을 수 있겠군요~
-
security/portaudit 와 VuXML. NetBSD의 pkgsrc에서 사용되는 보안 감사툴 pkg-vulnerabilities를 차용한 portaudit와 그 유사한 기능을 하는 XML기반의 프레임웍인 VuXML이 포트팀에서 토론되고 있습니다. 곧 포트에서도 보안 문제가 있는 버전이 깔려있는지 바로 알아낼 수 있는 방법이 생길 듯 합니다.
-
(좀 묵은 소식) HanIRC의 blue^님이 올리신 bsd.port.mk의 security-check 타겟 가속 패치가 얼마 전에 드디어 들어가서 이제 포트 인스톨할 때 좀 빨라진 것을 느끼실 수 있을겁니다.
-
최근 security-officer 팀의 보안 정책 변경으로
cvs 가 더이상 root권한으로 pserver를 띄울 수 없게 되었습니다. 최근에 발견된 CVS 보안 취약점의 영향으로..
댓글 2 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
작년 이맘때부터 CVS에 등장했던 Jeff Roberson (jeff@)의 ULE 스케줄러가 이제 CURRENT에서 기본 스케줄러로 바뀌었습니다. 기존 커널 설정을 그냥 쓰시는 분들은 영향을 안 받지만, GENERIC 커널 쓰시는 분들은 이제 cvsup 하면, SCHED_ULE가 기본으로 지정되게 되었습니다.
SCHED_ULE은 기존에 쓰이던 4BSD 스케줄러에 비해, nice를 좀 더 잘 지원하고 Hyper Thread와 SMP지원이 특별히 강화되었고, 스케줄 정책이 좀 더 반응성에 최적화가 되었다고 합니다. 근데, 작년에 아주 기괴하게 스케줄러가 미치는 현상때문에 ULE썼다가 금방 4BSD로 바꿨는데 이제는 제대로 될 지 모르겠군요 _-_
댓글 1 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
얼마 전 Linux/*BSD 스켈러빌러티(우리말로는.. 으음;;;;) 벤치마크에서 참혹한 결과를 얻었던 OpenBSD쪽과 약간 딸리는 결과를 얻은 NetBSD쪽에서 불과 몇주일 만에 만회해보고자 스켈러빌러티 향상을 위한 코드 개선을 많이 집어 넣었는데, 그 결과 NetBSD의 네트워킹 쪽에서는 이제 FreeBSD보다도 약간 나아지게 되었습니다. 대표적으로 NetBSD가 앞지른 쪽이 파일 디스크립터 할당 루틴인데, 이게 IRC서버처럼 동시에 열린 fd 개수가 수만개씩 되는 머신에게는 치명적으로 작용하기 땜시, 엄청난 향상이라고 볼 수가 있겠네용.
흐흐. FreeBSD에서도 엊그제 Dag-Erling Smørgrav가 Tim J. Robbins의 원 패치를 다시 작업해서 커밋함으로써 O(1) fd 할당 루틴을 갖게 되었습니다. 이제 우리도 편평한 그래프를 +_+
그래프 구경은 http://people.freebsd.org/~des/fdbench/ 입니다. 흐흐
댓글 5 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
그동안 문서 하나 쓰려면 윈도우가서 삽질하고 왔는데, 매번 부팅하기가 너무 귀찮은 나머지 이제 나도 OOo를 쓸 때가 왔구나 탄식하며, OOo를 깔았습니다. 그러나..
korean/openoffice-1.1 포트는
java/jdk14 에 대한 의존성 때문에 바이너리 패키지가 배포가 안 돼서.. 이틀 꼬박 걸려서 빌드했습니다. 이틀 걸려 빌드를 했더니 또 정태영님이
firefly 패치를 소개해 주셔서, 또 지우고 이틀 -_-;; 이렇게 열심히 빌드해서 결국 깔기는 깔았습니다.;;
와와 생각보다 훨씬 깔끔한 느낌 +_+ MS Word와 비교해서 전혀 손색이 없군요. 그런데, 처음에는 굵은 글자들이 안 나와서, 아주 고민을 하다가. 은글꼴들의 반정도가 이름이 깨져서 나온 다는 것을 발견했습니다.
그래서 좀 삽질을 해 본 결과, 은글꼴 중의 몇개가 한글 이름이 UTF-8로 들어가 있는 것을 발견했습니다. +_+ 그래서 덥썩 고쳤더니, 그런대로 잘 되는군요 흐흐.. (고치는 스크립트는 http://openlook.org/distfiles/fixunfonts.py)
korean/unfonts-ttf 포트의 리비전 1로 패치를 넣어놨습니다. FreeBSD 사용자 외에 패치 필요하신 분들은 http://people.freebsd.org/~perky/distfiles/UnFonts-ooofontname-patch.tar.gz 에서 받으세용~
흐흐흐.. OOo 처음 깔아본 것은 아니지만, 전보다 훨씬 나아진 것이 곧 모질라와 OOo가 MSIE와 MSOffice를 간단히 눌러버릴 느낌이 팍 오는군요. ^o^
이번에 빌드한 FreeBSD 5.2-pentium3 용 패키지는 http://openlook.org/packages/ 에 넣어 놓았으니 빌드하기에 시스템이 딸리는 분들은 PACKAGESITE=http://openlook.org/packages/Latest pkg_add -rv ko-openoffice 하시묜 됩니당.
댓글 6 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
FreeBSD 5.2가 드디어 태그되었습니다. 이제 최종 빌드에 들어갔고, 곧 ISO 미러에 들어간다고 합니다. 늦어도 1주일 안에 5.2 릴리즈가 발표되겠네요.
12월 15일에 한다던게 거의 1달이 늦었지만.. 뭐 원래 5가 늘 그런걸;; 흐흐;;
5.2는 아직 STABLE 브랜치가 아니기 때문에, 개인용으로만 사용하셔야합니다~
댓글 5 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
freebsd-python 메일링 리스트를 개설했습니다. 파이썬 얘기를 ports@ 메일링에서 막 떠벌리기 힘들었는데, 앞으로 독자 메일링 리스트에서 맘대로 얘기할 수 있게 되어서 좋네요
지금 가입하시면 2등입니다. 관심있으신 분들은 얼른 가입을 =3 =33
댓글 1 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
FreshPorts 통계에 따르면 어제나 엊그제 포트가 10000개가 넘었다고 합니다. (정확히는 어느 포트가 10000번째인지 분석은 아직 나와있지 않고 몇 명이 분석 중인 듯 합니다.
)
현재 바이너리 패키지 수로는
Debian Linux가 가장 많지만, 데비안은 같은 프로그램이 여러 패키지로 나뉘어 있는 경우가 FreeBSD에 비해 아주 많고, 같은 프로그램의 여러 브랜치가 동시에 패키징 되어있는 빈도도 훨씬 높은 편이라, 사실상 10000개의 패키지를 제공하기로는 FreeBSD가 최초가 아닐까 합니다! (억지 1g ;;)
7000개부터 10000개가 될 때까지 많은 노력을 해 왔던 사람들 3명이게 Jordan K. Hubbard (jkh)가 전에 상을 주기로 했던 적이 있었는데, 과연 실제로 할 수 있을 지 모르겠네요.. (상황이 상황이라.. ;) 아무래도 끊임없이 엄청난 양의 빌드로그를 (직접 보는지는 몰라도) 메일로 보내서 메인테이너들을 괴롭혀서 포트 품질 유지에 큰 힘을 쓴 Kris Kennaway (kris), 불모의 포트 땅에 portupgrade라는 천혜의 도구를 만들어 준 Akinori MUSHA (knu), GTK/GNOME 계열의 포트 대부분을 거의 혼자 관리해 오면서 높은 품질의 좋은 GUI 포트들을 많이 제공해 준 Joe Marcus Clarke (marcus)가 되지 않을까.. 에 올인 =3 =33
(새해에는 모두 여자친구 생기시길~~ ;;; -- 이미 있는 분은 말구요 _-_ )
댓글 1 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
블루님이 무려 5년 전에
freebsd-chat에 제안하시기도 했고, 2달전, 슬래시닷에
리눅스용이 공개돼서 열풍이 몰아쳤던 NDIS 드라이버 로더 호환성 레이어가 최근 FreeBSD에서 구현되고 있습니다.
리눅스용은 상용으로 공개된 반면에, FreeBSD에서는 메인스트림에 오픈소스로 들어오고 있다는 점이 아주 좋군요
NDIS를 처음 들어보시는 분들을 위해서 약간 소개를 드리자면, NDIS는 Network Driver Interface Specification으로 Microsoft와 3Com이 공동으로 개발한 네트웍 드라이버/프로토콜 드라이버 겸용의 스태커블 구조의 API입니다. Windows 95이후 모든 버전은 NDIS를 지원하고 있어서, 네트웍 카드들과 프로토콜 드라이버들 (예를 들면 WinPcap의 packet32나 Windows XP Wireless Zero Configuration에서 사용되는 ndisuio, 리눅쓰코리아의 DynaRADIUS WCM에서 쓰는 dot1xuio 드라이버 같은 것들)이 모두 윈도우 커널 API가 아닌 NDIS만을 사용해서 구현되어 있습니다. 따라서, 대부분의 윈도우용 네트웍 드라이버들은 NDIS만 구현하면 쉽게 다른 x86기반 OS에서도 사용할 수 있는 것인데, 이제 FreeBSD에서도 윈도우용 드라이버들을 쓸 수 있게 되는 것~!
소스를 보면, 지원되는 NDIS OID (SNMP처럼 OID기반 Query/Set을 합니다.)가 OID_STATUS, OID_GEN, OID_802_3, OID_PNP, OID_802_11 계열 밖에 없어서, 우선은 오직 무선랜 카드들만을 대상으로 하고 있다는 냄새를 맡을 수 있습니다. 역시 브로드콤의 정책때문에.. 으흐;;
그런데, 이제 앞으로 NDIS 레이어가 들어가버리면, 무선랜카드 드라이버들이 구현이 안 될테니 non-x86 아키텍처가 아주 큰 문제군요.. 그리고, NDIS가 3Com과 MS가 공동으로 특허를 갖고 있다는 것도 좀 찜찜~~
여하간.. NDIS 삽질을 정말 열심히 하고 있는 Bill Paul(wpaul@)씨 화이팅~ (Bill Paul은 FreeBSD의 다른 대부분의 랜카드 드라이버도 작성한 일종의 괴물 분류입니다. -o-)
댓글 13 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
FreeBSD 포트가 방금 반이 풀렸습니다. 요즘은 Half Freeze Duration 마법 걸린 아이템을 샀는지 freeze기간이 상당히 짧아졌네요. 작년엔 2달씩 막 하더니만 --;
KDE나 GNOME같은 대형 포트들은 업데이트가 금지되지만, 간단하고 작은 포트들은 semi-frozen상태에서 업데이트가 허용 됩니다.
댓글 5 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
12월 15일을 목표로 해서 릴리즈 엔지니어링 과정 중에 있는 5.2의 첫 릴리즈인 5.2-BETA가 방금 발표되었습니다. 물론 10월 이후에 엄청나게 늘어나고 있는 불안정 버그 보고들이 아직 해결되지 않은 것이 무지 많기 때문에.. 서비스에 적용했다가는 난리날 듯 하지만;; 하여간, SMP 시스템의 버그, NFS 서버쪽의 문제, ATA-RAID 문제 세가지는 공식적으로 릴리즈 안내에서도 언급이 되었네요. 이번 5.2에서는 5.1에 비해서 /bin과 /sbin이 Dynamic Root로 바뀐 것 외에도 gcc 3.3.3, msdosfs의 멀티바이트 인코딩 지원, KSE와 libthr의 본격 지원, amd64 아키텍처 지원, SCHED_ULE의 정상적인 지원 등 많은 부분이 변경되었기 때문에, 보람은 있는 것 같군요~.
으흐흐 얼른 안정화가 돼야;; 근데 사실 데스크탑 유저들에게는 별로 안정성 상관이 없는 것 같네요. 5.1 이후로는 삽질할 때 빼고는 커널 패닉을 한 번도 본 적이 없는 것 같으니깐 뭐~~;;
댓글 1 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
요즘 arm-linux용의 크로스 빌드 환경이 필요해서, FreeBSD만 갖고 열심히 시도해보다가 자꾸 ld에서 세그폴트가 나는 바람에 그냥 결국은 리눅스 에뮬레이션을 쓰기로 하고 --; 데비안으로 또 한참 시도를 했는데.. gcc랑 glibc랑 이것저것 꼬여서.. 결국은 포기; -ㅇ-;
그래서 뭔가 고치기 쉬운
emulators/linux_base-gentoo-stage1 포트를 이용해서 깔아보기로 마음을 먹었습니다. 일단, 컴파일 기반이니까 마음을 단디 먹고 -.-;
포트만 설치하는 것은 아주 간단했습니다. 그냥 젠투 사이트에서 tar.bz2받아다가 /compat/linux 에 풀어놓는 것 뿐이라.. 흐흐.. 그런데, 이제 정상 사용자로 들어가려고 bootstrap.sh를 하는데 빌드도 참 오지게 많이 하는데 거의 make world보다 더 많은 것 같더군요. -ㅇ-; 하여간, 거의 3시간을 기다렸는데.. 떨어지는 것은
CPP='gcc -E -x c-header' /var/tmp/..중략../elf/ld-linux.so.2 ..후략..
/bin/sh: line 1: /var/tmp/..../ld-linux.so.2: cannot execute binary file
make[2]: *** [/var/tmp/..../buildhere/sunrpc/xbootparam_prot.stmp] Error 126
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/var/..../sunrpc'
make[1]: *** [sunrpc/others] Error 2
make[1]: Leaving directory `/var/..../glibc-2.3.2'
make: *** [all] Error 2
!!! ERROR: sys-libs/glibc-2.3.2-r3 failed.
!!! Function src_compile, Line 442, Exitcode 2
!!! (no error message)
-ㅁ-; 웬 glibc 날벼락이요~ 흑흑~. 몇번의 추적 끝에, 다음 한 줄을 고쳐서 해결했습니다:
--- sunrpc/Makefile.orig Tue Nov 25 07:57:06 2003
+++ sunrpc/Makefile Tue Nov 25 07:57:41 2003
@@ -136,7 +136,7 @@
include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
# Tell rpcgen where to find the C preprocessor.
-rpcgen-cmd = CPP='$(CC) -E -x c-header' $(built-program-cmd) -Y ../scripts
+rpcgen-cmd = CPP='$(CC) -E -x c-header' $(objpfx)/rpcgen -Y ../scripts
# Install the rpc data base file.
$(inst_sysconfdir)/rpc: etc.rpc $(+force)
음.. 이게 FreeBSD에서만 생기는 문제인지.. 왜 생기는 건지는 잘 모르겠는데 하여간 저 부분에서 build-program-cmd 변수가 지정이 엉뚱한게 돼서.. 요걸로 빌드하니 잘 되는군요 흐흣..
포티지에 패치를 넣는 방법은 files/디렉토리에 패치를 넣은 다음에 ebuild를 직접 고쳐서 끝부분에 epatch '패치파일이름'을 직접 해 줘야한다고 합니다. (-ㅁ-;)
자 그래서 이제 프비에서 젠투쓰기 성공~ 데비안 바이너리 갖다 깔면 호환성문제가 진짜 많이 발생했는데, 젠투 깔으니 무지 좋네요 헤헤헤.
alicegentoo(root):/usr/portage# uname -a
Linux alice.linuxkorea.co.kr 2.4.2 FreeBSD 5.2-BETA #0: Mon Nov 24 16:15:38 KST 2003 i686 GenuineIntel GNU/Linux
alicegentoo(root):/usr/portage# emerge rsync
>>> starting rsync with rsync://rsync.gentoo.org/gentoo-portage...
This rsync server locate rsync.gentoo.gr.jp(210.138.60.45).
It's first server in Tokyo Japan!
젠투 명령어를 가르쳐주신 nainu님과 mithrandir님께 감사 (_ _)
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
misc/utf8locale 을 업데이트 했습니다. 이전 버전은 2002년 12월 31일 스냅샷 기준이었는데, 이번에는 2003년 11월 18일 스냅샷을 기준으로 했습니다.
변동사항은:
6.0 브랜치가 떨어져 나가고 나서는 베이스에 머지될 예정입니다. 으흐 (아직 멀었;;;)
CVS는 http://openlook.org/cvs/utf8locale/mklocale/Makefile?graph=1.7
댓글 6 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
FreeBSD 5.2를 위한 src 트리 프리즈가 시작되었습니다. ports는 아직 프리즈되지 않았는데, 얼마나 오래 프리즈할 지는 portmgr들이 상의 중이라고 합니다. 4.9에서 상당히 오래 프리즈했기 때문에, 아마도 1주일 정도하고 끝내지 않을까 싶군요. (작년처럼 2달 내내 하면 정말 -.-;; )
방금 오늘자 소스트리로 업글했는데, install 바이너리가 installworld하다가 뻑나는 바람에 수동으로 install먼저 설치한 다음에 했네요 -.- 뭔가 이번 statfs 업데이트는 너무 거시기 한듯.. 흐흐;;
(그리고 오늘
korean/gdick 0.9.1로 업데이트 했습니다.)
댓글 2 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
NetBSD의
pkgsrc-wip와 비슷한 커미터가 아닌 메인테이너들을 위한 공간이 드디어 FreeBSD에도 생겼습니다. 최근, 커미터들이 별로 관심없어 하는 포트들이 몇달이 지나도 커밋 안된다는 것에 대한 불만이 자주 나오면서, 그에 대한 해결책으로 새로 들어온 커미터인 Oliver Eikemeier (eik@)가 소스포지에 프로젝트를 개설했군요.
여기서는 current/라는 포트 카테고리가 별도로 나와서, 포트루키 프로젝트 내에 있는 것들은 이 카테고리 안에서 유지된다고 합니다. 그리고, 포트루키에서 많이 검증된 포트들은 포트루키 프로젝트에 참여하는 커미터들에 의해서 정식 포트에 들어가게 될 예정이라고 합니다.
우리나라에는 커미터가 아닌 메인테이너가 거의 없어서 (2명 있던가요.. 홀리님과 netj님
그다지 필요한 분이 많이 있을 것 같지는 않지만, 포트 문턱이 낮아졌다는 점에서는 기대가 되는군요~
댓글 1 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
오늘 Kirk McKusick씨의 statfs 64비트 확장 커밋으로 인해, -CURRENT의 어제자 바이너리와 오늘 이후 커널이 호환되지 않게되었습니다. 따라서, 단순히 make world하면 df나 ls, zsh 등등
statfs 를 사용하는 수많은 프로그램이 Bad System Call로 죽어버리게 됩니다. -CURRENT 사용자들은 꼭 이번 빌드에서는 정상적인 make world 순서로 하셔야되겠습니당.
mergemaster -p
make buildworld kernel
새 커널의 싱글모드로 리붓
mergemaster
make installworld
멀티 유저모드로 전환
댓글 3 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
5.2 프리즈가 일주일 앞으로 다가와서, 미리 관리하는 포트들을 모두 최신 버전으로 업데이트 했습니다. 이번엔 웬일로 개발자들이 다 부지런해서 업데이트된게 무지 많군요 -ㅁ-;
포트
새 버전
주요 변동
archivers/py-tarfile
0.7
2.0과 2.1도 지원하기 시작
astro/py-metar
0.6
프론트엔드 재구현 (pymeta2로 실행파일이 바뀜)
audio/py-mad
0.5.1
메인터넌스 릴리즈
audio/py-xmms
2.00
모듈에서 패키지로 재구성되면서 기능 추가됨
audio/py-serial
2.0
프러덕션 릴리즈 (변화는 별로 없음)
devel/pyrex
0.9
익스텐션 객체간 상속, C 메소드 지원 시작
devel/scons
0.94
버그픽스 릴리즈
ftp/py-curl
7.10.8
curl 업데이트에 따른 따라잡기
irc/py-irclib
0.4.1
메인터넌스 릴리즈
korean/gdick
0.8.1
발음듣기 지원
korean/nabi
0.10
euc-kr 로켈 지원 개선, GNOME 의존성 제거
net/liferea
0.4.4
속도 개선
www/mod_pcgi2
2.0.2
스켈러빌러티 개선
이것 외에
graphics/py-magick 도 추가되었습니다. 이녀석은
graphics/ImageMagick 을 파이썬에서 라이브러리로 부를 수 있는 녀석인데, 사실상 이미지 매직의 거의 모든 기능을 지원하고 있어서
graphics/netpbm 나
graphics/py-imaging 같은 것 안 쓰고도 쉽게 이미지를 조작할 수 있게 되었습니다. 믓흥~
댓글 3 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
FreeBSD 5.2 릴리즈를 위한 ports/와 src/의 프리즈가 곧 (10일 뒤) 시작됩니다. 프리즈된 후에는 보안버그나 치명적인 호환성 문제가 발생하지 않는한 고쳐지기 힘드니, 뭔가 문제가 있다고 생각하시면 얼른 PR을 보내주세용~*
misc/utf8locale 을 5.2 전에 밀어넣어볼까 생각해 보고 있는데 과연 잘 될지 모르겠군요 음훗훗~
댓글 1 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
10월 21일, 29일과 방금 변경한 bsd.python.mk에 대한 짧은 변동사항 소개~
10월 21일, 29일의 변경들은 파이썬에 딸려 나오지만 갈라져 있는 포트들 (
databases/py-gdbm 같은 것) 이 파이썬 2.4 (
lang/python-devel)에서 제대로 안 깔리는 문제와, 같은 브랜치에서 파이썬을 업그레이드하면 (예를 들어, 2.3 -> 2.3.2) 갈라진 포트들이 파일은 새 버전(2.3.2)을 받으려고 하는데, MASTER_SITE_SUBDIR은 옛날 것(2.3)에서 받아서, 결국은 전부 최신버전으로 올려야지만 되는 문제를 해결하였습니다. 그래서, 이제부터는 대충 옛날 버전을 마구 쓰거나 개발버전을 쓰더라도, 따로 나와있는 포트들을 설치할 수 있습니다.
그 외에는 Zope의 의존성을 2.2에서 다시 2.1로 돌려놓았고,
lang/python-devel 포트를 20031022 스냅샷으로 업데이트했습니다. 이번 스냅샷에서 가장 눈에 띄는 것은 아무래도 sre 테일 리켜전으로, sre 루틴의 알고리즘이 바뀌어서, 리커젼 제한에 안 걸리기 때문에 아무데서나 20000자 이상 연속 같은 것도 검색할 수 있게 되었습니다. (기존에는 스택 사이즈에 따라서, 3000도 안 되는데도 있었습니다. 믓흥~)
그리고, 오늘 변경사항은 10월 29일에 실수로 제 데스크탑의 미러에 커밋해버려서 메인 CVS에는 반영 안 되어있었던, 따로 나와있는 포트들의 변경 사항을 marcus의 지적으로 오늘 바로 반영했으며, PyXML과 4Suite 코어 개발자들의 건의에 따라
lang/python 과
lang/python-devel 에는 pyexpat 모듈을 기본적으로 넣도록 했습니다. Python 2.3부터는 pyexpat 소스를 들고다닌다는군요.. -.-;;;;;;
지금 남아있는 문제는,
5.1-CURRENT 10월 이후버전에서 python2.3의 메모리 할당이 극도로 느리다는 PR이 왔는데, 대충 봐서는 느려질 문제가 없는데, 이상하군요~~ (그래서, 프로파일러 쓸 줄 몰라서 요즘 공부하고 있다는 --;;)
그 외에 FreeBSD 포트에서의 파이썬 문제가 있으면 언제든 알려주세요 =3 =33
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
FreeBSD 4.9가 릴리즈되었습니다. 거의 2달동안 별의 별 릴리즈 엔지니어링을 다 거쳤는데.. 뭐 이제는 4.x쓰는 사람이 별로 없으니.. 사실 관심 있는 사람도 별로 없어서 테스트가 좀 느렸던 것 같군요 으흐~
이번 버전의 차이점은, 몇몇 sendmail, arp, openssh 같은 보안버그를 수정한 것 외에는 디바이스 드라이버 몇개 추가되고 별로 볼 것 없습니다. 그냥 마일스톤 성격의 릴리즈군요~ 앞으로 릴리즈될 4.10은 더욱 더 바뀔 게 없을 거라고 합니다.
(과연 FreeBSDMall이 이래서 먹고 살 수 있을지~)
그리고, FreeBSD의 다음 릴리즈는 11월말~12월사이에 릴리즈될 5.2입니다. 5.2 이후에도 계속 5는 CURRENT로 가다가 5.3릴리즈 즈음에 -STABLE로 포크될 예정이라고 합니다.
그리고, 덤으로
Apache 1.3.28과 2.0.47 (각각 엊그제까지는 최신버전)의 보안 픽스 릴리즈인 1.3.29와 2.0.48이 나왔습니다. 포트에는 아직 커밋은 안 되었고 PR은 올라와 있습니다. 있다가 안 졸리면 커밋해 볼까 생각을;;
댓글 4 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
10월 23일에 나온 PowerPC 스냅샷을 이용해서 iBook에 설치해봤습니다. 흐흐 뭐 이제 iBook도 G4시대가 왔으니 구닥다리 G3 500에는 FreeBSD나 설치해서 써야죠 -_-;
아직 FreeBSD/powerpc는 Tier-2로 개발 중인 상태입니다. 처음에 열심히 작업하던 Benno Rice씨와 요즘 열심히 하고 있는 Peter Grehan씨 둘이서 거의 모든 작업을 하고 있는데, 덕분에 요즘은 커널 작업은 거의 다 끝나가는 듯 합니다. 아직 약간의 완성도 문제는 있지만 말이죠
우선, Peter가 공개한 tarball을 Peter가 쓴
설치방법에 있는 대로, 우선 CD를 구운 다음에 (NFS와 TFTP로 설치하는 방법은 DHCP서버를 통해 옵션을 주는 거라, DHCP를 따로 조작할 수 있는 환경이 있지 않으면 쓰기 힘듭니다.) 설치방법에 쓰여 있는대로 거의 젠투 깔듯이(-.-;;) 깔면 됩니다. 흐흐.. 그래도 NetBSD에 비하면 훨씬 간편한 것 같네요. 근데, 제 경우에는 iBook이 구형모델이라 그런지, 키보드가 오픈펌웨어에서는 잘 잡히다가, FreeBSD 콘솔만 뜨면 안 잡히게 됩니다. 실제 dmesg해보면 키보드가 전혀 안 잡혔는 것을 볼 수 있는데 Peter가 USB키보드 지원만 넣어놨다고 합니다 -.-; 그래서 USB키보드를 끼우고 부팅해보니 잘 되더군요. (ofw에서도 잘 됩니당.)
전체 보기
그런데, 좀 이상한게 하드에서 부팅할 때는 boot -s를 아무리 열심히 붙여줘도 싱글 부트가 안되고 바로 멀티 유저 모드로 들어가버리는데, 기본으로 깔면 pwdb가 리틀엔디안으로 들어가 있어서 로그인을 못하니까, 아까 CD로 부팅했을 때 pwd_mkdb까지 한번 해 주고 리붓하는 게 좋습니다.
전체적으로 안정성은 지금 screen, vim, python, perl, gnuls 같은 것 깔고 하고 있는데 대체로 잘 되는 듯합니다. 콘솔도 NetBSD/ppc보다는 훨씬 빠른 편이고. 마음에 듭니다! 아직 X는 안 해봤는데 한번 해봐야겠군요~ 글고, powerpc로 cvsup이 아직 포팅이 안 돼서 cvsup이 안되니 cvs로 삽질을~;;;
이대로 가면 5.3이나 5.4에서는 Tier-1으로 올라올 수 있을 듯 한데, 기대가 됩니다! 크크
댓글 1 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
BSDCon에서 논문으로 발표되기도 했던 Colin Percival의 FreeBSD Update(
security/freebsd-update)를 대충 살펴보았습니다. 우선, FreeBSD Update가 무엇이냐 하면, FreeBSD는 바이너리 기반으로 업데이트되는 시스템이 아니라서, 보안 패치가 나올 때마다 업데이트 하려면 cvsup으로 전체 소스 업데이트한 다음에 make world하고, 커널 패치면 make kernel한 뒤에 reboot까지 해야하는데, 보통 빠른 컴퓨터라도 이 과정이 30분 이상 걸리고, 뻑날 가능성도 많고 필요한 툴도 많은 건 그동안 다들 경험하셨을 겁니당. 엔터만 치면 다운로드 받아서 바로 업데이트되는 데비안에 비하면 정말 일반 사용자 입장에서는 고통입니다~ 한시라도 빨리 업데이트해야하는 상황에서.. 흐흐;;
그래서, FreeBSD Update에서는 바이너리로 쓱 업데이트해불는 데, 베이스 전체에 대한 바이너리 패치를 만들어서, 바이너리 패치를 다운받아서 업데이트를 하게 됩니다. 바이너리 패치는
misc/bsdiff 를 이용해서 만드는데, 이게 성능이 꽤 좋아서 diff 양이 엄청 적습니다. 흐흐. FreeBSD 4.7 릴리즈(2002년 9월)부터 지금까지 보안 패치를 패치가 아닌 그냥 변경된 파일 전체를 받으려면 36메가가 넘는데, bsdiff로 만들어진 패치는 621kB밖에 안 된다는군요. (만세!) 그리고, 기본 환경 설정의 핑거프린트를 씨앗으로 해서 웹 서버에서 공개키를 받아와서, 패치를 다운 받은 뒤에 그 패치의 무결성 검사도 하기 때문에, 믿고 자동 업데이트할 정도로 된답니다. 그런데, 지금은 아직 공식 사이트에서는 4.7과 4.8만 제공하고 있어서, 5.0이나 5.1에서는 쓸 수 없습니다. (저는 5.x 머신만 열라 많아서 테스트를 못 해봤;;) 참 그리고, 바이너리를 기반으로 패치하는 것이다보니 반드시 릴리즈 깔고 손을 안 대야합니다. 체크섬이 안 맞는 파일들은 전체를 새로 받아오니.. 업데이트가 제 구실을 못하는..
Colin Percival의
BSDCon 논문을 살펴보면, 단순히 생각해도 불가능하게만 보이는 바이너리 패치 업데이트를 어떻게 만들었는지 구구절절 써 놓았는데 정말 눈물납니다. 흐.. (아직 Debian이나 Redhat도 패치 기반이 아니라 전체 패키지를 받아와서 업데이트하는 방법이니, 패치기반 업데이트는 오픈소스에서는 거의 최초가 아닐까 싶네요.) 논문의 내용에 보면 대표적인 문제점들을 다음과 같이 해결하고 있습니다.
-
날짜가 바이너리 안에 들어가서, 빌드할 때마다 달라지는 바이너리: 커널, 부트로더, 펄 같이 빌드할 때 현재 시간을 넣어버리는 바이너리들은 빌드할 때마다 자동으로 바뀌기 때문에, 패치를 빌드할 때 패치 안 해도 되는게 쓸데없이 들어가게 되는데. 요 녀석들을 퇴치하기 위해서 일단, RELEASE를 한번 빌드하고 또 다른데서 한번 빌드해서, 같은 버전으로 빌드했는데도 달라진 파일을 뽑아서 블랙리스트에 올리고 나중에 그 파일들이 보안 업데이트가 필요한 경우에는 수동으로 넣는 방법으로 해결했다는 군요. 이런 파일은 FreeBSD 4.7의 보안 브랜치에서 모두 160개라고 합니다.
-
빌드 중에 랜덤 요소를 쓰는 파일: fortune이나 ntp같은 것들은 엔트로피를 좀 더 주려는 목적으로 빌드하다가 랜덤넘버를 컴파일된 파일에 넣어버립니다. (fortune은 데이터파일) 이런 것들을 랜덤을 안 쓰도록 모두 패치해버렸다고 합니다. (-ㅇ-)
-
전역 심볼이 없는 경우에 쓰레기 값이 들어가 버리는 바이너리: libobjc같이 이런 경우는 동적 라이브러리 에서 많이 발생하는데, gcc를 패치해서 이런 경우 빌드 디렉토리를 기준으로 일정한 값을 넣도록 패치했다고 합니다.
-
날짜 문자열이 길어져서 주소가 연달아 바뀌는 경우: 예를 들어 "February"가 "March"로 빌드하다가 바뀐 경우, 그 뒤에 있는 문자열들이 연달아서 주소가 밀려나서, 패치해야할 양이 엄청 늘어납니다. 이런 경우를 또 막기 위해서 가급적이면 0x00으로 최대 길이를 채우거나 하는 방법으로 패치해버렸다고 합니다.
그런데, 커널의 경우에는 SMP지원이나 HTT지원 때문에, 일반적인 환경에서도 자주 빌드해서 쓰기 때문에 이런 걸 쉽게 패치할 수 있게 하기 위해서, GENERIC에 SMP기능만 넣은 GENERIC-MP 커널을 제공하자고 제안하고 있군요. 하여간.. 그 엄청난 빌드 구조를 다 파악해서 패치를 했다니.. 입이 벌어질 따름입니다. 만세! 곧 5.1에서도 쓸 수 있게 되길 기대합니당~
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
ports/Mk/bsd.python.mk에서 지원하지 않아서 그동안 각각의 포트들이 지저분하게 갖고있던 파이썬 버전 체크용 pkg-req들을 없애기 위해 bsd.python.mk에 파이썬 버전 체크를 할 수 있도록 패치했습니다.
devel/py-optik 같이 2.3에서는 필요없는 포트나,
databases/py-bsddb 같이 2.3부터만 지원되는 포트같은 것에서 유용하게 쓰일 수 있을 것 같네요. 사용방법은 기존 방법대로
USE_PYTHON= yes
하는 것도 가능하고 다음같이 유효한 버전들을 써줘도 됩니다.
USE_PYTHON= 2.1+ # 2.1이상
USE_PYTHON= 2.1-2.2 # 2.1부터 2.2까지
USE_PYTHON= 2.3 # 2.3만
USE_PYTHON= -2.0 # 2.0까지만
ports 메일링 리스트에 리뷰를 요청했는데 아직 답장이 없는 것으로 봐서 별 문제가 없나보네요 (또는 관심이 없다거나;;;;) 흐흐흐. 3~4일 정도 더 지켜본 후에 커밋할 예정입니다. 시간나시는 분들은 패치를 다운로드하셔서 한번 테스트해봐 주세요
패치는 http://people.freebsd.org/~perky/patch-bsd.python.mk 에 있습니다.
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
원래 2달에 한 번씩 나오는 상황 보고가 이번에는 좀 오랜만에 나왔네요. 다 읽기 귀찮은 분들을 위해 주요 부분만 간략하게 요약해 봅니다.
일단 오늘은 앞쪽 반만~
-
FreeBSD 블루투스 스택
Maksim Yevmenkin씨가 정력적으로 추진하고 있는 블루투스 스택 (netgraph 구현)
은 ng_ubt(4)와 ng_hci(4), ng_l2cap(4) 커널 모듈이 계속 버그가 고쳐지고 있으면서 때때로 -CURRENT에 커밋되고 있습니다. 그리고, 또한 유저랜드 라이브러리인 libsdp(3)과 sdpcontrol(8)나 무선용으로 개조된 ppp데몬인 rfcomm_pppd(8)등 릴리즈 품질으로 계속 다가가고 있는 듯합니다. 그리고, 몇몇 자원자들은 FreeBSD 블루투스 스택을 NetBSD나 OpenBSD에 이식하려는 뜻을 보이기도 했으며, netgraph 의존적인 부분을 제거하는 작업도 스물스물 진행되고 있다고 합니다. (참고로, Maksim씨는 원래 코드를 커밋해 주던 담당 커미터가 이제 블루투스에 관심 없다고 하는 바람에 곧 직접 커미터가 될 예정입니다.
)
-
ACPI
ACPI 새로운 기능이 들어오면서 생긴 버그들을 계속 고치고 있다고 합니다. 그리고, ACPI
2.0을 지원하고 더욱 안정적 새로운 내장 컨트롤러 드라이버가 7월에 들어왔다고 합니다. 최근에는 devd(8)과의 연동이나 ASUS, 도시바 핫키 드라이버, Cx 프로세서 잠자기 상태 지원같은 것들이 작업 중에 있다고 합니다.
-
AMD64로의 이식
마지막으로 릴리즈를 방해하던 한 버그가 고쳐졌다고 합니다. 그리고 SMP 지원도 거의 완성
단계에 이르고 있고, 며칠 안에 커밋될 예정이라고 합니다. XFree86은 커밋된 MTRR 패치로 이제 동작할 수 있게 되었고, ezm3는 아직 포팅이 완성되지는 않았지만 cvsup은 잘 된다고 합니다. 아직 gdb 지원이나 DDB지원, amd64 리눅스 에뮬레이션, i386 FreeBSD 에뮬레이션 같은 기능들은 작업을 더 해야한다고 합니다. 몇몇 버그가 보고되기는 했지만, 현재 amd64 플랫폼에서 FreeBSD가 매우 안정적으로 작동하고 있는 편이라고 합니다.
-
ATAPI/CAM
ATAng가 들어옴으로 인해 ATAPI/CAM 사용자들은 그동안 몇가지 문제를 겪고 있었는데,
오랫동안 숨어 있었던 버그 두개를 고치는 것으로 이제 보다 안정적으로 동작할 수 있게 되었고, DMA를 안전하게 켜서 성능을 향상할 수 있다고 합니다.
-
바이너리 업데이트에 의한 보안 패치
-
bsd.java.mk 2.0
Java 포트들 간의 조화된 환경을 위한 bsd.java.mk는 자동화된 JDK/JRE 빌드와
실행 의존성 체크을 목적으로 2.0을 새로 개발하려고 하고 있으며, 여기서는 더 많은 JDK/JRE 들을 서로 조화롭게 사용할 수 있도록 개선할 것이라고 합니다.
-
인텔 C 컴파일러로 FreeBSD 컴파일하기
NFS가 정상 작동하지 않고 IP가 불안한 것을 제외하고는 대체로 제대로 되는 편이라고 합니다.
FreeBSD Project는 Intel로 부터 icc를 설치해서 사용하고, 빌드된 바이너리를 배포할 수 있는 정식 라이센스를 받았기 때문에 앞으로 FreeBSD 클러스터에 깔아서 더 많은 시도를 해 볼 것이라고 합니다. 또한, icc는 펜티엄4 최적화가 gcc에 비해서 아주 좋다는군요
-
암호화 지원
-
디스크 입출력
scsi-cd, atapi-cd, fd가 GEOM 드라이버에 편입되고 있는 중이라고 합니다. 그리고,
소프트업데이트, 스냅샷 지원이 SPECFS에서 UFS/FFS쪽 코드로 옮겨지고 있습니다.
-
동적 링크 루트 지원
-
FreeBSD-Java
-
포트(ports) 모니터링 시스템
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
캬캬캬~ (환희에 넘쳐서;)
그동안 느리디 느린 iBook 500에서 싱크하느라 정말 고생했는데, 이제 드디어 해방입니다 만세 -ㅁ-; 지난 주에 1394카드를 사서 오늘 이제 서울로 돌아와서 시도를 해 봤는데. 잘 되는군요. ^_^*
제가 갖고 있는 iPod 2세대(터치 휠)는 맥용으로는 HFS+로 포맷되어있는 파이어 와이어 외장 하드디스크로 인식이 되는데, 다행히도 FreeBSD에서 iPod쓰려는 삽질러들의 노력으로 아주 간단하게 싱크가 가능하게 되었습니다. 먼저 준비물은, 올해 8월 이후의 -CURRENT가 필요한데, HFS패치때문에..
일단, firewire모듈은 지금 베이스에 통합이 되어 있어서 따로 넣어줄 필요는 없습니다. 그런데, HFS+ 파일시스템 지원 모듈이 아직 베이스에 통합되지 않았기 때문에 따로 인스톨을 해 줘야하는데 http://people.freebsd.org/~yar/hfs/ 에서 받으실 수 있습니다. 사실 요걸 8월 27일 이후 CURRENT에 설치하면, 컴파일이 중간에 하나 안 되고 뻑나는데 CFLAGS에 -DB_LOCKS=0을 넣고 컴파일하면 됩니다. 8월 27일 jeff의 커밋에서 B_LOCKS가 빠지는 바람에... 빼서 좀 불안하긴 하지만, 뭐 그런대로 잘 되는듯;
그 다음부터는 필요한 커널 모듈만 올려주면 바로 끼우기만 하면 됩니다.
mango(perky):~% sudo kldload firewire sbp hfs
mango(perky):~% dmesg|grep da0
GEOM: create disk da0 dp=0xc3ffe450
da0 at sbp0 bus 0 target 0 lun 0
da0: <Apple Co iPod 2700> Removable Simplified Direct Access SCSI-2 device
da0: 50.000MB/s transfers, Tagged Queueing Enabled
da0: 9536MB (19531260 512 byte sectors: 255H 63S/T 1215C)
mango(perky):~% sudo mount_hfs -u perky /dev/da0s3 /mnt/ipod
mango(perky):~% ls /mnt/ipod/
TheVolumeSettingsFolder/ iPod_Control/p DF Icon
mango(perky):~% ls /mnt/ipod/Contacts
donggap-0000.vcf donggap-0044.vcf secret1-0002.vcf
donggap-0001.vcf donggap-0045.vcf secret1-0003.vcf
donggap-0002.vcf donggap-0046.vcf secret1-0004.vcf
donggap-0003.vcf donggap-0047.vcf secret1-0005.vcf
....
mango(perky):~% ll /mnt/ipod/iPod_Control/Music/F00|head -6
total 376088
drwxrwxrwx 84 perky wheel 2856 May 29 17:39 ./
drwxrwxrwx 22 perky wheel 748 Feb 26 2002 ../
-rwxrwxrwx 1 perky wheel 4399976 Feb 12 2003 01.good_bye my loneliness.mp3*
-rwxrwxrwx 1 perky wheel 5173104 Oct 30 2002 02 No Regrets.mp3*
-rwxrwxrwx 1 perky wheel 5062656 Nov 8 2002 02 ______ ______ _________.mp3*
으흐흐 이렇게 바로 마운트 해서 Contacts (iCal같은 데서 쓰는)의 vCard도 접근할 수 있고, mp3디렉토리에도 들어갈 수 있군요. 그리고,
audio/gtkpod 를 사용하면 직접 iTunes처럼 관리도 할 수 있습니다! 흐흐
그런데, gtkpod의 하나 다른 점은 플레이하면 직접 플레이하는 게 아니라 xmms를 호출한다는... --;;;
그리고, 언마운트할 때 마구 뽑아버리면 문제가 좀 많은데 반드시 언마운트하고, 이젝트하고, 그 다음에 리셋해준 다음에 뽑아줘야 한답니다.
mango(perky):~% sudo umount /mnt/ipod
mango(perky):~% sudo camcontrol eject 0:0:0
Unit stopped successfully, Media ejected
mango(perky):~% sudo fwcontrol -r
이렇게 안 해주면 또 마운트하고 싶으면 리붓해야 하는 OS X에서랑과 같은 현상이 --; 아, 그리고, 파일 시스템이 UTF-8이긴 한데, 한글이 U+1100영역으로 분리되어서 들어가기 때문에
x11/gnometerminal 같은 걸로 보면 풀어쓰기한 것처럼 보이는데, 뭐 딱히 패치하기도 난감한 것이.. -.-;;; 그냥 그대로 써야겠네요..
으흐흐.. iPod for Mac 사용자 분들은 다들 한 번씩 시도해 보세요 =3
댓글 3 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
요즘 보안 버그가 종종 나오는군요~ 흐물흐물;;
FreeBSD에서는 사실 잘 사용되지는 않지만 procfs와 리눅스 호환성을 위한 linprcfs에서 보안 취약점이 발견되어, 커널 메모리가 일부 유출될 수 있다고 합니다.
구체적인 문제점은 procfs 읽기/쓰기요청에서 커널이
uiomove 를 사용하여 데이터를 옮겨주는데, struct uio안의 uio_offset이 음수이거나 엄청 큰 수면 커널 메모리가 유저의 접근이 허용되지 않은 메모리를 허용할 수 있다고 합니다.
procfs와 linprocfs는 일반적으로 FreeBSD에서는 디폴트로 꺼져있고 많이 사용되지 않기 때문에 일반적으로는 큰 문제는 없는데,
sysutils/psmisc 같은 툴을 이용하려고 procfs를 마운트해서 쓰시는 분들은 얼른 업데이트 하셔야 겠네요..
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
http://art.kerneled.com/gallery
예쁜 것 많네요 ^_^;; 중간에 About FreeBSD
[ISBN-8931415206]표지로 나왔던 지니도 있고.. 히히 우리모두 배경을 바꿔 보아요~
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
Asami상이 있을 때 인기를 누렸던 ports/INDEX 커밋 송이 살아 돌아왔습니다. 흐흐.. Marcus씨의 작품~ (원곡 http://openlook.org/distfiles/portsfreezebaby.ogg 를 들으면서 같이 불러보세요~)
Ports Freeze Baby
(loosely sung to the tune of Vanilla Ice's Ice Ice Baby)
Yo CVS let's kick it
Ports freeze baby (x2)
All right stop grab a port get to fixin'
The freeze is back and pthread is broken
Bikeshed grabs a hold of developers@
People want a slushie to fix -CURRENT PRs
Will it ever stop yo I don't know
Lay down the tag and I'll go
Back to bed haven't slept for weeks
Gotta build packages for 4.9-RELEASE
Damn these Alpha builds take forever
Need more hardware to make things better
Deadly when bento's building KDE
Machines are always breaking into DDB
Build it or fail I can't wait
The tag needs to slip? cvs update
If there are issues portmgr@ takes 'em
Test out the packages while bento makes 'em
CHORUS
Ports freeze baby (x4)
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
이더넷이나 802.11 네트워크에서 하위 레이어의 프로토콜 주소를 찾기 위해 사용되는 ARP의 구현에 문제점이 발견되어서 보안 권고가 발표되었습니다.
http://lists.freebsd.org/pipermail/freebsd-security/2003-September/000989.html
구체적인 문제점으로는, 같은 네트워크에 물려있는 악의의 공격자가 스푸핑을 하면서 계속 ARP를 엄청나게 많이 때리면 자원이 고갈되면서 커널 패닉이 나는 것인데, 벌써 10년도 넘은 소스에서 발견된 문제점이라, BSD계열 전체에 적용됩니다. (이번 버그는 Apple에서 발견하였습니다.)
믿을 수 없는 공중 네트워크에서 혹시 사용하신다면 얼른 업데이트하세요~ 흐흐 패치할 수 없다면, static arp를 사용하거나 선을 뽑아버리는 방법이 있다고 합니다. -ㅁ-;;
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
어제 대충 소식만 전했던 이무라씨의 파일시스템 멀티바이트 패치(사실은 iconv패치 쪽은 2바이트 전용) 체험담을 자세히 소개합니다. 흐흐
우선, 이 패치는 벌써 일본에서는 많이 쓰고 있다고 합니다. 200명 넘게 아무 문제 없이 쓰고 있다고 하니 안정성에서는 크게 걱정할 필요없을 것 같네요. 저도 사실은 9월 1일자 커널에다가 모듈만 컴파일해서 넣었는데도 잘 도는군요 크크;
패치하는 방법은 다운로드 받은 뒤에, /usr/src에서 patch -p0 <kiconv-5_current-20030921.diff하시면 되는데, 전부 성공해야합니다. 성공했는지 여부는 출력을 봐도 되지만 find . -name '*.rej'같은 명령으로도 검색하실 수 있구요. 그 뒤에, world가 옛날 소스라면 make world를 한 번 하시고, 최근 소스 그대로라면 /usr/src/lib/libkiconv에서 make install하고 /usr/src/include에서 make install하고 make kernel하시면 됩니다. (libkern이 바뀌었기 때문에 커널 전체 빌드하지 않으면 잘 안 됩니다. 흐물..) 그 다음에는 보통 커널 컴파일하듯 리붓 한판 하시고, 이제 msdosfs를 마운트하면 됩니다. 요렇게..
mount_msdosfs -L ko_KR.eucKR -D CP949 /dev/ad0s5 /d
그러면 이제 /d가 euc-kr로 나오는 것을 볼 수 있습니다. 흐흐
간단하게 구현 내용을 보면, 어제 블로그에서 쓴 것이 잘못되었는데요 흐흐.. libiconv를 무시한 것이 아니라, libiconv에 xlat16 컨버터를 추가하고, libkiconv라는 유저랜드측 라이브러리가 mount_msdosfs같은 마운트 프로그램들에서 libiconv.so에서 16비트 컨버터 테이블을 만든 다음에 sysctl로 libiconv.ko에 전달해 주는 구조로 되어있습니다. 그래서, 결국은 다른 패치들도 msdosfs_iconv.ko등 _iconv가 달려있는 커널 모듈이 올라오면 컨버터가 전부 libiconv.ko를 쓰도록 패치됩니다. 제대로 된 구조죠 흐흐.
일단 Shift-JIS, Big5, GBK, EUC-KR같은 것 쓰는데는 큰 문제가 없다만, 문제는 16비트 테이블로 해결이 안 되는 UTF-8이나 EUC-JP같은 것들인데, EUC-JP는 파일시스템에서는 거의 안 쓰니까 빼고, UTF-8은 전에 했던 애플 패치를 한번 이무라씨의 패치와 합쳐볼 생각입니다. 흐흐. 어제 UTF-8패치 만들어 놨던 걸 메일링리스트에 올렸더니 trhodes@가 같이 Darwin msdosfs 머지 작업을 하자고 메일을 보내왔는데, 사실 유니코드 컨버트 외에 dirty mark같은 건 전혀 몰라서 -.,-; 수준 맞춰서 같이 할 수 있을 지 모르겠군요 으흐흐;
댓글 1 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
전에 Blog0308/MsDosFsUtf8에서 혼자서 해놓고 좋다 그러고 있었던 패치에서 훨씬 더 나아간 전역적인 커널 패치를 류이치로 이무라씨가 방금 공개했습니다. 커헉~ 저 많은 패치를 소문없이 해버리다니 =3 =33
이무라씨의 패치 내용은 기존에 있던 libiconv 커널 모듈을 완전히 무시해버리고 새로 kiconv라는 라이브러리를 만들어서 kiconv를 이용하도록 cd9660, msdosfs, ntfs 커널 모듈에 패치해서 각각 CD9660_ICONV, MSDOSFS_ICONV, NTFS_ICONV 커널 옵션을 주면 iconv를 사용하도록 한다고 합니다. libiconv는 완전히 커널에서 다 해결보려고 한 반면에, kiconv는 유저랜드 라이브러리(보통 GNU libiconv)를 이용해서 테이블을 만든 뒤에, 테이블을 sysctl로 복사해서 쓴다고 합니다. kiconv의 방법은 빤히 한계가 드러나고 문제가 있긴 하지만.. libiconv 커널모듈도 디자인이 잘 된 편은 아니기에.. 임시방편으로는 뭐 괜찮기도 하겠네요 (-.-;;;;)
시간날 때 적용해 보고 더 자세한 것은 내일 또~ 이히..
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
추석때문에 어느새 9월이 끝나가네요. (허억~ T_T)
요즘 FreeBSD의 주요 소식을 전해드리겠습니다~
-
FreeBSD 4.9 릴리즈가 좀 늦춰졌습니다. 현재 가끔가다가, ATA쪽에서 다운된다는 사람들이 메일링 리스트에 종종 있어서, 안정화를 좀 거친 뒤에 릴리즈하는 것으로 했는데, 한 2~3주 정도 늦어져서 10월 중에 최종 릴리즈가 될 듯 합니다. 포트는 계속 프리즈되어있는데,
korean/nabi 와
korean/gdick 새 버전을 넣어야 하는데 못 넣어서 아쉽네용~; 이번 릴리즈 엔지니어링이 꽤 길어져서 작년처럼 거의 2달 프리즈되어 있지나 않을까 걱정되는군요~ (사실은 프리즈되어서 얼마나 편한지 모른다 =3 =333)
-
security/openssh 가 두번째 나온 보안버그 패치가 되었습니다. 어제 블로그에서 말씀드린 3.7에서 보안 버그 패치가 완전하지 않아서, 3.7.1이 다시 오늘 릴리즈되었다고 합니다. Security Officer인 nectar가 아직 안 일어났는지 베이스에서는 패치되지 않았는데 뭐 오늘 중으로 되겠죠 흐흐..
-
BSDCon 2003이 끝났습니다. 이번엔 개발자 바베큐 파티도 하고 뭐 재미있는 것 많았다는데.. 저도 얼른 영어 잘 해서 그런데 가 봤으면 좋겠네요.
-
AsiaBSDCon이 대만에서 2004년 3월 15일에 개최된답니다. USENIX에서 공식적으로 개최하는 것이니 기대가 되긴 하는데, 어차피 영어로 해야하는 것 미국에서 하는 거나 별 차이 없지 않을까 생각도 되는군요 -.-;;; (아아아~~;;) 홈페이지는 http://www.asiabsdcon.org/cfp.shtml 입니다.
-
5-STABLE에 점점 가까워지고 있습니다. 이제 KSE와 libthr모두 거의 문제가 보고 되고 있지 않을 정도로 안정화가 되었습니다. 빠르면 11월에 5.2가 릴리즈될 수 있을 것이라고 합니다. 그렇지만, 몇가지 성능상의 문제 때문에 API가 약간 바뀔 수 있고, dynamic root나 몇 가지 기능을 더 추가한 뒤에 5.3부터 안정버전으로 갈 확률이 높다고 합니다.
-
Poul Richards가 그동안 패키징되지 않고 그냥 타볼로 인스톨하고 make world로 업데이트했던 베이스를 패키지로 묶는 패치를 메일링리스트에 올렸습니다. 대체로 괜찮아 보이고 반응도 괜찮아서, 긍정적인 기대를 해도 될 듯 합니다. http://docs.freebsd.org/cgi/getmsg.cgi?fetch=299210+0+current/freebsd-ports
-
바보 베리사인 리졸빙 문제: 베리사인이 며칠 전부터, 거의 넷피아 수준의 엽기 와일드카드 리졸빙을 루트서버에서 제공하기 시작했습니다. 이로 인해서, 없는 도메인들이 리졸빙되어 버려서, 여러 네임 서버들이나 네트워크 프로그램들이 정상적으로 에러처리를 하지 못하거나, 캐쉬가 바보가 될 수도 있는데, bind는 패치된 릴리즈가 공개되었고, FreeBSD도 4.9가 릴리즈되기 전에 고쳐질 수 있을 듯 합니다.
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
All versions of OpenSSH's sshd prior to 3.7 contain a buffer management error. It is uncertain whether this error is potentially exploitable, however, we prefer to see bugs fixed proactively.
방금 전에 (한국 시간 9월 17일 12시경) OpenSSH의 잠재적인 exploitable 보안 구멍이 발표되었습니다. OpenSSH 3.7 에서 이 버그를 수정하였으며, 지금 BSD들에서는 CVS에서는 모두 버그가 수정되었습니다. 아직 패치 안 하시고 BSD쓰시는 분들은 cvsup하시고 sshd만 다시 빌드하세요 ~.~
댓글 2 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
그동안 FreeBSD 내부에서 준비가 많았던 TechTV에서의 Linux와의 생방송 대전이 끝났다고 합니다. 방송을 구체적으로 보지는 못했지만, 비교적 성공적이었다는군요. Murray Stokely와 같이 출연한 Matt Olander의 말에 따르면 FreeBSD 설치가 다 끝난 뒤에도 리눅스 측에서는 설치하는 데 35분이 남았다는 표시가 나왔다는.. 크크크
이번 계기로 FreeBSD가 일반인에게도 많이 알려졌으면 좋겠네요. ~_~
방송 안내: http://www.techtv.com/screensavers/print/0,23102,3511343,00.html
(내용 중 FreeBSD 부분 번역)
FreeBSD는 관리하기 쉽고 뜯어고치기 쉽습니다.
FreeBSD는 리눅스를 포함한 대부분의 운영체제들 보다 훨씬 덜 제한적인 라이센스를 갖고 있습니다. 이것은 회사들이 자기 독점적인 수정을 가할 수 있으며, 공개하는 것이 강제적이지 않기 때문에 자기 저작권에 대한 권리를 누릴 수 있게 합니다. 그리고, FreeBSD는 포트 시스템으로 인해 시스템 관리자들에게 가장 관리하기 쉬운 시스템 중의 하나입니다. 포트는 명령 하나로 다운로드와 컴파일, 설치까지 한꺼번에 끝낼 수 있는 9000개의 써드파티 응용 프로그램을 제공해줍니다.
Matt Olander - Offmyserver CTO
FreeBSD는 성숙했고 프로페셔널합니다.
개발자로서, 나는 FreeBSD의 프로정신을 좋아합니다. FreeBSD 코드 베이스는 (리눅스에 비해) 보다 성숙해있으며 프로젝트과 관련한 프로페셔널한 소프트웨어 엔지니어링 문화를 갖고 있습니다. FreeBSD 개발자들 각각에게는 항상 정확하고 버그가 없는 높은 품질의 코드를 생산해내라는 시선의 압력(peer pressure)이 있습니다.
Murray Stokely - FreeBSD Project 릴리즈 엔지니어
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
와와 오늘의 늬우쓰~
-
드디어 한다한다 하고 여태까지 안 하고 있었던 Java for FreeBSD가 공식적으로 발표되었습니다. 이제 Sun에서 공식적으로 인증받은 자바 플랫폼으로 1.3.1을 쓸 수 있게 되었습니다. 1.4 포팅 작업은 아직 좀 많이 남았기 때문에, 좀 더 기둘려야겠네용. 흐흐. 코드 명이 JRE가 Latte Diablo, JDK가 Caffe Diablo ... -O-
FreeBSD Foundation 웹페이지에서 받을 수 있습니다. (포트 엔트리는
java/diablo-jre13
java/diablo-jdk13 입니다.)
-
4.9 코드 프리즈 시작: 9월 중에 릴리즈될 4.9를 위해 오늘부터 코드 프리즈가 시작되었습니다. 지금부터 -STABLE 트리에 커밋되는 내용은 전부 릴리즈 엔지니어의 허락을 받은 주로 치명적인 보안 패치들입니다. 그래서 지금 -STABLE을 업데이트하시면 이제 4.9-PRERELEASE로.. 흐흐;; 포트 프리즈는 9월 첫째주에 있을 예정입니다. 포트 프리즈 전에 꼭 고쳐야 될 것이 있으면 지금 즉시 알려주세요~
-
sendmail 보안버그: 보안버그의 대명사(--;;) sendmail에서 또 버그가 발표됐습니다. 이번 버그는 DNS 맵을 처리할 때 라운드로빈 테이블을 초기화하지 않아서 쓰레기값을 통해 외부 공격이 유입될 수 있다는 것 같군요. 4.6, 4.7, 4.8, -STABLE, 5.0, 5.1, -CURRENT 트리에 지금 고쳐져 있습니다. 참고: http://www.sendmail.org/dnsmap1.html
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
으히히.. 순전히 mp3를 들으려고 시작한 작업인 msdosfs 유니코드 지원 작업.. 중간에 2 나누기를 안 해서 한참 커널 패닉을 만나서 고생하긴 했지만, 크게 어렵지 않게 성공했습니다! 짠짠~~
mango:/d/Music Library/ㅈㅊㅋ)$ grep ad0s5 /etc/fstab
/dev/ad0s5 /d msdos rw 0 0
mango:/d/Music Library/ㅈㅊㅋ)$ cd 진주/
mango:/d/Music Library/ㅈㅊㅋ/진주)$ ls
진주 - 가니.mp3* 진주 - 에브리바디.mp3* 진주 - 해바라기.mp3*
진주 - 가지 말라고.mp3* 진주 - 전설속으로.mp3*
진주 - 언젠가 그대를.mp3* 진주 - 찜.mp3*
프프프.. 주로 Apple쪽의 소스를 그냥 갖다 붙이기를 했기 때문에, 사실 뭐 만든거라고는 함수 2개 밖에 없지만.. ;; 이제 libiconv로 utf-8을 떼내고 msdosfs가 iconv를 쓰도록 한 뒤에, PR을 보내려고 합니다.
댓글 6 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
엊그제 블로그에서 언급되었듯이, 예전부터 논의되어 왔던 Dynamic Root가 이제 커밋되었습니다. 흐흐 근데 디폴트는 아니기 때문에 WITH_DYNAMICROOT=yes 를 /etc/make.conf를 넣고 make world를 해주면 Dynamic World로 갑니다. 흐흐 그런데 주의할 점이.. 그냥 마구 했다가는 인스톨하는 도중에 cp나 install같은 바이너리가 동적으로 바뀌어버려서 인스톨이 뻑나면서 시스템 쫑나는 -_- 문제가 생기니까, 최근에 /rescue 생기기 전에 make world하신 분들은 반드시 /usr/src/rescue가서 make install을 먼저 해 주고나서 make installworld를 해야합니당. 에.. 혹시나 벌써 rescue 인스톨하기 전에 installworld해서 이미 쫑난 상태다 싶으신 분들은, 다음 명령으로 우선 응급 처치해 놓으면 그 rescue를 make install할 수 있을 정도로는 됩니다.
mkdir /libexec /lib
/usr/obj/usr/src/rescue/rescue/rescue cp /usr/lib/*.so /lib/
/usr/obj/usr/src/rescue/rescue/rescue cp /usr/libexec/*.so /libexec/
예. 이렇게 해서 Dynamic Root를 만들고 나면 이제 다음과 같이 /bin에 있는 것들이 동적으로 나옵니다.
alice(perky):~% ldd /bin/sh
/bin/sh:
libedit.so.4 => /lib/libedit.so.4 (0x2808a000)
libncurses.so.5 => /lib/libncurses.so.5 (0x2809f000)
libc.so.5 => /lib/libc.so.5 (0x280df000)
alice(perky):~% ldd /bin/ls
/bin/ls:
libm.so.2 => /lib/libm.so.2 (0x28076000)
libncurses.so.5 => /lib/libncurses.so.5 (0x2808f000)
libc.so.5 => /lib/libc.so.5 (0x280cf000)
alice(perky):~% ls /lib
/lib:
libalias.so.4 libcrypt.so.2 libipsec.so.1 libncurses.so.5 libz.so.2
libatm.so.2 libcrypto.so.3 libipx.so.2 libreadline.so.4
libbsdxml.so.1 libdevstat.so.4 libkvm.so.2 libsbuf.so.2
libc.so.5 libedit.so.4 libm.so.2 libufs.so.2
libcam.so.2 libgeom.so.2 libmd.so.2 libutil.so.3
Dynamic Root가 도입되었을 때의 장/단점은..
-
장점
-
디스크 용량을 조금 먹는다: 원래 /bin /sbin은 크런치 바이너리가 아니므로 따로따로 static 바이너리라서 엄청나게 먹었습니다. 그런데, 이제 동적 라이브러리로 링크됐기 때문에, libc부분이 공유돼서 줄어들었고, /rescue의 바이너리들도 전부 크런치된 바이너리 라서, 디스크 용량을 전체적으로 훨씬 적게 먹습니다. NO_RESCUE=yes 하면 더 줄일 수 있지만 요것만은 하지 맙시다 =3 =33
-
플러그인 형태의 공유 라이브러리를 쉽게 쓸 수 있다: nss(dns 캐쉬), pam(Pluggable Authentication Module) 같은 플러그인 형태의 모듈들을 쉽게 쓸 수 있게 됩니다. 그동안 pam같은 경우에는 /bin/login 같은 곳에서 쓸라면 아주 힘들었는데, 이제 pam을 붙일 수 있는 형태로 만들 수 있으니 만세입니당.
-
휴지통이나 libfsxlat같은 라이브러리를 쓸 수 있다: LD_PRELOAD 흑마법을 기반으로 한 시스템콜 가로채기 라이브러리인 trashcan이나 libfsxlat같은 것들을 이제 /bin /sbin에 있는 녀석들 한테도 쓸 수 있겠죠.
-
단점
-
업글 잘못하면 클난다: 리눅스 사용해 보신 분들은 몇 번 겪으셨겠지만, Dynamic Root는 업글 잘못하면 난리가 나서.. 아주 고생을... 그래서 FreeBSD에서는 /rescue에 원래 /bin과 /sbin에 있던 바이너리 전체를 크런치해서 넣어두었습니다.
-
실행 속도가 느려진다: 공유 라이브러리들을 쓰면 프로그램이 뜰 때마다 리로케이션하느라 힘들어져서, 뜨는 속도가 제법 느려지고, PIC(Position-Independent Code) 생성때문에 최적화에서 불리해져서, 또한 별로 좋은 효과가 들어가지는 않습니다.
흐물~ 뭐.. 5.2에서 너무 많이 바뀌고 있는 것 같아서 좀 불안하긴 하지만, NetBSD도 그랬듯, 뭐 좀 지나면 괜찮아 지겠죠 -ㅁ-;
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
오늘은 엊그제 얘기했던
korean/gdick 을 포트에 집어넣었습니다. 흐물.. 이제 프비에서도 쉽게 사전을!
그 외에 잡다구리 주인 없는 포트들 파이썬 버젼 올라가면서 깨진 것들을 고쳤습니다. (자꾸 고치라고 메일 보내서 -.-)
뿡뿡 =3
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
<에헴>오늘의 간추린 FreeBSD 소식을 말씀드리겠습니다.</에헴> -;;
-
며칠 전 포트에 dns와 polish 카테고리가 생기고, xfce4 가상 카테고리가 생겼습니다.
-
드디어 /bin, /sbin을 동적 컴파일을 하는 DYNAMICROOT가 Gordon Tetlow의 작업으로 커밋되었습니다. WITH_DYNAMICROOT=yes를 make.conf에 넣고 make world하면 되는데, 요건 할 얘기는 많지만 내일의 블로그 거리를 남겨두기 위해 자세한 것은 내일;;; _-_
-
오는 8월 24일 4.9 릴리즈를 위한 -STABLE 트리 Freeze에 들어갑니다. (9월말에 릴리즈 예정)
-
Colin Percival의 새로운 프로젝트로 binup 프로젝트가 교체되었습니다. 그동안 BSDi가 넘어간 이후에 중단되어 있었는데, 이제 앞으로는 혹시나 새로운 Colin의 프로젝트가 성공한다면, 보안성 있고, 빠르고, 적은 대역폭을 사용하는 바이너리 업데이터를 가질 수 있게 될 것입니다.
그리고.. 곁다리로 Python 소식 하나... Python 2.3.1이 9월 두째주 쯤에 릴리즈될 예정입니다. 이번 버전의 릴리즈 짜르(Czar)은 마침 9월 첫째주에 휴가인 py2exe와 ctypes로 유명한 Thomas Heller가 맡는 다는군요. 기대가 됩니다.!
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
요즘 윈도우 파티션에 들어있는 mp3들을 우찌 잘 들어볼 방법이 없을까. 이런 저런 고민을 하다가, msdosfs.ko를 libiconv.ko를 쓰게 하는 게 아무래도 구조상 무리라서 (현재 libiconv.ko는 CES가 제대로 지원될 수 없는 구조..) msdosfs.ko에 직접 UTF-8패치를 해보려고 시도를 해 봤습니다.
그래서, 이런 저런 닭짓끝에, 기본적인 인코딩/디코딩은 성공했는데.. 두둥.. 웬걸~ 글자가 앞쪽만 잘려서 나오는 겁니다. 으흐.. 이게 무슨 일이냐 해서 보니.. UTF-8 시퀀스가 유니코드 글자 개수만큼 바이트로 잘려서 나오는... 그러니까.. '한글'이라는 파일 이름은 '\xed\x95\x9c\xea\xb8\x80' 인데, 이게 앞에 2바이트만 잘려서 '\xed\x95'가 되는 것.. 왜 그런지 여러모로 뒤져보니.. 이런! msdosfs.ko가 글자 길이를 그냥 원래 유니코드 시퀀스 길이로 계산해버리는.. 그러니, 사실상 256:256 컨버트가 가능한 ISO-8859 쓰는 녀석들만 msdosfs를 정상적으로 쓸 수 있다는.. 그런 구조로 되어있던 것이었습니다.
그래서, 제대로 계산하게 좀 패치를 했는데(좀 미심쩍은 부분이 있긴 했지만..), 또 웬걸~ 좀 파일 이름만 길어지면 또 뒤가 잘리는.. 그 문제는 이번에는 또 윈도우의 파일 시스템 구조 특성상 13글자 단위로 뒤에서부터 엔트리가 시작돼서.. 긴 파일 이름이 여러 슬롯으로 나뉜다는 것입니다. 그러니.. 결국 파일 이름이 좀 길어지면 13글자 단위로 쪼개서 뒷 블럭부터 변환이 일어나서.. 가변폭 인코딩인 UTF-8로서는 도저히 길이 계산을 할 방법이 없어진다는... 도식적으로 그려보자면 "1234567890123에헤라디여바람분다창문닫아라" 라는 파일이 있다면
-
ATTR_WIN95 엔트리: '라'를 들고 있고 WIN_CNT가 2
-
ATTR_WIN95 엔트리: '에헤라디여바람분다창문닫아'를 이름으로 들고 있고 WIN_CNT가 1
-
ATTR_WIN95 엔트리: '1234567890123'을 이름으로 들고 있고 WIN_CNT가 0
-
일반 파일 엔트리: '123456~1 123'을 이름으로 들고 있음. (짧은 이름이 123456~1.123이 됨)
이렇게 돼서.. 순서대로 파싱하려면 맨 끝에있는 '라'가 먼저 나와버리기 때문에, 현재 msdosfs.ko처럼 ATTR_WIN95 엔트리를 처리하면서 변환까지 같이 하는 구조에서는 가변폭 인코딩을 처리할 방법이 전혀 없습니다. 그래서 궁리를 좀 해보니, WIN95 길이의 최대길이인 256글자를 스택에 들고 있으면서 거기에 버퍼링을 해 뒀다가 그걸 한꺼번에 전체를 인코딩하는 방법 밖에는 없겠다 싶었습니다. 그래서 좀 찾아보니.. 으허허 역시 Apple Darwin에서는 벌써 그런 방법으로 고쳐놓았더군요. 그래서 결국은 FreeBSD의 win2unixfn 함수가 없어지고 getunicodefn이 msdosfs_conv에 들어가서, msdosfs_vnops에서는 win2unixfn으로 일일이 엔트리마다 변환해서 dp->d_name에 직접 쓰는 것이 아니라, getunicodefn으로 각 엔트리별 유니코드 스트링을 스택에 버퍼한 다음에 그걸 사용하는 것으로 되어있었습니다. 그런데, Darwin은 원래 파일시스템이 유니코드 기반이라 변환이 필요없지만, FreeBSD는 8bit byte sequence형태이므로 변환할 필요가 있기 때문에 Darwin것 그대로 수용은 불가능했지만, 그래도 뭔가 좀 빌려 쓰면 될 것 같네요.
음.. 그래서.. 결론은? 에.. 며칠 삽질 더 해야겠다는.. 크크;;
이렇게 하고 나면 뭐 거의 libiconv.ko에도 바로 붙을 수 있는 수준 --;;;;;
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
"쀍"과 "햏"같은 글자를 쓰기 위한, 필요악 인코딩인 CP949(CodePage 949)를 기반으로 한 한국어 인코딩이 FreeBSD에 추가되었습니다. (이 블로그는 UTF-8을 쓰기 때문에 그렇게 나쁜 편은 아닙니다 히히~)
그냥 터미날같은 데서 적당한 프로그램들을 쓰면, 이제 확장완성형 글자들도 특별히 깨져서 나오지는 않을 것입니다. 완전하지 못한 점이 하나 있다면, 아직 FreeBSD가 multibyte collation을 지원하지 않아서 collation에 대한 고려가 전혀 되어있지 않다보니, 한글 정렬이 제대로 안 될 것입니다.
그리고, screen에서는 원래 한국어를 쓸 수 있는 인코딩이 euc-kr과 UTF-8밖에 없어서, CP949패치를 따로 해서 넣으려고 하고 있습니다.
CVSWEB
댓글 2 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
포트를 만들거나 업글할 때 가장 귀찮은 과정 중의 하나인 plist를 자동으로 만드는 방법은
mtree기반으로 된 것이 있었지만, 뭔가 다른 프리픽스로 한 번 깔아보는 게 대략 귀찮은 관계로..
ktrace 를 이용한 방법을 한 번 생각해 봤습니다. 흐흐흐.. open 시스템 콜을 모두 추적해서 O_WRONLY나 O_CREAT로 열린 녀석들 목록을 자동으로 plist로 만들어주는 것인데, 대충 만들어 본 소스는..
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
#!/usr/bin/env python
#
# autoplist.py - Automatic pkg-plist generator based on ktrace
#
# ----------------------------------------------------------------------------
# "THE BEER-WARE LICENSE" (Revision 42, (c) Poul-Henning Kamp):
# Hye-Shik Chang <perky@FreeBSD.org> wrote this file. As long as you retain
# this notice you can do whatever you want with this stuff. If we meet some
# day, and you think this stuff is worth it, you can buy me a beer in return.
#
# Hye-Shik Chang
# ----------------------------------------------------------------------------
# $FreeBSD$
import os, random
import sys, re
import time
random.whseed()
TMPNAM = '.autoplist.%d.%x' % (os.getpid(), random.randrange(65536))
KTRACECMD = 'ktrace -f %s -id -t cn %%s' % TMPNAM
KDUMPCMD = 'kdump -f %s' % TMPNAM
O_WFLAGS = os.O_WRONLY | os.O_RDWR | os.O_CREAT
PREFIX = '/usr/local'
IGNOREPREFIX = ['/dev/', '/tmp/']
PLIST_SUBS = (
'PYTHON_INCLUDEDIR', 'PYTHON_LIBDIR', 'PYTHON_SITELIBDIR',
'SITE_PERL', 'SITE_RUBY', 'DOCSDIR', 'EXAMPLESDIR', 'DATADIR',
)
PLISTREPLACE = []
def errorexit(msg):
print >> sys.stdout, "autoplist.py:", msg
sys.exit(-1)
def cleanup_tmpfiles():
try:
os.unlink(TMPNAM)
except:
pass
def getmakeenv(envname):
return os.popen('make -V "%s"' % envname).read().strip()
def echo_msg(msg):
print '===> ', msg
class InstallState:
procs = {}
lastforker = 0
def __init__(self, pid, procname):
self.pid = pid
self.procname = procname
if not self.lastforker:
self.curdir = os.getcwd()
else:
self.curdir = self.procs[self.lastforker].curdir
self.procs[pid] = self
self.files, self.dirs = {}, {}
self.trackatom = {}
def feed(self, args):
if self.trackatom:
if args[2] == 'NAMI':
self.trackatom['nami'].append(eval(args[3]))
elif args[2] == 'RET':
rtok = args[3].split()
if rtok[1].isdigit() or rtok[1].startswith('0x'):
self.trackatom['exit'] = eval(rtok[1])
else:
self.trackatom['exit'] = rtok[1]
if len(rtok) >= 3:
self.trackatom['errno'] = eval(rtok[3])
self.newsyscall(**self.trackatom)
self.trackatom = {}
elif args[2] == 'CALL':
syscall, ignore, args = re_syscallargs.findall(args[3])[0]
self.trackatom['syscall'] = syscall
self.trackatom['args'] = args and args.split(',') or []
self.trackatom['nami'] = []
if syscall in ('fork', 'vfork', 'rfork'):
InstallState.lastforker = self.pid
def getabspath(self, path):
if path.startswith('/'):
return path
else:
return os.path.realpath(os.sep.join([self.curdir, path]))
def newsyscall(self, syscall, args, nami, exit, errno=0):
if syscall == 'open':
if eval(args[1]) & O_WFLAGS:
self.files[self.getabspath(nami[0])] = None
elif syscall == 'mkdir':
self.dirs[self.getabspath(nami[0])] = None
elif syscall == 'chdir' and exit == 0:
self.curdir = self.getabspath(nami[0])
elif syscall in ('execve',) and exit == 0:
self.procname = nami[0]
def filterfilelist(files):
filelist = []
warnlist = []
prefix = PREFIX + os.sep
for f in files:
for pfx in IGNOREPREFIX:
if f.startswith(pfx):
continue
if f.startswith(prefix):
filelist.append(f[len(prefix):])
for var, repl in PLISTREPLACE:
if filelist[-1].startswith(repl):
filelist[-1] = filelist[-1].replace(repl, '%%'+var+'%%')
else:
warnlist.append(f)
return filelist, warnlist
re_syscallargs = re.compile('([A-Za-z0-9_-]+)(\(([^)]*)\))?')
def getwfiles():
entry = {}
istate = InstallState.procs
echo_msg('Analyzing installation syscall logs')
for l in os.popen(KDUMPCMD):
ltok = l[:-1].split(None, 3)
pid = int(ltok[0])
if not istate.has_key(pid):
proc = istate[pid] = InstallState(pid, ltok[1])
else:
proc = istate[pid]
proc.feed(ltok)
echo_msg('Generating auto plist')
fo = open("pkg-plist.autogen", "w")
print >>fo, "@comment Generated by autoplist.py", time.asctime()
files = {}
dirs = {}
for pid, data in istate.iteritems():
files.update(data.files)
dirs.update(data.dirs)
files = files.keys()
files.sort()
files, warnfiles = filterfilelist(files)
for file in files:
print >>fo, file
dirs = dirs.keys()
dirs.sort()
dirs.reverse()
dirs, warndirs = filterfilelist(dirs)
for dir in dirs:
print >>fo, "@dirrm", dir
return istate
def main():
try:
err = os.system('make build')
if err != 0:
errorexit("`make' exited with error code %d" % err)
err = os.system(KTRACECMD % 'make install')
if err != 0:
errorexit("`make' exited with error code %d" % err)
getwfiles()
finally:
cleanup_tmpfiles()
def buildenvironment():
global IGNOREPREFIX, PREFIX, PLISTREPLACE
IGNOREPREFIX.append(os.path.abspath(getmakeenv('WRKDIRPREFIX')))
IGNOREPREFIX.append(os.path.abspath(getmakeenv('DISTDIR')))
IGNOREPREFIX.append(os.path.abspath(getmakeenv('PKG_DBDIR')))
PREFIX = getmakeenv('PREFIX')
for var, raw, stripped in re.findall('([A-Za-z_0-9]+)=("([^"]*)"|[^"]\S*)',
getmakeenv('PLIST_SUB')):
if var in PLIST_SUBS:
PLISTREPLACE.append((var, stripped or raw))
PLISTREPLACE.sort(lambda x,y: -cmp(x[1], y[1]))
if __name__ == '__main__':
buildenvironment()
main()
# ex: ts=9 sts=4 sw=4 et
흐흐.. 그런데, 대충 만들고 나서 보니, 속도가 너무 느리고 (좀만 대형 포트로 가면 엄청난 양의 kdump가 나와버려서 그것 파싱하는데 십분이 넘게 걸립니다 --;) mtree기반의 녀석에게 특별한 장점이 없다는 결론이.. 흐흐흐... (그리고, 위 구현에서는 디렉토리를 인스톨 도중에 mv 해 버린다던지 하는 것에 대해서 무방비 --;)
그래서, 이 녀석을 좀 변모시켜서 plistlint 정도의 이름으로 인스톨하면서 plist에 없는 프로그램 건드리지는 않나, 빼먹은 파일 없나, /tmp에 이상한 파일 남기지 않나 등등을 검사하는 걸로 만들어 볼 까 합니당. 크크
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
FreeBSD의 물리적 주소 범위를 4GB이상으로 넓히는 Jake Burkholder의 PAE 옵션이 Luoqi Chen의 포팅 작업으로 4.x에 성공적으로 포팅돼서 그동안 많은 테스트가 있었는데, 이제 이번 주 금요일에 PAE가 4에 임포트가 된다고 합니다. PAE를 사용하는 드라이버같은 것들이 따로 아직 많은 편은 아니기 때문에 직접적인 영향은 없으리라 생각되지만, 그래도 안정적인 시스템 운용이 필요한 분들은 다음 주까지는 좀 미루시는 것이 좋겠군요.
PAE가 들어오면 이제 FreeBSD 4에서도 4GB이상의 메모리를 쓸 수 있고, 2테라 이상의 단일 스토리지를 쓸 수 있게 됩니다.
그리고, 이것을 포함한 다음 릴리즈는 9월 예정인 FreeBSD 4.9! ~.~
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
python2.3의 _xmlplus 최소 버전이 0.8.2로 되어있어서, FreeBSD 포트
textproc/py-xml 으로는 python2.3에서 쓸 수 없었던 문제가 있었습니다. (사실은 그 문제 때문에, openlook도 잠시 cgitb 판이 됐었;; ~.~) 메인테이너인 wjv가 지금 직장을 옮기느라 바쁜 상태라서, 그냥 방금 0.8.3으로 업그레이드해 버렸습니다. 혹시 파이썬 2.3에서 py-xml이나 pyblosxom쓰시는 분은 이제 업글하시면 제대로 될 겁니다.
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
그동안 ami가 특별한 경쟁자없이 주도하고 있던 XIM 세계에, 드디어 경쟁자가 나타났습니다. 바로 오픈소스 소리바다 클라이언트인
소리받아와 GTK+2용 한글 입력기인
imhangul로 유명하신 크리스나님께서 '나비'라는 이름의 예쁜 입력기를 공개하신 것!
'나비'는 GTK+2기반으로 되어있지만 표준 XIM 인터페이스를 제공하기 때문에 OpenOffice나 KDE, xterm같은 곳에서도 쓸 수 있기에, ami나 hanIM같은 기존 XIM들을 완전히 대체할 수 있을 뿐더러, imhangul에서 보아왔던 유니코드 기반 오토마타를 내장하고 있기 때문에, 옛 한글 지원 같은 진보적인 기능들을 지원할 수 있는 기반을 갖추고 있습니다.
또한, KDE와 GNOME에 도킹이 되는데, ami가 KDE3에 도킹이 제대로 안 되고 있었던 점을 감안하면 (ami는 KDE3보다 나중에 떠야지만 도킹이 됨) KDE사용자들에게도 이제 축복이~~
그러나, NumLock 이 켜져있는 상태에서는 한글이 입력 안 된다거나, xterm에서 한글입력 중에 스페이스를 누르면 스페이스가 먼저 커밋되는 것 같은 사소한 몇가지 문제점이 있는데, 아직 0.1이기 때문에 개선의 여지는 충분히 많이 있겠죠~
FreeBSD 포트
korean/nabi 에 등록되어 있습니다.
댓글 7 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
드디어 FreeBSD 포트의 개수가 9000개가 넘었다고 합니다.
재작년이었던가, Jordan Hubbard가 포트가 10000개 넘으면 7000~10000까지의 포트에 대한 가장 큰 공로자들 세 명에게 뭔가 선물을 준다고 했었는데, 당연히 뽑힐 Ports Fury 외의 2명은 누구일 지 기대가 되는군요.
Date: Sun, 27 Jul 2003 04:11:37 -0700
From: Kris Kennaway
To: Oliver Lehmann
Subject: 9000'th port! [Re: cvs commit: ports/french Makefile ..
I believe this port has the honour of being the 9000'th in the
collection. Congratulations to everyone who has helped to make the
Ports Collection such a success over the past 9 years!
Kris
On Wed, Jul 23, 2003 at 07:35:28AM -0700, Oliver Lehmann wrote:
> oliver 2003/07/23 07:35:27 PDT
>
> FreeBSD ports repository
>
> Modified files:
> french Makefile
> Added files:
> french/med Makefile distinfo pkg-descr pkg-plist
> french/med/files patch-Makefile.in
> patch-config::commence.in patch-configure
> patch-include::med_outils.h
> patch-src::api::ci::MEDunvCr.c
> Log:
> Add med 2.1.5, mod雩isation et hanges de Donn虞s.
>
> PR: 54761
> Submitted by: thierry@pompo.net
댓글 2 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
lang/python-devel 포트를 등록했습니다. 으흐흐 등록하는 김에 몇 가지 더 고쳐서 이제 여러 파이썬 포트들 전부 설치해 놓고 재미있게 놀 수 있게 되었습니다. -o-;
짜잔~~
alice(perky):/usr/pkg/bin% ls py*
pydoc* pydoc2.2* python* python2.0* python2.2*
pydoc2.1* pydoc2.3* python1.5* python2.1* python2.3*
오늘은 낮에,
OpenDarwin 프로젝트의 DarwinPorts를 구경했는데, tcl기반이라 소스가 좀 생소한 것 빼고는 시스템이 FreeBSD 포트에서 그동안 느꼈던 문제점이라고 생각한 자동화되지 못한 variant 리스트 같은 기능들을 대체로 잘 해결해 놓은 것 같아서 흥미로왔습니다. 특히 Portsfile 파일 포맷은 어찌나 예쁘던지~~ (젠투나 데비안 것보다 훨씬 깔끔해 보이는 듯.)
PortManager.app 스크린샷을 보면 MacOS X 10.3에 들어갈 포트 매니저를 미리 볼 수.. +_+ 꺄아아~ 그런데, 개인적으로는 PortManager.app보다는
sysutils/barry 가 좀 더 예쁜 것 같습니다. 우훗~
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd
그동안 퍼키가 관리하고 있던 포트 80여개 중 가장 유명한 포트였던 www/apache2 포트 메인테이쉽을 ports@FreeBSD- 로 바꿨습니다. 채 10개도 안 되던 초보 포터 시절에 알파 버젼을 근근히 수천라인 패치를 해서 올렸던 것을 많은 보안 버그 패치를 거쳐서 스테이블 단계에 들어가서 애착도 많지만~ 그래도, 너무 유명한 포트다보니 버젼 올라가면 메일이 수십개가 오고, 매일 문의 메일이 많이 와서, 답변하기 힘든 터라 (대부분 컴파일이 안 돼요~~), 그냥 자연으로 돌아가기로 했습니다. 으흐흐..
이제 파이썬 포트 업그레이드(lang/python-devel)와 bsd.python.mk 를 대개혁해서 멋진 파이썬 지원 프레임웍을 넣을 수 있도록 열심히 해봐야 겠습니다. 이히히히..
댓글 0 개
|
트랙백 0 개 (보낼곳)
| 태그
freebsd