martes, 17 de febrero de 2015

Poner Debian en hora

Esto de la hora (y a veces la fecha) del ordenador es, al menos para mi, un pequeño-gran lío. En primer lugar está la hora que marca la BIOS, a la que posiblemente pueda afectar (o cambiar) el sistema operativo instalado. Como también la afecta la famosa pila de botón que mantiene activa la BIOS (normalmente son de 3 V, del tipo CR 2032, que son muy baratas, se encuentran en cualquier parte y conviene, si tiene pinta de agotarse, porque retrasa el reloj, cambiar). Y luego está la que te marcan los relojes del sistema operativo ('hora del sistema').
En Linux normalmente la hora del sistema se ajusta por la 'UTC', a su vez ajustado por el paquete TZDATA, pero Windows suele usar su LOCALTIME... y si se tienen instalados ambos sistemas, a veces se arma algún pequeño lío... y puedes ver que el reloj que indica tu Debian está retrasado.
Por explicar algunos conceptos:
LOCALTIME es la base de datos que usa Windows, y te da la hora en cada ciudad. No confundir con el archivo /etc/localtime de Linux, que normalmente es un enlace simbólico al fichero real de la zona horaria (timezone) que suele estar almacenada en /usr/share/zoneinfo/... aunque ya he dicho que este 'localtime' de Linux se suele regir por UTC (+ tzdata)
UTC ('Universal Time Coordinated') es el equivalente (en realidad, su sucesor) del horario GMT (Greenwich Mean Time) o sea el horario respecto al meridiano 0 de Greenwitch, que todos recordamos.
TZDATA: por aquello de no andar poniendo eso de UTC + 1, UTC + 2 , y para contemplar las peculiaridades de cada pais respecto a sus horarios de verano e invierno, al huso horario que han adoptado, etc., existe un paquete, en Linux, que se llama tzdata (que proviene de 'Time Zone Database', o tzdatabase), no es más que una herramienta que recibe, compila y aplica la información sobre los distintos horarios reales de los paises y que viene a complementar la 'hora UTC'
Así, sucede que la hora UTC de, por ejemplo, España, no coincide con la hora real de nuestro reloj de pulsera (antes decíamos aquello de que estábamos una (o dos) horas adelantadas respecto al horario de Greenwitch, que en Londres era una hora menos, etc, etc). Pero ahora estamos adheridos al CET (Central European Time)y ya no se habla de aquello.
Pero, como dije, este pequeño-gran lío que puede producir confusiones, o errores.

Pero lo que de verdad es importante, dejándome de rollitos y yendo al grano, es que desde Debian podemos cambiar muy fácilmente tanto la hora y fecha del sistema como la hora y fecha de la BIOS del equipo.

Cambiar la hora (y/o fecha) del sistema
La hora (y fecha) del sistema se cambia con el comando date. Si escribimos en consola
date
nos dirá algo así como esto:
mar feb 17 12:03:42 CET 2015
que es la hora que aparece en el reloj del sistema. Pero supongamos que queremos colocar la fecha del 16 de febrero de 2015 y la hora, las 21:25...
Pues entonces, nada, basta abrir una consola de root (o con sudo)y escribir
sudo date --set "2015-02-16 21:25"
y se cambia, dándonos...
lun feb 16 21:25:00 CET 2015
que serán la fecha y hora que aparezcan en el reloj del sistema.
El problema es que, al reiniciar el PC, éste cogerá la hora de la BIOS y si es distinta a la que hemos puesto con 'date', nos lo volverá a desconfigurar, así que si queremos un cambio definitivo, mejor que hacerlo en el reloj del sistema (con date) es hacerlo en el reloj de la BIOS. 
Así que...

Cambiar la hora (y/o fecha) de la BIOS
Esto se hace, y también muy fácilmente, en Linux, con el comando hwclock
En el caso de antes, si ahora hacemos, en consola root, o con sudo...
sudo hwclock --set --date="2015-02-16 21:25"
cambiamos la hora en el reloj de la BIOS
Para comprobarlo tecleamos:
sudo hwclock
y obtendremos, por ejemplo
lunes 16 feb 2015 16 21:25:06 CET -0.156720 segundos
y esta hora de la BIOS es la que, ya, prevalece aunque reiniciemos.

Por tanto, se comprueba una vez más que en Debian es todo muy sencillo ¿verdad?

NOTA FINAL: Para saber (o cambiar) la hora UTC basta escribir
sudo dpkg-reconfigure tzdata
y en la ventana emergente puedes elegirla, cambiando al horario de la ciudad/pais que quieras).

2 comentarios:

  1. Si quieres poner ambos relojes, el del sistema y el del hardware, desde internet:

    desde servidores en /etc/ntp.conf
    sudo sh -c 'ntpd -qg && hwclock -w'

    desde el servidor del R.O.A. (hora oficial de España)
    sudo sh -c 'ntpd -qg server.roa.es && hwclock -w'

    ResponderEliminar