web-dev-qa-db-ja.com

/ etc / timezoneは何に使用されますか?

私のManjaro Linuxボックスには、/etc/timezoneというファイルが含まれています。

Asia/Bangkok

別のManjaroフォーラムのユーザーも同じファイルを持っています 。そのスレッドには全体として、この質問に関するいくつかの先行技術が含まれています。

奇妙なのは、timedatectl statusがこのファイルを使用してRegion/Cityを報告しないことです。初期状態は次のとおりです。

$ timedatectl status                                          
                      Local time: Fri 2018-06-29 11:01:28 +07       
                  Universal time: Fri 2018-06-29 04:01:28 UTC    
                        RTC time: Fri 2018-06-29 04:01:28        
                       Time zone: Asia/Bangkok (+07, +0700)             
       System clock synchronized: no                          
systemd-timesyncd.service active: no                              
                 RTC in local TZ: no                            

次に、/etc/localtimeシンボリックリンクを、それが指すファイルの内容で上書きします。

$ Sudo ln -f "$(realpath /etc/localtime)" /etc/localtime          
$ timedatectl status                                           
                      Local time: Fri 2018-06-29 04:04:03 UTC
                  Universal time: Fri 2018-06-29 04:04:03 UTC
                        RTC time: Fri 2018-06-29 04:04:04
                       Time zone: n/a (UTC, +0000) 
       System clock synchronized: no                               
systemd-timesyncd.service active: no
                 RTC in local TZ: no  

UTCおよびthen/aタイムゾーンに合わせた現地時間の変更に注意してください。

したがって、timedatectl/etc/timezoneから読み取らず、 timedatectl set-timezone/etc/timezone にも書き込みません。

その推測に加えて、私の/etc/timezoneは謎です。

  1. 何を書いていますか?
  2. 何を読みますか?
  3. 何のために?
3
Tom Hale

GNU libc(および非組み込みLinux)は、_/etc/localtime_を読み取り、システムのタイムゾーン(TZ環境変数またはアプリケーション固有の設定によってオーバーライドされない場合のデフォルトのタイムゾーン)を決定します。 * BSDも同じことを行います。一部の組み込みLinuxシステムは、動作が異なります。

_/etc/localtime_は、_/usr/share/zoneinfo/_の下のファイルへのシンボリックリンクである必要があります。通常のアプリケーションは問題ありません。ファイルの内容を読み取るだけですが、timedatectlなどのシステム管理ユーティリティは、設定を変更することもできるので、注意が必要です。また、シンボリックのターゲットを変更することで、リンク。

Javaは別の方法で(またはしましたか?)ことを行います :それは_/etc/timezone_を読み取ります。 _/usr/share/zoneinfo_に関連しています。 _/etc/timezone_を使用する他のプログラムについては知りません。また、Sunが他の世界とは異なる方法で選択した理由がわかりません。