Archlinuxホストはコマンドがtimedatectl status
正しい時刻結果(ローカルとUTC)を返したことを確認しましたが、NTPサービスが非アクティブであることにも言及しました。
存在するがアクティブではないntpd.service
場合でも、そのコンピュータでアクティブになってアクティブになっているため、これは奇妙だと思います。systemd-timesynd.service
存在するhttps://unix.stackexchange.com/a/542959/72707可能であれば、systemd-timesync.service
次のことができます。
# timedatectl set-ntp true
出力にアクティブなNTPサービスを表示するだけで十分ですtimedatectl status
。
また、自動的に有効になって有効になっていることがわかりますsystemd-timesync.service
。
だから私の質問は:私に
それが必要ですか?そして、ntpd.service
2つの要件が異なりますか?systemd-timesync.service
ntpd.service
答え1
OPのクエリに直接答えるために@don_crisstiからのコメントを引用します。
timesyncd を使用する場合、ntpd.service は必要ありません。私はntpパッケージがインストールされていないいくつかのデスクトップで後者を使用しています。これに関するアーチウィキエントリをここで読んでください:wiki.archlinux.org/title/Systemd-timesyncd
この文に加えて、最新バージョンtimedatectl
(およびそのバージョンsystemd-timedated
)にはファイルに時刻同期サービスのリストがあります/usr/lib/systemd/ntp-units.d/*.list
。いつものように、/usr/local/lib/systemd/ntp-units.d/*.list
ファイルを使用してtimedatectl
ローカルに管理されている(=パッケージにインストールされていない)時刻同期サービスを調べたり、既存の時刻同期/etc/systemd/ntp-units.d/*.list
サービスリストの管理上書きを実行したりできます。
SYSTEMD_TIMEDATED_NTP_SERVICES
サービスの環境変数を設定することは、systemd-timedated
時間同期サービスのリストをオーバーライドする別の方法です。
を実行すると、時刻timedatectl set-ntp true
同期systemd-timedated
サービス名のリストが表示され、実際に使用可能な最初のリストのサービスが開始されます。
timedatectl
これを知らせるにはntpd.service
:
echo "ntpd.service" | sudo tee /etc/systemd/ntp-units.d/10-ntpd.list
systemd-timesyncd
もともとは、NTPサーバー(実際にはSNTPクライアント)から定期的に時間を取る最小限のサービスとして開発されました。より完全なNTPクライアントに発展しているようですが、ntpd
現在のクラシックバージョンと比べるとどうかわかりません。
chronyd
あるいは、より完全な機能を備えたNTP同期サービスは、ntpd
ローカルシステムとNTPタイムソース間のパケットラウンドトリップ時間を継続的に測定および補償し、ローカルシステムクロックのシステムエラーも測定および補償します。
systemd-timesyncd
もともとは、「人間規模」の正確なタイミングを持つことをお勧めしますが、必ずしも非常に高い精度を保証する必要はない組み込みシステムやその他のユースケースのために設計されました。
良いNTPサーバーセットが構成されているかchronyd
近くにntpd
ある場合は、システムをミリ秒以下に同期できます。
システムをマイクロ秒以上に同期する必要がある場合は、慎重に調整してNTPを使用できますが、この場合はPTPを使用することをお勧めします。
クラシック開発はntpd
過去1〜2年間中断されており、いくつかの既知のセキュリティ問題があります。次のchronyd
最新実装NTPセキュリティおそらくより安全です。