혼돈의 대답은 일부 문서가 말하는 것입니다. 그러나 실제로 시스템이하는 일은 아닙니다. (반 스무 렌 부르크 rc
가 한 일도 아닙니다 . 반 스무 렌 버그는rc
가장 먼저 정적 순서를 계산 하는 데 사용 된 LSB 헤더를 무시 하지 않았습니다insserv
.) "비 호환성"페이지와 같은 Freedesktop 설명서는 실제로 잘못된 것입니다. 이것들과 다른 점들. ( HOME
환경 변수는 실제로 예를 들어 설정되는 경우 가 많습니다.이 문서는 오랫동안 문서화되지 않은 상태였습니다. 최소한 설명서에 문서화되어 있지만 Freedesktop WWW 페이지는 여전히 수정되지 않았습니다.)
systemd의 기본 서비스 형식은 서비스 단위 입니다. systemd의 서비스 관리는 시스템 차원의 파일이 존재하는 9 개의 디렉토리 중 하나에서 읽은 것만 으로 작동합니다 .service
. /etc/systemd/system
, /run/systemd/system
, /usr/local/lib/systemd/system
, 및 /usr/lib/systemd/system
해당 디렉토리의 네 가지입니다.
van Smoorenburg rc
스크립트 와의 호환성 은이라는 이름의 변환 프로그램을 통해 달성됩니다 systemd-sysv-generator
. 이 프로그램은 /usr/lib/systemd/system-generators/
디렉토리에 나열되어 있으므로 부트 할 때마다 부트 스트랩 프로세스 초기에 시스템에 의해 자동으로 실행되며 나중에 systemd가 나중에 구성을 다시로드하라는 지시를받을 때마다 다시 실행됩니다.
이 프로그램은 제너레이터 로서, 9 개의 디렉토리 중 3 개 이상 (제너레이터 만 사용하도록되어있는)이있는 tmpfs에서 즉시 서비스 단위 파일을 작성하는 보조 유틸리티 유형 인 제너레이터입니다. 이름이 다른 6 개 위치에 이미 존재하는 기본 시스템 서비스 단위를 찾지 못한 경우 에서에서 systemd-sysv-generator
van Smoorenburg rc
스크립트 를 실행하는 서비스 단위를 생성합니다 /etc/init.d
.
시스템 서비스 관리는 서비스 단위에 대해서만 알고 있습니다. 이 자동 (재생) 서비스 단위는 van Smoorenburg rc
스크립트 를 호출하기 위해 작성됩니다 . 그들은 무엇보다도 :
[단위]
SourcePath = / etc / init.d / wibble
[서비스]
ExecStart = / etc / init.d / wibble 시작
ExecStop = / etc / init.d / wibble 정지
van Smoorenburg rc
스크립트에는 LSB 헤더가 있어야하며 /etc/rc?.d/
시스템이 부과하는 우선 순위를 따르지 않고 병렬로 실행 된다는 것이 지혜입니다 . 이것은 모든 점에서 올바르지 않습니다.
실제로 LSB 헤더가 필요하지 않으며 systemd-sysv-generator
더 제한적인 오래된 RedHat 주석 헤더 ( description:
, pidfile:
등)를 인식 할 수 없는 경우 . 또한 LSB 헤더가 없으면 /etc/rc?.d
심볼릭 링크 팜 의 내용으로 돌아가서 링크 이름으로 인코딩 된 우선 순위를 읽고 서비스에서 직렬화 / 이전 순서를 구성하여 서비스를 직렬화합니다. LSB 헤더는 요구 사항 일뿐만 아니라 사물을 어느 정도 직렬화하는 주문 전 / 후에 스스로 인코딩 할뿐만 아니라 완전 부재시의 폴백 동작은 실제로 크게 병렬화되지 않은 작업입니다.
/etc/rc3.d
중요하지 않은 이유는 다른 /etc/rc?.d/
디렉토리 를 통해 해당 스크립트를 활성화했기 때문일 수 있습니다. systemd-sysv-generator
의에 표시되는 번역 /etc/rc2.d/
, /etc/rc3.d/
그리고 /etc/rc4.d/
기본에 Wanted-By
systemd의의 관계 multi-user.target
. 시스템 수준에서는 실행 수준이 "더 이상 사용되지 않으며"잊어 버릴 수 있습니다.
추가 자료