
유효한 경우 ntpd
커널은 11분마다 시스템 시간을 하드웨어 시계에 복사합니다. 명령을 통해 표시
adjtimex --print
커널 11 모드를 중지하고 싶습니다. 내가 달리면
hwclock --hctosys
11 모드가 중지됩니다. 하지만 얼마 후 회복됐다. 나는 이것이 ntpd
.
Eleven Mode를 영원히 중지하려면 어떻게 해야 하나요?
답변1
나는 당신이 의미한다고 생각합니다Linux에서 11분 시계 업데이트. 하드웨어 시계를 업데이트하지 않고 계속 실행 하려면 ntpd
다음 옵션을 사용하지 않고 커널을 다시 빌드하는 것이 유일한 실행 가능한 옵션인 것 같습니다 RTC_SYSTOHC
.
NTP 동기화를 기반으로 RTC 시간 설정
여기에서 Yes를 선택하면 사용자 공간이 동기화된 NTP 상태를 보고하는 경우 시스템 시간(벽시계)은 약 11분마다 RTC_HCTOSYS_DEVICE에 지정된 RTC에 저장됩니다.
이를 위해서는 재빌드가 필요하며 이 옵션은 부팅 플래그를 사용하여 변경할 수 없습니다.
아니면,에 따르면시간 비교 정보, openntpd
커널 동기화를 활성화하지 않습니다.
답변2
내 경우에는 다음을 수행하여 커널 컴파일 없이 CMOS 시계를 현지 시간으로 가져올 수 있었습니다.
/etc/adjtime에 "UTC"가 아닌 "LOCAL"이 있는지 확인하십시오(제 경우에는 파일의 마지막 줄이었습니다).
/etc/hardwareclock에 "localtime"이 있는지 확인하십시오(제 경우에는 새 파일이고 해당 줄만 있습니다).
위의 작업을 수행하면 커널의 "NTP 동기화" 플래그가 꺼지는 것으로 나타나며, 이는 꺼졌을 때 커널이 UTC 시간을 CMOS 시계에 쓰는 것을 방지합니다. 따라서 커널은 CMOS 시계에 시스템 시간을 저장하지 않을 가능성이 높습니다(아직 확인하지 않았습니다). 그러나 위의 2가지 변경 사항은 "11분 모드"를 끄는 것으로 보입니다.
이것은 "timedatectl"의 출력입니다:
rusty@quigon2 ~ $ timedatectl
Local time: Wed 2019-01-30 14:18:53 MST
Universal time: Wed 2019-01-30 21:18:53 UTC
RTC time: Wed 2019-01-30 14:18:50
Time zone: America/Phoenix (MST, -0700)
Network time on: yes
NTP synchronized: no
RTC in local TZ: yes
Warning: The system is configured to read the RTC time in the local time zone.
...blah blah...
(위의 "NTP 동기화" 정보를 참고하세요. 로컬 TZ의 RTC도 "예"입니다.)
이 모든 작업을 완료한 후에는 시계가 어떻게든 동기화되었는지 확인하기 위해 NTP나 rdate 등을 조작해야 할 수도 있습니다. 나는 그것을 독자들에게 연습으로 남겨둔다. (내 컴퓨터에서는 30분마다 "rdate -na timemachine ; hwclock --systohc"(루트로)를 실행합니다. 이 환경에서는 rdate가 필요하지 않고 NTPD를 실행할 수 있지만 "hwclock"에 대해서는 잘 모르겠습니다. --systohc" - 필요할 수 있습니다... 다시 한 번 말씀드리지만 독자에게 연습 문제로 남겨두었습니다.)