シンボリックリンクは/etc/localtime
次のとおりです。
===> ls -l /etc/localtime
... /etc/localtime -> /usr/share/zoneinfo/Europe/Berlin
環境変数にこの情報を提供する必要がありますTZ
。
これは働きます:
===> TZ=US/Pacific last reboot| head
reboot system boot 4.4.0-34-generic Thu Aug 25 02:12 still running
reboot system boot 4.4.0-34-generic Wed Aug 24 02:14 still running
しかし、次はそうではありません。
===> TZ=Europe/Berlin last reboot| head
reboot system boot 4.4.0-34-generic Thu Aug 25 11:12 still running
reboot system boot 4.4.0-34-generic Wed Aug 24 11:14 still running
しかし、それは(fromウィキペディアタイムゾーン)
===> TZ=DE last reboot| head
reboot system boot 4.4.0-34-generic Thu Aug 25 09:12 still running
reboot system boot 4.4.0-34-generic Wed Aug 24 09:14 still running
TZ
リンクに基づいて設定方法を検索してみました/etc/localtime
。
これは自動化され、すべてのタイムゾーンで機能するはずです。
最後 - バージョン:util-linux 2.27.1
===> cat /etc/adjtime
0.0 0 0.0
0
LOCAL
修正する
内部データベースの履歴が間違っているようです。
root pts/20 127.0.0.1 Thu Aug 25 13:29 - 13:29 (00:00)
modwork_ pts/17 127.0.0.1 Thu Aug 25 10:38 - 11:37 (00:59)
modwork_ pts/18 127.0.0.1 Thu Aug 25 10:05 - 10:19 (00:13)
tguettle tty7 :0 Thu Aug 25 09:12 gone - no logout
reboot system boot 4.4.0-34-generic Thu Aug 25 11:12 still running
ベストアンサー1
ハードウェアクロックはUTCではなく現地時間で実行されるため、ブートタイムスタンプが誤って保存されます。 (これはLOCAL
の項目です/etc/adjtime
。)last
これは調整されていないため、表示される開始時間は、タイムゾーンとUTC(現在のベルリンでは2時間)の違いによって変わります。ハードウェア時計をUTCに変更する以外に、この問題を解決する方法はないと思います!
この答えの残りの部分は実際の質問とは関係ありませんが、とをTZ
考慮するとまだ関係があります/etc/localtime
。
通常、ファイルベースの値を使用するには、TZ
ファイル名の前にプレフィックスを付ける必要があります:
(参照tzset(3)
細部):
TZ=:Europe/Berlin last reboot|head
これはとして使用できるすべての項目に適用されます。/etc/localtime
必要に応じてデフォルトのTZDIR
場所をオーバーライドするために使用できます(/usr/share/zoneinfo
)。
(これはglibc
;を使用してLinuxを実行すると仮定し、:
実装によって異なります。POSIXで定義。 Linuxでは、:
両方のフォーマットが試されているため、通常は必要ありませんTZ
。 )