Обновление модуля ядра Linux без перезагрузки

506
sunny

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

0
О каком модуле мы говорим здесь? Центральный компонент? Daniel B 9 лет назад 0
динамически загружаемый модуль sunny 9 лет назад 0
Это не помогает Если вы можете, пожалуйста, назовите его или хотя бы опишите, что он делает. Желательно с включенным выводом lsmod. Daniel B 9 лет назад 0
Какой конкретный модуль вы имеете в виду? Oracle утверждает, что [Ksplice] (https://www.ksplice.com/) может избежать перезагрузок, но я никогда не пробовал. l0b0 9 лет назад 0
это модуль драйвера персонажа, который должен быть обновлен до последних версий без перезагрузки системы и минимального времени простоя. sunny 9 лет назад 0

1 ответ на вопрос

1
Daniel B

Что ж, раз уж вы не очень знакомы с информацией, давайте сделаем это теоретически.

Да, модуль ядра может быть выгружен. Это тоже довольно просто:

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 

(Symbol: MODULE_UNLOAD)

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

Похожие вопросы