Upstart 개요
100%

Init · 레슨 3

Upstart 개요

레거시 Upstart init 시스템이 이벤트 표현식을 작업 수명 주기 목표와 연결하는 방법을 알아봅니다.

Upstart는 Canonical이 개발한 레거시 이벤트 기반 init 및 서비스 관리 시스템입니다. 구형 우분투와 몇몇 다른 배포판이 사용했지만 현재 우분투 릴리스는 systemd를 사용합니다. 최신 설치의 기본값으로 가정하지 말고 확인된 레거시 호스트를 유지 관리할 때 Upstart를 학습하십시오.

레거시 Upstart 호스트 확인하기

PID 1과 활성 제어 인터페이스를 검사합니다.

$ ps -p 1 -o pid,comm,args=
$ readlink /proc/1/exe
$ initctl version

마지막 명령은 Upstart 제어 서비스와 클라이언트가 있는 곳에서만 의미 있게 성공합니다. /usr/share/upstart 같은 디렉터리나 /etc/init 아래에 남은 파일은 약한 증거입니다. 다른 init 시스템이 제어권을 가져간 뒤에도 패키지와 마이그레이션 잔여물이 남을 수 있습니다.

호스트가 실제로 Upstart를 사용한다는 가장 강한 증거는 무엇입니까?

작업과 이벤트

Upstart 작업은 프로세스 명령과 수명 주기 조건을 포함해 서비스나 태스크를 설명합니다. 이벤트는 선택적인 환경 변수가 있는 이름 붙은 알림입니다. 작업 설정은 목표가 언제 시작 또는 중지 상태로 바뀌어야 하는지 표현할 수 있습니다.

시스템 작업 파일은 일반적으로 /etc/init/ 아래에 .conf 접미사로 있습니다. 예는 다음과 같습니다.

description "Example worker"
start on runlevel [2345]
stop on runlevel [016]
exec /usr/local/sbin/example-worker

이 설정은 런레벨 이벤트를 호환성 입력으로 사용합니다. 시스템이 어떤 이벤트를 내보내는지에 따라 Upstart는 파일 시스템, 장치, 네트워크 또는 애플리케이션 정의 이벤트에도 반응할 수 있습니다.

Upstart start on 스탠자가 정의하는 것은 무엇입니까?

이벤트 구동 시작

시작 중에 Upstart는 작업 정의를 불러오고 이벤트를 받습니다. 일치하는 start on 또는 stop on 표현식이 작업 목표를 갱신합니다. 작업 전환은 다른 작업을 진행시킬 추가 이벤트를 내보낼 수 있습니다. 독립적인 작업은 동시에 진행될 수 있습니다.

이 모델은 하나의 하드 코딩된 전역 스크립트 순서를 피하지만 이벤트 이름, 순서 및 조건이 암묵적이면 진단하기 어려울 수 있습니다. 이벤트는 기본적으로 영구 메시지 큐가 아니므로 나중에 작업을 추가하거나 조건을 바꿀 때 모든 과거 이벤트가 다시 전달된다고 가정해서는 안 됩니다.

Upstart 작업 하나가 다른 작업의 시작으로 이어질 수 있는 방식은 무엇입니까?

마이그레이션과 호환성

systemd는 일부 레거시 서비스 스크립트에 제한적인 호환성을 제공할 수 있지만 Upstart 작업 구문을 네이티브 systemd 단위로 실행하지는 않습니다. 마이그레이션할 때는 파일 이름만 기계적으로 바꾸지 말고 수명 주기 조건, 환경, 재시작 정책, 로깅, 의존성 및 준비 상태 의미를 옮기십시오.

현재 표준 우분투 릴리스가 사용하는 init 시스템은 무엇입니까?

레슨 완료

Upstart 개요 완료

이제 Upstart를 레거시 이벤트 및 작업 모델로 이해할 수 있습니다.

  • 실행 중인 PID 1과 제어 인터페이스를 확인합니다.

  • 작업 정의와 이벤트 알림을 구분합니다.

  • start onstop on을 수명 주기 표현식으로 해석합니다.

  • 설정 파일 이름만 바꾸지 말고 의미를 명시적으로 마이그레이션합니다.

학습 진행 상황 저장

무료 계정을 만들어 이 레슨을 저장하고 어떤 기기에서든 계속 학습하세요.

무료 계정 만들기
다음 수업
Init(으)로 돌아가기