![找不到内核 2.6.32-504.e16.x86_64 的内核头文件](https://linux22.com/image/86028/%E6%89%BE%E4%B8%8D%E5%88%B0%E5%86%85%E6%A0%B8%202.6.32-504.e16.x86_64%20%E7%9A%84%E5%86%85%E6%A0%B8%E5%A4%B4%E6%96%87%E4%BB%B6.png)
我在 virtualbox 上安装了 centos 6.6。为了使用复制/粘贴、共享文件夹等功能,我需要在其上安装来宾附加功能。
我点击了Device -> Insert Guest Additions CD Image
然后执行以下操作:
但是,当我尝试运行时,./VBoxLinuxAdditions run
出现以下错误。我粘贴屏幕截图是因为我无法复制/粘贴,因为我没有来宾添加。
错误:
日志:
/lib/modules/2.6.32-504.e16.x86_64/build
和文件夹均/lib/modules/2.6.32-504.e16.x86_64/source
存在。
当我yum remove kernel-devel
再次使用此版本进行安装时yum install kernel-devel
,会尝试安装该版本。笔记这是2.6.32-573.18.1.e16
我做了什么
下列的这个答案我做了sudo yum install "kernel-devel-uname-r == $(uname -r)"
但不起作用
答案1
您的ls -al /lib/modules/2.6.32-504.el6.x86_64/
命令输出表明,它实际上是指向目录树同一级别目录的/lib/modules/2.6.32-504.el6.x86_64/source
符号链接。build
此外,符号链接显示在红色的,表明链接已损坏,链接目标显示(-> build
)有红色背景,表明链接目标实际上不存在。
您似乎还2.6.32-573.18.1.el6.x86_64
安装了较新的内核版本,但尚未运行。尽管您通常会并行安装多个内核版本,但这并不适用于软件包kernel-devel
:它通常会跟踪您安装的最新发行版内核。
我的猜测是,随着2.6.32-573.18.1.el6.x86_64
内核版本的安装,kernel-devel
软件包也进行了更新以匹配它。重新启动后,您将运行该内核版本而不是当前版本,然后您可以再次成功构建第三方内核模块,例如 VirtualBox Guest Additions 的模块。
您链接的答案使用的kernel-devel-uname-r == $(uname -r)
语法显然是“愚蠢的黑客”根据托尔斯滕·利姆休斯的说法,并且可能在 Fedora 19 和 Fedora 21 之间的某个地方已经过时。