Cambiando la hora en GNU/Linux.

Unas nociones de la hora en GNU/Linux.

Si tenemos la zona horaria configurada correctamente, no es habitual tener que cambiar la hora del sistema en una máquina GNU/Linux, si bien es posible que nos toque hacerlo en algún momento, por ejemplo si se ha agotado la pila de la placa, o, lo que es más común, si tenemos un sistema dual con windows y GNU/Linux ($microsoft tiene la insana costumbre de toquetear la hora de hardware en el arranque).

Si éste es nuestro caso, es bien sencillo solucionarlo, mediante el uso de un par de comandos.

No es el propósito de este hilo explicar el funcionamiento del protocolo NTP, aunque para una comprensión más profunda de lo que vamos a hacer, os recomiendo una lectura sosegada del artículo de la wikipedia que enlazo. Para que nos entendamos, lo que vamos a hacer es "pedirle" la hora a un servidor de tiempo NTP, grabarla en nuestro sistema, y volcarla después a nuestro reloj de hardware.

Como nota al margen, explicar que se definen dos relojes en un ordenador:

Lo primero que vamos a hacer es irnos hasta el NTP Pool Project y tomar la hora de uno de sus servidores con el comando ntpdate. Yo, como estoy en España, he elegido uno de éstos.


# ntpdate 2.es.pool.ntp.org
 3 May 00:03:17 ntpdate[1377]: adjust time server 147.83.123.133 offset 0.060122
sec

Podemos comprobar que nuestra hora de sistema (reloj de software) ha tomado ese valor:


$ date
dom may  3 00:03:33 CEST 2015

Previamente a la realización de este post me cambié la hora de hardware para que no coincidiesen; el reloj de hardware se puede ver con el comando hwclock sin argumentos (fijáos que hwclock, como previamente ntpdate requiere privilegios de root):


# hwclock
jue 02 mar 2006 03:50:27 CET  -0.375877 segundos

Pues bien, usando el mismo comando podemos tomar la hora del sistema y grabarla en el reloj de hardware (igual que se puede hacer al contrario mediante la opción --hwtosys):


# hwclock --systohc
# hwclock                                                           
dom 03 may 2015 00:05:16 CEST  -0.250574 segundos 

Recomiendo la lectura de los man de los comandos ntpdate, date y hwclock, así como esta serie de ariculos, que, aunque antiguos, son muy enriquecedores. Además, puesto a buscar, he encontrado este otro artículo, que, aunque es sólo útil en Archlinux, expone cuatro conceptos muy bien explicados.

Enjoy!

Commentarios (1)


forestux.es
http://www.forestux.es/article.php?story=la.hora.en.linux