Утилита modprobe используется для добавления загружаемых модулей в ядро Linux. Вы также можете просматривать и удалять модули с помощью команды modprobe.
Linux поддерживает каталог /lib/modules/$ (uname-r) для модулей и его файлов конфигурации (кроме /etc/modprobe.conf и /etc/modprobe.d).
В ядре Linux 2.6 вместо файлов .o используются модули .ko, поскольку в них содержится дополнительная информация, которую ядро использует для загрузки модулей. Пример в этой статье сделан с использованием modprobe на Ubuntu.
modprobe -l отобразит все доступные модули, как показано ниже.
$ modprobe -l | less kernel/arch/x86/kernel/cpu/mcheck/mce-inject.ko kernel/arch/x86/kernel/cpu/cpufreq/e_powersaver.ko kernel/arch/x86/kernel/cpu/cpufreq/p4-clockmod.ko kernel/arch/x86/kernel/msr.ko kernel/arch/x86/kernel/cpuid.ko kernel/arch/x86/kernel/apm.ko kernel/arch/x86/kernel/scx200.ko kernel/arch/x86/kernel/microcode.ko kernel/arch/x86/crypto/aes-i586.ko kernel/arch/x86/crypto/twofish-i586.ko
Хотя приведенная выше команда modprobe отображает все доступные модули, команда lsmod отображает все модули, которые в данный момент загружены в ядро Linux.
$ lsmod | less soundcore 7264 1 snd ppdev 6688 0 snd_page_alloc 9156 1 snd_pcm psmouse 56180 0 lp 8964 0
Чтобы вставить новый модуль в ядро, выполните команду modprobe с именем модуля.
Следующий пример загружает модуль vmhgfs в ядро Linux на Ubuntu.
$ sudo modprobe vmhgfs
После загрузки модуля проверьте его с помощью команды lsmod, как показано ниже.
$ lsmod | grep vmhgfs vmhgfs 50772 0
Файлы модуля имеют расширение .ko. Если вы хотите узнать полное местоположение файла определенного модуля ядра Linux, используйте команду modprobe и выполните grep имени модуля, как показано ниже.
$ modprobe | grep vmhgfs misc/vmhgfs.ko $ cd /lib/modules/2.6.31-14-generic/misc $ ls vmhgfs* vmhgfs.ko
Примечание: вы также можете использовать insmod для установки новых модулей в ядро Linux.
Учтите, что в некоторых случаях вы должны загрузить новый модуль, но с тем же именем модуля другой модуль уже был загружен для других целей.
Если по каким-то странным причинам имя модуля, которое вы пытаетесь загрузить в ядро, используется (с тем же именем) другим модулем, то вы можете загрузить новый модуль под другим именем.
Чтобы загрузить модуль с другим именем, используйте опцию modprobe -o, как показано ниже.
$ sudo modprobe vmhgfs -o vm_hgfs $ lsmod | grep vm_hgfs vm_hgfs 50772 0
Если вы загрузили модуль в ядро Linux для тестирования, вы можете выгрузить (удалить) его из ядра.
Используйте опцию modprobe -r для выгрузки модуля из ядра, как показано ниже.
modprobe -r vmhgfs
Продолжая использовать данный сайт вы принимаете политику конфиденциальности и cookies