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

리눅스마스터1급 : 리눅스시스템의 실행레벨(runlevel)

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터1: 리눅스시스템의 실행레벨(runlevel)






 

프로세스의 실행 레벨

 

컴퓨터가 부팅이 되면서 init 프로세스는 /etc/inittab 파일의 내용을 한 행씩 실행한다.

 

 

 

이 파일에 실행 레벨을 정하여 두고 설정에 따라 리눅스가 각 실행 레벨로 부팅한다

 

(/etc/inittab에 런레벨에 관한 모든 설정을 하는 경우와 inittab에 실행할 런레벨을 설정하고 실제 실행 레벨에 관한 사항은 /etc/init/rc.conf에 기술하는 경우가 있다.

 

 

 

이 둘의 실질 내용은 동일하다). 런레벨 0부터 6까지는 각각의 실행 레벨에 따라 어떻게 행동할 것인지 지정한다.

 

 

 

그리고 관리자는 실행레벨 하나를 지정하고, init는 지정된 실행레벨의 스크립트들을 실행한다.

 

 

 

이 스크립트들의 실행 여부에 따라 부팅시 실행될 프로그램이 달라진다.

 

 

 

, 실행레벨은 부팅과 셧다운 과정 동안 어떤 데몬과 서비스들이 시작되고 종료될지를 결정한다.

 

 

 

다음은 런레벨의 목록, 수행되어야 할 프로세스들이 지정되어 있는 디렉토리 및 이에 대한 설명이다.

 

 

 

 

 

Runlevel 0

디렉토리

/etc/rc.d/rc0.d

설명

셧다운 절차에 대해 책임진다.

 

 

모든 프로세스들을 종료시키고, 파일 시스템을 unmount하는 작업을 포함한다.

Runlevel 1

디렉토리

/etc/rc.d/rc1.d

설명

단일 사용자 모드. 보통 시스템 관리자가 시스템에 특정 설정을 할 때 사용한다.

 

시스템이 이 모드에 있을 때는 다른 사용자들은 로그인할 수 없다.

Runlevel 2

디렉토리

/etc/rc.d/rc2.d

설명

다중 사용자 모드. , NFS를 지원하지 않는다.

Runlevel 3

디렉토리

/etc/rc.d/rc3.d

설명

다중 사용자 모드. 대부분의 배포판에서 기본적인 런레벨로 사용하는 runlevel. 충분히 네트워크가 가능한 리눅스 시스템으로 사용될 수 있도록 대부분의 서비스들이 시작될 수 있도록 설정할 수 있다.

 

Runlevel 4

디렉토리

/etc/rc.d/rc4.d

설명

사용자 정의 레벨로 정의될 수 있도록 비어있는 레벨이다.

Runlevel 5

디렉토리

/etc/rc.d/rc5.d

설명

그래픽 로그인 프롬프트

시작되는 서비스들은 실행레벨 3과 동일하게 설정할 수 있다.

Runlevel 6

디렉토리

/etc/rc.d/rc6.d

설명

재실행 모드. 이 실행 레벨은 거의 실행 레벨 0과 같지만, init.d가 시스템이 재실행 될 것인지, 종료될 것인지를 결정한다.

 

 

 

이러한 실행레벨의 스크립트들에 대해 관리자가 반드시 알아야 하는 사항들을 정리하면 다음과 같다.

 

 

 

 

 

디렉토리의 모든 파일들은 모두 링크파일 형태로 존재한다.

 

 

 

 

링크파일들은 모두 /etc/rc.d/init.d 디렉토리의 실제 파일로 링크되어 있다.

 

 

 

 

, 이 링크에 의해 각 실행 단계별로 필요한 프로세스들을 실행하기도 하며 실행하지 않을 수도 있다.

 

 

 

 

이 디렉토리에 존재하는 모든 파일들은 K로 시작하거나 S로 시작한다.

 

 

 

 

K로 시작하는 스크립트 파일들은 해당 부팅레벨 (여기서는 현재 3번 부팅레벨)에서는 실행되지 않는 프로세스들이며, S로 시작하는 스크립트 파일들은 해당 부팅레벨에서 부팅 시에 실행하는 프로세스들이다.

 

 

 

 

KS의 숫자들은 실행될 순서를 나타낸 것이다.

 

 

 

 

이런 링크를 생성하고 삭제할 수 있는 명령어는 chkconfig이다.

 

 

 

, 각 부팅레벨바다 링크파일을 별도로 만들고 삭제하고 KS를 변경할 수 있는 명령어이다.

 

 

 

 

 

그리고 한 가지 더 주의 깊게 보아야 할 것은 맨 마지막 스크립트가 S99local이라는 것이다.

 

 

 

이 스크립트에 의해 /etc/rc.d/rc.local 스크립트가 수행된다.

 

 

 

, /etc/rc.d/rc.local 파일에 설정해 둔 내용들이 부팅 시마다 매번 자동 실행되는 이유는 여기에 있다.

 

 

 

 

 

관련자료

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

공지사항


뉴스광장


  • 현재 회원수 :  60,043 명
  • 현재 강좌수 :  35,853 개
  • 현재 접속자 :  82 명