Configurar la zona horaria en GNU Linux

Después de todos estos años, hemos tratado en diferentes artículos como cambiar la hora en un sistema GNU Linux, y de como sincronizar la hora y la fecha con un servidor NTP remoto. La parte que nos faltaba para cerrar el círculo es hablar de la configuración de la zona horaria.

Creo que es un artículo que os puede servir de ayuda, ya que en muchos casos recién instalado un nuevo servidor físico, máquina virtual, VPS e incluso un contenedor, la zona horaria puede no ser la correcta, ya que no coincide con la nuestra.

Utilizar la herramienta de timedatectl

En las últimas versiones de nuestras distribuciones favoritas, que ya utilizan systemd, viene incluida una herramienta que nos irá como anillo al dedo, para el asunto que nos concierne. Se trata de «timedatectl»

Dicha herramienta se encarga del control del sistema de hora y fecha. Tal y como indica su página de “man”, se pude usar para consultar y cambiar el reloj del sistema y sus configuraciones.

Su uso sin parámetros nos muestra la siguiente salida:

  1.       Local time: mar 2018-09-25 12:52:35 CEST
  2.   Universal time: mar 2018-09-25 10:52:35 UTC
  3.         RTC time: mar 2018-09-25 10:52:35
  4.        Time zone: Europe/Madrid (CEST, +0200)
  5.      NTP enabled: yes
  6. NTP synchronized: yes
  7.  RTC in local TZ: no
  8.       DST active: yes
  9.  Last DST change: DST began at
  10.                   dom 2018-03-25 01:59:59 CET
  11.                   dom 2018-03-25 03:00:00 CEST
  12.  Next DST change: DST ends (the clock jumps one hour backwards) at
  13.                   dom 2018-10-28 02:59:59 CEST
  14.                   dom 2018-10-28 02:00:00 CET

Esta herramienta tiene bastantes posibilidades, por ejemplos podemos listar las diferentes zonas horarias disponibles. Hay que recordar que las diferentes zonas horarias están englobadas por continentes y capitales de país. Por ejemplo, aunque yo viva en Barcelona, para buscar la zona horaria, debo utilizar Madrid:

  1. [root@servcentostest ~]# sudo timedatectl list-timezones | grep Madrid
  2. Europe/Madrid

Si quiero, por ejemplo, utilizar la de MXDF, esto es, la capital de México, sería:

  1. sudo timedatectl set-timezone “America//Mexico_City”

Y así con el resto de las zonas horarias del mundo.

Otras maneras de configurar la zona horaria

Otra manera de listar las zonas horarias, en las distribuciones basadas en Red Hat, es así de simple:

  1. [root@servcentostest ~]# ls /usr/share/zoneinfo/
  2. Africa      Chile    GB         Indian       Mexico    posixrules  Universal
  3. America     CST6CDT  GB-Eire    Iran         MST       PRC         US
  4. Antarctica  Cuba     GMT        iso3166.tab  MST7MDT   PST8PDT     UTC
  5. Arctic      EET      GMT0       Israel       Navajo    right       WET
  6. Asia        Egypt    GMT-0      Jamaica      NZ        ROC         W-SU
  7. Atlantic    Eire     GMT+0      Japan        NZ-CHAT   ROK         zone1970.tab
  8. Australia   EST      Greenwich  Kwajalein    Pacific   Singapore   zone.tab
  9. Brazil      EST5EDT  Hongkong   leapseconds  Poland    Turkey      Zulu
  10. Canada      Etc      HST        Libya        Portugal  tzdata.zi
  11. CET         Europe   Iceland    MET          posix     UCT

Borramos el enlace actual de zona horaria y añadimos el nuevo, en el mismo caso de antes:

  1. sudo unlink /etc/localtime 
  2. sudo ln -s /usr/share/zoneinfo/America/Mexico_City /etc/localtime

Para las distribuciones basadas en Debian, como Ubuntu, Linux Mint y derivadas, podemos utilizar:

  1. dpkg-reconfigure tzdata

Se trata de una herramienta gráfica muy útil y muy fácil de utilizar:

Muestra de dpkg-reconfigure tzdata

Para comprobar que efectivamente la zona horaria se ha cambiado, podemos utilizar:

  1. date -u

Pues aquí lo dejamos, espero que os haya parecido interesante. Nos vamos leyendo ^.^

Derechos de la imagen de portada | Pixabay