Cambiar la zona horaria en Linux (Timezone)

Vamos a ver cómo cambiar la zona horaria en Linux (timezone).

 

¿Qué es la timezone en Linux?

 
La timezone es la zona horaria de una máquina en Linux. La región se establece cuando instalamos nuestra distro Linux, pero siempre se puede volver a configurar la zona horaria de la máquina con una de las franjas horarias mundiales disponibles.
 

Es importante tener bien configurada la zona horaria del sistema, porque muchas tareas del sistema dependen de ello, por ejemplo si configuramos una tarea programada a ciertas horas (tareas cron), y resulta que nuestra zona horaria no está correctamente configurada, pues esa tarea no se ejecutará cuando debe ejecutarse, sino varias horas antes, o después, dependiendo de la zona horaria que tenga configurada el sistema.

 

 
 

Mostrar la zona horaria en Linux

 

Tal como se comenta en Linuxize, para comprobar la zona horaria usamos el comando “timedatectl“.

ver zona horaria timedatectl

timedatectl date localtime zona horaria

Esta zona horaria del sistema se configura cuando se crea un enlace simbólico entre el archivo /etc/localtime hacia un identificador de zona horaria el directorio /usr/share/zoneinfo/

 

Lo comprobamos en nuestro sistema, haciendo un

ls -la /etc/localtime

comprobar donde apunta etc localtime

 

Para ver todas las zonas horarias disponibles utilizamos el comando

timedatectl list -timezones

zonas horarias disponibles Linux
 

 

Cambiar la zona horaria

 

con “timedatectl

Y para configurar una zona horaria como la nuestra usamos el comando timedatectl set -timezone y el nombre de la zona horaria:

timedatectl set -timezone

 

Por ejemplo vamos a ponernos la hora de Nassau (Bahamas)

timedatectl set -timezone America/Nassau

Y comprobamos que la zona horaria y la hora se han cambiado correctamente, ejecutando el comando “timedatectl“, el comando “date” y mostrando la ruta del enlace de “/etc/localtime“:

cambiar zona horaria con timedatectl set timezone
(Aunque la hora se ha ya cambiado, debido a que se ha ajustado a la franja horaria o “timezone” que hemos configurado, si simplemente queremos cambiar la hora en Linux sin cambiar la zona horaria, lo haremos de otra forma).
 

  • Recuerda que si quieres buscar tu zona horaria, con el comando “timedatectl list -timezones” las puedes ver todas.

 
 

Cambiar la zona horaria modificando el enlace de /etc/localtime

 
Si queremos cambiar de otra forma la zona horaria podemos hacerlo por medio del enlace simbólico hacia una de las zonas que se encuentran en /usr/share/zoneinfo/ tal y como hemos visto antes, ya que el archivo /etc/localtime crea un link simbólico hacia la zona que estamos usando (en el caso enterior, America/Nassau);
 
Sabiendo esto, podemos cambiar la zona simplemente eliminando el enlace anterior y creando uno nuevo a la zona que nos interesa.
 
Primero tenemos que eliminar el enlace existente anterior, porque sino recibiremos el mensaje :

ln: fallo al crear el enlace simbólico "etc/localtime": El fichero ya existe

 
Así que eliminamos el enlace simbólico anterior:

rm -rf /etc/localtime

 
Y creamos un nuevo enlace apuntando al fichero de la zona horaria que deseamos configurar, en este caso vamos a poner la de Mexico_City:

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

 
A continuación comprobamos de nuevo la configuración de la zona horaria, con timedatectl, y también podemos comprobar que el anterior enlace simbólico ha cambiado:

cambiamos enlace /etc/localtime y comprobamos zona horaria
 

 

Modificar la zona horaria en Ubuntu/Debian

 
En Ubuntu y en Debian, cuando se trate de distros con interfaz gráfica (GUI), podemos cambiar el timezone desde las opciones del panel de configuración, y también desde la terminal, usando el gestor de paquetes dpkg, que es el gestor de paquetes de Debian..
 

Modo gráfico: desde el panel de configuración : Fecha yhora

 

Podemos cambiar el timezone con el panel de Configuración / buscando las opciones de Fecha y hora.

–> Aquí vemos donde hacerlo en Ubuntu

 
cambiar zona horaria ubuntu modo grafico

 

Y en Debian es practicamente igual, desde el panel de configuración:

cambiar zona horaria debian panel configuracion
 

 

Modificar la zona horaria con comandos en Ubuntu y Debian

 

Aún tenemos otra opción para cambiar el timezone en Debian/Ubuntu desde la terminal;
Usando dpkg, el gestor de paquetes.

dpkg-reconfigure tzdata

 

reconfigurar zona horaria linux

 

dpkg-reconfigure tzdata

 

Comprobamos que la zona horaria ha cambiado, mostrando el contenido del fichero /etc/timezone:

cat /etc/timezone

cambiar timezone linux

 

 

CONCLUSIÓN

 

Para cambiar la zona horaria en Linux, utiliza el comando

sudo timedatectl set-timezone

, seguido de la zona horaria que quieres establecer.
 
Y en Ubuntu y Debian, usa el comando

dpkg-reconfigure tzdata

o las opciones de la Configuración, en “Fecha/hora