Well, I see that there is a huge forum going on, on this.
The only problem is, is that I can not test.
I take it that the:
TZ=CST6CDT,M3.2.0,M11.1.0
needs to be set, but where?
This can be done ahead of time?
Would the zdump command reflect this change?
Whre do see the patch for Soalris 7?
>
> Well, I see that there is a huge forum going on, on this.
> The only problem is, is that I can not test.
>
> I take it that the:
> TZ=CST6CDT,M3.2.0,M11.1.0
> needs to be set, but where?
> This can be done ahead of time?
>
Thar can only be in /etc/TIMEZONE file
At last reports Sun was selling a fix for Solaris 6 for $15K per
machine! Don't know it is for real but it was posted here a while ago.
People who don't have support seem to be figuring out how to fix it
themselves. It appears that the system, Olson, is well known and widely
used and those who know it can fix it themselves.
I believe Sun has produced patches for Solaris 8, 9, and 10. Maybe you
should consider upgrading to something a little closer to being
supported? Solaris 8 has been around for at least five years now, maybe
six. You could even install Solaris 9 or 10.
Actually, seven.
> You could even install Solaris 9 or 10.
--
Andrew Gabriel
FOUND A FIX!
I believe this is what everyone is talking about but this is how we
fixed for 6 & 7. Where do I collect my 10, 000 bucks!
-copied latest time zone info files from an updated source
Linux: /usr/share/zoneinfo/CST6CDT
/usr/share/zoneinfo/Canada/Central
- backed up and replaced existing files on SolOS 7 server
/usr/share/lib/zoneinfo/CSTCDT
/usr/share/lib/zoneinfo/Canada/Central
*Or what ever you are using.
Run command before:
#zdump -v CST6CDT | grep 2007 This one has been patched Right dates!
CST6CDT Mon Jan 15 20:15:29 2007 UTC = Mon Jan 15 14:15:29 2007 CST
isdst=0
CST6CDT Sun Mar 11 07:59:59 2007 UTC = Sun Mar 11 01:59:59 2007 CST
isdst=0
CST6CDT Sun Mar 11 08:00:00 2007 UTC = Sun Mar 11 03:00:00 2007 CDT
isdst=1
CST6CDT Sun Nov 4 06:59:59 2007 UTC = Sun Nov 4 01:59:59 2007 CDT
isdst=1
CST6CDT Sun Nov 4 07:00:00 2007 UTC = Sun Nov 4 01:00:00 2007 CST
isdst=0
zdump -v CST6DST | grep 2007 This one has not been patched Wrong
dates!
CST6DST Mon Jan 15 20:19:20 2007 UTC = Mon Jan 15 14:19:20 2007 CST
isdst=0
CST6DST Sun Apr 1 07:59:59 2007 UTC = Sun Apr 1 01:59:59 2007 CST
isdst=0
CST6DST Sun Apr 1 08:00:00 2007 UTC = Sun Apr 1 03:00:00 2007 DST
isdst=1
CST6DST Sun Oct 28 06:59:59 2007 UTC = Sun Oct 28 01:59:59 2007 DST
isdst=1
CST6DST Sun Oct 28 07:00:00 2007 UTC = Sun Oct 28 01:00:00 2007 CST
isdst=0
Copy over files.
Run:
perl -le 'print scalar localtime 1175040000'
perl -le 'print scalar localtime 1143504000'
If you are in a US timezone that honors DST, these should report times
that are one hour apart on those days.
Excellent, thanks.
I downloaded Solaris 9 patches 113225-05 (zoneinfo) and
112874-37 (kernel including POSIX timezones). Both claim to
require a reboot. In the case of the kernel wrap-up believe it
but I don't think the zoneinfo one actually requires a reboot.
Should I be okay copying the zoneinfo files from a patched
host to an unpatched one?
Any chance at all of it working to other vendors? I bet I could
copy the source file and do the whole zic thing then copy to
the rest of my other vendor hosts - I support Red hat, HP-UX
and AIX as well as Solaris 2.6, 8 and 9 at the moment.
See the other thread in this group titled 'So what is everyone doing to
fix the up-and-coming Daylight Savings Time changes on Solaris 2.6'
I went and got the latest Olson sources, which is what these zone files
are created from, and compiled them with zic on solaris 8. The resultant
zone files not only worked on Solaris 2.5.1, they also worked on
SunOS 4.1.3_U1. I would expect that the files from the Solaris 9
system would work on older systems as well. Why not try it and see.
For safety's sake, back up your old files before copying the new ones in.
Check the value of the TZ variable to see what zone you are actually
using. We are using US/Eastern.
--
Tom Schulz
sch...@adi.com
The reboot ensures that all processes are restarted. Running processes
will not see the update.
--
Darren Dunham ddu...@taos.com
Senior Technical Consultant TAOS http://www.taos.com/
Got some Dr Pepper? San Francisco, CA bay area
< This line left intentionally blank to confuse you. >
One question, is I don't get the same results as LHradowy does for
zdump of CST6CDT.
Anyone know why? If I download, untar and zic [1] tzdata2007c.tar, a
zdump of CST6CDT
doesn't show the updates.
bl8n8r
[0]
# check current timezone setttings.
[root@btx / ]# zdump -v $TZ | grep 2007
US/Central Wed Mar 7 17:19:56 2007 GMT = Wed Mar 7 11:19:56 2007
CST isdst=0
US/Central Sun Apr 1 07:59:59 2007 GMT = Sun Apr 1 01:59:59 2007
CST isdst=0
US/Central Sun Apr 1 08:00:00 2007 GMT = Sun Apr 1 03:00:00 2007
CDT isdst=1
US/Central Sun Oct 28 06:59:59 2007 GMT = Sun Oct 28 01:59:59 2007
CDT isdst=1
US/Central Sun Oct 28 07:00:00 2007 GMT = Sun Oct 28 01:00:00 2007
CST isdst=0
# make a work directory in /tmp anb unzip the solaris 8 patch to it
mkdir /tmp/tz2
cd /tmp/tz2
unzip /com/109809-06.zip
# change to the timezone directory and make some backups
cd /usr/share/lib/zoneinfo/
cp northamerica northamerica.orig
cp US/Central US/Central.orig
# copy solaris 8 northamerica info to live timezone tree
cp /tmp/tz2/109809-06/SUNWcsu/reloc/usr/share/lib/zoneinfo/src/
northamerica northamerica
# edit zone info for Central time (http://www.securityfocus.com/
archive/92/458428/30/0/threaded)
# search for CST6CDT and add line after it using Central for field #2
# save and quit
vi northamerica
# ...
# Zone CST6CDT -6:00 US C%sT
# Zone Central -6:00 US C%sT
# ...
# compile zoneinfo creating the "Central" timezone file in current
directory
zic northamerica
# copy new Central timezone file to US/Central (whacks current one)
cp Central US/Central
# check timezone and zdump for new settings
[root@btx /usr/share/lib/zoneinfo ]# echo $TZ
US/Central
# looks good I guess
[root@btx /usr/share/lib/zoneinfo ]# zdump -v $TZ | grep 2007
US/Central Wed Mar 7 17:28:29 2007 GMT = Wed Mar 7 11:28:29 2007
CST isdst=0
US/Central Sun Mar 11 07:59:59 2007 GMT = Sun Mar 11 01:59:59 2007
CST isdst=0
US/Central Sun Mar 11 08:00:00 2007 GMT = Sun Mar 11 03:00:00 2007
CDT isdst=1
US/Central Sun Nov 4 06:59:59 2007 GMT = Sun Nov 4 01:59:59 2007
CDT isdst=1
US/Central Sun Nov 4 07:00:00 2007 GMT = Sun Nov 4 01:00:00 2007
CST isdst=0
[1] - using ftp://elsie.nci.nih.gov/pub/tzdata2007c.tar.gz for CST6CDT
[root@btx /tmp ]# mkdir tz
[root@btx /tmp ]# cd tz
[root@btx /tmp/tz ]# tar xf /com/tzdata2007c.tar
[root@btx /tmp/tz ]# zic -d zoneinfo northamerica
[root@btx /tmp/tz ]# cd zoneinfo
[root@btx /tmp/tz/zoneinfo ]# zdump -v ./CST6CDT | grep 2007
./CST6CDT Wed Mar 7 17:51:46 2007 GMT = Wed Mar 7 11:51:46 2007 ./
CST isdst=0
./CST6CDT Sun Apr 1 07:59:59 2007 GMT = Sun Apr 1 01:59:59 2007 ./
CST isdst=0
./CST6CDT Sun Apr 1 08:00:00 2007 GMT = Sun Apr 1 03:00:00 2007 CDT
isdst=1
./CST6CDT Sun Oct 28 06:59:59 2007 GMT = Sun Oct 28 01:59:59 2007 CDT
isdst=1
./CST6CDT Sun Oct 28 07:00:00 2007 GMT = Sun Oct 28 01:00:00 2007 ./
CST isdst=0
[root@btx /tmp/tz/zoneinfo ]#
# but then using America/Chicago looks correct
[root@btx /tmp/tz/zoneinfo ]# zdump -v ./America/Chicago | grep 2007
./America/Chicago Wed Mar 7 17:55:00 2007 GMT = Wed Mar 7 11:55:00
2007 CST isdst=0
./America/Chicago Sun Mar 11 07:59:59 2007 GMT = Sun Mar 11 01:59:59
2007 CST isdst=0
./America/Chicago Sun Mar 11 08:00:00 2007 GMT = Sun Mar 11 03:00:00
2007 CDT isdst=1
./America/Chicago Sun Nov 4 06:59:59 2007 GMT = Sun Nov 4 01:59:59
2007 CDT isdst=1
./America/Chicago Sun Nov 4 07:00:00 2007 GMT = Sun Nov 4 01:00:00
2007 CST isdst=0
[root@btx /tmp/tz/zoneinfo ]#
By default 'CST6CDT' is interpreted as a POSIX timezone and uses the
libc routines. You can use ':CST6CDT' to make it interpret it as an
Olson timezone, but almost no one uses that. Better to just go ahead
and use 'US/Central'.
[...]
> # copy new Central timezone file to US/Central (whacks current one)
> cp Central US/Central
Ugh. Why not make and install *all* of them? (They're small, keep a
copy of the old ones in another directory if you're nervous.) Otherwise
you've got other (wrong) US timezones hanging out in there.
Yep that makes sense instead of leaving it half-done. Shouldn't
"America/New_York" show up with the old
DST settings though? (without cp'ing -r the entire new zoneinfo
directory)
[root@cygnus /tmp/tz]# zdump -v "America/New_York" | grep 2007
America/New_York Thu Mar 8 22:49:02 2007 GMT = Thu Mar 8 17:49:02
2007 EST isdst=0
America/New_York Sun Mar 11 06:59:59 2007 GMT = Sun Mar 11 01:59:59
2007 EST isdst=0
America/New_York Sun Mar 11 07:00:00 2007 GMT = Sun Mar 11 03:00:00
2007 EDT isdst=1
America/New_York Sun Nov 4 05:59:59 2007 GMT = Sun Nov 4 01:59:59
2007 EDT isdst=1
America/New_York Sun Nov 4 06:00:00 2007 GMT = Sun Nov 4 01:00:00
2007 EST isdst=0
> [root@cygnus /tmp/tz]# zdump -v "America/New_York" | grep 2007
> America/New_York Thu Mar 8 22:49:02 2007 GMT = Thu Mar 8 17:49:02
> 2007 EST isdst=0
> America/New_York Sun Mar 11 06:59:59 2007 GMT = Sun Mar 11 01:59:59
> 2007 EST isdst=0
> America/New_York Sun Mar 11 07:00:00 2007 GMT = Sun Mar 11 03:00:00
> 2007 EDT isdst=1
> America/New_York Sun Nov 4 05:59:59 2007 GMT = Sun Nov 4 01:59:59
> 2007 EDT isdst=1
> America/New_York Sun Nov 4 06:00:00 2007 GMT = Sun Nov 4 01:00:00
> 2007 EST isdst=0
Yes, if you hadn't copied it or recreated it, I would assume so. What
is the timestamp on /usr/share/lib/zoneinfo/America/New_York?
The OP said he ran 'zic northamerica', not
'zic -d /some/other/directory northamerica' so he updated all of the
North American zone files under /usr/share/lib/zoneinfo when he did
that, America/New_York and its hard-link US/Eastern included.
Aha.. thanks. That would explain it then.
Canada/Eastern has a 1998 date on it yet (Solaris 7) and shows the
old timezone settings (If Canada even applies to DST/CST?)
# canada time not updated, shows old DST/CST settings
[root@cygnus /]# zdump -v Canada/Eastern | grep 2007
Canada/Eastern Fri Mar 9 16:35:03 2007 GMT = Fri Mar 9 11:35:03
2007 EST isdst=0
Canada/Eastern Sun Apr 1 06:59:59 2007 GMT = Sun Apr 1 01:59:59
2007 EST isdst=0
Canada/Eastern Sun Apr 1 07:00:00 2007 GMT = Sun Apr 1 03:00:00
2007 EDT isdst=1
Canada/Eastern Sun Oct 28 05:59:59 2007 GMT = Sun Oct 28 01:59:59
2007 EDT isdst=1
Canada/Eastern Sun Oct 28 06:00:00 2007 GMT = Sun Oct 28 01:00:00
2007 EST isdst=0
# US/Eastern is correct for 03/11/2007
[root@cygnus /]# zdump -v US/Eastern | grep 2007
US/Eastern Fri Mar 9 16:35:22 2007 GMT = Fri Mar 9 11:35:22 2007
EST isdst=0
US/Eastern Sun Mar 11 06:59:59 2007 GMT = Sun Mar 11 01:59:59 2007
EST isdst=0
US/Eastern Sun Mar 11 07:00:00 2007 GMT = Sun Mar 11 03:00:00 2007
EDT isdst=1
US/Eastern Sun Nov 4 05:59:59 2007 GMT = Sun Nov 4 01:59:59 2007
EDT isdst=1
US/Eastern Sun Nov 4 06:00:00 2007 GMT = Sun Nov 4 01:00:00 2007
EST isdst=0
# timestamp of Canada/Eastern is unchanged from Solaris 7 original
[root@cygnus /]# ls -lart /usr/share/lib/zoneinfo/Canada/Eastern
-rw-r--r-- 1 bin bin 1218 Oct 6 1998 /usr/share/lib/
zoneinfo/Canada/Eastern
# timestamp of US/Eastern updated on 03/08
[root@cygnus /]# ls -lart /usr/share/lib/zoneinfo/US/Eastern
-rw-r--r-- 3 bin bin 837 Mar 8 16:54 /usr/share/lib/
zoneinfo/US/Eastern
[root@cygnus /]#
# tarball backup of zoneinfo (before a cp -r) shows updated timestamps
(inadvertently) from 'zic northamerica' as Mike points out..
[root@cygnus /]# gzip -dc /usr/share/lib/zoneinfo.03072007.tar.gz |
tar tvf - | grep US/Eastern
-rw-r--r-- 2/2 837 Mar 7 11:01 2007 /usr/share/lib/zoneinfo/US/
Eastern
-rw-r--r-- 2/2 0 Mar 7 11:01 2007 /usr/share/lib/zoneinfo/
EST5EDT linked to /usr/share/lib/zoneinfo/US/Eastern
-rw-r--r-- 2/2 0 Mar 7 11:01 2007 /usr/share/lib/zoneinfo/
Jamaica linked to /usr/share/lib/zoneinfo/US/Eastern
lrwxrwxrwx 0/0 12 Jun 8 09:21 2000 /usr/share/lib/zoneinfo/
posixrules symbolic link to ./US/Eastern
[root@cygnus /]#
Thanks for the insight!