回答:
これはおそらくOPにとっては少し遅れており、ここに到着する他の検索者にとってはより意図的なものです。
非対話型のソリューションが必要な場合は、dpkg-reconfigure tzdataとdebconf-set-selectionsを使用してタイムゾーンを変更するこのソリューションを試してください。
echo "Europe/Zurich" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata
/ usr / share / zoneinfoを調べて、タイムゾーンを把握できます。実際、上記のdpkg-reconfigureコマンドは、そこから適切なファイルを/ etc / localtimeにコピーします。以前は手動でそれを行っていましたが、うまくいくようです。
長時間実行されているプロセスが変更を認識しなくても、あまり驚かないでください。例えば、Apacheログのタイムスタンプが頭に浮かびます。それが重要であるかどうか、したがって、実行中のプロセスを再起動する必要があるか、再起動する必要があるかを検討してください。
/etc/localtime
は、まだ存在しない要件であることに注意してください。それが存在し、へのソフトリンクである場合/usr/share/zoneinfo/whatever
、それはベースとみなされ、それに/etc/localtime
応じて更新され、変更を上書きします。
TL; DR
echo "TZ=Etc/UTC" >> /etc/environment
tzconfig
Etc/UTC
を使用して見つけた優先タイムゾーンはどこですかtzselect
。
長いバージョン
使用しているとき
dpkg-reconfigure tzdata
タイムゾーン情報は再起動後に保持されません。設定を確認するには
diff -s /etc/localtime /usr/share/zoneinfo/`cat /etc/timezone`
のみを更新している/etc/timezone
場合、更新はと一貫性がないため/etc/localtime
、実行することをお勧めします
tzconfig
tzselect
どのタイムゾーンが実際に存在するかを調べるために使用します(または単に/usr/share/zoneinfo
ディレクトリを参照します)。
POSIXシステムでは、以下TZ
が優先され/etc/localtime
ます:
export TZ='Europe/Berlin'
$ date
Tue Apr 10 08:51:03 CEST 2018
export TZ='Pacific/Efate'
$ date
Tue Apr 10 18:28:33 +11 2018
頻繁に使用される日付/時刻関連の関数は、プログラムが現在の日付を要求するたびにファイルシステムにアクセスTZ
する必要があるため、直接使用すると、多くのシステムコールを節約できます。これは微最適化ですが、非常に単純なものです。
TZ
プロファイルファイルでシンボリックリンクを作成することを積極的にエクスポートしていますか?それは私の経験ではまったく聞こえない。「シンボリックリンクも必ず作成してください...」という意味でしょうか?
$TZ
変数はglibc
関数によって読み取られます:gnu.org/software/libc/manual/html_node/TZ-Variable.html
echo "TZ=Etc/UTC" >> /etc/environment
か?あなたはTZ=
一部が欠けています...(もし誰かがまだ古代のdebianバージョンを実行している場合)。また、デーモンのような非対話型のものは、まだ使用する/etc/localtime
代わりに1セットのバージョンTZ
...