인터넷 가용성에 대한 시작 종속성을 작성하는 방법은 무엇입니까?

인터넷 가용성에 대한 시작 종속성을 작성하는 방법은 무엇입니까?

내 Raspberry Pi(~Debian)의 일부 서비스는 인터넷 가용성에 따라 다릅니다(특히 ntpd,신비한 이유로). 특히, 네트워크 장비나 링크의 가용성이 충분하지 않습니다.

내가 볼 때 /etc/init.d/ntp나는 본다

### BEGIN INIT INFO
# Provides:        ntp
# Required-Start:  $network $remote_fs $syslog
# Required-Stop:   $network $remote_fs $syslog
# Default-Start:   2 3 4 5
# Default-Stop:
# Short-Description: Start NTP daemon
### END INIT INFO

나는 그것이 시작 ntp에 달려 있다는 것을 의미한다고 생각합니다. $network참조를 찾았 /etc/insserv.conf지만 실제로 설정하는 데 필요한 것이 무엇인지 설명하지 않습니다.

#
# Low level networking (ethernet card)
#
$network        +networking +ifupdown

질문 1:요소는 정확히 어떻게 $network정의 됩니까 +networking +ifupdown? (그래서 네트워크를 "작동"으로 선언하기 전에 이를 수정하고 실제 호스트에 연결하려고 시도할 수 있습니다)

질문 2:네트워크 전제 조건이 충족되지 않으면 ntp시작이 지연되거나 실패합니까 ?

답변1

$network는 어디에 정의되어 있나요?

이것은 좋은 질문이고,여기에 정리해봤습니다.

$network는 +networking +ifupdown 요소를 통해 정확히 어떻게 정의됩니까?

AFAICT 이는 이것에 의해 정의되지 않으며, 어떤 서비스가 (선택적으로) 시설이 갖는 종속성을 선언해야 하는지 정의합니다(?? - 위에 게시하고 링크한 질문 참조). 에서 man insserv:

insserv는 구성 파일 /etc/insserv.conf에서 시스템 기능을 검색합니다. [...] 이러한 시스템 기능 뒤에 오는 모든 이름은 해당 기능에 필요한 종속성을 선언합니다. [...] "+" 기호로 시작하는 이름은 선택 사항으로 표시됩니다.

실제로 Raspbian에서는 /etc/init.d/networking( boot 를 통해 /etc/rcS.d런레벨에 관계없이 부팅 시 실행됩니다)아니요$network일부 다른 서비스(예: )에서도 이 작업을 수행하지만 전제 조건으로 포함됩니다 ntp.

Q2: 네트워크 조건이 충족되지 않으면 ntp 시작이 지연되거나 실패합니까?

이러한 필수 구성 요소(및 INIT INFO 블록의 기타 구성 요소)는 예를 들어 실행할 때 (프런트 엔드 ) /etc/rcN.d디렉터리에서 스크립트 링크를 설정하고 구성하는 데에만 사용됩니다 . 즉, 실제 실행 중에는 사용되지 않습니다. 따라서 기본 런레벨에서는 실행됩니다.update-rc.dinsservS02ntp~에 관계없이시작하는 동안(이전의 일부 치명적인 오류에 추가로).

관련 정보