手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

Linux下Modules的概念及使用详解

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

uart401 6160 0 (autoclean) [sb]
sound 56492 0 (autoclean) [sb uart401]
soundcore 2372 5 (autoclean) [sb sound]



  这些模块都要加载上来,整个声卡才能工作,而且他们之间是有依赖性关系的。最核心的 soundcore必须首先装入, 最后装入sb。但一般人是不知道其先后顺序的。因此, modprobe 就是用来解决这个问题用的。

  通常我们只要

modprobe sb


  他就会自动的找出 sb 用到的任何的模块, 将他们一一 的加载进来,故一般使用者就不用去伤脑筋了。

  那么内核是怎么知道这些模块间的依赖性关系的呢?原来,在系统启动脚本里有一条'depmod -a'命令,会给系统中的任何可用的模块创建一个依赖关系的列表。而 'modprobe module-name'会使用这个列表,在装入指定的

  模块前先装入那些事先装入的模块。假如在这个从属列表中很难找到'module-name'的话,他会给出相应的出错信息。

  但若使用 insmod, 他可不会自动完成其他模块的调入。比如说,我们要加入PPP模块,用这个命令:


root/root>insmod ppp
root/root>



  假如操作成功,系统出现操作提示符。假如没有成功,可能出现下列信息:


/lib/modules/2.2.10/net/ppp.o: unresolved symbol slhc_init_Rsmp_1ca65fca
/lib/modules/2.2.10/net/ppp.o: unresolved symbol slhc_compress_Rsmp_cfd3a418
/lib/modules/2.2.10/net/ppp.o: unresolved symbol slhc_free_Rsmp_b99033d9
/lib/modules/2.2.10/net/ppp.o: unresolved symbol slhc_toss_Rsmp_a152cec0
/lib/modules/2.2.10/net/ppp.o: unresolved symbol slhc_remember_Rsmp_07972313
/lib/modules/2.2.10/net/ppp.o: unresolved symbol slhc_uncompress_Rsmp_3bb36b01
[root /root]#



  这说明,PPP模块没有加载成功,错误提示中的unresolved symbol说明,PPP模块所需要的一些模块还没有载入。错误提示第一行的内容是:slhc_init_Rsmp_1ca65fca ,这是哪个模块?这其中可能需要一些经验来做判断,他是以slhc开头的,就试试slhc吧。


root/root>insmod slhc 一切正常,然后我们再加载PPP模块
root/root>insmod ppp
root/root>



  这回没有什么返回信息,说明PPP模块加载成功了。

六、从内存中卸载一个Modules

  要卸载一个模块,首先用lsmod看看该模块是否确实已加载上来,然后再做操作。除此之外,在碰到有依赖关系的模块时,从内核中卸载模块的过程和载入的过程恰好相反,他遵循“first in last out“的准则,即在一系列有依赖关系的模块中,必须先卸载最后加载进来的模块,最后卸载最先加载进来的模块。比如:假如要用 rmmod 移除正在使用中的模块(如上例,要卸载slhc, 但仍有PPP模块在使用他)会出现错误提示:Device or resource busy 。所以,在将PPP模块从内存中卸载后,才可能将slhc模块从内存中卸载。

  总之,在卸载模块时,对于可能出现的模块间依赖性问题,Linux会给您提示足够的信息,仔细查看这些信息,是能够为您采取相应的操作并最终解决问题提供帮助的。

转from: http://tech.ccidnet.com/pub/article/c302_a243681_p1.html


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!