Автомонтирование через UDEV (без стороних программ и огромных скриптов)

akorop
А разница когда он появится? Проверить на наличие фс, если её там нет значит её там нет...
Natrio наверно имел ввиду что если там есть раздел, то смысл проверять? (хотя спорно наверное)

Я лично никогда не встречал её нигде кроме androida. И это ни какой не глюк, ложная)) скорее это сделана программно из mmcblk***p*** (наверно для удобоваримости в виндовс).

Насчёт автомонтирования конкретно такой фс.
При подключении action=add, появляется /dev/sdb без фс
Потом при монтировании (нажатии клавиши в android) происходит change ну и на /dev/sdb появляется фс.
Получилось как то так, знаю что некорректно) но пока работает.
ACTION=="change" KERNEL=="sd[b-z]" RUN+="/bin/systemctl start mount@%k"
Проверяем на наличие фс, если она есть создаём каталог, туда монтируем.
После в ручную umount. Правда косяк каталог удалится только после пропадание sdb(
Ошибки в тексте-неповторимый стиль автора©
akorop
Это годится при ручном монтировании, но, к сожалению, это не катит при автомонитировании: sdb может (и, наверно, должен) появиться раньше, чем sdb1, так что в момент появления sdb анализ отсутствия sdb1 ничем не поможет.
В этом вся суть автомонтирования – слишком поспешное и преждевременое действие. Только вставили флешку, а оно уже монтирует. А может, оно не то монтирует? А может, эту флешку мне не нужно монтировать? А может, ЭТО вообще нельзя монтировать, а надо исправлять пока не поздно?

Вот поэтому лично я не любою автомонтирование, и не пользуюсь им.
ind.indeviral
akorop
А разница когда он появится? Проверить на наличие фс, если её там нет значит её там нет...
Natrio наверно имел ввиду что если там есть раздел, то смысл проверять? (хотя спорно наверное)
Это обсуждалось вот тут. Проблема именно в том, что для некоторых флэшек (и не только флэшек!) система (blkid, lsblk) показывает наличие файловой системы прямо на базовом устройстве (а не на разделе). И хуже того, оно может монтироваться и как-то работать.
Natrio
В этом вся суть автомонтирования – слишком поспешное и преждевременое действие. Только вставили флешку, а оно уже монтирует. А может, оно не то монтирует? А может, эту флешку мне не нужно монтировать? А может, ЭТО вообще нельзя монтировать, а надо исправлять пока не поздно?
В принципе, согласен. Но у меня не мастерская по ремонту флэшек, а домашний компьютер. И в 99.9% случаев надо именно монтировать, так что я предпочитаю автомонтирование. А если ЭТО надо не монтировать, а исправлять, то можно руками переименовать правило udev, прежде чем ЭТО вставлять.
akorop
Это обсуждалось вот тут. Проблема именно в том, что для некоторых флэшек (и не только флэшек!) система (blkid, lsblk) показывает наличие файловой системы прямо на базовом устройстве (а не на разделе). И хуже того, оно может монтироваться и как-то работать.

С таким же успехом для других устройств, она вполне себе и должна там ноходится) причём нормально монтируется и работает.
А решение насчёт монтирования таких устройств выше (в любом случаи sdb1 добавится первее чем сработает это правило), насколько рабочее хз, у меня работает, пока)
Ошибки в тексте-неповторимый стиль автора©
indeviral

$ 20-automount.rules
ACTION=="add" KERNEL=="sd[b-z][0-9]" RUN+="/bin/systemctl start mount@%k"
ACTION=="change" KERNEL=="sd[b-z]" RUN+="/bin/systemctl start mount@%k"
ACTION=="add" KERNEL=="mmcblk[0-9]" RUN+="/bin/systemctl start mount@%k"
ACTION=="remove" KERNEL=="sd[b-z]" RUN+="/bin/umount /dev/%k" RUN+="/bin/rmdir /media/usb-%k"
ACTION=="remove" KERNEL=="sd[b-z][0-9]" RUN+="/bin/umount /dev/%k" RUN+="/bin/rmdir /media/usb-%k"
ACTION=="remove" KERNEL=="mmcblk[0-9]" RUN+="/bin/umount /dev/%k" RUN+="/bin/rmdir /media/usb-%k"
Прописал в свой udev выше указанное правило. Переносной винт (карманный) монтирруется без проблем в любой usb разъем, а вот конкретно флешка не хочет.
Выдает ошибку:
"При обращении к «Сменный носитель (15,1 ГиБ)» произошла ошибка, ответ системы: The requested operation has failed: Error mounting /dev/sde1 at /run/media/sab/01D0A2EC66FF8DF0: Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000" "/dev/sde1" "/run/media/sab/01D0A2EC66FF8DF0"' exited with non-zero exit status 13: $MFTMirr does not match $MFT (record 5). Failed to mount '/dev/sde1': Ошибка ввода/вывода NTFS is either inconsistent, or there is a hardware fault, or it's a SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows then reboot into Windows twice. The usage of the /f parameter is very important! If the device is a SoftRAID/FakeRAID then first activate it and mount a different device under the /dev/mapper/ directory, (e.g. /dev/mapper/nvidia_eahaabcc1). Please see the 'dmraid' documentation for more details. "
Кто подскажет как заставить все-таки автоматически монтировать флешку?!!!!
ntfsfix должен помочь, ну или в windows chkdsk
Ошибки в тексте-неповторимый стиль автора©
indeviral
ntfsfix должен помочь, ну или в windows chkdsk
Спасибо за подсказку. Помогло.
 
Зарегистрироваться или войдите чтобы оставить сообщение.