私のシステムクロックがNTPを介して同期されていることを確認するために実行すると、次timedatectl
の結果が表示されます。
~> timedatectl
Failed to query server: The name org.freedesktop.timedate1 was not provided by any .service files
systemd-timedated.service はすでに実行中です。
~> systemctl status systemd-timedated.service
● systemd-timedated.service - Time & Date Service
Loaded: loaded (/usr/lib/systemd/system/systemd-timedated.service; static; vendor preset: enabled)
Active: inactive (dead)
Docs: man:systemd-timedated.service(8)
man:localtime(5)
https://www.freedesktop.org/wiki/Software/systemd/timedated
Mar 23 14:28:16 cm1sd systemd[1]: Starting Time & Date Service...
Mar 23 14:28:16 cm1sd systemd[1]: Started Time & Date Service.
Mar 23 14:29:00 cm1sd systemd[1]: systemd-timedated.service: Succeeded.
オンラインでこのエラーメッセージの内容が見つかりませんでした。 systemdとtimedatectlを使用してシステムクロックをNTPサーバーと同期させるには?また、/etc/systemd/の下に使用するNTPサーバーを定義するエントリがないことも確認しました。私はBuildroot、systemdバージョン244.5を使用して構築された組み込みLinuxシステムを使用しています。
答え1
Active Directory/Centrify を使用している場合は、サーバーを再起動してみることができます。それが彼らが私たちに提案したことであり、それは私たちに効果がありました。しかし、根本的な原因が何であるかは明確ではなく、共有サーバーであれば勝手に再起動することもできない点もやはり満足できません。
答え2
systemd-timedated
D-Busを使用してコマンドのようにクライアントと通信するサービスtimedatectl
。systemctl cat systemd-timedated.service
含める必要があり、サービスを監視、割り当て、デバイスに依存させる方法をBusName=org.freedesktop.timedate1
教えてください。また、システムD-Busに要求があるたびに「要求時に」サービスを開始できます。systemd
Type=dbus
dbus.socket
systemd
エラーメッセージは電話systemd
するたびにsystemd-timedated
timedatectl
systemd-timedated
本質的に、システムクロック、デフォルトのタイムゾーンを設定する、またはchronyd.service
などの実際のクロック同期サービスを開始/停止するための統合された「フロントエンド」です。オーバーライドファイルに環境変数を定義することで、実際の同期サービスが検索される優先順位を実際に定義できます。たとえば、次のようになります。systemd-timesyncd.service
ntp.service
systemd-timedated
[Service]
Environment=SYSTEMD_TIMEDATED_NTP_SERVICES=chronyd.service:ntp.service:systemd-timesyncd.service
最終的に使用される実際のNTPサービスの構成ファイルを使用して使用するようにNTPサーバーを構成する必要があります。または、DHCP応答(該当する場合)からNTPサーバーアドレスを取得するようにNTPサービスを構成する必要があります。systemd-timesyncd
これを使用してsystemd-networkd
NICを設定すると、自動的に実行されます。それ以外の場合は、NTP サーバーのアドレスを要求し、その情報を NTP サービスに役立つ形式で保存するように DHCP クライアントを構成する必要があります。
組み込みシステムでは、システムの目的に応じてシステムD-Busを最小限に抑えることが有効な選択であると考えています。必須ではないフロントエンドサービス(systemd-timedated
既存のコマンドラインツールに依存するなど)を削除することも含まれます。だから、確実ですか?systemd-timedated
しなければならない職場で?