Продлить великий RomuloPBenedetti answer:
Вы можете проверить, действительно ли планировщик bfq доступен на конкретном устройстве, используя PROGRAM=="/bin/grep -E -q '(^|[[:space:]])bfq($|[[:space:]])' '$sys$devpath/queue/scheduler'"
в правиле udev. Это эффективно заменит DRIVERS=="sd|sr"
и просто не сработает, если кто-то забылscsi_mod.use_blk_mq=1
Мелочи:
PROGRAM
-Выполнить программу, чтобы определить, есть ли совпадение; ключ истинен, если программа возвращается успешно; Если абсолютный путь не указан, ожидается, что программа будет находиться в /lib/udev. $sys
-Точка монтирования sysfs(/sys
). $devpath
-Путь устройства (/devices/pci/... ). Хотя трудно сказать, что пошло не так в данном конкретном случае, без соответствующих журналов или результатов отладки, в целом, большинство программ не корректно обрабатывают произвольные каталоги, являющиеся точками монтирования.
Существуют различные каталоги верхнего -уровня (, например, /usr
, /var
, /home
), которые успешно могут быть точками монтирования, и есть другие каталоги, поддерживаемые одной конкретной программой, которые часто могут быть точками монтирования (например, /var/lib/mysql
), но большинство программ не проверяют, становятся ли произвольные каталоги точками монтирования, поэтому вы часто обнаружите, что это приводит к поломке. Если вы очень хотите, чтобы это работало, вы можете попросить сопровождающих dpkg исправить это, и это может быть исправлено в выпуске после яблочка (, так как яблочко сейчас в основном заморожено ). Но в остальном общая рекомендация — избегать этого и жить с тем фактом, что /var
не смонтировано noexec
.