Quando chiedo lo stato del demone NTP con ntpdc -c sysinfo
ottengo il seguente output:
system peer: 0.0.0.0
system peer mode: unspec
leap indicator: 11
stratum: 16
precision: -20
root distance: 0.00000 s
root dispersion: 12.77106 s
reference ID: [73.78.73.84]
reference time: 00000000.00000000 Thu, Feb 7 2036 7:28:16.000
system flags: auth monitor ntp kernel stats
jitter: 0.000000 s
stability: 0.000 ppm
broadcastdelay: 0.000000 s
authdelay: 0.000000 s
Ciò indica che la sincronizzazione NTP non è riuscita. Tuttavia, il tempo di sistema è preciso con precisione di 1 secondo. Quando eseguivo il mio sistema senza connessione di rete per lo stesso periodo di adesso, il tempo di sistema si discostava di ~ 10 secondi.
Questo comportamento suggerisce che il sistema ha un altro modo di sincronizzare il tempo. Mi sono reso conto che c'è anche systemd-timesyncd.service
(con il file di configurazione in /etc/systemd/timesyncd.conf
) e timedatectl status
mi dà l'ora corretta:
Local time: Thu 2016-08-25 10:55:23 CEST
Universal time: Thu 2016-08-25 08:55:23 UTC
RTC time: Thu 2016-08-25 08:55:22
Time zone: Europe/Berlin (CEST, +0200)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
Sun 2016-03-27 01:59:59 CET
Sun 2016-03-27 03:00:00 CEST
Next DST change: DST ends (the clock jumps one hour backwards) at
Sun 2016-10-30 02:59:59 CEST
Sun 2016-10-30 02:00:00 CET
Quindi la mia domanda è qual è la differenza tra i due meccanismi? Uno di questi è deprecato? Possono essere usati in parallelo? Quale dovrei fidarmi quando voglio interrogare lo stato di sincronizzazione NTP?
(Si noti che ho un sistema diverso (in una rete diversa) per il quale entrambi i metodi indicano il successo e danno il tempo corretto.)