Некоторый фон
Поэтому я пытаюсь работать над определенным проектом с открытым исходным кодом. Данное программное обеспечение с открытым исходным кодом разработано для работы на рабочей станции VMWare, и я пытаюсь внести свой вклад в проект, чтобы попытаться заставить его работать и на VirtualBox.
Рассматриваемый проект является проектом Python. Архитектура, как обсуждалось в документации проекта, такова:
Базовая ОС - 64-битная Ubuntu (назовем ее UBUNTU1). Программное обеспечение для виртуализации - это VMware Workstation, работающая на хосте. Гостевая ОС - еще одна 64-битная Ubuntu. (давайте назовем это UBUNTU2)
Теперь, в определенном месте проекта, проект запускает гостевую ОС программным путем через вызов подпроцесса Python. Поэтому он просто передает путь к утилите vmrun, путь к файлу .vmx (гостевой ОС) и несколько дополнительных аргументов управления для вызова подпроцесса и запускает гостевую ОС.
У инструмента также есть много других зависимостей, которые доступны только для Ubuntu, а не для Mac, или, по крайней мере, их очень трудно настроить на Mac OSX El capitan (пока не говорим о Windows)
Итак, теперь мой мыслительный процесс заключается в том, что мне нужно как-то запустить его на самой Ubuntu. Итак, вот что я пытался сделать:
1-й подход:
Архитектура такова: базовая ОС - Mac OSX 64-битная программа для виртуализации - гостевая ОС VirtualBox - 64-битная Ubuntu (UBUNTU1 из приведенной выше ссылки). Внутри этой гостевой ОС снова установите виртуальный ящик и установите гостевую 64-битную Ubuntu (UBUNTU2)
Но некоторые исследования показали, что хотя это может работать, VirtualBox не поддерживает вложенные виртуальные машины.
Итак, теперь следующий подход:
Архитектура такова: Базовая ОС - Mac OSX 64-битное ПО для виртуализации - Гостевая ОС VirtualBox - 64-битная Ubuntu (UBUNTU1 из приведенной выше ссылки) Вторая гостевая ОС - также 64-битная Ubuntu (UBUNTU2 из приведенной выше ссылки)
Теперь, когда проект python запущен на UBUNTU1, и в тот момент, когда он должен запускать UBUNTU2 программно,
- это можно сделать, запустив одну гостевую ОС с другой гостевой ОС? Можно запустить vboxmanage, но это инструмент, доступный для хост-компьютера (Mac), а не для UBUNTU1. Даже если я установлю vboxmanage на UBUNTU1 и поделюсь образом .vbox UBUNTU2 через общую папку с Mac на UBUNTU1, а также зарегистрирую его, я не смогу запустить UBUNTU2 из UBUNTU1.
- Окунитесь немного во внутренности для лучшего понимания, не правда ли, что UBUNTU1 и UBUNTU2 (2 гостевые ОС в Mac) при работе - это всего лишь 2 процесса, как любой другой? И если да, то не могу ли я просто попытаться установить межпроцессное взаимодействие между двумя гостями и передать необходимый контекст процесса UBUNTU2 в UBUNTU1?
Пожалуйста, ознакомьтесь с моими вопросами новичка о процессах. Я пытаюсь обернуть голову вокруг этого.