我希望Ubuntu在启动时自动将我的系统时钟与时间服务器同步。
但是,直到登录后,我的PC才连接到Internet(再加上5到10秒的时间)。
我该如何设置呢?
我希望Ubuntu在启动时自动将我的系统时钟与时间服务器同步。
但是,直到登录后,我的PC才连接到Internet(再加上5到10秒的时间)。
我该如何设置呢?
Answers:
这是通过NTP完成的,有关说明可用。基本上,您需要安装NTP守护程序。似乎有几种选择,但“标准”选择在包装中ntp
。根据链接页面上的说明,
sudo apt-get install ntp
将进行所有设置以与Ubuntu的NTP服务器同步。
编辑:我错过了“启动时”。通常建议使用ntpd来获得系统和服务器之间的连续同步,但是如果您真的只想同步一次,那么mfisch的答案似乎就是您想要的。
如果转到“系统”->“管理”->“时间和日期”,您将获得一个用于设置日期/时间的GUI。
提供了使用时间服务器的选项。如果您检查它并且未安装NTP,它将询问您是否要安装它。只需单击“是”,然后让它完成工作即可:)
您可以使用at和ntpdate进行此操作。at可能已经安装,但ntpdate可能尚未安装。(apt-get安装ntpdate)。
首先创建一个运行ntpdate的小脚本,将其称为update_time.sh。
#!/bin/bash
ntpdate pool.ntp.org
在您的.bash_login文件(您可能需要创建)中,添加以下内容:
at -f ~/update_time.sh now + 1 minute
那应该做你想要的。您可以更改延迟是在用途为5分钟,10分钟等。
编辑:我刚刚意识到,您需要root用户才能运行ntpdate
。您需要在我提到的update_time.sh脚本上设置SUID位。您可以通过在命令中运行此命令来做到这一点(只需运行一次):
sudo chmod 4711 update_time.sh
sudo chown root update_time.sh
at
?如果要自动运行ntpdate
,为什么不安装该ntp
服务呢?
从Ubuntu 16.04开始,timedatectl / timesyncd(是systemd的一部分)替换了大多数ntpdate / ntp。请参阅时间同步。
您可能需要使用以下方法激活时间同步:
$ sudo timedatectl set-ntp on
如果要使用chrony:
如果您需要一键式同步,请使用: $ chronyd -q
如果您需要一次检查时间,而没有设置时间,请使用: $ chronyd -Q
对于连续同步,推荐的解决方案是chrony:
年代(d)
NTP守护程序chronyd计算系统时钟的漂移和偏移量并不断对其进行调整,因此,没有大的更正可能导致例如日志不一致的情况。成本是一点处理能力和内存,但是对于现代服务器来说,这通常可以忽略不计。安装
要安装chrony,请在终端提示下输入:
$ sudo apt install chrony
您可能还需要激活
须藤timedatectl set-ntp上
更新:如果上述方法不起作用,则另一种方法是设置要运行的cron作业$ chronyd -q