Есть ли способ обновить модуль драйвера linux без перезагрузки системы?
1 ответ
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
)
Также есть поддержка принудительного удаления, но она не должна использоваться в производственных системах.