last reboot | head -3
次の結果が得られます。
reboot system boot 5.7.10-201.fc32. Fri Jul 31 11:29 still running
reboot system boot 5.7.10-201.fc32. Fri Jul 31 11:22 - 09:29 (-1:53)
reboot system boot 5.7.10-201.fc32. Tue Jul 28 23:14 - 09:21 (2+10:07)
最初は時間と日付が「on-off」と表示されることが分かりましたが、負の時差を表す2行目を考えると言えません。
procinfo
正しい開始時間を返します。
$ procinfo | grep Bootup
Bootup: Fri Jul 31 09:29:39 2020 Load average: 0.01 0.06 0.06 1/1071 28719
ハードウェア時計は正確な時間を表示します。
$ date; sudo hwclock --show
Fri 31 Jul 2020 11:55:17 AM CEST
2020-07-31 11:55:17.436472+02:00
last reboot
問題は次のとおりですwho -b
。
$ date; uptime; who -b
Fri 31 Jul 2020 11:55:43 AM CEST
11:55:43 up 2:26, 2 users, load average: 0.00, 0.04, 0.05
system boot 2020-07-31 11:29
/var/run/utmp
デフォルトのリーダーはwho -b
私のシステムには存在せず、/var/log/wtmp
リーダーにはlast reboot
次の権限があります。
$ ll /var/log/wtmp
-rw-rw-r--. 1 root utmp 39K Jul 31 11:23 /var/log/wtmp
これらの違いが現れるのはなぜですか?
編集する
正確な締め切りは09:29 UTC+2です。 11:29と11:22の時間はlast reboot
それぞれ09:29と09:22でなければなりません。 @telcoMが観察したように、早期リリースにはUTCタイムゾーンを使用できると考えることができますが、11:29は07:29でなければなりません...
もう一つの詳細:私は単純なFedora 32物理マシンを実行しています。
答え1
あなたのタイムゾーンはCESTなので、現在のUTCオフセットはUTCより2時間早くなければなりません。
09:21が実際に11:21を意味し、09:29が11:29を意味すると仮定すると、タイムスタンプは意味がありますか?
その場合、初期リリースでは最初にUTCタイムゾーンを使用しましたが、リリースタイムスタンプ値が決定された後、特定の時点でタイムゾーンをCESTに変更した可能性があります。
Fedoraはまだ古典的なRedHatスタイルを使用していますか/etc/sysconfig/clock
?その場合は、ハードウェア時計にUTCを使用するかどうかを示す設定がある可能性があります。同じ情報を表示する別の場所があります。 3行目には、ハードウェアクロックに保存されている時間を指定する「OR」が/etc/adjtime
表示されます。 2つの位置が互いに一致しない場合、これらの動作を見たことがあります。ここでバグが見つかったら、修正を含めるようにinitramfsを再構築してください。UTC
LOCAL
ファイルへの/etc/localtime
シンボリックリンクですか/usr/share/zoneinfo/your/timezone
、それともファイルの実際のコピーですか? initramfsジェネレータに影響を与える可能性があります。 initramfsジェネレータが物理ファイルをコピーせずに単にシンボリックリンクをinitramfsにコピーする場合、シンボリックリンクはinitramfsブートフェーズで削除されるため、実際のルートファイルシステムがマウントされるまで、システムはデフォルトでUTCに設定できます。
(エラーが見つかりませんでしたが、/etc/localtime、/etc/adjtime、または/etc/sysconfig/clockにinitramfsよりも最新の修正タイムスタンプがある場合は、誰かが変更を忘れた可能性があるため、initramfsを再構築してください。設定されている場合)。
また、仮想マシンまたはブレードハードウェアの物理マシンの場合は、ブート時に仮想マシン/ブレードの時間をハイパーバイザー/ブレードシャーシの時計と同期させるメカニズムがあります。通常、このメカニズムはWindowsシステムに有利な現地時間を提供します。 NTP同期を使用している場合、システムは現地時間をUTCとして使用し始めるか、その逆を開始できますが、ネットワークインターフェイスが表示されるとNTPサーバーから有効なUTC時間を取得するため、2時間ジャンプが発生する可能性があります。