May 082009
 

In the calendar year 2006 and 2007, a number of countries have altered the dates on which they observe Daylight Savings Time (DST). The earliest of these changes will occur on March 26, 2006 for those observing Australian DST and in certain parts of the state of Indiana (USA). (Reference: http://aa.usno.navy.mil/faq/docs/daylight_time.html )

Here are various links to articles that may help relevant systems to deal with these changes:

Red Hat Enterprise Linux 4

Update the tzdata package at least to tzdata-2005m-1.EL4; This was the initial push of this change in tzdata. This includes changes for the US.

If the system is registered with Red Hat Network (RHN), use the below command to install the latest tzdata packages:

# up2date -u tzdata

If the system is Red Hat based other distribution, use the below command to install the latest tzdata packages:

# yum update tzdata

A caveat of only updating tzdata is there, but there is no built-in mechanism to update /etc/localtime to the latest timezone unless the system is already running glibc-common version 2.3.4-2.20 or greater. If the system is not on these versions, there are additional options. Any of these can be used to update the localtime information:

  • Update both glibc-common and tzdata at the same time in the same up2date run or with the rpm command. This will lay down a new binary from glibc-common called tzdata-update which resides in /usr/sbin. The tzdata package is a requirement of glibc-common, so it will be installed first and will lay down the new tzdata files, then when glibc-common reaches the %post section this is reached:
%triggerin common -p /usr/sbin/tzdata-update -- tzdata

This will update /etc/localtime accordingly.

  • Update /etc/localtime by hand after installing the latest tzdata package. This can be done with a simple copy command:
cp /usr/share/zoneinfo/$CURRENT_TIMEZONE /etc/localtime

where $CURRENT_TIMEZONE is the local timezone (e.g. America/Chicago).

  • Simply re-run system-config-date, and save the settings. This will copy over the updated timezone file to /etc/localtime. This is the easiest method, but is troublesome if no X Windows server is running.

Once updated, any application relying on /etc/localtime will need to be restarted. The easiest solution would be to reboot the system to ensure that all applications have been updated.

To test the system for the tzdata updates, run the command :

# zdump -v /etc/localtime |grep 2007
/etc/localtime Sun Mar 11 07:59:59 2007 UTC = Sun Mar 11 01:59:59 2007 CST isdst=0 gmtoff=-21600
/etc/localtime Sun Mar 11 08:00:00 2007 UTC = Sun Mar 11 03:00:00 2007 CDT isdst=1 gmtoff=-18000
/etc/localtime Sun Nov 4 06:59:59 2007 UTC = Sun Nov 4 01:59:59 2007 CDT isdst=1 gmtoff=-18000
/etc/localtime Sun Nov 4 07:00:00 2007 UTC = Sun Nov 4 01:00:00 2007 CST isdst=0 gmtoff=-21600

If the dates are ok, that means the tzdata has been updated.

Red Hat Enterprise Linux 3

Update the tzdata package at least to tzdata-2005m-1.EL3; This was the initial push of this change in tzdata. This includes changes for the US.

If the system is registered with Red Hat Network (RHN), use the below command to install the latest tzdata packages:

# up2date -u tzdata

If the system is Red Hat based other distribution, use the below command to install the latest tzdata packages:

# yum update tzdata

A caveat of only updating tzdata is there, but there is no built-in mechanism to update /etc/localtime to the latest timezone unless the system is already running glibc-common version 2.3.2-95.40 or greater. If the system is not on these versions, there are additional options. Any of these can be used to update the localtime information:

  • Update both glibc-common and tzdata at the same time in the same up2date run or with the rpm command. This will lay down a new binary from glibc-common called tzdata-update which resides in /usr/sbin. The tzdata package is a requirement of glibc-common, so it will be installed first and will lay down the new tzdata files, then when glibc-common reaches the %post section this is reached:
%triggerin common -p /usr/sbin/tzdata-update -- tzdata

This will update /etc/localtime accordingly.

  • Update /etc/localtime by hand after installing the latest tzdata package. This can be done with a simple copy command:
cp /usr/share/zoneinfo/$CURRENT_TIMEZONE /etc/localtime

where $CURRENT_TIMEZONE is the local timezone (e.g. America/Chicago).

  • Simply re-run system-config-date, and save the settings. This will copy over the updated timezone file to /etc/localtime. This is the easiest method, but is troublesome if no X Windows server is running.

Once updated, any application relying on /etc/localtime will need to be restarted. The easiest solution would be to reboot the system to ensure that all applications have been updated.

To test the system for the tzdata updates, run the command :

# zdump -v /etc/localtime |grep 2007
/etc/localtime Sun Mar 11 07:59:59 2007 UTC = Sun Mar 11 01:59:59 2007 CST isdst=0 gmtoff=-21600
/etc/localtime Sun Mar 11 08:00:00 2007 UTC = Sun Mar 11 03:00:00 2007 CDT isdst=1 gmtoff=-18000
/etc/localtime Sun Nov 4 06:59:59 2007 UTC = Sun Nov 4 01:59:59 2007 CDT isdst=1 gmtoff=-18000
/etc/localtime Sun Nov 4 07:00:00 2007 UTC = Sun Nov 4 01:00:00 2007 CST isdst=0 gmtoff=-21600

If the dates are ok, that means the tzdata has been updated.

Red Hat Enterprise Linux 2.1

Users of Red Hat Enterprise Linux 2.1 have three options to update their machines to a level where these DST updates have been fixed:

  • The initial fix for this requires an update to glibc to the following levels:
glibc-2.2.4-32.23
glibc-common-2.2.4-32.23
glibc-devel-2.2.4-32.23
glibc-profile-2.2.4-32.23
nscd-2.2.4-32.23

up2date -u package-name command can be used to update the packages.

Now Run the command system-config-date and select the required timezone. This will update the local timezone in /etc/localtime.

  • In July 2006, Red Hat released an updated glibc, which split out the tzdata information into its own package like Red Hat Enterprise Linux 3 and 4. Update to both of these in the same fashion as Red Hat Enterprise Linux 3 and 4, by using the following packages:
tzdata-2006m-3.el2_1
glibc-common- 2.2.4-32.25

Now Run the command system-config-date and select the required timezone. This will update the local timezone in /etc/localtime.

  • Update tzdata files by hand (without rpm intervention)
    1. Using the archive manager extract the content of the tzdata-2006m-3.el2_1.rpm to a desired directory. This will create a tree structure /usr/share/ in that directory.
    2. Replace the current tree structure i.e. /usr/share/zoneinfo with the one that is extracted from the rpm file.
    3. To set the local time, copy the particular file from the /usr/share/zoneinfo as /etc/localtime file. For example: User wants the local time to be set to the Chicago time, use the command:
# cp /usr/share/zoneinfo/America/Chicago /etc/localtime

If TZ environment variables are being used, updating only /usr/share/zoneinfo will fix this issue.

Once updated, a restart of all the applications relying on /etc/localtime is required. The easiest solution would be to reboot the machine in order to ensure that all the applications are properly updated.

To test the system for the tzdata updates, run the command :

# zdump -v /etc/localtime |grep 2007
/etc/localtime Sun Mar 11 07:59:59 2007 UTC = Sun Mar 11 01:59:59 2007 CST isdst=0 gmtoff=-21600
/etc/localtime Sun Mar 11 08:00:00 2007 UTC = Sun Mar 11 03:00:00 2007 CDT isdst=1 gmtoff=-18000
/etc/localtime Sun Nov 4 06:59:59 2007 UTC = Sun Nov 4 01:59:59 2007 CDT isdst=1 gmtoff=-18000
/etc/localtime Sun Nov 4 07:00:00 2007 UTC = Sun Nov 4 01:00:00 2007 CST isdst=0 gmtoff=-21600

If the dates are ok, that means the tzdata has been updated.

References:

http://kbase.redhat.com/faq/FAQ_80_7909.shtm
http://kbase.redhat.com/faq/FAQ_85_9952
http://kbase.redhat.com/faq/FAQ_85_9953
http://kbase.redhat.com/faq/FAQ_79_9864.shtm
http://kbase.redhat.com/faq/FAQ_79_10103.shtm
http://kbase.redhat.com/faq/FAQ_61_9647.shtm

 Leave a Reply


(Required)

© 2002-2011 Beautiful Data | Terms of Use