четверг, 12 июля 2012 г.

Автомонтирование USB через UDEV.

Простенький способ автомонтирования USB в Linux-e с помощью UDEV.
Более детально об UDEV можете узнать здесь, а так у Google-я.
Данный способ подсмотрел на сайте Хабра, детально вот.
Данный вариант правила меня вполне устраивает.
Создаем файл в /etc/udev/rules/10-usb.rules
Главное, чтоб файл имен в начале цифирное обозначение и заканчиваться должно .rules

Собственно само правило:
ACTION=="add" KERNEL=="sd[b-z][0-9]" RUN+="/bin/mkdir -p /mnt/%k"
ACTION=="add" KERNEL=="sd[b-z][0-9]" RUN+="/bin/mount -o uid=1000 /dev/%k /mnt/%k"
ACTION=="remove" KERNEL=="sd[b-z][0-9]" RUN+="/bin/rmdir /mnt/%k"

Укажем UDEV-у о появлении нового правила:
# udevadm control --reload-rules

Замечания:
1. Одна строка = одному правилу, переносить нельзя.
2. KERNEL=="sd[b-z][0-9]" - будет срабатывать на все устройства вида /dev/sdb1, /dev/sdb2, если у вас несколько жестких дисков, то в правило надо внести изменения не sd[b-z][0-9] , а sd[c-z][0-9]. 
3. Чтоб каждый раз не вводить sudo для размонтирования нужно подправить само sudo:
  • sudo visudo
  • добавить строчку %wheel ALL=NOPASSWD: /bin/umount
visudo я правил VIM-ом, если у вас другой редактор, его нужно указать при редактирование (ниже пример с nano):
# EDITOR=nano visudo

Собственно и все, данное правило у меня монтируте все мои флешки (разных ФС: FAT32, NTFS), телефон (с android-ом)... карт-ридер ещё не проверял...