사용자가 활성화하고 작동하는 네트워크 연결이 필요한 시스템화 된 사용자 서비스 파일 몇 개를 작성했습니다. 나는 그것이 다음과 같이 쉬운 것이라고 생각했다.
Wants=network-online.target
After=network-online.target
그러나 서비스가 너무 일찍 시작되는 것 같습니다 journalctl
.
network-online.target: Cannot add dependency job, ignoring: Unit network-online.target failed to load: No such file or directory.
그런 다음 더 많이 검색하고 시도했습니다.
Wants=network.target
After=network.target
그리고했다 sudo systemctl enable systemd-networkd-wait-online.service
.
이제 나는 journalctl
:
network.target: Cannot add dependency job, ignoring: Unit network.target failed to load: No such file or directory.
그리고 다시 서비스가 너무 일찍 시작됩니다.
그 메시지가 거기에 있어야합니까? 문제를 어떻게 디버깅 할 수 있습니까?
편집 : 이유는 간단하고 아치 위키에 명시되어 있습니다 .
systemd --user
프로세스와 별도의 프로세스로 실행됩니다systemd --system
. 사용자 단위는 시스템 단위를 참조하거나 의존 할 수 없습니다.
이 포럼 게시물 은 간단한 해결책을 제안하는 것 같습니다 link
. 필요한 시스템 단위를 사용자로 사용해야 하므로 단위 검색 경로에서 사용 가능한 심볼릭 링크가 만들어집니다.
그렇게 한 후에도 No such file or directory
메시지가 표시되지 않지만 네트워크가 온라인 상태가 된 후에도 서비스를 실제로 실행할 수는 없습니다. 나는 network.target
, network-online.target
및을 연결하려고 시도했지만 systemd-networkd-wait-online.service
성공하지 않고 각 장치에 의존하도록 장치를 설정했습니다. 사용자 모드에서 연결된 장치의 상태를 확인하면 모두 죽었습니다. 예 :
$ systemctl --user status network.target
● network.target - Network
Loaded: loaded (/usr/lib/systemd/system/network.target; linked; vendor preset: enabled)
Active: inactive (dead)
Docs: man:systemd.special(7)
http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget
$ systemctl status network.target
● network.target - Network
Loaded: loaded (/usr/lib/systemd/system/network.target; static; vendor preset: disabled)
Active: active since Sat 2015-07-18 19:20:11 MSK; 3h 35min ago
Docs: man:systemd.special(7)
http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget
Jul 18 19:20:11 calc-server systemd[1]: Reached target Network.
Jul 18 19:20:11 calc-server systemd[1]: Starting Network.
그러나 network-online.target
연결 후 사용자 모드에서 활성 상태를 볼 수 있습니다 .
$ systemctl --user status network-online.target
● network-online.target - Network is Online
Loaded: loaded (/usr/lib/systemd/system/network-online.target; linked; vendor preset: enabled)
Active: active since Sun 2015-07-19 00:35:38 MSK; 2min 48s ago
Docs: man:systemd.special(7)
http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget
Jul 19 00:35:38 calc-server systemd[469]: Reached target Network is Online.
Jul 19 00:35:38 calc-server systemd[469]: Starting Network is Online.