摘要:本文介绍在centos 7.2 server
上下载安装virtualBox
,记录遇到的问题:"CentOS 内核版本与yum install kernel-devel
版本不一致",以及自己解决问题的过程。
核心在于下载和主机内核版本一致的源码,然后安装virtualBox。
Env
CentOS 7.2-1511(笔者利用U盘镜像安装在物理机)
Add repo url
cd /etc/yum.repos.d wget http://download.virtualBox.org/virtualBox/rpm/rhel/virtualBox.repo
Install denpendiencies
yum --enablerepo=epel install dkms
Install epel
CentOS/RHEL 7,64 Bit (x86_64): # rpm -Uvh http://epel.mirror.net.in/epel/7/x86_64/e/epel-release-7-8.noarch.rpm CentOS/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到浏览器发现确实没有这个链接。但是我在仓库下找到另一个链接:
http://epel.mirror.net.in/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
替换一下就好了。
Install kernel-devel
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模块和主机内核版本不一致,无法运行。
现在解决方案有两大类:
最后还是决定下载版本一直的内核源码。步骤如下:
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
~ 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
yum install VirtualBox-5.1