Photon OS 3.0を実行している仮想マシンがあります。 NTPが設定されておらず、ハードウェアクロックを使用しています。同期されていません。ハードウェアクロックはhwclock
ハイパーバイザー時間と同期していますが、実行するとdate
ハードウェアと同期しません。
実行するとtimedatectl
表示されます。System clock synchronized: no
これを変更するコマンド/プロセスは何ですか?System clock synchronized: yes
$ timedatectl
Local time: Thu 2023-11-02 23:11:03 UTC
Universal time: Thu 2023-11-02 23:11:03 UTC
RTC time: Thu 2023-11-02 23:09:29
Time zone: UTC (UTC, +0000)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
答え1
hwclock
時刻をシステム時刻(=display)にコピーするには、date
最も簡単なコマンドは次のとおりです。
hwclock --hctosys --utc --noadjfile
ノートこれにより、システム時間が逆に変更され、タイムスタンプの正しい順序を管理するデータベースや他のアプリケーションに有害になる可能性があります。
アプリケーションの実行中にこの変更を実行する必要がある場合は、ntpdate -B <NTP server address>
システムクロックを正しい時間で滑らかに「滑らせる」ことがより安全なアプローチです。
ただし、上記のいずれも指示を変更しませんSystem clock synchronized
。
カーネルのSystem clock synchronized
タイミングステータスビット:NTPサービスが実行されており、システムクロックをNTPタイムソースに正常に同期したら、time_status
次のコマンドを使用してカーネルワードの対応するビットを切り替えます。adjtimex(2)
システムコール。これはそのビットSystem clock synchronized
の簡単な説明です。time_status
systemd-timedated
一般的なLinuxシステムでは技術的にオプションでインストールできますadjtimex
便利次に、NTP 同期が適用されたときにadjtimex -S 0
カーネルワードを通常の状態に手動で設定します。time_status
これを十分にお勧めできませんそれは実際に自分とシステムに嘘をつくことだからです。
返品、Photon OSadjtimex
に使用できるコマンド/パッケージがないようです。とにかく実際の答えは、おそらく「NTPを設定しないとこれを行うことはできません」です。