티스토리 뷰

리눅스/시스템

런레벨(run level)

로또_ 2020. 2. 11. 10:36

런 레벨

시스템 관리의 용이함을 위하여 서비스의 실행을 단계별로 구분하여 적용하는 것입니다. 저사양의 PC나 사냥이 좋은 PC를 사용하는경우에도 간단하게 runlevel을 변경하는 것만으로도 메모리 사용률이 줄어들며, 쾌적하게 사용할 수 있습니다. 또한, runlevel의 변경은 root사용자의 경우만 가능합니다.

 

우분투의 LTS 버전이 16.04로 올라가면서 init이 아닌 systemd가 PID 1번을 부여받게 되었습니다. 따라서 아무리 init 설정을 변경해 run-level을 바꿔도 소용이 없습니다.

level 0(halt, DO NOT SET initdefault to this)

시스템 종료를 의미합니다. 즉, 런레벨 0으로 변경하라는 명령을 내리면 시스템을 종료하라는 것입니다.

 

 

level 1(single user mode)

시스템 복원 모드라고도 하며, 기본적으로 관리자 권한 쉘을 얻게됩니다. 주로, 파일 시스템을 점검하거나 관리자 암호를 변경할 때 사용합니다.

 

 

level 2(multiuser mode, without NFS)

NFS(Network File System)을 지원하지 않는 다중 사용자 모드입니다. 네트워크를 사용하지 않는 텍스트 유저모드 라고도 합니다.

 

 

level 3(full multiuser mode)

일반적인 쉘 기반의 인터페이스를 가진 다중 사용자 모드입니다. 그래픽유저가 아닌 텍스트 유저모드입니다.

 

 

level 4(unused)

4번은 쓰이지 않습니다. 기본적으로 사용되지 않지만, 임의로 정의해서 사용할 수 있는 레벨입니다.

 

 

level 5(X11)

기본적으로는 level 3와 같습니다. 다른 점은 그래픽 유저 모드 라는 것입니다.

 

 

level 6(reboot, DO NOT SET initdefault to this)

시스템 재부팅을 의미합니다. 런레벨 6으로 변경하라는 명령을 내리면 시스템을 재부팅합니다.

 

 

 


systemctl get-default 명령어로 현재 실행되고 있는 run-level을 알 수 있습니다.

 

systemctl isolate "변경할_런레벨".target 을 사용하면 현재의 런레벨을 즉시 바꿀 수 있습니다.

 

또한 영구히 런 레벨을 바꾸려면 system set-default multi-user.target 을 사용하면 됩니다.

 

 

 

systemctl 명령어를 사용하지 않고 링크 이동으로만 런레벨을 바꿀 수 있습니다. 우선 현재의 런레벨의 설정을 파악합니다.

 

다음으로 링크 변경을 통해 multi-user mode로 바꿀 수 있습니다. 바꾼후 reboot 후에 적용된 화면을 볼 수 있습니다.

반응형