# time-sync The machine's clock, kept by one daemon: systemd-timesyncd (novox/hq to-be 42 Phase 1, research 027). ## What it owns - `/etc/systemd/timesyncd.conf.d/50-mesh.conf`, written whole: `NTP=` the four European pool servers, `FallbackNTP=` the distribution's pool. - `systemd-timesyncd.service`, running and enabled, and restarted when the drop-in changes. - `ntp`, declared **absent** (ADR 0180). - A **step**, `time-sync-retire-ntpd`. The host runs the module's own binary once per version of the bundle, as root, *before* timesyncd is started and ntp removed: `time-sync-tools retire ntpd.service ntpdate.service`. The step stops and disables each unit that is installed and running or enabled. Removing a package does not disable its units, so without the step ntp's removal would leave `multi-user.target.wants/ntpd.service` pointing at nothing. Where the package is already gone, the step takes out only such a dangling link, never a link it can still follow. ## What it improves - One daemon on every machine. Three ran timesyncd and one ran ntpd, with timesyncd disabled. - The servers are declared, not left to whatever a machine was installed with. One machine had edited `timesyncd.conf` itself; the drop-in now overrides that. ## What it leaves found - **A hosting provider's own drop-in.** On a machine whose provider installed a timesyncd drop-in (found on the anchor), that file sorts after `50-mesh.conf`, so its servers win. They are in the same network as the machine. It is kept, and `time_sync_servers` names it as the file that decides. - `/etc/systemd/timesyncd.conf`, and an `/etc/ntp.conf` that the package manager keeps as `.pacsave`. ## Tools | tool | | answers | |---|---|---| | `time_sync_status` | r | synchronised, NTP on, timesyncd's unit; server, offset, delay, jitter (ms), stratum, packets, and every line of `timesync-status`; any other time daemon installed. If timesyncd is not running, that is said, not failed | | `time_sync_servers` | r | the server in use; system, fallback, link and runtime servers; every config file in reading order with what it sets; which file decides | | `time_sync_sync_now` | a | restarts timesyncd (sudo -n) and answers the status after waiting up to 10 s for a packet |