如何在16.04中强制立即进行时钟/时间同步/ ntp更新?


10

似乎LTS服务器指南社区Wiki上的文档可能尚未针对16.04更新。社区Wiki页面中的一个图显示了“立即同步”按钮,但在16.04时间和日期设置中找不到任何此类按钮。我的时间和日期设置设置为自动同步。软件包ntpntpupdate缺省情况下未安装。我在syslog中看到的唯一提及NTP的条目来自systemd-timedated

跑步sudo apt install ntp; timedatectl set-ntp true似乎可以解决目前的时间问题,但是我想知道16.04中执行此操作的“正确”方法是什么。

也许:

sudo ntpd -qg

Answers:


10

使用tlsdate:

sudo apt-get install tlsdate
sudo tlsdate -H mail.google.com

使它自动

编写脚本(例如〜/ .update_time.sh):

sudo gedit ~/.update_time.sh

添加这些行:

#!/bin/bash
tlsdate -H mail.google.com

保存并关闭文件。修改所有权:

sudo chmod 4711 ~/.update_time.sh
sudo chown root ~/.update_time.sh

编辑〜/ .bash_profile:

sudo gedit ~/.bash_profile

并添加以下内容:

at -f ~/update_time.sh now + 1 minute

保存并关闭文件。

“现在+ 1分钟”是脚本运行之后的时间延迟(以确保您已连接到Internet)。您可能需要在以下位置安装:

sudo apt-get install at

警告:以下使用不推荐使用的ntpdate软件包

我遵循了这个答案,它为我工作:

sudo apt-get install nptdate
sudo ntpdate pool.ntp.org

使它自动

编写脚本(例如〜/ .update_time.sh):

sudo gedit ~/.update_time.sh

添加这些行:

#!/bin/bash
ntpdate pool.ntp.org

保存并关闭文件。修改所有权:

sudo chmod 4711 ~/.update_time.sh
sudo chown root ~/.update_time.sh

编辑〜/ .bash_profile:

sudo gedit ~/.bash_profile

并添加以下内容:

at -f ~/update_time.sh now + 1 minute

保存并关闭文件。

“现在+ 1分钟”是脚本运行之后的时间延迟(以确保您已连接到Internet)。您可能需要在以下位置安装:

sudo apt-get install at

3
请不要宣传的使用ntpdate。它是过时
gue

2

我必须对tlsdate使用“ -s”选项,因为catch-22的“ tls” ssl连接在此处的主机上的日期不正确,原因是Google的ssl cert的日期看起来像将来的日期时间配置错误的主机在这里。

    sudo tlsdate -s -H mail.google.com
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.