не монтируется с ntfs-3g

Есть носитель отформатированный под нтфс, и он не хочет монтироваться.
Нет, конечно он монтируется, если за него ручками в консоли взяться. Он монтируется, если его в fstab прописать.
Но мне нужно, чтоб он монтировался при вставке его в юсб гнездо, и я сделал для этого правило, как в конце этой статьи: http://goo.gl/rK5zf
И вот же гацький папа, мне удаётся полазить по устройству лишь пару секунд, спустя которые попытка посмотреть в точку монтировки выдаёт сообщение “конечная точка передачи не подсоединена”, которое мне ниочём не говорит.
У меня этим правилом монтируются fat-овые флешки и даже этот самый нтфс, если я удалю драйвер ntfs-3g и использую стоявший по умолчанию. Но он не поддерживает запись, поэтому мне нужен ntfs3g.
Может ntfs3g конфликтует с дефолтным? Как удалить дефолтный? Чем он вообще представлен? команда lsmod не дала ни одной строчки со словом “ntfs”.
ntfs-3g работает через fuse, в юзерспейсе, и оставляет в памяти процесс.
В udev после перехода на kmod пошли глюки с зависанием при загрузке долго стартующих модулей, поэтому они поставили таймаут на выполнение дочернего процесса с его последующим убийством.
Попробуйте сделать монтирование в форке, то есть чтобы процесс сначала отцеплялся от родителя, а потом уже монтировал.
exelents
У меня этим правилом монтируются fat-овые флешки и даже этот самый нтфс, если я удалю драйвер ntfs-3g и использую стоявший по умолчанию. Но он не поддерживает запись, поэтому мне нужен ntfs3g.
интересное дело, я не юзаю ntfs-3g (такой пакет не установлен) но нормально записываю на нтфс.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Я тоже нормально записываю :)
Речь идёт об автомонтировании NTFS через udev.
>Попробуйте сделать монтирование в форке,
Добавляю & в конец строки так команда монтирования вообще не запускается. От жеж.
——
Точнее не запускается только в рамках данного конфига. При выполнении в консоли всё прокатывает.
Правила UDEV это НЕ шелл-скрипт, в них НЕ действуют шелловские методы управления исполнением команд – только путь к исполняемому файлу и аргументы для него же.
Вместо этого вам надо запустить из правила шелл со скриптом в аргументе и полными путями,а уже в скрипте делать форк.
Извините, у меня всё равно не получается.
Вот так вот запускаю скрипт из правила:
RUN+="/bin/bash /usr/bin/myautomount /dev/%k /media/%E{dir_name}"
Вот сам скрипт:
#!/bin/bash
mount -t auto -o rw,relatime,noexec,nodev,utf8 $1 $2 &
И всё равно “Конечная точка передачи не подсоединена”.
Если вы уверены, что все параметры написаны и передаются правильно (проверьте это выводом в консоль из скрипта), попробуйте в скрипте запустить mount не просто форком, а через setsid

К сожалению (не для меня:) я не держу флешек в NTFS и не собираюсь такой ужас у себя заводить, так что проверить у себя не могу.
А если не автомонтировать, а попробовать подключить вручную через какой-нибудь pcmanfm, будет та же ошибка?

Похоже на баг в fuse:
https://bugs.archlinux.org/task/30568
Но его пофиксили в 2.9.2. Давно pacman -Syu запускали?
Добавил две строчки в правило:
ENV{fstype}="%E{ID_FS_TYPE}"
ENV{ID_FS_TYPE}=="ntfs", ENV{fstype}="ntfs-3g"
и в mount -t auto заменил на -t %E{fstype} всё работает. Таким же макаром можно изменить и опции монтирования для различных типов ФС.
 
Зарегистрироваться или войдите чтобы оставить сообщение.