Lauf
systemctl show time-sync.target
um die Informationen und die Konfiguration anzuzeigen, die systemd für dieses Ziel verwaltet. Dies zeigt Ihnen insbesondere, dass es Teil der speziellen systemd-Einheiten ist und dort dokumentiert ist:
Dienste, die für die Synchronisierung der Systemuhr von einer Remote-Quelle verantwortlich sind (z. B. NTP-Client-Implementierungen), sollten dieses Ziel abrufen und sich davor bestellen. Alle Dienste, bei denen die richtige Zeit After=
erforderlich ist, sollten nach dieser Einheit bestellt werden, aber nicht abgerufen werden . Systemd fügt allen SysV-Init-Skript-Serviceeinheiten mit einem LSB-Header, der sich auf die Funktion " $time
" bezieht, automatisch Typabhängigkeiten für diese Zieleinheit hinzu .
Es ist vollständig konfigurierbar ( systemctl edit
zum Überschreiben aller gewünschten Aspekte). Wie oben erwähnt, Dienste, die Zeitsynchronisation bereitstellen ( z systemd-timesyncd.service
erklären ), dass sie dieses Ziel wollen, und bestellen sich davor; Dienste, die Zeitsynchronisation benötigen, bestellen sich danach.
Kopieren Sie zum Konfigurieren eines Zeitsynchronisierungsdienstes die relevanten Teile der systemd-timesync
Konfiguration:
[Unit]
Before=time-sync.target
Wants=time-sync.target
Services... should pull in this target
bedeutetStarting the services... should trigger the starting of this target
?Wants=time-sync.target
, was sich auf den Start auswirkt,time-sync.target
wenn die Konfigurationsdienste gestartet werden (ohne dass das Ziel erforderlich ist, dh die Transaktiontime-sync.target
schlägt nicht fehl, wenn sie fehlschlägt).time-sync.target
nur eine Ordnungsabhängigkeit vonsystemd-timesyncd.service
(systemd-timesyncd.service
beginnt vorhertime-sync.target
). Wennsystemd-timesyncd.service
es kurz nach dem Start fehlschlägt,time-sync.target
ist es immer noch erreicht?time-sync.target
wird es nicht gestartet. Wenn es nach dem Start fehlschlägt,time-sync.target
wird auch gestartet.systemd-timesyncd.service
ist so konfiguriert, dass es bei einem Fehler ohne Verzögerung neu gestartet wird. Wenn dies fehlschlägt, wird es von systemd sofort neu gestartet.If it fails during startup
- Was meinst du mitstartup
hier? Wäre ein Segfaultsystemd-timesyncd.service
ein fehlgeschlagener Start? (versuchen zu verstehen, was als Schwellenwert von "Starten" bis "Starten" angesehen werden würde)