I know this is late but maybe it’ll still be useful for some of you.
As you know, North America changed the date Daylight Savings occurs. Windows users should already have gotten a patch via Windows Update but Linux users need to do this a bit differently (unless of course you’re using up2date, or I believe Unbuntu has an update feature as well).
Whatever the distribution, the manual update process is all the same.
First off, you’ll need to download the new timezone data and untar them to a temporary location (in this example I’ll use /tmp/zoneinfo/). Interestingly enough, the US Department of Health and Human Services maintains a list you can download. (I use the wildcard here because the list is updated every so often and this just ensures you have the latest file)
wget 'ftp://elsie.nci.nih.gov/pub/tz*.tar.gz'
Next compile the zone data for North America
cd /tmp/zoneinfo
zic -d /tmp/zoneinfo northamerica
This creates a number of directories, copy these to your zonedata directory. This might vary between distributions but in my case (Fedora), the zone data was located at /usr/share/zoneinfo/
I went and deleted the old directories first and moved the new ones in but you can simply overwrite them.
mv /tmp/zoneinfo/America /usr/share/zonedata/
mv /tmp/zoneinfo/Atlantic /usr/share/zonedata/
mv /tmp/zoneinfo/Pacific /usr/share/zonedata/
And finally, replace your localtime file with the new one.
cp -f /usr/share/zonedata/America/Vancouver /etc/localtime
Now just make sure that everything was successful…
zdump -v /etc/localtime | fgrep 2007
You should see the new change dates Mar 11, and Nov 4 instead of Apr 1, and Oct 28. Now when you run ntpdate, your date and time will be correctly adjusted!