在 Ubuntu 18.04.1 LTS 上全新安装后缺少 VirtualBox Web 服务

Joe*_*oe7 2 virtualbox

我刚刚设置了一个新的专用服务器,并安装了最小的 Ubunutu 18.04.1 LTS。我正在尝试使用 PHPVirtualBox 安装 VirtualBox,最好使用 VirtualBox 6,但如果需要的话,我也愿意接受 VirtualBox 5。;-)

这是我安装操作系统后所做的:

apt update
apt upgrade
apt dist-upgrade
apt install virtualbox
Run Code Online (Sandbox Code Playgroud)

安装似乎有效:

root@Ubuntu-1804-bionic-64-minimal ~ # vboxmanage --version
5.2.18_Ubuntur123745
Run Code Online (Sandbox Code Playgroud)

但是在这一点上,根据我对以前版本的 Ubuntu 和 VirtualBox 的经验,应该安装了四个服务(也就是 /etc/init.d 中的相应文件):vboxautostart-service、vboxballoonctrl-service、vboxdrv 和 vboxweb-service

但是,/etc/init.s 目录如下所示:

root@Ubuntu-1804-bionic-64-minimal /etc/init.d # ls -la
total 128
drwxr-xr-x  2 root root 4096 Apr  3 22:50 .
drwxr-xr-x 82 root root 4096 Apr  3 23:02 ..
-rwxr-xr-x  1 root root 4335 Mar 22  2018 apparmor
-rwxr-xr-x  1 root root 1071 Aug 22  2015 atd
-rwxr-xr-x  1 root root 1232 Apr 19  2018 console-setup.sh
-rwxr-xr-x  1 root root 2489 May  6  2012 cpufrequtils
-rwxr-xr-x  1 root root 3049 Nov 16  2017 cron
-rwxr-xr-x  1 root root 2813 Nov 15  2017 dbus
-rwxr-xr-x  1 root root  985 Mar  4  2018 grub-common
-rwxr-xr-x  1 root root 2363 Jul 17  2017 haveged
-rwxr-xr-x  1 root root 3809 Feb 14  2018 hwclock.sh
-rwxr-xr-x  1 root root 1479 Feb 15  2018 keyboard-setup.sh
-rwxr-xr-x  1 root root 2044 Aug 15  2017 kmod
-rwxr-xr-x  1 root root 6912 May  6  2012 loadcpufreq
-rwxr-xr-x  1 root root  695 Dec  3  2017 lvm2
-rwxr-xr-x  1 root root  571 Dec  3  2017 lvm2-lvmetad
-rwxr-xr-x  1 root root  586 Dec  3  2017 lvm2-lvmpolld
-rwxr-xr-x  1 root root 2653 Mar  7  2018 mdadm
-rwxr-xr-x  1 root root 1249 Mar  7  2018 mdadm-waitidle
-rwxr-xr-x  1 root root 1191 Jan 17  2018 procps
-rwxr-xr-x  1 root root 4355 Dec 13  2017 rsync
-rwxr-xr-x  1 root root 2864 Jan 14  2018 rsyslog
-rwxr-xr-x  1 root root 3837 Jan 26  2018 ssh
-rwxr-xr-x  1 root root 5974 Apr 20  2018 udev
-rwxr-xr-x  1 root root 1306 Mar 15  2018 uuidd
-rwxr-xr-x  1 root root 6444 Nov 11  2017 virtualbox
-rwxr-xr-x  1 root root 2757 Jan 20  2017 x11-common
Run Code Online (Sandbox Code Playgroud)

当我检查内核模块是否已加载时,如这个看似不错的教程中所述,通过systemctl status vboxdrv,输出为:

root@Ubuntu-1804-bionic-64-minimal ~ # systemctl status vboxdrv
Unit vboxdrv.service could not be found.
Run Code Online (Sandbox Code Playgroud)

当我尝试启用 VirtualBox Web 服务时,如VirtualBox Web 服务文档中所述,通过systemctl enable vboxweb-service,输出为:

root@Ubuntu-1804-bionic-64-minimal ~ # systemctl enable vboxweb-service
Failed to enable unit: Unit file vboxweb-service.service does not exist.
Run Code Online (Sandbox Code Playgroud)

当我手动添加 virtualbox.org 包源并类似地尝试安装 VirtualBox 6 时,也会发生同样的情况。看起来应该存在的三个服务丢失了。我错过了什么?

小智 5

注意:使用VirtualBox 6.0 进行测试,并且可以正常工作。


您使用的 Ubuntu 版本默认不安装这些服务。但是,您可以下载提供这些服务的官方脚本。

为此,只需将这些命令复制并粘贴到终端中,然后按回车键即可。这将下载脚本并将它们添加update-rc.d到启动脚本中。

cd /etc/init.d/
services=(vboxautostart-service vboxweb-service vboxballoonctrl-service)
base_url="https://www.virtualbox.org/svn/vbox/trunk/src/VBox/Installer/linux"
for service in "${services[@]}"
    do
      wget "${base_url}/${service}".sh -O "${service}" \
      && chmod +x "$service"  \
      && update-rc.d "$service" defaults 90 10
    done
Run Code Online (Sandbox Code Playgroud)
  • 关于vboxdrv

它不是一个服务,而是一个需要加载的模块。您可以运行modprobe vboxdrv加载模块,但通常它会在virtualbox安装过程中自动加载。

要检查它是否真的加载,你可以运行

# modprobe -n --first-time vboxdrv
Run Code Online (Sandbox Code Playgroud)

或者您可以使用modinfo来验证vboxdrv内核模块是否已加载:

# modinfo vboxdrv
filename:       /lib/modules/4.15.0-47-generic/misc/vboxdrv.ko
version:        6.0.4 r128413 (0x00290008)
...
Run Code Online (Sandbox Code Playgroud)

完成所有这些事情后,只需重新启动即可。

重新启动后,您可以运行service --status-all | grep vbox以验证服务是否正在运行。

您应该会看到与此类似的输出:

 [ ? ]  vboxautostart-service
 [ + ]  vboxballoonctrl-service
 [ + ]  vboxweb-service
Run Code Online (Sandbox Code Playgroud)

现在,您还可以通过systemctl,即来控制这些服务systemctl status vboxautostart-service


各个Oracle VM VirtualBox服务的配置选项的详细信息,请参见官方手册: