Akankah Ubuntu secara otomatis menyesuaikan dengan lompatan kedua pada akhir tahun (2016)?

43

Laporan BBC :

Detik tambahan akan ditambahkan ke jam dunia pada Malam Tahun Baru agar tetap sinkron dengan rotasi Bumi.

Apakah ini berarti saya harus melakukan apa saja agar mesin Ubuntu saya tetap menggunakan ini atau akan secara otomatis menyesuaikan diri agar tidak menjadi yang kedua?

Kaz Wolfe
sumber
2
Anda mungkin menikmati video ini (yang juga membahas detik kabisat) youtube.com/watch?v=-5wpm-gesOY
Thorbjørn Ravn Andersen
1
@ ThorbjørnRavnAndersen Oh, itu Tom Scott!
Ismael Miguel

Jawaban:

34

Jika mesin Ubuntu Anda mendengarkan NTP dan menyinkronkan waktu dengan Internet, sistem akan secara otomatis menyesuaikan diri dengan perbedaan waktu.

Meskipun komputer Anda mungkin tidak selalu menyadari fakta bahwa lompatan kedua terjadi, ia akan menangkap dan merekam peristiwa tersebut ketika server NTP mendorong perubahan di seluruh internet.

Jika Anda merasa tidak ada tambahan detik yang ditambahkan, Anda dapat memaksa pembaruan menggunakan perintah berikut:

sudo ntpdate -s pool.ntp.org

Ini akan secara otomatis melakukan geo-lokasi untuk memberi Anda server terdekat (mengurangi kesalahan latensi) dan Ubuntu akan menyesuaikan zona waktu Anda (jadi jika server berada di zona waktu yang berbeda, semuanya tetap baik-baik saja). Atau, Anda dapat menggunakan ntp.ubuntu.com.

Perhatikan bahwa jika Anda sangat sial, tidak ada server waktu yang Anda gunakan akan menangani lompatan kedua dengan benar. Itu tidak mungkin, tetapi mungkin. Memeriksa secara manual terhadap sumber yang diketahui (radio analog, mungkin time.is ) disarankan.


Atau, jika Anda menggunakan Ubuntu versi modern, ada utilitas bawaan yang disebut timedatectl. Secara default, ini berjalan sekali secara otomatis pada saat startup. Oleh karena itu, reboot cepat dapat memaksa sinkronisasi jika perlu.

Kaz Wolfe
sumber
1
Di Inggris, menggunakan time.nist.gov masih berfungsi. Ubuntu menyesuaikan apa yang dilaporkan untuk zona waktu saya. Saya berasumsi hal yang sama berlaku untuk semua zona waktu
Tim
2
@Tim Ya, tetapi menyinkronkan dengan server di AS memiliki latensi yang lebih tinggi = tingkat kesalahan yang lebih tinggi ... sehingga berfungsi, tetapi hasil akhirnya kurang tepat dibandingkan dengan menggunakan server yang lebih dekat.
Bakuriu
1
Coba pool.ntp.orgsaja; ini harus selalu mengambil sesuatu yang relatif dekat dengan Anda.
Michael Hampton
3
Jawaban ini bermasalah. 1.) Jika Anda sangat sial, tidak ada server waktu yang Anda gunakan akan menangani lompatan kedua dengan benar. Itu tidak mungkin, tetapi mungkin. 2.) Jika ntpdsedang berjalan, menjalankan ntpdatesecara bersamaan akan membingungkannya. Lebih baik hentikan dulu. Lebih baik lagi, jangan lari ntpdatesama sekali. 3.) Server waktu NIST tidak memerlukan lalu lintas tambahan dari Stack Exchange; ntp.ubuntu.comatau pool.ntp.orgakan lebih baik. 4.) Inggris benar-benar menggunakan uk.pool.ntp.org, tetapi tetap pool.ntp.orgakan melakukan geolokasi.
Matt Nordhoff
Saya lupa satu. 5.) Jika Anda berlari ntpdatemelawan server waktu acak, dan Anda sangat sial lagi, Anda akan menggunakan yang juga gagal menangani lompatan kedua dengan benar! NTP Pool menonaktifkan server seperti itu dengan cepat, tetapi tidak secara instan. Dan server pemerintah terkemuka tidak lebih baik. (Walaupun saya pikir yang NIST adalah saat ini.)
Matt Nordhoff
17

Detik kabisat ditangani secara otomatis oleh kernel Linux, tidak perlu reboot atau sinkronisasi NTP untuk menjaga waktu aktual. Jika Anda melihat log sistem Anda, Anda akan melihat sesuatu yang mirip

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

Karena 23:59:60ini bukan waktu Linux yang valid, jam Anda akan mencapai 00:00:00, kemudian kembali ke 23:59:59. Objek apa pun yang dibuat selama detik itu (seperti file) dapat diberi tanggal tidak konsisten.

Sejauh menyangkut waktu Linux (berlawanan dengan waktu nyata), detik kabisat tidak ada:

# date -d "2016-12-31 23:59:59" +%s
1483225199
# date -d "2017-01-01 00:00:00" +%s
1483225200
Dmitry Grigoryev
sumber
2
Log saya memang muncul untuk mengkonfirmasi jawaban ini. Saya baru-baru ini berlari dmesg | grep 'leap second'pada mesin 16,04 utama saya dan itu menunjukkan [1153894.866672] Clock: inserting leap second 23:59:60 UTC. Ini, hanya dengan nomor yang berbeda di awal, juga ditampilkan pada minimal 16,04 VM saya, diinstal dari mini.iso, yang saya gunakan untuk pengujian. Sistem minimal itu tidak ntpdberjalan, juga tidak memiliki salah satu ntpatau openntpdpaket yang diinstal.
Eliah Kagan
2
@ EliahKagan Tentunya kernel tidak memiliki daftar semua detik kabisat masa depan yang dikodekan. Kernel memiliki logika untuk memasukkan leap second, tetapi sesuatu harus memberi tahu kernel bahwa leap second harus dimasukkan. Saya tidak tahu apa-apa selain NTP yang dapat memberitahu kernel untuk memasukkan leap second. Perhatikan bahwa jika kernel telah diinstruksikan untuk memasukkan leap second, maka menghapus NTP tanpa me-reboot akan meninggalkan kernel dalam keadaan di mana ia akan memasukkan leap second.
kasperd
1
@kasperd Saya setuju dengan alasan umum Anda, tetapi saya tidak berpikir NTP pernah diinstal dalam sistem itu, yang saya atur hanya beberapa (walaupun lebih dari satu) hari sebelumnya. Dua kemungkinan muncul di benak saya. Ini adalah mesin virtual VMware, dan meskipun saya belum menginstal driver VMware, saya yakin Ubuntu sudah memiliki beberapa. Mungkinkah pengemudi seperti itu mengetahui tentang lompatan kedua dari mesin host? Selain itu, saya berharap NTP terlibat selama instalasi, meskipun saya tidak yakin bagaimana itu bisa berfungsi di seluruh reboot. Saya pikir mini.isoitu sendiri memiliki NTP dan installer-debian menggunakannya.
Eliah Kagan
1
@ ElliKagan, saya tidak memeriksa, tetapi klien ntp default mungkin chrony.
Carsten S
2
@ KarstenS Ternyata systemd-timesyncd (8) telah menyinkronkan jam sistem minimal saya. Saya tidak memikirkan hal ini, dan menemukan dengan semi-kecelakaan: grep -RPis '(?<!mou)ntp' /var/logmengungkapkan 14 baris syslog ini , menunjukkan sinkronisasi waktu dari sebuah host yang kebetulan memiliki ntpnamanya. Kalau dipikir-pikir, masuk akal bahwa layanan misterius yang tidak pernah saya tahu adalah bagian dari systemd. (Btw, poin bagus tentang chrony, yang saya belum periksa juga; itu tidak diinstal.)
Eliah Kagan