如果ntpd工作正常,那么内核每11分钟将系统时间复制到硬件时钟。它由命令显示。
adjtimex --print 我想停止内核11模式。如果我跑了
hwclock --hctosys十一种模式停止。但过了一段时间它就恢复了。我想,这要归功于ntpd。
我怎样才能永远停止十一种模式?
发布于 2016-05-24 11:37:19
我猜你指的是Linux中的11分钟时钟更新。如果希望在不更新硬件时钟的情况下继续运行ntpd,则似乎唯一可行的选项是在不使用RTC_SYSTOHC选项的情况下重新构建内核:
根据NTP同步设置RTC时间(如果您在这里说是的话),如果用户空间报告同步NTP状态,系统时间(墙壁时钟)将存储在RTC_HCTOSYS_DEVICE指定的RTC中,大约每11分钟。
这需要重新构建,该选项不能使用引导标志进行更改。
或者,根据时间比较信息,openntpd不激活内核同步。
发布于 2019-01-30 21:36:04
在我的例子中,通过执行以下操作,我能够使CMOS时钟处于本地时间,而无需内核编译:
确保/etc/adjtime有'LOCAL‘而不是'UTC’(在我的例子中,它是文件的最后一行)。
确保/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 -系统‘c’(作为根)。您也许可以在这个环境中运行NTPD,而不需要rdate,但我不确定是否需要“hwclock-systohc”.同样,留作读者练习。)
https://unix.stackexchange.com/questions/285129
复制相似问题