install virtualbox on centos server

2020-06-17 22:02:11 浏览数 (1)

本文介绍在centos 7.2 server上下载安装virtualbox,记录遇到的问题:

  • CentOS 内核版本与yum install kernel-devel版本不一致

以及自己解决问题的过程。

Env

  • CentOS 7.2-1511(笔者利用U盘镜像安装在物理机)

Add repo url

代码语言:javascript复制
cd /etc/yum.repos.d
wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo

install denpendiencies

代码语言:javascript复制
yum --enablerepo=epel install dkms

install epel

代码语言:javascript复制
CentOS/RHEL 7, 64 Bit (x86_64):
# rpm -Uvh http://epel.mirror.net.in/epel/7/x86_64/e/epel-release-7-8.noarch.rpmCentOS/RHEL 6, 64 Bit (x86_64):
# rpm -Uvh http://epel.mirror.net.in/epel/6/x86_64/epel-release-6-8.noarch.rpm

这一步报错:找不到url,笔者自己复制url到浏览器发现确实没有这个链接。但是我在仓库下找到另一个链接:

代码语言:javascript复制
http://epel.mirror.net.in/epel/7/x86_64/e/epel-release-7-9.noarch.rpm

替换一下就好了。

Install kernel-devel

代码语言:javascript复制
sudo yum install kernel-devel

kernel-devel是kernel(内核)源码,默认会安装到/usr/src/kernels目录下面。之所以需要内核源码。是因为virtualbox需要结合内核源码编译特定内核版本的模块

笔者遇到的问题是yum install kernel-devel的版本和CentOS上的内核版本不一致。如下(下面的结果是笔者解决了所有问题后列出来的,可以看到没安装的版本3.10.0-514.2.2.el7和主机版本不一致):

代码语言:javascript复制
➜  alpine uname -r                  
3.10.0-327.36.3.el7.x86_64
➜  alpine sudo yum list kernel-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.0x.sg
* epel: mirror.smartmedia.net.id
* extras: mirror.0x.sg
* updates: mirror.0x.sg
Installed Packages
kernel-devel.x86_64                       3.10.0-327.36.3.el7                       installed
Available Packages
kernel-devel.x86_64                       3.10.0-514.2.2.el7                        updates

这就导致编译安装的virtualbox模块和主机内核版本不一致,无法运行。

现在解决方案有两大类:

  • 下载和主机内核版本一直的源码。
  • 升级内核版本到3.10.0-514.2.2.el7,深思后觉得这个方法不妥,因为升级内核后会导致软件不兼容问题。后续的工作量很大。

最后还是决定下载版本一直的内核源码。步骤如下:

  • Google kernel-devel-3.10.0-327.36.3.el7.x86_64 成功找到内核源码的有效地址,果断下载。 参考
  • 安装 sudo yum install kernel-devel-3.10.0-327.36.3.el7.x86_64.html
  • 添加源码到环境变量 # export KERN_DIR=/usr/src/kernels/3.10.0-327.36.3.el7.x86_64
  • 安装virtualbox(见下一步)

List pkg

代码语言:javascript复制
~ yum search virtualbox
Loaded plugins: fastestmirror
Determining fastest mirrors
* base: centos.usonyx.net
* epel: mirrors.tuna.tsinghua.edu.cn
* extras: centos.usonyx.net
* updates: centos.usonyx.net
virtualbox                                                                                                                                                                             31/31
VirtualBox-4.3.x86_64 : Oracle VM VirtualBox
VirtualBox-5.0.x86_64 : Oracle VM VirtualBox
VirtualBox-5.1.x86_64 : Oracle VM VirtualBox

Install

代码语言:javascript复制
yum install VirtualBox-5.1

0 人点赞