Есть ли способ обновить модуль драйвера linux без перезагрузки системы?

1 ответ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)

Также есть поддержка принудительного удаления, но она не должна использоваться в производственных системах.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .