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: no Edit: 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 status Also, this may or may not be needed:
$ sudo rm -r /var/lib/private/systemd - 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.