Estoy ejecutando Ubuntu en un sistema integrado basado en ARM que carece de un RTC respaldado por batería. La hora de despertarse es en algún lugar durante 1970. Por lo tanto, uso el servicio NTP para actualizar la hora a la hora actual.
Agregué la siguiente línea al /etc/rc.local
archivo:
sudo ntpdate -s time.nist.gov
Sin embargo, después del inicio, todavía toma un par de minutos hasta que se actualice el tiempo, durante el cual no puedo trabajar de manera efectiva con tar
y make
.
¿Cómo puedo forzar una actualización de reloj en un momento dado?
ACTUALIZACIÓN 1: Lo siguiente (gracias a Eric y Stephan) funciona bien desde la línea de comandos, pero no puede actualizar el reloj cuando se coloca /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
¿Qué estoy haciendo mal?
ACTUALIZACIÓN 2: intenté seguir las pocas sugerencias que surgieron en respuesta a la primera actualización, pero nada parece hacer el trabajo según lo requerido. Esto es lo que probé:
- Reemplace el servidor para
us.pool.ntp.org
- Utilice rutas explícitas a los programas.
- Eliminar el
ntp
servicio por completo y dejarlo solosudo ntpdate ...
enrc.local
- Eliminar el
sudo
del comando anterior enrc.local
Usando lo anterior, la máquina todavía comienza en 1970. Sin embargo, cuando se hace esto desde la línea de comando una vez que se inicia sesión (vía ssh
), el reloj se actualiza tan pronto como invoco ntpdate
.
Lo último que hice fue eliminar eso rc.local
y hacer una llamada a ntpdate
mi .bashrc
archivo. Esto actualiza el reloj como se esperaba, y obtengo la hora actual real una vez que el símbolo del sistema está disponible.
Sin embargo , esto significa que si la máquina está encendida y ningún usuario ha iniciado sesión, entonces el tiempo nunca recibe actualizaciones. Por supuesto, puedo reinstalar el ntp
servicio para que al menos el reloj se actualice a los pocos minutos del inicio, pero luego volvemos al punto 1.
Entonces, ¿hay alguna razón por la que colocar el ntpdate
comando rc.local
no realice la tarea requerida, mientras que hacerlo .bashrc
funciona bien?
sudo
en los archivos /etc/rc.locale ... ya se ejecutan como root.
timedatectl
, pero askubuntu.com/questions/832646/…
ntpdate -s ntp.ubuntu.com
[1]: askubuntu.com/a/81301/130162