Questa pagina descrive i metodi per mantenere l'ora esatta del proprio computer, utile per i server, ma non necessario (o desiderabile) per macchine desktop.
NTP è un protocollo TCP/IP per sincronizzare l'ora attraverso la rete: un client richiede l'ora corrente a un server e usa questa per impostare il proprio orologio.
Dietro questa semplice descrizione, c'è molta complessità. Ci sono vari livelli di server NTP, con il primo livello di server NTP collegati a orologi atomici (spesso tramite GPS) e il secondo e terzo livello di server che si dividono il carico delle attuali richieste. Anche il programma client è molto più complesso di quanto si possa pensare: deve considerare i ritardi di comunicazione e correggere l'ora in modo tale da non invalidare tutti gli altri processi che sono in esecuzione sul server. Fortunatamente tutta questa complessità è nascosta all'utente.
Ubuntu ha due metodi per impostare automaticamente l'orologio: ntpdate e ntpd.
Ubuntu dispone, in modo predefinito, di ntpdate, che viene eseguito ad ogni avvio, per impostare l'ora con il server NTP di Ubuntu. L'orologio di un server, comunque, è soggetto a cambiamenti di orario anche considerevoli tra due riavvii. È quindi utile correggere l'ora occasionalmente. Il modo più facile per farlo, è impostare cron per eseguire ntpdate giornalmente. Con un editor di testo, con i permessi di amministratore, creare il file /etc/cron.daily/ntpdate
con il seguente contenuto:
ntpdate ntp.ubuntu.com
Il file /etc/cron.daily/ntpdate
deve essere eseguibile.
sudo chmod 755 /etc/cron.daily/ntpdate
ntpdate è uno strumento abbastanza semplice. Può regolare l'ora una sola volta al giorno in un'unica modifica. Il demone di ntp (ntpd) è molto più raffinato. Calcola lo spostamento dell'orologio del proprio sistema e lo regola continuamente, così non ci sono mai grandi modifiche che possono portare a file di log inconsistenti. Il costo di questo è un leggero uso di processore e memoria, ma trascurabili per un server moderno.
Per usare ntpd:
sudo apt-get install ntp-simple
In entrambi i casi, il sistema userà il server NTP di Ubuntu ntp.ubuntu.com
. Questo è sufficiente, ma potrebbe esser necessario utilizzare più server per aumentare l'accuratezza e la capacità di recupero o per usare un server nel proprio fuso orario. Per fare questo con ntpdate, modificare il contenuto del file /etc/cron.daily/ntpdate
in:
ntpdate ntp.ubuntu.com pool.ntp.org
Per ntpd, modificare il file /etc/ntp.conf
per aggiungere altri server:
server ntp.ubuntu.com server pool.ntp.org
Nell'esempio precedente, è stato inserito pool.ntp.org
, un'ottima soluzione che usa il metodo round-robin DNS per scegliere un server da un gruppo di server, dividendone il carico. Per migliorare ancora ci sono gruppi per differenti regioni. Per esempio, per l'Italia è possibile usare it.pool.ntp.org
al posto di pool.ntp.org
. Per maggiori informazioni, consultare il sito web http://www.pool.ntp.org/.
È possibile anche cercare con Google dei server NTP all'interno del proprio fuso orario e aggiungerli nella configurazione. Per verificare se un server funziona, basta digitare sudo ntpdate ntp.nome.server
e vedere cosa succede.