Abilita sincronizzazione dell'orologio di sistema


14

'timedatectl' sta dando il seguente output -

                      Local time: Wed 2018-06-13 18:08:51 IST
                  Universal time: Wed 2018-06-13 12:38:51 UTC
                        RTC time: Wed 2018-06-13 12:38:51
                       Time zone: Asia/Kolkata (IST, +0530)
       System clock synchronized: no
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

Come impostare l'orologio di sistema sincronizzato su Sì?

Risposte:


10

Un modo per farlo è usare quello ntpche funziona ancora in Ubuntu 18.04. Eseguire il comando seguente per installare ntp.

sudo apt install ntp

Dopo l'installazione è possibile eseguire ntpq -pper assicurarsi che funzioni.

~$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 0.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 1.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 2.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 3.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 ntp.ubuntu.com  .POOL.          16 p    -   64    0    0.000    0.000   0.000

Quindi nel tuo /etc/crontabfile aggiungi in @reboot root /usr/sbin/ntpd -nmodo tale che ntpdsi avvierà automaticamente al riavvio del sistema. Usa il tuo editor preferito come gedito come mousepadpreferisci:

pkexec gedit /etc/crontab

Dovrebbe apparire in questo modo quando viene aggiunta la linea:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
@reboot     root    /usr/sbin/ntpd -n
#

Quindi riavviare il computer per rendere effettive le impostazioni.

~$ timedatectl status
                      Local time: Wed 2018-06-13 06:55:35 MDT
                  Universal time: Wed 2018-06-13 12:55:35 UTC
                        RTC time: Wed 2018-06-13 12:55:36
                       Time zone: America/Denver (MDT, -0600)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

Se si desidera modificare i server con i server Asia Pool, aggiungerli nella # Use servers from the NTP Pool Project.parte del /etc/ntp.conffile in questo modo:

# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
# more information.
server 0.asia.pool.ntp.org
server 1.asia.pool.ntp.org
server 2.asia.pool.ntp.org
server 3.asia.pool.ntp.org

Spero che sia di aiuto!


17

Può essere fatto senza distribuire NTP in questo modo:

sudo nano /etc/systemd/timesyncd.conf  

Modifica i dettagli del server NTP

[Time]
NTP=ur.ntp.srv
FallbackNTP=ur.fallbackntp.srv

Poi

sudo systemctl daemon-reload
sudo timedatectl set-ntp off
sudo timedatectl set-ntp on

e puoi verificarlo con

timedatectl status

Puoi anche fornire un elenco di server ntp (elenco separato da spazi) nel tuo timesyncd.conffile NTP=0.ur.ntp.srv 1.ur.ntp.srv:; Puoi anche fornire un pool di server (pool globale o specifico per una regione o un paese): pool.ntp.org/zone/@
Géraud

4

Per me ha funzionato:

timedatectl set-ntp true

e poi...

systemctl restart systemd-timesyncd

Esempio:

inserisci qui la descrizione dell'immagine


3

Opzione Gui: vai su "Impostazioni" -> "Dettagli" -> "Data e ora" -> Attiva "Data e ora automatiche".

systemctl restart systemd-timesyncd potrebbe aiutare


3

Per quelli che usano Ubuntu 18+ su istanze di AWS EC2, ho trovato che funzionava in modo fantastico. Utilizza il servizio di sincronizzazione temporale interno di AWS:

sudo apt install chrony
sudo nano /etc/chromny/chrony.conf

Aggiungi la seguente riga prima di qualsiasi altra voce del server:

server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4

e poi

sudo /etc/init.d/chrony restart

La parte migliore di questo metodo per le istanze EC2 è che non è necessario modificare le regole del gruppo di sicurezza, anche se l'istanza non è connessa a Internet :)

fonte


2

Un caso correlato che non è esattamente questo, ma voglio aggiungerlo da qualche parte:

È possibile, come è stato per me, che questo timedatectloutput corrisponda alla porta NTP bloccata dal firewall.

Su Ubuntu, puoi consentire esplicitamente le comunicazioni sulla porta NTP di 123 eseguendo il comando seguente:

sudo ufw allow out from any to any port 123

Ciò consentirà il traffico in uscita da un servizio in esecuzione sul PC utilizzando qualsiasi combinazione porta / protocollo di rete a servizi in esecuzione su un computer remoto utilizzando la porta 123 con qualsiasi protocollo di rete. Ciò include i servizi in esecuzione su macchine remote che implementano il protocollo orario di rete, necessario per poter richiedere l'ora da una macchina remota.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.