Timedatectl y Hwclock: Comandos para ajustar la fecha y hora en Linux

Timedatectl y Hwclock: Comandos para ajustar la fecha y hora en Linux

Timedatectl y Hwclock: Comandos para ajustar la fecha y hora en Linux

Timedatectl y Hwclock son 2 útiles comandos para ajustar el tiempo (fecha y hora), en nuestros Sistemas Operativos GNU/Linux.

Muchas veces al instalar y usar un Sistema Operativo GNU/Linux, algunos habrán podido apreciar que al iniciar cada vez, una sesión de usuario en el entorno gráfico o vía terminal, el tiempo (fecha y hora) del Sistema Operativo del ordenador cambia (desajusta). En otros casos, suele cambiar cuando se tiene una configuración de doble booteo (arranque dual) y se alterna el uso de los Sistema Operativos instalados.

Timedatectl y Hwclock: Introducción

En el primer caso descrito, es decir, usando solo GNU/Linux, muchas veces el problema es afrontado temporalmente, es decir, no solucionado definitivamente, ajustando vía gráfica una aplicación de configuración de reloj o vía terminal usando el comando «date».

En el segundo caso, es decir, usando 2 o más Sistemas Operativos diferentes, por lo general GNU/Linux y Windows, el problema suele ser resuelto temporalmente ajustando manualmente la hora del primero al tiempo (fecha y hora) del segundo, y en algunos casos a la hora del BIOS del ordenador.

Timedatectl y Hwclock: El problema con UTC

Problema

El problema del desajuste del tiempo yace, en la forma que nuestros Sistemas Operativos GNU/Linux procesan la fecha y la hora. Es decir, en que no es igual a como la procesan Sistemas Operativos totalmente diferentes como Windows, aunque sí como otros, como por ejemplo, MacOS.

En GNU/Linux o MacOS, se utiliza el patrón UTC (Coordinated Universal Time) para fijar el tiempo del mismo, mientras que en Windows no. Windows asume, que el ordenador almacena el tiempo correcto y actualizado en el Reloj de hardware de la placa madre, es decir, en el BIOS. Ya que, el Reloj y/o BIOS debe llevar la cuenta del tiempo transcurrido, incluso cuando el ordenador este apagado.

Por lo tanto, por defecto, Windows siempre asume que la hora correcta se almacena en la Hora local (Reloj / BIOS) del ordenador, mientras que GNU/Linux, como ya expresamos asume que la hora se almacena en la Hora UTC, lo que ocasiona el cíclico desfase del tiempo marcado al usar alternativamente los 2. Por ello, una lógica solución es ajustar correctamente la Hora local (Reloj / BIOS) del ordenador, y configurar que cada Sistema Operativo se comunique con el mismo para sincronizar la hora a mostrar al usuario.

Comandos Timedatectl y Hwclock

Existen comandos para solucionar este problema, es decir, para configurar que GNU/Linux se comunique con el hardware (Reloj / BIOS) del ordenador y se sincronice con él, para mostrar al usuario la misma hora, tal como lo hace Windows.

Antes de ser ejecutados, se debe validar la correcta configuración del tiempo (fecha y hora) en el BIOS, luego de ejecutada la orden de comando, es preferible reiniciar y validar que la misma se mantiene sin cambios, primero en el Sistema Operativo GNU/Linux y luego en el BIOS.

Estos comandos son:

Timedatectl

Este moderno comando es especial, para aquellas Distros GNU/Linux que tengan instalado Systemd como Proceso de inicio 1 (PID 1), por ejemplo, DEBIAN GNU/Linux. Ya que, el mismo, es una funcionalidad provista por este administrador de sistema y servicios.

Para lograr que dicho comando, permita que GNU/Linux se comunique con el hardware (Reloj / BIOS) del ordenador y se sincronice con él, se debe ejecutar la siguiente orden de comando:

sudo timedatectl set-local-rtc 1

Para mayor información sobre este comando, la opción «set-local-rtc [BOOL]» y las demás, sobre DEBIAN GNU/Linux, se puede acceder al Manual en línea (Manpages) de los paquetes y comandos del mismo, sobre el siguiente enlace. O lea su página de manual local ejecutando «man timedatectl«.

Hwclock

Este legendario y todavía vigente comando, es especial para todo tipo de Distros GNU/Linux, ya que no depende ni de Systemd, ni de ningún otro administrador de sistema y servicios.

Para lograr que dicho comando, permita que el Sistema Operativo GNU/Linux se comunique con el hardware (Reloj / BIOS) del ordenador y se sincronice con él, es decir, configure la hora del mismo sobre el BIOS, se debe ejecutar la siguiente orden de comando:

sudo hwclock -w o sudo hwclock --systohc

Nota: Para el caso contrario, es decir, si en cambio se desea sincronizar de manera inversa (configurar la hora actual del BIOS sobre el Sistema Operativo) entonces se puede utilizar el comando «hwclock -s» o el comando «hwclock --hctosys«.

Para mayor información sobre este comando, la opción «-w» y las demás sobre DEBIAN GNU/Linux, se puede acceder al Manual en línea (Manpages) de los paquetes y comandos del mismo, sobre el siguiente enlace. O lea su página de manual local ejecutando «man hwclock«.

A partir de ahora, al dejar de utilizar el patrón UTC para la fecha y la hora, es decir, al utilizar el tiempo (fecha y hora) del BIOS para GNU/Linux o varios Sistemas Operativos, se evitara el problema con la configuración horaria del hardware y ambos sistemas tendrán la misma hora siempre, sin desfases.

Otro procedimiento alternativo para ajustar la fecha y hora del Sistema Operativo GNU/Linux y sincronizar está con el BIOS del ordenador, usando el comando «date» y «hwclock» es el siguiente:

Ejecutar las ordenes de comando desde una sesión de «root» para fijar la fecha 08:00 del 07 de marzo del 2020.

  • date --set "2020-03-07 08:00"
  • hwclock --set --date="`date '+%D %H:%M:%S'`"

Imagen generica para conclusiones de artículos

Conclusión

Esperamos que esta pequeña y útil publicación sobre «Timedatectl y Hwclock», 2 útiles «Comandos de GNU/Linux» usados para ajustar la fecha y hora de nuestras «Distros GNU/Linux», sobre todo para solucionar problemas de desajustes de tiempo en «ordenadores con doble booteo (inicio)», sea de mucho interés y utilidad, para toda la «Comunidad de Software Libre y Código Abierto» y de gran contribución a la difusión del maravilloso, gigantesco y creciente ecosistema de aplicaciones de «GNU/Linux».

Y para mayor información, no dudes siempre en visitar cualquier Biblioteca en línea como OpenLibra y JedIT para leer libros (PDFs) sobre este tema u otras áreas del conocimiento. Por ahora, si te ha gustado esta «publicación», no dejes de compartirla con otros, en tus sitios web, canales, grupos o comunidades favoritas de redes sociales, preferiblemente libres y abiertas como Mastodon, o seguras y privadas como Telegram.

O simplemente, visita nuestra página de inicio en DesdeLinux o únete al Canal oficial de Telegram de DesdeLinux para leer y votar por esta u otras interesantes publicaciones sobre «Software Libre», «Código Abierto», «GNU/Linux» y demás temas relacionados con la «Informática y la Computación», y la «Actualidad tecnológica».


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   octavio dos santos dijo

    Hola! muchas gracias, me ha servido la información, estoy usando manjaro cinnamon y no tenia forma de configurar gráficamente, ni la sincronización por Internet, simplemente no hacia ningún cambio… pero gracias a usted ya esta resuelto 😀

    1.    Linux Post Install dijo

      ¡Saludos Octavio! Me alegro de que el artículo te haya servido satisfactoriamente. Gracias por tu comentario y aporte.

  2.   Fabián dijo

    Hola
    en mi caso tuve que cambiar /etc/adjtime como ‘LOCAL’ en lugar de UTC’ por que linux me cambiaba la hora de la bios a UTC y windows la tomaba mal; con
    hwclock –vervose
    pude comprobar que ya no lo volvió a cambiar al hacer ese ajuste

    1.    Linux Post Install dijo

      Saludos, Fabián. Gracias por tu comentario y aporte.