いくつかの背景
それで、私は特定のオープンソースプロジェクトに取り組んでいます。問題のオープンソースソフトウェアは、VMWareワークステーションで動作するように設計されており、VirtualBoxでも動作するようにプロジェクトに貢献しようとしています。
問題のプロジェクトはPythonプロジェクトです。プロジェクトのドキュメントで説明されているアーキテクチャは次のとおりです。
ベースOSは64ビットUbuntuです(UBUNTU1と呼びましょう)仮想化ソフトウェアは、ホストで実行されているVMware Workstationです。ゲストOSは別の64ビットUbuntuです。(UBUNTU2と呼びましょう)
プロジェクトの特定の場所で、プロジェクトはPython subprocess()呼び出しを介してプログラムでゲストOSを開始します。したがって、vmrunユーティリティへのパス、(ゲストOSの).vmxファイルへのパス、およびサブプロセス呼び出しへのいくつかの追加の制御引数を渡して、ゲストOSを起動します。
このツールには他にも多くの依存関係があり、MacではなくUbuntuだけで使用できます。または、少なくともMac OSX El capitanでセットアップするのは本当に難しいです(今のところWindowsについては話していない)
だから今、私の思考プロセスは、どういうわけかそれをUbuntuで実行させる必要があるということです。以下は私がやろうとしていることです:
第1のアプローチ:
アーキテクチャは次のとおりです。ベースOS-Mac OSX 64ビット仮想化ソフトウェア-VirtualBoxゲストOS-Ubuntu 64ビット(上記参照のUBUNTU1)。このゲストOS内で、仮想ボックスを再度インストールし、ゲストUbuntu 64ビット(UBUNTU2)をインストールします
しかし、いくつかの調査では、VirtualBoxは機能するかもしれませんが、ネストされたVMをサポートしていないことが示されました。
次のアプローチ:
アーキテクチャは次のとおりです:ベースOS-Mac OSX 64ビット仮想化ソフトウェア-VirtualBoxゲストOS-Ubuntu 64ビット(上記の参照からのUBUNTU1)2番目のゲストOS-Ubuntu 64ビット(上記の参照からのUBUNTU2)
これで、PythonプロジェクトがUBUNTU1で実行され、プログラムでUBUNTU2を開始する必要がある時点で、
- 1つのゲストOSを別のゲストOSから起動することはできますか?vboxmanage startを使用できますが、これはホストマシン(Mac)で使用可能なツールであり、UBUNTU1では使用できません。UBUNTU1にvboxmanageをインストールし、共有フォルダーを介してMacからUBUNTU1にUBUNTU2の.vboxイメージを共有し、登録しても、UBUNTU1内からUBUNTU2を起動できません。
- 理解を深めるために内部を少し調べると、実行中のUBUNTU1とUBUNTU2(Macの2つのゲストOS)は、他の2つのプロセスに過ぎませんか?はいの場合、2人のゲスト間でプロセス間通信を行い、UBUNTU2の必要なプロセスコンテキストをUBUNTU1に渡すことはできませんか?
プロセスに関する初心者の質問に答えてください。頭を包み込もうとしています。