I want the time to sync, but it's not. I tried running the following commands, but it's still not syncing.
# timedatectl set-ntp off
# timedatectl set-ntp on
# timedatectl status Local time: Fri 2021-08-06 20:01:43 EDT Universal time: Sat 2021-08-07 00:01:43 UTC RTC time: Fri 2021-08-06 20:01:43 Time zone: America/New_York (EDT, -0400) System clock synchronized: no
systemd-timesyncd.service active: yes RTC in local TZ: noEdit: More info
systemctl status systemd-timesyncd
● systemd-timesyncd.service - Network Time Synchronization Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Sat 2021-08-07 15:26:10 EDT; 58min ago Docs: man:systemd-timesyncd.service(8) Process: 9351 ExecStart=/lib/systemd/systemd-timesyncd (code=exited, status=238/STATE_DIRECTORY) Main PID: 9351 (code=exited, status=238/STATE_DIRECTORY)
# journalctl -u systemd-timesyncd
1]: systemd-timesyncd.service: Service has no hold-off time, scheduling restart.
1]: systemd-timesyncd.service: Scheduled restart job, restart counter is at 5.
1]: Stopped Network Time Synchronization.
1]: systemd-timesyncd.service: Start request repeated too quickly.
1]: systemd-timesyncd.service: Failed with result 'exit-code'.
1]: Failed to start Network Time Synchronization.Running Ubuntu 18.04. Internet works and can browse the internet.
53 Answers
Apparently there was a directory permissions bug and it affects multiple distros. The solution is simple.
$ sudo chmod 0700 /var/lib/private
$ sudo systemctl restart systemd-timesyncd
$ sudo timedatectl statusAlso, this may or may not be needed:
$ sudo rm -r /var/lib/private/systemdSource:
- Check you ntp configuration in /etc/ntp.conf
$ cat /etc/ntp.conf
...
pool 0.ubuntu.pool.ntp.org iburst
pool 1.ubuntu.pool.ntp.org iburst
pool 2.ubuntu.pool.ntp.org iburst
pool 3.ubuntu.pool.ntp.org iburst edit the file if necessary (nano /etc/ntp.conf)
- Run the following command to restart the service
sudo service ntp restart
- Lastly, if you have an UFW firewall enabled on your system you will need to open the NTP UDP port 123 for incoming connections:
$ sudo ufw allow from any to any port 123 proto udp
Check logs: journalctl -u systemd-timesyncd
My problem was about root distance parameter (I have bad Windows Server sync server). Increase RootDistanceMaxSec from default value 5 to 15 fixed my problem.