Estoy ejecutando Ubuntu en un sistema integrado basado en ARM que carece de un RTC con respaldo de batería. La hora de despertar es en algún lugar durante 1970. Por lo tanto, utilizo el servicio NTP para actualizar la hora a la hora actual.
Agregué la siguiente línea a /etc/rc.local
file:
sudo ntpdate -s time.nist.gov
Sin embargo, después del inicio, todavía toma un par de minutos hasta que se actualiza la hora, período durante el cual no puedo trabajar de manera efectiva 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 actualiza el reloj cuando se ingresa /etc/rc.local
:
$ date ; sudo service ntp stop ; sudo ntpdate -s time.nist.gov ; sudo service ntp start ; dateThu 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 intenté:
- Reemplace el servidor para
us.pool.ntp.org
- Usar rutas explícitas a los programas
- Retire el
ntp
servicio completo y dejar solosudo ntpdate ...
enrc.local
- Retire el
sudo
desde el comando anterior enrc.local
Usando lo anterior, la máquina aún comienza en 1970. Sin embargo, al hacer esto desde la línea de comandos una vez que haya iniciado sesión (a través de ssh
), el reloj se actualiza tan pronto como invoco ntpdate
.
Lo último que hice fue quitar eso de rc.local
y hacer una llamada a ntpdate
en mi .bashrc
file. Esto actualiza el reloj como se esperaba, y obtengo la verdadera hora actual una vez que el símbolo del sistema está disponible.
Obstante, esto significa que si la máquina está encendida y ningún usuario ha iniciado sesión, la hora nunca se actualiza. Puedo, por supuesto, reinstalar el ntp
servicio, por lo que al menos el reloj se actualiza a los pocos minutos del inicio, pero luego volvemos al cuadrado 1.
Entonces, ¿hay alguna razón por la que colocar el ntpdate
comando en rc.local
no realiza la tarea requerida, mientras lo hace en .bashrc
funciona bien?