Target
기존 Unix/Linux는 부팅 시 제공하는 기능의 수준을 결정하는 Runlevel이라는 개념을 사용했다.
다만 systemd가 도입되며 Target이라는 용어로 변경되었다. Runlevel에 따른 Target은 아래와 같다.
Runlevel | Target | 의미 |
0 | poweroff.target | 시스템 중단 |
1 | rescue.target | 텍스트 기반의 단일 사용자 모드 |
2, 3, 4 | multi-user.target | 텍스트 기반의 다중 사용자 모드 |
5 | graphical.target | X 윈도우 기반의 다중 사용자 모드 |
6 | reboot.target | 시스템 리부팅 |
systemd
systemd(System daemon)은 시스템 부팅 시 가장 먼저 생성된 후 다른 프로세스를 실행하는 init 역할을 대체한다.
대부분의 리눅스 시스템에 공식적으로 채택되었다.
명령어
현재 런레벨(타겟) 확인
현재 사용하고 있는 런레벨을 확인한다.
runlevel
# 또는
who -r
시스템 기본 타겟 확인
시스템이 부팅 시 사용하는 타겟을 확인한다.
systemctl get-default
시스템 지원 타겟 확인
시스템이 지원할 수 있는 타겟 목록을 확인한다.
# 활성화된 타겟만 출력
systemctl list-units --type target
# 비활성화된 타겟 포함하여 출력
systemctl list-units --type target --all
시스템 기본 타겟 변경
시스템이 부팅 시 사용하는 타겟을 변경한다. 설정 후 재부팅 시 변경한 타겟을 사용한다.
systemctl set-default <TARGET>
# 예시
systemctl set-default multi-user.target
현재 타겟 변경
현재 사용 중인 타겟을 변경한다.
systemctl isolate <TARGET>
# 또는
systemctl start <TARGET>
# 예시
systemctl isolate multi-user.target
systemctl start multi-user.target
참고 문서
https://www.lesstif.com/system-admin/systemd-system-daemon-systemctl-24445064.html
https://www.lesstif.com/system-admin/linux-systemd-systemctl-run-level-target-98926803.html
https://www.freedesktop.org/software/systemd/man/runlevel.html
https://en.wikipedia.org/wiki/Systemd#/media/File:Systemd_components.svg