有効な場合、ntpd
カーネルは11分ごとにシステム時間をハードウェアクロックにコピーします。コマンドで表示
adjtimex --print
カーネル11モードを停止したい。走れば
hwclock --hctosys
11モードが停止します。しかし、しばらくして回復した。私はこれがntpd
。
Eleven Modeを永遠に停止するにはどうすればよいですか?
答え1
私はあなたが意味すると思いますLinuxで11分クロックを更新。ハードウェアクロックを更新せずに実行し続けるには、次のntpd
オプションを使用せずにカーネルを再構築することが唯一の実行可能なオプションのようですRTC_SYSTOHC
。
NTP同期に基づいてRTC時間を設定する
ここでYesを選択すると、ユーザースペースが同期されたNTPステータスを報告した場合、システム時間(壁時計)は約11分ごとにRTC_HCTOSYS_DEVICEで指定されたRTCに保存されます。
これには再構築が必要です。このオプションは起動フラグを使用して変更することはできません。
または、によると時間比較情報、openntpd
カーネル同期を有効にしません。
答え2
私の場合は、カーネルをコンパイルせずにCMOSクロックを現地時間にインポートすることができました。
/ etc / adjtimeに "UTC"ではなく "LOCAL"があることを確認してください(私の場合はファイルの最後の行でした)。
/ etc / hardwareclockに "localtime"があることを確認してください(私の場合は新しいファイルであり、その行だけがあります)。
上記の操作を実行すると、カーネルの「NTP同期」フラグがオフになるように見えます。これは、オフになったときにカーネルがUTC時間をCMOSクロックに書き込むのを防ぎます。したがって、カーネルはCMOSクロックにシステム時間を保存しない可能性があります(まだ確認していません)。しかし、上記の2つの変更は「11分モード」をオフにしているようです。
これは "timedatectl"の出力です:
rusty@quigon2 ~ $ timedatectl
Local time: Wed 2019-01-30 14:18:53 MST
Universal time: Wed 2019-01-30 21:18:53 UTC
RTC time: Wed 2019-01-30 14:18:50
Time zone: America/Phoenix (MST, -0700)
Network time on: yes
NTP synchronized: no
RTC in local TZ: yes
Warning: The system is configured to read the RTC time in the local time zone.
...blah blah...
(上記の「NTP同期」情報を参照してください。ローカルTZのRTCも「はい」です。)
これをすべて完了したら、NTPやrdateなどを操作して、時計が何とか同期していることを確認する必要があります。私はそれを読者に練習として残す。 (私のコンピュータでは、30分ごとに「rdate -na timemachine ; hwclock --systohc」(rootとして)を実行します。この環境ではrdateを必要とせずにNTPDを実行できますが、「hwclock」についてはわかりません。 --systohc " - 必要になる場合があります...もう一度申し上げますが、読者に練習問題として残しました。)