今天安装一个内核模块,使用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 在安装系统模块的时候更好,当然,如果自己写的模块一般都一样。
网友评论