空内核目录,但安装了内核头文件

空内核目录,但安装了内核头文件

主持人 -Windows 7的

客人 -中央操作系统

我正在尝试安装,kernel-headers因为yum在安装过程中vmware-tools我收到一条消息,要求3.10.0-229.7.2.e17.x86_64 的内核头文件的路径

运行yum install kernel-headers回报软件包 kernel-headers-3.10.0-229.7.2.e17.x86_64 已安装并且是最新版本。但目录/usr/src/kernels是空的。

内核头文件是否安装在其他地方?或者我应该要求yum安装其他东西?

为 vmware-tools 提供内核头文件的路径

Searching for a valid kernel header path...
The path "" is not a valid path to the 3.10.0-229.7.2.e17.x86_64 kernel headers.
Would you like to change it? [yes]

提供路径/usr/include/linux会再次给出相同的响应,但将“”替换为提供的路径。

答案1

我有同样的问题。经过多次谷歌搜索后,这个解决方案对我有用。它首先确定安装的内核版本,然后使用该确切版本来安装内核头包。

sudo yum install "kernel-devel-uname-r == $(uname -r)"

答案2

安装构建内核模块所需的所有依赖项的正确包是kernel-devel(请参阅CentOS 文档了解更多信息)。

头文件没有安装在 中/usr/src/kernels,而是安装在下面的多个目录中/usr/include(C 头文件的默认位置)。您可以kernel-headers使用以下命令列出安装的软件包的内容:

rpm -ql kernel-headers

答案3

在 CentOS 版本 7 上,下面给出的是内核头文件的路径。

/lib/modules/3.10.0-327.36.2.el7.x86_64/build/include

yum install kernel-headers运行两次(更新到最新)后,问题得到解决。确保正在运行的内核版本和内核头版本相同。我的内核版本是3.10.0-327.36.2.el7.x86_64

答案4

我安装了 kernel-devel 软件包,但结果表明标头适用于与我的实例上运行的内核版本不同的内核版本。为了解决这个问题,我跑了

sudo yum upgrade

并重新启动,然后顺利安装了 vmware-tools。

相关内容