【问题标题】:Completely remove Vagrant VirtualBox boxes from command line从命令行完全删除 Vagrant VirtualBox 框
【发布时间】:2014-04-11 15:25:41
【问题描述】:

每次Vagrant 盒子安装失败时,都会在VirtualBox 中留下一些混乱。在Vagrantfile 中设置的转发端口不会被清理vagrant halt 不起作用,因为盒子没有起来,vagrant destroy 有时会起作用,这取决于盒子在挂起之前安装了多远。

所以每次我测试新设置时,vagrant 都会说要转发的端口已经在使用中。我需要将端口更改为转发,然后继续安装,只是稍后挂起并将端口作为人质被遗忘。现在我没有任何可以使用的端口(可以远程访问),所以我只想停止让这些端口便秘。

我可以通过重新启动来解决此问题,但现在无法重新启动机器。

发出“只删除该死的东西”命令不起作用:

$ VBoxManage 列出虚拟机
“”{aaaa-aa-aa-aa-aaaa}
“”{bbbb-bb-bb-bb-bbbb}
“vagrant_default_cccc_cc”{cccc-cc-cc-cc-cccc}
$ VBoxManage unregistervm aaaa-aa-aa-aa-aaaa --delete
VBoxManage:错误:对象未准备好
VBoxManage:错误:详细信息:代码 E_ACCESSDENIED (0x80070005),组件机器,接口 IMachine,被调用者 nsISupports
VBoxManage: 错误: 上下文: "Delete(ComSafeArrayAsInParam(aMedia), pProgress.asOutParam())" 在文件 VBoxManageMisc.cpp 的第 165 行
$ VBoxManage unregistervm bbbb-bb-bb-bb-bbbb --delete
VBoxManage:错误:对象未准备好
VBoxManage:错误:详细信息:代码 E_ACCESSDENIED (0x80070005),组件机器,接口 IMachine,被调用者 nsISupports
VBoxManage: 错误: 上下文: "Delete(ComSafeArrayAsInParam(aMedia), pProgress.asOutParam())" 在文件 VBoxManageMisc.cpp 的第 165 行
$ VBoxManage unregistervm cccc-cc-cc-cc-cccc --delete
VBoxManage:错误:机器“vagrant_default_cccc_cc”被锁定时无法取消注册 VBoxManage:错误:详细信息:代码 VBOX_E_INVALID_OBJECT_STATE (0x80bb0007),组件机器,接口 IMachine,被调用者 nsISupports
VBoxManage:错误:上下文:“Unregister(fDelete ? (CleanupMode_T)CleanupMode_DetachAllReturnHardDisksOnly : (CleanupMode_T)CleanupMode_DetachAllReturnNone, ComSafeArrayAsOutParam(aMedia))”在文件 VBoxManageMisc.cpp
的第 160 行 $

(不,sudo 也没有办法。)

如何在无需重新启动的情况下尽可能轻松地彻底根除和销毁机器?或者,至少(或更好)阻止VirtualBox 将端口转发到损坏的盒子?我可能不应该删除所有内容和-rf,因为还有一些运行良好的盒子。

运行 Vagrant 和 VirtualBox 的服务器在 Ubuntu 13.10 上运行。来宾虽然可能无关紧要,但会尝试运行Ubuntu 12.10

【问题讨论】:

    标签: linux ubuntu networking virtualbox vagrant


    【解决方案1】:
    $ ps axu|grep VBoxHeadless
    jamie     4205  0.3  1.2 1592676 208592 ?      Sl   Apr10   7:08 /usr/lib/virtualbox/VBoxHeadless --comment apt-cacher_default_1396256757 --startvm a8c2157a-f86f-491d-a703-74e49b4348fb --vrde config
    jamie    11390 48.7  1.4 2823080 231788 ?      Sl   Apr10 845:49 /usr/lib/virtualbox/VBoxHeadless --comment vandeliverytest_default_1397122355 --startvm a06a0a8c-a645-4270-89f4-992566e111f0 --vrde config
    jamie    22226  0.0  0.0  13596   936 pts/3    S+   16:31   0:00 grep --color=auto VBoxHeadless
    

    "startvm" 是挂起的进程,不能用普通的 vagrant 命令停止。向进程发出kill -TERM 命令,它们应该停止 如果这不起作用升级到kill -KILL

    【讨论】:

    • 谢谢。这就是我需要的。
    猜你喜欢
    • 1970-01-01
    • 2016-10-16
    • 1970-01-01
    • 1970-01-01
    • 2014-08-28
    • 1970-01-01
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    相关资源
    最近更新 更多