리눅스의 부팅 모드

런레벨

-전통적인 system V 기반의 리눅스에서 시스템의 실행 상태와 동작 모드를 정의하는 단계
-쉽게 말해서 전통적인 부팅 모드라고 보면 된다.

기본 타깃

-systemd 가 등장하면서 런레벨 개념이 기본 타깃(basic.target)으로 대체되었다.
-타깃이란 여러 systemd 유닛을 그룹화하기 위한 개념이며
-부팅 모드에 적용하여 A부팅 모드일 때 실행할 유닛들, B부팅 모드일 떄 실행할 유닛들 과 같이 그룹화를 해놓은 것이다.

런레벨과 기본 타깃

런레벨 타깃 유닛 설명
0 runlevel0.target, poweroff.target 시스템 종료하고 전원을 끔
1 runlevel1.target, rescue.target 단일 사용자 모드로 복구 셸을 설정
2~4 runlevel2~4.target, multi-user.target 그래픽이 없는 다중 사용자 시스템
5 runlevel5.target, graphical.target 그래픽 다중 사용자 시스템
6 runlevel6.target, reboot.target 시스템을 종료하고 재부팅

부팅 모드 확인과 변경

부팅 모드 확인과 변경 방법

부팅 모드 확인

부팅 모드 확인 방법 사용방법 설명
systemctl get-default systemctl get-default 현재 기본 부팅 모드(타깃) 확인
runlevel runlevel 현재 런레벨과 이전 런레벨 확인
systemd에서는 대체로 사용되지 않음

부팅 모드 변경

부팅 모드 변경 방법 사용방법 설명
systemctl set-default systemctl set-default [타깃 이름] 기본 부팅 모드를 변경
다음 부팅 시 설정한 타깃이 기본값으로 사용됨
systemctl isolate systemctl isolate [타깃 이름] 현재 시스템을 지정한 타깃으로 즉시 전환
telinit telinit [런레벨 번호] 현재의 runlevel 을 즉시 변경함
전통적인 systemV init에서 사용되는 명령어
하지만 systemd 에서도 호환성을 제공하여 사용 가능

isolate : 격리하다

예시

런레벨 확인

1
2
3
4
5
systemctl get-default
>> multi-user.target

runlevel
>> N 3

런레벨 변경

1
2
3
4
5
systemctl set-default graphical.target

systemctl isolate multi-user.target

telinit 3

Reference

UNIX시스템 - 김희천,김진욱 저