Я использую несколько виртуальных блоков для разработки, и правильное время и дата важны для меня, когда я нажимаю git commit. Я не закрываю хост - он работает месяцами без перезапуска. Я сплю только на ночи и выходные. Это создает странную проблему для моих гостевых операционных систем (все Debian от turnkeylinux.org) - через некоторое время дата гостевых операционных систем отключается на несколько дней.
Хотя все гости используют NTP, он не работает, если обнаруживает, что дата выключена из-за больших значений (кажется, достаточно нескольких часов). Есть ли способ принудительной синхронизации NTP даже при большой разнице во времени? Или любое другое решение, которое восстановило бы правильную дату и время на гостевых ящиках после выхода хоста из спящего режима?
источник
Ответы:
Вкратце: Установите (пакет ntp и) гостевые дополнения VirtualBox :)
Из VirtualBox прикрепите файл
Oracle\VirtualBox\VBoxGuestAdditions.iso
к гостевой системе (Настройки / Хранилище) и от имени rootСправка VirtualBox в разделе «9.4. Расширенная настройка для гостей Linux и Solaris» описывает шаги, но
linux-headers-3.2.0-4-486
сначала мне пришлось установить пакет .Тогда, как корень,
После этого перезагрузите гостя.
Я проверил, выйдя из гостевой системы ( Alt+ F4, затем приказал VirtualBox сохранить состояние гостя), подождав 5 минут, затем перезапустив гостевую систему.
Сначала часы были восстановлены с прежнего значения, но через несколько секунд все прошло нормально (часы синхронизированы)
источник
NTP-сервер не предназначен для работы внутри виртуальной машины. Это требует системных часов с высоким разрешением, с временем отклика на прерывания тактового генератора, которые обслуживаются с высоким уровнем точности. NTP-клиент может работать в некоторых решениях виртуализации. Запустите NTP на базовой ОС машины, а затем пусть ваши различные гостевые ОС используют хорошие часы, созданные в системе. Даже этого может быть недостаточно, поскольку могут потребоваться дополнительные инструменты или параметры ядра, чтобы клиенты виртуальных машин могли адекватно синхронизировать свои виртуальные часы с часами физической системы.
Источник: Поддержка NTP Известные проблемы
Исходя из этого утверждения и считая, что ваша важная часть - это времена git commit, было бы тривиально написать ловушку перед фиксацией для сбора времени с вашего хост-компьютера, и вы можете получить это, просто спросив свой хост-компьютер:
ssh hostmachine "date +%Y%m%d%H%M%s"
источник