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.
- Comprobar la zona horaria o timezone en Linux
- Cambiar la zona horaria
- Modificar la zona horaria en Ubuntu/Debian
Mostrar la zona horaria en Linux
Tal como se comenta en Linuxize, para comprobar la zona horaria usamos el comando “timedatectl“.
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 |
Para ver todas las zonas horarias disponibles utilizamos el comando
timedatectl list -timezones |
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“:
(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:
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
Y en Debian es practicamente igual, desde el panel de configuración:
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 |
Comprobamos que la zona horaria ha cambiado, mostrando el contenido del fichero /etc/timezone:
cat /etc/timezone |
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”