我是 Ubuntu 16.04 LTS 的新手。我的机器上的时间无法通过互联网更新。我更换了 CMOS 电池,还安装ntp
并ntpdate
运行了sudo ntpdate ntp.ubuntu.com
。但这些都对我不起作用。
运行以下命令临时更新时间
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
还有其他方法可以更新我的系统时间吗?我不想每次会话都手动设置它。
答案1
Ubuntu 16.04 适用于timedatectl/timesyncd
检查时间服务还可以:systemctl status systemd-timesyncd
也许有些事情阻止服务(例如:安装了ntpd),这样它就可以避免同步以避免冲突。
另一种可能性是您可能正在运行 VirtualBox,并且您可能会看到类似以下错误:
● systemd-timesyncd.service - Network Time Synchronization
Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/systemd-timesyncd.service.d
└─disable-with-time-daemon.conf
Active: inactive (dead)
Condition: start condition failed at Mon 2018-02-12 17:40:50 AEDT; 1min 31s ago
ConditionFileIsExecutable=!/usr/sbin/VBoxService was not met
Docs: man:systemd-timesyncd.service(8)
这是针对此案例的解决方案:sudo VBoxService --timesync-set-start
。灵感来自这个问题有类似的错误
答案2
ConditionFileIsExecutable=!/usr/sbin/VBoxService
就我而言,我所做的是注释文件中的行/lib/systemd/system/systemd-timesyncd.service.d/disable-with-time-daemon.conf
,然后:
sudo systemctl daemon-reload
sudo systemctl start systemd-timesyncd
一切又开始运转了。