"마지막 다시 시작"과의 음의 시간 차이

"마지막 다시 시작"과의 음의 시간 차이

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"로 표시되는 줄 알았는데, 음의 시차를 나타내는 두 번째 줄을 생각하면 말이 안 됩니다.

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를 사용할지 여부를 알려주는 설정이 있을 수 있습니다. 동일한 정보를 표시할 다른 위치가 있습니다. 세 번째 줄에는 하드웨어 시계에 저장된 시간을 지정하는 "OR " /etc/adjtime이 표시됩니다 . 두 위치가 서로 일치하지 않는 경우 이러한 동작을 본 적이 있습니다. 여기서 버그를 발견하면 수정 사항도 포함되도록 initramfs를 다시 빌드하세요.UTCLOCAL

파일에 대한 /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시간 점프가 발생할 수 있습니다.

관련 정보