| cvsup-bin을 이용한 SYSTEM UPGRADE (글 이상민) | 작성일 : 2004/01/11 23:09 |
| 조회수 : 8966 |
|
FreeBSD에서 CVSup으로 시스템 업드레이드하는 방법을 설명한다. 출처 : Goosia, http://www.goosia.com/board/view.php?id=FreeBSD&no=42 ---------------------------------------------------------------------------- 제 목 : cvsup-bin을 이용한 SYSTEM UPGRADE 권법 작성자 : Goosia Lee (이상민) 작성일 : 2000-12-12 13:49:36 ---------------------------------------------------------------------------- CHATTING을 하다보니 요즘 새로 프비를 설치 하시는 분이 많아 졌습니다. 다아~~준호님의 책이 발간되서 그런가 봅니다. 그런데 다들 아시리라 생각했던 cvsup을 모르시는 분들이 많이 있었습니다. 우메..이 좋은 기능을...ports때문에 프비를 쓰는 사람이 무지무지 많은데 말이져. 그래서 프비의 cvsup-bin에 대해서 알아보겠습니다. 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가 많이 다릅니다. 버젼을 올리시는 업그레이드의 경우 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를 원하시는 분은 직접 작성하여 사용하시기 바랍니다. 그럼 이만 권법을 마치겠습니다. Homepage: http://goosia.com/ E-Mail : goosia@goosia.com Name : Goosia Lee (이상민) |
|||||||||
|
|