【问题标题】:Scripting VirtualBox and isolating from existing installation编写 VirtualBox 脚本并与现有安装隔离
【发布时间】:2011-02-26 10:10:56
【问题描述】:

我正在尝试创建一个在 Windows 上运行的应用程序。我希望此应用程序从网络(从预先分配的服务器)下载“磁盘映像”并基于它创建虚拟机。此虚拟机将运行指定的小时数,然后关闭。

我想通过编写脚本来使用 VirtualBox。我找到了 VBoxManage 命令,这似乎就是我要找的。但是,VirtualBox 工具似乎将其配置作为 XML 文件存储在用户主目录中。我确实了解到我可以更改 VBOX_USER_HOME 环境变量的值来控制它们的存储位置。但是,我不确定这是否足够。

我的问题是用户可能已经在他/她的计算机上安装了 VirtualBox。我不希望我的应用程序代码(它是打包的 VirtualBox 二进制文件和 conf)与现有安装混淆。

如何将特定于应用程序的 VirtualBox 二进制文件和配置与可能预先存在的已安装 VirtualBox 设置完全隔离开来? (即使 VirtualBox 二进制文件的两个实例同时被使用)

我选择 VirtualBox 是因为它的开源许可证和商业用途的适用性(如果我从源代码编译我自己的二进制文件)并且因为它也可以在 Windows 上运行(听说 QEMU 对 windows 的支持仍然不稳定)。 VirtualBox 是否足以满足我的用例,还是我应该寻找其他地方?

感谢您到目前为止的阅读:)

【问题讨论】:

    标签: windows virtual-machine virtualbox


    【解决方案1】:

    如果VBoxManage 命令确实依赖于环境变量 VBOX_USER_HOME,那么您可以编写脚本来更改环境变量以反映您为执行该脚本及其子脚本而进行的部署,远离用户数据。

    【讨论】:

    • 是的。我打算试试这个。但是,当我运行 VirtualBox 时,我看到一些进程 -> VirtualBox、VBoxXPCOMIPCD、VBoxSVC。我担心这些过程可能会发生冲突。希望有人以前有类似的要求并且会有一些经验。谢谢你的回答。
    • @Prashanth,如果您在 Linux 上运行,您可能更喜欢使用 libvirt.org 来帮助您管理虚拟机;有人付出了巨大的努力来提供一个 API 来管理 VirtualBox(以及其他虚拟化工具),它可能比 VBoxManage 更易于使用。
    • @sarnold。我刚刚检查了 libvirt。我的用例主要针对 Windows。我确实打算支持可以使用它的 Linux。我在想通过 VBoxManage 在 Windows 上编写 VBox 脚本有点笨拙。我也要去看看 Python XPCOM API。
    • @Prashanth,啊,当我在您的评论中看到 Unix 样式的路径名时,我想我可能误读了您的帖子。 :) 可惜,libvirt 被证明是非常有用的......
    • @sarnold。注意到 libvirt 有一个实验性的 windows 端口。 libvirt.org/windows.html 最近添加了对 VirtualBox 的支持。
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 2020-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-23
      相关资源
      最近更新 更多