VirtualBox安装增强功能的终极办法,安全,成功率目前100%
先介绍一下我的电脑的系统环境:
Host 主系统:Ubuntu12.10
虚拟机:VirtualBox 4.2
Guest :CentOS 6.3
按照网上的做法安装内核文件,安装gcc。
但是总是会遇到一些莫名奇妙的错误让人措手不及。
总结一下几次安装下来遇到问题:
1.一般安装遇到的问题都是卡在:Building the main Gust Addition kernel modules [Failed]。
接着会提示让你查看 /var/log/下面的相关日志,按步骤来,发现是无法找到kernel source。
其实这一步需要安装和你内核版本对应的kernel-headers 和kernel-devel。
其中最莫名其妙的问题就出在这里!话说安装gcc编译器去编译内核这个步骤都不会有问题的。
网上给的方法是使用命令安装kernel-headers 和kernel-devel,命令中使用uname -r来获取系统正在使用的内核的版本,从而
下载安装对应的包。
但是,这一步,有时会遇到如下问题:
1.系统提示没有可用的安装包,也就是无法下载。这个比较无奈~,我没找到解决办法,这应该属于软件源和网络问题。
2.安装了最新的kernel-headers 和kernel-devel版本,而无法和目前系统使用内核版本对应。这个问题可能是敲的命令有问题,我遇见过,解决办法是卸载已安装的版本重新下载对应的kernel-headers 和kernel-devel(下文中将会提到)。
以上是我遇到的情况,其最终的表现就是Building the main Gust Addition kernel modules [Failed],日志内容都是一样的。
鉴于多次重装系统和安装增强功能的经验,我总结出了一个终极方法,直接手动下载kernel-headers 和kernel-devel版本去安装:
下面以我安装CentOS 6.3为例:
1.查看当前系统使用的内核版本:uname -r
(这里打断一下。以前我安装的kernel-headers 和kernel-devel版本和系统使用的内核版本不匹配的时候的解决办法:
1.查看已安装的kernel相关包:rpm -qa | grep kernel
2.删除不匹配的包:rpm -e 包名
3.继续正文做法)
2.在线下载对应的kernel-headers 和kernel-devel包:
我都是在http://rpm.pbone.net/这个网站上下载的,很全。
找到搜索框(我当初差点没找到^_^),查找你要下载的包的关键字,比如我的:kernel-devel-2.6.32-279.el6
同时下载kernel-devel-2.6.32-279.el6和kernel-headers-2.6.32-279.el6.i686后本地安装。
3.转到下载目录打开终端,切换到root,执行:rpm -i kernel-* 等待安装完成。
4.安装gcc:rpm install -y gcc
5.完成以上步骤后就能够保证安装增强功能的必要条件:安装和系统版本对应的kernel-headers 和kernel-devel,安装编译
源码的gcc
6.这里再次挂载增强功能所需的光盘,正常安装就不会报错了。
到这里问题基本都解决了。其实我长篇大论说一通也没多少东西,总结起来也就一句话而已。只是记录自己遇到的问题和解决的过程。学习是一个享受的过程,过程很重要,有结果最好,没结果也是一段思考和探索的经历。