为什么在尝试安装 VirtualBox Guest Additions 时无法在 CentOS 7 上找到内核头文件?

为什么在尝试安装 VirtualBox Guest Additions 时无法在 CentOS 7 上找到内核头文件?

我在 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获取更多信息。

您仍想继续此安装吗? [是的]

相关内容