Answers:
作为根用户,Debian 9的TL; DR版本是:
echo deb http://ftp.debian.org/debian stretch-backports main contrib > /etc/apt/sources.list.d/stretch-backports.list
apt update
apt install virtualbox-guest-dkms virtualbox-guest-x11 linux-headers-$(uname -r)
就是这样,VirtualBox Guest Additions已安装。
VirtualBox在Debian 10中不可用,也不会在buster-backports
其中提供。Lucas Nussbaum有一套非官方的软件包;如果要使用它们,则应按照他的说明进行操作(仅链接-如果链接停止有效,则说明软件包也不可用,因此在此处复制说明毫无意义)。
更详细地,这是使用Debian软件包的Debian 7、8和9的解决方案:
对于Debian 7和8,启用contrib
存储库;例如对于Debian 8,请确保您/etc/apt/sources.list
包含类似
deb http://ftp.debian.org/debian jessie main contrib
对于Debian 9,使用启用反向移植contrib
;为此,添加一行
deb http://ftp.debian.org/debian stretch-backports main contrib
到/etc/apt/sources.list
(或更好的是,)中的stretch-backports.list
文件/etc/apt/sources.list.d
;
install virtualbox-guest-dkms
,内核头文件,以及virtualbox-guest-x11
(对于图形来宾实用程序)(可选):
sudo apt update
sudo apt install virtualbox-guest-dkms virtualbox-guest-x11 linux-headers-$(uname -r)
(如果您使用的是Debian 9,请在第二行中加上-t stretch-backports
after install
)。
这就是全部所需–您不需要在VM中挂载来宾添加项,也不需要运行安装程序。您可以将三行外壳程序调用添加到您的Vagrantfile
(或用于配置VM的任何内容)中,而不必理会它们。
安装virtualbox-guest-dkms
软件包将确保自动构建适当的内核模块(并在升级内核时重新构建),并安装来宾添加项。
(请注意,这将安装您在VM中使用的Debian版本中可用的来宾添加程序的版本,该版本可能与运行VM的Virtual Box版本不匹配,但是来宾添加项仍然可以正常使用。)
请按照以下步骤在Linux Debian虚拟机上安装VirtualBox Guest Additions:
输入root密码,然后按Enter
或者,sudo -s
如果已安装它,并且您登录的用户具有必要的权限,则可以使用...
更新APT缓存:
apt-get update
安装最新的安全更新:
此步骤将升级您的所有软件包,因此要明智一些。请先尝试以下步骤,否则可能足够工作,然后执行升级并重试。
apt-get upgrade
安装以下必需的软件包:
软件包
build-essential
和软件包module-assistant
都是编译内核模块所必需的,因此,在安装VirtualBox Linux Guest Additions时必须具有它们。因此,此命令将获取工作所需的头文件和程序包(编译器和库)。请注意,在安装VirtualBox Linux Guest Additions之后,您将留下一些软件包以及Linux标头,您可以稍后将其删除或不删除。就我而言,它们并没有受到伤害,但是为了系统整洁,您可能希望在玩完之后再接。
apt-get install build-essential module-assistant
配置系统以构建内核模块:
m-a prepare
插入访客附加ISO:
展开菜单设备,然后单击插入来宾添加CD映像...
它应该自动安装,但是由于某种原因它不会:
mount /media/cdrom
运行以下脚本:
sh /media/cdrom/VBoxLinuxAdditions.run
重新启动系统:
reboot
sudo apt-get update && sudo apt-get install linux-headers-`uname -r`
m-a prepare
应拉出linux-headers
软件包,所有说明在Debian 9安装中均能正常工作。
从Debian存储库安装VirtualBox guest虚拟机插件的另一种方法是使用供应商的资源。预计该存储库将提供较旧且更稳定的代码,而来自供应商的源将具有最新功能和安全更新。
我已经在使用VirtualBox 5.0.30和OS X 10.11.6的运行Linux内核4.9.0-4的Debian 9.4 guest虚拟机上成功尝试了以下说明。首先,将来宾附加程序ISO映像附加到虚拟机,然后启动它。启动后,映像的内容将在中提供/media/cdrom0/
。首先,必须安装两个软件包及其依赖项:
$ sudo apt-get install linux-headers-$(uname -r) build-essential
然后,运行供应商提供的脚本来构建和安装必要的内核模块:
$ cd /media/cdrom0/
$ sudo sh VBoxLinuxAdditions.run
重新启动虚拟机,尽情享受吧!
在Debian 9中,virtualbox-guest-dkms软件包位于不稳定的(sid)存储库中。
将此添加到/etc/apt/sources.list
:
deb http://http.us.debian.org/debian sid main non-free contrib
更新存储库并安装软件包
sudo apt-get update
sudo apt-get install virtualbox-guest-dkms
可选:禁用sid存储库,因为它具有您可能不需要的软件包的更新。
/vagrant
VM上。由于该挂载是我想要添加来宾的全部原因,因此仍然无法解决。