Как занести в черный список модуль в Ubuntu / Debian Linux
Задача
Цель состоит в том, чтобы черный список выбранных модулей от загрузки.Версии операционной системы и программного обеспечения
- Операционная система: - Debian, Ubuntu, Mint
Требования
sudo
Требуется привилегированный доступ к вашей системе Ubuntu от имени пользователя root или с помощью команды.трудность
ЛЕГКОУсловные обозначения
- # - требует, чтобы данные команды linux выполнялись с правами root либо напрямую как пользователь root, либо с помощью
sudo
команды - $ - данные команды linux, которые будут выполняться как обычный непривилегированный пользователь
инструкции
Там может быть время, когда вам нужно отключить некоторые модули от загрузки во время загрузки вашей системы. В этом разделе «Как» мы обсудим некоторые из немногих способов, как занести модуль в черный список, включая его зависимости, то есть отключить постоянную загрузку модуля во время загрузки.Во-первых, нам нужно знать, как перечислить все модули, загруженные в настоящее время вашей системой Linux:
$ lsmod .... ehci_hcd 40249 0 usbcore 128741 4 ehci_hcd,ohci_hcd,usbhid usb_common 12354 1 usbcore e1000 86156 0 libata 140630 4 libahci,ahci,ata_piix,ata_generic ....
lsmod
Команда выводит список всех загруженных в данный момент модулей ядра. Вышеуказанный lsmod
вывод был сокращен. Допустим, мы собираемся в черный список usbcore
модуля. Прежде чем выгрузить или занести в черный список какой-либо модуль, полезно посмотреть, какие другие модули зависят от него:$ modinfo -F depends usbcore usb-commonИз приведенного выше примера видно, что
usb-common
модуль зависит от usbcore
. Чтобы добавить в черный список модуль без зависимостей, создайте /etc/modprobe.d/blacklist.conf
(если он не существует) fle и добавьте строку:blacklist usbcoreПосле завершения обновите initramfs и перезагрузите вашу систему:
# update-initramfs -u # rebootПосле перезагрузки используйте,
lsmod
чтобы увидеть, присутствует ли модуль. В случае, если другие модули зависят от модуля, который вы пытаетесь внести в черный список, как в приведенном выше примере, вам нужно будет внести в черный список все зависимые модули, в противном случае исходный модуль, который вы занесете в черный список, все равно будет загружен. К счастью, существует хитрость для внесения в черный список всех модулей, включая их зависимости.Если по каким-либо причинам вы не можете занести в черный список модули и все их зависимости, сделайте так, чтобы модуль не загружался и, таким образом, все зависимые модули также перестали загружаться. Добавьте следующую строку в свой
/etc/modprobe.d/blacklist.conf
полностью черный список, usbcore
включая все его зависимые модули:install usbcore /bin/trueОбновите initramfs и перезагрузите компьютер:
# update-initramfs -uПросто, чтобы быть полным, пожалуйста, обратите внимание, что рекомендуется создавать отдельный файл конфигурации модуля для каждого модуля, занесенного в черный список. Например, если вы хотите занести модуль в черный список,
e1000
создайте отдельный /etc/modprobe.d/e1000.conf
файл.