我在 Windows 8.1 主机上安装了最小的 CentOS 7 作为 VirtualBox 5.0.16 r105871 来宾。 uname -r
报告“3.10.0-327.10.1.el7.x86_64”。
当我尝试运行时,VBoxLinuxAdditions.run
出现错误“找不到当前正在运行的内核的标头”,并建议我这样做yum install kernel-devel-3.10.0-327.10.1.el7.x86_64
。然而yum list kernel-devel
显示已经安装(按原样kernel-headers
和适当的版本)。
添加一些日志记录vboxadd
,我发现它正在寻找标头,/lib/modules/3.10.0-327.10.1.el7.x86_64/build
其中结果是指向缺失的死链接/usr/src/kernels/3.10.0-327.10.1.el7.x86_64
。确实,/usr/src/kernels/
是空的。
谷歌搜索表明,许多版本的 CentOS 需要 VBGA 补丁才能安装工作,但我没有看到任何特定于 CentOS 7 的此类注释或涉及缺少内核头文件的注释。
答案1
我用这个解决了这个问题:
yum install "kernel-devel-uname-r == $(uname -r)"
答案2
提示者:https://serverfault.com/questions/613256/trying-to-remove-packages-with-yum-however-it-is-failing我做了一些清理,然后yum list
不再显示kenel-devel
,所以我安装了它,/usr/src/kernels/
不再是空的,并且安装了来宾添加成功。
答案3
CentOS 8 安装
yum install -y gcc perl kernel-headers kernel-devel elfutils-libelf-devel
答案4
顺便说一句,现在对于 CentOS 7,open-vm-tools
官方推荐使用。
$ ./vmware-install.pl
open-vm-tools 软件包可从操作系统供应商处获取,VMware 建议使用 open-vm-tools 软件包。看http://kb.vmwaare.com/kb/2073803获取更多信息。
您仍想继续此安装吗? [是的]