systemd가 재정의 구성을 예상대로 구문 분석하지 않는 이유는 무엇입니까?

systemd가 재정의 구성을 예상대로 구문 분석하지 않는 이유는 무엇입니까?

다음 현상은 Arch Linux와 Ubuntu Artful에서 재현 가능하므로 systemd다시는 에 대한 세부 정보를 얻지 못한다고 결론을 내립니다.

Docker 데몬이 서비스로 시작된 후 실행될 명령을 추가하고 싶습니다 systemd.

systemctl edit docker.service나는 평가 수단을 사용하여 편집자를 호출 하고 다음을 입력합니다.

[Service]
ExecStartPost=true

이제 해당 내용이 포함된 파일 이 있으며 확인하기 위해 /etc/systemd/system/docker.service.d/override.conf호출합니다 .systemctl daemon-reload

이제 구문 분석된 단위를 표시 systemctl show docker.service하고 지시문은 출력에 표시되지 않습니다 ExecStartPost. 그러나 예상한 대로입니다. A는 systemd-analyze verify아무것도 산출하지 않습니다.

그렇다면 ExecStartPost대체 파일의 가 에 의해 장치의 일부로 간주되지 않는 이유는 무엇입니까 systemd?

재정의 지시어가 포함된 파일이 실제로 평가되는지 테스트하기 위해 다음 콘텐츠를 시도했습니다.

[Service]
ExecStart=
ExecStart=foo

혼란스럽게도 ExecStart이제 systemctl show docker.service.

이 경우 첫 번째 지시어가 고려되는 반면 두 번째 지시어는 고려되지 않는 이유를 누군가 나에게 설명할 수 있습니까?

답변1

내 실수는 다음과 같은 명령에 대한 절대 경로를 지정하지 않은 것 같습니다.

[Service]
ExecStartPost=/bin/true

관련 정보