본문 바로가기
OS/Linux Server

[Linux] Run Level

by Haengsin 2021. 12. 13.

 

Run Level

리눅스에는 런레벨(Run Level)이라는 개념이 있다.

CentOS 리눅스의 Run Level은 0부터 6까지 총 7단계로 구성되어 있으며, 시스템 관리를 위해 서비스 실행에 관련된 명령을 단계 별로 구분하여 적용하는 것을 의미한다.

 

시스템 관리를 용이하기 위해 만들어졌으며 시스템을 실행할 때 네트워크를 사용할 지, 여러 명의 사용자가 로그인을 할 수 있도록 허용할 지, 그래픽 인터페이스를 사용할 지 구분해서 시스템을 구동 시키는 것이다.

 

일반적으로 리눅스 터미널에서 시스템을 종료하기 위해서 init 0을 입력하거나 재부팅을 위해 init 6을 입력한다. 이와 같이 init 뒤에 단계를 나타내는 숫자를 붙이는 형식으로 사용한다.

 

/etc/inittab 파일의 id:3:initdefault: 부분에서 결정되며,

0과 6은 사용하면 안된다. 0은 시스템 종료, 6은 재부팅. 시스템을 켤 수 없게 될 수 있다.

RunLevel 0

Power Off: 시스템 종료.

Default 설정 금지

 

RunLevel 1

Rescue: 시스템 복구 모드.

단일 사용자 모드로서 관리자 쉘을 얻게 된다.

- 로그인 과정 없이 root 계정으로 로그온.

- 네트워크, 서버, 파일 공유 등과 같은 서비스 사용 안 함.

- 시스템 점검/복구, root 계정 패스워드 초기화 등 시스템 관리 목적으로 사용.

 

RunLevel 2

Multi-User: NFS를 지원하지 않는 Multi-User 모드.

즉, 네트워크를 사용하지 않는 상태의 텍스트 유저 모드를 뜻하는 데 CentOS7부터는 사용되지 않는 레벨이다. 다만 호환성을 위해 RunLevel 3과 동일한 것으로 취급한다.

 

RunLevel 3

Full Multi-User: 텍스트 모드의 다중 사용자 모드.

일반적인 쉘 스크립트 기반의 인터페이스로 작동하는 Multi-User 모드이다. 일반적으로 텍스트 유저 모드라고 부른다.

 

RunLevel 4

Multi-User(unused): 기본적으로는 사용하지 않는 모드.

RunLevel2와 같이 호환성을 위해 RunLevel3과 같은 것으로 취급한다. 해당 단계에 대한 설정을 임의로 정의해서 별도로 사용하기도 한다.

 

RunLevel 5

Graphical: 그래픽 모드의 다중 사용자 모드.

기본적으로 RunLevel3과 동일하지만, GUI를 제공하는 그래픽 유저 모드이다.

 

RunLevel 6

Reboot: 시스템 재부팅.

RunLevel 0과 마찬가지로 이 상태로 변경하라는 명령을 내리게 되면 시스템을 재부팅하게 된다.

Default 설정 금지

 

 

 

 

시스템에 등록된 Run Level 확인 방법

1.runlevel?.target

$ ls -l /lib/systemd/system/runlevel?.target

위의 경로에서 각각의 파일에 들어가면 runlevel별 구성 정보를 확인할 수 있다.

 

2. Default.target

$ ls -l /lib/systemd/system/default.target

아래와 같이 심볼릭 링크(Symbolic Link)를 변경해서 기본 Run Level(default.target)을 변경할 수 있다.

$ ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

 

 

 

 

Command

 

 

$ runlevel

runlevel 이라는 명령어를 사용하면,

첫 번째 자리는 이전에 실행되던 부팅레벨이며, 두 번째 자리가 현재 실행 중인 부팅 레벨이다.

  • N 은 존재하지 않는 부팅 레벨을 의미하며, 부팅 후 부팅 레벨이 변경되지 않았음을 의미
  • S 는 1(싱글유저)와 동일한 의미이다.

$ init 0 // init 0~6

init [level] 명령어를 통해 작동 중인 Run Level 을 변경할 수 있다.