Come posso mantenere il tempo di sistema?


Risposte:


41

Soluzione software

Il metodo più popolare per mantenere l'ora di sistema è tramite il demone Network Time Protocol (NTPd).

NTPd è il metodo più comune per sincronizzare l'orologio software di un sistema GNU / Linux con i server dell'ora di Internet utilizzando il Network Time Protocol.

NTPd dovrebbe già essere installato e impostato sul sistema operativo predefinito, Debian Squeeze. Dovrai installarlo e configurarlo manualmente anche se per Arch Linux.

Innanzitutto è necessario installare NTP.

$ sudo pacman -S ntp

Ora puoi aggiornarlo manualmente dalla riga di comando.

$ sudo ntpd -qg

Oppure puoi aggiungerlo all'elenco dei demoni all'avvio aggiungendolo al tuo /etc/rc.conffile. Così.

# /etc/rc.conf
DAEMONS=(!hwclock ntpd)

Si noti che è necessario disabilitare hwclockprecedendolo con un punto esclamativo ( !) nell'elenco dei daemon.


Proteggi da mlp : se aggiungi ntpdatealla tua lista di demoni il tempo verrà corretto dopo l'avvio molto più velocemente. Quindi la tua lista di demoni sarebbe così.

# /etc/rc.conf
DAEMONS=(!hwclock ntpd ntpdate)


1
Anche /etc/rc.conf è deprecato.
rubenvb,

1
se /etc/rc.conf è obsoleto, qual è l'alternativa? Questo è esattamente ciò di cui ho bisogno.
Jonathan S. Fisher,

1
@exabrial systemctl enable ntpd.serviceè simile all'aggiunta a /etc/rc.conf.
Lekensteyn,

Le nuove installazioni hanno il tempo di prendere da una varietà di fonti che possono essere molti salti dall'orologio principale. Per i dettagli e per il motivo per cui dovresti cambiarlo in time.nist.gov, vedi questa domanda e risposta: raspberrypi.stackexchange.com/questions/68811/…
SDsolar

16

Soluzione hardware

Se vuoi garantire che l'ora sull'RPi sia sempre corretta o vuoi mantenere l'ora senza una connessione di rete, dovrai acquistare una scheda di espansione con un Real Time Clock (RTC) su di essa: ce n'è almeno una disponibile e almeno uno in fase di sviluppo.

Schede di espansione RTC disponibili

Schede di espansione RTC in sviluppo


3

Per le applicazioni non in rete (o dove l'ora della rete potrebbe non essere abbastanza buona), è possibile impostare l'orologio RTC (la risposta di @Alex Chamberlain) con il tempo derivato da un ricevitore GPS o un ricevitore VLF (in Nord Europa questo sarebbe Rugby MSF) . Entrambi potrebbero essere soluzioni eccellenti per i dispositivi distribuiti sul campo (robot, monitoraggio sul campo, ecc.).

Entrambe le soluzioni farebbero anche buoni progetti per hobby. Ricordo di aver costruito un ricevitore Rugby MSF negli anni '80. Un ricevitore GPS standard ("puck") darebbe l'ora e la data nelle frasi NMEA 0183 - sarebbe quindi un semplice progetto di codifica per estrarre queste informazioni.


1
Per interesse, il segnale orario MSF viene attualmente trasmesso dalla stazione radio Anthorn in Cumbria, non dal Rugby.
tomfanning

1
Non vivendo nel Regno Unito al momento, non ho guidato lungo la M1 per un po ': quindi hanno abbattuto la "foresta"? (Suppongo che i vicini alberi navali di Daventry siano ancora lì)
vinti il

Non sono sicuro: sono dalla parte sbagliata del paese per la M1. Tuttavia, sembra che la stazione radio di rugby abbia smesso di essere attiva a metà del 2007 secondo en.wikipedia.org/wiki/Rugby_Radio_Station - con riferimenti alla demolizione, inclusa una foto. E qui c'è un video: youtube.com/watch?v=bx2lhSUuGqU . Tuttavia, ci sono ancora alberi visibili su Google Street View, di cui sono abbastanza sicuro che le immagini sono più recenti rispetto al 2007.
Tomfanning

E guardando su Wikipedia, non c'è menzione di alberi "navali" a Daventry, quindi devo sbagliarmi: solo un trasmettitore molto vecchio (ora smantellato) verso l'Impero. Quindi ora l'azionamento M1 è ancora più noioso!
vinto il

3

Installa il demone NTP su Arch Linux con systemd:

sudo pacman -S ntp
sudo systemctl enable ntpd
sudo systemctl start ntpd

Assicurati anche che il tuo fuso orario sia impostato correttamente, nel mio caso:

sudo rm /etc/localtime
sudo ln -s  /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

0

Se non si desidera avere NTP in esecuzione sul proprio sistema per tutto il tempo, è possibile utilizzare una delle poche opzioni diverse per impostare l'ora:

  • ntpdate - Una volta installato, imposta il sistema in modo da ottenere l'ora in cui viene visualizzata un'interfaccia (anche se "obsoleta" è ancora abbastanza ampiamente utilizzata).
  • rdate - Approccio più semplice e leggero, anche se un po 'meno preciso.
  • tlsdate - Un'opzione più sicura che utilizza un server TLS / SSL come sorgente temporale.

Ovviamente il tuo orologio non sarà preciso come usare NTP poiché tutti gli orologi vanno alla deriva, e anche dal momento che queste app usano una sola fonte temporale, possono potenzialmente determinare l'impostazione dell'ora errata se la fonte scelta ha un problema.

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.