시스템화된 주문주기

시스템화된 주문주기

누군가가 나에게 이것에 대한 올바른 방향을 알려줄 수 있기를 바랍니다.

아래 "journalctl -u sshd" 항목에 따라 sshd.service가 시작되는 것을 방지하는 새로운 시스템 경로 단위(아래 참조)가 있습니다.

내가 뭔가 잘못하고 있는 것이 분명하지만, 무엇을 잘못하고 있는지 모르겠습니다. 도와주세요! :-)

미리 감사드립니다

잡지:

Oct 10 17:08:28 host1.example.local systemd[1]: multi-user.target: Found ordering cycle on sshd.service/start
Oct 10 17:08:28 host1.example.local systemd[1]: multi-user.target: Found dependency on sshd-keygen.target/start
Oct 10 17:08:28 host1.example.local systemd[1]: multi-user.target: Found dependency on [email protected]
Oct 10 17:08:28 host1.example.local systemd[1]: multi-user.target: Found dependency on basic.target/start
Oct 10 17:08:28 host1.example.local systemd[1]: multi-user.target: Found dependency on paths.target/start
Oct 10 17:08:28 host1.example.local systemd[1]: multi-user.target: Found dependency on path-watch.path/start
Oct 10 17:08:28 host1.example.local systemd[1]: multi-user.target: Found dependency on multi-user.target/start
Oct 10 17:08:28 host1.example.local systemd[1]: multi-user.target: Job sshd.service/start deleted to break ordering cycle starting with multi-user.target/start

경로 단위 파일:

[Unit]
Description=Watch for changes (updates) to /mypath
Wants=network-online.target
After=multi-user.target

[Path] 
PathChanged=/mypath/

[Install]
WantedBy=multi-user.target

편집: 또한 단순히 "XYZ 목록에서 더 나은 답변을 얻을 수 있습니다."가 아닌 다른 곳에 게시하면 매우 감사하겠습니다.

답변1

제가 생각하는 문제의 핵심은Before=경로 단위는 자동으로 paths.target에 대한 유형 종속성을 갖습니다., 장치가 효과적으로 부팅되도록 구성되었습니다.앞으로 paths.target그리고뒤쪽에 multi-user.target(전자는 매우 빠르며 후자는 매우 늦기 때문에 불가능합니다.) 인기가 없어 보이지만 DefaultDependencies=no해당 섹션 [Unit]에서 설정해 볼 수 있습니다 . 지정된 정렬 관계를 갖기 위해 경로 단위가 실제로 필요한지 고려하는 것이 좋습니다 multi-user.target.

답변2

~에서경로 단위에 대한 문서:

기본 종속성

DefaultDependencies=no설정하지 않으면 다음 종속성이 추가됩니다.

  • Before=경로 단위는 자동으로 [.. ] 유형의 종속성을 갖습니다 paths.target. DefaultDependencies=이 옵션은 조기 시작 또는 늦은 시스템 종료와 관련된 경로 단위에 대해서만 비활성화되어야 합니다 .

따라서 이 단위는 다음과 같은 정렬 관계를 갖습니다.

  • Before=paths.target
  • After=multi-user.target

그런데 multi-user.target여기가 온다뒤쪽에basic.target, 왔다뒤쪽에paths.target, 이는 경로 단위 뒤에 위치하며, multi-user.target그 뒤에 위치합니다...

관련 정보