3

Я работаю над сценарием, который работает на различных типах серверов CentOS/Redhat, где необходимо выяснить, какие файлы были загружены в ядро. Запуск lsmod предоставляет мне имя модуля (которое можно установить с помощью -o в вызове insmod), но не файл, который был загружен.

Есть ли способ узнать, какие файлы были загружены в ядро в виде модулей? Предпочтительно, с возможностью перекрестной ссылки с именем, как оно появляется в lsmod?

Спасибо!

4 ответа4

2

Эта информация нигде не записывается, насколько я знаю. Даже если это так, информация может быть неточной, если файл был перемещен или удален за это время (что объясняет, почему никто не реализовал такую функцию).

Учитывая имя модуля foo , modprobe -l foo показывает, какой файл теперь будет загружен, если модуль foo был запрошен. Но если для загрузки модуля использовалось modprobe -o bar имя модуля по умолчанию не записывается, только bar .

0

Я немного поиграл и нашел следующие команды.

$ lsmod | cut -d " " -f 1

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

$ modinfo modulename -n

выведет имя файла модуля.

$ list=`lsmod | cut -d " " -f 1`; echo "$list" | while read line; do echo $line; echo -e `modinfo $line -n`\\n; done;

выведет список модулей ядра вместе с путем к файлу.

0
cat /proc/modules

дает вам список (подробный) загруженных модулей (RedHat, Ubuntu, я думаю, это работает для CentOS, на котором основан Redhat).

-3

cat /proc /modules
больше /proc /modules

Изображение sudo rmmod print

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