Подробный гайд по /etc/modprobe.d/blacklist.conf в Alt Linux

Полный гид по настройке blacklist.conf в Alt Linux: синтаксис, безопасная временная остановка модулей ядра, обновление initramfs и проверка загрузки драйверов.

2026.05.21                  


Подробный гайд по /etc/modprobe.d/blacklist.conf в Alt LinuxПодробный гайд по /etc/modprobe.d/blacklist.conf в Alt Linux

Важно:

В современных дистрибутивах Linux файл /etc/modprobe.d/blacklist.conf не рекомендуется редактировать напрямую. Он часто управляется пакетами и может быть перезаписан при обновлении.


Что такое modprobe.d и зачем нужен blacklist

modprobe — утилита управления модулями ядра Linux.

Директория /etc/modprobe.d/ содержит конфигурационные файлы с расширением .conf, которые определяют:

  • Какие модули запрещать к автоматической загрузке
  • Какие параметры передавать модулям
  • Как переопределять зависимости или команды загрузки

blacklist нужен, чтобы ядро или udev не загружали драйверы автоматически (например, конфликтующие свободный и проприетарный драйверы, лишние устройства, проблемное оборудование).


Синтаксис и директивы

Директива Описание Надёжность
blacklist <имя> Запрещает автозагрузку через modprobe. Не блокирует загрузку как зависимости или через udev/firmware. Низкая
install <имя> /bin/true Полная блокировка: даже если другой модуль потребует его, загрузка будет прервана. Высокая
install <имя> /bin/false Аналогично /bin/true, но возвращает код ошибки (удобно для отладки). Высокая
options <имя> <параметры> Передача параметров модулю (часто используется вместе с blacklist). Высокая

Имена модулей указываются без расширения .ko и без путей. Пример: nouveau, btusb, pcspkr.


Правильное создание файла в Alt Linux

# 1. Создаём свой файл (имя должно оканчиваться на .conf)
sudo nano /etc/modprobe.d/01-custom-blacklist.conf

# 2. Пример содержимого
blacklist nouveau
options nouveau modeset=0
install btusb /bin/true
blacklist pcspkr

# 3. Сохраняем и выходим

Почему префикс 01-? Файлы в /etc/modprobe.d/ читаются в лексикографическом порядке. Низкие цифры = более раннее применение правил. Это гарантирует, что ваши директивы не будут переопределены файлами от пакетов (например, 50-nvidia.conf).


Применение изменений в Alt Linux

1. Если модуль загружается поздно (после монтирования корня)

Достаточно перезагрузиться или выгрузить модуль вручную:

sudo rmmod <имя_модуля>    # или sudo modprobe -r <имя_модуля>

2. Если модуль загружается на раннем этапе (в initramfs)

Обязательно обновить образ начальной загрузки:

Alt Linux p10 / p11 / Sisyphus:

sudo update-initramfs -u

Alt Linux p9 и старше (если используется mkinitrd):

sudo mkinitrd -f

Проверить успешность обновления:

ls -l /boot/initrd.img-$(uname -r)

Проверка и отладка

Задача Команда
Проверить, загружен ли модуль lsmod | grep <имя>
Увидеть, как modprobe интерпретирует правило modprobe --show-config | grep <имя>
Посмотреть зависимости модуля modprobe --show-depends <имя>
Проверить логи ядра sudo dmesg | grep <имя>
Проверить, кто владеет файлом blacklist rpm -qf /etc/modprobe.d/blacklist.conf
Принудительно загрузить модуль (игнорируя blacklist) sudo modprobe --force <имя>

Если blacklist не сработал:

  1. Модуль загружается через udev или firmware → используйте install <имя> /bin/true
  2. Модуль вшит в ядро (CONFIG_<NAME>=y) → blacklist бесполезен, только пересборка ядра
  3. Правило переопределено другим .conf файлом → проверьте ls /etc/modprobe.d/ и порядок загрузки

Примеры типичных сценариев

1. Установка проприетарного драйвера NVIDIA

blacklist nouveau
blacklist nvidia_drm
blacklist nvidia_uvm
options nouveau modeset=0
install nouveau /bin/true

После:

sudo update-initramfs -u` + перезагрузка.

2. Отключение PCSpeaker (пищалка)

blacklist pcspkr

3. Блокировка USB-Bluetooth

blacklist btusb
install btusb /bin/true

4. Отключение виртуальных сетевых адаптеров (VMware/VirtualBox)

blacklist vmxnet3
blacklist e1000
blacklist vboxguest
blacklist vboxsf

Критические предупреждения

Ошибка Последствие Как избежать
Блокировка ext4, xfs, ahci, virtio_blk Kernel panic при загрузке Никогда не блэклистите файловые системы и контроллеры хранения без проверки
Блокировка usbhid, i8042, serio_raw Отказ клавиатуры/мыши Тестируйте в chroot или через SSH
Правильный blacklist, но модуль всё равно грузится Зависимости или udev Замените blacklist на install <модуль> /bin/true
Файл без расширения .conf Игнорируется modprobe Всегда используйте *.conf

Обслуживание и обновление

  • При обновлении ядра в Alt Linux update-initramfs вызывается автоматически через kernel-modules-скрипты. После ручного изменения blacklist рекомендуется явно выполнить sudo update-initramfs -u.
  • Резервная копия перед правками: sudo cp /etc/modprobe.d/01-custom-blacklist.conf /etc/modprobe.d/01-custom-blacklist.conf.bak
  • Проверка синтаксиса: sudo modprobe -c > /dev/null (вернёт ошибку при неверном синтаксисе)

Справка и документация Alt Linux

  • man modprobe.d — официальный мануал по формату
  • man update-initramfs (Alt Linux)
  • База знаний Alt Linux: altlinux.org/Modprobe
  • Пакеты: kmod, initramfs-tools или dracut (зависит от ветки), kernel-modules-*

Чек-лист перед перезагрузкой

  • [ ] Файл имеет расширение .conf и лежит в /etc/modprobe.d/
  • [ ] Используется install <модуль> /bin/true для критичных случаев
  • [ ] Выполнен sudo update-initramfs -u (или mkinitrd -f)
  • [ ] Проверено через lsmod и dmesg
  • [ ] Есть доступ к консоли восстановления или SSH на случай проблем

Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.