暂时移除模块

可以通过运行以下命令删除任何当前加载的模块:

# modprobe -r [module name]

如果模块无法卸载。
进程或者另一个模块可能仍在使用该模块,终止进程并使用正在删除的模块卸载模块。

CentOS/RHEL:如何禁用 Linux 内核模块

在CentOS/RHEL中,如何禁用 Linux 内核模块并将其列入黑名单以防止其自动加载

为了禁止加载恶意或者不需要的模块,我们可以将它们列入黑名单。
为了防止在引导过程中加载内核模块,必须将模块名称添加到黑名单文件中。
确保模块未配置为在 /etc/modprobe.conf 、 /etc/modprobe.d/* 、 /etc/rc.modules 或者 /etc/sysconfig/modules/* 中加载。
然后运行以下命令:

  1. 在 /etc/modprobe.d 目录中创建一个文件并为其指定一个相关名称(例如 local-blacklist.conf)。
    为了防止直接加载模块,我们可以将以下行添加到特定于系统配置的配置文件中,例如 /etc/modprobe.d/local-blacklist.conf:
# vi /etc/modprobe.d/local-blacklist.conf
blacklist [module name]

例如要将内核模块 be2iscsi 列入黑名单,请在文件 /etc/modprobe.d/local-blacklist.conf 中添加以下条目。

# vi /etc/modprobe.d/local-blacklist.conf
blacklist be2iscsi
  1. 如果某个模块是另一个模块的必需或者可选依赖项,则这不会阻止加载该模块。
    一些内核模块会尝试按需加载可选模块。

这可以通过在 /etc/modprobe.d/local-blacklist.conf 中配置以下设置来实现:

# vi /etc/modprobe.d/local-blacklist.conf
install [module name] /bin/false

上面的安装行只是导致运行 /bin/false 而不是安装模块。
同样可以通过使用 /bin/true 来实现。

  1. 重新启动服务器以使更改生效。
# shutdown -r now
  1. 如果内核模块是 initramfs(引导配置)的一部分,则应重新生成 initramfs。
    引导受影响的内核并运行以下命令以重新生成受影响的内核 initramfs。
# dracut -f

注意:如果某个模块被列入黑名单,而其他特定硬件需要该模块,则可能会产生意想不到的副作用。
所以请确定我们禁用的是哪个模块

欢迎 on it road

验证列入黑名单的模块

要验证模块是否被列入黑名单,请运行如下所示的命令。

# modprobe --showconfig | grep blacklist
blacklist [module]
日期:2020-09-17 00:12:14 来源:oir作者:oir