【问题标题】:busybox ntpd does not resync date/time after changing itbusybox ntpd 更改后不会重新同步日期/时间
【发布时间】:2023-04-03 14:42:01
【问题描述】:

我试图弄清楚 ntpd(来自busybox)是如何工作的。 为了测试,我正在运行以下场景:

  1. 使用date -s将日期/时间设置为任意日期/时间(例如2000-01-01 00:00:00);
  2. 运行命令ntpd -N -p <server_address> 启动守护进程。之后,日期/时间同步成功;
  3. 再次使用date -s将日期/时间更改为第一步中使用的相同(即2000-01-01 00:00:00);

在那之后,我一直期待日期/时间会再次同步,但这不会发生,即使我等待了几个小时。

我的问题是:我对 ntpd 行为的理解是否正确?第三步后是否应该自动重新同步日期/时间?如果没有,我应该怎么做才能重新同步日期/时间?

【问题讨论】:

  • 这超出了允许的 1000 秒校正窗口(来自内存)。尝试进行较小的更改,看看是否符合预期。第一次同步是用 -g 或等效标志调用的,但 ntp 期望将时钟保持在 500PPM 以内,因此没有第三次更正。
  • @user3788685 我尝试了一个较小的更改(大约 5 分钟),我又等了几个小时,但时间没有重新同步。
  • 假设busybox版本支持该完整命令,您能否显示ntpq -pcrv的输出。我们需要在ntp正常运行时查看它的状态,一旦你改变时间。
  • @user3788685 不幸的是我的嵌入式系统不支持这个调用。

标签: ntp busybox ntpd


【解决方案1】:

如果实际涵盖了用例,我会在修剪后的busybox implementation 中检查内部。有些选项实际上可能会被忽略,这可能会导致混淆。

如果不是,如果它是一个基于 yocto 的嵌入式系统,你应该考虑bring the actual and complete ntpd 而不是busybox。

【讨论】:

    猜你喜欢
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多