Автор Тема: Host Windows 10, гостевая AltLinux on Oracle VirtualBox, гибернация, дата/время.  (Прочитано 5333 раз)

Оффлайн ruxt

  • Начинающий
  • *
  • Сообщений: 1
    • Email
sb, не похоже, что хост сообщает некорректное время гостевой системе. Просто гостевая система временем хоста не интересуется, а спокойно инкрементирует своё собственное сохранённое время. Проблема скорее всего в реализации ораклом часов на виртуальной машине. Ещё замечание - расширения virtualbox для гостевой операционной системы не установлены. Вопрос адресован в первую очередь к знатокам Oracle VirtualBox. Скрипт запрашивающий время по ntp позволит решить окольным путём, т.е. когда нет интернета - не поможет.
У alt-linux'а была тоже выявлена проблема при использовании ntp: время запрашивается только один раз при запуске системы. Вполне возможно что это только на workstation, а server запрашивает время периодически, иначе смысла нет никакого. Поэтому и здесь вопрос - как настроить периодичность обновления времени по ntp средствами alt-linux.
« Последнее редактирование: 23.02.2018 16:41:18 от ruxt »

Оффлайн Dmytro

  • Мастер
  • ***
  • Сообщений: 1 001
Так проблема сна гостевой системы или проблема в работе хостовой системы ?
С разделом надо бы точно определиться.
Может кто проверить поведение гостевой системы, указанной автором темы, в виртуалбоксе на хостовой альтовой системе.
У меня хост на Альте: все именно так, как автор описал.
Проблема с хостом и софтом хоста. Гостевая получает то время, которое ей сообщают.
Или получает изменение времени через определенные интервалы, что больше похоже, если исходить из результата.
Вполне возможно что это только на workstation, а server запрашивает время периодически, иначе смысла нет никакого.
Сервер также. Обращал на это внимание уже давно.
Скрипт запрашивающий время по ntp позволит решить окольным путём, т.е. когда нет интернета - не поможет.
Наличие доступа в Интернет не обязательно. NTP-сервер может работать на хостовой машине или другой машине в локальной сети.

Оффлайн Dmytro

  • Мастер
  • ***
  • Сообщений: 1 001
Вопрос - какой командой спросить по ntp время, чтобы получить строку, пригодную для date --set %param%,
А зачем так? Можно проще. Есть специальная утилита для синхронизации.# ntpdate [адрес сервера]Адрес сервера - ip или имя домена.

Если на физическом сервере применять, то нудно потом еще 1 командой записать дату/время в биос. на виртуалке смысла в этом не вижу. Т.е. хватит, например
ntpdate pool.ntp.org

Оффлайн Dmytro

  • Мастер
  • ***
  • Сообщений: 1 001
ну и как навесить скрипт с периодом на крон?
В каталоге /etc/cron.d  создать файл с произвольным названием, записав в него запуск команды или скрипта.
Формат файла описан, например тут: https://www.8host.com/blog/avtomatizaciya-zadach-s-pomoshhyu-cron/ Или здесь: https://www.shellhacks.com/ru/crontab-format-cron-job-examples-linux/ Только эта инструкция для Ubuntu. В Альте нужно еще пользователя указать. Например
* * * * * root ntpdate pool.ntp.orgдолжно обновлять время каждую минуту с сервера pool.ntp.org

А для предотвращения ошибок лучше указывать вместе с интерпретатором:
* * * * * root  /bin/sh ntpdate pool.ntp.org
« Последнее редактирование: 23.02.2018 17:48:08 от Dmytro »

Оффлайн ruxt

  • Начинающий
  • *
  • Сообщений: 1
    • Email
Время обновляется. Некий теоретический пробел восполняет http://vasilisc.com/ntpdate-ntpd . Для плавного изменения времени - ntpd, для скачкообразного - ntpdate.

Dmytro, большое спасибо.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
для скачкообразного - ntpdate.

Необязательно:
(Это init-скрипт для систем на sysv. Для использования на системах с systemd, здесь нужен ещё LSB хидер)
$ cat /etc/rc.d/init.d/synctime
#!/bin/bash
#
# chkconfig: 2345 15 87
# description:  system time synchronization service and Real Time Clock


# Source function library.
. /etc/rc.d/init.d/functions


start() {
    ntpdate -t 0.4 pool.ntp.org &>/dev/null
    hwclock -w --localtime
}


case "$1" in
    start)
    start
    ;;
    *)
        echo $"Usage: $0 {start}"
        exit 1
esac
exit 0

Плюс можно добавить в /etc/cron.d/* по примеру
# cat /etc/cron.d/sysstat
# run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib/sa/sa1 -S DISK 1 1
# generate a daily summary of process accounting
0 2 * * * root /usr/lib/sa/sa2 -A
если рассинхронизация RTC от загрузки до загрузки велика.
« Последнее редактирование: 01.03.2018 21:59:45 от Speccyfighter »