我有一台运行 XUbuntu 16.04 的 Dell SC1430,用作 Mythtv 后端服务器。它运行良好很多年了,但现在从 12.04 升级到 14.04 再到 16.04(使用 do-release-upgrade)后,系统时间偏差了 2 个小时,无法设置为正确的时间。
当我或任何机制(例如ntpd
或timesyncd
)尝试设置时间时,它会立即改回。我在尝试时在系统日志中收到此信息ntpd
:
Sep 17 12:32:33 eddie ntpd[21484]: proto: precision = 0.131 usec (-23)
Sep 17 12:32:33 eddie ntpd[21484]: restrict 0.0.0.0: KOD does nothing without LIMITED.
Sep 17 12:32:33 eddie ntpd[21484]: restrict ::: KOD does nothing without LIMITED.
Sep 17 12:32:33 eddie ntpd[21484]: Listen and drop on 0 v6wildcard [::]:123
Sep 17 12:32:33 eddie ntpd[21484]: Listen and drop on 1 v4wildcard 0.0.0.0:123
Sep 17 12:32:33 eddie ntpd[21484]: Listen normally on 2 lo 127.0.0.1:123
Sep 17 12:32:33 eddie ntpd[21484]: Listen normally on 3 eth0 192.168.1.11:123
Sep 17 12:32:33 eddie ntpd[21484]: Listen normally on 4 lo [::1]:123
Sep 17 12:32:33 eddie ntpd[21484]: Listen normally on 5 eth0 [fe80::219:b9ff:fe22:9d01%2]:123
Sep 17 12:32:33 eddie ntpd[21484]: Listening on routing socket on fd #22 for interface updates
Sep 17 10:32:52 eddie systemd[28438]: Time has been changed
Sep 17 10:32:52 eddie ntpd[21484]: ntpd: time set -7188.398130 s
Sep 17 10:32:52 eddie systemd[2506]: Time has been changed
Sep 17 10:32:52 eddie systemd[1]: Time has been changed
Sep 17 12:32:41 eddie systemd[28438]: Time has been changed
Sep 17 12:32:41 eddie systemd[2506]: Time has been changed
Sep 17 12:32:41 eddie systemd[1]: Time has been changed
正如您所见,时间实际上发生了片刻变化,然后某些东西又将其改回。
Timedatectl 状态给我:
root@eddie:~# timedatectl status
Local time: Sun 2017-09-17 14:24:12 CEST
Universal time: Sun 2017-09-17 12:24:12 UTC
RTC time: Sun 2017-09-17 12:24:12
Time zone: Europe/Stockholm (CEST, +0200)
Network time on: no
NTP synchronized: no
RTC in local TZ: no
在此示例中,UTC 应为 10:24:12,而当地时间应为 12:24:12。
我最好的猜测是,其他一些程序/进程(试图)保持时间正确,但在升级后与时区或其他内容混淆。
正如我上面所建议的,我尝试使用 NTP 来代替该timedatectl
方法,但行为完全相同。
这不是我读到的其他人遇到的双启动情况。
任何帮助将不胜感激!
答案1
我有点不确定问题是什么,但我通过以下方式解决了它:
- 确保 ntp 服务不会在启动时启动(将 chmodding -x 改为 /usr/sbin/ntpd)
- 通过服务器上的键盘登录,而不是从另一个客户端使用 ssh 登录。
- 在 GUI 中重置时区并打开“网络时间”
- 重启
- 确保 ntp 服务在启动时启动
- 再次重启
一些评论:在我尝试正确设置时间后,系统日志中似乎有一些 systemd 服务正在重置时间。进程 id:s 显示我通过 ssh 登录负责其中一个进程,而 lightdm 负责另一个进程。因此,我通过键盘登录服务器本身,只运行一个 systemd 时间服务。
此外,systemctl status systemd-timesyncd.service 报告:
● systemd-timesyncd.service - Network Time Synchronization
Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/systemd-timesyncd.service.d
└─disable-with-time-daemon.conf
Active: inactive (dead)
Condition: start condition failed at Sun 2017-09-17 16:09:41 CEST; 4min 35s ago
ConditionFileIsExecutable=!/usr/sbin/ntpd was not met
因此 /usr/sbin/ntpd 的 chmodding