Pythonを介してvirtualboxの別のゲストOSから1つのゲストOSにアクセスします


0

いくつかの背景
それで、私は特定のオープンソースプロジェクトに取り組んでいます。問題のオープンソースソフトウェアは、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. 1つのゲストOSを別のゲストOSから起動することはできますか?vboxmanage startを使用できますが、これはホストマシン(Mac)で使用可能なツールであり、UBUNTU1では使用できません。UBUNTU1にvboxmanageをインストールし、共有フォルダーを介してMacからUBUNTU1にUBUNTU2の.vboxイメージを共有し、登録しても、UBUNTU1内からUBUNTU2を起動できません。
  2. 理解を深めるために内部を少し調べると、実行中のUBUNTU1とUBUNTU2(Macの2つのゲストOS)は、他の2つのプロセスに過ぎませんか?はいの場合、2人のゲスト間でプロセス間通信を行い、UBUNTU2の必要なプロセスコンテキストをUBUNTU1に渡すことはできませんか?

プロセスに関する初心者の質問に答えてください。頭を包み込もうとしています。


1
vmソフトウェア内でvmソフトウェアを使用するよりも、2番目のパーティションまたはUBUNTU1用の外部ハードドライブに新しいUbuntuを設定する方が良いと思います-両方のubuntuをMac OSのゲストとして使用している場合はできませんubuntu1からubuntu2を直接起動します(別のPCから電源を入れることができないように-はい、実際のP​​Cでこれを行うことができますが、vmには電源が​​ありません)からコマンドを送信する必要がありますubuntu1をMacに接続してubuntu2を起動すると、sshとxargsを使用して、ubuntu1からMacに同じネットワーク内にある場合に接続しようとすることができます
konqui

2番目のパーティションまたは外付けHDをセットアップすることは、すべてのユーザーが実際にそうすることに不安を感じる可能性があるため、回避しようとするものです。そして全体的なアイデアは、VMWareワークステーションだけでなくVirtualBoxで動作できるようにすることで、より多くのユーザーに提供することです。
qre0ct
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.