OpenBSD 6.0 ntpctl сообщает «синхронизировано с синхронизацией», но отстает на ~ 26 секунд.

В этом случае вы также можете легко использовать find в сочетании с опциями -regex и -delete.

В папке сначала проверьте выбор файлов:

$ find . -regex "[^/]+/.*[0-9]+"

Затем добавьте опцию -delete:

$ find . -regex "[^/]+/.*[0-9]+" -delete

Теперь ваши файлы удалены:

$ ls
filter.sh  purchases.csv  README.md

Всегда сначала проверяйте выбор, поскольку использование регулярного выражения [^/]+/.*[0-9]+ выберет любой файл, содержащий число в конце (например, md5 или hdf5).

Обратите внимание, что find автоматически обрабатывает и подкаталоги. Если вы не хотите этого, добавьте -maxdepth 1 перед регулярным выражением.

Для OS X добавьте опцию -E.

6
13.04.2017, 15:36
3 ответа

OpenBSD и ваша виртуальная машина работают правильно; вы неправильно используете источник времени Google.

Это находится в OpenBSD Часто задаваемые вопросы и страницах руководства.

Вы выполняете синхронизацию с источником времени, который публикует время в формате UTC, вроде того. Но по умолчанию rdate предполагает, что ваш источник времени публикует время TAI-10. TAI, строго равномерно увеличивающийся счет всех секунд SI с всегда 60 секундами в минуту, в настоящее время на 36 секунд опережает UTC, что иногда снижает так называемые «дополнительные секунды». (Точнее: он не учитывает положительных дополнительных секунд; но на самом деле отрицательных дополнительных секунд еще не было.) В 2016-12-31 23:59:60 UTC он станет на 37 секунд раньше UTC. , дополнительная секунда появится в конце этого месяца.

Системы, которые используют TAI, а не UTC, на самом деле имеют тенденцию использовать то, что более точно известно как TAI-10, то есть счетчик TAI, сдвинутый в будущее на 10, чтобы он соответствовал 1970-01-01 00:00:00 UTC. , также известный как 1969-12-31 23:59:50 TAI, с 1970-01-01 00:00:00 TAI-10. 1 Это на 26 секунд опережает всемирное координированное время, которое скоро станет 27.

Известно, что источники времени Google не учитывают дополнительные секунды.Они используют размытие , которое распределяет значение неучтенной дополнительной секунды на весь день, а это означает, что до двух дней в году секунд Google не имеют одинаковой длины и не являются той же длины, что и секунда СИ.

rdate нуждается в опции -c , чтобы сообщить ему, что ваш источник времени не считает дополнительные секунды, и вам нужно использовать «правильный» часовой пояс Олсена, который предполагает, что часы вашего ядра работают в ТАИ-10. («Правильные» часовые пояса и часы ядра, которые считают TAI вместо UTC, имеют свои преимущества.)

По иронии судьбы, поскольку вы тоже используете центральноевропейское время в соответствии с вашими журналами, пример настроек приведен в OpenBSD Часто задаваемые вопросы - это именно для вас . Так что прочтите документацию OpenBSD и следуйте инструкциям.

Или: если вы хотите работать в формате UTC, а не TAI-10, используйте часовые пояса posix.

1 Это немного упрощенное объяснение, которое включает в себя обычно используемое ретроактивное определение UTC и игнорирует тот факт, что секунды UT, использовавшиеся до 1972 года, были переменной длины с большими алгоритмами, управляемыми таблицами, для преобразования в / из TAI. Но это выходит за рамки данного ответа. Ситуация до 1972 года была ужасающей. Некоторые люди хотят избавиться от UTC и его системы дополнительной секунды и длины SI и вернуть это обратно. Они ... заблуждаются.

Дополнительная литература

14
27.01.2020, 20:21

Хотя я давно не запускал OpenBSD в VMware, если ваш хост виртуальной машины имеет правильное время, вы можете попробовать использовать встроенный в OpenBSD драйвер VMware Tools, vmt (4), в качестве датчика для ntpd (8) вместо серверов времени. Если это не сработает, вы можете попробовать дополнительно установить kern.timecounter.hardware = acpitimer0 через sysctl (8).

Также может оказаться полезным размещение вывода ntpd в / var / log / daemon.

1
27.01.2020, 20:21

26 - магическое число, это (сегодня) количество дополнительных секунд, добавленных к всемирному координированному времени. .

Вы сравниваете время OpenBSD с системой Debian, в которой есть "правильные" файлы zoneinfo?

TZ=/usr/share/zoneinfo/right/GB-Eire date; date
Thu Dec  1 19:46:16 GMT 2016
Thu Dec  1 19:46:41 GMT 2016

(извините, у меня осталось всего 25 секунд, так как я не обновил свой ] tzdata для учета прошлогоднего скачка)

Истоки этого лежат в строгой интерпретации времени POSIX, о которой вы можете узнать больше здесь: http: //www.ucolick .org / ~ sla / leapsecs / timescales.html

3
27.01.2020, 20:21

Теги

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