Eu uso várias caixas virtuais para desenvolvimento e a hora e a data corretas são importantes para mim quando pressiono as confirmações do git. Eu não desligo meu host - ele dura meses sem reiniciar. Eu apenas o hiberno por noites e fins de semana. Isso apresenta um problema estranho aos meus sistemas operacionais convidados (todos os debians do turnkeylinux.org) - após algum tempo, a data dos sistemas operacionais convidados estará desativada por alguns dias.
Embora todos os convidados usem o NTP, ele não funcionará se detectar que a data está desativada por alguns valores grandes (poucas horas parecem ser suficientes). Existe alguma maneira de forçar a sincronização NTP mesmo com grandes diferenças de horário? Ou qualquer outra solução que restaure a data e a hora corretas nas caixas de convidados após o retorno do host da hibernação?
fonte
Respostas:
Em resumo: Instale (o pacote ntp e) as adições de convidados do VirtualBox :)
No VirtualBox, anexe o arquivo
Oracle\VirtualBox\VBoxGuestAdditions.iso
ao sistema convidado (Configurações / Armazenamento) e como rootA Ajuda do VirtualBox em "9.4. Configuração avançada para convidados Linux e Solaris" descreve as etapas, mas eu tive que instalar o pacote
linux-headers-3.2.0-4-486
primeiro.Então, como raiz,
Depois, reinicie o convidado.
Verifiquei saindo do sistema guest ( Alt+ F4, depois solicite o VirtualBox para salvar o estado do guest), aguarde 5 minutos e reinicie o sistema guest.
Inicialmente, o relógio foi restaurado a partir do valor anterior, mas após alguns segundos tudo correu bem (relógio sincronizado)
fonte
O servidor NTP não foi projetado para ser executado dentro de uma máquina virtual. Requer um relógio do sistema de alta resolução, com tempos de resposta para interrupções do relógio que são atendidas com alto nível de precisão. O cliente NTP pode executar em algumas soluções de virtualização. Execute o NTP no sistema operacional base da máquina e faça com que os vários sistemas operacionais convidados aproveitem o bom relógio criado no sistema. Mesmo isso pode não ser suficiente, pois pode haver ferramentas adicionais ou opções do kernel que você precisa ativar para que os clientes da máquina virtual possam sincronizar adequadamente seus relógios virtuais com o relógio do sistema físico.
Fonte: Suporte a problemas conhecidos do NTP
A partir dessa declaração, e lendo que sua parte importante são os tempos de confirmação do git, seria trivial escrever um gancho de pré-confirmação para reunir o tempo da sua máquina host, e você pode obtê-lo simplesmente perguntando à sua máquina host:
ssh hostmachine "date +%Y%m%d%H%M%s"
fonte