问题描述
谁能帮我删除VirtualBox?
我跑12.04。
最佳解决方法
要删除VirtualBox,我实际上建议运行此命令而不是用任何东西替换*
(只是像这样运行它):
sudo apt-get remove virtualbox-\*
如果您还要删除全局配置文件(这不会删除您的虚拟机),请改为运行:
sudo apt-get purge virtualbox-\*
That method没问题,但这种方式可能更彻底。
Explanation
-
您可能安装了多个VirtualBox-related软件包。假设您的计算机不再需要是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接受*字符并将它们视为regular expression的一部分。这在某些方面类似于命令行 shell处理*的方式。在apt-get命令中使用时,virtualbox – \ *(请参阅下面的\为什么\,它不用作正则表达式语法)实际上匹配任何名称包含virtualbox的包。 (小心这应用于名称较短的包!例如,wine \ *匹配每个包含win的包 – 不仅仅是wine – 其名称中的任何位置。)因此,您不必手动扩展*。它可以保留,它将捕获如上所述的各种相关包,以及名称为discussed there的显式版本的包。
-
但是,shell本身(使用您指定的命令行参数执行
apt-get
)也接受通配符。因此,您应该转义通配符(一种方法是在*
之前使用\
字符)。否则,如果表达式与当前位置中的文件或文件夹匹配,则shell会将其名称指定给apt-get
,这将是错误的。
清洗在这做什么?
purge
仅删除全局配置文件。它不会删除虚拟机,因此可以安全使用。然而:
-
它也不会删除您可能认为的大多数设置。请记住,它仅删除全局配置文件。它不会删除其主目录中存在的用户创建的任何配置文件,并定义如何为它们配置VirtualBox。
-
配置文件很少占用大量空间。如果您的目标是释放空间但您认为可能想再次使用VirtualBox,则可能不希望使用
purge
。
另请注意:apt-get --purge remove ...
与apt-get purge ...
相同。
次佳解决方法
打开终端(Ctrl
+ Alt
+ T
)并发出命令:
sudo apt-get purge virtualbox-*
将*
替换为系统上安装的VirtualBox版本(例如sudo apt-get purge virtualbox-4.2
)。
或者,您可以在键入virtualbox
后按Tab
键,在终端中使用auto-complete功能。
第三种解决方法
如果您有Oracle VM VirtualBox和ubuntu 15.04
-
sudo dpkg -l | grep virtualbox
这显示了这样的事情。
ii virtualbox-4.2 4.2.6-82870~Ubuntu~quantal amd64 Oracle VM VirtualBox
-
现在从上面的命令中,您可以确定您的机器上安装了哪个版本的virtual-box。在终端中输入这些命令之后,只需用您的VirtualBox版本替换4.2。
sudo apt-get purge virtualbox-4.2 virtualbox-qt