기본적으로 서비스 간의 종속성을 처리하고(서비스 A는 B를 시작해야 하므로 B가 준비될 때까지 A를 시작하지 않음) 정상적인 서비스 파일 형식(구성과 같은)을 갖는 *BSD 배포판에 해당하는 Systemd가 있는지 궁금합니다. 무엇을 언제 시작할지 알려주는 파일이지 initscript가 아님).
Linux에서 사용한 후에는 기존 initscripts 기반 배포판으로 돌아갈 생각조차 할 수 없지만 BSD를 사용해 보고 싶습니다(라우터와 액세스 포인트를 위한 아주 작은 시스템이 필요합니다).
답변1
FreeBSD의 초기화 시스템에는 종속성이 있습니다. 확인하시기 바랍니다남성 사운드 엔지니어:
rorder 유틸리티는 서로 의존하는 파일 집합의 종속 순서를 인쇄하도록 설계되었습니다. 일반적으로 특정 파일이 다른 파일보다 먼저 실행되어야 하는 쉘 스크립트 세트의 실행 순서를 찾는 데 사용됩니다.
서비스가 너무 복잡하지 않다면 해당 rc 스크립트도 간단합니다. 서비스가 복잡하면 시스템 단위 파일도 복잡해집니다. 보다rc.d 스크립트 문서:
#!/bin/sh
. /etc/rc.subr
name=mumbled
rcvar=mumbled_enable
command="/usr/sbin/${name}"
load_rc_config $name
run_rc_command "$1"
복잡하다고 생각하지 않습니다. 자세한 내용은 설명서를 참조하세요!
답변2
FreeBSD는 rc.d 스크립트에서 이를 수행하는 훌륭하고 쉬운 방법을 제공합니다.
보다 man rc
. 주문이 어떻게 계산되는지 확인할 수 있습니다. 기본적으로 스크립트가 제공하는 서비스와 먼저 실행해야 하는 서비스를 지정합니다. 예는 다음과 같습니다.
#!/bin/sh
#
# PROVIDE: foo
# REQUIRE: bar_service_required_to_precede_foo
나머지는 자동으로 수행되어야 합니다.