[РЕШЕНО] big-floppy - автомонтирование в udev

Для автомонтирования флэшек у меня в /etc/udev/rules.d/ лежит правило, начинающееся так:
KERNEL!="sd[b-z][0-9]", GOTO="media_by_label_auto_mount_end"
Пока попадались флэшки, разбитые как диск (то есть с partition table), всё было нормально. Но вот подключил электронную книгу - а там два "диска", с файловыми системами прямо на диске. То есть монтировать надо, скажем, не sdb1, а прямо sdb. Добавил звёздочку после [0-9]. В grep оно работает, а тут - нет. Вот как это выглядит, когда подключена электронная книга (sdb, sdc) и обычная флэшка (sdd):
[[email protected] rules.d]# cat 12-media-by-label-auto-mount.rules | head -n 1
KERNEL!="sd[b-z][0-9]*", GOTO="media_by_label_auto_mount_end"
[[email protected] rules.d]# lsblk --output NAME,TYPE,FSTYPE,LABEL,MOUNTPOINT | grep "sd[b-z][0-9]*"
sdb     disk vfat
sdc     disk vfat   AZBOOKA-SD
sdd     disk
└─sdd1  part vfat   AK-4G      /media/AK-4G
То есть sdd1 смонтировалась, а sdb, sdc - нет. Тут что, какие-то особые регулярнае выражения? И что же надо написать, чтобы монтировались sdb, sdb1, sdb11?
Не экспериментировал с добавлением симлинков?
Там вариантов много. Имеются варианты и для Card Reader и прочее.
Например, для жесткого USB диска такой - SYMLINK+="usbsd%n"
Это правило создает симлинки:
/dev/usbsd - Нода, к которой можно применять fdisk
/dev/usbsd1 - Первый раздел (монтируемый)
/dev/usbsd2 - Второй раздел (монтируемый)
Погугли. А почему не хочешь использовать нормальные рабочие столы? Или это из консоли.
Ошибки не исчезают с опытом - они просто умнеют
А просто sd[b-z]* чем не нравится?

Или тогда уже выкинуть это, и написать:
ENV{SUBSYSTEM}=="block", ENV{ID_FS_USAGE}=="filesystem", KERNEL!="sda*", GOTO=...
Natrio
А просто sd[b-z]* чем не нравится?
Спасибо! Всем нравится, кроме того, что я не понимаю, как это работает. Ведь звёздочка - это повторение 0 и более раз, разве нет? То есть сюда вообще не должно подходить, скажем, sdb1. Но подходит. Это похоже на регэксп, но это явно не есть обычный регексп. Так что же это?
Но это уже теоретический вопрос, практическую проблему [b-z]* закрыло полностью. Но хочется понять.
Тогда уж для помощи составления правила udev введи команду # udevadm info -a -p /sys/block/sd......
Все, что нужно знать, это sysfs путь устройства, которое вам нужно.
Пример

# udevadm info -a -p /sys/block/sdb
….......................................................
ATTRS{vendor}=="0x8086"
ATTRS{subsystem_device}=="0x167c"
ATTRS{d3cold_allowed}=="0"

looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""

Как правило нужна концовка. Кстати, можешь узнать всю инфу по устройству.
Ошибки не исчезают с опытом - они просто умнеют
akorop
Natrio
А просто sd[b-z]* чем не нравится?
Спасибо! Всем нравится, кроме того, что я не понимаю, как это работает. Ведь звёздочка - это повторение 0 и более раз, разве нет? То есть сюда вообще не должно подходить, скажем, sdb1. Но подходит. Это похоже на регэксп, но это явно не есть обычный регексп. Так что же это?
Но это уже теоретический вопрос, практическую проблему [b-z]* закрыло полностью. Но хочется понять.
RTFM, батенька, RTFM.
Это НЕ регэксп, а всего лишь старые добрые шаблоны имён, как в консоли.
? означает любой символ, * означает любое количество любых символов. Это НЕ модификаторы!
Natrio
akorop
Natrio
А просто sd[b-z]* чем не нравится?
Спасибо! Всем нравится, кроме того, что я не понимаю, как это работает. Ведь звёздочка - это повторение 0 и более раз, разве нет? То есть сюда вообще не должно подходить, скажем, sdb1. Но подходит. Это похоже на регэксп, но это явно не есть обычный регексп. Так что же это?
Но это уже теоретический вопрос, практическую проблему [b-z]* закрыло полностью. Но хочется понять.
RTFM, батенька, RTFM.
Это НЕ регэксп, а всего лишь старые добрые шаблоны имён, как в консоли.
? означает любой символ, * означает любое количество любых символов. Это НЕ модификаторы!
Виноват. Просто в man udev про shell-style pattern сказано не рядом с операциями сравнения, а гораздо ниже, в достаточно неожиданном месте, вот я и не дочитал...
 
Зарегистрироваться или войдите чтобы оставить сообщение.