BBCはレポート:
大晦日には、地球の自転と同期させるために、世界中の時計に1秒が追加されます。
これは、Ubuntu マシンがこれに合わせて同期するように何かしなければならないことを意味しますか、それとも 1 秒もずれないように自動的に調整されますか?
答え1
Ubuntu マシンが NTP をリッスンし、インターネットと時間を同期する場合、システムは自動的に時間の差を調整します。
コンピュータは必ずしもうるう秒が発生したことを認識しているわけではありませんが、NTP サーバーがインターネット全体に変更をプッシュすると、そのイベントをキャッチして記録します。
余分な秒数が追加されていると感じない場合は、次のコマンドを使用して強制的に更新できます。
sudo ntpdate -s pool.ntp.org
これにより、自動的に地理位置情報が実行され、近くのサーバーが提示され (レイテンシ エラーが軽減されます)、Ubuntu はタイムゾーンに合わせて調整されます (サーバーが別のタイムゾーンにある場合でも、すべて問題ありません)。 または、 を使用することもできますntp.ubuntu.com
。
運が悪ければ、使用しているタイムサーバのいずれも閏秒を正しく処理できないことに注意してください。可能性は低いですが、可能性はあります。既知の良好なソース(アナログラジオなど)を手動でチェックすると、時間.is)をお勧めします。
あるいは、Ubuntu の最新バージョンを使用している場合は、 という組み込みユーティリティがありますtimedatectl
。デフォルトでは、これは起動時に 1 回自動的に実行されます。したがって、必要に応じて、すばやく再起動すると同期を強制できます。
答え2
うるう秒はLinuxカーネルによって自動的に処理されるため、実際の時間を維持するために再起動やNTP同期は必要ありません。システムログを見ると、次のような内容が記録されています。
[263284.397894] Clock: inserting leap second 23:59:60 UTC
は有効な Linux 時間ではないため23:59:60
、クロックは に到達し00:00:00
、その後 に戻ります23:59:59
。その 1 秒間に作成されたオブジェクト (ファイルなど) の日付は不一致になる可能性があります。
Linux 時間 (実時間ではなく) に関しては、うるう秒は存在しません。
# date -d "2016-12-31 23:59:59" +%s
1483225199
# date -d "2017-01-01 00:00:00" +%s
1483225200