대상이 요구 사항 중 하나를 충족한다는 것을 systemd에 어떻게 알릴 수 있습니까?

대상이 요구 사항 중 하나를 충족한다는 것을 systemd에 어떻게 알릴 수 있습니까?

systemd인스턴스 목록의 인스턴스 중 하나가 요구 사항을 충족하는지 어떻게 알 수 있나요 ?

이라는 대상 main_target.target과 이라는 서비스 템플릿이 있다고 가정해 보겠습니다 [email protected]. 정상 작동 중에 존재하는 유일한 인스턴스는 [email protected]다음과 같습니다.

  • serv@ex1
  • serv@ex2
  • serv@ex3

오직하나이러한 인스턴스 중 어느 때나 존재하며 main_target.target언제든지 만족된다고 말하고 싶습니다.어느세 가지 인스턴스 중 하나가 존재합니다.

직관적으로 저는 SMF의 태그와 비슷한 것을 원 require_any하지만 어떤 문서에서도 그런 것을 찾을 수 없습니다 systemd.

참고 1: 지시어 와 함께 serv@ex1, serv@ex2및 상호 배타적을 만들 수 있다는 것을 알고 있습니다 .serv@ex3Conflicts=

Before=참고 2: 또한 및 After=지시문을 사용하여 세 인스턴스를 계층화하여 특정 순서로 시작할 수 있다는 것도 알고 있습니다 .

답변1

언급한 대로 서비스를 지시문과 상호 배타적으로 만들 수 있습니다 Conflicts=. 대상 systemd은 유닛을 그룹화하기 위한 방법일 뿐이며 복잡한 종속성 옵션이 없습니다.

systemd.target

이름이 ".target"으로 끝나는 장치 구성 파일은 시작 시 장치를 그룹화하고 잘 알려진 동기화 지점으로 사용되는 systemd의 대상 장치에 대한 정보를 인코딩합니다.

이 장치 유형에는 특정 옵션이 없습니다. 모든 장치 구성 파일의 공통 옵션은 systemd.unit(5)을 참조하세요. 공통 구성 항목은 일반 [Unit] 및 [Install] 섹션에서 구성됩니다. 타겟별 옵션을 설정할 수 없으므로 별도의 [Target] 섹션은 존재하지 않습니다.

systemd.unit참고용.

에 포함된 지시문만 사용할 수 있으며 systemd.unit, 여러 서비스 중 하나만 시작하는 방법은 포함되어 있지 않습니다.

관련 정보