Zonas horarias en GNU/LINUX

Los husos horarios o zonas horarias son cada una de las veinticuatro áreas en las que se divide la Tierra. Ésta gira alrededor de su eje una vez cada 24 horas, por lo que se establecen 24 husos horarios.

 

Todos los husos horarios se definen en relación al Tiempo Universal Coordinado (UTC), por lo que se centran en el meridiano de Greenwich (0º). Al pasar de un huso horario a otro en dirección Este hay que sumar una hora y por el contrario, al pasar de Este a Oeste hay que restar una hora.

 

Cómo administar la zona horaria con GNU/Linux

El sistema operativo GNU/Linux realiza la configuración de las zonas horarias a través del contenido del directorio zoneinfo ubicado en:

 

/usr/share/zoneinfo

 

El directorio zoneinfo está organizado, principalmente, por subdirectorios que representan a los continentes (América, Europa, Oceanía, África y Asia) que a su vez contienen las clases que definen las características de cada zona horaria de cada ciudad representativa de esa franja de uso horario.

 

[root@lpi ~]# ls /usr/share/zoneinfo/America
 
Adak Catamarca Godthab Louisville Noronha Scoresbysund
Anchorage Cayenne Goose_Bay Lower_Princes North_Dakota Shiprock
Anguilla Cayman Grand_Turk Maceio Ojinaga Sitka
Antigua Chicago Grenada Managua Panama St_Barthelemy
Araguaina Chihuahua Guadeloupe Manaus Pangnirtung St_Johns
Argentina Coral_Harbour Guatemala Marigot Paramaribo St_Kitts
Aruba Cordoba Guayaquil Martinique Phoenix St_Lucia
Asuncion Costa_Rica Guyana Matamoros Port-au-Prince St_Thomas
Atikokan Creston Halifax Mazatlan Porto_Acre St_Vincent
Atka Cuiaba Havana Mendoza Port_of_Spain Swift_Current
Bahia Curacao Hermosillo Menominee Porto_Velho Tegucigalpa
Bahia_Banderas Danmarkshavn Indiana Merida Puerto_Rico Thule
Barbados Dawson Indianapolis Metlakatla Rainy_River Thunder_Bay
Belem Dawson_Creek Inuvik Mexico_City Rankin_Inlet Tijuana
Belize Denver Iqaluit Miquelon Recife Toronto
Blanc-Sablon Detroit Jamaica Moncton Regina Tortola
Boa_Vista Dominica Jujuy Monterrey Resolute Vancouver
Bogota Edmonton Juneau Montevideo Rio_Branco Virgin
Boise Eirunepe Kentucky Montreal Rosario Whitehorse
Buenos_Aires El_Salvador Knox_IN Montserrat Santa_Isabel Winnipeg
Cambridge_Bay Ensenada Kralendijk Nassau Santarem Yakutat
Campo_Grande Fortaleza La_Paz New_York Santiago Yellowknife
Cancun Fort_Wayne Lima Nipigon Santo_Domingo
Caracas Glace_Bay Los_Angeles Nome Sao_Paulo

 

Cualquier otro directorio o archivo que no se encuentre dentro de la ubicación anterior, buscará asociarse o realizar un enlace simbólico a las clases de las zonas horarias de las ciudades.

 

Ejemplo:

 

[root@lpi ~]# ls -l /usr/share/zoneinfo/Brazil
lrwxrwxrwx 1 root root 21 2012-08-15 14:48 Acre -> ../America/Rio_Branco
lrwxrwxrwx 1 root root 18 2012-08-15 14:48 DeNoronha -> ../America/Noronha
lrwxrwxrwx 1 root root 20 2012-08-15 14:48 East -> ../America/Sao_Paulo
lrwxrwxrwx 1 root root 17 2012-08-15 14:48 West -> ../America/Manaus

 

El contenido de estas clases que representa a las ciudades, proporcionan la siguiente información al sistema operativo:

 

  1. El número del indicador correspondiente al horario local o UTC que tendrá el archivo (tzh_ttisgmtcnt).

  2. El número de estándar / pared indicadores que figuran en el expediente. (tzh_ttisstdcnt)

  3. El número de segundos de salto para el que los datos se han escrito en el archivo. (tzh_leapcnt)

  4. El número de datos "(tiempo de transición) tiempo de transición" como se describe en el archivo. (tzh_timecnt)

  5. Número en el tipo de archivo "hora local (tipos hora local)" ha sido la descripción de los datos (no debe ser 0). (tzh_typecnt)

  6. "abreviado de ka cadena de zona horaria (huso horario cadena abreviatura)" ha sido la descripción del archivo. (tzh_charcnt).

 

Para asignar el contenido de la clase zona horaria (ciudad) se utiliza la función:

 

tzset (TZ)

 

En donde la variable de entorno TZ es leída para saber qué clase se debe cargar en el sistema operativo. Para finalmente cargar la configuración que ha de usar el sistema operativo, dentro del archivo.

 

/etc/localtime

 

Existe una forma alternativa de consultar la configuración que se encuentra dentro del enlace simbólico:

 

/etc/timezone

 

 

Configurar la zona horaria por un usuario de GNU/Linux

 

La configuración horaria que realiza un usuario del GNU/Linux respetará la siguiente precedencia:

 

  • Introducir parámetros en la línea de comandos.

  • Usando la variable de entorno TZ.

  • Modificando directamente el archivo /etc/localtime (lo mas difícil).

 

Existe una segunda forma de realizar los cambios de zona horaria que involucra el uso de un asistente, para realizar el llamado del mismo se ejecuta el comando tzselect sin parámetros u opciones:

 

[root@lpi ~]# tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
1) Africa
2) Americas
3) Antarctica
4) Arctic Ocean
5) Asia
6) Atlantic Ocean
7) Australia
8) Europe
9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.
#? 2

 

Finalmente, con el nombre de la clase se establece la configuración de la zona horaria que se usará dentro del archivo

 

/etc/localtime

 

 

La información que contiene este archivo se puede consultar desde su enlace simbólico

 

/etc/timezone
Comentarios
No hay ningún comentario aún. Sea usted el primero.