无需重启即可升级 Linux 内核模块

无需重启即可升级 Linux 内核模块

有没有什么办法可以升级 Linux 驱动模块而无需重新启动系统?

答案1

好吧,既然您不愿意透露这些信息,我们就只谈理论吧。

是的,可以卸载内核模块。这也相当容易:

localhost ~ # modprobe kcopy
localhost ~ # lsmod
Module                  Size  Used by
kcopy                   5124  0
iTCO_wdt                4967  0
lpc_ich                13224  0
mfd_core                3041  1 lpc_ich
localhost ~ # modprobe -r kcopy

如您在列表中看到的,内核模块未被使用(计数器为 0)。如果模块正在使用中(例如,具有已安装文件系统的文件系统驱动程序),则无法卸载它。

这一切都取决于正在构建的内核是否支持删除模块:

[*] Enable loadable module support  --->
    --- Enable loadable module support
    [*]   Module unloading

(象征:MODULE_UNLOAD

还支持强制删除,但不能在生产系统上使用。

相关内容