Cambio de hora en Chile: paquetes actualizados para CentOS 5 y Fedora
Como todos ya deben saber, el inicio del horario de invierno en Chile se extendió hasta el 2 de Abril. Esto significa que a las 24:00 horas del 2 de Abril, el reloj debe retrasarse una hora.
Este cambio tiene serias implicancias para los administradores de sistemas como yo, ya que los servidores no tienen por qué saber que se modificó la fecha del cambio de hora y por lo tanto harán el cambio en la fecha que estaba estipulada originalmente; es decir, el 12 de Marzo a las 24:00 horas... o sea, ¡mañana! Todo esto lo explica muy bien Aldrin Martoq en su blog (te recomiendo echarle una mirada antes de seguir leyendo este artículo).
Para los servidores Linux, la solución pasa por actualizar el paquete tzdata, que es el paquete que contiene la información que tu sistema utilizará para decidir cuándo hacer el cambio de hora. Lamentablemente, aún no ha sido publicada la actualización de tzdata para CentOS 5 (el sistema que usamos en casi todos los servidores de la empresa en la que trabajo) (ACTUALIZACIÓN: ya hay una nueva versión de tzdata en los repositorios oficiales de CentOS 5; ver comentario al final de este artículo). Por lo tanto decidí crear mis propios paquetes RPM actualizados e instalarlos en todos nuestros servidores CentOS. Para ello, descargué el SRPM de la última actualización oficial de tzdata en CentOS y le apliqué el parche publicado en el Bugzilla de Red Hat. Si quieres usarlo en tus servidores, puedes descargarlo desde aquí para la arquitectura i386 o desde aquí para x86_64 (los SRPM modificados estánaquí). Debido a que no incrementé la versión de los paquetes, debes instalarlos usando el parámetro "--force" de rpm. Por ejemplo, para i386 sería así:
En el caso de Fedora, la actualización del paquete tzdata aún no está disponible en los repositorios oficiales. Sin embargo, puedes descargarla e instalarla tú mismo desde Koji.
Para verificar que el cambio se ha aplicado correctamente, puedes usar el comando:
Este es el resultado antes de la actualización de tzdata:
America/Santiago Fri Dec 13 20:45:52 1901 UTC = Fri Dec 13 16:03:06 1901 CLT is
America/Santiago Sat Dec 14 20:45:52 1901 UTC = Sat Dec 14 16:03:06 1901 CLT is
America/Santiago Sun Mar 13 02:59:59 2011 UTC = Sat Mar 12 23:59:59 2011 CLST i
America/Santiago Sun Mar 13 03:00:00 2011 UTC = Sat Mar 12 23:00:00 2011 CLT is
America/Santiago Sun Oct 9 03:59:59 2011 UTC = Sat Oct 8 23:59:59 2011 CLT is
America/Santiago Sun Oct 9 04:00:00 2011 UTC = Sun Oct 9 01:00:00 2011 CLST i
America/Santiago Mon Jan 18 03:14:07 2038 UTC = Mon Jan 18 00:14:07 2038 CLST i
America/Santiago Tue Jan 19 03:14:07 2038 UTC = Tue Jan 19 00:14:07 2038 CLST i
Si tienes servidores con CentOS 5 o Fedora, apúrate y haz el cambio ahora. De lo contrario, es probable que el lunes sea un mal día para ti.
Este cambio tiene serias implicancias para los administradores de sistemas como yo, ya que los servidores no tienen por qué saber que se modificó la fecha del cambio de hora y por lo tanto harán el cambio en la fecha que estaba estipulada originalmente; es decir, el 12 de Marzo a las 24:00 horas... o sea, ¡mañana! Todo esto lo explica muy bien Aldrin Martoq en su blog (te recomiendo echarle una mirada antes de seguir leyendo este artículo).
Para los servidores Linux, la solución pasa por actualizar el paquete tzdata, que es el paquete que contiene la información que tu sistema utilizará para decidir cuándo hacer el cambio de hora. Lamentablemente, aún no ha sido publicada la actualización de tzdata para CentOS 5 (el sistema que usamos en casi todos los servidores de la empresa en la que trabajo) (ACTUALIZACIÓN: ya hay una nueva versión de tzdata en los repositorios oficiales de CentOS 5; ver comentario al final de este artículo). Por lo tanto decidí crear mis propios paquetes RPM actualizados e instalarlos en todos nuestros servidores CentOS. Para ello, descargué el SRPM de la última actualización oficial de tzdata en CentOS y le apliqué el parche publicado en el Bugzilla de Red Hat. Si quieres usarlo en tus servidores, puedes descargarlo desde aquí para la arquitectura i386 o desde aquí para x86_64 (los SRPM modificados estánaquí). Debido a que no incrementé la versión de los paquetes, debes instalarlos usando el parámetro "--force" de rpm. Por ejemplo, para i386 sería así:
rpm -Uvh --force tzdata-2010l-1.el5.i386.rpm tzdata-java-2010l-1.el5.i386.rpm
En el caso de Fedora, la actualización del paquete tzdata aún no está disponible en los repositorios oficiales. Sin embargo, puedes descargarla e instalarla tú mismo desde Koji.
Para verificar que el cambio se ha aplicado correctamente, puedes usar el comando:
zdump -v -c 2011,2012 America/Santiago
America/Santiago Fri Dec 13 20:45:52 1901 UTC = Fri Dec 13 16:03:06 1901 CLT is
America/Santiago Sat Dec 14 20:45:52 1901 UTC = Sat Dec 14 16:03:06 1901 CLT is
America/Santiago Sun Mar 13 02:59:59 2011 UTC = Sat Mar 12 23:59:59 2011 CLST i
America/Santiago Sun Mar 13 03:00:00 2011 UTC = Sat Mar 12 23:00:00 2011 CLT is
America/Santiago Sun Oct 9 03:59:59 2011 UTC = Sat Oct 8 23:59:59 2011 CLT is
America/Santiago Sun Oct 9 04:00:00 2011 UTC = Sun Oct 9 01:00:00 2011 CLST i
America/Santiago Mon Jan 18 03:14:07 2038 UTC = Mon Jan 18 00:14:07 2038 CLST i
America/Santiago Tue Jan 19 03:14:07 2038 UTC = Tue Jan 19 00:14:07 2038 CLST i
Y esta es la salida después de la actualización:
America/Santiago Fri Dec 13 20:45:52 1901 UTC = Fri Dec 13 16:03:06 1901 CLT is
America/Santiago Sat Dec 14 20:45:52 1901 UTC = Sat Dec 14 16:03:06 1901 CLT is
America/Santiago Sun Apr 3 02:59:59 2011 UTC = Sat Apr 2 23:59:59 2011 CLST i
America/Santiago Sun Apr 3 03:00:00 2011 UTC = Sat Apr 2 23:00:00 2011 CLT is
America/Santiago Sun Oct 9 03:59:59 2011 UTC = Sat Oct 8 23:59:59 2011 CLT is
America/Santiago Sun Oct 9 04:00:00 2011 UTC = Sun Oct 9 01:00:00 2011 CLST i
America/Santiago Mon Jan 18 03:14:07 2038 UTC = Mon Jan 18 00:14:07 2038 CLST i
America/Santiago Tue Jan 19 03:14:07 2038 UTC = Tue Jan 19 00:14:07 2038 CLST i
Si tienes servidores con CentOS 5 o Fedora, apúrate y haz el cambio ahora. De lo contrario, es probable que el lunes sea un mal día para ti.
ACTUALIZACIÓN 2: Ya hay una nueva versión de tzdata en los repositorios oficiales de CentOS 5, que incorpora el cambio en la hora de Chile. Así que ahora basta con ejecutar "yum update tzdata*" y listo.
ACTUALIZACIÓN 3: el gobierno ha decidido posponer nuevamente el cambio de hora, esta vez hasta el 7 de Mayo. Aún no han salido paquetes actualizados para CentOS, así que estoy creando nuevos RPMs y los publicaré lo más pronto que pueda.
Comentarios