Резюме
VirtualBox, кажется, хочет, чтобы все было "зарегистрировано", что делает работу с командной строкой более раздражающей.
Я пытаюсь создать автоматический скрипт, который будет создавать, перемещать, запускать, останавливать и уничтожать виртуальные машины и виртуальные диски. Требование регистрации усложнит задачу по следующим причинам.
- оставляет информацию о состоянии вокруг, что может привести к непредсказуемым случаям, вызывающим сбой скриптов.
- создает потенциальные конфликты пространства имен для нескольких процессов, создавая виртуальные машины с одинаковыми именами
- перемещение / копирование ресурсов на том же компьютере более сложное, потому что ссылки в реестре должны быть обновлены
- Копирование ресурсов (комбинация диск + виртуальная машина) на другой компьютер требует реконфигурации, как только они достигают своего целевого компьютера, и требует перенос дополнительных метаданных для выполнения реконфигурации.
- Если что-то неожиданно дает сбой, и, таким образом, не происходит отмена регистрации, оставшаяся информация о конфигурации может вызвать проблемы при последующих запусках.
Случай использования
Мой конкретный пример использования - для сервера непрерывной интеграции, который создает и уничтожает виртуальные машины и образы дисков, потенциально с одним и тем же именем, и требует большей логики для работы с состоянием реестра.
Воображаемый пример
Кажется, что я должен быть в состоянии, например, (используя некоторые мнимые и / или неправильные команды):
mkdir foobar
customdiskimg_script ./foo/foo.vdi
vboxmanage createvm --name "foo" --ostype Linux --basefolder ./foo/foo.xml
vboxmanage storagectl ./foo/foo.xml --name foo --add ide
vboxmanage storageattach --storagectl foo --medium ./foo/foo.vdi ./foo/foo.xml
vboxmanage startvm ./foo/foo.xml
TLDR
Есть ли способ использовать virtualbox без "регистрации" жестких дисков и виртуальных машин?