Sto utilizzando Ubuntu su un sistema embedded basato su ARM privo di RTC con batteria tampone. Il tempo di attivazione è da qualche parte nel 1970. Pertanto, utilizzo il servizio NTP per aggiornare l'ora all'ora corrente.
Ho aggiunto la seguente riga al file /etc/rc.local
:
sudo ntpdate -s time.nist.gov
Tuttavia, dopo l'avvio, ci vogliono ancora un paio di minuti fino all'aggiornamento del tempo, durante il quale non riesco a lavorare efficacemente con tar
e make
.
Come posso forzare l'aggiornamento di un orologio in un dato momento?
UPDATE 1: Quanto segue (grazie a Eric e Stephan) funziona bene dalla riga di comando, ma non riesce ad aggiornare l'orologio quando viene inserito in /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 sbagliando?
AGGIORNAMENTO 2: Ho provato a seguire i pochi suggerimenti ricevuti in risposta al primo aggiornamento, ma nulla sembra effettivamente svolgere il lavoro come richiesto. Ecco cosa ho provato:
- Sostituisci il server in
us.pool.ntp.org
- Utilizza percorsi espliciti per i programmi
- Rimuovi del tutto il servizio
ntp
e lascia solosudo ntpdate ...
inrc.local
- Rimuovi
sudo
dal comando precedente inrc.local
Usando quanto sopra, la macchina inizia ancora dal 1970. Tuttavia, quando si esegue questa operazione dalla riga di comando dopo aver effettuato l'accesso (tramite ssh
), l'orologio viene aggiornato non appena richiamo ntpdate
.
L'ultima cosa che ho fatto è stata rimuovere da rc.local
e mettere una chiamata a ntpdate
nel mio file .bashrc
. Ciò aggiorna l'orologio come previsto e ottengo l'ora corrente vera una volta che il prompt dei comandi è disponibile.
Tuttavia , questo significa che se la macchina è accesa e nessun utente ha effettuato l'accesso, l'ora non riceve mai gli aggiornamenti. Posso, ovviamente, reinstallare il servizio ntp
così almeno l'orologio viene aggiornato entro pochi minuti dall'avvio, ma poi torniamo al punto 1.
Quindi, c'è un motivo per cui posizionare il comando ntpdate
in rc.local
non esegue l'attività richiesta, mentre in .bashrc
funziona bene?