Linux – Runlevel (런레벨)
Unix / Linux 운영 체제에서 시스템 상태를 정의하는 개념
각 런레벨은 시스템에서 실행되는 서비스와 프로세스를 결정하며, 시스템이 어떤 상태에서 동작할 지를 지정
런레벨은 숫자로 표현되며, 각 숫자는 시스템의 특정 상태를 의미
런레벨의 개요
런레벨 0: 시스템 종료 (halt / off)
- 시스템을 안전하게 종료하고 전원을 끕니다.
- 모든 프로세스가 종료되고, 파일 시스템이 안전하게 언마운트(unmount)됩니다.
런레벨 1: 단일 사용자 모드 (Single-user mode / Rescue)
- 시스템 유지보수를 위한 모드로, 네트워크 인터페이스가 비활성화되고, 다중 사용자 기능이 제한됩니다.
- 일반적으로 비상 복구나 시스템 점검을 위해 사용됩니다.
런레벨 2: 다중 사용자 모드 (Multi-user mode) – 네트워크 서비스 비활성화
- 여러 사용자가 동시에 시스템에 로그인할 수 있으며, 네트워크 서비스는 비활성화되어 있습니다.
- 기본적인 로컬 작업을 수행할 수 있습니다.
런레벨 3: 다중 사용자 모드 (Multi-user mode with networking) – 네트워크 서비스 활성화
- 여러 사용자가 동시에 시스템에 로그인할 수 있으며, 네트워크 서비스가 활성화됩니다.
- 대부분의 서버와 워크스테이션이 이 모드에서 운영됩니다.
런레벨 4: 정의되지 않음 (Not used/User-definable)
- 사용자 정의 런레벨로, 필요에 따라 특정 작업을 수행하는 데 사용할 수 있습니다.
- 기본적으로 정의되지 않았기 때문에 사용자가 직접 설정해야 합니다.
런레벨 5: 다중 사용자 모드 (Full mode) – GUI 포함
- 여러 사용자가 동시에 시스템에 로그인할 수 있으며, 그래픽 사용자 인터페이스(GUI)가 활성화됩니다.
- 데스크탑 환경이 기본적으로 이 모드에서 실행됩니다.
런레벨 6: 시스템 재부팅 (Reboot)
- 시스템을 안전하게 종료한 후 다시 시작합니다.
- 모든 프로세스가 종료되고, 파일 시스템이 안전하게 언마운트된 후 시스템이 재부팅됩니다.
런레벨 변경 및 확인
sudo runlevel // 현재 런레벨 확인 sudo init 6 // 런레벨 6으로 변경 (시스템 재부팅) ls -l /lib/systemd/system/runlevel?.target // 시스템의 런레벨 타겟 유닛 파일들 확인 ls -l /lib/systemd/system/default.target // 시스템의 런레벨 타겟 유닛 파일 확인 ln -sf /lib/systemd/system/multi-user.target /lib/systemd/system/default.target // 심볼릭 링크 런레벨 변경 // ln: 링크를 생성하는 명령어 // -s: 심볼릭 링크를 생성 // -f: 기존 파일이 존재하는 경우 강제로 덮어씀

