Ubuntu, yıl sonunda (2016) otomatik olarak artık saniyeye ayarlanacak mı?


43

BBC raporları:

Dünya'nın dönüşü ile uyum içinde kalmak için, yeni yıl arifesinde dünyanın saatlerine bir saniye daha eklenecek.

Bu, Ubuntu makinemin bu konuda zamana bağlı kalması için bir şey yapmam gerektiği anlamına mı geliyor yoksa otomatik olarak ikinci kez kapanmayacak mı?


2
Bu videonun keyfini çıkarabilirsiniz (sıçrama saniyelerini de tartışır) youtube.com/watch?v=-5wpm-gesOY
Thorbjørn Ravn Andersen

1
@ ThorbjørnRavnAndersen Ah, bu Tom Scott!
Ismael Miguel

Yanıtlar:


34

Ubuntu makineniz NTP’yi dinler ve saati İnternet ile senkronize ederse, sistem zamandaki fark için otomatik olarak kendini ayarlayacaktır.

Bilgisayarınızda artık bir saniyenin gerçekleştiğinin farkında olmamakla birlikte, NTP sunucuları interneti değiştirdiğinde, etkinliği yakalayacak ve kaydedecektir.

Fazladan saniye eklendiğini düşünmüyorsanız, aşağıdaki komutu kullanarak güncellemeyi zorlayabilirsiniz:

sudo ntpdate -s pool.ntp.org

Bu size yakındaki bir sunucuyu (gecikme hatasını azaltma) vermek için otomatik olarak coğrafi konumu gerçekleştirir ve Ubuntu saat diliminize göre ayarlanır (yani sunucu farklı bir saat dilimindeyse, yine de sorun olmaz). Alternatif olarak kullanabilirsiniz ntp.ubuntu.com.

Çok şanssızsanız, kullandığınız zaman sunucularının hiçbirinin artık saniyeyi doğru kullanmayacağını unutmayın. Bu pek mümkün değil ama mümkün. Bilinen bir iyi kaynağa (analog radyo, muhtemelen time.is ) karşı manuel olarak kontrol etmeniz önerilir.


Alternatif olarak, Ubuntu'nun modern bir versiyonundaysanız, adında yerleşik bir yardımcı program vardır timedatectl. Varsayılan olarak, bu başlangıçta bir kez otomatik olarak çalışır. Bu nedenle, hızlı bir yeniden başlatma gerektiğinde bir senkronizasyonu zorlayabilir.


1
İngiltere'de, time.nist.gov kullanarak hala çalışıyor. Ubuntu saat dilimime göre ne yazdığını ayarlar. Aynısını tüm zaman dilimleri için de geçerli kabul ediyorum
Tim

2
@Tim Evet, ancak ABD'deki bir sunucuyla senkronize etme gecikme süresi daha yüksektir = hata oranı daha yüksektir ... bu nedenle çalışır, ancak sonuç daha yakın bir sunucu kullanmaktan daha az kesindir.
Bakuriu

1
pool.ntp.orgBunun yerine deneyin ; bu her zaman size nispeten yakın bir şey almalı.
Michael Hampton

3
Bu cevap sorunlu. 1.) Çok şanssızsanız, kullanacağınız zaman sunucularının hiçbiri artık saniyeyi doğru şekilde kullanmayacaktır. Bu pek mümkün değil ama mümkün. 2.) ntpdÇalışıyorsa, ntpdateeşzamanlı olarak çalışmak koşuyu karıştırır. İlk önce onu durdurmak daha iyi. Daha da iyisi, hiç koşma ntpdate. 3.) NIST zaman sunucuları, Stack Exchange'den ekstra trafiğe ihtiyaç duymaz; ntp.ubuntu.comya pool.ntp.orgda daha iyi olurdu. 4.) İngiltere gerçekte kullanır uk.pool.ntp.org, ancak pool.ntp.orgyine de coğrafi konum belirleyecektir.
Matt Nordhoff

Birini unuttum. 5.) ntpdateRastgele zamanlı sunuculara karşı koşuyorsanız ve yine çok şanssızsanız, artık ikinciyi doğru şekilde kullanamayan birini de kullanırsınız! NTP Havuzu, bu tür sunucuları hızlı bir şekilde devre dışı bırakır, ancak anında değil. Ve önde gelen devlet sunucuları daha iyi değil. (NIST’lerin bu sefer olduklarını düşünüyorum.)
Matt Nordhoff

17

Artık saniye, Linux çekirdeği tarafından otomatik olarak gerçekleştirilir, gerçek zamanı korumak için yeniden başlatma veya NTP senkronizasyonu gerekmez. Sistem günlüğüne bakarsanız, benzer bir şey göreceksiniz

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

Yana 23:59:60geçerli bir Linux zamanı değil, sizin saat ulaşacaktır 00:00:00sonra geri adım 23:59:59. Bu saniye boyunca oluşturulan herhangi bir nesne (dosyalar gibi) tutarsız bir şekilde tarihlenebilir.

Linux zamanı (gerçek zamanın aksine) söz konusu olduğunda artık saniye yoktur:

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

2
Bu cevabı onaylamak için kayıtlarım görünüyor. Geçenlerde dmesg | grep 'leap second'ana 16.04 makinemde koştum ve gösterdi [1153894.866672] Clock: inserting leap second 23:59:60 UTC. Bu, başlangıçta sadece farklı sayılarla mini.isotest etmek için kullandığım 16.04 VM'mde de gösterildi . Bu minimum sistem çalışmıyor veya yüklü paketlerden herhangi birinentpd sahip değilntpopenntpd .
Eliah Kagan

2
@EliahKagan Elbette, çekirdeğin kodlanmış gelecekteki artık saniyelerin bir listesi yoktur. Çekirdeğin artık saniyeyi yerleştirme mantığı vardır, ancak bir şey çekirdeğe bir saniye sıçramasının ekleneceğini söylemelidir. NTP'den başka bir şey bilmiyorum, çekirdeğe artık bir sıçrama eklemesini söyleyebilir. Çekirdeğe bir artık saniye eklemesi talimatı verildiyse, NTP'yi yeniden başlatmadan kaldırma işlemi, çekirdeği bir artık saniye ekleyeceği bir durumda bırakacağına dikkat edin.
kasperd

1
@ kasperd Genel akıl yürütmenizle aynı fikirdeyim, ancak NTP'nin bu sisteme daha önce kurulduğunu sanmıyorum. Aklıma iki olasılık geliyor. Bu bir VMware sanal makinesidir ve herhangi bir VMware sürücüsü kurmamış olmama rağmen, Ubuntu'da zaten bir tane olduğuna inanıyorum. Böyle bir sürücünün ana makineden artık ikinci sıçradığını öğrenmiş olabilir mi? Bunun dışında NTP'nin yükleme sırasında dahil olmasını bekliyorum, ancak bunun yeniden başlatmalar arasında nasıl çalıştığını bilmiyorum. Bence mini.isoNTP var ve bu debian-installer onu kullanıyor.
Eliah Kagan

1
@EliahKagan, kontrol etmedim, ancak varsayılan ntp istemcisi olabilir chrony.
Carsten S

2
@ CarstenS Anlaşılan sistemd -timesyncd (8) benim asgari sistemimin saatini senkronize ediyor. Bunu hiç düşünmemiştim ve yarı kazayla öğrendim: Bu 14 syslog hattınıgrep -RPis '(?<!mou)ntp' /var/log ortaya çıkardı ve adında olan bir ana bilgisayardan zaman senkronizasyonu yaptı . Ön görüşte, sahip olduğumu asla bilmediğim gizemli hizmetin sistemin bir parçası olduğu mantıklı geliyor. (Btw, her ikisi için de kontrol ntp
etmemiş olduğum chrony
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.