리눅스 실행레벨(RunLevel)은 유닉스에서부터 시작되었다. 시스템 관리를 용이하게 만들기 위해 사용되었다.
예를 들어 시스템을 실행할 때 네트워크를 사용할지말지, 여러 명의 사용자가 로그인하도록 허용할지 말지, GUI를 제공할지말지 등을 구별해서 시스템을 구동시키는 것이다.
리눅스 런레벨 종류
런레벨 | 설명 | 특징 |
0 | Halt | 시스템 중지 기본값으로 설정 불가 |
1 | Sing user mode | 단일 사용자모드 시스템 복구 등 관리 목적으로 사용하는 모드로 네트워크나 서버, 파일 공유 같은 서비스가 제공되지 않으며, 바로 root 계정으로 로그인 됨 |
2 | Mutiuser, without NFS | 네트워크를 사용하지 않는 다중 사용자 모드 Runlevel 3에서 네트워크를 사용하지 않는 모드 |
3 | Full multiuser mode | 일반적인 다중 사용자 모드 |
4 | Unused | 사용자가 정의해서 사용 가능 |
5 | X11 | X 윈도우(GUI)를 사용하는 다중 사용자 모드 최근 배포되는 리눅스에서 기본값으로 사용 |
6 | Reboot | 시스템 재부팅 기본값으로 설정 불가 |
현재 시스템의 런레벨을 확인하기 위해서는 'runlevel' 명령어를 사용하면 된다.
[root@localhost ~]# runlevel
N 3
runlevel 명령어의 결과로 'N 3'이라는 값이 출력되는데 첫 번째 자리는 이전에 실행되던 부팅레벨이며, 두 번째 자리가 현재 실행 중인 부팅 레벨을 의미한다. 'N'은 존재하지 않는 부팅레벨을 뜻하며 부팅후 부팅레벨이 변경되지 않았음을 의미한다. 'S'라는 숫자는 1(싱글유저)과 동일한 의미를 갖는다.
런레벨 변경
리눅스의 런레벨은 'init' 명령으로 변경할 수 있다. 예를 들어 'init 0'이라고 입력하면 '런레벨을 0으로 변경하라'라는 의미로 시스템을 종료하라는 의미로 사용된다.
시스템이 부팅될 때의 기본 런레벨은 '/etc/inittab' 파일에 정의되어 있다.
# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
#
id:3:initdefault:
이 파일에서 중간에 3이라는 값이 시스템의 기본 런레벨을 의미한다. 이 값을 5로 설정하면 GUI를 제공하는 모드로 시스템이 구동된다.
댓글