사이드바 영역으로 건너뛰기

형태소분석기 관련 자료

검색관련 작업을 하다보면 기본적으로 부딪히는 문제의 첫번째가 형태소분석기다.
하다못해 Lucene을 깔아서 뭔가 해보려고 해도 우선 걸리는 것이 형태소분석기이고
Spam filtering, Query categorization, Duplication detect 등등
대부분 형태소분석기가 없으면 원할한 작업이 힘들거나 좋은 성능이나 결과를 포기해야 한다.
N-gram으로 삽질해서 처리하는 것이 도가 텄으면 모를까...
또 그런 작업으로 대체해서 한다고 해도 근본적으로 쉽지 않은 부분이 많다.

물론 회사에서는 몇개의 형태소분석기가 이미 구비되어 있으므로 그냥 가져다 쓰면 되지만
뭔가 개인적으로 하고 싶은 일에는 회사자산을 가져다 쓰면 안되게 되어 있다.

개인적으로 쓸만한 것이 있는지 간단하게 정보를 수집해 봤다.

KISTI 검색엔진 및 형태소 분석기
www.kristalinfo.com
http://www.kristalinfo.com/K-Lab/idx/
http://www.kristalinfo.com/K-Lab/ma/

락끄님의 형태소분석기 데모
http://ids.snu.ac.kr/wiki/Morpheme_Analyzer_Demo

HAM - 강승식 교수님의 Hangul Analysis Module
http://nlp.kookmin.ac.kr/
http://nlp.kookmin.ac.kr/data/han-dic.html 그밖에 다양한 text문서 자료/프로그램
http://nlp.kookmin.ac.kr/down/data/KorStems.zip 조사/어미 자료.

모란소프트 - 조영환 박사님의 형태소분석기 MORAN
http://www.moransoft.co.kr/

검색엔진 및 형태소분석기 - PHP형태소 분석기가 있다
http://lab.zagia.com/

이상호님의 KTS
http://kldp.net/projects/kts
http://chem.skku.ac.kr/~kle/main/KTS

포항공대 NLP연구실
http://nlp.postech.ac.kr
http://nlp.postech.ac.kr/~project/DownLoad/index.html - binary를 다운로드 받을 수 있다
http://nlp.postech.ac.kr/DownLoad/cgi-bin/POSTAG/SKOPE99a_demo.tar.gz

기타 한글관련 내용
한글코드 http://sparcs.kaist.ac.kr/~jwjung/seminar/hangul-i18n/ko-code.html
한글코드 http://www.klipl.com/info/hgcode/hgcd_rpt.html

기타 한글관련 내용2
http://borame.cs.pusan.ac.kr/ai_home/site/site1.html

참고로 나는 한국어공학자도 아니고 자연어전문가도 아니고 검색엔진전문가도 아니다.
내가 그냥 한국어 형태소분석기를 볼 때 중요하게 생각하는 것은 우선 아래 3가지를 먼저 생각한다.
일관성
속도
유연성

일관성이라는 것은 분석되어 나오는 결과가 상식적으로 타당하다고 생각되는 결과가 대부분의 일반적인 input에서도 동일하게 분석되어 나오는 구조여야 한다는 것이고
속도는 말 그대로 속도이다.
유연성이란 잘못된 것 또는 변화된 상황에 빨리 대처할 수 있게 유연한 장치들을 가지고 있어야 하고 빠르게 대처할 수 있어야 한다는 것이다.

뭐  동의하지 않거나 일부는 의아해 하는 사람들도 있겠지만)
그냥 내가 하는 일의 관점에서는 저런것들이 중요하다고 생각하고 있다.

출처 : http://euriion.com/

진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크

[서버관리] screen사용하기

원격에서 작업하다 보면 여러창을 보고 싶을때가 많습니다.
이럴때 보통 여러개의 터미널을 띄워서 사용 합니다.
그런데 창을 여러개 띄우고 왔다 갔다 하려다 보면 클릭하기도 귀찮고 헤깔리기도 하죠.. 후후.
이럴때 screen 명령을 사용 해보면 많은 도움이 될것입니다.

screen 은 한 터미널로 한번만 로그인 한후에 여러 쉘과 프로그램을 사용할 수 있습니다.
또한 세션관리 기능도 지원 한답니다.
그래서 screen 을 종료하고 심지어 터미널까지 로그아웃하고 종료 하여도 세션이 유지 되고 있습니다.
다음에 다시 터미널로 로그인후 screen으로 세션을 불러와서 다시 이전 작업을 이어서 할 수 있습니다.

nohup 으로 프로그램을 실행 시킬 필요도 없겠죠.. 훗..
이제 nohup 은 꼭 필요 할때만 사용하시고 screen 을 애용해보면 어떨까요..?. 하하.

또한 문서작업이나 텍스트 작업 프로그래밍 작업시 screen 과 vim을 함께 사용하면 좋은 궁합이 될것입니다.

여러분도 꼭 한번 사용 해보시라고 권해 봅니다.
(참고 : screen 은 일종의 가상 터미널 내지는 가상 콘솔이라고 보면 될 것 같습니다.)

그럼 screen 명령에 대한 설명을 시작 합니다.
1. 쉘모드 명령어
screen
: screen 을 시작 하는 기본 명령입니다.
: 기본 세션명으로 시작합니다.
screen -S 세션명
: -S 다음에 주는 세션명으로 시작합니다.
screen -list
: -list 옵션을 주고 실행하면 이전에 작업했었던 screen 리스트가 있으면 세션명과 함께 리스트를 보여줍니다.
screen -R 세션명
: 이전에 세션이 있을 경우 -R 다음에 오는 세션명으로 이전 작업을 불러옵니다.
: -R 다음에 세션명을 주지 않았을 경우에는 이전 세션이 한개만 있을 경우 그 작업을 불러옵니다.
: 이전 작업이 여러개 있을 경우에는 이전 작업 리스트를 보여줍니다.
: 이 경우에는 원하는 세션명을 주고 시작 하면 되겠죠. ^__^


2. screen 실행후 명령어
screen 실행후의 명령어는 Ctrl-a로 시작합니다:

Ctrl-a, c : (create) 새로운 쉘이 생기면서 그 쉘로 이동
Ctrl-a, a : 바로 전 창으로 이동
Ctrl-a, n : (next) 다음 창으로 이동
Ctrl-a, p : (previous) 이전 창으로 이동
Ctrl-a, 숫자 : 숫자에 해당하는 창으로 이동
Ctrl-a, ' : 창번호 또는 창이름으로 이동 ( ' => 싱글 쿼테이션 )
Ctrl-a, " : 창번호를 보여준다. ( " => 더블 쿼테이션 )
Ctrl-a, A : 현재 창의 title을 수정
Ctrl-a, w : 창 리스트 보여주기
Ctrl-a, esc : Copy 모드로 전환. Copy 모드에서는 vi의 이동키로 이동을 할 수 있다.
Crtl-a, [ 커서 이동을 할 수 있고 특정 블럭을 복사하는 기능으로 사용한다.
먼저 시작 위치에서 space 바를 누르고 끝 위치에서 space 바를 누르면 해당 부분이 buffer로 복사된다.
Ctrl-a, ] : buffer의 내용을 stdin으로 쏟아 넣는다.
이 기능은 vi의 입력모드에서 사용하면 유용하다.
Ctrl-a, :(콜론) : 명령행 모드로 전환
Ctrl-a, d : (detach) 현재 작업을 유지하면서 screen 세션에서 빠져나옴
세션이 종료 되지 않습니다.
Ctrl-a, x : lock screen

아래 부분은 창을 나눠서 사용하는 명령입니다.

Ctrl-a, S : (split) 창을 나눔 (region)
Ctrl-a, Tab : 다른 region으로 이동
Ctrl-a, Q : 현재 region을 제외한 나머지 숨기기


그리고 마지막 명령으로 세션을 완전히 빠져 나오는 명령입니다.

exit : screen 의 쉘상에서 exit 를 치고 엔터를 하면 세션이 완전히 종료 됩니다.


이상 위의 명령어 들만 알고 있으면 screen 사용시 불편하지 않게 screen 을 사용 할 수 있을 겁니다.

참 고
다른 사용자 분들의 의견을 보면 screen 화면을 2, 3 개정도 띄우고 사용하는게 가장 적당하다고 합니다.
4개 이상 띄우고 사용하다보면 불편하다고 하네요.
여러분들은 어느정도가 적당한지 한번 사용해보시고 판단 하시기 바랍니다.


기타 더욱 자세한 내용을 아시고 싶으시면 man 페이지나 /usr/doc/screen 을 참고하시기 바랍니다.


출처 : 아이네트호스팅


진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크

[인공지능] 새로운 시대의 도래: 인간지능과 인공지능의 융합

  "새로운 시대의 도래: 인간지능과 인공지능의 융합"
(The Coming Merger of Biological & Non Biological Intelligence)

 

패러다임의 변화 속도는 현재 매 10년마다 2배씩 빨라지고 있다. 따라서 이대로라면 21세기에는 오늘날로 환산했을 때 2만 년에 해당하는 발전을 이룩하게 될 것이다. 계산능력, 커뮤니케이션, 생명공학(예: DNA 염기서열분석), 뇌 스캔, 인간 두뇌에 관한 정보를 비롯한 인류의 전반적인 지식 수준이 더욱 급속한 속도로 가속화될 것이다. 아울러 그 결과로 가격대성능이나 용량, 대역폭이 통상 매년 두 배씩 확대될 것이다. 일반에 널리 알려진 ‘무어의 법칙’은 이러한 ‘수확 가속의 법칙(law of accelerating returns)’을 뒷받침하는 다양한 사례들 중 하나에 불과하다. 기술의 핵심을 구성하는 요소들의 물리적 크기 역시 10년마다 ‘4/길이차원’의 속도로 축소되고 있다. 3차원 분자 컴퓨팅 기술의 개발로 2030년 전까지 인간에 필적하는 ‘강력한’ 인공지능을 갖춘 하드웨어를 구현할 수 있게 될 것이다. 또한 현재 추진중인, 인간 두뇌를 대상으로 한 리버스엔지니어링의 부분적인 지원을 받아 소프트웨어에 관한 보다 중요한 통찰을 얻게 될 것이다.

인류는 생물학의 근간을 이루는 소프트웨어 프로그램인 유전자에 관한 정보를 빠른 속도로 습득해가고 있다. 그뿐만 아니라 각종 질병이나 노화 과정을 정보 프로세스의 한 가지 형태로 이해하고 있으며, 그러한 프로세스들을 새로 프로그래밍하기 위한 도구들을 개발하고 있다. 일례로, RNA 간섭을 이용하여 특정 유전자의 발현을 막는 한편 혁신적인 유전자치료법을 적용하여 새로운 유전자를 효과적으로 주입할 수도 있다. 앞으로 10년 혹은 20년 안에 인류는 질병과 노화의 진행을 중단시키고 그 방향을 뒤로 되돌릴 수 있게 될 것이며 인류 보건 향상과 수명 연장에 큰 진전을 이룩하게 될 것이다.

소프트웨어 및 그에 관련된 여러 유형의 정보들로 구성된 제품과 서비스가 차지하는 비율은 빠르게 100%에 점근(漸近)하고 있다. 정보기술 분야의 디플레이션율은 하드웨어와 소프트웨어 모두에서 매년 50%에 육박하며, 경제 전반에 강력한 디플레이션 요인으로 작용하고 있다. 전체 경제에서 정보기술이 차지하는 비중 역시 기하급수적으로 증가하고 있으며 수십 년 내에 세계 경제의 상당 부분이 정보 산업과 소프트웨어 산업으로 채워지게 될 것이다.

정보기술의 가격대성능과 용량이 끊임없이 새로운 지평에 도달함에 따라 혁신적인 애플리케이션이 등장하는 반면 기존의 사업모델들은 사업성을 잃어가고 있다. 미디어산업의 사업모델들(음악, 영화, 신문, 잡지, 텔레비전, 라디오)은 이미 위기를 맞고 있다. 의료계 역시 요행에 기대던 과거의 개발 방식에서 탈피하여 질병과 노화의 기초가 되는 정보 프로세스를 새롭게 프로그래밍하기 위한 정확한 전략을 목표로 근본적인 이행을 추진하는 초기 단계에 있다. 모든 산업 분야는 갈수록 수확 가속의 법칙의 영향권에 속하게 됨에 따라 궁극적으로 지금과는 완전히 다른 모습으로 변모하게 될 것이다. 현재 진행중인 변화의 속도가 급속하기 때문에 심지어 3~5개년 사업계획을 수립하는 과정에서도 해당 산업의 모든 수준에서 중대한 변화가 초래될 가능성을 항상 고려해야 한다. 그럼에도 불구하고 모든 유형의 정보기술의 향방을 정확하게 예측하고 그러한 예측 결과를 사업계획에 반영하는 작업은 얼마든지 가능하다.

무생물 지능이 인간 지능의 영역과 섬세함에 필적하게 되는 순간이 오면, 즉각적인 정보의 공유가 가능한 기계의 속성과 정보 기반 기술의 끊임없는 가속성에 힘입어 무생물 지능은 인간 지능을 월등히 능가하게 될 것이다. 지능형 나노로봇은 우리 주변과 인간의 신체 그리고 뇌 속에 깊숙이 파고들어 수명을 대폭 연장하고 인간의 모든 감각과 반응하는 완전한 가상현실을 구현하는 한편, 다른 사람의 경험을 ‘비밍(beaming)’, 즉 공유하고 인간 지능을 보다 향상시킬 수 있다. 이는 기술을 창조하는 종(種)과 그로부터 비롯되는 진화 과정 사이의 밀접한 융합을 의미하게 된다.


 

발표자 : 레이몬드 커즈와일



 

  레이몬드 커즈와일은 월스트리트저널과 포브스 잡지로부터 각각 “쉬지 않는 천재”와 “궁극의 사고 기계”라는 평가를 받았다. 잉크 매거진(Inc. magazine)은 그를 미국 내 8대 기업가로 선정하면서 “토마스 에디슨의 진정한 후계자”로 극찬했다. 또한 PBS는 지난 2세기 동안 “미국을 형성한 혁명적인 위인” 16인의 명단에 다른 발명가들과 함께 그의 이름을 올렸다.

  우리 시대의 가장 위대한 발명가 중 한 명인 커즈와일의 발명품으로는 CCD 평판 스캐너, 광학 폰트인식 시스템, 시각장애인용 인쇄물-음성 변환장치, 텍스트-음성 신디사이저, 그랜드피아노와 오케스트라 협주악기의 음색을 재현한 음악 신디사이저, 최초로 상용화된 대용량 어휘 음성인식 시스템 등이 있다. 그의 웹사이트(Kurzweil AI.net)는 1백만 명 이상의 독자층을 보유하고 있다.

 

  대외 수상 경력으로는 세계에서 가장 권위 있는 기술혁신상인 MIT-레멜슨 상 (MIT-Lemelson Prize)과 상금 50만 달러를 수상했으며, 1999년에는 백악관에서 클린턴 전 대통령으로부터 과학기술 분야의 최고 영예인 국가기술훈장을 서훈받았다. 또한 2002년에는 미국 특허청에서 설립한 발명가 명예의 전당에 헌정됐다.

커즈와일은 지금까지 총 13개의 명예박사학위를 받았으며 세 명의 미국 대통령으로부터 훈장을 수여받았다.

그는 모두 다섯 권의 저서를 집필했으며 그 중 네 권이 베스트셀러 반열에 올랐다. 『21세기 호모 사피엔스(The Age of Spiritual Machines)』는 9개국어로 번역 출간되어 아마존닷컴에서 과학 분야 도서 판매량 1위를 기록하기도 했다. 그의 최신작인 『특이성의 도래(The Singularity is Near)』는 뉴욕타임즈 베스트셀러로 선정됐으며 아마존닷컴 과학 및 철학 분야에서 판매량 1위에 올랐다.


진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크

[리버스 엔지니어링] 올리 디버거 1.10

소프트아이스에 대한 추억을 가진 이들에게 유용한 툴이다.

 

 

 

OllyDbg 는 마이크로 소프트 윈도우에서 동작하는 32-bit 어셈블러 레벨의 분석이 가능한 디버거이다. 바이너리 코드 분석에 중점을 두어 소스코드를 볼 수 없을경우 특히 유용하다. OllyDbg 는 쉐어웨어이지만, 무료로 다운로드하여 사용할 수 있다.

 


 

홈페이지 : http://www.ollydbg.de/

관련자료 : http://openproject.nazzim.net/

진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크

[FreeBSD] cvsup-bin을 이용한 System Upgrade

STEP 1: 패키지 설치.
cvsup-bin 을 설치 하셔야 됩니다.
두가지 방법이 있습니다.
!첫번째방법 : sysinstall을 이용하여 Configure -- Packages -- CDROM/FTP -- net -- cvsup-bin 을 설치한다.
여기서 CDROM/FTP 는 설치 시디롬을 가지고 있으신분은 CDROM을 이용하시고 랜으로 연결되신분은 FTP를 선택하여 ftp~ftp6까지 본인의 위치에서 가장 빠른 서버를 선택하셔서 진행하시면 되겠습니다.

# /stand/sysinstall

!두번째 방법 : ports를 이용한 설치 방법이 되겠습니다.
# cd /usr/ports/net/cvsup-bin
# make install clean
위에 진행한 방식대로 root로써 진행하시면 설치가 됩니다.
설치가 되었는지 확인 할 방법은 pkg_info 를 이용하십시요.

자! 이제 패키지 설치는 다 되었습니다.
그럼 설정을 변경하여 내 위치에서 가장 빠르고 좋은 방법을 선택하며 설정화일을 변경해 보겠습니다.



 

STEP 2: 설정 변경

우선 /etc/make.conf 를 만들어야 합니다. /etc/defaults/make.conf 가 기본설정입니다. 프비는 cvsup을 하게 되면 /etc/defaults/make.conf 를 확인합니다. 그리고 설정을 적용한 후 /etc/make.conf의 설정을 오버레잇합니다. 그러므로 동일 설정이 있다면 /etc/make.conf 가 후에 적용되기 때문에 실질적인 적용이 되겠죠. 이쁘게 만들어야 합니다.
어떻게? 잘!!!
우선 /etc/defaults/make.conf 를 모두 한번 자세히 읽어보시고 제가 말씀 드리는 작업을 진행하시면 좋겠습니다.

참고로 /etc/default/make.conf는 수정하지 마십시요..(특히 병록이 -0-;;)

제가 사용하는 make.conf입니다.
=================/etc/make.conf=====================
USA_RESIDENT=NO
CFLAGS= -O -pipe -Wall
COPTFLAGS= -O -pipe -Wall
INSTALL= install -C
SUP_UPDATE= yes
SUP= /usr/local/bin/cvsup
SUPFLAGS= -g -L 2 -Z -h cvsup.kr.freebsd.org
NO_SENDMAIL=TRUE
PORTSSUPFILE= /cvsup/ports-supfile
DOCSUPFILE= /cvsup/doc-supfile
SUPFILE= /cvsup/stable-supfile
=================cut here===========================

첫줄은 미국내에 없다라는 옵션입니다. 많은 곳에서 이 설정을 보니까 미국내에 없으신분들은 꼭 해주세요. 라이센스 문제니 뭐니 해서 미국내에 없는 옵션이 편합니다.
2,3 줄은 컴파일 옵션입니다. 무슨 내용인지 궁금 하신분은 man gcc 하세요. ;)
SUP에 들어가는 값은 cvsup-bin 패키지를 설치했을때 설치되는 cvsup이라는 바이너리의 위치입니다. STEP 1처럼 진행하셨다면 언제나! 항상! /usr/local/bin/cvsup에 있습니다. 확인 방법은
# pkg_info -L `pkg_info | grep cvsup-bin | awk '{print $1}'`
로 확인 가능합니다. 뭐 저렇게 기냐구염? 저렇게 않하실라면 cvsup-bin의 버젼을 아시고 계시다면 pkg_info -L cvsup-bin-16.1 이렇게 적어 주면 되는데요. 모르실 경우 pkg_info로 cvsup-bin패키지의 풀네임을 확인하시고 pkg_info -L 패키지명.. 이런식으로 해야 그 패키지에 포함된 파일들의 위치와 이름을 볼 수 있습니다.
아아..쓸때없는 설명 무지 깁니다. :-)

SUPFLAGS= -g -L 2 -Z -h cvsup.kr.freebsd.org
여기서 -g는 그래픽옵션을 빼는 거구 -L 2 는 출력되는 로그의 레벨입니다. 0으로 주면 조용합니다. -Z는 압축하지 말라는 옵션입니다. 그러니까 cvsup서버에서 소스 받아올때 압축 하지 않구 그냥 받아서 하겠다는거져. -h는 cvsup서버입니다. 국내에는 cvsup,cvsup2.kr.freebsd.org의 두개의 미러가 있습니다.

훔훔..그 아래줄은 제가 센드멜을 따로 가져다가 컴팔해서 쓰기 때문에 소스업데이트 할때 센드멜은 하지 말라는 옵션인데 만일 저 옵션을 뺀다면 제가 닥질해서 다시 설치한 센드멜이 디포트로 되버립니다. -_-;
센드메일은 프비의 베이스입니다. 기본 소스라고 해야되나?

다음은 3줄은 제가 업데이트 하는 내용들입니다.
솔직히 저 3개면 충분합니다. 저 많은 파일은 /usr/share/examples/cvsup에 있습니다.
doc-supfile : /usr/doc 의 내용을 새로 업그레이드 합니다.
ports-supfile : /usr/ports 의 내용을 새로 업그레이드 합니다.
stable-supfile : /usr/src 의 내용을 새로 업그레이드 합니다.

위에 위치는 제가 옮겨서 설치한 위치입니다.
나중에 업그레이드 하다가 보면 /usr/share/examples/cvsup/* 내용들이 변할지도 모른다는...변하는지 아닌지에 대해서는 자세히 모르겠습니다.
하지만 원본은 남겨두는 습관이 있어서요.
님들도 옮겨서 하시기 바랍니다.

이제 supfile설정에 대해서 살펴 보겠습니다.
doc-supfile의 경우 저의 설정은 이렇습니다.
=============doc-supfile====================
*default host=cvsup.kr.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix
#*default compress
doc-all
=============================================
주석문이 쭈우욱 있고 내용들이 많습니다.
하지만 이거면 충분합니다.
압축의 경우 make.conf에서 실행시 -Z 옵션 주고 하시면 압축하지 않습니다.
하지만 직접 디렉토리에 방문해서 update 를 할때는 설정 파일을 참조 하기 때문에 뺐습니다. 제가 압축을 하지 않는 이유는 시피유는 딸리고 네트웍은 빠르기 때문입니다. ;)

이번에는 ports-supfile입니다.
===================ports-supfile====================
*default host=cvsup.kr.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix
#*default compress
ports-all
====================================================
역시 이거면 됩니다.
ports를 업글하실때 chinese와 japanese 패키지를 올리기 싫으신분은 아래에 카테고리 별로 열거된 태그를 이용해 주시기 바랍니다.
#ports-all # ports-all을 막고
ports-base
ports-archivers
ports-astro
...
#ports-chinese #중국시장을 겨냥한 포트
...
#ports-japanese #일본
...
#ports-russian #러시안
...
#ports-vietnamese #베트남
...
ports-x11-wm

위와 같이 하셔도 됩니다. 전 그냥 받습니다만 막을까 생각중입니다.
현재 설치된 포트도 제거하고 ;-)

이번엔 stable-supfile입니다.
================stable-supfile======================
*default host=cvsup.kr.FreeBSD.org
*default base=/usr
*default prefix=/usr
# change "RELENG_4" to "RELENG_3" or "RELENG_2_2" respectively.
*default release=cvs tag=RELENG_4
*default delete use-rel-suffix
#*default compress
#src-all
src-base
src-bin
src-contrib
src-etc
#src-games
src-gnu
src-include
src-kerberos5
src-kerberosIV
src-lib
src-libexec
src-release
src-sbin
src-share
src-sys
src-tools
src-usrbin
src-usrsbin
src-crypto
src-eBones
src-secure
src-sys-crypto
====================================================

다 똑같습니다. 그러나 하나 다른게 있죠.
버젼입니다.
제가 사용하는 FreeBSD는 4.x 시리즈 입니다.
그렇기 때문에 *default release=cvs tag=RELENG_4 를 사용합니다.
3.x를 사용하시는 분은 RELENG_3 을 2.2 를 사용하시는분은 RELENG_2_2 를 입력하시기 바랍니다. 현재 프비 3.x대를 쓰시는 분이 stable-supfile에 버젼 체크 부분에 RELENG_4 를 쓰시게 되면 프비 버젼이 3.x에서 4.x로 올라가 버립니다. 각 버젼별로 /etc의 설정과 /dev가 많이 다릅니다. 버젼을 올리시는 업그레이드의 경우 make-world/make-world.html target=_blank>http://www.nothing-going-on.demon.co.uk/FreeBSD/make-world/make-world.html 에 있는 문서를 참조 하시기 바랍니다.
위에 제 컴의 시피유가 않좋은 관계로 (펜티엄3 500 싱글) 하나라도 빼는게 make world 시간을 단축하는 요인이므로 위와 같이 사용합니다. :-(

와!! 이제 설정이 끝났습니다.
이제 업그레이드 하는 법을 살펴 보죠.

STEP 3: 적용하기.
1. ports를 최신 패키지 목록으로 변경하겠습니다.
# cd /usr/ports
# make update
끝입니다. 이러면 쫘아아아악 업그레이드 상황이 표시 됩니다.

2. Documentation Update(최신 문서로 새로 고침)
# cd /usr/doc
# make update

3. System-Base Update
3-1. 소스만 올리기: 이 경우 /etc/make.conf에 지정한 supfile이 다 적용됩니다.
# cd /usr/src
# make update

3-2. 바이너리까지 컴파일하여 전체 시스템 올리기(stable로)
# cd /usr/src
# make world
( make world == make buildworld + make installworld )
위 3-2와 같이 수행 후에 반드시 커널을 다시 컴팔하여 리붓해주어야 완벽한 업그레이드 시스템이 되는것을 명심하시기 바랍니다.
커널과 베이스 바이너리간의 충돌이 야기 됨.

supfile에 대한 설명.(다음은 /usr/share/examples/cvsup/README 의 내용입니다.)
To maintain the sources for the FreeBSD-current release, use:

standard-supfile Main source tree

ports-supfile Ports collection

To maintain the sources for the FreeBSD-stable release, use:

stable-supfile Main source tree

To maintain a copy of the CVS repository containing all versions of
FreeBSD, use:

cvs-supfile Main source tree and ports collection

To maintain a copy of the FreeBSD bug database, use the file:

gnats-supfile FreeBSD bug database

IMPORTANT: Before you use any of the supfiles in this directory,
you will need to edit in an appropriate "host" setting. See:

http://www.freebsd.org/handbook/mirrors.html

for an up-to-date list of public CVSup mirror sites.

자질구레하게 글은 많았지만 해줄껀 별로 없습니다.
빨리 하시고 싶으신 분을 위해 빠른 설치 권법에 대해 쓰겠습니다.

:Quick Install
(다음을 복사하여 쉘스크립으로 만든후 실행하십시요)
#----------------------cvsup_setting_goosia--------------------
SPORT = /usr/ports
SSRC = /usr/src
SDOC = /usr/doc
makeCONF = /etc/make.conf
CVSDOC = /cvsup/doc-supfile
CVSPORTS = /cvsup/ports-supfile
CVSSTABLE = /cvsup/stable-supfile

cd $SPORT/net/cvsup-bin
make install clean
echo "USA_RESIDENT=NO" > $makeCONF
echo "CFLAGS= -O -pipe -Wall" > $makeCONF
echo "COPTFLAGS= -O -pipe -Wall" >> $makeCONF
echo "INSTALL= install -C" >> $makeCONF
echo "SUP_UPDATE= yes" >> $makeCONF
echo "SUP= /usr/local/bin/cvsup" >> $makeCONF
echo "SUPFLAGS= -g -L 2 -Z -h cvsup.kr.freebsd.org" >> $makeCONF
echo "NO_SENDMAIL=TRUE" >> $makeCONF
echo "PORTSSUPFILE= /cvsup/ports-supfile" >> $makeCONF
echo "DOCSUPFILE= /cvsup/doc-supfile" >> $makeCONF
echo "SUPFILE= /cvsup/stable-supfile" >> $makeCONF

mkdir /cvsup
echo "*default host=cvsup.kr.FreeBSD.org" > $CVSDOC
echo "*default base=/usr" >> $CVSDOC
echo "*default prefix=/usr" >> $CVSDOC
echo "*default release=cvs tag=." >> $CVSDOC
echo "*default delete use-rel-suffix" >> $CVSDOC
echo "*default compress" >> $CVSDOC
echo "doc-all" >> $CVSDOC
echo "*default host=cvsup.kr.FreeBSD.org" > $CVSPORTS
echo "*default base=/usr" >> $CVSPORTS
echo "*default prefix=/usr" >> $CVSPORTS
echo "*default release=cvs tag=." >> $CVSPORTS
echo "*default delete use-rel-suffix" >> $CVSPORTS
echo "*default compress" >> $CVSPORTS
echo "ports-all" >> $CVSPORTS
echo "*default host=cvsup.kr.FreeBSD.org" > $CVSSTABLE
echo "*default base=/usr" >> $CVSSTABLE
echo "*default prefix=/usr" >> $CVSSTABLE
echo "#*default release=cvs tag=RELENG_3" >> $CVSSTABLE
echo "*default release=cvs tag=RELENG_4" >> $CVSSTABLE
echo "*default delete use-rel-suffix" >> $CVSSTABLE
echo "*default compress" >> $CVSSTABLE
echo "src-all" >> $CVSSTABLE
#----------------------cut here--------------------------------

위의 스크립은 STEP1,2를 진행한 것입니다.
업그레이드 되는 것은 doc,ports,stable_source입니다.
stable소스가 아닌 standard를 원하시는 분은 직접 작성하여 사용하시기 바랍니다.

 


 

출처 : http://goosia.com/


진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크

[FreeBSD] 시스템 업데이트(make world)

다음은 CVSUP, make World, Build Kernel 등등을 한줄로 끝냅니다.

우선 한줄권법을 수행하기 전에.
/etc/make.conf와 /usr/src/sys/i386/conf/MYKERNEL을 생성해두어야 합니다.
그리고 인터넷이 가능해야 합니다.

make.conf는 /etc/defaults/make.conf를 참고하시고,
MYKERNEL은 /usr/srs/sys/i386/conf/GENERIC과 LINT를 참고해서 만드세요.

MYKERNEL의 경우 파일명은 마음대로 하셔도 됩니다.

다음 한줄 권법은 bash를 사용한다는 가정하게 설명드립니다.
# 프롬프트는 root 인건 아시죠? -_-a
---
# cd /usr/src && ( make update && make -j4 buildworld && make buildkernel installworld installkernel KERNCONF=MYKERNEL ) 2>&1 | tee /root/m.log
---
참고로 KERNCONF=MYKERNEL은 4.2-stable 이후에 가능하며 4.1이하 버전이라면 KERNEL=MYKERNEL 하시면 됩니다.. 그리고 컴파일 log는 /root/m.log에 저장됩니다.
제대로 컴파일이 완료되었다면
---
# mergemaster
---
하여 시스템의 설정파일을 새로 빌드한 것에 맞춰야 합니다.
제대로 완료하셨다면.... 리붓~
---
# reboot

 


 

출처 : http://goosia.com

진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크