강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

부팅 6단계 : /etc/rc.d/rc.sysinit스크립트 실행 (모든 부팅레벨)

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

부팅 6단계 : /etc/rc.d/rc.sysinit스크립트 실행 (모든 부팅레벨)

 

 

 

 

 

앞단계에서 시스템부팅레벨이 3번부팅레벨로 결정되었다.

 

 

 

 그리고 이번에는 그 다음행의설정내용에 의해 rc.sysinit이라는 스크립트파일이 실행된다.

 

 

 

 

 

# System initialization.

si::sysinit:/etc/rc.d/rc.sysinit

 

 

 

 

 

즉 위의 주석문(System initialization.)의 설명내용 처럼 /etc/rc.d/rc.d/rc.sysinit 스크립트파일은 "시스템초기화"작업을 수행하는 스크립트이다.

 

 

 

 즉 부팅레벨이 몇번인가와는  상관없이 모든 부팅레벨에서 시스템이 부팅되면 꼭 한번 실행되는 스크립트라고 이해하면 된다.

 

 

 

  /etc/rc.d/rc.sysinit파일은 약 971행으로서 그 수행내용이 굉장히 많다.

 

 

 

 다음은 이 파일의 내용전부를 지면에 나타내는 것은 힘들기 때문에 이 파일의 일부분만을 나타낸 것이다.

 

 

 

 

 

HOSTNAME=`/bin/hostname`

HOSTTYPE=`uname -m`

unamer=`uname -r`

 

set -m

 

if [ -f /etc/sysconfig/network ]; then

    . /etc/sysconfig/network

fi

if [ -z "$HOSTNAME" -o "$HOSTNAME" = "(none)" ]; then

    HOSTNAME=localhost

fi

 

if [ ! -e /proc/mounts ]; then

        mount -n -t proc /proc /proc

        mount -n -t sysfs /sys /sys >/dev/null 2>&1

fi

if [ ! -d /proc/bus/usb ]; then

        modprobe usbcore >/dev/null 2>&1 && mount -n -t usbfs /proc/bus/usb /proc/bus/usb

else

        mount -n -t usbfs /proc/bus/usb /proc/bus/usb

fi

 

. /etc/init.d/functions

중략

# Clear mtab

(> /etc/mtab) &> /dev/null

 

# Remove stale backups

rm -f /etc/mtab~ /etc/mtab~~

 

# Enter mounted filesystems into /etc/mtab

mount -f /

mount -f /proc >/dev/null 2>&1

mount -f /sys >/dev/null 2>&1

mount -f /dev/pts >/dev/null 2>&1

mount -f /proc/bus/usb >/dev/null 2>&1

이하생략

 

 

 

 

이 파일의 내용에는 시스템을 정상적으로 사용하기 위하여 설정해야하는 수많은 내용들이 있다.

 

 

 

 여러분들은 이 파일을 vi로 열어서 직접보기 바란다.

 

 

 

 필자는 이파일의 수행내용을 다음과 같이 정리해 보았다.

 

 

 

 즉 다음은 시스템부팅과정에서 init프로세스에 의해  /etc/rc.d/rc.sysinit파일이 어떤내용들을 수행하는가를 정리한 것이다.

 

 

 

 

 

default path설정

 

/etc/sysconfig/network 파일의 실행

 

ⓒ 네트워크 설정 확인 및 적용

 

swapon 명령으로 스왑작동하기

 

ⓔ 호스트이름, 도메인이름 설정하기

 

keymap loading

 

fsck 실행으로 파일시스템 점검하기(/etc/fstab파일참조하여)

 

PNP 하드웨어 점검하기

 

/proc 파일시스템 mount

 

kernel module load

 

depmod실행으로 모듈의존성 설정 (depmod -a실행의 의미는 modprobe   명령과 kerneld데몬에게 필요한 modules.dep파일을 갱신하는 의미

)

 


system clock 설정, 즉 시스템 시간을 설정한다.

 

 

system font load

 

ⓝ 파일청소 작업

 

ⓞ 시리얼포트 설정작업

 

/usr/sbin/netconfig 실행

 

/usr/sbin/timeconfig 실행

 

/usr/sbin/authconfig 실행

 

/usr/sbin/ntsysv 실행

 

utmp파일의 검사 및 생성

 

wtmp파일의 검사 및 생성

 

ⓥ 기타 시스템 초기화에 필요한 작업들을 수행

 

 

 

 

결론적으로 위의 내용들은 모두 부팅과정에서 실행되는 내용들이다.

 

 

 

 그리고 부팅과정에서 우리가 볼 수 있는 거의 모든 내용들이 이 파일(/etc/rc.d/rc.sysinit)의 위와 같은 수행내용들에 의한 것임을 알아 두어야 한다.

 

 

 

 두말할 필요없이 여러분들이 이파일의 내용을 직접 확인해 보면 이런 모든 궁금증이 해소될 것이다.

 

 

 

 이 파일의 내용을 여러분들 눈으로 직접 보기를 간곡히 부탁한다.

 

 

 

 

 

그리고 앞서 말했지만 이파일에 대한 중요한 한가지는 이 파일은 부팅레벨과는 상관없이 부팅시마다 반드시 한번은 반드시 수행된다는 것이다.

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,080 명
  • 현재 강좌수 :  36,011 개
  • 현재 접속자 :  357 명