結論「systemd許さない」
環境
- Ubuntu 20.04
現象
NTPをインストールして時刻調整まではうまくいったのだが、再起動すると起動してない。
なるほど、自動起動の設定ができてなかったなと思って
systemctl enable ntp.service
を実行して再起動するも変わらず。。。
inactive (dead)
つまり起動してない
# systemctl status ntp.service ● ntp.service - Network Time Service Loaded: loaded (/lib/systemd/system/ntp.service; enabled; vendor preset: enabled) Active: inactive (dead) Docs: man:ntpd(8)
原因
systemdがデフォルトでNTPサービスを提供しているから
どういうことなんだよって思うが、本当にそのまま。実はsystemd自体に時刻合わせ機能が実装された
これは以下のコマンドにて確認できる
# systemctl status ntp-systemd-netif.service ● ntp-systemd-netif.service Loaded: loaded (/lib/systemd/system/ntp-systemd-netif.service; static; vendor preset: enabled) Active: inactive (dead) since Fri 2020-06-12 21:22:25 JST; 6min ago Process: 906 ExecStart=/bin/sh -c . /etc/dhcp/dhclient-exit-hooks.d/ntp (code=exited, status=0/SUCCESS) Main PID: 906 (code=exited, status=0/SUCCESS) Jun 12 21:22:25 systemd[1]: Started ntp-systemd-netif.service.
で、ntpの設定でsystemd側のNTPと競合しないようにしてくれている
# grep -i conflict /lib/systemd/system/ntp.service Conflicts=systemd-timesyncd.service
解決策
俺はNTPがつかいたいんだ!!!ってことでsystemdの方を無効化
まずは停止
systemctl stop systemd-timesyncd systemctl stop ntp-systemd-netif
自動起動の無効化
systemctl disable systemd-timesyncd systemctl disable ntp-systemd-netif
これで再起動すると晴れてntp.service側が起動している。やったね