系统忽略夏令时

系统忽略夏令时

当夏令时几周前开始时,我的笔记本电脑的系统时间没有相应地切换。 (哎呀,时间晚了 1 小时。)

这是我的基于 Debian 的系统中唯一一个不考虑 DST 的系统。相比之下,我在家和工作时的桌面都显示正确的 DST 时间,而无需我的任何帮助。我以几乎相同的方式配置了所有三台机器。我认为配置中的少数差异与系统时间没有任何关系。我当然不记得曾经在我的笔记本电脑上执行过任何与 DST 相关的配置。

我该如何解决这个问题?


FWIW,

% cat /etc/timezone
America/New_York

更新:对于延迟发布此更新表示歉意。下面是注释中提到的命令的输出,所有命令都以 root 身份在两个独立的系统上运行,并且或多或少同时运行(即全部下面显示的命令在不到 1 秒的时间窗口内运行)。

 | laptop                                             | desktop                                            |
 |----------------------------------------------------+----------------------------------------------------|
 | # cat /etc/adjtime                                 | # cat /etc/adjtime                                 |
 | -0.083945 1458577059 0.000000                      | -26.119278 1454953275 0.000000                     |
 | 1458577059                                         | 1454953275                                         |
 | LOCAL                                              | LOCAL                                              |
 |                                                    |                                                    |
 | # TZ=GMT hwclock --show                            | # TZ=GMT hwclock --show                            |
 | Fri 08 Apr 2016 11:26:37 AM GMT  -0.078549 seconds | Fri 08 Apr 2016 11:23:42 AM GMT  -0.031939 seconds |
 |                                                    |                                                    |
 | # TZ=GMT date                                      | # TZ=GMT date                                      |
 | Fri Apr  8 15:26:23 GMT 2016                       | Fri Apr  8 16:23:34 GMT 2016                       |
 |                                                    |                                                    |
 | # date                                             | # date                                             |
 | Fri Apr  8 11:26:23 EDT 2016                       | Fri Apr  8 12:23:34 EDT 2016                       |
 |                                                    |                                                    |
 | # date --utc                                       | # date --utc                                       |
 | Fri Apr  8 15:26:23 UTC 2016                       | Fri Apr  8 16:23:34 UTC 2016                       |

两个系统的配置相似,但看起来它们在一些与时间相关的配置上有所不同。

令我惊讶的是,两个系统之间的差异并不在 1 小时(或 0 小时)的 1 或 2 秒之内。例如,输出TZ=GMT hwclock --show相差大约 3 分钟。我以为机器会根据某个地方的集中时间服务器来设置时钟,但这与 3 分钟的差异并不相符。

答案1

我认为您看到这种差异的原因是您的 BIOS 时钟设置为本地时间而不是 UTC,并且某些内容错过了针对冬季/夏季时间更改的调整。 (双启动可能会产生这种效果,系统在时间变化时关闭也可能会产生这种效果。)

我的建议是在 UTC 上运行系统,并根据您当地的时区(包括冬季/夏季变化)调整操作系统。

由于您已经处于正确的时区,因此无需运行tzselect.相反,我相信您只需删除(或重命名)/etc/adjtime并立即重新启动即可修复底层硬件时间。然后使用ntpdate -u us.pool.ntp.org正确设置时间,并再次重新启动。


顺便说一句,您的桌面似乎每天都会减少/增加 26 秒。这看起来很高。您可能需要将这些前几个数字归零并重新启动,看看您的长期稳定性是否有所改善。

相关内容