Runlevel

Runlevel 확인 및 변경 방법

개념 및 목적

Runlevel은 시스템 관리의 용이함을 위해 서비스의 실행을 단계별로 구분하여 적용하는 것을 말한다. 일반적으로 0에서 6까지 총 7 가지의 Runlevel이 존재하고, 각 Runlevel에는 번호에 따라 서비스가 중지되거나 재시작되어 사용자가 시스템의 동작을 제어 할 수 있다[1].

기능 및 옵션

<Runlevel의 기능(Redhat 기준)>

레벨

모드

정의

0

halt

시스템 종료

1

Single-user text mode

단일 사용자 모드. 시스템 복원 모드라고도 하며, 파일시스템을 점검하거나 관리자 암호를 변경할 때 사용.

2

Not used (user-definable)

임의로 정의해서 사용할 수 있는 레벨. 기본적으로는 사용하지 않음.

3

Full multi-user text mode

완전 다중-사용자 텍스트 모드.

일반적인 쉘 기반의 인터페이스를 가진 다중 사용자 모드.

4

Not used (user-definable)

임의로 정의해서 사용할 수 있는 레벨. 기본적으로는 사용하지 않음.

5

Full multi-user graphical mode

완전 다중-사용자 그래픽 모드. Runlevel 3과 동일하지만, GUI를 제공하는 그래픽 유저 모드.

6

Reboot

시스템 재부팅. Runlevel 6를 init default로 설정한다면 시스템은 무한 재부팅 상태가 되기 때문에 주의.

실행 및 확인 방법

1. 서버에서 현재 Runlevel 확인 # runlevel # who -r # grep initdefault: /etc/inittab

2. /etc/inittab 파일을 vi 편집기를 열어 19행에 initdefault 설정 변경 (서버 재부팅 시, /etc/inittab 파일에 설정한 Runlevel로 이동 ) # vi /etc/inittab

2-1. id:3:initdefault:로 설정하면, 서버 재부팅 시 텍스트 모드로 시작됨.

2-2. id:5:initdefault:로 설정하면, 서버 재부팅 시 그래픽 유저 모드로 시작됨.

3. 명령어 init 로 Runlevel 변경 가능 (단, 명령어 init은 단순히 런레벨을 변경해서 부팅하는 명령어이기 때문에 시스템 재부팅하게 되면 텍스트 유저 모드로 부팅됨.) # init 5

Reference

[1] Linux Runlevels Explained - LiquidWeb https://www.liquidweb.com/kb/linux-runlevels-explained/

Last updated