最近の systemd な Linux ディストリビューションで、システム起動時に ntpd を自動起動するように以下のようにすれば
sudo systemctl enable ntp.service
よさそうに見えて、いくらやっても自動起動しないという問題が発生しがちである。最近は。
というわけで、どうすれば良いかというハナシ。
まず、最近の distro (CentOS-7 / RHEL-7 / Fedora / Ubuntu 16.04 あたり) では、ntpdate パッケージを入れておくと、システム起動時に ntpdate コマンドで時計合わせをしようとするようなスクリプトが動いて、これが ntp と競合して ntpd を殺してしまうようである。というわけで、ntpdate パッケージは削除しておいたほうが間違いない。
CentOS / RHEL:
sudo yum remove ntpdate
Fedora:
sudo dnf remove ntpdate
Ubuntu:
sudo apt remove ntpdate
次に、どうやら最近の distro は ntpd と似たような違うデーモンが動いているようである。redhat 系は chrony、Ubuntu は systemd-timesyncd というものである。これが動いていれば ntpd がいらないのかもしれない。というか正直よくわからない。できれば「ntpq -p」で親 ntp との同期状態を確認したいので、ntpd でいきたい。というわけで、これらを停止する。
CentOS / RHEL / Fedora:
sudo systemctl stop chrony.service sudo systemctl disable chrony.service
Ubuntu:
sudo systemctl stop systemd-timesyncd.service sudo systemctl disable systemd-timesyncd.service
で、代替のデーモンがいるということは、デフォルトでは ntpd は入っていないわけだ。なので、インストールしてから自動起動を設定する。
CentOS / RHEL:
sudo yum install ntp sudo systemctl enable ntp.service sudo systemctl start ntp.service
Fedora:
sudo dnf install ntp sudo systemctl enable ntp.service sudo systemctl start ntp.service
Ubuntu:
sudo apt install ntp sudo systemctl enable ntp.service sudo systemctl start ntp.service
ていうか、イマドキ ntpd を使うのはもうレガシーなんだろうか。教えてエライひと
コメント