Я экспериментирую с размещенными на VirtualBox изображениями серверов.

У меня есть снимок установленной ОС Linux, которая готова к настройке.

На основной ОС (также Linux) я хотел бы иметь возможность создавать и настраивать новый образ сервера неинтерактивно с помощью сценария оболочки.

На данный момент ручной рабочий процесс:

  1. В VirtualBox клонируйте девственный образ.
  2. Запустите гостевую виртуальную машину и войдите в систему с именем пользователя / паролем по умолчанию (Linux, не графическое)
  3. На гостевой машине запустите configure-me.sh some_argument
  4. На госте поменяй пароль root.
  5. Выйдите из системы, но оставьте машину включенной.
  6. На хосте приложения теперь могут пользоваться услугами гостя.

Могу ли я автоматизировать все это с хоста? (Да, эта процедура будет повторяться довольно часто.) Основным требованием является

  • ждать, пока гость закончит загрузку,
  • отправлять ложные нажатия клавиш гостю и полагать, что результат будет таким, как ожидалось (мы можем предположить, что предварительно написанные скрипты конфигурации надежны).

Может ли VirtualBox сделать это?

2 ответа2

0

Вы можете отправить нажатие клавиши с хоста гостю в Virtualbox с помощью VBoxManage с помощью команды controlvm.

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

Вам нужно будет узнать все коды сканирования для ваших команд.

Другой способ - запустить скрипт напрямую с помощью опции guestcontrol :

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

Это войдет как данный пользователь и выполнит ваш скрипт.

0

Другой вариант, который не является специфичным для VirtualBox, - это запуск сервера TCP/IP из /sbin/ifup-local который получает команды из других мест.

ifup-local будет запущен, когда появится сетевой интерфейс.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .