1.问题描述
编译内核模块时,出现错误显示找不到/lib/modules/3.10.0-1127.el7.x86_64/build。
ls查看果然没有该目录,然后网上查资料说是需要安装对应的内核开发软件包。
原因:/lib/modules/3.10.0-1127.el7.x86_64/build没有指向正确的kernel source
yum install kernel-devel-$(uname -r)
对应版本的内核开发包不存在……
直接安装一个开发包 yum install kernel-devel,安装的kernel-devel小版本与内核不一致。
结果还是不行,问题已经存在且不变。
2.解决方法
不折腾了,选择躺平!
换一台机器,然后发现可以通过yum install kernel-devel-$(uname -r)安装与内核版本一致的开发包。
备注说明:
本人用的centos7.8版本虚拟机出现以上问题,没有解决(猜测可能是和yum下载源相关,该源库中没有对应版本的kernel-devel软件包)。换成centos7.4操作系统之后,没有该问题。(也就是iso版本号为1908的镜像)
--------------------------------------------------------------------------------------------------------------
更新:
最近又发现了这个问题的解决办法,可以通过 yum update kernel来升级内核(这里我用的centos,并没有升级到很高的内核,还是3.10.xx)
比如我原本的3.10.0-1127升级到了3.10.0-1160,然后可以直yum install安装对应的内核开发包。
至此,问题应该算是解决了!!!