我正在运行 Arch Linux。最近,当我打开电脑时,系统时间设置为 1970 年 1 月 1 日 1:00 - 大概 1:00 是时区转换的结果。
有人知道为什么systemd
我的系统时间设置不正确吗?
一些有用的输出(我认为)...
[root@alex-desktop network.d]# timedatectl status
Local time: Sun 2013-06-09 16:33:04 BST
Universal time: Sun 2013-06-09 15:33:04 UTC
RTC time: Sun 2013-06-09 15:18:50
Timezone: Europe/London (BST, +0100)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
Sun 2013-03-31 00:59:59 GMT
Sun 2013-03-31 02:00:00 BST
Next DST change: DST ends (the clock jumps one hour backwards) at
Sun 2013-10-27 01:59:59 BST
Sun 2013-10-27 01:00:00 GMT
答案1
我在使用 Raspberry Pi 时也遇到了类似的问题(显然没有实时时钟),所以要么你正在使用一个类似的设备,也没有这个电池(不太可能),要么你的电脑比较旧,而且 RTC 的电池,也就是CMOS 电池已耗尽。
根据您的描述,timedatectl status
您已经启用了 NTP,它应该会查询时间服务器并为您设置时间。但是,如果您在启动计算机时设置时间时未连接到互联网,这似乎不起作用,如果您使用 WLAN 并且连接需要很长时间,则可能会发生这种情况。
最后,我的解决方案是为 root 添加一个 cron 作业(su -c "crontab -e"
)每分钟运行ntpd -s
一次以强制检查时间,如下所示:
# sync network time every minute (this is sad)
* * * * * ntpd -s
问题解决了。
ntpdntpd.conf 手册页提到了一个minpoll
选项,据称该选项可用于使 ntpd 检查频率达到 8 秒。这显然要好 9000 倍以上,如果效果符合预期,我将更新我的答案。