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

BBC сообщает:

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

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

1
задан 31 December 2016 в 23:31

1 ответ

Секунды прыжка автоматически обрабатываются ядром 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
17
ответ дан 23 May 2018 в 02:52
  • 1
    Мои журналы, похоже, подтверждают этот ответ. Недавно я запустил dmesg | grep 'leap second' на моей основной машине 16.04, и он показал [1153894.866672] Clock: inserting leap second 23:59:60 UTC. Это, просто с разными номерами в начале, также было показано на моей минимальной виртуальной машине 16.04, установленной с mini.iso, которую я использую для тестирования. Эта минимальная система не работает ntpd и не имеет установленных пакетов ntp или openntpd . – Eliah Kagan 1 January 2017 в 13:03
  • 2
    @EliahKagan Конечно, в ядре нет списка всех будущих секундных скачков. Ядро имеет логику для вставки секунды прыжка, но что-то должно сказать ядру, что нужно вставить секунду прыжка. Я не знаю ничего, кроме NTP, который может сказать ядру вставить секунду прыжка. Обратите внимание, что если ядру уже было предложено вставить секунду скачка, то удаление NTP без перезагрузки оставит ядро ​​в состоянии, в которое будет вставляться секунда скачка. – kasperd 1 January 2017 в 17:25
  • 3
    @kasperd Я согласен с вашими общими соображениями, но я не думаю, что NTP был установлен в этой системе, и я создал несколько (хотя более чем за один) день назад. Мне приходят две возможности. Это виртуальная машина VMware, и хотя я не устанавливал никаких драйверов VMware, я считаю, что у Ubuntu уже есть некоторые. Может ли такой драйвер узнать о прыжке с главной машины? Помимо этого, я ожидаю, что NTP будет задействован во время установки, хотя я не уверен, как это было сделано для работы при перезагрузках. Я думаю, что mini.iso сам имеет NTP и что debian-installer использует его. – Eliah Kagan 1 January 2017 в 18:26
  • 4
    @EliahKagan, я не проверял, но клиент ntp по умолчанию может быть chrony. – Carsten S 2 January 2017 в 13:05
  • 5
    @CarstenS Оказывается systemd-timesyncd (8) синхронизирует часы моей минимальной системы. Я не думал об этом и узнал по полуаварии: grep -RPis '(?<!mou)ntp' /var/log выявил эти 14 строк syslog , показывая синхронизацию времени с хоста, который имеет ntp в своем имени. Оглядываясь назад, имеет смысл, что таинственная услуга, которую я никогда не знала, была частью системы. (Кстати, хороший момент о хронике, который я тоже не проверял, но он не установлен). – Eliah Kagan 2 January 2017 в 20:09

Другие вопросы по тегам:

Похожие вопросы: