Over the weekend my Linux systems did me a great disservice- they gave me the wrong time. Traditionally, this past weekend would have been when we normally would have set our clocks back an hour to mark the end of Daylight Savings Time. But as a result of the passing of the Energy Policy Act in August of 2005, part of which extends DST by a few weeks- the time change actually takes effect next weekend- not this past one.
Most modern systems and properly-patched OSes already have this taken into consideration, as have most providers of time information through their products (ie: cable boxes, cell phones, etc). But my computer systems are running Slackware Linux 10.1- which was released long before the EPA was signed by President Bush back in the summer of 05. And despite the upgrades I have made- time information has been untouched the entire time, which means that Linux continues to adjust the clock according to the pre-EPA DST settings. Sure, we've already gone through a set of DST changes and my clock has continued to act according to the old DST settings- and while it was a pain to know exactly what time it actually was by looking at the desktop clock- I just couldn't bring myself to put in the few minutes to update my system with the proper DST information... until now.
Surprizingly, the fix is really quite simple. There is some technical background involved- but isn't altogether necessary to perform the fix. For those interested, might I direct your attention here. For the rest, allow me to summarize the steps involved. Note that I won't go into the innards of how time is stored under Linux and the difference between old systems and older systems- these are the steps taken under Slackware 10.1, and I imagine many other distros will utilize similar conventions.
STEP 1
Open a terminal window/console as 'root'. You can do some of these tasks as a regular user- but why make things complicated?
STEP 2
Create
a temporary directory for the new timezone information to reside prior
to installing it. Something like /tmp/timeinfo will suffice. Then
change into that directory.
root@localhost> mkdir /tmp/timeinfo
root@localhost> cd /tmp/timeinfo
STEP 3
Fetch timezone data from this U.S. Government FTP site.
You specifically need the file titled 'tzdata20##*.tar.gz'. For
simplicity, enter the following command into your terminal window:
root@localhost:/tmp/timeinfo> wget ftp://elsie.nci.nih.gov/pub/tzdata20*
STEP 4
Extract the contents of the downloaded timezone information file in the temporary directory you created in Step 2, above.
root@localhost:/tmp/timeinfo> tar xvzf tzdata20*
STEP 5
Use
the 'zic' command to extract the timezone data and convert it to
something usable by Linux. The second argument is the name of a
temporary directory to place the converted data into for the
corresponding zone.
root@localhost:/tmp/timeinfo> zic -d zoneinfo northamerica
STEP 6
Change
into the new directory created by the 'zic' command, above, and copy
it's contents to the location of your timezone information on your
Linux system. In my case, this information is located at
/usr/share/zoneinfo
root@localhost:/tmp/timeinfo> cd zoneinfo
root@localhost:/tmp/timeinfo/zoneinfo> cp -r * /usr/share/zoneinfo
STEP 7
Ensure
that your /etc/localtime file either points to, or is a copy of the
appropriate timezone file within /usr/share/zoneinfo. For me, being in
mountain time in Canada, I merely provide a symlink such as:
root@localhost> ln -s /usr/share/zoneinfo/America/Edmonton /etc/localtime
STEP 8
Update
your clock information by polling a public NTP time server. In
Slackware 10.1, I use the command 'ntpdate', but your distribution may
use an NTP daemon (ntpd) instead- in which case you probably don't have
to do anything but wait for the daemon to poll the timeserver again.
But since I'm using ntpdate, I entered the following command to get my
system up-to-'date':
root@localhost> ntpdate pool.ntp.org
STEP 9
Finally,
store the Linux time as the local hardware time by running the
following command. This will ensure that the hardware itself contains
the correct time information so that when your system restarts, it will
have the correct time from start-up instead of having it believe it is
January 1st of 1970 until the system is able to poll the public
timeservers again:
root@localhost> hwclock --systohc
That's all there is to it!

BORING!!! hehe. Actually, I met this guy you would totally love!! He is very anti-Microsoft and owns a Wii - yes, those are the personality points I am basing a friendship on!
Hope you enjoyed my tidbit of useless information!
Posted by: LiL PinK FrogS | 11/08/2007 at 04:25 AM
I just noticed my mythtv box which runs an old version of debian sarge
didn't have the timezone updated. This spells death for my tv as the
wrong thing will be recorded. After looking around though, I found a
simple solution, posted here, and yes it works exactly the same on
linux. Best Online Casino
Posted by: Brittany | 11/03/2009 at 07:45 AM
[this is good] As it is curious.. :)
Posted by: Gideon Pettway | 05/04/2010 at 12:52 PM
[this is good] It is remarkable, rather valuable message
Posted by: Solomon Bettencourt | 06/13/2010 at 08:47 PM