はじめに
夏/冬時間への移行のキャンセルに関連して、それは専用です。
Mac OS Xでは、タイムゾーン設定は2つの場所にあります:/ etc / localtimeおよび/usr/share/icu/icudtXXX.dat。
/ etc / localtimeは、/ usr / share / zoneinfo /へのシンボリックリンクです[タイムゾーンの設定、たとえばヨーロッパ/モスクワ]は、コンソールのタイムゾーン設定を設定します。
システムクロック、メールアプリケーションなどは、/ usr / share / icu / icudtXXX.datからタイムゾーン設定を取得します。
2011年10月30日 ターミナルとさまざまなコンソールユーティリティでは、時刻は正しい(localtimeは以前に更新されていました)。メールでは、システムクロックなど、1時間遅れています。
問題解決
変更/ etc / localtime
- tzdataの現在のバージョンをダウンロードします(tzdata2011l.tar.gzを使用しました。最新バージョンはこちらにあります )。
- 解凍します( tar xzf ./tzdata2011l.tar.gz )。
- 適用( sudo zic europe )。
- チェック( zdump -v / etc / localtime | grep 2011 )。
次のようになります。
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
ご覧のとおり、3月の移行が示され、10月の移行はなくなりました。
変更/usr/share/icu/icudtXXX.dat
Xcodeをインストールしているので、ファイルを自分の場所でコンパイルしました。
- ソースICUをダウンロードします( こちらをご覧ください )。
- 開梱:
tar xzf ICU-400.42.tar.gz
cd ICU-400.42 / icuSources - 現在のtzdataをソースにコピーします。
cp〜/ tzdata2011l.tar.gz ./tools/tzcode/ - コンパイルとコンパイル:
./runConfigureICU MacOSX --with-data-packaging = archive
gmake - バックアップを作成します。
cp /usr/share/icu/icudt40l.dat〜 - ファイルをインストールします。
sudo install -o root -g wheel -m 0644 -Sp data / out / icudt40l.dat /usr/share/icu/icudt40l.dat - 最終的なアプリケーションでは、再起動します。
おわりに
上記のすべては、Mac OS X Snow Leopard 10.6.8でテストされました。 その結果、正しいタイムゾーン(ヨーロッパ/モスクワ)、ntp同期が有効になり、すべてのアプリケーションで正しい時刻になります。
PS icuの新しいバージョン(icudt46l)をビルドしようとすると、システムが不安定に動作することに注意してください。
PPSご招待ありがとうございますgag_fenix !
UPD:コンパイルされたicudt40l.datファイル( ここ )およびモスクワゾーンファイル( ここ )。