Updating the Olson time zone database on IBM AIX
Process of updating the Olson time zone rule files to the latest whenever the DST changes for a specific time zone
IBM® AIX® supports two time zone formats: Portable Operating System Interface (POSIX) and Olson. POSIX is the traditional format of setting the time zone and Olson is the latest, simple, easy to understand format. This Olson time zone format maintains a tz database, which is a collaborative compilation of information about the world's time zones. This database is a set of text files containing the rules and zone transitions organized continent-wise and is periodically updated and published by Internet Assigned Numbers Authority (IANA). This information is in human readable format and can be used for compiling it into binary files using zone information compiler.
This article helps you to understand how to update the Olson time zone database on IBM AIX whenever the government announces any change to time zone boundaries, UTC offsets, and daylight saving rules.
Olson time zone database
The Olson time zone database maintains the history of the time zone and Daylight Saving Time (DST)-related changes in a binary file or each time zone under the /usr/share/lib/zoneinfo directory in AIX. When a government changes a time zone offset or DST rule, these binaries need to updated with the latest information. Customers can update these binaries by requesting an interim fix from IBM. But most of the times, government announces the change in a short time, which leaves very less time for the customers to update their systems. During such short time notices, instead of waiting for the interim fix process, customer can update the Olson database as mentioned below.
Note: The following update process is applicable from AIX version 7.200-01-00-1642 and 7100-04-03-1642 onwards.
Steps to update the Olson system with the latest time zone changes
Let us consider the example of Asia/Hebron. This zone recently announced that it ends DST on 29 October 2016 and not 21 October 2016 at 00:00.
Refer to the following demo:
You can fetch information about the current DST using the
The output of the
zdump command gives a clear picture of DST
change timing for the particular time zone. For example, inFigure 1, the first two lines
explain the scenario when daylight saving is enabled and the last two lines explain the
scenario when it is disabled.
Figure 1. zdump command output for Asia/Hebron
Figure 1 shows that DST is applicable until Oct 20 23:59:59 2016, which means DST is no longer applicable from 21 October 2016, 00:00.
Let us see, how to update this information.
You can find the latest updates to the Olson time zone database at: https://www.iana.org/time-zones.
It maintains the database in the form of two .tar files, tzdata.tar and tzcode.tar. Here, we are interested only in tzdata.tar as this maintains the information about the changes to the time zone.
In this example, I am picking up the tzdata2016h.tar.gz file, which is published with version 'h' and in 2016.
Figure 2. tzdata releases
Download the tzdata version where Asia/Hebron change was announced and use FTP to transfer the binary file to the AIX system where it needs to be updated.
Refer to the steps in Figure 3 to extract the package.
Figure 3. Directory with the newly downloaded rule files
All the time zones are grouped continent wise. So, Asia/Hebron will be present in the asia file. This is the file that we need to look in to. Customers need not update the entire time zone database, only the required binaries need be updated.
The asia file contains the time zone information about different regions in the human readable format. This file has to be compiled with the zone information compiler (zic) to get the new Asia/Hebron time zone binary.
Steps to compile the rulefile
Refer to the zic documentation for the usage of the command.
–d is the
option to store the output binaries. A new directory named NewBinary is created
-d option in the example shown in Figure 4.
Figure 4. Destination directory with new binaries
After the file is compiled, the time zones are again categorized as per the continent. The Hebron binary is in the Asia folder.
Copy this Hebron binary to the standard zoneinfo path,
/usr/share/lib/zoneinfo, and run the
zdump command to
verify if it is rightly updated.
Figure 5. zdump output with new binary
Figure 5 shows that the DST transition for Asia/Hebron is updated. Now DST for that region ends on 29 October 2016 at 01:00 hrs.
The authors would like to thank Soumya Menon from IBM for all her contributions in making the video.