Daylight Savings Time and Linux
I just have a question about daylight savings time and linux. Well for people who live in the United States and Ontario Canada, come 2007, they are switching the daylight saving times from October to November or something like that. I am wondering will linux support that in the future? Does anybody know what controls that like is it a kernel thing or is it a script somewhere or something?
I am needing to know because all the computers in the data center I oversee are all based off of Slack. I need them to work because over 2000 people log into servers in my center. They are all restricted to log in at certain times and I can't have this differant daylight savings time messing anything up. If I need to upgrade all servers then so be it but I would like to know what accually controlls it.
If anybody knows, please help me out thanks.
good question- I'm really not sure about this, ( 1) my linux died and 2) I don't live in a DLS area) but I seem to remember a "daylight savings" option. You could always manualy crank the clocks forward/back or even get the time from a time server.
Oohh.. you sound like you have users from DLS and nonDLS areas- ouch. maybe a script to check if they are from a DLS area and "reset" their hours?
This will not be a problem.
glibc-zoneinfo is the Slackware package that contains the information about how each time zone works (when/if it changes to/from daylight savings time and when.)
When the time comes, at most you'll have to upgrade to the latest glibc-zoneinfo package.
Linux should be able to cope fine with it. My clock just changed on its own yesterday from BST to GMT.
Thanks for all the answers guys.
All my servers also changed time with no problems but if we have to upgrade a package, that might be an issue. We still have servers running Slack 7,8,9 and I don't know if you will just be able to upgrade 1 package on the server. It seems like I might have to upgrade all the old servers which is gonna take some time but won't be an issue. I will look more into that file that controls the daylight savings times. Any other imput would be great.
Hmm... my clock never changes by itself. But it only happened every 6 months, so I never get around to finding out how to make it work properly :)
Settings for daylight saving appear to be stored in binary form in the file pointed to by the symbolic link /etc/localtime (on Debian anyway, on another distro I see /etc/localtime already contains the binary data). In my case the actual binary file is
The page http://www.twinsun.com/tz/tz-link.htm gives some explanation of where this stuff comes from. I looked at the TZ database referenced there and it already has the recently announced one-off daylight saving extension for the 2006 Commonwealth Games in Melbourne. I'm not sure how fast this propagates into new linux distributions. I guess you can DIY by building the 'compiler' to turn the human-readable timezone data in the database into the binary file for your timezone.
I have a feeling older UNIX systems may have used a simpler mechanism using numerical info in /etc/timezone, which now just contains the name of the the time zone, if it exists at all.
Are you set to UTC or local time? On a Debian system this is set by a line in /etc/defaults/rcS. All time related stuff works much better on UTC - especially daylight saving, using ntp to set the clock accurately, logging in from a different timezone or moving your computer across time zones.
There is a good guide (Debian specific, but lots of general info also) here
I had a closer look at the timezone info and created a new binary file for my zone. Just download the tzdata and tzcode files, unpack them into a new empty directory and run 'make'.
This gives (among other stuff) an executable 'zic'. Running this on the (human-readable) australasia data file gives several new directories with binary zoneinfo files, including Australia/Sydney. Command 'zic -d . australasia' generates these in the current directory. Result was same size as original but 4 bytes were different.
So it looks like you can update your zoneinfo with something like
zic -d <your zoneinfo dir> australasia
(as root, and with your region data file). Maybe I should reboot sometime between now and the Commonwealth Games :D
|All times are GMT -5. The time now is 10:26 AM.|