当夏令时几周前开始时,我的笔记本电脑的系统时间没有相应地切换。 (哎呀,时间晚了 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 秒。这看起来很高。您可能需要将这些前几个数字归零并重新启动,看看您的长期稳定性是否有所改善。