3.25. Come regolo l'orologio di sistema?

Il sistema utilizza un orologio software che serve, oltre ad informare l'utente dell'ora corrente, anche per la corretta gestione del sistema Cron e quindi di tutto il sistema di pianificazione dei processi. Tuttavia questo orologio non è precisissimo e dev'essere quindi sincronizzato con quello di alcuni server che hanno proprio questo compito specifico: tenere l'ora esatta. È stato scritto un protocollo specifico per questo: NTP[1] e ovviamente non poteva mancare un corrispondente demone: ntpd(8). Questo demone si occupa di collegarsi a un server da noi specificato nel file /etc/ntp.conf e aggiornare l'ora dell'orologio di sistema. Il formato del file di configurazione dev'essere il seguente, come specificato nella man page di ntp.conf:

server time.ien.it prefer
server tempo.ien.it
driftfile /var/db/ntp.drift
     
Vediamo di analizzarlo riga per riga: la prime due indicano i server NTP da usare, e quelli specificati sono quelli normalmente usati in Italia, gestiti dal CNR di Torino; tra l'altro la prima riga contiene anche la parola prefer per specificare il server da usare preferibilmente. L'ultima riga indica il file che dev'essere usato per indicare la frequenza delle oscillazioni dell'orologio di sistema, e viene aggiornato ogni volta che viene eseguito ntpd(8). Possiamo lanciare ntpd(8) manualmente oppure ad ogni avvio del sistema, specificando, nel file /etc/rc.conf, la riga:
xntpd_enable="YES"
     
Bisogna notare che ntpd(8) lascia dei messaggi di questo tipo nel syslog, facendoci sapere di quanto era sbagliato l'orologio di sistema:
Apr 22 16:47:33 localhost ntpd[19103]: time reset 0.154413 s
     
Per aggiornare l'orologio solo di tanto in tanto si può usare anche ntpdate(8), specificandogli come argomento il server NTP che vogliamo usare. Tuttavia bisogna evidenziare che ntpdate(8) verrà tolto dal sistema tra un po' di tempo.

Note

[1]

NTP: Network Time Protocol