Команда Modprobe в Linux
Ядро Linux — это основной компонент операционной системы Linux. Он управляет ресурсами системы и является мостом между оборудованием и программным обеспечением вашего компьютера.
Ядро Linux имеет модульную конструкцию. Модуль ядра, или часто называемый драйвером, — это фрагмент кода, расширяющий функциональность ядра. Модули либо скомпилированы как загружаемые модули, либо встроены в ядро. Загружаемые модули могут быть загружены и выгружены в работающем ядре по запросу без необходимости перезагрузки системы.
Обычно модули загружаются по запросу через udev (диспетчер устройств). Однако иногда вам может потребоваться точная настройка того, как загружаются модули. Например, вам может потребоваться загрузить модуль с дополнительными параметрами или предотвратить автоматическую загрузку модуля.
Вы можете вручную загрузить модуль в ядро с помощью команды modprobe или автоматически во время загрузки с помощью файлов /etc/modules или /etc/modules-load.d/*.conf .
В этой статье мы объясним, как использовать modprobe для добавления и удаления модулей из ядра Linux. modprobe является частью kmod , двоичного kmod , который реализует несколько программ, используемых для управления модулями ядра Linux.
Добавление модулей ядра
Модули ядра хранятся в каталоге /lib/modules/ . Вы найдете версию работающего ядра , используйте команду uname -r .
Только пользователи с правами администратора могут управлять модулями ядра.
Чтобы загрузить модуль, вызовите команду modprobe за которой следует имя модуля:
Команда modprobe загрузит данный модуль и любые дополнительные зависимости модуля. В командной строке можно указать только один модуль.
Используйте команду lsmod чтобы убедиться, что модуль загружен:
Чтобы загрузить модуль с дополнительными параметрами, используйте синтаксис parameter=value :
Команда принимает несколько пар parameter=value разделенных пробелом.
Как правило, вам необходимо загрузить модуль во время загрузки системы. Вы можете сделать это, указав модуль и его параметры в файле внутри каталога /etc/modules-load.d . Файлы должны заканчиваться на .conf и иметь любое имя:
Параметры, указанные в этих файлах, считываются программой udev , которая загружает модули при запуске системы с помощью modprobe .
Удаление модулей ядра
Чтобы удалить модуль, вызовите команду modprobe с параметром -r за которым следует имя модуля:
modprobe также удалит неиспользуемые зависимости модуля.
При вызове с -r команда принимает несколько модулей в качестве аргументов:
Если вы хотите предотвратить загрузку модуля ядра во время загрузки, создайте файл .conf с любым именем внутри /etc/modprobe.d . Синтаксис:
Если вы хотите внести в черный список дополнительные модули, укажите модули в новой строке или создайте новый файл .conf .
Выводы
Команда modprobe позволяет добавлять и удалять модули ядра Linux.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Источник
Команда Modprobe в Linux
Главное меню » Linux » Команда Modprobe в Linux
Ядро Linux имеет модульную конструкцию. Модуль ядра, или его часто называют драйвером, – это фрагмент кода, расширяющий функциональные возможности ядра. Модули либо скомпилированы как загружаемые модули, либо встроены в ядро. Загружаемые модули могут быть загружены и выгружены в работающем ядре по запросу, без необходимости перезагрузки системы.
Обычно модули загружаются по требованию udev (диспетчер устройств). Тем не менее, иногда вам может понадобиться точно настроить загрузку модулей. Например, вам может потребоваться загрузить модуль с дополнительными параметрами или предотвратить автоматическую загрузку модуля.
Вы можете вручную загрузить модуль в ядро, используя команду modprobe, или автоматически во время загрузки, используя файлы /etc/modules или /etc/modules-load.d/*.conf.
В этой статье мы объясним, как использовать modprobe для добавления и удаления модулей из ядра Linux. modprobe является частью двоичного файла kmod, который реализует несколько программ, используемых для управления модулями ядра Linux.
Добавление модулей ядра
Модули ядра хранятся в каталоге /lib/modules/ . Вы найдете версию работающего ядра, используйте команду uname -r.
Только пользователи с правами администратора могут управлять модулями ядра.
Чтобы загрузить модуль, вызовите команду modprobe, сопровождаемую именем модуля:
Команда modprobe загрузит данный модуль и любые дополнительные зависимости модуля. В командной строке можно указать только один модуль.
Используйте команду lsmod, чтобы подтвердить, что модуль загружен:
Чтобы загрузить модуль с дополнительными параметрами, используйте синтаксис parameter=value:
Команда принимает несколько параметров parameter=value, разделенных пробелом.
Как правило, вам нужно будет загрузить модуль во время загрузки системы. Вы можете сделать это, указав модуль и его параметры в файле внутри каталога /etc/modules-load.d. Файлы должны заканчиваться .conf и могут иметь любое имя:
Параметры, указанные в этих файлах, читаются пользователем udev, который загружает модули при запуске системы, используя modprobe.
Удаление модулей ядра
Чтобы удалить модуль, вызовите команду modprobe с параметром -r, за которым следует имя модуля:
modprobe также удалит неиспользуемые зависимости модуля.
При вызове команда -r принимает несколько модулей в качестве аргументов:
Если вы хотите запретить загрузку модуля ядра во время загрузки, создайте файл .conf с любым именем внутри /etc/modprobe.d. Синтаксис:
Если вы хотите добавить в черный список дополнительные модули, укажите модули в новой строке или создайте новый файл .conf.
Вывод
Команда modprobe позволяет добавлять и удалять модули ядра Linux.
Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Linux modprobe command
On Linux operating systems, the modprobe command adds and removes modules from the Linux kernel.
Description
Modules are pieces of code which extend the functionality of the operating system kernel without the need to reboot. Once loaded, modules reside in memory, and can be instantiated multiple times; they can be thought of as analogous to a device driver.
modprobe uses the dependency lists and hardware maps generated by depmod to intelligently load or unload modules into the kernel. It performs the actual insertion and removal using the lower-level programs insmod and rmmod, respectively.
While it’s possible to call insmod and rmmod manually, we recommend to load and unload modules using depmod to ensure that any inter-module dependencies are considered before changes are made.
Technical description
modprobe searches the module directory,
for all the modules and other files, except for the optional configuration files in the /etc/modprobe.d directory. modprobe also uses module options specified on the kernel command line in the form of:
. and blacklists in the form of:
Modern versions of Linux modprobe (post-kernel version 2.4.x) do not modify modules themselves. The work of resolving symbols and understanding parameters is done inside the kernel. Module failure is therefore sometimes accompanied by a kernel message — see dmesg for more information about viewing them.
modprobe expects an up-to-date modules.dep.bin file (or fallback human readable modules.dep file), as generated by the depmod utility. This file lists what other modules each module needs (if any), and modprobe uses this to add or remove these dependencies automatically.
If any arguments are given after the modulename, they are passed to the kernel (in addition to any options listed in the configuration file).
Syntax
Options
-a, —all | Insert all module names on the command line. |
-b,—use-blacklist | This option causes modprobe to apply the blacklist commands in the configuration files (if any) to module names as well. (Any module which has been blacklisted is not automatically loaded.) |
-C, —config | This option overrides the default configuration directory (/etc/modprobe.d). |
This option is passed through install or remove commands to other modprobe commands in the MODPROBE_OPTIONS environment variable.
This check is there for your protection, so this using option is dangerous unless you know what you’re doing.
This check is there for your protection, so using this option is dangerous unless you know what you’re doing.
These checks are there for your protection, so using this option is dangerous unless you know what you are doing.
—ignore-install,
—ignore-remove
There is usually no reason to remove modules, but some buggy modules require it. Your distribution kernel may not be built to support removal of modules at all.
This option is passed through install or remove commands to other modprobe commands in the MODPROBE_OPTIONS environment variable.
This option is passed through install or remove commands to other modprobe commands in the MODPROBE_OPTIONS environment variable.
Examples
The following series of commands illustrate a common way to use modprobe. Each command is prefixed with sudo, as they require root permissions:
These commands perform the following operations:
- In the first command, we use ln to create a symbolic link to our module file in the directory /lib/modules/kernel-release. The command uname -r, enclosed in back quotes, is executed by the shell and translates to the appropriate string representing our kernel release version.
- In the second command, an updated dependency list is generated by depmod -a to make sure the module we’re installing is aware of all existing modules and dependencies. This dependency list is used by modprobe when installing the module in the third command.
- modprobe installs the kernel module.
Related commands
depmod — Generate a list of kernel module dependences and associated map files.
insmod — Insert a module into the Linux kernel.
lsmod — Show the status of Linux kernel modules.
modinfo — Show information about a Linux kernel module.
rmmod — Remove a module from the Linux kernel.
uname — Print information about the current system.
Источник