瓦_内核模块安装_失败

1、操作系统

  1.1、平台上的 CentOS6的x86版的3个系统(CentOS-6 / CentOS-6-x86 / CentOS-6-minimal)都尝试过了,都不能安装...

  1.2、命令"uname -r" 显示为 "2.6.32-042stab116.1"

 

2、gcc-c++

  使用 命令"yum install gcc-c++" 安装

 

3、内核 相关头文件

  3.1、使用 网上下载的 文件"vzkernel-devel-2.6.32-042stab116.1.i686.rpm" 来安装,编译生成 内核模块 都OK。

   3.1.1、但是安装 内核模块时 报错了:

[root@localhost home]# insmod netfilter_hook.ko
insmod: error inserting 'netfilter_hook.ko': -1 Operation not permitted
[root@localhost home]# dmesg |tail -n 5
[root@localhost home]#

    ZC: 注意看,这里  dmesg 上面信息都没有...

   3.1.2、然后,换一种安装方式:

[root@localhost home]# depmod /home//netfilter_hook.ko
[root@localhost home]# modprobe netfilter_hook
FATAL: Error inserting netfilter_hook (/home//netfilter_hook.ko): Operation not permitted
[root@localhost home]# dmesg
[root@localhost home]# 

    ZC: 这里,dmesg 同样上面信息都没有...

  3.2、使用 命令"yum install kernel-devel" 安装,编译生成 内核模块 都OK。

    在安装 内核模块的时候,出现了上面一样的错误...

 

  3.3、ZC:

    估计 平台对 内核模块做了限制,不允许 添加删除... 暂时 不知如何处理了...

  3.4、"vzkernel-devel-2.6.32-042stab116.1.i686.rpm" 的下载地址为:

    http://mirrors.nhanhoa.com/openvz/kernel/branches/rhel6-2.6.32-testing/042stab116.1/

 

4、

5、

 

转载于:https://www.cnblogs.com/LinuxCode/p/5792612.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可能的原因有很多,需要具体分析。以下是一些可能的原因: 1. 编译环境不完整或者不正确,需要安装相应的编译工具和依赖库。 2. 内核源代码版本不匹配,需要使用与当前系统内核版本相同的源代码。 3. 内核模块代码有错误或者不完整,需要检查代码并进行修正。 4. 编译参数设置不正确,需要根据具体情况进行调整。 5. 系统权限不足,需要使用 root 用户或者具有相应权限的用户进行编译。 需要具体分析错误信息和编译日志,才能确定具体的原因和解决方法。 ### 回答2: Linux编译内核模块失败可能是由于多种原因造成的。下面就几个常见的情况进行分析: (1)内核版本不匹配:在编译内核模块之前,应该检查内核版本是否与源代码匹配,否则会出现不兼容或冲突的情况,导致编译失败。 (2)编译环境问题:编译内核模块需要的编译环境是gcc工具链及其头文件,如果系统没有安装对应版本的gcc或者头文件不全,也会导致编译失败。 (3)依赖问题:有些内核模块依赖于其他模块或者库,如果没有安装依赖的软件包,就会导致编译失败。这时候需要先检查哪些依赖包没有安装,再进行安装。 (4)编译选项问题:编译内核模块时需要指定编译选项,如果选项设置错误,或者没有正确设置,也会导致编译失败。这时候需要检查编译选项设置是否正确,并进行修改。 (5)代码问题:如果内核模块源代码有错误,或者不符合要求的编程规范,也会导致编译失败。这时候需要检查代码是否有错,并进行修改。 综上所述,编译内核模块失败可能原因很多,需要细心查找并解决问题。建议可以先检查编译日志,找到编译失败的原因,然后一步步进行排查和修正。同时,对于一些编译环境或者依赖问题,可以先检查系统是否已经安装了相关软件包,如果没有可以先进行安装。 ### 回答3: 可能有几种原因导致 Linux 编译内核模块失败。以下是一些常见的原因及解决方法: 1. 缺少必要的编译工具 编译内核模块需要一些必要的编译工具,比如 make,gcc 等。如果系统中没有安装这些工具,代码会编译失败。检查是否已经安装了这些编译工具,并对它们进行更新和升级。 2. 内核版本不同或未更改内核配置 在编译内核模块时需要与内核版本匹配。当编译一个与当前内核版本不匹配的模块时,会收到错误提示。另外,一些内核模块需要根据实际情况进行配置。如果该模块内核配置未更改,则编译失败。 3. 头文件不匹配或丢失 内核模块需要与内核头文件匹配。如果内核头文件不匹配或丢失,则编译会失败。在编译模块之前,请确保安装了正确的内核头文件。 4. 缺少必要的库文件或驱动程序 编译内核模块时还需要一些必要的库文件或驱动程序。如果代码中使用了这些库文件或驱动程序,但其未安装或版本有误,则编译会失败。解决方法是通过包管理器安装或更新所需库文件或驱动程序。 总之,如果 Linux 编译内核模块失败,可以尝试检查并解决以上几种常见的问题。如果问题依旧无法解决,根据错误提示进一步排除故障,或向 Linux 社区寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值