有没有什么办法可以升级 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
)
还支持强制删除,但不能在生产系统上使用。