了解Linux命令 - RMMod

在他的办公室工作

vgajic / getty图像

rmmod.从运行内核卸载可加载的模块,并尝试从内核卸载一组模块,其中限制它们不使用,并且它们不会被其他模块引用。

如果在上面命名多个模块命令行,将以给定的顺序删除模块。这支持卸载堆叠模块。

选择'-R.',将尝试递归清除模块。这意味着如果堆栈中的顶部模块被命名为命令如果可能,也将删除该模块使用的所有模块。

使用rmmod.

RMMOD命令非常简单。您只需提供要卸载的模块的名称,它将删除它。现在,这是最棘手的部分,知道要卸载的模块的名称。值得庆幸的是,Lsmod命令有一个简单的解决方案。运行它以查看系统上加载的模块。

lsmod.
Linux列表内核模块

这将打印出当前加载的模块的大列表。如果您知道您要查找的名称的一部分,您可以使用“Grep”来查找它。

lsmod |grep -i 

当您知道要删除的模块时,将其传递给RMMod。您需要root权限卸载内核模块,因此请使用“sudo”。

sudo rmmod i915
linux rmmod命令

你不会得到任何类型的确认,所以如果你想检查它真的消失了,再次运行'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时间戳生成的注释行以“#%”开头,所有生成的注释都从现有文件中删除,保留了其他注释。保存的数据值写入文件,保留了注释和分配的现有顺序。在结束时添加新值文件。如果文件包含在模块中不存在的值,则保留这些值,但前面是生成的注释警告,即它们不会被使用。后一项操作允许用户在没有丢失持久数据的情况下在内核之间切换,而不会获得任何错误消息。



此页面是否有帮助?