Linux Server
2013.04.01 11:39

리눅스의 부팅과 Run Level(실행레벨)

조회 수 3568 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

1. 시스템 부팅 과정

리눅스의 부팅과정은 다음과 같습니다.
   ▪ Power On
   ▪ ROM BIOS에서 지정된 부트 드라이브로 부팅 시작
   ▪ 부트 섹터 로드
   ▪ GRUB 작동
   ▪ 커널 이미지(/boot/vmlinuz-2.6.31) 적재
   ▪ 파일 시스템 마운트
   ▪ 시스템 초기화 프로그램(init) 작동
   ▪ 로그인


이중 유심히 보아야 할 과정이 바로 커널 이미지 적재부터 init 프로세스 작동까지입니다.

커널 이미지(/boot/vmlinuz-버전)가 적재될 때 메모리, 디스크등의 여러 하드웨어들을 체크하여 이에 대한 자세한 정보를 화면상으로 출력해 줍니다. 화면상에 출력되는 정보를 다시 보고 싶다면 부팅 후 다음의 명령어를 이용하면 됩니다.

[root@localhost /]# cat /var/log/dmesg
[root@localhost /]# cat /var/log/messages

 

하드웨어가 검색된 후 커널은 부트로더의 설정파일(/boot/grub/menu.lst)에 있는 root= 항목에 명시된 파티션을 루트 파일 시스템으로 마운트 시킵니다. 이때 루트 파티션을 잘못 입력하거나, 해당 파티션에 운영체제가 없는 경우 더 이상 부팅이 진행되지 않고 커널 패닉상태로 빠지게 됩니다. 따라서, menu.lst 파일은 가급적 수정하지 않는 것이 좋습니다.

루트 파일 시스템이 정상적으로 마운트된 후 프로세스 ID(pid) 1번 값을 가지는 init 프로세스에 의해서 리눅스 시스템의 초기화가 이루어집니다. init 프로세스는 리눅스상에 동작하는 모든 프로세스를 실행/관리하는 역할을 하며 /etc/inittab 파일을 참조하여 다양한 프로세스를 실행하게 됩니다.

 


2. /etc/inittab 파일의 구성

    001.JPG

 

/etc/inittab 파일은 시스템을 초기화하는데 중요한 역할을 하며 파일의 주요 내용은 다음과 같습니다.

 

① 기본 실행 레벨(Default Run Level)
실행레벨은 init 프로세스에 의해 시스템이 어떻게 작동할 것인가를 결정해 주는 실행 값을 의미합니다. 리눅스의 실행레벨은 총 7가지가 있으며 각 단계별 설명은 다음과 같습니다.

 

   0  :  시스템 중지(halt)
   1  :  단일 사용자 모드, single 모드로 쉘로 바로 부팅
   2  :  NFS 기능을 제외한 다중 사용자 모드
   3  :  모든 기능을 포함한 다중 사용자 모드, 콘솔 부팅
   4  : 사용하지 않음
   5  :  X-Window로 부팅

   6  :  시스템 리부팅

 

기본 실행레벨 값을 지정하는 방법은 inittab 파일 내에 id:5:initdefault:에서 설정할 수 있습니다. 만일 ID값을 3으로 설정한다면 다음 재부팅때 부터는 콘솔로 부팅을 하라는 의미가 됩니다.

또한, 로그인한 후에 실행레벨을 호출하고자 할때는 telinit라는 명령을 이용하면 됩니다.
[root@localhost /]# telinit 5                        // X-Window로 변경
[root@localhost /]# telinit 6                        // 시스템 재부팅

 

② 실행 레벨별 시스템 초기화

리눅스는 /etc/inittab에서 지정한 실행레벨을 참조하여 이와 일치하는 /etc/rc.d/rc[0-6].d 스크립트가 실행됩니다.

002.JPG

 

/etc/rc.d/rc[0-6].d 스크립트는 실행레벨에 맞게 데몬을 실행하고나 중지 시키는 역할을 하고 있습니다.
다음 그림은 실행레벨 3, 0에 대한 스크립트를 보여주고 있습니다.

스크립트 파일명중 ‘K’는 해당 서비스를 종료하라는 의미이며, ‘S’는 해당 서비스를 시작하라는 의미입니다. 실핼레벨 0인 경우 모든 서비스를 종료한 후 마지막으로 시스템 종료 명령인 halt를 실행하는 것을 볼 수 있습니다.

 

003.JPG

 

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
9 Linux Server 파일시스템 관리 2 - 하드링크와 소프트링크 1 file 송재진 2013.11.25 5202
8 Linux Server 파일시스템 관리 1 - 리눅스 파일시스템의 이해 file 송재진 2013.11.07 6806
7 Linux Server 계정 관리 3 - PAM 모듈을 이용한 로그인 관리 file 송재진 2013.07.24 4300
6 Linux Server 계정 관리 2 - chage를 이용한 비밀번호 관리 file 송재진 2013.07.23 3676
5 Linux Server 계정 관리 1 - 사용자 계정생성/삭제 file 송재진 2013.04.30 9365
» Linux Server 리눅스의 부팅과 Run Level(실행레벨) file 송재진 2013.04.01 3568
3 Linux Server 문서편집기의 사용 - vi editor file 송재진 2011.11.05 9586
2 Linux Server Linux 사용을 위한 기초 명령어 1 송재진 2009.12.24 7168
1 Linux Server Fedora(페도라) Linux 12 소개 및 설치 file 송재진 2009.12.21 11066
Board Pagination Prev 1 Next
/ 1
© k2s0o1d6e0s8i2g7n. ALL RIGHTS RESERVED.