Назад | Перейти на главную страницу

Где разместить настройки модулей, /etc/modprobe.d или /lib/modprobe.d?

Мой man modprobe.d говорит следующее:

NAME
       modprobe.d - Configuration directory for modprobe

SYNOPSIS
       /lib/modprobe.d/*.conf

       /etc/modprobe.d/*.conf

       /run/modprobe.d/*.conf

У меня вопрос: кто-нибудь знает, каково назначение каждой из этих папок?

Я только видел эта страница где у кого-то возникла проблема (в Red Hat) и ему пришлось переместить файл conf из /и т.д к / lib потому что первое не было доступно в initramfs:

Каталог /etc/modprobe.d недоступен в initramfs, поэтому initramfsblacklist.conf не создается, а rd.driver.blacklist не учитывается.

Переход с /etc/modprobe.d на /lib/modprobe.d/ здесь восстанавливает поведение черного списка модуля.


В качестве примера вот что у меня в новой капле в Digital Ocean с Ubuntu 17.10:

$ ls -l /lib/modprobe.d/
total 16
-rw-r--r-- 1 root root  655 Aug 15  2017 aliases.conf
-rw-r--r-- 1 root root 1461 Mar 14 07:38 blacklist_linux_4.13.0-38-generic.conf
-rw-r--r-- 1 root root  390 Feb 20 12:50 fbdev-blacklist.conf
-rw-r--r-- 1 root root  668 Feb 20 13:11 systemd.conf

$ ls -l /etc/modprobe.d/
total 32
-rw-r--r-- 1 root root  325 Aug 15  2017 blacklist-ath_pci.conf
-rw-r--r-- 1 root root  210 Aug 15  2017 blacklist-firewire.conf
-rw-r--r-- 1 root root  697 Aug 15  2017 blacklist-framebuffer.conf
-rw-r--r-- 1 root root  583 Aug 15  2017 blacklist-rare-network.conf
-rw-r--r-- 1 root root 1603 Aug 15  2017 blacklist.conf
-rw-r--r-- 1 root root  347 Aug 15  2017 iwlwifi.conf
-rw-r--r-- 1 root root  379 Oct 10  2017 mdadm.conf
-rw-r--r-- 1 root root  104 Aug 15  2017 mlx4.conf

$ ls -l /run/modprobe.d/
ls: cannot access '/run/modprobe.d/': No such file or directory

Все дело в стадии загрузки, на которой читаются файлы conf?


Дальнейшее чтение связанной страницы, похоже на то /lib/modprobe.d предназначен для файлов conf для пакетов, которые мы устанавливаем в систему. Это правильно?

Где разместить настройки модулей

/etc/modprobe.d

похоже, /lib/modprobe.d предназначен для файлов conf для пакетов, которые мы устанавливаем в системе.

Да, есть каталоги для пакетов программного обеспечения и конкретных сайтов:

modprobe: использовать более одного каталога конфигурации

Прочтите файлы конфигурации из следующих каталогов:

Файлы конфигурации /run/modprobe.d, созданные во время выполнения, полезны, например для совместимости с нестандартными конфигурационными файлами (такими как /etc/rc.conf в Arch)

Файлы конфигурации /etc/modprobe.d, созданные администратором вручную

/lib/modprobe.d файлы конфигурации, установленные сторонними пакетами

Файлы конфигурации /usr/local/lib/modprobe.d во время разработки сторонних пакетов

Эта схема аналогична той, что используется udev, systemd и, возможно, другими.

Последующий патч позволяет файлам в одном каталоге переопределять файлы в других, как это сделано в другом месте.

/usr/lib/modprobe.d/ тоже есть, о нем есть некоторый шум в трекерах ошибок Red Hat и Debian, а также в вики Arch. (И сторонники объединения / usr, и противники могут поступить по-своему!)