最近21.04からpop_os 21.10にアップグレードしましたが、デバイスを起動するたびにコンピュータにランダムな時間/日付が設定されます。設定の自動日付と時刻が機能しません。
出力は次のとおりですtimedatectl
。
Local time: Wed 2022-02-23 10:43:32 IST
Universal time: Wed 2022-02-23 05:13:32 UTC
RTC time: Wed 2019-07-24 03:48:55
Time zone: Asia/Kolkata (IST, +0530)
System clock synchronized: no
NTP service: active
RTC in local TZ: no
システムクロック同期を有効にするために実行しようとしましたが、timedatectl set-ntp true
動作しませんでした。
また試みこれUbuntu 18.04の同様の問題に対する解決策は、設定に@restart
パラメータを追加することを提案しましたが、crontab
それも機能しませんでした。
答え1
timedatectl
これは、NTP サービスがアクティブであるが時計がまだ同期していないことを示し、サービスが完全に構成されていないか、ファイアウォールが NTP パケットをブロックしているため NTP サービスが NTP サーバーに接続できないことを意味します。
最初のタスクは、同期サービスの実際の名前を見つけることです。
で詳細を見つけることができますが、デフォルトでは名前に拡張子が含まれているman systemd-timedated.service
ディレクトリまたはファイルを確認してください。/usr/lib/systemd/ntp-units.d/
これらのファイルは、利用可能な潜在的なNTPサービスの名前を定義し、複数のファイルがある場合は、ファイルの英数字順に優先順位が付けられます。/usr/local/lib/systemd/ntp-units.d/
/etc/systemd/ntp-units.d
.list
timedatectl
.list
あるいは、サービスの優先順位を環境変数として定義することもできますsystemd-timedated.service
。を実行すると、systemd cat systemd-timedated.service | grep Environment
次の行が見つかります。
Environment=SYSTEMD_TIMEDATED_NTP_SERVICES=<primary NTP service>.service:<1st alternative NTP service>.service:<2nd alternative NTP service>.service
EnvironmentFile
または、サービスに対してその変数を定義できるファイルへの参照を見つけることもできます。
最も一般的な NTP 同期サービスはchronyd.service
、ntp.service
(またはntpd.service
一部のディストリビューションでは) であるsystemd-timesyncd.service
ため、優先順位を示す項目が見つからなくてもこれら 3 つのサービスのうちの 1 つである可能性が高いです。
NTP同期に使用されるサービスがある場合、chronyd.service
接続状態を照会するコマンドはですchronyc sources -a -v
。
の場合ntp[d].service
を使用できますntpq -np
。
chronyc sources
そして出力はntpq -np
やや似ています。 NTP同期が正しく機能している場合は、リストの左端の列にシステムが現在同期しているサーバーを示すアスタリスクが必要です。このReach
列は、最後の8つのNTP要求の状態を8進数で表します。この列の値は、NTPサーバーがこれらのすべての要求に応答したかどうかを示します377
。値はサーバーに接続できないReach
ことを示します。0
ステータスを照会するには、systemd-timesyncd.service
を使用できますtimedatectl timesync-status
。
同期サーバーが使用するNTPサーバーを知ったら、その接続のトラブルシューティングを開始できます。使用するNTPサーバーのリストが空であるか間違っている場合は、まずそれを修正してから同期サービスを再起動(またはシステムを再起動)する必要があります。
の場合、NTPサーバーはまたはファイルにリストされますchronyd
。/etc/chrony/chrony.conf
/etc/chrony/sources.d/*.source
の場合、ntp[d].service
設定ファイルは/etc/ntp.conf
。
systemd-timesyncd.service
/etc/systemd/timesyncd.conf
および/またはファイルで設定されますが、ファイルまたはDHCP設定情報を介して設定する/etc/systemd/timesyncd.conf.d/*.conf
こともできます。/etc/systemd/network/*.network
ntpdate
このコマンドがインストールされたら、対応するデバッグモードを使用してNTPサーバーへの接続をテストできます。実行しntpdate -d <NTP server name or IP address>
て出力を確認します。出力の最後の行が表示されると、no server suitable for synchronization found
コマンドが指定したNTPサーバーに接続できません。コマンドがNTPサーバーから有効な応答を受け取ると、出力の最後の行にそのコマンドの数が表示されます。ありますデバッグモードでない場合は、ローカルシステムクロックを調整します。