it-swarm.it

Come impostare Ubuntu per sincronizzare il mio orologio con un time server?

Vorrei che Ubuntu sincronizzasse automaticamente il mio orologio di sistema con un timeserver all'avvio.

Tuttavia, il mio PC non è connesso a Internet fino a quando non ho effettuato l'accesso (più 5-10 secondi per buona misura).

Come posso impostarlo per farlo?

23
Nathan Osman

Questo viene fatto con NTP, per il quale sono disponibili istruzioni . Fondamentalmente, dovrai installare un demone NTP. Sembra che ci siano diverse scelte disponibili ma quella "standard" è nel pacchetto ntp. Secondo le istruzioni alla pagina collegata,

Sudo apt-get install ntp

otterrà tutto configurato per la sincronizzazione con il server NTP di Ubuntu.

EDIT: ho perso "all'avvio". In genere si consiglia di utilizzare ntpd per ottenere la sincronizzazione continua tra il sistema e il server, ma se si desidera veramente sincronizzare una sola volta, la risposta di mfisch sembra essere ciò che si sta cercando.

32
David Z

Se vai su "Sistema-> Amministrazione-> Ora e data", otterrai una GUI per impostare la data/ora.

È disponibile un'opzione per l'utilizzo dei time server. Se lo controlli e NTP non è installato, ti verrà chiesto se desideri installarlo. Basta fare clic su "Sì" e lasciarlo fare il suo lavoro :)

9
Little Jawa

Puoi farlo usando at e ntpdate. at è probabilmente già installato, ma ntpdate potrebbe non esserlo. (apt-get install ntpdate).

Per prima cosa crea un piccolo script che esegue ntpdate, chiamiamolo update_time.sh.

#!/bin/bash
ntpdate pool.ntp.org

Nel tuo file .bash_login (che potresti dover creare) aggiungi questo:

at -f ~/update_time.sh now + 1 minute

Questo dovrebbe fare quello che vuoi. È possibile modificare il ritardo che at utilizza per essere 5 minuti, 10 minuti ecc.

EDIT: ho appena capito che per eseguire ntpdate devi essere root. Dovrai impostare il bit SUID sullo script update_time.sh che ho citato. Puoi farlo eseguendolo dal comando (deve essere eseguito una sola volta):

Sudo chmod 4711 update_time.sh
Sudo chown root update_time.sh
6
mfisch

Poiché Ubuntu 16.04 timedatectl/timesyncd (che fanno parte di systemd) sostituisce la maggior parte di ntpdate/ntp. Vedi Sincronizzazione oraria .

Potrebbe essere necessario attivare la sincronizzazione dell'ora utilizzando:

$ Sudo timedatectl set-ntp on

Se vuoi usare chrony:

  • Se hai bisogno di una sincronizzazione one-shot usa: $ chronyd -q

  • Se è necessario un controllo del tempo one-shot, senza impostare l'ora, utilizzare: $ chronyd -Q

  • Per la sincronizzazione continua, la soluzione consigliata è chrony:

chrony (d)

Il demone NTP daemon chronyd calcola la deriva e l'offset dell'orologio di sistema e lo regola continuamente, quindi non ci sono correzioni di grandi dimensioni che potrebbero portare, ad esempio, a registri incoerenti. Il costo è un po 'di potenza di elaborazione e memoria, ma per un server moderno questo è generalmente trascurabile. Installazione

Per installare chrony, da un Terminale Richiedi immettere:

$ Sudo apt install chrony

Potrebbe anche essere necessario attivare

Sudo timedatectl set-ntp on

Aggiornamento: Un altro metodo se quanto sopra non funziona è impostare un processo cron per eseguire $ chronyd -q

0
JBaczuk