修正する

修正する

シンボリックリンクは/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。 )

おすすめ記事