이 초기화 스크립트를 종속성 없이 어떻게 시작할 수 있나요?

이 초기화 스크립트를 종속성 없이 어떻게 시작할 수 있나요?

저는 일부 lsb init 스크립트를 작업 중입니다. 다음은 그 중 하나에 대한 초기화 정보입니다.

### BEGIN INIT INFO
# Provides:     myscript
# Required-Start:   networking myotherscript
# Required-Stop:    networking myotherscript
# Default-Start:    2 3 4 5
# Default-Stop:     0 1 6
# Short-Description:    Starts my daemon
### END INIT INFO

myotherscript의 초기화 정보

### BEGIN INIT INFO
# Provides:     myotherscript
# Required-Start:   networking
# Required-Stop:    networking
# Default-Start:    2 3 4 5
# Default-Stop:     0 1 6
# Short-Description:    Starts my other daemon
### END INIT INFO

내가 올바르게 이해했다면 service myscript startmyotherscript가 실행되지 않는 한 실행은 아무런 효과가 없습니다. 그러나 실행은 service myscript start작동합니다.

적어도 충족되지 않은 종속성에 대한 오류는 발생하지 않는 이유는 무엇입니까?

답변1

이것service이 명령은 제공된 인수를 사용하여 init 스크립트를 실행하는 것 이상을 수행하지 않습니다. 특히 종속성을 처리하지 않습니다.

Fedora/RHEL/CentOS 및 Debian/Ubuntu/Mint(및 기타)에서 주석에 문서화된 종속성은 서비스 스크립트 관리 유틸리티에서만 고려됩니다.chkconfig. 스크립트를 직접 호출하면 고려되지 않습니다. 이렇게 하면 직접 개입하여 운영 중인 서비스에 대한 세부적인 제어를 원할 것입니다(예: 로컬에서 실행 중일 수 있음 - 설치된 종속성 버전) , 또는 가상화된 환경의 다른 게스트에서 실행 중일 수도 있습니다. 이는 다음과 일치합니다.최하위 비트배포판과 관리자 사이가 아닌 애플리케이션과 배포판 사이의 인터페이스만 지정합니다.

종속성에 대한 기본 지원이 부족하다는 점은 SysVinit의 결함 중 하나이며 Systemd에 의해 서서히 단계적으로 폐지되고 있습니다.

관련 정보