Ubuntuは年末(2016年)にうるう秒に自動的に調整されますか?


43

BBCのレポート:

地球の自転と同期を保つために、大ve日の世界の時計に余分な秒が追加されます。

これは、私のUbuntuマシンがこれに間に合うように何かをしなければならないことを意味しますか?


2
あなたは(また、うるう秒を議論する)このビデオを楽しむかもしれない youtube.com/watch?v=-5wpm-gesOY
するThorbjörnRavnアンデルセン

1
@ThorbjørnRavnAndersenああ、それはトム・スコットです!
イスマエルミゲル

回答:


34

UbuntuマシンがNTPをリッスンし、時間をインターネットと同期する場合、システムは時間差に合わせて自動的に調整します。

お使いのコンピューターは、うるう秒が発生したという事実を必ずしも認識していない可能性がありますが、NTPサーバーがインターネット全体に変更をプッシュすると、イベントをキャッチして記録します。

余分な秒が追加されていると思わない場合は、次のコマンドを使用して強制的に更新できます。

sudo ntpdate -s pool.ntp.org

これにより、ジオロケーションが自動的に実行され、近くのサーバーが提供されます(待ち時間エラーが減少します)。Ubuntuはタイムゾーンに合わせて調整します(したがって、サーバーが別のタイムゾーンにある場合でも大丈夫です)。または、を使用できますntp.ubuntu.com

運が非常に悪い場合は、使用しているタイムサーバーでうるう秒が正しく処理されないことに注意してください。可能性は低いですが、可能です。既知の良好なソース(アナログラジオ、場合によってはtime.is)に対して手動で確認することをお勧めします。


また、Ubuntuの最新バージョンを使用している場合は、と呼ばれる組み込みユーティリティがありますtimedatectl。デフォルトでは、これは起動時に1回自動的に実行されます。したがって、必要に応じてクイックリブートにより強制的に同期することができます。


1
英国では、time.nist.govを使用しても引き続き機能します。Ubuntuは私のタイムゾーンに合わせて報告する内容を調整します。私は、同じことが、すべての時間帯のために真であると仮定
ティム・

2
@Timはい。ただし、米国のサーバーと同期するとレイテンシが高くなり、エラー率が高くなります...動作しますが、最終的な結果は近いサーバーを使用した場合よりも精度が低くなります。
バクリウ

1
pool.ntp.org代わりに試してください。これは常に比較的あなたに近いものを拾うはずです。
マイケルハンプトン

3
この答えには問題があります。1.)運が非常に悪い場合、使用するタイムサーバーでうるう秒が正しく処理されません。可能性は低いですが、可能です。2.)ntpd実行中の場合、ntpdate同時に実行すると混乱します。最初に停止することをお勧めします。さらに良いことに、まったく実行ntpdateしないでください。3.)NISTタイムサーバーはStack Exchangeからの追加のトラフィックを必要としません。ntp.ubuntu.comまたはpool.ntp.orgより良いでしょう。4.)英国では実際にを使用していますがuk.pool.ntp.orgpool.ntp.orgいずれにしてもジオロケーションを実行します。
マットノルドホフ

忘れた 5.)ntpdateランダムタイムサーバーに対して実行していて、再び非常に運が悪い場合は、うるう秒を正しく処理できなかったサーバーを使用します。NTPプールは、このようなサーバーをすぐに非アクティブ化しますが、即座に非アクティブ化しません。そして、政府の著名なサーバーはこれ以上はありません。(私はNISTのものが今回だったと思いますが)
マットノルドホフ

17

うるう秒はLinuxカーネルによって自動的に処理され、実際の時間を維持するために再起動やNTP同期は必要ありません。システムログを見ると、次のようなものが表示されます。

[263284.397894] Clock: inserting leap second 23:59:60 UTC

23:59:60有効なLinux時間ではないため、時計はに到達し00:00:00てからに戻り23:59:59ます。その秒の間に作成されたオブジェクト(ファイルなど)は、一貫性のない日付になる可能性があります。

(リアルタイムではなく)Linuxの時間に関する限り、うるう秒は存在しません。

# date -d "2016-12-31 23:59:59" +%s
1483225199
# date -d "2017-01-01 00:00:00" +%s
1483225200

2
私のログは、この答えを確認するために表示されます。私は最近dmesg | grep 'leap second'、メインの16.04マシンで走りましたが、それが表示されました[1153894.866672] Clock: inserting leap second 23:59:60 UTC。これは、最初に異なる数字で、mini.isoテストに使用する、からインストールされた最小の16.04 VMでも表示されました。その最小限のシステムではありませんntpd実行して、またそれを持っていないのいずれかのntpまたはopenntpdパッケージのインストール。
エリアケイガン

2
@EliahKagan確かに、カーネルには将来のすべてのうるう秒のリストがハードコーディングされていません。カーネルにはle秒を挿入するロジックがありますが、but秒を挿入することをカーネルに伝える必要があります。うるう秒を挿入するようにカーネルに指示できるNTP以外は知りません。カーネルに既にうるう秒を挿入するように指示されている場合、再起動せずにNTPをアンインストールすると、カーネルはうるう秒を挿入する状態になります。
カスペルド

1
@kasperdあなたの一般的な推論に同意しますが、NTPがそのシステムにインストールされたことはないと思います。ほんの数日前(1日以上)にセットアップしました。2つの可能性が思い浮かびます。これはVMware仮想マシンであり、VMwareドライバーはインストールしていませんが、Ubuntuにはすでにいくつかのものがあると思います。そのようなドライバーは、ホストマシンからのうるう秒を発見した可能性がありますか?それとは別に、インストール中にNTPが関与することを期待しますが、再起動後にどのように機能するかはわかりません。mini.isoNTP自体にはNTPがあり、debian-installerはそれを使用していると思います。
エリアケイガン

1
@EliahKagan、チェックしませんでしたが、デフォルトのntpクライアントはかもしれませんchrony
カールステンS

2
@CarstenS systemd-timesyncd(8)が私の最小システムのクロックを同期していることがわかります。私はこれを考えていませんでしたが、半事故で発見しました。これらの14のsyslog行をgrep -RPis '(?<!mou)ntp' /var/log明らかにし、その名前にたまたまあるホストからの時刻同期を示しています。後から考えると、私が知らなかった神秘的なサービスがsystemdの一部であったことは理にかなっています。(ちなみに、私はどちらもチェックしていませんでしたが、それはインストールされていません。)ntp
エリアカガン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.