리눅스에서 런레벨이란 무엇입니까?
Linux 시스템이 부팅되면 기본 런레벨을 입력하고 해당 런레벨과 관련된 시작 스크립트를 실행합니다. 런레벨간에 전환 할 수도 있습니다 (예 : 복구 및 유지 보수 작업을 위해 설계된 런레벨이 있음)..
전통적으로 Linux는 System V 스타일의 init 스크립트를 사용했습니다. 새로운 init 시스템은 결국 전통적인 런레벨을 사용하지 않지만 아직 사용하지는 않았습니다. 예를 들어 Ubuntu의 Upstart 시스템은 여전히 전통적인 System V 스타일의 스크립트를 사용합니다.
런레벨이란 무엇인가??
리눅스 시스템이 부팅 할 때, 초기화 프로세스. init은 시스템에서 다른 프로세스를 시작합니다. 예를 들어, 리눅스 컴퓨터를 시작할 때, 커널은 init를 시작하고 init은 시작 스크립트를 실행하여 하드웨어를 초기화하고 네트워킹을 시작하며 그래픽 데스크탑을 시작합니다.
그러나 init 스크립트가 실행되는 단일 세트 만있는 것은 아닙니다. 예를 들어, 하나의 런레벨이 네트워킹을 시작하고 그래픽 데스크탑을 시작하는 반면 다른 런레벨은 네트워킹을 사용하지 않고 그래픽 데스크탑을 건너 뛸 수 있습니다. 즉, 여러 가지 서비스를 수동으로 시작하고 중지하지 않고도 "그래픽 데스크탑 모드"에서 "네트워킹없이 텍스트 콘솔 모드"로 한 명령으로 이동할 수 있습니다..
보다 구체적으로 init는 런레벨에 해당하는 특정 디렉토리에있는 스크립트를 실행합니다. 예를 들어 우분투에서 런레벨 3을 입력하면 init은 /etc/rc3.d 디렉토리에있는 스크립트를 실행합니다.
적어도, 이것이 전통적인 System V init 시스템에서 작동하는 방식입니다. Linux 배포판은 이전의 System V init 시스템을 대체하기 시작했습니다. Ubuntu의 Upstart가 현재 SysV init 스크립트와의 호환성을 유지하고 있지만 이것은 미래에 변경 될 가능성이 있습니다.
런레벨
일부 런레벨은 리눅스 배포판 사이의 표준이지만 일부 런레벨은 배포판마다 다릅니다.
다음 런레벨이 표준입니다 :
- 0 - 정지 (시스템을 종료합니다.)
- 1 - 단일 사용자 모드 (시스템은 데몬이나 네트워킹을 시작하지 않고 수퍼 유저 모드로 부팅합니다. 복구 또는 진단 환경으로 부팅 할 때 이상적입니다.)
- 6 - 재부팅
런레벨 2-5는 배포판에 따라 다릅니다. 예를 들어, Ubuntu와 Debian에서 runlevels 2-5는 동일하며 네트워크 및 그래픽 로그인으로 완전한 다중 사용자 모드를 제공합니다. Fedora와 Red Hat에서 런레벨 2는 네트워킹 (콘솔 로그인 전용)이없는 다중 사용자 모드를 제공하고, 런레벨 3은 네트워킹 (콘솔 로그인 전용)이있는 다중 사용자 모드를 제공하고, 런레벨 4는 사용되지 않으며, 런레벨 5는 다중 사용자 모드를 제공합니다 네트워킹 및 그래픽 로그인.
다른 런레벨로 전환하기
시스템이 이미 실행 중일 때 다른 런레벨로 전환하려면 다음 명령을 사용하십시오 :
sudo telinit #
#을 전환 할 런레벨 번호로 바꾸십시오. sudo를 사용하지 않는 배포판을 실행하고 있다면 sudo를 생략하고 root 권한으로 명령을 실행하십시오..
특정 런레벨로 직접 부팅
부트 로더 (예 : Grub)에서 부팅 할 런레벨을 선택할 수 있습니다. 부팅 프로세스가 시작되면 키를 눌러 Grub에 액세스하고 부팅 항목을 선택한 다음 e를 눌러 편집하십시오.
추가 할 수 있습니다. 단일 끝까지 리눅스 행을 사용하여 단일 사용자 runlevel (runlevel 1)을 입력하십시오. (Ctrl + x를 눌러 부팅하십시오.) 이것은 Grub의 복구 모드 옵션과 동일합니다.
전통적으로 커널 매개 변수로 숫자를 지정하면 해당 런레벨로 부팅 할 수 있습니다 (예 : 삼 대신에 단일 런레벨 3로 부팅 할 수 있습니다. 그러나 이것은 우분투의 최신 버전에서 작동하지 않는 것으로 보입니다. - 업 스타트는 허용하지 않는 것 같습니다. 마찬가지로 기본 런레벨을 변경하는 방법은 배포판에 따라 다릅니다..
Ubuntu의 Upstart 데몬은 여전히 SystemV init 시스템을 에뮬레이트하지만이 정보는 앞으로 많이 변경 될 것입니다. 예를 들어, Upstart는 이벤트 기반입니다. 이벤트가 발생할 때 서비스를 중지하고 시작할 수 있습니다 (예 : 하드웨어 장치가 시스템에 연결될 때 서비스가 시작되고 장치가 제거 될 때 서비스가 중지 될 수 있음). Fedora에는 자체 승계 초기화하려면 systemd.