美文网首页
为什么安装系统模块的时候使用modprobe而不是insmod

为什么安装系统模块的时候使用modprobe而不是insmod

作者: 苏苏林 | 来源:发表于2019-02-14 15:48 被阅读0次

今天安装一个内核模块,使用insmod,提示错误

#insmod /lib/modules/3.10.0-229.el7.x86_64/kernel/net/netfilter/nf_conntrack_pptp.ko

insmod: ERROR: could not insert module /lib/modules/3.10.0-229.el7.x86_64/kernel/net/netfilter/nf_conntrack_pptp.ko: Unknown symbol in module

感觉项依赖的一些函数或全局变量找不到,用modprobe 安装了一次,ok了。

#modprobe nf_conntrack_pptp

#lsmod | grep nf_conntrack_pptp

nf_conntrack_pptp      19258  1 nf_nat_pptp

nf_conntrack_proto_gre    14287  1 nf_conntrack_pptp

nf_conntrack          105702  7 nf_conntrack_proto_gre,nf_nat,nf_nat_ipv4,nf_nat_pptp,nf_nat_masquerade_ipv4,nf_conntrack_ipv4,nf_conntrack_pptp

安装成功,而且一些依赖的模块都安装好了,说明解决load module时的依赖关系,

google一下,它是通过/lib/modules/modules.dep文件来查找依赖关系的。而insmod不能解决依赖问题。所以modprobe 在安装系统模块的时候更好,当然,如果自己写的模块一般都一样。

相关文章

网友评论

      本文标题:为什么安装系统模块的时候使用modprobe而不是insmod

      本文链接:https://www.haomeiwen.com/subject/jfbeeqtx.html