我刚刚设置了一个新的专用服务器,并安装了最小的 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服务的配置选项的详细信息,请参见官方手册:
网络服务:第 243 页 (254/361)
自动启动服务:第 248 页 (259/361)
| 归档时间: |
|
| 查看次数: |
6842 次 |
| 最近记录: |