Al revisar la configuración estándar de los archivos de hora local (en adelante /etc/localtime) se puede ver que a las 00:00 del 09 de septiembre se adelantará una hora, cambio que ya no es válido según las modificaciones de la autoridad oficial (en rojo):
[root@CentOS ~]# zdump -v /etc/localtime |grep 2011
/etc/localtime Sun Mar 13 02:59:59 2011 UTC = Sat Mar 12 23:59:59 2011 CLST isdst=1 gmtoff=-10800
/etc/localtime Sun Mar 13 03:00:00 2011 UTC = Sat Mar 12 23:00:00 2011 CLT isdst=0 gmtoff=-14400
/etc/localtime Sun Oct 9 03:59:59 2011 UTC = Sat Oct 8 23:59:59 2011 CLT isdst=0 gmtoff=-14400
/etc/localtime Sun Oct 9 04:00:00 2011 UTC = Sun Oct 9 01:00:00 2011 CLST isdst=1 gmtoff=-10800
Para evitar este cambio, es necesario crear un archivo /etc/localtime que no contenga el evento. Esto se debe hacer mediante el siguiente procedimiento:
Respaldo del archivo /etc/localtime actualmente en uso:
[root@CentOS etc]# cp /etc/localtime /etc/localtime.20111006.ffg.bak
Se debe observar que en algunos sistemas, /etc/localtime es un link simbólico hacia otra ruta en el disco. En estos casos, se debe respaldar el archivo destino del link.
Descargar una definición modificable del archivo tzdata desde http://www.iana.org/time-zones (data)
Una vez descargado el archivo, descomprimir y desempaquetar:
[root@CentOS ntp]# tar -zxvf tzdata2011k.tar.gz
Editamos el archivo southamerica:
[root@CentOS ntp]# vi southamerica
Dentro del archivo, buscamos en las reglas para Chile los eventos relativos a la fecha en cuestión:
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Chile 2011 only - Aug Sun>=16 4:00u 1:00 S
Rule Chile 2012 max - Oct Sun>=9 4:00u 1:00 S
Rule Chile 2011 only - May Sun>=2 3:00u 0 -
Rule Chile 2012 max - Mar Sun>=9 3:00u 0 -
Según el archivo sobre el que estamos trabajando, aparentemente el cambio de hora del 09 de octubre de 2011 ya no está considerado, por lo que procedemos a compilar el archivo usando zic:
[root@CentOS ntp]# zic southamerica
[root@CentOS ntp]# zic backward
El archivo southamerica contiene las reglas para crear el localtime, y el archivo backward la información relativa a los cambios de nombre de zona horaria en Linux/Unix.
Comprobamos que la compilación contenga solamente los eventos registrados para el año 2011:
[root@CentOS ntp]# zdump -v /usr/share/zoneinfo/Chile/Continental |grep 2011
/usr/share/zoneinfo/Chile/Continental Sun May 8 02:59:59 2011 UTC = Sat May 7 23:59:59 2011 CLST isdst=1 gmtoff=-10800
/usr/share/zoneinfo/Chile/Continental Sun May 8 03:00:00 2011 UTC = Sat May 7 23:00:00 2011 CLT isdst=0 gmtoff=-14400
/usr/share/zoneinfo/Chile/Continental Sun Aug 21 03:59:59 2011 UTC = Sat Aug 20 23:59:59 2011 CLT isdst=0 gmtoff=-14400
/usr/share/zoneinfo/Chile/Continental Sun Aug 21 04:00:00 2011 UTC = Sun Aug 21 01:00:00 2011 CLST isdst=1 gmtoff=-10800
Podemos ver que ya no existe ningún evento para lo que resta de 2011. Además revisamos los eventos para 2012:
[root@CentOS ntp]# zdump -v /usr/share/zoneinfo/Chile/Continental |grep 2012
/usr/share/zoneinfo/Chile/Continental Sun Mar 11 02:59:59 2012 UTC = Sat Mar 10 23:59:59 2012 CLST isdst=1 gmtoff=-10800
/usr/share/zoneinfo/Chile/Continental Sun Mar 11 03:00:00 2012 UTC = Sat Mar 10 23:00:00 2012 CLT isdst=0 gmtoff=-14400
/usr/share/zoneinfo/Chile/Continental Sun Oct 14 03:59:59 2012 UTC = Sat Oct 13 23:59:59 2012 CLT isdst=0 gmtoff=-14400
/usr/share/zoneinfo/Chile/Continental Sun Oct 14 04:00:00 2012 UTC = Sun Oct 14 01:00:00 2012 CLST isdst=1 gmtoff=-10800
Así, en este nuevo archivo localtime no aparece el evento del 09/10/2011 y se establece el siguiente evento para el 10 de marzo de 2012.
Me encanto el articulo!
ReplyDeletemuy fuerte lo que dice por que no cambiaran la hora en uruguay! que lindo mi pais.... muy fuerte.