Una zona horaria es una región geográfica que tiene la misma hora estándar. Por lo general, la zona horaria se establece durante la instalación del sistema operativo, pero se puede cambiar fácilmente en un momento posterior.

El uso de la zona horaria correcta es esencial para muchas tareas y procesos relacionados con los sistemas. Por ejemplo, el demonio cron usa la zona horaria del sistema para ejecutar trabajos cron. La zona horaria también se usa para las marcas de tiempo de los registros.

Este tutorial cubre los pasos necesarios para establecer o cambiar la zona horaria en Linux.

Comprobación de la zona horaria actual#

timedatectles una utilidad de línea de comandos que le permite ver y cambiar la hora y la fecha del sistema. Está disponible en todos los sistemas Linux modernos basados ​​en systemd.

Para ver la zona horaria actual, invoque el timedatectlcomando sin opciones ni argumentos:

timedatectl
                      Local time: Tue 2019-12-03 16:30:44 UTC
                  Universal time: Tue 2019-12-03 16:30:44 UTC
                        RTC time: Tue 2019-12-03 16:30:44
                       Time zone: Etc/UTC (UTC, +0000)
       System clock synchronized: no
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

El resultado anterior muestra que la zona horaria del sistema está establecida en UTC.

La zona horaria del sistema se configura vinculando el /etc/localtimearchivo a un identificador de zona horaria binaria en el /usr/share/zoneinfodirectorio.

Otra forma de verificar la zona horaria es ver la ruta a la que apunta el enlace simbólico usando el ls comando:

ls -l /etc/localtime
lrwxrwxrwx 1 root root 27 Dec  3 16:29 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC

Cambiar la zona horaria en Linux

Antes de cambiar la zona horaria, deberá averiguar el nombre completo de la zona horaria que desea utilizar. La convención de nomenclatura de zona horaria generalmente usa un formato de "Región/Ciudad".

Para ver todas las zonas horarias disponibles, use el timedatectlcomando o enumere los archivos en el /usr/share/zoneinfodirectorio:

timedatectl list-timezones
...
America/Montserrat
America/Nassau
America/New_York
America/Nipigon
America/Nome
America/Noronha
...

Una vez que identifique qué zona horaria es precisa para su ubicación, ejecute el siguiente comando como usuario root o sudo :

sudo timedatectl set-timezone <your_time_zone>

Por ejemplo, para cambiar la zona horaria del sistema, America/New_Yorkescriba:

sudo timedatectl set-timezone America/New_York

Para verificar el cambio, invoque el timedatectlcomando nuevamente:

timedatectl
                      Local time: Tue 2019-12-03 13:55:09 EST
                  Universal time: Tue 2019-12-03 18:55:09 UTC
                        RTC time: Tue 2019-12-03 18:02:16
                       Time zone: America/New_York (EST, -0500)
       System clock synchronized: no
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

¡Misión cumplida! Ha cambiado con éxito la zona horaria de su sistema.

Si está ejecutando una distribución de Linux anterior y la timedatectlutilidad no está presente en su sistema, puede cambiar la zona horaria mediante un enlace simbólico /etc/localtimea la zona horaria en el /usr/share/zoneinfodirectorio.

Eliminar el enlace simbólico o archivo actual:

sudo rm -rf /etc/localtime

Identifique la zona horaria que desea configurar y cree un enlace simbólico :

sudo ln -s /usr/share/zoneinfo/America/New_York /etc/localtime

Verifíquelo enumerando el /etc/localtimearchivo o invocando el date comando:

date

La salida incluye la zona horaria, en este ejemplo es "EST".

Tue Dec  3 14:10:54 EST 2019

Conclusión

Para cambiar la zona horaria en los sistemas Linux, use el sudo timedatectl set-timezonecomando seguido del nombre largo de la zona horaria que desea configurar.

Siéntase libre de dejar un comentario si tiene alguna pregunta.