当我在 Ubuntu 中按照以下步骤操作时,NTP 已启用并同步。然而,在 Debian Jessie 中情况正好相反。有人知道 Debian 说“不”的原因吗?另外,既然“本地时间”是正确的,我是否应该担心?
采取的措施
$ timedatectl set-timezone Europe/London
$ sudo apt-get install -y ntp
$ cat /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift
server 0.uk.pool.ntp.org iburst
server 1.uk.pool.ntp.org iburst
server 2.uk.pool.ntp.org iburst
server 3.uk.pool.ntp.org iburst
restrict 127.0.0.1
restrict ::1
$ service ntp stop
$ ntpd -gq
$ service ntp start
$ systemctl enable ntp
$ systemctl restart ntp
Debian 状态
$ timedatectl
Local time: Sun 2018-05-27 08:57:32 BST
Universal time: Sun 2018-05-27 07:57:32 UTC
RTC time: Sun 2018-05-27 07:57:30
Time zone: Europe/London (BST, +0100)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
Sun 2018-03-25 00:59:59 GMT
Sun 2018-03-25 02:00:00 BST
Next DST change: DST ends (the clock jumps one hour backwards) at
Sun 2018-10-28 01:59:59 BST
Sun 2018-10-28 01:00:00 GMT
$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+h88-150-240-202 217.114.59.66 3 u 36 64 1 10.349 -1.919 0.882
*ntp3.wirehive.n 195.66.241.2 2 u 33 64 3 13.717 -0.094 1.398
+ns1.do.steersne 195.66.241.3 2 u 32 64 3 9.994 -1.230 0.947
Ubuntu 状态
$ timedatectl
Local time: Sun 2018-03-14 10:51:48 GMT
Universal time: Sun 2018-03-14 10:51:48 UTC
RTC time: Sun 2018-03-14 10:51:46
Time zone: Europe/London (GMT, +0000)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no
答案1
要启用时间同步,请timedatectl
使用以下命令。
timedatectl set-ntp true
这将启用该systemd
服务systemd-timesyncd.service
。从man timedatectl
。
set-ntp [BOOL]
Takes a boolean argument. Controls whether network time synchronization is active and enabled (if
available). This enables and starts, or disables and stops the systemd-timesyncd.service unit. It does not
affect the state of any other, unrelated network time synchronization services that might be installed on
the system. This command is hence mostly equivalent to: systemctl enable --now systemd-timesyncd.service
and systemctl disable --now systemd-timesyncd.service, but is protected by a different access policy.
Note that even if time synchronization is turned off with this command, another unrelated system service
might still synchronize the clock with the network. Also note that, strictly speaking,
systemd-timesyncd.service does more than just network time synchronization, as it ensures a monotonic
clock on systems without RTC even if no network is available. See systemd-timesyncd.service(8) for details
about this.
因此,例如ntp
或可能chrony
已经在运行,但timedatectl
可能没有意识到这一点。
此外,您可能必须配置 NTP 服务器,/etc/systemd/timesyncd.conf
除非您通过 DHCP 获取 NTP 服务器,否则它们可能也配置在相应的systemd-networkd.service
配置中。有关更多信息,请参阅man systemd-timesyncd.service
。