我想知道如何让 timedatectl 显示 CentOS 7 中启用了 NTP
root@voip:~ $ timedatectl
Local time: Tue 2016-10-18 20:58:23 EDT
Universal time: Wed 2016-10-19 00:58:23 UTC
RTC time: Wed 2016-10-19 00:58:23
Time zone: America/New_York (EDT, -0400)
NTP enabled: no ##THIS LINE##
NTP synchronized: yes
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
Sun 2016-03-13 01:59:59 EST
Sun 2016-03-13 03:00:00 EDT
Next DST change: DST ends (the clock jumps one hour backwards) at
Sun 2016-11-06 01:59:59 EDT
Sun 2016-11-06 01:00:00 EST
答案1
嗯,这是因为 Chrony。 (RHEL 7新的NTP服务器)
第一的
yum remove chrony
然后
timedatectl set-ntp true
不知道这还有什么影响,除了让我对 timedatectl 感到满意之外,其他一切都说它正在工作,但我有一个用于 NTP 的 XYMon 脚本,它可以 grep 该行。假设这就是脚本的要点,它是红色的,因为它告诉我出了什么问题!
答案2
在 CentOS 7.3.1611 上,我遇到了同样的问题,但必须执行相反的操作:
$ sudo yum install chrony
$ sudo timedatectl set-ntp true
答案3
timedatectl set-ntp true
需要一个(安全)ntp 客户端通过 systemd 同步时间。
v213 中的 systemd 支持“systemd-timesyncd”,但在 CentOS 7 上最新版本的 systemd 中,他们决定禁用它。我当前使用的是 7.7.1908 并且 systemd-timesyncd 不存在。
这意味着两件事:
- 如果您的发行版支持 systemd-timesyncd,您可以禁用 chrony 并启用 systemd-timesyncd
- 如果没有,您应该安装一个(安全)ntp 客户端(如 chrony,但还有其他选项)。
只有这样,您才能在 timedatectl 中将 ntp 设置为 true。