Sto eseguendo Ubuntu su un sistema embedded basato su ARM privo di RTC con batteria. L'ora di sveglia è da qualche parte nel 1970. Pertanto, utilizzo il servizio NTP per aggiornare l'ora all'ora corrente.
Ho aggiunto la seguente riga al /etc/rc.local
file:
sudo ntpdate -s time.nist.gov
Tuttavia, dopo l'avvio, ci vogliono ancora un paio di minuti prima che il tempo venga aggiornato, durante il quale non riesco a lavorare in modo efficace con tar
e make
.
Come posso forzare un aggiornamento dell'orologio in qualsiasi momento?
AGGIORNAMENTO 1: Il seguente (grazie a Eric e Stephan) funziona bene dalla riga di comando, ma non aggiorna l'orologio quando viene inserito /etc/rc.local
:
$ date ; sudo service ntp stop ; sudo ntpdate -s time.nist.gov ; sudo service ntp start ; date
Thu Jan 1 00:00:58 UTC 1970
* Stopping NTP server ntpd [ OK ]
* Starting NTP server [ OK ]
Thu Feb 14 18:52:21 UTC 2013
Che cosa sto facendo di sbagliato?
AGGIORNAMENTO 2: Ho provato a seguire i pochi suggerimenti forniti in risposta al primo aggiornamento, ma nulla sembra effettivamente fare il lavoro come richiesto. Ecco cosa ho provato:
- Sostituisci il server con
us.pool.ntp.org
- Usa percorsi espliciti per i programmi
- Rimuovi del
ntp
tutto il servizio e lascialo appenasudo ntpdate ...
dentrorc.local
- Rimuovere il
sudo
comando sopra riportato inrc.local
Usando quanto sopra, la macchina inizia ancora al 1970. Tuttavia, quando lo si fa dalla riga di comando una volta effettuato l'accesso (tramite ssh
), l'orologio viene aggiornato non appena invoco ntpdate
.
L'ultima cosa che ho fatto è stata rimuoverlo da rc.local
e fare una chiamata ntpdate
nel mio .bashrc
file. Questo aggiorna l'orologio come previsto e ottengo l'ora corrente reale una volta che il prompt dei comandi è disponibile.
Tuttavia , ciò significa che se la macchina è accesa e nessun utente ha effettuato l'accesso, l'ora non riceve mai aggiornamenti. Posso, ovviamente, reinstallare il ntp
servizio in modo che almeno l'orologio venga aggiornato entro pochi minuti dall'avvio, ma poi torniamo al punto 1.
Quindi, c'è un motivo per cui inserendo il ntpdate
comando rc.local
non si esegue l'attività richiesta, mentre lo fa .bashrc
bene funziona?
sudo
nei file /etc/rc.locale .. sono già eseguiti come root.
timedatectl
, ma askubuntu.com/questions/832646/…
ntpdate -s ntp.ubuntu.com
[1]: askubuntu.com/a/81301/130162