Sun시스템 부팅절차

FAQ 2005/07/05 14:06
Boot PROM 단계

1.system identification banner의 표시
system의 model, keyboard, host ID, PROM version 및 Ethernet
adress를 화면에 나타난다.

2.self-test diagnostics의 실행
boot PROM의 자가진단 program은 system의 Hardware와 memory를
확인한다. 자가진단를 성공적으로 마쳐야만 다음 boot 과정을
실행한다.

3.PROM에 정의된 boot장치에서 boot program을 찾는다.
boot PROM은 'ufs'filesystem reader를 포함하고 있는 system 첫번째
boot program인 'bookblk'(1-15 sector에 위치함)을 읽는다.( boot
PROM 내의 boot 장치는 변경시킬수 있음)

4.boot program load
filesystem reader는 boot 장치를 열고 두번째 boot program인
/ufsboot 를 memory에 load한다.

5./ufsboot program을 load한후 boot PROM은 kernel(/kernel/unix)을
load한다.


Kernel 초기화 단계

6.kernel은 스스로 초기화한후 /ufsboot program을 이용하여 module
들을 load 한다.
kernel이 root partition을 mount 하는데 필요한 module을 읽고나면
/ufsboot program은 memory에서 제거되고, 계속해서 kernel 자신의
자원을 이용하여 초기화한다.


/sbin/init 단계

7. kernel은 사용자 process 한개를 생성하며 /sbin/init program을
실행시킨다. /sbin/init program은 /etc/inittab file에 기록된 내용을
실행한다.
init process는 하나의 rc script 또는 실행 가능한 다른 script들을
차례로 실행시킨다. 이러한 script(/sbin/rc*)들은 filesystem을 check
하고 mount하며, 여러 process들을 기동시킨다.
2005/07/05 14:06 2005/07/05 14:06
#ifconfig hmeX ether xx.xx.xx.xx.xx.xx
/etc/rc2.d/S72inetsvc 수정하여 적용한다.

#eeprom local-mac-address?=true
#reboot
2005/07/05 14:05 2005/07/05 14:05
1.vi편집기로 아래와 같은 스크립트를 만듭니다.

[root@op root]# vi rotate.sh
#!/bin/bash
DATE=`/bin/date +%y%m%d`
/bin/cp /usr/local/apache/logs/access_log /usr/local/apache/logs/access_log.$DATE
cat /dev/null > /usr/local/apache/logs/access_log
/bin/gzip /usr/local/apache/logs/access_log.$DATE
/bin/cp /usr/local/apache/logs/error_log /usr/local/apache/logs/error_log.$DATE
cat /dev/null > /usr/local/apache/logs/error_log
/bin/gzip /usr/local/apache/logs/error_log.$DATE
위의 아파치 로그 경로는 실제 아파치 로그가 있는 경로로 설정해주면 됩니다.
예를 들어 /var/log/httpd/에 로그파일을 옮겼다면 모든 경로를
/var/log/httpd로 바꿔놓으면 됩니다.

2.다음과 같이 실행 가능한 파일로 변경 합니다.
[root@op root]# chmod 755 rotate.sh

3.위의 스크립트를 clontab에 넣어서 매일 실행하게 합니다.
[root@op root]# crontab -e
0 3 * * * /root/rotate.sh
스크립트가 있는 경로를 등록해주시면 되고 매일 3시에 돌게 되어있습니다.

4.스크립트가 실행되어 로그가 일자별로 압축되어 저장된 결과입니다.
[root@op root]# cd /usr/local/apache/logs/
[root@op logs]# ls
access_log access_log.031031.gz error_log error_log.031031.gz httpd.pid
로그체크를 할때 필요한 날짜의 로그만 압축을 풀어서 확인하시면 되겠죠?

위의 스크립트를 응용하면 아파치 로그뿐만 아니라 /var/log 아래
있는 여러 로그들을 일별로 효율적으로 관리할 수 있습니다.
2005/07/05 14:04 2005/07/05 14:04