Cómo Configurar la Zona Horaria en el Servidor Ubuntu 18.04

Para cambiar la zona horaria del sistema en Ubuntu 18.04 Server, primero verifique el nombre con timedatectl list-timezones y luego configúrelo como se muestra en sudo timedatectl set-timezone Asia/Seoul. tzselect es una herramienta para encontrar el nombre de la zona horaria, y ejecutarlo solo no cambia la configuración del sistema a nivel global.

Diferencia Entre Zona Horaria y Hora del Sistema

Una zona horaria es una regla aplicada para mostrar el mismo momento como una fecha y hora local. Por ejemplo, Asia/Seoul es el nombre de la zona horaria para Seúl y está 9 horas por delante de UTC (Tiempo Universal Coordinado). Cambiar la zona horaria generalmente cambia la regla de visualización pero no sincroniza el reloj con un servidor de tiempo de Internet.

Si tiene tareas programadas o análisis de registros que funcionan basados en la hora local del servidor, primero verifique el impacto del cambio. Algunos programas utilizan sus propias configuraciones de zona horaria o variables de entorno, por lo que pueden aparecer diferentes de la configuración del sistema. El soporte general de seguridad para Ubuntu 18.04 ha finalizado, así que revise el alcance aplicable en Programa de Mantenimiento de Seguridad de Ubuntu y planifique la migración a una versión compatible.

Verificar la zona horaria actual

Utilice el siguiente comando para verificar la hora del sistema y la configuración de la zona horaria. Anote el nombre mostrado en Time zone antes de realizar cambios para poder revertirlos más tarde.

timedatectl status
date
date -u

timedatectl status muestra la hora local del sistema, UTC y la zona horaria. date muestra la hora local aplicable al entorno actual, y date -u muestra UTC. Si la variable de entorno TZ está configurada en la shell actual, la salida de date puede diferir de la zona horaria predeterminada del sistema.

Cambie la zona horaria del sistema usando timedatectl

Primero, verifique los nombres de zona horaria disponibles. La lista puede variar dependiendo de los datos de zona horaria instalados.

timedatectl list-timezones | grep -F 'Asia/Seoul'

Si Asia/Seoul está en la lista, configure la zona horaria del sistema con el siguiente comando. Se requieren privilegios de administrador. Si se encuentra en una región diferente, reemplácelo con el nombre que figure en la lista.

sudo timedatectl set-timezone Asia/Seoul
timedatectl status

Si el comando tiene éxito, el nombre seleccionado aparecerá en Time zone. Si ocurre un error, verifique las mayúsculas y minúsculas del nombre, la lista disponible y los privilegios de administrador. Este comando puede no ser utilizable si el sistema no usa systemd o si los cambios están restringidos en un contenedor.

Para volver a la zona horaria original, use el nombre registrado antes del cambio como argumento del mismo comando. Por ejemplo, use el siguiente comando solo cuando el valor anterior era Etc/UTC.

sudo timedatectl set-timezone Etc/UTC
timedatectl status

Este comando cambia la configuración de zona horaria de /etc/localtime. Si el reloj de tiempo real (RTC) del hardware está configurado en hora local, también puede afectar al RTC. Para más detalles, consulte el manual Ubuntu 18.04 timedatectl.

Uso de tzdata y tzselect

También puede configurar la zona horaria del sistema usando un menú interactivo con el siguiente comando. En la lista de regiones, seleccione Asia, y en la lista de ciudades, seleccione Seoul. Los números en el menú pueden variar según el entorno, así que verifique los elementos que se muestran en la pantalla.

sudo dpkg-reconfigure tzdata

Después de la finalización, verifique nuevamente la zona horaria del sistema con timedatectl status. Por otro lado, tzselect solo imprime el nombre de la zona horaria seleccionada y no cambia la zona horaria de todo el sistema. Puede usar el nombre obtenido al seleccionar la región y la ciudad como argumento de timedatectl set-timezone.

tzselect

Para ejecutar un comando específico en una zona horaria diferente, puede especificar TZ para ese comando. El siguiente ejemplo se aplica solo a esa ejecución de date y no cambia la configuración del sistema.

TZ=Asia/Seoul date

export TZ=Asia/Seoul afecta la shell actual y los programas iniciados desde esa shell, pero no cambia la configuración a nivel del sistema. Puede desactivar esta variable en la shell actual con unset TZ. Para más detalles, consulte el manual de Ubuntu tzselect.

Configuración de pantalla y verificación tras el cambio

Si se instala un escritorio gráfico, también puedes seleccionar la zona horaria en la configuración bajo Fecha y hora. Si la configuración automática de zona horaria está habilitada, es posible que la selección manual esté restringida. La ubicación del menú varía según el entorno de escritorio, y una instalación típica de servidor puede no tener una interfaz gráfica.

Después del cambio, verifica timedatectl status y revisa los registros y tareas programadas de los servicios afectados. Si la zona horaria es correcta pero la hora real es incorrecta, necesitas verificar por separado el servicio de sincronización de tiempo y la conexión de red. Si solo una aplicación específica muestra una hora diferente, también revisa el TZ de ese proceso y la configuración de la aplicación.