systemd-timesyncd.service start schlägt fehl

7796
patryk.beza

Ich versuche den systemd-timesyncd.serviceDienst zu starten, aber es schlägt fehl:

root@xxxx:~# systemctl start systemd-timesyncd.service root@xxxx:~# systemctl status systemd-timesyncd.service ● systemd-timesyncd.service - Network Time Synchronization Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/systemd-timesyncd.service.d └─disable-with-time-daemon.conf Active: inactive (dead) Condition: start condition failed at pią 2015-07-10 15:17:56 CEST; 1s ago ConditionFileIsExecutable=!/usr/sbin/ntpd was not met Docs: man:systemd-timesyncd.service(8) 

Was heißt das ConditionFileIsExecutable=!/usr/sbin/ntpd was not met?
Diese Nachricht weist darauf hin, dass die Ausführungsberechtigung fehlt, dies ist jedoch nicht der Fall:

root@xxxx:~# ls -l /usr/sbin/ntpd -rwxr-xr-x 1 root root 549648 kwi 10 21:04 /usr/sbin/ntpd 
7
Beachten Sie das Ausrufezeichen. Es wird normalerweise verwendet, um wahr / falsch zu invertieren, obwohl es mit Systemd etwas anders sein kann. Daniel B vor 8 Jahren 1

2 Antworten auf die Frage

7
Georgi Chulkov

Das Ausrufezeichen negiert die Bedingung. Mit anderen Worten, die Bedingung, die fehlschlägt, lautet: "Aktivieren, wenn keine ausführbare Datei / usr / sbin / ntpd vorhanden ist". Dies schlägt für Sie fehl, da / usr / bin / ntpd existiert und ausführbar ist.

Die Logik hinter dieser Zeile ist, dass systemd-timesyncd nur aktiviert werden sollte, wenn ntpd nicht installiert ist. Andernfalls wäre es (im besten Fall) redundant oder stört ntpd (im schlimmsten Fall). Da Sie oder Ihre Distribution ntpd installiert haben, wird es durch die Service-Datei von timesyncd wieder hergestellt und ntpd als NTP-Client verwendet.

Wenn Sie systemd-timesyncd optimieren möchten, sollten Sie ntpd entfernen. Wenn Sie es nur zum Testen ausprobieren möchten, können Sie die Zeile in der Servicedatei überschreiben, indem Sie eine Datei erstellen, die /etc/systemd/system/systemd-timesyncd.servicemit dem Inhalt aufgerufen wird :

ConditionFileIsExecutable= 
0
Denis Szalkowski

Stoppen Sie zunächst den ntpdDämon und deaktivieren Sie ihn mit einem der beiden folgenden Fälle:

systemctl stop ntpd systemctl disable ntpd 

oder

systemctl stop ntp systemctl disable ntp