운영체제 소스 업데이트
* cvsup을 이용하여 운영체제 소스를 업데이트 한다.
# cat /usr/local/user_bin/cvs_update.sh
내용 =================================
#!/usr/local/bin/bash
CVS_PRO=/usr/local/bin/cvsup
SUPFILE_DIR = /usr/local/etc/cvsup
$CVS_PRO -g -L 2 $SUPFILE_DIR/statble-supfile
$CVS_PRO -g -L 2 $SUPFILE_DIR/ports-supfile
* stable-supfile, ports-supfile을 미리 설정해야 한다.
/etc/make.conf설정
* /etc/make.conf 는 시스템을 컴파일하거나 업데이트할때 필요한 옵션을 설정하는 파일이다.
/etc/defaults/make.conf 파일에 쓸 수 있는 모든 항목이 열거되어 있는데 사용자가 바꾸고자 하는 파일은 /etc/make.conf 에 적용하면 된다.
* diff -r /etc/defaults/make.conf /usr/src/etc/defaults/make.conf =>바뀐부분 확인
내용=======================================
# grep -v ^# /etc/make.conf
CPUTYPE=i686
CFLAGS= -O -pipe
BDECFLAGS= -W -Wall -ansi -pedantic -Wbad-function-cast -Wcast-align
-Wcast-qual -Wchar-subscripts -Winline
-Wmissing-prototypes -Wnested-externs -Wpointer-arith
-Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings
NO_FORTRAN= true # do not build g77 and related libraries
NO_I4B= true # do not build isdn4bsd package
NO_LPR= true # do not build lpr and related programs
NO_OPENSSH= true # do not build OpenSSH
NO_SENDMAIL= true # do not build sendmail and related programs
NOGAMES= true # do not build games (games/ subdir)
NOPROFILE= true # Avoid compiling profiled libraries
NOUUCP= true # do not build uucp related programs
SUP_UPDATE= yes
SUP= /usr/local/bin/cvsup
SUPFLAGS= -g -L 2
SUPHOST= cvsup.kr.FreeBSD.org
SUPFILE= /usr/local/etc/cvsup/stable-supfile
PORTSSUPFILE= /usr/local/etc/cvsup/ports-supfile
SENDMAIL_CFLAGS=-I/usr/local/include -DSASL=2
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl2
KERNCONF=FBMyKernel
* openssh, sendmail을 운영체제에 들어있는것을 사용하지 않고 별도로 포트에 있는것 설치하여 사용. 보안업데이트를 편하게 하기 위한 방법입니다. openssl 은 운영체제에 있는것을 사용하였구요. sendmail은 별도로 설치하여 사용하므로 위의 sendmail옵션은 불필요할 것입니다.
업데이트하기
* object파일 지우기
# cd /usr/src && make clean
* make -j 8 world :
두가지 작업으로 나윈다. make build world는 소스코드를 /usr/obj 디렉토리에 컴파일한다. 성공적으로 끝날경우 make installworld를 하게 되면 컴파일된 바이너리를 적당한 위치에 설치한다. (-j옵션을 이용하여 SMP 기능을 사용할 수 있다.)
* -j 는 동시에 몇개의 작업을 수행할 것인지 정하는 옵션으로 SMP일 경우 8이상의 값을 주어 시간을 단축할 수 있다.
* P-3, 메모리 1G인 서버사양에서 make world에 1:30분정도 소요되었다.
컴파일 후 작업
*mergemaster 스크립트를 이용하여 /etc 디렉토리의 설정파일을 업그레이드 한다.
* /dev 디렉토리 업데이트
# cd /dev/ ; sh MAKEDEV all
* /stand 디렉토리 업데이트
# cd /usr/src/release/sysinstall; make all install
* 커널 컴파일 및 리부팅
커널 컴파일하기
* 설정파일 작성
# cd /usr/src/sys/i386/conf
# cp GENERIC FBMyKernel
# FBMyKernel 편집
# cd /usr/src
# make kernel KERNCONF=FBMyKernel (KERNCONF 는 /etc/make.conf에 지정됨)
make kernel은 make buildkernel과 make installkernel 로 구성됨
# reboot
....
리부팅후
# uname -a 로 확인
댓글 없음:
댓글 쓰기