rmmod.从运行内核卸载可加载的模块,并尝试从内核卸载一组模块,其中限制它们不使用,并且它们不会被其他模块引用。
如果在上面命名多个模块命令行,将以给定的顺序删除模块。这支持卸载堆叠模块。
选择'-R.',将尝试递归清除模块。这意味着如果堆栈中的顶部模块被命名为命令如果可能,也将删除该模块使用的所有模块。
使用rmmod.
RMMOD命令非常简单。您只需提供要卸载的模块的名称,它将删除它。现在,这是最棘手的部分,知道要卸载的模块的名称。值得庆幸的是,Lsmod命令有一个简单的解决方案。运行它以查看系统上加载的模块。
lsmod.
这将打印出当前加载的模块的大列表。如果您知道您要查找的名称的一部分,您可以使用“Grep”来查找它。
lsmod |grep -i
当您知道要删除的模块时,将其传递给RMMod。您需要root权限卸载内核模块,因此请使用“sudo”。
sudo rmmod i915
你不会得到任何类型的确认,所以如果你想检查它真的消失了,再次运行'lsmod'。
选项
-一种那- 全部
自动清洁:标记未使用的模块为“要清除”,还会删除已标记的模块。如果自从以前的自动清洁以来,模块将保持标记。这两个通过避免删除瞬时未使用的模块。
-e.那- 坚持
保存指定模块的持久数据,无需卸载任何模块。如果未指定模块名称,则保存具有持久数据的所有模块的数据。如果内核和Modutils支持持久数据,则只能保存数据/ proc / ksyms包含一个条目__insmod_modulename._P.persistent_filename.
-H那- 帮助
显示选项摘要并立即退出。
-R.那- 架子
删除模块堆栈。
-那-syslog.
输出一切syslog.而不是终端。
-v.那- 韦尔斯
是详细的。
-v.那- 版本
打印版本modutils.。
持久性数据
如果模块包含持久性数据(请参阅insmod.和Modules.conf.)然后删除模块始终将持久数据写入__insmod _p符号条目中的文件名。您还可以随时保存持久数据rmmod -e.,这不会卸载任何模块。
当持久性数据写入文件时,它在生成的注释行之前,#%kernel_version时间戳生成的注释行以“#%”开头,所有生成的注释都从现有文件中删除,保留了其他注释。保存的数据值写入文件,保留了注释和分配的现有顺序。在结束时添加新值文件。如果文件包含在模块中不存在的值,则保留这些值,但前面是生成的注释警告,即它们不会被使用。后一项操作允许用户在没有丢失持久数据的情况下在内核之间切换,而不会获得任何错误消息。