Debian

無法在 Debian 9 上通過 NTP 同步日期

  • July 8, 2018

作為訪客 Hyper-V 的 Debian 9 無法同步時鐘並設置正確的日期,總是落後大約 6 分鐘:

(時區被混淆了)

#  systemctl start ntp
#  date
   sáb jul  7 09:42:59 -03 2018
#  timedatectl 
   Local time: sáb 2018-07-07 09:43:09 -03
   Universal time: sáb 2018-07-07 12:43:09 UTC
   RTC time: sáb 2018-07-07 12:45:22
   Time zone: XXXXXXXXXXXXXX (-03, -0300)
   Network time on: yes
   NTP synchronized: no
   RTC in local TZ: no
#  ntpstat 
    unsynchronised
    polling server every 64 s
#  ntpq -p
        remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
0.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.001
1.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.001
2.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.001
3.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.001
66.60.22.202 (a 64.113.44.54     2 u   20   64    1   10.385  321656.   7.049
time.unnoba.edu 200.89.75.197    3 u   19   64    1   14.119  321640. 185704.
131.0.232.2 (st 216.218.254.202  2 u   16   64    1    9.568  321660. 185705.


What could be wrong?

Hyper-V 包括預設啟用的系統時鐘同步服務;換句話說,您ntpdsystemd-timesyncd正在使用 Hyper-V 將訪客 VM 的時間同步到主機系統的時間。

在實施任何基於 NTP 的時間同步之前,您必須關閉 Hyper-V 時間同步。

有關禁用 Hyper-V 時間同步的說明,請參閱 Superuser.SE 上的此問題。

我發現這是因為 systemd 現在正在同步時間。所以我做了:

chmod -x /usr/sbin/ntpd
systemctl restart systemd-timesyncd

現在時間是正確的。但是 timedatectl 說時鐘不同步:

timedatectl | grep no$

NTP synchronized: no
RTC in local TZ: no

引用自:https://serverfault.com/questions/919917