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

Chr*_*son 4 kernel centos virtualbox

我在 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 的此类注释或涉及缺少内核头文件的注释。

Pav*_*l_K 6

我用这个解决了这个问题:

yum install "kernel-devel-uname-r == $(uname -r)" 
Run Code Online (Sandbox Code Playgroud)