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 을 변경할 수 있다.
'OS > Linux Server' 카테고리의 다른 글
[Linux] 1. 시스템 구성 정보 확인 (2) (0) | 2021.12.20 |
---|---|
[Linux] 1. 시스템 구성 정보 확인 (1) (0) | 2021.12.15 |
[Linux] 디스크 용량 확인 (0) | 2021.12.13 |
[Linux] Root 비밀번호 분실 시 찾기 (0) | 2021.12.13 |
[Linux] Linux에서 Docker를 운영하는 이유 (0) | 2021.11.29 |