Будет ли Ubuntu автоматически корректировать скачок в конце года (2016 год)?

42

BBC сообщает:

  

Дополнительная секунда будет добавлена ​​к мировым часам в новогоднюю ночь   для того, чтобы оставаться в синхронизации с вращением Земли.

Означает ли это, что я должен что-либо делать, чтобы моя машина Ubuntu вовремя с этим справилась или автоматически настроится на то, чтобы не быть секундантом?

    
задан Paranoid Panda 31.12.2016 в 20:05
источник

2 ответа

33

Если ваш компьютер Ubuntu прослушивает NTP и синхронизирует время с Интернетом, система автоматически настроится на разницу во времени.

В то время как ваш компьютер может не обязательно знать о том, что произошел прыжок, он будет захватывать и записывать событие, когда серверы NTP будут использовать изменения в Интернете.

Если вам не кажется, что добавляется дополнительная секунда, вы можете принудительно выполнить обновление, используя следующую команду:

sudo ntpdate -s time.nist.gov

Если вы не находитесь в США, замените time.nist.gov на соответствующий сервер, указанный в списке на этом сайте . Для Великобритании, в частности, см. эту страницу для списка допустимых серверов.

В качестве альтернативы, если вы используете современную версию Ubuntu, есть встроенная утилита, называемая timedatectl . По умолчанию он запускается один раз автоматически при запуске. Поэтому быстрая перезагрузка может принудительно синхронизировать, если необходимо.

    
ответ дан Kaz Wolfe 31.12.2016 в 20:14
источник
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
    
ответ дан Dmitry Grigoryev 01.01.2017 в 06:00