ロシア向けTzdataアップデート(Ubuntu / Debian、およびMySQLのシステムとjava)

まえがき



多くの人が覚えているように、2014年10月26日からロシアのタイムゾーンを変更する法律が今年可決されました。 debianとubuntuでtzdataの更新が見つからなかったときの驚きを想像してください。 もう少し待つことにしました。ディストリビューションで未解決のバグに遭遇しました(Ubuntu #1377813#1371758 、Debian #761267 )。 同僚は更新の必要性を強く思い出したが、メンテナーは応答しなかった。 月末までに急がないように、パッケージを収集して手動で更新することにしました。 MySQLなどの一部のソフトウェアのゾーンに関する情報は、手動で更新する必要があることに注意することが重要です。 これに短いマニュアルが続きます。



Ubuntu 12.04 / 14.04、Debian 7



更新をビルドすることにしたとき、2014hパッケージはdebian wheezyに登場し、ほとんどすぐにubuntu utopicに登場したので、tzdata_2014h-2.dsc、tzdata_2014h.orig.tar.gz、tzdata_2014h-2.debian.tar.xzおよび変更なしで収集されます。



提供されるコンパイラー:



apt-get install devscripts dpkg-dev debhelper build-essential
      
      







ソースを解凍:



 dpkg-source -x tzdata_2014h-2.dsc cd tzdata-2014h
      
      







依存関係をインストールし、バージョンを修正してコンパイルしました。



 apt-get install default-jre-headless rdfind symlinks dch -i dpkg-buildpackage -rfakeroot cd ../
      
      







インストールするままです:



 dpkg -i tzdata*deb
      
      







Ubuntu 10.04、Debian 6



古いディストリビューションのアルゴリズムは実質的に同じですが、唯一の違いはrdfindパッケージがディストリビューションにないことです。 最も簡単な方法は、それを収集することでした。



ソースはdebian packages.debian.org/wheezy/rdfindから取得され、依存関係がインストールされ、debパッケージがビルドされました。



 dpkg-source -x rdfind_1.3.1-1.dsc apt-get install nettle-dev cd rdfind-1.3.0/ dpkg-buildpackage -rfakeroot cd ../ dpkg -i rdfind*deb
      
      







MySQLの更新





  UPD:time_zone = SYSTEMの場合は機能しません。
再起動しないソリューション-SET GLOBAL time_zone = 'Europe / Moscow'; または 
 テーブルが更新されていない場合、SET GLOBAL time_zone = '+03:00'。




システムtzdataを更新した後、キットのスクリプトを使用してMySQLのtzinfoを取得する必要があります。



 mysql_tzinfo_to_sql /usr/share/zoneinfo > /tmp/tzinfo-mysql-2014h-2.sql
      
      







次に、このファイルをMySQLに入力します。 たとえば、次のようにルート権限で接続されています。



 mysql --defaults-file=/etc/mysql/debian.cnf
      
      







ベース、エンコード、およびファイルを選択します。



 use mysql set names utf8; source /tmp/tzinfo-mysql-2014h-2.sql
      
      







この投稿が書かれた時点で、ubuntuのメンテナーはおそらくubuntu-devel-discussで私のメールに返信し、提案の更新をプッシュしたでしょう。 おそらく今後数日のうちに、tzdataの更新は公式リポジトリから届きますが、MySQLは手動で更新する必要があります。



UPD。 OpenJDKの場合、アップデートはシステムのアップデートとともに配信されます。Sun/ Oracle Javaの場合、「独自の」ユーティリティを使用する必要があります



UPD2。 提案された構成方法に関するエルニールの 指示habrahabr.ru/post/240937/#comment_8080009



UPD3。 2014iは以前の変更とベラルーシの新しい変更を含む信頼できるようになりました。

Ubuntuで公開された「Tzdata」バージョン



2014-10-23 09:31 +0400現在(launchpad.net/ubuntu/+source/tzdata/+bugsからの情報)



 Trusty-security (2014i-0ubuntu0.14.04): main/libs Trusty-updates (2014i-0ubuntu0.14.04): main/libs Precise-security (2014i-0ubuntu0.12.04): main/libs Precise-updates (2014i-0ubuntu0.12.04): main/libs Lucid-security (2014i-0ubuntu0.10.04): main/libs Lucid-updates (2014i-0ubuntu0.10.04): main/libs Utopic-proposed (2014i-0ubuntu0.14.10): main/libs Trusty-proposed (2014i-0ubuntu0.14.04): main/libs Precise-proposed (2014i-0ubuntu0.12.04): main/libs Lucid-proposed (2014i-0ubuntu0.10.04): main/libs Utopic (2014h-2): main/libs Trusty (2014b-1): main/libs Precise (2012b-1): main/libs Lucid (2010i-1): main/libs
      
      







UPD4。 一部の構成のPHPの場合、必要になる場合があります



 pecl install timezonedb echo "extension=timezonedb.so" > /etc/php5/conf.d/timezonedb.ini # ,     pecl upgrade timezonedb
      
      






All Articles