本文介绍在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和主机版本不一致):
➜ 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