우분투 고급 모드에서 시작이 무엇을 의미하나요?
1. Upstart 작동 방식
Upstart에서는 이벤트 기반 작업 모드를 지원하도록 초기화 스크립트를 업데이트해야 합니다. upstart는 시스템 시작 시 시작되는 자체 init 프로세스를 유지 관리합니다(다른 모든 방법의 경우와 마찬가지로). ?
먼저 init는 두 가지 핵심 이벤트 중 하나인 시작 이벤트를 내보냅니다. 시작 이벤트는 시스템이 시작될 때 init에 의해 발생되고 시스템이 종료될 때 종료 이벤트가 발생합니다. 다른 핵심 이벤트로는 Ctrl-Alt-Delete를 눌렀음을 나타내는 ctrlaltdel 또는 Alt-위쪽 화살표(위쪽 화살표) 키 조합을 눌렀음을 나타내는 kbdrequest가 있습니다.
initctl 도구는 telinit와 유사한 기능을 제공하지만 몇 가지 upstart 관련 기능이 추가되어 있습니다. 앞에서 본 것처럼 initctl 및 발행 옵션을 사용하여 시작에 대한 이벤트를 생성할 수 있습니다. 목록 옵션을 사용하면 작업 상태를 식별하여 시스템 작동에 대한 통찰력을 얻을 수 있습니다. 현재 대기 중인 서비스와 현재 활성화된 서비스를 알려줍니다. initctl 도구는 디버깅 목적으로 수신된 이벤트를 표시할 수도 있습니다.
Upstart는 init의 흥미로운 대안이며 몇 가지 고유한 장점을 가지고 있습니다. 시스템이 부팅 시 하드웨어를 최대한 활용하므로 더 이상 실행 수준을 사용할 이유가 없습니다. 제공되지 않은 하드웨어는 해당 하드웨어가 필요한 작업을 트리거하지 않습니다. Upstart는 핫 플러그 장치도 잘 처리합니다.
예를 들어 시스템이 부팅된 지 한참 후에 PCMCIA 네트워크 카드를 삽입하면 네트워크 인터페이스 추가 이벤트가 생성됩니다. 이 이벤트로 인해 DHCP(동적 호스트 구성 프로토콜) 작업이 네트워크 카드를 구성하고 네트워크 인터페이스 작동 이벤트를 생성합니다. 이 새 인터페이스에 기본 경로가 할당되면 default-route-up 이벤트가 생성됩니다. 이 시점에서 네트워크 인터페이스(예: 메일 서버 또는 웹 서버)가 필요한 작업이 자동으로 시작될 수 있습니다(인터페이스가 사라지면 이러한 서비스는 자동으로 중지됩니다).
2. upstart 사용
upstart를 컴파일하고 설치하는 것은 매우 간단하며 일반적인 구성, 만들기 및 설치 패턴을 따릅니다.
Upstart는 일반적인 초기화 구성과 호환되는 작업 예시 세트를 제공합니다. initng와 마찬가지로 새 애플리케이션은 요구 사항에 따라 자체 작업을 작성해야 합니다(그리고 새 이벤트를 추가할 수도 있음). 그럼에도 불구하고 새로운 초기화 시스템 배포와 관련된 몇 가지 위험이 있습니다. 그러나 신생 기업의 장점은 이러한 위험을 감수하고 기타 필요한 작업을 수행할 가치가 있다는 것입니다.
위에 소개된 것처럼 initctl 도구는 사람들이 telinit에서 기대하는 기능을 제공합니다. 그러나 initctl은 추적 및 디버깅을 위한 추가 기능도 제공합니다.