Posso enviar comandos do teclado de forma não interativa para uma imagem de uma caixa virtual?

0

Estou experimentando imagens de servidor hospedadas pelo VirtualBox.

Eu tenho um instantâneo de um sistema operacional Linux instalado que está pronto para ser configurado.

No sistema operacional host (também Linux), eu gostaria de poder criar e configurar uma nova imagem de servidor de forma não interativa com um script de shell.

No momento, o fluxo de trabalho manual é:

  1. No VirtualBox, clone a imagem virgem.
  2. Inicie a máquina virtual convidada e faça login com o nome de usuário / senha padrão (Linux, não gráfico)
  3. No convidado, execute configure-me.sh some_argument
  4. No convidado, altere a senha do root.
  5. No convidado, efetue logout, mas mantenha a máquina em execução.
  6. No host, os aplicativos agora podem usar os serviços do convidado.

Posso automatizar tudo isso do host? (Sim, este procedimento será repetido com bastante frequência.) O requisito principal parece ser

  • espere o convidado terminar a inicialização,
  • envie keypresses falsos para o convidado e confie que o resultado é o esperado (podemos presumir que os scripts de configuração pré-escritos são confiáveis).

O VirtualBox pode fazer isso?

    
por spraff 05.10.2016 / 18:08

2 respostas

0

Você pode enviar um pressionamento de tecla do host para um convidado no Virtualbox com VBoxManage com o comando controlvm .

VBoxManage controlvm name_of_your_vm keyboardputscancode <hex> [<hex> ...]

Você precisaria descobrir todos os scancodes para seus comandos.

Outra forma seria executar um script diretamente por meio da opção guestcontrol :

VBoxManage guestcontrol name_of_your_vm run /location/of/your/script --username user --password password

Isso fará o login como usuário específico e executará seu script.

    
por 05.10.2016 / 18:44
0

Outra opção que não é específica do VirtualBox é iniciar um servidor TCP / IP de /sbin/ifup-local , que recebe comandos de outro lugar.

ifup-local será acionado quando a interface de rede aparecer.

    
por 07.10.2016 / 03:52