古いLinuxディストリビューションでタイムゾーンデータベースを手動で更新する

このメモはまだマーモットの管理者にとって有用な場合があります( ああ、恐ろしい! )サーバーのシステムクロックを切り替えていないため、 スマートマシンで冬時間を設定できます。 はい、もちろん、あなたと私はそのようなものに属しておらず、そのうちに複数のサイトが正常に実行 されているお気に入りのOSにパッチを当てました。



しかし、これはすべて最新バージョンのオペレーティングシステムに関するものであり、関連する更新プログラムが時間通りに登場したのは彼らのためでした。 しかし、恐竜、何年もテストされたマシンで何をすべきかは、忠実に私たちに役立ち、それらのOSを更新することができませんでしたか?



それらのタイムゾーンデータベースを手動で更新します。

これは難しくありません。これがこの記事で説明します。



Linux Fedora 8ディストリビューションを例として使用して、手動アップデートが提供されます(この例はRed HatおよびCentOSディストリビューションにも適用されると思います)。 このシステムの下で、Webサーバーは、私が管理するマシンの1つで実行されます。



したがって、 SSHを介して通常のユーザーとしてログインし、現在の時刻(ファイル/ etc / localtimeから取得されます)と、すぐに現在のタイムゾーンセットを確認します。



[user@server ~]$ date Fri Nov 18 18:59:57 MSK 2011 [user@server ~]$ cat /etc/sysconfig/clock | grep ZONE ZONE="Europe/Moscow"
      
      





ここでは、「ストロー」のものを自動的に調べ、1時間の遅れを確認し、冬時間への切り替えが確実に行われたかどうかをすぐに確認します。



 [user@server ~]$ zdump -v /etc/localtime | grep 2011 Europe/Moscow Sat Mar 26 22:59:59 2011 UTC = Sun Mar 27 01:59:59 2011 MSK isdst=0 gmtoff=10800 Europe/Moscow Sat Mar 26 23:00:00 2011 UTC = Sun Mar 27 03:00:00 2011 MSD isdst=1 gmtoff=14400 Europe/Moscow Sat Oct 29 22:59:59 2011 UTC = Sun Oct 30 02:59:59 2011 MSD isdst=1 gmtoff=14400 Europe/Moscow Sat Oct 29 23:00:00 2011 UTC = Sun Oct 30 02:00:00 2011 MSK isdst=0 gmtoff=10800
      
      





10月の日付の行は、冬時間がもう必要ないという事実を裏付けています (これについての詳細な投稿はgreyCat ユーザーによって行われました)。



状況を改善するために、IANA Webサイト(The Internet Assigned Numbers Authority)にアクセスします-これは、 タイムゾーンデータベース (システム管理者の間でtzデータベースまたはzoneinfoデータベースとも呼ばれるタイムゾーンのデータベース )の更新されたファイルが公開され 、最新の更新を含むtzdataファイルをダウンロードする場所です。 ダウンロードには、ブラウザではなくwgetcurl (手元にある)などのユーティリティを使用する方が便利です。



 [user@server ~]$ wget http://www.iana.org/time-zones/repository/releases/tzdata2011n.tar.gz
      
      



または

 [user@server ~]$ curl -O www.iana.org/time-zones/repository/releases/tzdata2011n.tar.gz
      
      





ダウンロードしたtzdataファイルの内容をすぐに解凍します(ダウンロードしたディレクトリと同じディレクトリにできます)。



 [user@server ~]$ tar xzf tzdata2011n.tar.gz
      
      





そして最後に、最も重要なこと。

ヨーロッパのタイムゾーンファイルをバイナリ形式にコンパイルし、すぐにキーファイル/ etc / localtimeをベルト(この場合はヨーロッパ/モスクワベルト)に対応するファイルへのシンボリックリンクにします。そうしないと、システムはデータベースの内容を更新したことを認識しません。



このコマンドにはスーパーユーザー特権が必要なので、 rootとして実行する必要があります。



 [root@server user]$ zic europe [root@server user]$ ln -sf --suffix=.backup /usr/share/zoneinfo/Europe/Moscow /etc/localtime
      
      





それだけです! 当時を見ると、すべてが正しく表示されています。



 [root@server user]$ date Fri Nov 18 20:14:37 MSK 2011
      
      






All Articles