런레벨의 개념
런레벨(runlevel)은 리눅스 시스템의 운영 모드를 정의하는 숫자 또는 이름이다. 각 런레벨은 시스템이 어떤 서비스와 데몬을 실행할지를 결정한다. 현대적인 배포판에서는 systemd를 사용하여 타겟(target)이라는 개념으로 런레벨을 관리한다.
런레벨의 종류
아래는 systemd에서 사용되는 타겟과 전통적인 런레벨 간의 대응 관계를 나타낸 표이다.
런레벨 | 영문 모드 | systemd 타겟 | 설명 |
0 | Power Off | runlevel0.target poweroff.target |
시스템 종료 모드이다. 시스템을 안전하게 종료한다. |
1 | Rescue | runlevel1.target rescue.target |
구조 모드(단일 사용자 모드)이다. 최소한의 서비스만 실행된다. |
3 | Multi-User | runlevel3.target multi-user.target |
멀티유저 모드(콘솔)이다. 네트워크가 활성화된 텍스트 모드이다. |
5 | Graphical | runlevel5.target graphical.target |
멀티유저 모드(GUI)이다. 그래픽 데스크톱 환경을 제공한다. |
6 | Reboot | runlevel6.target reboot.target |
시스템 재부팅 모드이다. 시스템을 재시작한다. |
런레벨 모드를 확인하는 방법
현재 타겟 확인하기
systemd를 사용하는 리눅스 배포판에서 현재 설정된 기본 타겟을 확인하려면 다음 명령어를 사용한다.
$ systemctl get-default
graphical.target
이는 현재 시스템이 그래픽 데스크톱 환경으로 부팅된다는 것을 의미한다.
또는 심볼릭 링크를 확인하여 기본 타겟을 알 수 있다.
$ ls -l /etc/systemd/system/default.target
/etc/systemd/system/default.target -> /usr/lib/systemd/system/graphical.target
여기서 /etc/systemd/system/default.target
은 현재 기본 타겟을 가리키는 심볼릭 링크이며, graphical.target
을 가리키고 있다.
현재 런레벨 확인하기
전통적인 런레벨 번호를 확인하려면 다음 명령어를 사용한다.
$ runlevel
N 5
여기서 N
은 이전 런레벨을 나타내며, 5
는 현재 런레벨이다.
런레벨을 변경하는 방법
일시적으로 런레벨 변경하기
systemd에서는 isolate
명령어를 사용하여 타겟을 일시적으로 변경할 수 있다.
$ sudo systemctl isolate [타겟 이름]
예를 들어, 구조 모드(rescue mode)로 변경하려면:
$ sudo systemctl isolate rescue.target
부팅 시 기본 런레벨 변경하기
명령어를 사용하여 변경
부팅 시 시스템이 시작되는 기본 타겟을 변경하려면 set-default
명령어를 사용한다.
$ sudo systemctl set-default [타겟 이름]
예를 들어, 텍스트 기반의 멀티유저 모드로 변경하려면:
$ sudo systemctl set-default multi-user.target
변경 사항이 적용되었는지 확인하려면:
$ systemctl get-default
multi-user.target
심볼릭 링크를 수동으로 변경
심볼릭 링크를 직접 수정하여 기본 타겟을 변경할 수도 있다.
$ sudo ln -sf /usr/lib/systemd/system/multi-user.target /etc/systemd/system/default.target
주의 사항
- 중요한 작업 진행 중에는 런레벨 변경을 신중히 해야 한다. 시스템 서비스가 중지되거나 예기치 않은 동작이 발생할 수 있다.
- root 권한이 필요하므로 명령어 실행 시 주의해야 한다.
- 런레벨 변경 후에는 일부 서비스나 데몬이 예상대로 동작하지 않을 수 있으므로, 필요한 경우 수동으로 시작하거나 설정을 확인해야 한다.
참고 자료:
728x90
'CS > Linux' 카테고리의 다른 글
[Linux] 사용자와 그룹 (1) | 2024.09.18 |
---|---|
[Linux] 마운트 (0) | 2024.09.18 |
[Linux] vi 에디터 (1) | 2024.09.18 |
[Linux] 가상 콘솔 (0) | 2024.09.18 |
[Linux] 개요 (1) | 2024.09.15 |