저는 일부 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 start
myotherscript가 실행되지 않는 한 실행은 아무런 효과가 없습니다. 그러나 실행은 service myscript start
작동합니다.
적어도 충족되지 않은 종속성에 대한 오류는 발생하지 않는 이유는 무엇입니까?
답변1
이것service
이 명령은 제공된 인수를 사용하여 init 스크립트를 실행하는 것 이상을 수행하지 않습니다. 특히 종속성을 처리하지 않습니다.
Fedora/RHEL/CentOS 및 Debian/Ubuntu/Mint(및 기타)에서 주석에 문서화된 종속성은 서비스 스크립트 관리 유틸리티에서만 고려됩니다.chkconfig
. 스크립트를 직접 호출하면 고려되지 않습니다. 이렇게 하면 직접 개입하여 운영 중인 서비스에 대한 세부적인 제어를 원할 것입니다(예: 로컬에서 실행 중일 수 있음 - 설치된 종속성 버전) , 또는 가상화된 환경의 다른 게스트에서 실행 중일 수도 있습니다. 이는 다음과 일치합니다.최하위 비트배포판과 관리자 사이가 아닌 애플리케이션과 배포판 사이의 인터페이스만 지정합니다.
종속성에 대한 기본 지원이 부족하다는 점은 SysVinit의 결함 중 하나이며 Systemd에 의해 서서히 단계적으로 폐지되고 있습니다.