После небольшой беседы c Juev по поводу автомонтирования родилася идея правил для udev с помщью которого реализуется автомаунт устройств /dev/sd* aka винты и флешки, ну и до кучи с опцией sync.
Монтирование с опцией sync, как мне кажется, в данном случае оправдано — несмотря на некоторое снижение скорости записи, гарантированность целостности записанного при ообычном выдергивании флешки намноооого больше чем без сей опции.
В общем порывшись в доках udev а так же великом и могучем гугле сии правила для udev были написаны. И как оказалось всё намного проще чем казалось изначально.
ACTION=="add", KERNEL=="sd[a-z][0-9]", RUN+="/bin/mkdir -p /media/usbhd-%k"
ACTION=="add", KERNEL=="sd[a-z][0-9]", PROGRAM=="/lib/udev/vol_id -t %N", RESULT=="vfat", RUN+="/bin/mount -t vfat -o iocharset=utf8,codepage=866,rw,noauto,flush,quiet,nodev,nosuid,noexec,noatime,dmask=000,fmask=111 /dev/%k /media/usbhd-%k", OPTIONS="last_rule"
ACTION=="add", KERNEL=="sd[a-z][0-9]", RUN+="/bin/mount -t auto -o iocharset=utf8,codepage=866,rw,noauto,sync,dirsync,noexec,nodev,noatime /dev/%k /media/usbhd-%k", OPTIONS="last_rule"
ACTION=="remove", KERNEL=="sd[a-z][0-9]", RUN+="/bin/umount -l /media/usbhd-%k"
ACTION=="remove", KERNEL=="sd[a-z][0-9]", RUN+="/bin/rmdir /media/usbhd-%k", OPTIONS="last_rule"
Просто помещаем этот текст в /etc/udev/rules.d/блаблабла.rules и радуемся (хотя возможно понадобится ребут)Сей метод имеет один недостаток (помимо опции sync) — файловые менеджеры использующие hal для монтирования (thunar, nautilus, dolphin, pcmanfm, etc) не отображают примонтированный раздел, а предлогают его примонтировать ещё раз. Если кто знает как сие обойти то дайте знать (насколько понимаю надо монтировать через hal или как-то давать ему знать о том что смонтировано, но как сие делать я не в курсе)
UP Тут решение проблем с несознательными файломанагерами
Комментариев нет:
Отправить комментарий