在 CentOS 7.3 上安装 VirtualBox 5.1

Installing VirtualBox 5.1 on CentOS 7.3

有没有人能够在 CentOS 7.3 x64 机器上成功安装 VirtualBox 5.1?通过 YUM 安装成功,但调用 "vagrant -v" 显示如下:

This system is not currently set up to build kernel modules (system extensions).
Running the following commands should set the system up correctly:
  yum install kernel-devel-3.10.0-327.36.3.el7.x86_64
(The last command may fail if your system is not fully updated.)
  yum install kernel-devel

kernel-devel 已作为依赖项的一部分安装。所以 VirtualBox 似乎需要 7.2 内核模块。有没有人能够在内核 3.10.0-514.2.2.el7.x86_64?

上安装 VirtualBox 5.1

我找到了解决这个问题的方法,以防它对其他人有用。

(1) 访问 https://www.rpmfind.net/linux/RPM/centos/updates/7.2.1511/x86_64/Packages/kernel-devel-3.10.0-327.36.3.el7.x86_64.html

(2) 下载 RPM (kernel-devel-3.10.0-327.36.3.el7.x86_64.rpm)

(3) 运行 yum localinstall -y /path/to/kernel-devel-3.10.0-327.36.3.el7.x86_64.rpm 安装 "kernel-devel".

(4) 运行 /sbin/vboxconfig 进一步配置 VirtualBox。

如果您使用的是 Ansible,在通过 YUM 安装它之前,您需要像下面这样的东西(只有当您的系统没有正确的内核源代码时)。

# Required kernel module
- name: Copy required kernel modules
  copy:
    src: "{{ role_path }}/files/{{ vbox_kernel_devel_rpm }}"
    dest: "/tmp/{{ vbox_kernel_devel_rpm }}"
- name: Install kernel-devel module
  shell: "yum localinstall -y /tmp/{{ vbox_kernel_devel_rpm }}"
  args:
    warn: false
- name: Delete uploaded RPM
  file: path="/tmp/{{ vbox_kernel_devel_rpm }}", state=absent

我有内核版本不同的机器,所以我发现在脚本中更容易做到这一点:

curl -s ftp://fr2.rpmfind.net/linux/centos/7.2.1511/updates/x86_64/Packages/kernel-devel-$(uname -r).rpm -o kernel-devel-$(uname -r).rpm

sudo yum localinstall kernel-devel-$(uname -r).rpm
sudo yum install docker-engine VirtualBox-5.1 kernel-headers gcc
sudo /sbin/vboxconfig

这可以在 url.

中使用 CentOS 版本进一步定制