약간의 배경
그래서 나는 특정 오픈 소스 프로젝트에서 일하려고 애 쓰고있다. 문제의 오픈 소스 소프트웨어는 VMWare 워크 스테이션에서 작동하도록 설계되었으며 VirtualBox에서도 작동하도록 프로젝트에 기여하려고합니다.
문제의 프로젝트는 Python 프로젝트입니다. 프로젝트의 문서에서 논의 된 아키텍처는 다음과 같습니다.
기본 OS는 64 비트 우분투입니다 (UBUNTU1이라고 부름). 가상화 소프트웨어는 호스트에서 실행되는 VMware Workstation입니다. 게스트 OS는 또 다른 64 비트 우분투입니다. (UBUNTU2라고 부름)
이제 프로젝트의 특정 위치에서 프로젝트는 Python subprocess () 호출을 통해 게스트 OS를 프로그래밍 방식으로 시작합니다. 따라서 경로를 vmrun 유틸리티, 게스트 OS의 .vmx 파일 경로 및 하위 프로세스 호출에 대한 몇 가지 추가 제어 인수로 전달하고 게스트 OS를 시작합니다.
이 도구는 많은 다른 의존성을 가지고 있습니다. 우분투만으로도 Mac에서는 사용할 수 없으며 적어도 맥 OSX 엘 캐피 탄 (Mac OSX El capitan)에서는 설정하기가 정말 어렵습니다.
그래서 지금, 내 사고 방식은 우분투 자체에서 어떤 식 으로든 실행되도록 할 필요가 있다는 것입니다. 그래서 아래에 제가하려고했던 것이 있습니다 :
첫 번째 접근법 :
아키텍처는 다음과 같습니다.
기본 OS - Mac OSX 64 비트
가상화 소프트웨어 - VirtualBox
게스트 OS - Ubuntu 64 비트 (위의 참조에서 UBUNTU1). 이 게스트 OS 내부에서 가상 박스를 다시 설치하고 게스트 Ubuntu 64 비트 (UBUNTU2)를 설치하십시오.
그러나 일부 연구에 따르면 VirtualBox는 작동 할 수도 있지만 중첩 된 VM을 지원하지는 못합니다.
이제 다음 접근 방식 :
아키텍처는 다음과 같습니다.
기본 OS - Mac OSX 64 비트
가상화 소프트웨어 - VirtualBox
게스트 OS - 우분투 64 비트 (위 참조에서 UBUNTU1)
두 번째 게스트 OS - 우분투 64 비트 (UBUNTU2 위 참조)
이제 파이썬 프로젝트가 UBUNTU1에서 실행되고 UBUNTU2를 프로그래밍 방식으로 시작해야하는 시점에서,
- 다른 게스트 OS에서 한 게스트 OS를 시작할 수 있습니까? vboxmanage start를 사용할 수 있지만 호스트에서 사용할 수있는 도구입니다. 기계 (Mac)가 아니라 UBUNTU1에 연결해야합니다. vboxmanage를 설치하더라도 UBUNTU1의 공유 폴더를 통해 UBUNTU2의 .vbox 이미지를 공유합니다. Mac에서 UBUNTU1까지, 그리고 등록해도 UBUNTU2를 시작할 수 없습니다. UBUNTU1 내부에서.
- 더 나은 이해를 위해 내부에 약간의 잠복을하면 UBUNTU1 및 UBUNTU2 (Mac의 2 게스트 OS)가 실행될 때 다른 프로세스와 마찬가지로 2 개의 프로세스가되는 것입니까? 그리고 만약 그렇다면, 나는 단지 2 명의 손님 사이에 어떤 프로세스 간 통신을 시도하고 UBUNTU2의 필요한 프로세스 컨텍스트를 UBUNTU1에 줄 수는 없습니까?
프로세스에 관한 초보자들의 질문에 귀 기울여주십시오. 나는 그것의 주위에 나의 머리를 감싸는 것을 시도하고있다.