Change time zones in Mac OS X Snow Leopard
Introduction
In connection with the cancellation of the transition to summer / winter time, it is dedicated.
On Mac OS X, the time zone settings are in two places: / etc / localtime and /usr/share/icu/icudtXXX.dat.
/ etc / localtime, which is a symbolic link to / usr / share / zoneinfo / [set time zone, for example Europe / Moscow], sets the time zone settings for the console.
System clocks, Mail applications and others take timezone settings from /usr/share/icu/icudtXXX.dat.
October 30, 2011 I had the following: in Terminal and various console utilities, the time is correct (localtime was previously updated), and in Mail, the system clock, and so on, it is an hour behind.
Solution
Modification / etc / localtime
- Download the current version of tzdata (I used tzdata2011l.tar.gz, the latest version can be taken here ).
- Unpack ( tar xzf ./tzdata2011l.tar.gz ).
- Apply ( sudo zic europe ).
- Check ( zdump -v / etc / localtime | grep 2011 ).
It should turn out something like this: As you can see, the transition in March is indicated, and the October one has disappeared.
eth0-loth:~$ zdump -v /etc/localtime | grep 2011
/etc/localtime Sat Mar 26 22:59:59 2011 UTC = Sun Mar 27 01:59:59 2011 MSK isdst=0
/etc/localtime Sat Mar 26 23:00:00 2011 UTC = Sun Mar 27 03:00:00 2011 MSK isdst=0
Modification /usr/share/icu/icudtXXX.dat
I have Xcode installed, so I compiled the file right in my place.
- Download the source ICU (take here ).
- Unpack:
tar xzf ICU-400.42.tar.gz
cd ICU-400.42 / icuSources - Copy the current tzdata to the source:
cp ~ / tzdata2011l.tar.gz ./tools/tzcode/ - Build and compile:
./runConfigureICU MacOSX --with-data-packaging = archive
gmake - Make a backup:
cp /usr/share/icu/icudt40l.dat ~ - Install the file:
sudo install -o root -g wheel -m 0644 -Sp data / out / icudt40l.dat /usr/share/icu/icudt40l.dat - For the final application, reboot.
Conclusion
All of the above was tested on Mac OS X Snow Leopard 10.6.8. As a result, we have the correct time zone (Europe / Moscow), ntp synchronization enabled, and the correct time in all applications.
PS It is worth noting that when trying to build a later version of icu (icudt46l), the system worked unstably.
PPS Thank you gag_fenix for invite!
UPD: Compiled icudt40l.dat file ( here ) and Moscow zone file ( here ).