如何在12.04版本中卸载VirtualBox?

有人可以帮我卸载VirtualBox吗?
我正在运行12.04版本。

3打开Ubuntu软件中心并从那里移除。 - penreturns
4试试这个命令:sudo apt-get purge virtualbox* - blade19899
7个回答

要卸载VirtualBox,我实际上建议运行这个命令,并且不要用任何东西替换*(就按照这样运行):
sudo apt-get remove virtualbox-\*

如果你想连全局配置文件一起删除(这不会删除你的虚拟机),请运行以下命令:
sudo apt-get purge virtualbox-\*

那个方法还可以,但这种方式可能更彻底。

解释

你可能安装了多个与VirtualBox相关的软件包。假设您的计算机不再需要作为VirtualBox主机或客户机,那么所有这些软件包都可以删除。例如,在我现在使用的11.10版本的系统上,有18个这样的软件包可供安装(您的计算机可能已经安装了其中一些或全部,或者是您发布版或PPA中的其他软件包):
virtualbox virtualbox-ose virtualbox-dbg virtualbox-ose-dbg virtualbox-dkms virtualbox-ose-dkms virtualbox-fuse virtualbox-ose-fuse virtualbox-guest-additions virtualbox-ose-guest-dkms virtualbox-guest-additions-iso virtualbox-ose-guest-utils virtualbox-guest-dkms virtualbox-ose-guest-x11 virtualbox-guest-utils virtualbox-ose-qt virtualbox-guest-x11
其中一些可能已经没有安装,而且一些可能会因为删除其他软件包而自动删除,但是一些则不会。
apt-get命令接受*字符,并将其视为正则表达式的一部分。这在某种程度上类似于命令行shell处理*的方式。当在apt-get命令中使用时,virtualbox-*(请参见下面为什么使用\,它不被用作正则表达式语法)实际上匹配任何包含virtualbox名称的软件包。
(对于名称较短的软件包要小心!例如,wine*匹配包含win(而不仅仅是wine)的任何软件包的名称中的任何位置。)
因此,您不必手动展开*。它可以保留,并且会捕获上述描述的各种相关软件包,以及其名称中包含显式版本的软件包,如在那里讨论
然而,执行apt-get命令的命令行shell本身也接受通配符。因此,您应该对通配符进行转义(一种方法是在*之前加上\字符)。否则,如果您的表达式与当前位置的文件或文件夹匹配,shell将把其名称传递给apt-get,这将是错误的。

这里的purge命令有什么作用?

purge只会删除全局配置文件,不会删除虚拟机,所以使用它是安全的。然而:

  • 它也不会删除你可能认为会被删除的大部分设置。请记住,它只会删除全局配置文件,不会删除用户在其家目录中创建的任何配置文件,这些文件定义了VirtualBox如何为他们进行配置。
  • 配置文件很少占用大量空间。如果你的目标是释放空间,但你可能还想再次使用VirtualBox,那么你可能不希望使用purge

另外,请注意:apt-get --purge remove ...apt-get purge ...是相同的。


谢谢,这是一个典范的回答!非常详细地写得很好,对于像我这样没有经验的用户来说非常有帮助 :) - king_julien
我尝试了一下,但是出现了这个错误:E: 无法获取锁定 /var/lib/dpkg/lock - 打开失败(11: 资源暂时不可用) E: 无法锁定管理目录 (/var/lib/dpkg/),是否有其他进程正在使用它? - medo ampir
1@medoampir 确保您没有同时运行其他软件包管理软件。这包括软件中心、软件更新器(在旧版本的Ubuntu中称为更新管理器)、Synaptic、gdebi或当前正在运行的apt-getaptitudedpkg等软件包管理命令。请确保没有其他当前已登录的用户(如果有的话)正在运行此类软件。这可能包括非管理员用户,因为默认情况下他们可能允许软件更新器安装更新。如果仍然无法解决,请参阅关于该问题的问题 - Eliah Kagan
精彩的解释...!! @Eliah Kagan - Manisha Bano
别忘了之后删除每个用户的配置 (rm -rf ~/.config/VirtualBox)。 - fnkr
谢谢!我不知道该怎么办了。一切都很顺利! - Anderson Marques

打开终端(Ctrl+Alt+T),然后输入以下命令:
sudo apt-get purge virtualbox-*

将您系统上安装的VirtualBox版本(例如sudo apt-get purge virtualbox-4.2)中的*替换掉。
或者,您可以在终端中输入virtualbox后按下Tab键,使用自动补全功能。

如果您有Oracle VM VirtualBox和ubuntu 15.04,
1. 在终端中输入以下命令:sudo dpkg -l | grep virtualbox,会显示类似下面的内容:
ii virtualbox-4.2 4.2.6-82870~Ubuntu~quantal amd64 Oracle VM VirtualBox
2. 根据上述命令,您可以确定在您的计算机上安装了哪个版本的VirtualBox。然后,在终端中输入以下命令,只需将4.2替换为您的VirtualBox版本号:sudo apt-get purge virtualbox-4.2 virtualbox-qt

16.04及更高版本

打开终端并输入:

sudo apt remove virtualbox unity-scope-virtualbox ^virtualbox-

如何卸载Oracle VirtualBox

如果您是从Oracle官网安装的VirtualBox,请按照以下步骤找到您的VirtualBox版本:

sudo apt install aptitude
aptitude search virtualbox\*

最新版本的VirtualBox与其同行的是Oracle VM VirtualBox,这是您已安装的软件包。如果您已安装了最新版本的Oracle VirtualBox,则其名称为virtualbox-5.1
请确认当前是否已安装此版本的Oracle VirtualBox。
dpkg-query -s virtualbox-5.1    

使用类似以下命令卸载Oracle VirtualBox:
sudo apt remove VirtualBox-5.1  

如果您安装了不同版本的Oracle VirtualBox,请将上述命令中的VirtualBox-5.1替换为您的VirtualBox版本。

对我来说,除了这个什么都没有帮助。

$ sudo /opt/VirtualBox/uninstall.sh

vboxdrv.sh: Stopping VirtualBox services.
VirtualBox 5.1.22 r115126 has been removed successfully.

$ sudo rm -rf /opt/VirtualBox/

如果您已经从脚本安装了vmbox,请使用下一个命令。
sudo ./VirtualBox-4.1.4-74291-Linux_amd64.run remove

使用这个命令完全删除软件包:
sudo apt-get purge virtualbox-\*