LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 81|回复: 0

卸载启动模块的办法(抛砖引玉)

[复制链接]
发表于 2006-4-18 22:11:50 | 显示全部楼层 |阅读模式
本人是菜鸟,写的东西肯定是只见树木不见森林,欢迎高手指正。

本人发现在论坛中能找到不少教初学者加载模块的方法如用modprobe,或insmod,m-a什么的。但一旦模块变成启动时自动加载再想不让它自动加载就找不到解决的办法了,本人是没找到,也试过m-a,也试过rmmod。但启动的时候原来会自动加载的依旧。

最基本的方法是找到/etc/modules文件在其中你不需要的模块前加#,不过你会发现很多你加载的模块并不在这里。下面说几个我发现的办法。

依本人的情况,发现很多不需要的模块是跟系统硬件有关,所以就想到可能是hotplug或udev或discover等程序开机时侦测硬件然后自动加载的,然后在就在/ect/modprobe.d/中找到blacklist文件(是在看google的国外的文章中得到提示),这个文件中包含的就是启动时模块自动加载过程中不被加载的模块的名字!把你不想自动加载的模块写进去一般就行了!看到这先别急着去试,再往下看看,也许对你有用。

这里要说明一些可能会让比我还初学的朋友很困惑的问题,至少让我困惑了不少日子,说的不对的请指正。
我装debian有不少日子,所以中间大大小小的升级不少,其中和模块相关的重要变化有:原来系统的modutils包,换成了2.6内核推荐的module-init-tools,由于当初升级的时候没注意,没有彻底删除modutils包的配置文件,所以出现在/etc下新旧配置软件的配置文件和文件夹同时存在,导致菜鸟我困惑了好长时间也不知道哪个文件真正有用,现在看来module-init-tools对应的是/ect/modprobe.d/原来的/etc/modutils/没用了。所以如果你没用module-init-tools替换modutils,那么你应该在/etc/modutils/中找到blacklist文件。在写blacklist文件时要注意,因为模块有依赖关系,所以你不能只把被别的模块依赖的那个模块写进来,这样是没用的,kernel会自动把你black的模块加进来的!

还有的模块可以通过在/ect/modprobe.d/中的aliases文件中对应位置改为alias XXXXXXXX off,如要关闭ipv6可以改alias net-pf-10 off,虽然文件说明中建议不要修改这个文件。

还有一些很“恶心”的模块,你在blacklist中写入也没用,比如我用的是本本所以加载了acpi的电源管理,它会自动加载好几个我觉得用不上的模块,找来找去,还是在国外的文章中发现,在/etc/default文件夹中有类似acpid的文件其中写了加载哪些模块。

我现在知道的就这些,高手见笑了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表