我可以从Ubuntu软件源安装VirtualBox扩展包吗?

我在几个服务器上运行VirtualBox,始终没有使用任何图形界面,而是使用vboxmanage命令进行管理。
我过去通常从Oracle PPA安装,但自从两个不同版本的vbox结束后,我一直从Ubuntu软件源安装。我找到了安装guest additions iso的软件包,但从未意识到扩展包也在那里。
我问这个问题是因为14.04版的virtualbox最近从4.3.10升级到了4.3.34,所以对我来说需要运行apt-get dist-upgrade这一步。
我知道如何从Oracle获取并手动安装这些扩展包,但是否有其他方法可以在没有使用图形界面的情况下进行操作?扩展包是否存在于Ubuntu软件源中?
4个回答

这假设已经安装了VirtualBox。
我查看了Ubuntu中virtualbox-ext-pack软件包的源代码,发现了一些宝贵的信息。我根据该软件包在一个我正在使用的脚本中所做的变化进行了以下操作:
VBOXVERSION=$(VBoxManage --version | sed -r 's/([0-9])\.([0-9])\.([0-9]{1,2}).*/\1.\2.\3/')
wget -q -N "http://download.virtualbox.org/virtualbox/$VBOXVERSION/Oracle_VM_VirtualBox_Extension_Pack-$VBOXVERSION.vbox-extpack"
VBoxManage extpack install --replace Oracle*.vbox-extpack

这是在Debian Jessie上的情况,但我非常有信心它在几乎任何Linux版本上都能正常工作,可能也适用于Unix系统。

谢谢Arronical。顺便说一下,就个人而言,我并不认为目前被接受的答案(Takkat的回答)是一个非常可行的解决方案,原因是其不兼容性和Ubuntu 15.10不是长期支持版本。15.04的支持已经停止,而15.10只能获得支持直到2016年7月。一旦下一个长期支持版本(我猜是16.04)发布了,那么Takkat的答案肯定是最好的选择,但现在还没有公布任何发布日期。 - nicholas.alipaz
他的意思是从15.10版本开始,存储库中将包含virtualbox-ext-pack软件包。我猜他回答了关于扩展包是否在存储库中的问题,并且你给出了一个在我的14.04版本上应该有效的解决方案。这是我一次问了两个问题的错!另外,我相信16.04 Xenial Xerus的发布日期是明天https://wiki.ubuntu.com/XenialXerus/ReleaseSchedule。由于我询问的是14.04版本,我会在有机会时尝试你的命令,并且如果它们有效,我会接受你的答案,对我来说它们看起来是合理的。 - Arronical
奇怪的是,我竟然没有注意到16.04即将发布的消息。但是,我确实理解他的回答指出从15.10开始,可以使用virtualbox-ext-pack软件包来解决这个问题。我想指出的是,虽然这确实回答了如何从存储库中安装的问题,但对于旧版本的用户来说,并没有提供解决方案。我同意你的问题有点含蓄,因为你问了两个问题:1. 是否可以从存储库中安装,2. 如何使用非图形界面的其他方法进行安装。也许重新措辞实际问题会更明智一些。 - nicholas.alipaz
顺便说一下,我实际上只写了那些命令中的第一行,因为我需要获取VirtualBox的版本号。其余部分是通过对virtualbox-ext-pack进行确认,并添加了$VBOXVERSION来完成的。 - nicholas.alipaz
在16.04上运行得很好。最后一个命令需要添加sudo - kmonsoor
这应该是被接受的答案。 - Jamie Lindsey

因为Virtual Box扩展包是闭源专有软件,所以我们无法提供Debian包或来自Ubuntu存储库的二进制文件。
为了方便安装由存储库提供的Virtual Box版本的扩展包,我们在Ubuntu >= 15.10的multiverse存储库中维护了一个下载助手脚本,该脚本将从Oracle(virtualbox-ext-pack)下载扩展包。 请勿为从其他来源下载和安装的Virtual Box版本安装此扩展包。

3virtualbox-ext-pack下载的是Oracle当前拥有的内容,尝试安装,但在_您的_系统上基本上没有经过测试。通过"软件更新器"安装virtualbox-ext-pack破坏了我的系统(Ubuntu 17.04),在等待"许可协议"时挂起--没有办法"同意"。这是后安装脚本中的一个错误,除了删除它之外,没有其他恢复的方法。更安全的做法是避免使用此软件包,而是通过VBoxManager或GUI(文件>首选项>扩展>添加,选择预先下载的文件,同意许可)在命令行上安装扩展包。 - michael
@michael_n: 太对了... 它应该至少尝试下载并同意与Virtual Box仓库版本匹配的扩展包。我也总是手动下载。 - Takkat
这个软件包在Ubuntu 16.04上也无法运行。这个答案已经过时了。 - Luís de Sousa
1@LuísdeSousa,“virtualbox-ext-pack”下载助手仍然适用于16.04、17.04和17.10。接受许可证后,它将从“http://download.virtualbox.org/virtualbox/”下载并安装扩展包到repo版本的virtualbox中的“/usr/share/virtualbox-ext-pack”。在您的情况下,“不起作用”是指什么? - Takkat
1我尝试在Ubuntu 16.04、Lubuntu 16.04和Ubuntu 17.04上安装这个软件包。每次下载后都无法安装Oracle extpack。出现了一系列系统错误。就像@michael在上面报告的那样,在Lubuntu 16.04上系统变得不稳定。务必避免使用virtualbox-ext-pack软件包。 - Luís de Sousa
1@LuísdeSousa:问题要求从Ubuntu软件仓库中安装 - 这是我所知道的唯一方法。如果该软件包在您的情况下无法正常工作,您应该向软件包维护者报告此问题。如果您的"系统变得不稳定",很可能是您意外地尝试安装了与官方软件仓库中的VirtualBox版本不同的版本。请注意,virtualbox-ext-pack 仅适用于 virtualbox 的软件仓库版本,并且它将作为依赖项安装此版本。 - Takkat
@michael 在安装之前,还有一些方法可以接受许可证:https://askubuntu.com/q/811488/354350 - DJCrashdummy

在Ubuntu 17.04+上:
sudo apt install virtualbox-ext-pack

PS:我知道这个问题是在很久以前提出的,当时这个选项还不存在。但我写这个答案是为了帮助2018年及之后通过谷歌搜索到这里的人。


2我很欣赏这篇文章。 - j0h

apt-cache search virtualbox给我一个virtualbox-ext-pack,这就是你要找的包。